@ceramicnetwork/stream-model 1.19.0 → 1.20.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/lib/codecs.d.ts CHANGED
@@ -5,6 +5,7 @@ export declare type SchemaType = JSONSchema.Boolean | JSONSchema.Integer | JSONS
5
5
  export declare function createSchemaType<T extends SchemaType>(type: T['type'], name: string): Type<T>;
6
6
  export declare const ObjectSchema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
7
7
  export declare type ObjectSchema = TypeOf<typeof ObjectSchema>;
8
+ export declare const optionalModelString: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
8
9
  export declare const ModelMetadata: import("codeco").ExactCodec<import("codeco").TypeCodec<{
9
10
  controller: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string & import("ts-essentials").WithOpaque<"DIDString">>;
10
11
  model: Type<import("streamid/lib").StreamID, Uint8Array, Uint8Array>;
@@ -16,6 +17,19 @@ export declare const ModelAccountRelation: import("codeco").UnionCodec<[import("
16
17
  type: import("codeco").LiteralCodec<"single">;
17
18
  }>>]>;
18
19
  export declare type ModelAccountRelation = TypeOf<typeof ModelAccountRelation>;
20
+ export declare const ModelAccountRelationV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
21
+ type: import("codeco").LiteralCodec<"list">;
22
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
23
+ type: import("codeco").LiteralCodec<"single">;
24
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
25
+ type: import("codeco").LiteralCodec<"none">;
26
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
27
+ type: import("codeco").LiteralCodec<"set">;
28
+ fields: import("codeco").Codec<string[], string[], unknown> & {
29
+ item: import("codeco").TrivialCodec<string>;
30
+ };
31
+ }>>]>;
32
+ export declare type ModelAccountRelationV2 = TypeOf<typeof ModelAccountRelationV2>;
19
33
  export declare const ModelRelationDefinition: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
20
34
  type: import("codeco").LiteralCodec<"account">;
21
35
  }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
@@ -23,6 +37,13 @@ export declare const ModelRelationDefinition: import("codeco").UnionCodec<[impor
23
37
  model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
24
38
  }>>]>;
25
39
  export declare type ModelRelationDefinition = TypeOf<typeof ModelRelationDefinition>;
40
+ export declare const ModelRelationDefinitionV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
41
+ type: import("codeco").LiteralCodec<"account">;
42
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
43
+ type: import("codeco").LiteralCodec<"document">;
44
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
45
+ }>>]>;
46
+ export declare type ModelRelationDefinitionV2 = TypeOf<typeof ModelRelationDefinitionV2>;
26
47
  export declare const ModelRelationsDefinition: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
27
48
  type: import("codeco").LiteralCodec<"account">;
28
49
  }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
@@ -30,6 +51,13 @@ export declare const ModelRelationsDefinition: import("codeco").NonEnumerableRec
30
51
  model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
31
52
  }>>]>>;
32
53
  export declare type ModelRelationsDefinition = TypeOf<typeof ModelRelationsDefinition>;
54
+ export declare const ModelRelationsDefinitionV2: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
55
+ type: import("codeco").LiteralCodec<"account">;
56
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
57
+ type: import("codeco").LiteralCodec<"document">;
58
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
59
+ }>>]>>;
60
+ export declare type ModelRelationsDefinitionV2 = TypeOf<typeof ModelRelationsDefinitionV2>;
33
61
  export declare const ModelDocumentMetadataViewDefinition: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
34
62
  type: import("codeco").LiteralCodec<"documentAccount">;
35
63
  }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
@@ -50,6 +78,20 @@ export declare const ModelRelationViewDefinition: import("codeco").UnionCodec<[i
50
78
  property: import("codeco").TrivialCodec<string>;
51
79
  }>>]>;
52
80
  export declare type ModelRelationViewDefinition = TypeOf<typeof ModelRelationViewDefinition>;
81
+ export declare const ModelRelationViewDefinitionV2: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
82
+ type: import("codeco").LiteralCodec<"relationDocument">;
83
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
84
+ property: import("codeco").TrivialCodec<string>;
85
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
86
+ type: import("codeco").LiteralCodec<"relationFrom">;
87
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
88
+ property: import("codeco").TrivialCodec<string>;
89
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
90
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
91
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
92
+ property: import("codeco").TrivialCodec<string>;
93
+ }>>]>;
94
+ export declare type ModelRelationViewDefinitionV2 = TypeOf<typeof ModelRelationViewDefinitionV2>;
53
95
  export declare const ModelViewDefinition: import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
