Skip to content
Sheetwrite

Sheetwrite / Documentation

DocumentOp@sheetwrite/core

Exhaustive serializable operation union for workbook mutations.

Exhaustive serializable operation union for workbook mutations.

Variants 27

{
op: "set";
addr: CellAddress;
value: CellValue;
style?: CellStyle;
}
{ op: "setRange"; range: Range; cells: SnapshotCell[] }
{ op: "setBlock"; range: Range; block: PackedCellBlock }
{
op: "setRangeStyle";
range: Range;
style: Partial<CellStyle> | null;
}
{
op: "clearRange";
range: Range;
contents?: boolean;
style?: boolean;
}
{ op: "addRows"; sheet: SheetId; at: number; count: number }
{
op: "removeRows";
sheet: SheetId;
at: number;
count: number;
}
{
op: "moveRows";
sheet: SheetId;
from: number;
count: number;
to: number;
}
{
op: "addColumns";
sheet: SheetId;
at: number;
columns: Column[];
}
{
op: "removeColumns";
sheet: SheetId;
at: number;
count: number;
}
{
op: "moveColumns";
sheet: SheetId;
from: number;
count: number;
to: number;
}
{
op: "setColumn";
sheet: SheetId;
col: number;
patch: Partial<Column>;
}
{
op: "setRowMeta";
sheet: SheetId;
row: number;
meta: RowMetadata | null;
}
{ op: "addMerge"; sheet: SheetId; merge: MergeRange }
{ op: "removeMerge"; sheet: SheetId; merge: MergeRange }
{ op: "addSheet"; sheet: SheetSnapshot }
{ op: "removeSheet"; sheet: SheetId }
{ op: "renameSheet"; sheet: SheetId; name: string }
{ op: "moveSheet"; sheet: SheetId; to: number }
{
op: "setSheetMeta";
sheet: SheetId;
patch: {
frozenRows?: number;
frozenCols?: number;
conditionalFormats?: ConditionalFormatRule[];
rowGroups?: RowGroup[];
sortKeys?: SortKey[];
filters?: Array<[col: number, filter: ColumnFilter]>;
};
}
{
op: "setValidationRule";
sheet: SheetId;
rule: DataValidationRule;
}
{ op: "removeValidationRule"; sheet: SheetId; id: string }
{
op: "setProtectedRange";
sheet: SheetId;
protectedRange: ProtectedRange;
}
{ op: "removeProtectedRange"; sheet: SheetId; id: string }
{ op: "setNote"; addr: CellAddress; text: string | null }
{ op: "setNamedRange"; namedRange: NamedRangeSnapshot }
{ op: "removeNamedRange"; name: string; scope?: SheetId }

Declaration

View full TypeScript declaration
export type DocumentOp =
| {
op: "set";
addr: CellAddress;
value: CellValue;
style?: CellStyle;
}
| {
op: "setRange";
range: Range;
cells: SnapshotCell[];
}
| {
op: "setBlock";
range: Range;
block: PackedCellBlock;
}
| {
op: "setRangeStyle";
range: Range;
style: Partial<CellStyle> | null;
}
| {
op: "clearRange";
range: Range;
contents?: boolean;
style?: boolean;
}
| {
op: "addRows";
sheet: SheetId;
at: number;
count: number;
}
| {
op: "removeRows";
sheet: SheetId;
at: number;
count: number;
}
| {
op: "moveRows";
sheet: SheetId;
from: number;
count: number;
to: number;
}
| {
op: "addColumns";
sheet: SheetId;
at: number;
columns: Column[];
}
| {
op: "removeColumns";
sheet: SheetId;
at: number;
count: number;
}
| {
op: "moveColumns";
sheet: SheetId;
from: number;
count: number;
to: number;
}
| {
op: "setColumn";
sheet: SheetId;
col: number;
patch: Partial<Column>;
}
| {
op: "setRowMeta";
sheet: SheetId;
row: number;
meta: RowMetadata | null;
}
| {
op: "addMerge";
sheet: SheetId;
merge: MergeRange;
}
| {
op: "removeMerge";
sheet: SheetId;
merge: MergeRange;
}
| {
op: "addSheet";
sheet: SheetSnapshot;
}
| {
op: "removeSheet";
sheet: SheetId;
}
| {
op: "renameSheet";
sheet: SheetId;
name: string;
}
| {
op: "moveSheet";
sheet: SheetId;
to: number;
}
| {
op: "setSheetMeta";
sheet: SheetId;
patch: {
frozenRows?: number;
frozenCols?: number;
conditionalFormats?: ConditionalFormatRule[];
rowGroups?: RowGroup[];
sortKeys?: SortKey[];
filters?: Array<[col: number, filter: ColumnFilter]>;
};
}
| {
op: "setValidationRule";
sheet: SheetId;
rule: DataValidationRule;
}
| {
op: "removeValidationRule";
sheet: SheetId;
id: string;
}
| {
op: "setProtectedRange";
sheet: SheetId;
protectedRange: ProtectedRange;
}
| {
op: "removeProtectedRange";
sheet: SheetId;
id: string;
}
| {
op: "setNote";
addr: CellAddress;
text: string | null;
}
| {
op: "setNamedRange";
namedRange: NamedRangeSnapshot;
}
| {
op: "removeNamedRange";
name: string;
scope?: SheetId;
};