@graview/core 0.1.50 → 0.1.52
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-places.d.ts.map +1 -1
- package/dist/app-places.js +11 -1
- package/dist/app-places.js.map +1 -1
- package/dist/app.d.ts +8 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js.map +1 -1
- package/dist/cli/check/lenses.d.ts.map +1 -1
- package/dist/cli/check/lenses.js +5 -0
- package/dist/cli/check/lenses.js.map +1 -1
- package/dist/cli/describe.d.ts.map +1 -1
- package/dist/cli/describe.js +7 -2
- package/dist/cli/describe.js.map +1 -1
- package/dist/csv-write.d.ts +13 -0
- package/dist/csv-write.d.ts.map +1 -0
- package/dist/csv-write.js +32 -0
- package/dist/csv-write.js.map +1 -0
- package/dist/csv.d.ts +17 -0
- package/dist/csv.d.ts.map +1 -0
- package/dist/csv.js +15 -0
- package/dist/csv.js.map +1 -0
- package/dist/document/diff.js +9 -3
- package/dist/document/diff.js.map +1 -1
- package/dist/document/edit.d.ts +1 -1
- package/dist/document/edit.d.ts.map +1 -1
- package/dist/document/edit.js +57 -1
- package/dist/document/edit.js.map +1 -1
- package/dist/document/schema.d.ts +2 -0
- package/dist/document/schema.d.ts.map +1 -1
- package/dist/document/schema.js +2 -0
- package/dist/document/schema.js.map +1 -1
- package/dist/document/to-document.d.ts.map +1 -1
- package/dist/document/to-document.js +2 -1
- package/dist/document/to-document.js.map +1 -1
- package/dist/document.schema.json +5 -2
- package/dist/history.d.ts +45 -1
- package/dist/history.d.ts.map +1 -1
- package/dist/history.js +46 -6
- package/dist/history.js.map +1 -1
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/lenses-that-list.d.ts +11 -0
- package/dist/lenses-that-list.d.ts.map +1 -0
- package/dist/lenses-that-list.js +15 -0
- package/dist/lenses-that-list.js.map +1 -0
- package/dist/list-csv.d.ts +112 -0
- package/dist/list-csv.d.ts.map +1 -0
- package/dist/list-csv.js +94 -0
- package/dist/list-csv.js.map +1 -0
- package/dist/mutations/type-text.d.ts +4 -1
- package/dist/mutations/type-text.d.ts.map +1 -1
- package/dist/mutations/type-text.js +6 -5
- package/dist/mutations/type-text.js.map +1 -1
- package/dist/ops/digest.d.ts +23 -0
- package/dist/ops/digest.d.ts.map +1 -1
- package/dist/ops/digest.js +43 -1
- package/dist/ops/digest.js.map +1 -1
- package/dist/presence.d.ts +18 -0
- package/dist/presence.d.ts.map +1 -1
- package/dist/presence.js +2 -1
- package/dist/presence.js.map +1 -1
- package/dist/schema/collaborative-of.d.ts +11 -0
- package/dist/schema/collaborative-of.d.ts.map +1 -0
- package/dist/schema/collaborative-of.js +45 -0
- package/dist/schema/collaborative-of.js.map +1 -0
- package/dist/schema/collaborative.d.ts +8 -10
- package/dist/schema/collaborative.d.ts.map +1 -1
- package/dist/schema/collaborative.js +1 -38
- package/dist/schema/collaborative.js.map +1 -1
- package/dist/shown-list.d.ts +45 -0
- package/dist/shown-list.d.ts.map +1 -0
- package/dist/shown-list.js +57 -0
- package/dist/shown-list.js.map +1 -0
- package/dist/shown.d.ts +12 -0
- package/dist/shown.d.ts.map +1 -0
- package/dist/shown.js +11 -0
- package/dist/shown.js.map +1 -0
- package/dist/store.d.ts +1 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/store.js +20 -8
- package/dist/store.js.map +1 -1
- package/dist/subscription-shape.d.ts +21 -1
- package/dist/subscription-shape.d.ts.map +1 -1
- package/dist/subscription-shape.js.map +1 -1
- package/dist/subscriptions.d.ts +33 -1
- package/dist/subscriptions.d.ts.map +1 -1
- package/dist/subscriptions.js +146 -21
- package/dist/subscriptions.js.map +1 -1
- package/dist/text/since.d.ts +10 -1
- package/dist/text/since.d.ts.map +1 -1
- package/dist/text/since.js +23 -1
- package/dist/text/since.js.map +1 -1
- package/dist/text/splice.d.ts +0 -12
- package/dist/text/splice.d.ts.map +1 -1
- package/dist/text/splice.js +23 -48
- package/dist/text/splice.js.map +1 -1
- package/dist/text/transform.d.ts +14 -0
- package/dist/text/transform.d.ts.map +1 -0
- package/dist/text/transform.js +59 -0
- package/dist/text/transform.js.map +1 -0
- package/dist/text/typing-hook.d.ts +7 -1
- package/dist/text/typing-hook.d.ts.map +1 -1
- package/dist/text/typing-hook.js.map +1 -1
- package/dist/text/typing-spans.d.ts +11 -0
- package/dist/text/typing-spans.d.ts.map +1 -0
- package/dist/text/typing-spans.js +35 -0
- package/dist/text/typing-spans.js.map +1 -0
- package/dist/text/typing-words.d.ts +45 -0
- package/dist/text/typing-words.d.ts.map +1 -0
- package/dist/text/typing-words.js +85 -0
- package/dist/text/typing-words.js.map +1 -0
- package/dist/tidying.d.ts +2 -2
- package/dist/tidying.d.ts.map +1 -1
- package/dist/tidying.js +1 -1
- package/dist/tidying.js.map +1 -1
- package/dist/typing.d.ts +3 -1
- package/dist/typing.d.ts.map +1 -1
- package/dist/typing.js +98 -3
- package/dist/typing.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/views/kept.d.ts +10 -1
- package/dist/views/kept.d.ts.map +1 -1
- package/dist/views/kept.js.map +1 -1
- package/dist/views/types.d.ts +12 -0
- package/dist/views/types.d.ts.map +1 -1
- package/dist/views/types.js +8 -0
- package/dist/views/types.js.map +1 -1
- package/package.json +9 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGvD,gEAAgE;AAChE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACzE,wFAAwF;AACxF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAElI,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC3E,qGAAqG;AACrG,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,mIAAmI;AACnI,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAErK,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,6FAA6F;AAC7F,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEzI,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACzF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AA0B/D,qIAAqI;AAErI,2DAA2D;AAC3D,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGzE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEpF,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ShippedLensName } from "./places.js";
|
|
2
|
+
/**
|
|
3
|
+
* THE SHIPPED LENSES THAT LIST RECORDS, and so offer "Export CSV" (Roadmap
|
|
4
|
+
* f-view-export-csv): each arranges a kind's records before it draws them.
|
|
5
|
+
* A plan draws outlines, the reach draws the policy and a blocks place its
|
|
6
|
+
* own words, so none of them has a list to write.
|
|
7
|
+
*/
|
|
8
|
+
export declare const LENSES_THAT_LIST: readonly ShippedLensName[];
|
|
9
|
+
/** Whether a lens lists records: one of `LENSES_THAT_LIST`. */
|
|
10
|
+
export declare const listsRecords: (name: string) => boolean;
|
|
11
|
+
//# sourceMappingURL=lenses-that-list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lenses-that-list.d.ts","sourceRoot":"","sources":["../src/lenses-that-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAQnD;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,SAAS,eAAe,EAA6D,CAAC;AAErH,+DAA+D;AAC/D,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,OAAiE,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Apart from `./places.ts`, which a page draws its bar with: only the
|
|
3
|
+
* checker, the document's edit and `describe` ask which lenses list
|
|
4
|
+
* records, and a page's first chunk carries none of it.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* THE SHIPPED LENSES THAT LIST RECORDS, and so offer "Export CSV" (Roadmap
|
|
8
|
+
* f-view-export-csv): each arranges a kind's records before it draws them.
|
|
9
|
+
* A plan draws outlines, the reach draws the policy and a blocks place its
|
|
10
|
+
* own words, so none of them has a list to write.
|
|
11
|
+
*/
|
|
12
|
+
export const LENSES_THAT_LIST = ["timeline", "calendar", "coverage", "board", "columns"];
|
|
13
|
+
/** Whether a lens lists records: one of `LENSES_THAT_LIST`. */
|
|
14
|
+
export const listsRecords = (name) => LENSES_THAT_LIST.includes(name);
|
|
15
|
+
//# sourceMappingURL=lenses-that-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lenses-that-list.js","sourceRoot":"","sources":["../src/lenses-that-list.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA+B,CAAC,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;AAErH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAAE,gBAAsC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import type { AnySchema } from "./schema/schema.js";
|
|
2
|
+
import type { GraphReader } from "./graph/types.js";
|
|
3
|
+
import type { labelOf } from "./schema/define-node.js";
|
|
4
|
+
import type { readableFields } from "./schema/reading.js";
|
|
5
|
+
import type { withComputed } from "./document/computed-values.js";
|
|
6
|
+
import type { KeptViews } from "./views/kept.js";
|
|
7
|
+
/**
|
|
8
|
+
* HOW A RECORD IS SAID, handed in by whoever draws it: `labelOf` from
|
|
9
|
+
* `@graview/core`, `readableFields` from `@graview/core/words` and
|
|
10
|
+
* `withComputed` from `@graview/core/blocks`, which a page that draws a
|
|
11
|
+
* list holds already. This module imports none of them, so fetching it with
|
|
12
|
+
* the press brings only what writes the file and splits none of the chunks
|
|
13
|
+
* a page shares them in.
|
|
14
|
+
*/
|
|
15
|
+
export interface ListWords {
|
|
16
|
+
readonly labelOf: typeof labelOf;
|
|
17
|
+
readonly readableFields: typeof readableFields;
|
|
18
|
+
readonly withComputed: typeof withComputed;
|
|
19
|
+
}
|
|
20
|
+
/** One group of a shown list: its words (unsaid when the list is not grouped) and its records, in order. */
|
|
21
|
+
export interface ListCsvGroup {
|
|
22
|
+
readonly label?: string;
|
|
23
|
+
readonly nodes: readonly ({
|
|
24
|
+
readonly id: string;
|
|
25
|
+
readonly kind: string;
|
|
26
|
+
} & object)[];
|
|
27
|
+
}
|
|
28
|
+
export interface ListCsvOptions {
|
|
29
|
+
readonly schema: AnySchema;
|
|
30
|
+
/** The graph the records are read in, as the seat sees it: what a computed field is worked out over. */
|
|
31
|
+
readonly graph: GraphReader;
|
|
32
|
+
readonly kind: string;
|
|
33
|
+
readonly groups: readonly ListCsvGroup[];
|
|
34
|
+
/** Whether the list is drawn in groups, and so whether the first column says which. */
|
|
35
|
+
readonly grouped: boolean;
|
|
36
|
+
/** The locale days are said in; the page's when unsaid. */
|
|
37
|
+
readonly locale?: string | undefined;
|
|
38
|
+
/** The time zone instants are said in; the page's when unsaid. */
|
|
39
|
+
readonly timeZone?: string | undefined;
|
|
40
|
+
/** How a record is said (`ListWords`). */
|
|
41
|
+
readonly words: ListWords;
|
|
42
|
+
}
|
|
43
|
+
/** The header and the rows of a shown list, each cell said as the page says it. */
|
|
44
|
+
export declare function listCsvRows(options: ListCsvOptions): string[][];
|
|
45
|
+
/** A shown list as CSV text, ready to save: the byte-order mark, a header, a row a record. */
|
|
46
|
+
export declare function listCsv(options: ListCsvOptions): string;
|
|
47
|
+
/**
|
|
48
|
+
* THE FILE A LIST IS SAVED AS: the place's title and the day, "Tasks —
|
|
49
|
+
* 2026-10-23.csv", the characters a file system refuses (`/ \ : * ? " < > |`
|
|
50
|
+
* and control characters) replaced with a dash.
|
|
51
|
+
*/
|
|
52
|
+
export declare function csvFileName(title: string, day?: Date | string): string;
|
|
53
|
+
/** A place's list as it is shown, ready to save: what `listCsv` reads, the title the file is named by, and where the host saves it. */
|
|
54
|
+
export interface ShownListToExport extends ListCsvOptions {
|
|
55
|
+
/** The place's title, which names the file: "Tasks — 2026-10-23.csv". */
|
|
56
|
+
readonly title: string;
|
|
57
|
+
/** Where a host that saves files itself takes it; unsaid, the browser downloads it. */
|
|
58
|
+
readonly onExport?: ((csv: string, filename: string) => void | Promise<void>) | undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* WHAT A DRAWN PLACE SAYS IT SHOWS, for the place menu to export by: kept on
|
|
62
|
+
* the page in a map on `globalThis` under `Symbol.for("graview.shown-lists")`
|
|
63
|
+
* (`Map<string, () => ShownListSaid>`), by `list:<kind>` or `place:<as>`, as
|
|
64
|
+
* each is drawn — so the menu reads it without importing what draws it, and
|
|
65
|
+
* nothing up front imports this module to find it.
|
|
66
|
+
*/
|
|
67
|
+
export interface ShownListSaid {
|
|
68
|
+
/** `true` where the declaration offers nobody "Export CSV" here: the owner is offered "Turn on export". */
|
|
69
|
+
readonly off: boolean;
|
|
70
|
+
/** What `set-lens-export` names: a lens by its title and kind, a kind's list by its kind. */
|
|
71
|
+
readonly about: {
|
|
72
|
+
readonly lens: string;
|
|
73
|
+
readonly on?: string;
|
|
74
|
+
} | {
|
|
75
|
+
readonly kind: string;
|
|
76
|
+
};
|
|
77
|
+
/** The list as it is shown now, asked when somebody presses Export. */
|
|
78
|
+
read(): ShownListToExport;
|
|
79
|
+
/**
|
|
80
|
+
* The place menu's rows for it: "Export CSV" unless it is off, and for
|
|
81
|
+
* whoever may change the declaration (`owner`, with the host's `keeper`)
|
|
82
|
+
* "Turn off export" or "Turn on export" (`switchExport`). Made by the
|
|
83
|
+
* list, so a menu drawn before any list carries none of their words.
|
|
84
|
+
*/
|
|
85
|
+
menu(owner: boolean, keeper: Pick<KeptViews, "lens"> | undefined, board: ExportNotices | null): {
|
|
86
|
+
readonly id: string;
|
|
87
|
+
readonly label: string;
|
|
88
|
+
readonly run: () => void;
|
|
89
|
+
}[];
|
|
90
|
+
}
|
|
91
|
+
/** Where a page says what an act did: a notice board's `notify`, as `@graview/primitives` draws one. */
|
|
92
|
+
export interface ExportNotices {
|
|
93
|
+
notify(notice: {
|
|
94
|
+
readonly kind: "toast";
|
|
95
|
+
readonly tone?: "bad";
|
|
96
|
+
readonly sentence: string;
|
|
97
|
+
}): unknown;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* "EXPORT CSV" OFFERED ON A PLACE, OR TO NOBODY, FROM ITS MENU: a change to
|
|
101
|
+
* the declaration the host writes — `set-lens-export`, on a lens by its
|
|
102
|
+
* title, on a kind's list by its kind — said in the page's notices once it
|
|
103
|
+
* is done, or in the host's words when it refused. Fetched with the press.
|
|
104
|
+
*/
|
|
105
|
+
export declare function switchExport(said: Pick<ShownListSaid, "about" | "read">, keeper: Pick<KeptViews, "lens">, on: boolean, board?: ExportNotices | null): Promise<boolean>;
|
|
106
|
+
/**
|
|
107
|
+
* WRITES A SHOWN LIST AND SAVES IT (Roadmap f-view-export-csv): handed to the
|
|
108
|
+
* host's `onExport` where it saves files itself, else downloaded by the
|
|
109
|
+
* browser through a link made for the click and never put in the page.
|
|
110
|
+
*/
|
|
111
|
+
export declare function saveShownList(list: ShownListToExport): Promise<void>;
|
|
112
|
+
//# sourceMappingURL=list-csv.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-csv.d.ts","sourceRoot":"","sources":["../src/list-csv.ts"],"names":[],"mappings":"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"}
|
package/dist/list-csv.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { toCsv } from "./csv-write.js";
|
|
2
|
+
/** The header and the rows of a shown list, each cell said as the page says it. */
|
|
3
|
+
export function listCsvRows(options) {
|
|
4
|
+
const { schema, graph, kind } = options;
|
|
5
|
+
const { labelOf, readableFields, withComputed } = options.words;
|
|
6
|
+
const definition = schema.tryDefinition(kind);
|
|
7
|
+
const computed = Object.keys(definition?.computed ?? {}).length > 0;
|
|
8
|
+
const read = (node) => (computed ? withComputed(schema, graph, node) : node);
|
|
9
|
+
const rows = options.groups.flatMap((group) => group.nodes.map((node) => {
|
|
10
|
+
const record = read(node);
|
|
11
|
+
const name = labelOf(definition, record);
|
|
12
|
+
// The name is its own column: a field that only says it again (a title the label is) is not a second one, as on the record's page.
|
|
13
|
+
const fields = readableFields(record, definition, { said: [name], locale: options.locale, timeZone: options.timeZone });
|
|
14
|
+
return { group: group.label ?? "", name, fields };
|
|
15
|
+
}));
|
|
16
|
+
/*
|
|
17
|
+
* THE COLUMNS, IN THE ORDER A RECORD'S PAGE READS ITS FIELDS — the ones
|
|
18
|
+
* its page names first, then the kind's as it declares them, its computed
|
|
19
|
+
* ones after — of every field some row says. A field no row says — kept
|
|
20
|
+
* by the seat's sight, or empty everywhere — is no column.
|
|
21
|
+
*/
|
|
22
|
+
const page = definition?.display?.page;
|
|
23
|
+
const declared = [...(page?.fields ?? []), ...(page?.groups ?? []).flatMap((one) => one.fields), ...Object.keys(definition?.fields?.shape ?? {}), ...Object.keys(definition?.computed ?? {})];
|
|
24
|
+
const labels = new Map();
|
|
25
|
+
for (const row of rows)
|
|
26
|
+
for (const field of row.fields)
|
|
27
|
+
if (!labels.has(field.key))
|
|
28
|
+
labels.set(field.key, field.label);
|
|
29
|
+
const rank = (key) => {
|
|
30
|
+
const at = declared.indexOf(key);
|
|
31
|
+
return at < 0 ? declared.length : at;
|
|
32
|
+
};
|
|
33
|
+
const columns = [...labels].map(([key, label], at) => ({ key, label, at })).sort((a, b) => rank(a.key) - rank(b.key) || a.at - b.at);
|
|
34
|
+
const header = [...(options.grouped ? ["Group"] : []), "Name", ...columns.map((column) => column.label.charAt(0).toUpperCase() + column.label.slice(1))];
|
|
35
|
+
const body = rows.map((row) => {
|
|
36
|
+
const values = new Map(row.fields.map((field) => [field.key, field.value]));
|
|
37
|
+
return [...(options.grouped ? [row.group] : []), row.name, ...columns.map((column) => values.get(column.key) ?? "")];
|
|
38
|
+
});
|
|
39
|
+
return [header, ...body];
|
|
40
|
+
}
|
|
41
|
+
/** A shown list as CSV text, ready to save: the byte-order mark, a header, a row a record. */
|
|
42
|
+
export function listCsv(options) {
|
|
43
|
+
return toCsv(listCsvRows(options));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* THE FILE A LIST IS SAVED AS: the place's title and the day, "Tasks —
|
|
47
|
+
* 2026-10-23.csv", the characters a file system refuses (`/ \ : * ? " < > |`
|
|
48
|
+
* and control characters) replaced with a dash.
|
|
49
|
+
*/
|
|
50
|
+
export function csvFileName(title, day = new Date()) {
|
|
51
|
+
const date = typeof day === "string" ? day.slice(0, 10) : `${day.getFullYear()}-${String(day.getMonth() + 1).padStart(2, "0")}-${String(day.getDate()).padStart(2, "0")}`;
|
|
52
|
+
// eslint-disable-next-line no-control-regex
|
|
53
|
+
const safe = title.replace(/[/\\:*?"<>|\u0000-\u001f\u007f]/g, "-").replace(/\s+/g, " ").trim().replace(/^\.+/, "") || "List";
|
|
54
|
+
return `${safe} — ${date}.csv`;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* "EXPORT CSV" OFFERED ON A PLACE, OR TO NOBODY, FROM ITS MENU: a change to
|
|
58
|
+
* the declaration the host writes — `set-lens-export`, on a lens by its
|
|
59
|
+
* title, on a kind's list by its kind — said in the page's notices once it
|
|
60
|
+
* is done, or in the host's words when it refused. Fetched with the press.
|
|
61
|
+
*/
|
|
62
|
+
export async function switchExport(said, keeper, on, board) {
|
|
63
|
+
const title = said.read().title;
|
|
64
|
+
const about = said.about;
|
|
65
|
+
try {
|
|
66
|
+
await keeper.lens?.("kind" in about ? { op: "set-lens-export", title: about.kind, export: on } : { op: "set-lens-export", title: about.lens, ...(about.on !== undefined ? { on: about.on } : {}), export: on });
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
board?.notify({ kind: "toast", tone: "bad", sentence: error instanceof Error && error.message ? error.message : on ? `Export could not be turned on for “${title}”.` : `Export could not be turned off for “${title}”.` });
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
board?.notify({ kind: "toast", sentence: on ? `“${title}” offers Export CSV again.` : `“${title}” offers Export CSV to nobody now.` });
|
|
73
|
+
return true;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* WRITES A SHOWN LIST AND SAVES IT (Roadmap f-view-export-csv): handed to the
|
|
77
|
+
* host's `onExport` where it saves files itself, else downloaded by the
|
|
78
|
+
* browser through a link made for the click and never put in the page.
|
|
79
|
+
*/
|
|
80
|
+
export async function saveShownList(list) {
|
|
81
|
+
const csv = listCsv(list);
|
|
82
|
+
const name = csvFileName(list.title);
|
|
83
|
+
if (list.onExport)
|
|
84
|
+
return void (await list.onExport(csv, name));
|
|
85
|
+
const page = globalThis;
|
|
86
|
+
const url = page.URL.createObjectURL(new page.Blob([csv], { type: "text/csv;charset=utf-8" }));
|
|
87
|
+
const link = page.document.createElement("a");
|
|
88
|
+
link.href = url;
|
|
89
|
+
link.download = name;
|
|
90
|
+
link.click();
|
|
91
|
+
// Taken back once the browser has begun the download.
|
|
92
|
+
setTimeout(() => page.URL.revokeObjectURL(url), 30_000);
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=list-csv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-csv.js","sourceRoot":"","sources":["../src/list-csv.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,10 @@ export interface TypeTextArgs {
|
|
|
10
10
|
readonly at: number;
|
|
11
11
|
readonly remove: number;
|
|
12
12
|
readonly insert: string;
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
* Where its sender last read the field: its revision then (`FieldRevisions.of`), or any later seq the sender
|
|
15
|
+
* had read the log through — `openRemote` sends the last it has; absent, the text as it is now.
|
|
16
|
+
*/
|
|
14
17
|
readonly rev?: number;
|
|
15
18
|
}
|
|
16
19
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-text.d.ts","sourceRoot":"","sources":["../../src/mutations/type-text.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"type-text.d.ts","sourceRoot":"","sources":["../../src/mutations/type-text.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,OAAO,EAAE,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,SAAS,EAAE,CAAC;AAErB,+IAA+I;AAC/I,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,CA2ClG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,SAAS,MAAM,EAAE,CAUvK"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as z from "../schema/zod.js";
|
|
2
2
|
import { MissingRecordError } from "../graph/graph.js";
|
|
3
3
|
import { ActRefusal } from "../refused.js";
|
|
4
|
-
import { collaborativeFieldOf } from "../schema/collaborative.js";
|
|
5
|
-
import {
|
|
4
|
+
import { collaborativeFieldOf } from "../schema/collaborative-of.js";
|
|
5
|
+
import { nounOf } from "../schema/define-node.js";
|
|
6
6
|
import { NEVER_WRITTEN } from "../ops/revisions.js";
|
|
7
7
|
import { carried, textAt } from "../text/since.js";
|
|
8
|
+
import { typingWords } from "../text/typing-words.js";
|
|
8
9
|
import { TYPE_TEXT } from "../text/typing-hook.js";
|
|
9
10
|
import { derivedVia, fieldsWrittenBy, subjectKindsOf } from "./derive-edits.js";
|
|
10
11
|
export { TYPE_TEXT };
|
|
@@ -47,9 +48,9 @@ export function typeTextMutation(store) {
|
|
|
47
48
|
// It writes no field of its own: which field it types into is an argument, judged per call (`typeTextVia`).
|
|
48
49
|
writes: [],
|
|
49
50
|
describe: (args, graph) => {
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
return
|
|
51
|
+
// Said as the change is (Roadmap f-collab-text, phase 5): "Wrote in Kitchen's notes (+5 −1)", as history and Activity say a run.
|
|
52
|
+
const { node, field, insert, remove } = args;
|
|
53
|
+
return typingWords({ node, field, inserted: [...String(insert ?? "")].length, removed: Number(remove) || 0 }, schema, graph);
|
|
53
54
|
},
|
|
54
55
|
apply(ctx, raw) {
|
|
55
56
|
const { node, field, at, remove, insert, rev } = raw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-text.js","sourceRoot":"","sources":["../../src/mutations/type-text.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"type-text.js","sourceRoot":"","sources":["../../src/mutations/type-text.ts"],"names":[],"mappings":"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"}
|
package/dist/ops/digest.d.ts
CHANGED
|
@@ -3,7 +3,14 @@ import type { Author, Batch, Operation } from "./types.js";
|
|
|
3
3
|
export declare function isSuggestionBatch(batch: Pick<Batch, "ops">, find: (id: string) => Operation | undefined): boolean;
|
|
4
4
|
/** One row of Activity: a batch as it is, or a run of one automated author's batches folded into one. */
|
|
5
5
|
export type ActivityRow = {
|
|
6
|
+
/** The batch; for a run of typing, its last. */
|
|
6
7
|
readonly batch: Batch;
|
|
8
|
+
/**
|
|
9
|
+
* A RUN OF TYPING (Roadmap f-collab-text): consecutive batches of one
|
|
10
|
+
* person typing into one field, one row — every batch, oldest first,
|
|
11
|
+
* the field, and how much they put in and took out (`typedRowWords`).
|
|
12
|
+
*/
|
|
13
|
+
readonly typed?: TypedRow;
|
|
7
14
|
} | {
|
|
8
15
|
readonly digest: {
|
|
9
16
|
/** Who made them: the one automated author of every batch in the run. */
|
|
@@ -18,6 +25,21 @@ export type ActivityRow = {
|
|
|
18
25
|
readonly run?: string;
|
|
19
26
|
};
|
|
20
27
|
};
|
|
28
|
+
/** A run of typing as Activity folds it. */
|
|
29
|
+
export interface TypedRow {
|
|
30
|
+
readonly batches: readonly Batch[];
|
|
31
|
+
readonly node: string;
|
|
32
|
+
readonly field: string;
|
|
33
|
+
/** Characters put in and taken out, an emoji one. */
|
|
34
|
+
readonly inserted: number;
|
|
35
|
+
readonly removed: number;
|
|
36
|
+
}
|
|
37
|
+
/** A run of typing in Activity, said: "Wrote in Notes (+42 −3)" — the record is named beside it. */
|
|
38
|
+
export declare function typedRowWords(row: Omit<TypedRow, "batches">, schema: {
|
|
39
|
+
tryDefinition(kind: string): unknown;
|
|
40
|
+
}, graph: {
|
|
41
|
+
getNode(id: string): unknown;
|
|
42
|
+
}): string;
|
|
21
43
|
/**
|
|
22
44
|
* A DIGEST IN ACTIVITY: batches as Activity lists them, oldest first, with
|
|
23
45
|
* each RUN of the app's own actor (`Lineage.run`: a night's tidying) folded
|
|
@@ -27,6 +49,7 @@ export type ActivityRow = {
|
|
|
27
49
|
* chat seat's never fold: a chat seat is an agent, but not the app's own
|
|
28
50
|
* actor (`automated`). A batch that is a suggestion or the declining of one
|
|
29
51
|
* is left out — the Suggested tray says those — and does not break a run.
|
|
52
|
+
* A person's consecutive runs of typing into one field are one row (`typed`).
|
|
30
53
|
*/
|
|
31
54
|
export declare function foldDigests(batches: readonly Batch[], find?: (id: string) => Operation | undefined): ActivityRow[];
|
|
32
55
|
/**
|
package/dist/ops/digest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/ops/digest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"digest.d.ts","sourceRoot":"","sources":["../../src/ops/digest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAU3D,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,GAAG,SAAS,GAAG,OAAO,CAEjH;AAED,yGAAyG;AACzG,MAAM,MAAM,WAAW,GACnB;IACE,gDAAgD;IAChD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IACtB;;;;OAIG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;CAC3B,GACD;IACE,QAAQ,CAAC,MAAM,EAAE;QACf,yEAAyE;QACzE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,wCAAwC;QACxC,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;QACnC,sFAAsF;QACtF,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QACxB,sCAAsC;QACtC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,8GAA8G;QAC9G,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;AAEN,4CAA4C;AAC5C,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,CAAC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,qDAAqD;IACrD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AA2BD,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,GAAG,MAAM,CAI/J;AAQD;;;;;;;;;;GAUG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,IAAI,GAAE,CAAC,EAAE,EAAE,MAAM,KAAK,SAAS,GAAG,SAA2B,GAAG,WAAW,EAAE,CAwBnI;AAYD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,CAAA;CAAE,EAAE,KAAK,GAAE,MAA4D,GAAG,MAAM,CAKzO"}
|
package/dist/ops/digest.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { dayOfMoment, dayOfMonthAsRead, isoToday, wallIn, zoneFor } from "../days.js";
|
|
2
2
|
import { isAutomated } from "./tidying.js";
|
|
3
|
+
import { fieldWords } from "../schema/define-node.js";
|
|
4
|
+
import { TYPE_TEXT } from "../text/typing-hook.js";
|
|
3
5
|
/*
|
|
4
6
|
* A DIGEST IN ACTIVITY (`@graview/core/tidying`): the app's own actor's run
|
|
5
7
|
* of changes read as one row. Apart from what the store holds the actor to,
|
|
@@ -9,6 +11,38 @@ import { isAutomated } from "./tidying.js";
|
|
|
9
11
|
export function isSuggestionBatch(batch, find) {
|
|
10
12
|
return batch.ops.length > 0 && batch.ops.every((op) => op.suggests !== undefined || (op.undoes !== undefined && find(op.undoes)?.suggests !== undefined));
|
|
11
13
|
}
|
|
14
|
+
const characters = (text) => [...text].length;
|
|
15
|
+
/**
|
|
16
|
+
* THE FIELD A BATCH TYPED INTO, AND HOW MUCH: when every op of it is a
|
|
17
|
+
* keystroke (`type-text`) into one field. Kept here, small, rather than read
|
|
18
|
+
* from `@graview/core/history`'s `typedRun`, so Activity folds typing with
|
|
19
|
+
* what a page first loads and nothing more.
|
|
20
|
+
*/
|
|
21
|
+
function typedIn(batch) {
|
|
22
|
+
let into;
|
|
23
|
+
let inserted = 0;
|
|
24
|
+
let removed = 0;
|
|
25
|
+
for (const op of batch.ops) {
|
|
26
|
+
const args = op.mutation?.name === TYPE_TEXT && op.withheld !== true && op.undoes === undefined ? op.mutation.args : undefined;
|
|
27
|
+
if (typeof args?.node !== "string" || typeof args.field !== "string" || (into && (into.node !== args.node || into.field !== args.field)))
|
|
28
|
+
return undefined;
|
|
29
|
+
into = { node: args.node, field: args.field };
|
|
30
|
+
for (const one of op.primitives) {
|
|
31
|
+
if (one.op === "splice-text")
|
|
32
|
+
(inserted += characters(one.inserted)), (removed += characters(one.removed));
|
|
33
|
+
// The first text, written whole into a field holding none.
|
|
34
|
+
else if (one.op === "patch-node" && typeof one.after[args.field] === "string")
|
|
35
|
+
inserted += characters(one.after[args.field]);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return into && { ...into, inserted, removed };
|
|
39
|
+
}
|
|
40
|
+
/** A run of typing in Activity, said: "Wrote in Notes (+42 −3)" — the record is named beside it. */
|
|
41
|
+
export function typedRowWords(row, schema, graph) {
|
|
42
|
+
const kind = graph.getNode(row.node)?.kind;
|
|
43
|
+
const counts = [...(row.inserted > 0 || row.removed === 0 ? [`+${row.inserted}`] : []), ...(row.removed > 0 ? [`\u2212${row.removed}`] : [])];
|
|
44
|
+
return `Wrote in ${fieldWords(kind ? schema.tryDefinition(kind) : undefined, row.field)} (${counts.join(" ")})`;
|
|
45
|
+
}
|
|
12
46
|
/** Who an author is, for folding: the same kind, id and name. */
|
|
13
47
|
const authorKey = (author) => JSON.stringify([author.kind, author.id ?? "", author.name ?? ""]);
|
|
14
48
|
/** The run a batch was made in: the first `Lineage.run` its ops say. */
|
|
@@ -22,6 +56,7 @@ const runOf = (batch) => batch.ops.find((op) => op.lineage?.run !== undefined)?.
|
|
|
22
56
|
* chat seat's never fold: a chat seat is an agent, but not the app's own
|
|
23
57
|
* actor (`automated`). A batch that is a suggestion or the declining of one
|
|
24
58
|
* is left out — the Suggested tray says those — and does not break a run.
|
|
59
|
+
* A person's consecutive runs of typing into one field are one row (`typed`).
|
|
25
60
|
*/
|
|
26
61
|
export function foldDigests(batches, find = () => undefined) {
|
|
27
62
|
const rows = [];
|
|
@@ -29,7 +64,14 @@ export function foldDigests(batches, find = () => undefined) {
|
|
|
29
64
|
if (isSuggestionBatch(batch, find))
|
|
30
65
|
continue;
|
|
31
66
|
if (!isAutomated(batch.author)) {
|
|
32
|
-
|
|
67
|
+
const into = typedIn(batch);
|
|
68
|
+
const last = rows.at(-1);
|
|
69
|
+
// A run of typing joins the row before it when that is the same person typing into the same field.
|
|
70
|
+
const was = into && last && "batch" in last && authorKey(last.batch.author) === authorKey(batch.author) && last.typed?.node === into.node && last.typed.field === into.field ? last.typed : undefined;
|
|
71
|
+
if (was)
|
|
72
|
+
rows[rows.length - 1] = { batch, typed: { ...was, batches: [...was.batches, batch], inserted: was.inserted + into.inserted, removed: was.removed + into.removed } };
|
|
73
|
+
else
|
|
74
|
+
rows.push(into ? { batch, typed: { batches: [batch], ...into } } : { batch });
|
|
33
75
|
continue;
|
|
34
76
|
}
|
|
35
77
|
const run = runOf(batch);
|
package/dist/ops/digest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/ops/digest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"digest.js","sourceRoot":"","sources":["../../src/ops/digest.ts"],"names":[],"mappings":"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"}
|
package/dist/presence.d.ts
CHANGED
|
@@ -4,6 +4,22 @@ export interface PresenceRobot {
|
|
|
4
4
|
readonly at: string | null;
|
|
5
5
|
readonly mode: string;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* A CARET IN A FIELD TYPED TOGETHER (Roadmap f-collab-text, phase 4): the
|
|
9
|
+
* selection somebody holds in one field of one record, in UTF-16 code
|
|
10
|
+
* units of the text as their page showed it once their log held `rev` ops.
|
|
11
|
+
* Another page carries it over the typing its own log took since, by
|
|
12
|
+
* anybody else, so it stands on the same word there. `anchor` is where the
|
|
13
|
+
* selection began, `head` where the caret is; they are equal for a caret.
|
|
14
|
+
*/
|
|
15
|
+
export interface PresenceCaret {
|
|
16
|
+
readonly node: string;
|
|
17
|
+
readonly field: string;
|
|
18
|
+
readonly anchor: number;
|
|
19
|
+
readonly head: number;
|
|
20
|
+
/** How many ops the log they read it against held: `store.log.length`. */
|
|
21
|
+
readonly rev: number;
|
|
22
|
+
}
|
|
7
23
|
export interface Presence {
|
|
8
24
|
/** `kind:id:session` — the op log's own reading of an author, so a figure and its edits agree. */
|
|
9
25
|
readonly participant: string;
|
|
@@ -22,6 +38,8 @@ export interface Presence {
|
|
|
22
38
|
readonly over?: string | null;
|
|
23
39
|
/** Their seat's robot, if it has a body somewhere. */
|
|
24
40
|
readonly robot?: PresenceRobot;
|
|
41
|
+
/** Where their caret stands in a field typed together (Roadmap f-collab-text), while they are typing in it. */
|
|
42
|
+
readonly caret?: PresenceCaret;
|
|
25
43
|
/** When they last said so, ISO. */
|
|
26
44
|
readonly at: string;
|
|
27
45
|
/**
|
package/dist/presence.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
package/dist/presence.js
CHANGED
|
@@ -131,6 +131,7 @@ export function samePresence(a, b) {
|
|
|
131
131
|
a.stop === b.stop &&
|
|
132
132
|
(a.over ?? null) === (b.over ?? null) &&
|
|
133
133
|
(a.robot?.at ?? null) === (b.robot?.at ?? null) &&
|
|
134
|
-
(a.robot?.mode ?? null) === (b.robot?.mode ?? null)
|
|
134
|
+
(a.robot?.mode ?? null) === (b.robot?.mode ?? null) &&
|
|
135
|
+
JSON.stringify(a.caret) === JSON.stringify(b.caret));
|
|
135
136
|
}
|
|
136
137
|
//# sourceMappingURL=presence.js.map
|
package/dist/presence.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAmB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"presence.js","sourceRoot":"","sources":["../src/presence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether a field is typed together: its mark where it has one, under
|
|
3
|
+
* optional, default and nullable; else whether it is declared prose — a
|
|
4
|
+
* Markdown field, or a string declared to hold more than 500 characters.
|
|
5
|
+
*/
|
|
6
|
+
export declare function isCollaborativeField(schema: unknown): boolean;
|
|
7
|
+
/** Whether one field of a kind is typed together, read off the declaration: false for a field the kind does not declare. */
|
|
8
|
+
export declare function collaborativeFieldOf(schema: {
|
|
9
|
+
tryDefinition(kind: string): unknown;
|
|
10
|
+
}, kind: string | undefined, field: string): boolean;
|
|
11
|
+
//# sourceMappingURL=collaborative-of.d.ts.map
|