54
96
  type: import("codeco").LiteralCodec<"documentAccount">;
55
97
  }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
@@ -68,6 +110,24 @@ export declare const ModelViewDefinition: import("codeco").UnionCodec<[import("c
68
110
  property: import("codeco").TrivialCodec<string>;
69
111
  }>>]>]>;
70
112
  export declare type ModelViewDefinition = TypeOf<typeof ModelViewDefinition>;
113
+ export declare const ModelViewDefinitionV2: import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
114
+ type: import("codeco").LiteralCodec<"documentAccount">;
115
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
116
+ type: import("codeco").LiteralCodec<"documentVersion">;
117
+ }>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
118
+ type: import("codeco").LiteralCodec<"relationDocument">;
119
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
120
+ property: import("codeco").TrivialCodec<string>;
121
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
122
+ type: import("codeco").LiteralCodec<"relationFrom">;
123
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
124
+ property: import("codeco").TrivialCodec<string>;
125
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
126
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
127
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
128
+ property: import("codeco").TrivialCodec<string>;
129
+ }>>]>]>;
130
+ export declare type ModelViewDefinitionV2 = TypeOf<typeof ModelViewDefinitionV2>;
71
131
  export declare const ModelViewsDefinition: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
72
132
  type: import("codeco").LiteralCodec<"documentAccount">;
73
133
  }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
@@ -86,8 +146,26 @@ export declare const ModelViewsDefinition: import("codeco").NonEnumerableRecordC
86
146
  property: import("codeco").TrivialCodec<string>;
87
147
  }>>]>]>>;
88
148
  export declare type ModelViewsDefinition = TypeOf<typeof ModelViewsDefinition>;
89
- export declare const ModelDefinition: import("codeco").SparseCodec<{
90
- version: import("codeco").TrivialCodec<string>;
149
+ export declare const ModelViewsDefinitionV2: import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
150
+ type: import("codeco").LiteralCodec<"documentAccount">;
151
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
152
+ type: import("codeco").LiteralCodec<"documentVersion">;
153
+ }>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
154
+ type: import("codeco").LiteralCodec<"relationDocument">;
155
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
156
+ property: import("codeco").TrivialCodec<string>;
157
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
158
+ type: import("codeco").LiteralCodec<"relationFrom">;
159
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
160
+ property: import("codeco").TrivialCodec<string>;
161
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
162
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
163
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
164
+ property: import("codeco").TrivialCodec<string>;
165
+ }>>]>]>>;
166
+ export declare type ModelViewsDefinitionV2 = TypeOf<typeof ModelViewsDefinitionV2>;
167
+ export declare const ModelDefinitionV1: import("codeco").SparseCodec<{
168
+ version: import("codeco").LiteralCodec<"1.0">;
91
169
  name: import("codeco").TrivialCodec<string>;
92
170
  description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
93
171
  schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
@@ -120,5 +198,130 @@ export declare const ModelDefinition: import("codeco").SparseCodec<{
120
198
  property: import("codeco").TrivialCodec<string>;
121
199
  }>>]>]>>>;
122
200
  }>;
