jazz-tools 0.10.14 → 0.11.0
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/.turbo/turbo-build.log +11 -7
- package/CHANGELOG.md +31 -0
- package/dist/auth/AuthSecretStorage.d.ts +25 -0
- package/dist/auth/AuthSecretStorage.d.ts.map +1 -0
- package/dist/auth/DemoAuth.d.ts +27 -0
- package/dist/auth/DemoAuth.d.ts.map +1 -0
- package/dist/auth/InMemoryKVStore.d.ts +9 -0
- package/dist/auth/InMemoryKVStore.d.ts.map +1 -0
- package/dist/auth/KvStoreContext.d.ts +17 -0
- package/dist/auth/KvStoreContext.d.ts.map +1 -0
- package/dist/auth/PassphraseAuth.d.ts +35 -0
- package/dist/auth/PassphraseAuth.d.ts.map +1 -0
- package/dist/{chunk-5YDDEUNX.js → chunk-RTRX7HIO.js} +193 -81
- package/dist/chunk-RTRX7HIO.js.map +1 -0
- package/dist/coValues/account.d.ts +120 -0
- package/dist/coValues/account.d.ts.map +1 -0
- package/dist/coValues/coFeed.d.ts +361 -0
- package/dist/coValues/coFeed.d.ts.map +1 -0
- package/dist/coValues/coList.d.ts +221 -0
- package/dist/coValues/coList.d.ts.map +1 -0
- package/dist/coValues/coMap.d.ts +500 -0
- package/dist/coValues/coMap.d.ts.map +1 -0
- package/dist/coValues/coPlainText.d.ts +69 -0
- package/dist/coValues/coPlainText.d.ts.map +1 -0
- package/dist/coValues/coRichText.d.ts +259 -0
- package/dist/coValues/coRichText.d.ts.map +1 -0
- package/dist/coValues/deepLoading.d.ts +81 -0
- package/dist/coValues/deepLoading.d.ts.map +1 -0
- package/dist/coValues/extensions/imageDef.d.ts +17 -0
- package/dist/coValues/extensions/imageDef.d.ts.map +1 -0
- package/dist/coValues/group.d.ts +67 -0
- package/dist/coValues/group.d.ts.map +1 -0
- package/dist/coValues/inbox.d.ts +52 -0
- package/dist/coValues/inbox.d.ts.map +1 -0
- package/dist/coValues/interfaces.d.ts +97 -0
- package/dist/coValues/interfaces.d.ts.map +1 -0
- package/dist/coValues/profile.d.ts +28 -0
- package/dist/coValues/profile.d.ts.map +1 -0
- package/dist/coValues/registeredSchemas.d.ts +12 -0
- package/dist/coValues/registeredSchemas.d.ts.map +1 -0
- package/dist/coValues/schemaUnion.d.ts +79 -0
- package/dist/coValues/schemaUnion.d.ts.map +1 -0
- package/dist/exports.d.ts +27 -0
- package/dist/exports.d.ts.map +1 -0
- package/dist/implementation/ContextManager.d.ts +65 -0
- package/dist/implementation/ContextManager.d.ts.map +1 -0
- package/dist/implementation/activeAccountContext.d.ts +12 -0
- package/dist/implementation/activeAccountContext.d.ts.map +1 -0
- package/dist/implementation/anonymousJazzAgent.d.ts +7 -0
- package/dist/implementation/anonymousJazzAgent.d.ts.map +1 -0
- package/dist/implementation/createContext.d.ts +91 -0
- package/dist/implementation/createContext.d.ts.map +1 -0
- package/dist/implementation/devtoolsFormatters.d.ts +2 -0
- package/dist/implementation/devtoolsFormatters.d.ts.map +1 -0
- package/dist/implementation/errors.d.ts +2 -0
- package/dist/implementation/errors.d.ts.map +1 -0
- package/dist/implementation/inspect.d.ts +3 -0
- package/dist/implementation/inspect.d.ts.map +1 -0
- package/dist/implementation/invites.d.ts +23 -0
- package/dist/implementation/invites.d.ts.map +1 -0
- package/dist/implementation/refs.d.ts +21 -0
- package/dist/implementation/refs.d.ts.map +1 -0
- package/dist/implementation/schema.d.ts +72 -0
- package/dist/implementation/schema.d.ts.map +1 -0
- package/dist/implementation/subscriptionScope.d.ts +33 -0
- package/dist/implementation/subscriptionScope.d.ts.map +1 -0
- package/dist/implementation/symbols.d.ts +8 -0
- package/dist/implementation/symbols.d.ts.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -1
- package/dist/internal.d.ts +12 -0
- package/dist/internal.d.ts.map +1 -0
- package/dist/lib/cache.d.ts +6 -0
- package/dist/lib/cache.d.ts.map +1 -0
- package/dist/lib/cache.test.d.ts +2 -0
- package/dist/lib/cache.test.d.ts.map +1 -0
- package/dist/testing.d.ts +41 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +11 -16
- package/dist/testing.js.map +1 -1
- package/dist/tests/AuthSecretStorage.test.d.ts +2 -0
- package/dist/tests/AuthSecretStorage.test.d.ts.map +1 -0
- package/dist/tests/ContextManager.test.d.ts +2 -0
- package/dist/tests/ContextManager.test.d.ts.map +1 -0
- package/dist/tests/DemoAuth.test.d.ts +2 -0
- package/dist/tests/DemoAuth.test.d.ts.map +1 -0
- package/dist/tests/PassphraseAuth.test.d.ts +2 -0
- package/dist/tests/PassphraseAuth.test.d.ts.map +1 -0
- package/dist/tests/account.test.d.ts +2 -0
- package/dist/tests/account.test.d.ts.map +1 -0
- package/dist/tests/coFeed.test.d.ts +2 -0
- package/dist/tests/coFeed.test.d.ts.map +1 -0
- package/dist/tests/coList.test.d.ts +2 -0
- package/dist/tests/coList.test.d.ts.map +1 -0
- package/dist/tests/coMap.test.d.ts +2 -0
- package/dist/tests/coMap.test.d.ts.map +1 -0
- package/dist/tests/coPlainText.test.d.ts +2 -0
- package/dist/tests/coPlainText.test.d.ts.map +1 -0
- package/dist/tests/coRichText.test.d.ts +2 -0
- package/dist/tests/coRichText.test.d.ts.map +1 -0
- package/dist/tests/createContext.test.d.ts +2 -0
- package/dist/tests/createContext.test.d.ts.map +1 -0
- package/dist/tests/deepLoading.test.d.ts +2 -0
- package/dist/tests/deepLoading.test.d.ts.map +1 -0
- package/dist/tests/fixtures.d.ts +2 -0
- package/dist/tests/fixtures.d.ts.map +1 -0
- package/dist/tests/groupsAndAccounts.test.d.ts +2 -0
- package/dist/tests/groupsAndAccounts.test.d.ts.map +1 -0
- package/dist/tests/inbox.test.d.ts +2 -0
- package/dist/tests/inbox.test.d.ts.map +1 -0
- package/dist/tests/interfaces.test.d.ts +2 -0
- package/dist/tests/interfaces.test.d.ts.map +1 -0
- package/dist/tests/invites.test.d.ts +2 -0
- package/dist/tests/invites.test.d.ts.map +1 -0
- package/dist/tests/schema.test.d.ts +2 -0
- package/dist/tests/schema.test.d.ts.map +1 -0
- package/dist/tests/schemaUnion.test.d.ts +2 -0
- package/dist/tests/schemaUnion.test.d.ts.map +1 -0
- package/dist/tests/subscribe.test.d.ts +2 -0
- package/dist/tests/subscribe.test.d.ts.map +1 -0
- package/dist/tests/testing.test.d.ts +2 -0
- package/dist/tests/testing.test.d.ts.map +1 -0
- package/dist/tests/utils.d.ts +21 -0
- package/dist/tests/utils.d.ts.map +1 -0
- package/dist/types.d.ts +52 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +8 -7
- package/src/coValues/account.ts +69 -11
- package/src/coValues/coMap.ts +2 -2
- package/src/coValues/coRichText.ts +42 -17
- package/src/coValues/group.ts +76 -31
- package/src/coValues/inbox.ts +10 -0
- package/src/coValues/interfaces.ts +1 -1
- package/src/coValues/profile.ts +35 -2
- package/src/implementation/ContextManager.ts +63 -15
- package/src/implementation/schema.ts +1 -3
- package/src/testing.ts +10 -16
- package/src/tests/AuthSecretStorage.test.ts +1 -2
- package/src/tests/ContextManager.test.ts +27 -14
- package/src/tests/PassphraseAuth.test.ts +7 -3
- package/src/tests/coMap.test.ts +20 -21
- package/src/tests/deepLoading.test.ts +8 -17
- package/src/tests/groupsAndAccounts.test.ts +429 -89
- package/src/tests/inbox.test.ts +24 -0
- package/src/tests/schema.test.ts +45 -5
- package/src/tests/utils.ts +7 -3
- package/src/types.ts +6 -0
- package/tsconfig.json +4 -1
- package/dist/chunk-5YDDEUNX.js.map +0 -1
@@ -0,0 +1,259 @@
|
|
1
|
+
import { co } from "../internal.js";
|
2
|
+
import type { Account } from "./account.js";
|
3
|
+
import { CoList } from "./coList.js";
|
4
|
+
import { CoMap, type CoMapInit } from "./coMap.js";
|
5
|
+
import { CoPlainText, type TextPos } from "./coPlainText.js";
|
6
|
+
import type { Group } from "./group.js";
|
7
|
+
/**
|
8
|
+
* Base class for text annotations and formatting marks.
|
9
|
+
* Represents a mark with start and end positions in text.
|
10
|
+
*
|
11
|
+
* Example text: "Hello world! How are you?"
|
12
|
+
* If we want to mark "world" with bold:
|
13
|
+
*
|
14
|
+
* ```
|
15
|
+
* uncertainty region
|
16
|
+
* ↓
|
17
|
+
* Hello [····]world[····]! How are you?
|
18
|
+
* ↑ ↑ ↑ ↑
|
19
|
+
* | | | |
|
20
|
+
* startAfter | | endBefore
|
21
|
+
* startBefore endAfter
|
22
|
+
* ```
|
23
|
+
*
|
24
|
+
* - startAfter: Position after "Hello " (exclusive boundary)
|
25
|
+
* - startBefore: Position before "world" (inclusive boundary)
|
26
|
+
* - endAfter: Position after "world" (inclusive boundary)
|
27
|
+
* - endBefore: Position before "!" (exclusive boundary)
|
28
|
+
*
|
29
|
+
* The regions marked with [····] are "uncertainty regions" where:
|
30
|
+
* - Text inserted in the left uncertainty region may or may not be part of the mark
|
31
|
+
* - Text inserted in the right uncertainty region may or may not be part of the mark
|
32
|
+
* - Text inserted between startBefore and endAfter is definitely part of the mark
|
33
|
+
*
|
34
|
+
* Positions must satisfy:
|
35
|
+
* 0 ≤ startAfter ≤ startBefore < endAfter ≤ endBefore ≤ textLength
|
36
|
+
* A mark cannot be zero-length, so endAfter must be greater than startBefore.
|
37
|
+
*/
|
38
|
+
export declare class Mark extends CoMap {
|
39
|
+
startAfter: co<import("cojson").OpID | null>;
|
40
|
+
startBefore: co<import("cojson").OpID>;
|
41
|
+
endAfter: co<import("cojson").OpID>;
|
42
|
+
endBefore: co<import("cojson").OpID | null>;
|
43
|
+
tag: co<string>;
|
44
|
+
/**
|
45
|
+
* Validates and clamps mark positions to ensure they are in the correct order
|
46
|
+
* @returns Normalized positions or null if invalid
|
47
|
+
*/
|
48
|
+
validatePositions(textLength: number, idxAfter: (pos: TextPos) => number | undefined, idxBefore: (pos: TextPos) => number | undefined): {
|
49
|
+
startAfter: number;
|
50
|
+
startBefore: number;
|
51
|
+
endAfter: number;
|
52
|
+
endBefore: number;
|
53
|
+
} | null;
|
54
|
+
}
|
55
|
+
/**
|
56
|
+
* A mark with resolved numeric positions in text.
|
57
|
+
* Contains both position information and reference to the source mark.
|
58
|
+
* @template R Type extending Mark, defaults to Mark
|
59
|
+
*/
|
60
|
+
export type ResolvedMark<R extends Mark = Mark> = {
|
61
|
+
startAfter: number;
|
62
|
+
startBefore: number;
|
63
|
+
endAfter: number;
|
64
|
+
endBefore: number;
|
65
|
+
sourceMark: R;
|
66
|
+
};
|
67
|
+
/**
|
68
|
+
* A mark that has been resolved and diffused with certainty information.
|
69
|
+
* Includes start/end positions and indication of boundary certainty.
|
70
|
+
* @template R Type extending Mark, defaults to Mark
|
71
|
+
*/
|
72
|
+
export type ResolvedAndDiffusedMark<R extends Mark = Mark> = {
|
73
|
+
start: number;
|
74
|
+
end: number;
|
75
|
+
side: "uncertainStart" | "certainMiddle" | "uncertainEnd";
|
76
|
+
sourceMark: R;
|
77
|
+
};
|
78
|
+
/**
|
79
|
+
* Defines how marks should be focused when resolving positions.
|
80
|
+
* - 'far': Positions marks at furthest valid positions
|
81
|
+
* - 'close': Positions marks at nearest valid positions
|
82
|
+
* - 'closestWhitespace': Positions marks at nearest whitespace
|
83
|
+
*/
|
84
|
+
export type FocusBias = "far" | "close" | "closestWhitespace";
|
85
|
+
/**
|
86
|
+
* A mark that has been resolved and focused to specific positions.
|
87
|
+
* Contains simplified position information and reference to source mark.
|
88
|
+
* @template R Type extending Mark, defaults to Mark
|
89
|
+
*/
|
90
|
+
export type ResolvedAndFocusedMark<R extends Mark = Mark> = {
|
91
|
+
start: number;
|
92
|
+
end: number;
|
93
|
+
sourceMark: R;
|
94
|
+
};
|
95
|
+
/**
|
96
|
+
* Main class for handling rich text content with marks.
|
97
|
+
* Combines plain text with a list of marks for formatting and annotations.
|
98
|
+
* Provides methods for text manipulation, mark insertion, and tree conversion.
|
99
|
+
*/
|
100
|
+
export declare class CoRichText extends CoMap {
|
101
|
+
text: co<CoPlainText | null>;
|
102
|
+
marks: co<CoList<co<Mark | null>> | null>;
|
103
|
+
/**
|
104
|
+
* Create a CoRichText from plain text.
|
105
|
+
*/
|
106
|
+
static createFromPlainText(text: string, options: {
|
107
|
+
owner: Account | Group;
|
108
|
+
}): CoRichText;
|
109
|
+
/**
|
110
|
+
* Create a CoRichText from plain text and a mark.
|
111
|
+
*/
|
112
|
+
static createFromPlainTextAndMark<MarkClass extends {
|
113
|
+
new (...args: any[]): Mark;
|
114
|
+
create(init: any, options: {
|
115
|
+
owner: Account | Group;
|
116
|
+
}): Mark;
|
117
|
+
}>(text: string, WrapIn: MarkClass, extraArgs: Omit<CoMapInit<InstanceType<MarkClass>>, "startAfter" | "startBefore" | "endAfter" | "endBefore">, options: {
|
118
|
+
owner: Account | Group;
|
119
|
+
}): CoRichText;
|
120
|
+
/**
|
121
|
+
* Insert text at a specific index.
|
122
|
+
*/
|
123
|
+
insertAfter(idx: number, text: string): void;
|
124
|
+
/**
|
125
|
+
* Delete a range of text.
|
126
|
+
*/
|
127
|
+
deleteRange(range: {
|
128
|
+
from: number;
|
129
|
+
to: number;
|
130
|
+
}): void;
|
131
|
+
/**
|
132
|
+
* Get the position of a specific index.
|
133
|
+
*/
|
134
|
+
posBefore(idx: number): TextPos | undefined;
|
135
|
+
/**
|
136
|
+
* Get the position of a specific index.
|
137
|
+
*/
|
138
|
+
posAfter(idx: number): TextPos | undefined;
|
139
|
+
/**
|
140
|
+
* Get the index of a specific position.
|
141
|
+
*/
|
142
|
+
idxBefore(pos: TextPos): number | undefined;
|
143
|
+
/**
|
144
|
+
* Get the index of a specific position.
|
145
|
+
*/
|
146
|
+
idxAfter(pos: TextPos): number | undefined;
|
147
|
+
/**
|
148
|
+
* Insert a mark at a specific range.
|
149
|
+
*/
|
150
|
+
insertMark<MarkClass extends {
|
151
|
+
new (...args: any[]): Mark;
|
152
|
+
create(init: any, options: {
|
153
|
+
owner: Account | Group;
|
154
|
+
}): Mark;
|
155
|
+
}>(start: number, end: number, RangeClass: MarkClass, extraArgs: Omit<CoMapInit<InstanceType<MarkClass>>, "startAfter" | "startBefore" | "endAfter" | "endBefore">, options?: {
|
156
|
+
markOwner?: Account | Group;
|
157
|
+
}): void;
|
158
|
+
/**
|
159
|
+
* Remove a mark at a specific range.
|
160
|
+
*/
|
161
|
+
removeMark<MarkClass extends {
|
162
|
+
new (...args: any[]): Mark;
|
163
|
+
create(init: any, options: {
|
164
|
+
owner: Account | Group;
|
165
|
+
}): Mark;
|
166
|
+
}>(start: number, end: number, RangeClass: MarkClass, options: {
|
167
|
+
tag: string;
|
168
|
+
}): void;
|
169
|
+
/**
|
170
|
+
* Resolve the positions of all marks.
|
171
|
+
*/
|
172
|
+
resolveMarks(): ResolvedMark[];
|
173
|
+
/**
|
174
|
+
* Resolve and diffuse the positions of all marks.
|
175
|
+
*/
|
176
|
+
resolveAndDiffuseMarks(): ResolvedAndDiffusedMark[];
|
177
|
+
/**
|
178
|
+
* Resolve, diffuse, and focus the positions of all marks.
|
179
|
+
*/
|
180
|
+
resolveAndDiffuseAndFocusMarks(): ResolvedAndFocusedMark[];
|
181
|
+
/**
|
182
|
+
* Convert a CoRichText to a tree structure useful for client libraries.
|
183
|
+
*/
|
184
|
+
toTree(tagPrecedence: string[]): TreeNode;
|
185
|
+
get length(): number;
|
186
|
+
/**
|
187
|
+
* Convert a CoRichText to plain text.
|
188
|
+
*/
|
189
|
+
toString(): string;
|
190
|
+
}
|
191
|
+
/**
|
192
|
+
* Represents a leaf node in the rich text tree structure.
|
193
|
+
* Contains plain text without any marks.
|
194
|
+
*/
|
195
|
+
export type TreeLeaf = {
|
196
|
+
type: "leaf";
|
197
|
+
start: number;
|
198
|
+
end: number;
|
199
|
+
};
|
200
|
+
/**
|
201
|
+
* Represents a node in the rich text tree structure.
|
202
|
+
* Can contain other nodes or leaves, and includes formatting information.
|
203
|
+
*/
|
204
|
+
export type TreeNode = {
|
205
|
+
type: "node";
|
206
|
+
tag: string;
|
207
|
+
start: number;
|
208
|
+
end: number;
|
209
|
+
range?: ResolvedAndFocusedMark;
|
210
|
+
children: (TreeNode | TreeLeaf)[];
|
211
|
+
};
|
212
|
+
/**
|
213
|
+
* Split a node at a specific index. So that the node is split into two parts, one before the index, and one after the index.
|
214
|
+
*/
|
215
|
+
export declare function splitNode(node: TreeNode | TreeLeaf, at: number): [TreeNode | TreeLeaf | undefined, TreeNode | TreeLeaf | undefined];
|
216
|
+
/**
|
217
|
+
* Heading mark for rich text formatting.
|
218
|
+
*/
|
219
|
+
export declare class Heading extends Mark {
|
220
|
+
tag: co<"heading">;
|
221
|
+
level: co<number>;
|
222
|
+
}
|
223
|
+
/**
|
224
|
+
* Paragraph mark for rich text formatting.
|
225
|
+
*/
|
226
|
+
export declare class Paragraph extends Mark {
|
227
|
+
tag: co<"paragraph">;
|
228
|
+
}
|
229
|
+
/**
|
230
|
+
* Link mark for rich text formatting.
|
231
|
+
*/
|
232
|
+
export declare class Link extends Mark {
|
233
|
+
tag: co<"link">;
|
234
|
+
url: co<string>;
|
235
|
+
}
|
236
|
+
/**
|
237
|
+
* Strong (bold) mark for rich text formatting.
|
238
|
+
*/
|
239
|
+
export declare class Strong extends Mark {
|
240
|
+
tag: co<"strong">;
|
241
|
+
}
|
242
|
+
/**
|
243
|
+
* Emphasis (italic) mark for rich text formatting.
|
244
|
+
*/
|
245
|
+
export declare class Em extends Mark {
|
246
|
+
tag: co<"em">;
|
247
|
+
}
|
248
|
+
/**
|
249
|
+
* Collection of predefined mark types for common text formatting.
|
250
|
+
* Includes marks for headings, paragraphs, links, and text styling.
|
251
|
+
*/
|
252
|
+
export declare const Marks: {
|
253
|
+
Heading: typeof Heading;
|
254
|
+
Paragraph: typeof Paragraph;
|
255
|
+
Link: typeof Link;
|
256
|
+
Strong: typeof Strong;
|
257
|
+
Em: typeof Em;
|
258
|
+
};
|
259
|
+
//# sourceMappingURL=coRichText.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"coRichText.d.ts","sourceRoot":"","sources":["../../src/coValues/coRichText.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import { SessionID } from "cojson";
|
2
|
+
import { ItemsSym, UnCo } from "../internal.js";
|
3
|
+
import { type Account } from "./account.js";
|
4
|
+
import { CoFeedEntry } from "./coFeed.js";
|
5
|
+
import { type CoKeys } from "./coMap.js";
|
6
|
+
import { type CoValue, type ID } from "./interfaces.js";
|
7
|
+
export declare function fulfillsDepth(depth: any, value: CoValue): boolean;
|
8
|
+
type UnCoNotNull<T> = UnCo<Exclude<T, null>>;
|
9
|
+
type Clean<T> = UnCo<NonNullable<T>>;
|
10
|
+
export type DepthsIn<V, DepthLimit extends number = 5, CurrentDepth extends number[] = []> = (DepthLimit extends CurrentDepth["length"] ? any : V extends Array<infer Item> ? [DepthsIn<UnCoNotNull<Item>, DepthLimit, [0, ...CurrentDepth]>] | never[] : V extends {
|
11
|
+
_type: "CoMap" | "Group" | "Account";
|
12
|
+
} ? {
|
13
|
+
[Key in CoKeys<V> as Clean<V[Key]> extends CoValue ? Key : never]?: DepthsIn<Clean<V[Key]>, DepthLimit, [
|
14
|
+
0,
|
15
|
+
...CurrentDepth
|
16
|
+
]>;
|
17
|
+
} | (ItemsSym extends keyof V ? [
|
18
|
+
DepthsIn<Clean<V[ItemsSym]>, DepthLimit, [
|
19
|
+
0,
|
20
|
+
...CurrentDepth
|
21
|
+
]>
|
22
|
+
] : never) | never[] : V extends {
|
23
|
+
_type: "CoStream";
|
24
|
+
byMe: CoFeedEntry<infer Item> | undefined;
|
25
|
+
} ? [
|
26
|
+
DepthsIn<UnCoNotNull<Item>, DepthLimit, [
|
27
|
+
0,
|
28
|
+
...CurrentDepth
|
29
|
+
]>
|
30
|
+
] | never[] : never[]) | never[];
|
31
|
+
export type DeeplyLoaded<V, Depth, DepthLimit extends number = 5, CurrentDepth extends number[] = []> = DepthLimit extends CurrentDepth["length"] ? V : [
|
32
|
+
V
|
33
|
+
] extends [Array<infer Item>] ? Depth extends never[] ? V : UnCoNotNull<Item> extends CoValue ? Depth extends Array<infer ItemDepth> ? (UnCoNotNull<Item> & DeeplyLoaded<UnCoNotNull<Item>, ItemDepth, DepthLimit, [
|
34
|
+
0,
|
35
|
+
...CurrentDepth
|
36
|
+
]>)[] & V : never : V : [
|
37
|
+
V
|
38
|
+
] extends [{
|
39
|
+
_type: "CoMap" | "Group" | "Account";
|
40
|
+
}] ? Depth extends never[] ? V : Depth extends Array<infer ItemDepth> ? ItemsSym extends keyof V ? V & {
|
41
|
+
[key: string]: DeeplyLoaded<Clean<V[ItemsSym]>, ItemDepth, DepthLimit, [
|
42
|
+
0,
|
43
|
+
...CurrentDepth
|
44
|
+
]>;
|
45
|
+
} : never : keyof Depth extends never ? V : {
|
46
|
+
[Key in keyof Depth]-?: Key extends CoKeys<V> ? Clean<V[Key]> extends CoValue ? DeeplyLoaded<Clean<V[Key]>, Depth[Key], DepthLimit, [
|
47
|
+
0,
|
48
|
+
...CurrentDepth
|
49
|
+
]> | (undefined extends V[Key] ? undefined : never) : never : never;
|
50
|
+
} & V : [V] extends [
|
51
|
+
{
|
52
|
+
_type: "CoStream";
|
53
|
+
byMe: CoFeedEntry<infer Item> | undefined;
|
54
|
+
}
|
55
|
+
] ? Depth extends never[] ? V : V & {
|
56
|
+
byMe?: {
|
57
|
+
value: UnCoNotNull<Item>;
|
58
|
+
};
|
59
|
+
inCurrentSession?: {
|
60
|
+
value: UnCoNotNull<Item>;
|
61
|
+
};
|
62
|
+
perSession: {
|
63
|
+
[key: SessionID]: {
|
64
|
+
value: UnCoNotNull<Item>;
|
65
|
+
};
|
66
|
+
};
|
67
|
+
} & {
|
68
|
+
[key: ID<Account>]: {
|
69
|
+
value: UnCoNotNull<Item>;
|
70
|
+
};
|
71
|
+
} : [V] extends [
|
72
|
+
{
|
73
|
+
_type: "BinaryCoStream";
|
74
|
+
}
|
75
|
+
] ? V : [V] extends [
|
76
|
+
{
|
77
|
+
_type: "CoPlainText";
|
78
|
+
}
|
79
|
+
] ? V : never;
|
80
|
+
export {};
|
81
|
+
//# sourceMappingURL=deepLoading.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"deepLoading.d.ts","sourceRoot":"","sources":["../../src/coValues/deepLoading.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
import { co } from "../../internal.js";
|
2
|
+
import { FileStream } from "../coFeed.js";
|
3
|
+
import { CoMap } from "../coMap.js";
|
4
|
+
/** @category Media */
|
5
|
+
export declare class ImageDefinition extends CoMap {
|
6
|
+
originalSize: co<[number, number]>;
|
7
|
+
placeholderDataURL?: co<string> | undefined;
|
8
|
+
[co.items]: co<FileStream | null>;
|
9
|
+
[res: `${number}x${number}`]: co<FileStream | null>;
|
10
|
+
highestResAvailable(options?: {
|
11
|
+
maxWidth?: number;
|
12
|
+
}): {
|
13
|
+
res: `${number}x${number}`;
|
14
|
+
stream: FileStream;
|
15
|
+
} | undefined;
|
16
|
+
}
|
17
|
+
//# sourceMappingURL=imageDef.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"imageDef.d.ts","sourceRoot":"","sources":["../../../src/coValues/extensions/imageDef.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAuB,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEpC,sBAAsB;AACtB,qBAAa,eAAgB,SAAQ,KAAK;IACxC,YAAY,uBAA+B;IAC3C,kBAAkB,CAAC,yBAAa;IAEhC,CAAC,EAAE,CAAC,KAAK,CAAC,wBAAsB;IAChC,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;IAEpD,mBAAmB,CAAC,OAAO,CAAC,EAAE;QAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG;QAAE,GAAG,EAAE,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,GAAG,SAAS;CAyCnE"}
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import type { AccountRole, AgentID, Everyone, RawAccountID, RawGroup, Role } from "cojson";
|
2
|
+
import type { CoValue, CoValueClass, DeeplyLoaded, DepthsIn, ID, Schema } from "../internal.js";
|
3
|
+
import { CoValueBase, Ref } from "../internal.js";
|
4
|
+
import { RegisteredAccount } from "../types.js";
|
5
|
+
import { type Account } from "./account.js";
|
6
|
+
import { type CoMap } from "./coMap.js";
|
7
|
+
import { type Profile } from "./profile.js";
|
8
|
+
/** @category Identity & Permissions */
|
9
|
+
export declare class Group extends CoValueBase implements CoValue {
|
10
|
+
id: ID<this>;
|
11
|
+
_type: "Group";
|
12
|
+
_raw: RawGroup;
|
13
|
+
static _schema: any;
|
14
|
+
get _schema(): {
|
15
|
+
profile: Schema;
|
16
|
+
root: Schema;
|
17
|
+
};
|
18
|
+
profile: Profile | null;
|
19
|
+
root: CoMap | null;
|
20
|
+
get _refs(): {
|
21
|
+
profile: Ref<Profile> | undefined;
|
22
|
+
root: Ref<CoMap> | undefined;
|
23
|
+
};
|
24
|
+
/** @deprecated Don't use constructor directly, use .create */
|
25
|
+
constructor(options: {
|
26
|
+
fromRaw: RawGroup;
|
27
|
+
} | {
|
28
|
+
owner: Account | Group;
|
29
|
+
});
|
30
|
+
static create<G extends Group>(this: CoValueClass<G>, options?: {
|
31
|
+
owner: Account;
|
32
|
+
} | Account): G;
|
33
|
+
myRole(): Role | undefined;
|
34
|
+
addMember(member: Everyone, role: "writer" | "reader"): void;
|
35
|
+
addMember(member: Account, role: AccountRole): void;
|
36
|
+
removeMember(member: Everyone | Account): Promise<void>;
|
37
|
+
get members(): Array<{
|
38
|
+
id: ID<RegisteredAccount>;
|
39
|
+
role: AccountRole;
|
40
|
+
ref: Ref<RegisteredAccount>;
|
41
|
+
account: RegisteredAccount;
|
42
|
+
}>;
|
43
|
+
getRoleOf(member: Everyone | ID<Account> | "me"): Role | undefined;
|
44
|
+
getParentGroups(): Array<Group>;
|
45
|
+
extend(parent: Group, roleMapping?: "reader" | "writer" | "admin" | "inherit"): this;
|
46
|
+
revokeExtend(parent: Group): Promise<this>;
|
47
|
+
/** @category Subscription & Loading */
|
48
|
+
static load<C extends Group, Depth>(this: CoValueClass<C>, id: ID<C>, depth: Depth & DepthsIn<C>): Promise<DeeplyLoaded<C, Depth> | undefined>;
|
49
|
+
static load<C extends Group, Depth>(this: CoValueClass<C>, id: ID<C>, as: Account, depth: Depth & DepthsIn<C>): Promise<DeeplyLoaded<C, Depth> | undefined>;
|
50
|
+
/** @category Subscription & Loading */
|
51
|
+
static subscribe<C extends Group, Depth>(this: CoValueClass<C>, id: ID<C>, depth: Depth & DepthsIn<C>, listener: (value: DeeplyLoaded<C, Depth>) => void): () => void;
|
52
|
+
static subscribe<C extends Group, Depth>(this: CoValueClass<C>, id: ID<C>, as: Account, depth: Depth & DepthsIn<C>, listener: (value: DeeplyLoaded<C, Depth>) => void): () => void;
|
53
|
+
/** @category Subscription & Loading */
|
54
|
+
ensureLoaded<G extends Group, Depth>(this: G, depth: Depth & DepthsIn<G>): Promise<DeeplyLoaded<G, Depth>>;
|
55
|
+
/** @category Subscription & Loading */
|
56
|
+
subscribe<G extends Group, Depth>(this: G, depth: Depth & DepthsIn<G>, listener: (value: DeeplyLoaded<G, Depth>) => void): () => void;
|
57
|
+
/**
|
58
|
+
* Wait for the `Group` to be uploaded to the other peers.
|
59
|
+
*
|
60
|
+
* @category Subscription & Loading
|
61
|
+
*/
|
62
|
+
waitForSync(options?: {
|
63
|
+
timeout?: number;
|
64
|
+
}): Promise<unknown[]>;
|
65
|
+
}
|
66
|
+
export declare function isAccountID(id: RawAccountID | AgentID): id is RawAccountID;
|
67
|
+
//# sourceMappingURL=group.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/coValues/group.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { CoID, InviteSecret, RawAccount, RawCoMap, SessionID } from "cojson";
|
2
|
+
import { RawCoStream } from "cojson";
|
3
|
+
import { type Account } from "./account.js";
|
4
|
+
import { CoValue, CoValueClass, ID } from "./interfaces.js";
|
5
|
+
export type InboxInvite = `${CoID<MessagesStream>}/${InviteSecret}`;
|
6
|
+
type TxKey = `${SessionID}/${number}`;
|
7
|
+
type MessagesStream = RawCoStream<CoID<InboxMessage<CoValue, any>>>;
|
8
|
+
type FailedMessagesStream = RawCoStream<{
|
9
|
+
errors: string[];
|
10
|
+
value: CoID<InboxMessage<CoValue, any>>;
|
11
|
+
}>;
|
12
|
+
type TxKeyStream = RawCoStream<TxKey>;
|
13
|
+
export type InboxRoot = RawCoMap<{
|
14
|
+
messages: CoID<MessagesStream>;
|
15
|
+
processed: CoID<TxKeyStream>;
|
16
|
+
failed: CoID<FailedMessagesStream>;
|
17
|
+
inviteLink: InboxInvite;
|
18
|
+
}>;
|
19
|
+
export declare function createInboxRoot(account: Account): {
|
20
|
+
id: CoID<InboxRoot>;
|
21
|
+
inviteLink: `${CoID<MessagesStream>}/inviteSecret_z${string}`;
|
22
|
+
};
|
23
|
+
type InboxMessage<I extends CoValue, O extends CoValue | undefined> = RawCoMap<{
|
24
|
+
payload: ID<I>;
|
25
|
+
result: ID<O> | undefined;
|
26
|
+
processed: boolean;
|
27
|
+
error: string | undefined;
|
28
|
+
}>;
|
29
|
+
export declare class Inbox {
|
30
|
+
account: Account;
|
31
|
+
messages: MessagesStream;
|
32
|
+
processed: TxKeyStream;
|
33
|
+
failed: FailedMessagesStream;
|
34
|
+
root: InboxRoot;
|
35
|
+
processing: Set<`${import("cojson").RawAccountID}_session_z${string}/${number}` | `sealer_z${string}/signer_z${string}_session_z${string}/${number}`>;
|
36
|
+
private constructor();
|
37
|
+
subscribe<I extends CoValue, O extends CoValue | undefined>(Schema: CoValueClass<I>, callback: (message: I, senderAccountID: ID<Account>) => Promise<O | undefined | void>, options?: {
|
38
|
+
retries?: number;
|
39
|
+
}): () => void;
|
40
|
+
static load(account: Account): Promise<Inbox>;
|
41
|
+
}
|
42
|
+
export declare class InboxSender<I extends CoValue, O extends CoValue | undefined> {
|
43
|
+
currentAccount: Account;
|
44
|
+
owner: RawAccount;
|
45
|
+
messages: MessagesStream;
|
46
|
+
private constructor();
|
47
|
+
getOwnerAccount(): RawAccount<import("cojson").AccountMeta>;
|
48
|
+
sendMessage(message: I): Promise<O extends CoValue ? ID<O> : undefined>;
|
49
|
+
static load<I extends CoValue, O extends CoValue | undefined = undefined>(inboxOwnerID: ID<Account>, currentAccount?: Account): Promise<InboxSender<I, O>>;
|
50
|
+
}
|
51
|
+
export {};
|
52
|
+
//# sourceMappingURL=inbox.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/coValues/inbox.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
import type { CoValueUniqueness, CojsonInternalTypes, RawCoValue } from "cojson";
|
2
|
+
import { AnonymousJazzAgent } from "../implementation/anonymousJazzAgent.js";
|
3
|
+
import type { DeeplyLoaded, DepthsIn } from "../internal.js";
|
4
|
+
import { inspect } from "../internal.js";
|
5
|
+
import { type Account } from "./account.js";
|
6
|
+
import { type Group } from "./group.js";
|
7
|
+
/** @category Abstract interfaces */
|
8
|
+
export interface CoValueClass<Value extends CoValue = CoValue> {
|
9
|
+
/** @ignore */
|
10
|
+
new (...args: any[]): Value;
|
11
|
+
}
|
12
|
+
export interface CoValueFromRaw<V extends CoValue> {
|
13
|
+
fromRaw(raw: V["_raw"]): V;
|
14
|
+
}
|
15
|
+
/** @category Abstract interfaces */
|
16
|
+
export interface CoValue {
|
17
|
+
/** @category Content */
|
18
|
+
readonly id: ID<this>;
|
19
|
+
/** @category Type Helpers */
|
20
|
+
_type: string;
|
21
|
+
/** @category Collaboration */
|
22
|
+
_owner: Account | Group;
|
23
|
+
/** @category Internals */
|
24
|
+
_raw: RawCoValue;
|
25
|
+
/** @internal */
|
26
|
+
readonly _loadedAs: Account | AnonymousJazzAgent;
|
27
|
+
/** @category Stringifying & Inspection */
|
28
|
+
toJSON(key?: string, seenAbove?: ID<CoValue>[]): any[] | object | string;
|
29
|
+
/** @category Stringifying & Inspection */
|
30
|
+
[inspect](): any;
|
31
|
+
}
|
32
|
+
export declare function isCoValue(value: any): value is CoValue;
|
33
|
+
export declare function isCoValueClass<V extends CoValue>(value: any): value is CoValueClass<V> & CoValueFromRaw<V>;
|
34
|
+
/**
|
35
|
+
* IDs are unique identifiers for `CoValue`s.
|
36
|
+
* Can be used with a type argument to refer to a specific `CoValue` type.
|
37
|
+
*
|
38
|
+
* @example
|
39
|
+
*
|
40
|
+
* ```ts
|
41
|
+
* type AccountID = ID<Account>;
|
42
|
+
* ```
|
43
|
+
*
|
44
|
+
* @category CoValues
|
45
|
+
*/
|
46
|
+
export type ID<T> = CojsonInternalTypes.RawCoID & IDMarker<T>;
|
47
|
+
type IDMarker<out T> = {
|
48
|
+
__type(_: never): T;
|
49
|
+
};
|
50
|
+
/** @internal */
|
51
|
+
export declare class CoValueBase implements CoValue {
|
52
|
+
id: ID<this>;
|
53
|
+
_type: string;
|
54
|
+
_raw: RawCoValue;
|
55
|
+
/** @category Internals */
|
56
|
+
_instanceID: string;
|
57
|
+
get _owner(): Account | Group;
|
58
|
+
/** @private */
|
59
|
+
get _loadedAs(): Account | AnonymousJazzAgent;
|
60
|
+
constructor(..._args: any);
|
61
|
+
/** @category Internals */
|
62
|
+
static fromRaw<V extends CoValue>(this: CoValueClass<V>, raw: RawCoValue): V;
|
63
|
+
toJSON(): object | any[] | string;
|
64
|
+
[inspect](): string | object | any[];
|
65
|
+
/** @category Type Helpers */
|
66
|
+
castAs<Cl extends CoValueClass & CoValueFromRaw<CoValue>>(cl: Cl): InstanceType<Cl>;
|
67
|
+
}
|
68
|
+
export declare function loadCoValueWithoutMe<V extends CoValue, Depth>(cls: CoValueClass<V>, id: ID<CoValue>, asOrDepth: Account | AnonymousJazzAgent | (Depth & DepthsIn<V>), depth?: Depth & DepthsIn<V>): Promise<DeeplyLoaded<V, Depth> | undefined>;
|
69
|
+
export declare function loadCoValue<V extends CoValue, Depth>(cls: CoValueClass<V>, id: ID<CoValue>, as: Account | AnonymousJazzAgent, depth: Depth & DepthsIn<V>): Promise<DeeplyLoaded<V, Depth> | undefined>;
|
70
|
+
export declare function ensureCoValueLoaded<V extends CoValue, Depth>(existing: V, depth: Depth & DepthsIn<V>): Promise<DeeplyLoaded<V, Depth>>;
|
71
|
+
export declare function subscribeToCoValueWithoutMe<V extends CoValue, Depth>(cls: CoValueClass<V>, id: ID<CoValue>, asOrDepth: Account | AnonymousJazzAgent | (Depth & DepthsIn<V>), depthOrListener: (Depth & DepthsIn<V>) | ((value: DeeplyLoaded<V, Depth>) => void), listener?: (value: DeeplyLoaded<V, Depth>) => void): () => void;
|
72
|
+
export declare function subscribeToCoValue<V extends CoValue, Depth>(cls: CoValueClass<V>, id: ID<CoValue>, as: Account | AnonymousJazzAgent, depth: Depth & DepthsIn<V>, listener: (value: DeeplyLoaded<V, Depth>, unsubscribe: () => void) => void, onUnavailable?: () => void, syncResolution?: boolean): () => void;
|
73
|
+
export declare function createCoValueObservable<V extends CoValue, Depth>(options?: {
|
74
|
+
syncResolution?: boolean;
|
75
|
+
}): {
|
76
|
+
getCurrentValue: () => DeeplyLoaded<V, Depth> | null | undefined;
|
77
|
+
subscribe: (cls: CoValueClass<V>, id: ID<CoValue>, as: Account | AnonymousJazzAgent, depth: Depth & DepthsIn<V>, listener: () => void, onUnavailable?: () => void) => () => void;
|
78
|
+
};
|
79
|
+
export declare function subscribeToExistingCoValue<V extends CoValue, Depth>(existing: V, depth: Depth & DepthsIn<V>, listener: (value: DeeplyLoaded<V, Depth>) => void): () => void;
|
80
|
+
export declare function isAccountInstance(instance: unknown): instance is Account;
|
81
|
+
export declare function isAnonymousAgentInstance(instance: unknown): instance is AnonymousJazzAgent;
|
82
|
+
export declare function parseCoValueCreateOptions(options: {
|
83
|
+
owner?: Account | Group;
|
84
|
+
unique?: CoValueUniqueness["uniqueness"];
|
85
|
+
} | Account | Group | undefined): {
|
86
|
+
owner: Account | Group;
|
87
|
+
uniqueness: {
|
88
|
+
uniqueness: string | number | true | import("cojson").JsonObject | import("cojson").JsonValue[] | readonly import("cojson").JsonValue[];
|
89
|
+
} | undefined;
|
90
|
+
};
|
91
|
+
export declare function parseGroupCreateOptions(options: {
|
92
|
+
owner?: Account;
|
93
|
+
} | Account | undefined): {
|
94
|
+
owner: Account;
|
95
|
+
};
|
96
|
+
export {};
|
97
|
+
//# sourceMappingURL=interfaces.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/coValues/interfaces.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { CoID } from "cojson";
|
2
|
+
import { CoValueClass, co } from "../internal.js";
|
3
|
+
import { CoMap, CoMapInit, Simplify } from "./coMap.js";
|
4
|
+
import { Group } from "./group.js";
|
5
|
+
import { InboxRoot } from "./inbox.js";
|
6
|
+
/** @category Identity & Permissions */
|
7
|
+
export declare class Profile extends CoMap {
|
8
|
+
name: co<string>;
|
9
|
+
inbox: co<CoID<InboxRoot> | undefined>;
|
10
|
+
inboxInvite: co<`${CoID<import("cojson").RawCoStream<CoID<import("cojson").RawCoMap<{
|
11
|
+
payload: import("./interfaces.js").ID<import("./interfaces.js").CoValue>;
|
12
|
+
result: import("./interfaces.js").ID<any> | undefined;
|
13
|
+
processed: boolean;
|
14
|
+
error: string | undefined;
|
15
|
+
}, import("cojson").JsonObject | null>>, import("cojson").JsonObject | null>>}/inviteSecret_z${string}` | undefined>;
|
16
|
+
get _owner(): Group;
|
17
|
+
/**
|
18
|
+
* Creates a new profile with the given initial values and owner.
|
19
|
+
*
|
20
|
+
* The owner (a Group) determines access rights to the Profile.
|
21
|
+
*
|
22
|
+
* @category Creation
|
23
|
+
*/
|
24
|
+
static create<M extends CoMap>(this: CoValueClass<M>, init: Simplify<CoMapInit<M>>, options?: {
|
25
|
+
owner: Group;
|
26
|
+
} | Group): M;
|
27
|
+
}
|
28
|
+
//# sourceMappingURL=profile.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../src/coValues/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAe,SAAS,EAAE,MAAM,YAAY,CAAC;AAEpD,uCAAuC;AACvC,qBAAa,OAAQ,SAAQ,KAAK;IAChC,IAAI,aAAa;IACjB,KAAK,kCAAuC;IAC5C,WAAW;;;;;yHAAmC;IAE9C,IAAa,MAAM,IAAI,KAAK,CAE3B;IAED;;;;;;OAMG;WACa,MAAM,CAAC,CAAC,SAAS,KAAK,EACpC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EACrB,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC5B,OAAO,CAAC,EACJ;QACE,KAAK,EAAE,KAAK,CAAC;KACd,GACD,KAAK;CAYZ"}
|