201
+ export declare type ModelDefinitionV1 = TypeOf<typeof ModelDefinitionV1>;
202
+ export declare const ModelDefinitionV2: import("codeco").SparseCodec<{
203
+ version: import("codeco").LiteralCodec<"2.0">;
204
+ name: import("codeco").TrivialCodec<string>;
205
+ description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
206
+ interface: import("codeco").TrivialCodec<boolean>;
207
+ implements: import("codeco").Codec<string[], string[], unknown> & {
208
+ item: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
209
+ };
210
+ schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
211
+ accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
212
+ type: import("codeco").LiteralCodec<"list">;
213
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
214
+ type: import("codeco").LiteralCodec<"single">;
215
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
216
+ type: import("codeco").LiteralCodec<"none">;
217
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
218
+ type: import("codeco").LiteralCodec<"set">;
219
+ fields: import("codeco").Codec<string[], string[], unknown> & {
220
+ item: import("codeco").TrivialCodec<string>;
221
+ };
222
+ }>>]>;
223
+ relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
224
+ type: import("codeco").LiteralCodec<"account">;
225
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
226
+ type: import("codeco").LiteralCodec<"document">;
227
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
228
+ }>>]>>>;
229
+ views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
230
+ type: import("codeco").LiteralCodec<"documentAccount">;
231
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
232
+ type: import("codeco").LiteralCodec<"documentVersion">;
233
+ }>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
234
+ type: import("codeco").LiteralCodec<"relationDocument">;
235
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
236
+ property: import("codeco").TrivialCodec<string>;
237
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
238
+ type: import("codeco").LiteralCodec<"relationFrom">;
239
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
240
+ property: import("codeco").TrivialCodec<string>;
241
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
242
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
243
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
244
+ property: import("codeco").TrivialCodec<string>;
245
+ }>>]>]>>>;
246
+ }>;
247
+ export declare type ModelDefinitionV2 = TypeOf<typeof ModelDefinitionV2>;
248
+ export declare const ModelDefinition: import("codeco").UnionCodec<[import("codeco").SparseCodec<{
249
+ version: import("codeco").LiteralCodec<"1.0">;
250
+ name: import("codeco").TrivialCodec<string>;
251
+ description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
252
+ schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
253
+ accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
254
+ type: import("codeco").LiteralCodec<"list">;
255
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
256
+ type: import("codeco").LiteralCodec<"single">;
257
+ }>>]>;
258
+ relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
259
+ type: import("codeco").LiteralCodec<"account">;
260
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
261
+ type: import("codeco").LiteralCodec<"document">;
262
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
263
+ }>>]>>>;
264
+ views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
265
+ type: import("codeco").LiteralCodec<"documentAccount">;
266
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
267
+ type: import("codeco").LiteralCodec<"documentVersion">;
268
+ }>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
269
+ type: import("codeco").LiteralCodec<"relationDocument">;
270
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
271
+ property: import("codeco").TrivialCodec<string>;
272
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
273
+ type: import("codeco").LiteralCodec<"relationFrom">;
274
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
275
+ property: import("codeco").TrivialCodec<string>;
276
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
277
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
278
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
279
+ property: import("codeco").TrivialCodec<string>;
280
+ }>>]>]>>>;
281
+ }>, import("codeco").SparseCodec<{
282
+ version: import("codeco").LiteralCodec<"2.0">;
283
+ name: import("codeco").TrivialCodec<string>;
284
+ description: import("codeco").OptionalCodec<import("codeco").TrivialCodec<string>>;
285
+ interface: import("codeco").TrivialCodec<boolean>;
286
+ implements: import("codeco").Codec<string[], string[], unknown> & {
287
+ item: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
288
+ };
289
+ schema: Type<JSONSchema.Object<any>, JSONSchema.Object<any>, unknown>;
290
+ accountRelation: import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
291
+ type: import("codeco").LiteralCodec<"list">;
292
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
293
+ type: import("codeco").LiteralCodec<"single">;
294
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
295
+ type: import("codeco").LiteralCodec<"none">;
296
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
297
+ type: import("codeco").LiteralCodec<"set">;
298
+ fields: import("codeco").Codec<string[], string[], unknown> & {
299
+ item: import("codeco").TrivialCodec<string>;
300
+ };
301
+ }>>]>;
302
+ relations: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
303
+ type: import("codeco").LiteralCodec<"account">;
304
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
305
+ type: import("codeco").LiteralCodec<"document">;
306
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
307
+ }>>]>>>;
308
+ views: import("codeco").OptionalCodec<import("codeco").NonEnumerableRecordCodec<import("codeco").TrivialCodec<string>, import("codeco").UnionCodec<[import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
309
+ type: import("codeco").LiteralCodec<"documentAccount">;
310
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
311
+ type: import("codeco").LiteralCodec<"documentVersion">;
312
+ }>>]>, import("codeco").UnionCodec<[import("codeco").ExactCodec<import("codeco").TypeCodec<{
313
+ type: import("codeco").LiteralCodec<"relationDocument">;
314
+ model: import("codeco").UnionCodec<[import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>, import("codeco").TrivialCodec<null>]>;
315
+ property: import("codeco").TrivialCodec<string>;
316
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
317
+ type: import("codeco").LiteralCodec<"relationFrom">;
318
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
319
+ property: import("codeco").TrivialCodec<string>;
320
+ }>>, import("codeco").ExactCodec<import("codeco").TypeCodec<{
321
+ type: import("codeco").LiteralCodec<"relationCountFrom">;
322
+ model: import("codeco").RefinementCodec<import("codeco").TrivialCodec<string>, string>;
323
+ property: import("codeco").TrivialCodec<string>;
324
+ }>>]>]>>>;
325
+ }>]>;
123
326
  export declare type ModelDefinition = TypeOf<typeof ModelDefinition>;
124
327
  //# sourceMappingURL=codecs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,IAAI,EACJ,KAAK,MAAM,EASZ,MAAM,QAAQ,CAAA;AACf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAWjE,YAAY,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AAEjE,oBAAY,UAAU,GAClB,UAAU,CAAC,OAAO,GAClB,UAAU,CAAC,OAAO,GAClB,UAAU,CAAC,MAAM,GACjB,UAAU,CAAC,MAAM,GACjB,UAAU,CAAC,KAAK,GAChB,UAAU,CAAC,MAAM,CAAA;AAErB,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAuB7F;AAED,eAAO,MAAM,YAAY,+DAAgE,CAAA;AACzF,oBAAY,YAAY,GAAG,MAAM,CAAC,OAAO,YAAY,CAAC,CAAA;AAKtD,eAAO,MAAM,aAAa;;;GAczB,CAAA;AACD,oBAAY,aAAa,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAA;AAQxD,eAAO,MAAM,oBAAoB;;;;KAGhC,CAAA;AACD,oBAAY,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAUtE,eAAO,MAAM,uBAAuB;;;;;KAMnC,CAAA;AACD,oBAAY,uBAAuB,GAAG,MAAM,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAO5E,eAAO,MAAM,wBAAwB;;;;;MAIpC,CAAA;AACD,oBAAY,wBAAwB,GAAG,MAAM,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE9E,eAAO,MAAM,mCAAmC;;;;KAG/C,CAAA;AACD,oBAAY,mCAAmC,GAAG,MAAM,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAEpG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;KAOvC,CAAA;AACD,oBAAY,2BAA2B,GAAG,MAAM,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAepF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;OAG/B,CAAA;AACD,oBAAY,mBAAmB,GAAG,MAAM,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAOpE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;QAA6D,CAAA;AAC9F,oBAAY,oBAAoB,GAAG,MAAM,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAKtE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AACD,oBAAY,eAAe,GAAG,MAAM,CAAC,OAAO,eAAe,CAAC,CAAA"}
1
+ {"version":3,"file":"codecs.d.ts","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
package/lib/codecs.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { didString, streamIdAsBytes, streamIdString } from '@ceramicnetwork/codecs';
2
2
  import Ajv from 'ajv/dist/2020.js';
3
3
  import addFormats from 'ajv-formats';
4
- import { Type, identity, literal, optional, record, sparse, strict, string, union, } from 'codeco';
4
+ import { Type, identity, literal, nullCodec, optional, record, sparse, strict, string, union, array, boolean, } from 'codeco';
5
5
  const ajv = new Ajv({
6
6
  strict: true,
7
7
  allErrors: true,
@@ -26,31 +26,62 @@ export function createSchemaType(type, name) {
26
26
  }, identity);
27
27
  }
28
28
  export const ObjectSchema = createSchemaType('object', 'ObjectSchema');
29
+ export const optionalModelString = union([streamIdString, nullCodec]);
29
30
  export const ModelMetadata = strict({
30
31
  controller: didString,
31
32
  model: streamIdAsBytes,
32
33
  }, 'ModelMetadata');
33
34
  export const ModelAccountRelation = union([strict({ type: literal('list') }), strict({ type: literal('single') })], 'ModelAccountRelation');
35
+ export const ModelAccountRelationV2 = union([
36
+ strict({ type: literal('list') }),
37
+ strict({ type: literal('single') }),
38
+ strict({ type: literal('none') }),
39
+ strict({ type: literal('set'), fields: array(string) }),
40
+ ], 'ModelAccountRelationV2');
34
41
  export const ModelRelationDefinition = union([
35
42
  strict({ type: literal('account') }),
36
43
  strict({ type: literal('document'), model: streamIdString }),
37
44
  ], 'ModelRelationDefinition');
45
+ export const ModelRelationDefinitionV2 = union([
46
+ strict({ type: literal('account') }),
47
+ strict({ type: literal('document'), model: optionalModelString }),
48
+ ], 'ModelRelationDefinitionV2');
38
49
  export const ModelRelationsDefinition = record(string, ModelRelationDefinition, 'ModelRelationsDefinition');
50
+ export const ModelRelationsDefinitionV2 = record(string, ModelRelationDefinitionV2, 'ModelRelationsDefinitionV2');
39
51
  export const ModelDocumentMetadataViewDefinition = union([strict({ type: literal('documentAccount') }), strict({ type: literal('documentVersion') })], 'ModelDocumentMetadataViewDefinition');
40
52
  export const ModelRelationViewDefinition = union([
41
53
  strict({ type: literal('relationDocument'), model: streamIdString, property: string }),
42
54
  strict({ type: literal('relationFrom'), model: streamIdString, property: string }),
43
55
  strict({ type: literal('relationCountFrom'), model: streamIdString, property: string }),
44
56
  ], 'ModelRelationViewDefinition');
57
+ export const ModelRelationViewDefinitionV2 = union([
58
+ strict({ type: literal('relationDocument'), model: optionalModelString, property: string }),
59
+ strict({ type: literal('relationFrom'), model: streamIdString, property: string }),
60
+ strict({ type: literal('relationCountFrom'), model: streamIdString, property: string }),
61
+ ], 'ModelRelationViewDefinitionV2');
45
62
  export const ModelViewDefinition = union([ModelDocumentMetadataViewDefinition, ModelRelationViewDefinition], 'ModelViewDefinition');
63
+ export const ModelViewDefinitionV2 = union([ModelDocumentMetadataViewDefinition, ModelRelationViewDefinitionV2], 'ModelViewDefinitionV2');
46
64
  export const ModelViewsDefinition = record(string, ModelViewDefinition, 'ModelViewDefinition');
47
- export const ModelDefinition = sparse({
48
- version: string,
65
+ export const ModelViewsDefinitionV2 = record(string, ModelViewDefinitionV2, 'ModelViewDefinitionV2');
66
+ export const ModelDefinitionV1 = sparse({
67
+ version: literal('1.0'),
49
68
  name: string,
50
69
  description: optional(string),
51
70
  schema: ObjectSchema,
52
71
  accountRelation: ModelAccountRelation,
53
72
  relations: optional(ModelRelationsDefinition),
54
73
  views: optional(ModelViewsDefinition),
55
- }, 'ModelDefinition');
74
+ }, 'ModelDefinitionV1');
75
+ export const ModelDefinitionV2 = sparse({
76
+ version: literal('2.0'),
77
+ name: string,
78
+ description: optional(string),
79
+ interface: boolean,
80
+ implements: array(streamIdString),
81
+ schema: ObjectSchema,
82
+ accountRelation: ModelAccountRelationV2,
83
+ relations: optional(ModelRelationsDefinitionV2),
84
+ views: optional(ModelViewsDefinitionV2),
85
+ }, 'ModelDefinitionV2');
86
+ export const ModelDefinition = union([ModelDefinitionV1, ModelDefinitionV2], 'ModelDefinition');
56
87
  //# sourceMappingURL=codecs.js.map
package/lib/codecs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codecs.js","sourceRoot":"","sources":["../src/codecs.ts"],"names":[],"mappings":"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"}
package/lib/model.d.ts CHANGED
@@ -1,6 +1,10 @@
1
- import { LoadOpts, Stream, CeramicApi } from '@ceramicnetwork/common';
1
+ import { LoadOpts, Stream, CeramicApi, CeramicCoreApi } from '@ceramicnetwork/common';
2
2
  import { CommitID, StreamID } from '@ceramicnetwork/streamid';
3
3
  import { ModelDefinition, type ModelMetadata } from './codecs.js';
4
+ export declare type LoaderApi = CeramicApi | CeramicCoreApi;
5
+ export declare type LoadingInterfaceImplements = Record<string, Promise<Array<string>>>;
6
+ export declare function loadInterfaceImplements(loader: LoaderApi, modelID: string): Promise<Array<string>>;
7
+ export declare function loadAllModelInterfaces(loader: LoaderApi, interfaces: Array<string>, loading?: LoadingInterfaceImplements): Promise<Array<string>>;
4
8
  export declare const MODEL_VERSION_REGEXP: RegExp;
5
9
  export declare function parseModelVersion(version: string): [number, number];
6
10
  export interface ModelMetadataArgs {
@@ -11,7 +15,7 @@ export declare class Model extends Stream {
11
15
  static STREAM_TYPE_NAME: string;
12
16
  static STREAM_TYPE_ID: number;
13
17
  static readonly MODEL: StreamID;
14
- static readonly VERSION = "1.0";
18
+ static readonly VERSION = "2.0";
15
19
  private _isReadOnly;
16
20
  get content(): ModelDefinition;
17
21
  get metadata(): ModelMetadata;
@@ -19,7 +23,7 @@ export declare class Model extends Stream {
19
23
  static assertComplete(content: ModelDefinition, _streamId?: StreamID | CommitID | string): void;
20
24
  static assertVersionValid(content: ModelDefinition, satisfies?: ValidVersionSatisfies): void;
21
25
  static assertRelationsValid(content: ModelDefinition): void;
22
- static load(ceramic: CeramicApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>;
26
+ static load(ceramic: LoaderApi, streamId: StreamID | CommitID | string, opts?: LoadOpts): Promise<Model>;
23
27
  private static _makeGenesis;
24
28
  private static _makeRawGenesis;
25
29
  makeReadOnly(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,UAAU,EAIX,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AAQxE,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAA4B,MAAM,aAAa,CAAA;AAE3F,eAAO,MAAM,oBAAoB,QAAqB,CAAA;AAEtD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnE;AAKD,MAAM,WAAW,iBAAiB;IAIhC,UAAU,EAAE,MAAM,CAAA;CACnB;AA2BD,oBAAY,qBAAqB,GAAG,OAAO,GAAG,OAAO,CAAA;AAKrD,qBACa,KAAM,SAAQ,MAAM;IAC/B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAKzB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAM3B;IAEJ,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAQ;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,eAAe,CAE7B;IAED,IAAI,QAAQ,IAAI,aAAa,CAK5B;WAQY,MAAM,CACjB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,KAAK,CAAC;IAmBjB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAS/F,MAAM,CAAC,kBAAkB,CACvB,OAAO,EAAE,eAAe,EACxB,SAAS,GAAE,qBAA+B,GACzC,IAAI;IAkBP,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe;WAYvC,IAAI,CACf,OAAO,EAAE,UAAU,EACnB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC;mBAsBI,YAAY;mBAYZ,eAAe;IAgCpC,YAAY;IAKZ,IAAI,UAAU,IAAI,OAAO,CAExB;mBAQoB,WAAW;CAOjC"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,QAAQ,EACR,MAAM,EAMN,UAAU,EAIV,cAAc,EACf,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAa,MAAM,0BAA0B,CAAA;AAQxE,OAAO,EAAE,eAAe,EAAE,KAAK,aAAa,EAA4B,MAAM,aAAa,CAAA;AAE3F,oBAAY,SAAS,GAAG,UAAU,GAAG,cAAc,CAAA;AAEnD,oBAAY,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;AAS/E,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAMxB;AAWD,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EACzB,OAAO,GAAE,0BAA+B,GACvC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAcxB;AAED,eAAO,MAAM,oBAAoB,QAAqB,CAAA;AAEtD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnE;AAKD,MAAM,WAAW,iBAAiB;IAIhC,UAAU,EAAE,MAAM,CAAA;CACnB;AA2BD,oBAAY,qBAAqB,GAAG,OAAO,GAAG,OAAO,CAAA;AAKrD,qBACa,KAAM,SAAQ,MAAM;IAC/B,MAAM,CAAC,gBAAgB,SAAU;IACjC,MAAM,CAAC,cAAc,SAAI;IAKzB,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAM3B;IAEJ,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAQ;IAE/B,OAAO,CAAC,WAAW,CAAQ;IAE3B,IAAI,OAAO,IAAI,eAAe,CAE7B;IAED,IAAI,QAAQ,IAAI,aAAa,CAK5B;WAQY,MAAM,CACjB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,eAAe,EACxB,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,KAAK,CAAC;IAmBjB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI;IAS/F,MAAM,CAAC,kBAAkB,CACvB,OAAO,EAAE,eAAe,EACxB,SAAS,GAAE,qBAA+B,GACzC,IAAI;IAqBP,MAAM,CAAC,oBAAoB,CAAC,OAAO,EAAE,eAAe;WAYvC,IAAI,CACf,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,EACtC,IAAI,GAAE,QAAa,GAClB,OAAO,CAAC,KAAK,CAAC;mBAsBI,YAAY;mBAYZ,eAAe;IAgCpC,YAAY;IAKZ,IAAI,UAAU,IAAI,OAAO,CAExB;mBAQoB,WAAW;CAOjC"}
package/lib/model.js CHANGED
@@ -14,6 +14,27 @@ import { identity } from 'multiformats/hashes/identity';
14
14
  import { asDIDString } from '@ceramicnetwork/codecs';
15
15
  import { decode } from 'codeco';
16
16
  import { ModelDefinition, ModelRelationsDefinition } from './codecs.js';
17
+ export async function loadInterfaceImplements(loader, modelID) {
18
+ const model = await Model.load(loader, modelID);
19
+ if (model.content.version === '1.0' || !model.content.interface) {
20
+ throw new Error(`Model ${modelID} is not an interface`);
21
+ }
22
+ return model.content.implements ?? [];
23
+ }
24
+ export async function loadAllModelInterfaces(loader, interfaces, loading = {}) {
25
+ const toLoad = interfaces.map((modelID) => {
26
+ if (loading[modelID] == null) {
27
+ loading[modelID] = loadInterfaceImplements(loader, modelID).then((ownImplements) => {
28
+ return loadAllModelInterfaces(loader, ownImplements, loading).then((subImplements) => {
29
+ return [...ownImplements, ...subImplements];
30
+ });
31
+ });
32
+ }
33
+ return loading[modelID];
34
+ });
35
+ const loaded = await Promise.all(toLoad);
36
+ return Array.from(new Set(interfaces.concat(loaded.flat())));
37
+ }
17
38
  export const MODEL_VERSION_REGEXP = /^[0-9]+\.[0-9]+$/;
18
39
  export function parseModelVersion(version) {
19
40
  if (!MODEL_VERSION_REGEXP.test(version)) {
@@ -52,8 +73,8 @@ let Model = Model_1 = class Model extends Stream {
52
73
  };
53
74
  }
54
75
  static async create(ceramic, content, metadata) {
55
- Model_1.assertComplete(content);
56
76
  Model_1.assertVersionValid(content, 'minor');
77
+ Model_1.assertComplete(content);
57
78
  const opts = {
58
79
  publish: true,
59
80
  anchor: true,
@@ -67,6 +88,9 @@ let Model = Model_1 = class Model extends Stream {
67
88
  decode(ModelDefinition, content);
68
89
  }
69
90
  static assertVersionValid(content, satisfies = 'minor') {
91
+ if (content.version == null) {
92
+ throw new Error(`Missing version for model ${content.name}`);
93
+ }
70
94
  const [expectedMajor, expectedMinor] = parseModelVersion(Model_1.VERSION);
71
95
  const [major, minor] = parseModelVersion(content.version);
72
96
  if (major > expectedMajor ||
@@ -133,7 +157,7 @@ Model.MODEL = (function () {
133
157
  const cid = CID.createV1(code, digest);
134
158
  return new StreamID('UNLOADABLE', cid);
135
159
  })();
136
- Model.VERSION = '1.0';
160
+ Model.VERSION = '2.0';
137
161
  Model = Model_1 = __decorate([
138
162
  StreamStatic()
139
163
  ], Model);
package/lib/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAGL,MAAM,EAEN,YAAY,EACZ,WAAW,GAOZ,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAY,QAAQ,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAE/B,OAAO,EAAE,eAAe,EAAsB,wBAAwB,EAAE,MAAM,aAAa,CAAA;AAE3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAA;AAEtD,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;QACvC,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,EAAE,CAAC,CAAA;KAC1D;IACD,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;IAC3E,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AACvB,CAAC;AAYD,MAAM,iBAAiB,GAAG,EAAE,IAAI,EAAE,WAAW,CAAC,YAAY,EAAE,CAAA;AAE5D,KAAK,UAAU,oBAAoB,CAAC,MAAqB;IACvD,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE;QACtB,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;KACnC;IACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,CAAA;QAC/B,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,CAAC,cAAc,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,4BAA4B,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAA;SAC9F;KACF;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB;IAC/B,MAAM,IAAI,KAAK,CACb,4GAA4G,CAC7G,CAAA;AACH,CAAC;AAaD,IAAa,KAAK,aAAlB,MAAa,KAAM,SAAQ,MAAM;IAAjC;;QAiBU,gBAAW,GAAG,KAAK,CAAA;IAgL7B,CAAC;IA9KC,IAAI,OAAO;QACT,OAAO,KAAK,CAAC,OAAO,CAAA;IACtB,CAAC;IAED,IAAI,QAAQ;QACV,OAAO;YACL,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAClE,KAAK,EAAE,OAAK,CAAC,KAAK;SACnB,CAAA;IACH,CAAC;IAQD,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,OAAmB,EACnB,OAAwB,EACxB,QAA4B;QAE5B,OAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QAC7B,OAAK,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAE1C,MAAM,IAAI,GAAe;YACvB,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,WAAW,CAAC,UAAU;SAC7B,CAAA;QACD,MAAM,MAAM,GAAG,MAAM,OAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAQ,OAAK,CAAC,cAAc,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;QAC9F,OAAO,KAAK,CAAA;IACd,CAAC;IAOD,MAAM,CAAC,cAAc,CAAC,OAAwB,EAAE,SAAwC;QACtF,MAAM,CAAC,eAAe,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;IAOD,MAAM,CAAC,kBAAkB,CACvB,OAAwB,EACxB,YAAmC,OAAO;QAE1C,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,iBAAiB,CAAC,OAAK,CAAC,OAAO,CAAC,CAAA;QACvE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,iBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEzD,IACE,KAAK,GAAG,aAAa;YACrB,CAAC,SAAS,KAAK,OAAO,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,GAAG,aAAa,CAAC,EAC3E;YACA,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,OAAO,cAAc,OAAO,CAAC,IAAI,0DAA0D,OAAK,CAAC,OAAO,oFAAoF,OAAO,CAAC,OAAO,2BAA2B,CACtQ,CAAA;SACF;IACH,CAAC;IAMD,MAAM,CAAC,oBAAoB,CAAC,OAAwB;QAClD,IAAI,OAAO,CAAC,SAAS,IAAI,IAAI,EAAE;YAC7B,MAAM,CAAC,wBAAwB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;SACpD;IACH,CAAC;IAQD,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,OAAmB,EACnB,QAAsC,EACtC,OAAiB,EAAE;QAEnB,IAAI,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,IAAI,EAAE,CAAA;QAExC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1C,IAAI,SAAS,CAAC,IAAI,IAAI,OAAK,CAAC,cAAc,EAAE;YAC1C,MAAM,IAAI,KAAK,CACb,YAAY,SAAS,CAAC,QAAQ,EAAE,yBAC9B,OAAK,CAAC,gBACR,sBAAsB,SAAS,CAAC,QAAQ,EAAE,CAC3C,CAAA;SACF;QAED,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,UAAU,CAAQ,SAAS,EAAE,IAAI,CAAC,CAAA;QAC9D,OAAO,KAAK,CAAA;IACd,CAAC;IAQO,MAAM,CAAC,KAAK,CAAC,YAAY,CAC/B,MAAqB,EACrB,OAAiC,EACjC,QAA4B;QAE5B,MAAM,MAAM,GAAkB,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnF,OAAO,OAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC1C,CAAC;IAKO,MAAM,CAAC,KAAK,CAAC,eAAe,CAClC,MAAqB,EACrB,OAAiC,EACjC,QAA4B;QAE5B,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;SAClD;QAED,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YACrC,IAAI,MAAM,CAAC,GAAG,EAAE;gBACd,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;gBAGlC,QAAQ,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;aACpF;iBAAM;gBACL,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAA;aAC3C;SACF;QAED,MAAM,MAAM,GAAkB;YAC5B,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAClC,KAAK,EAAE,OAAK,CAAC,KAAK,CAAC,KAAK;YACxB,GAAG,EAAE,OAAO;SACb,CAAA;QACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAA;IAClC,CAAC;IAMD,YAAY;QACV,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAA;QAC9B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;IACzB,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAQO,MAAM,CAAC,KAAK,CAAC,WAAW,CAC9B,MAAqB,EACrB,MAAqB;QAErB,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAA;QAClC,OAAO,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;CACF,CAAA;AAhMQ,sBAAgB,GAAG,OAAO,CAAA;AAC1B,oBAAc,GAAG,CAAC,CAAA;AAKT,WAAK,GAAa,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA;IAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;IACtC,OAAO,IAAI,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC,CAAC,EAAE,CAAA;AAEY,aAAO,GAAG,KAAK,CAAA;AAfpB,KAAK;IADjB,YAAY,EAA4B;GAC5B,KAAK,CAiMjB;SAjMY,KAAK"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ceramicnetwork/stream-model",
3
- "version": "1.19.0",
3
+ "version": "1.20.0",
4
4
  "description": "Ceramic Model stream type",
5
5
  "keywords": [
6
6
  "ceramic",
@@ -37,8 +37,8 @@
37
37
  "clean": "npx rimraf ./lib"
38
38
  },
39
39
  "dependencies": {
40
- "@ceramicnetwork/codecs": "^1.12.0",
41
- "@ceramicnetwork/common": "^2.37.0",
40
+ "@ceramicnetwork/codecs": "^1.13.0",
41
+ "@ceramicnetwork/common": "^2.38.0",
42
42
  "@ceramicnetwork/streamid": "^2.17.0",
43
43
  "@ipld/dag-cbor": "^7.0.0",
44
44
  "@stablelib/random": "^1.0.1",
@@ -53,5 +53,5 @@
53
53
  "devDependencies": {
54
54
  "json-schema-typed": "^8.0.1"
55
55
  },
56
- "gitHead": "56c28f3d50bc67eef211144917c819f61a1584a7"
56
+ "gitHead": "764642281cdbe508ddd28af358d7a37f14c0b801"
57
57
  }