@dxos/echo 0.8.4-main.a4bbb77 → 0.8.4-main.ae835ea
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/lib/browser/chunk-JUTFUT73.mjs +175 -0
- package/dist/lib/browser/chunk-JUTFUT73.mjs.map +7 -0
- package/dist/lib/browser/chunk-KEBVBR65.mjs +3727 -0
- package/dist/lib/browser/chunk-KEBVBR65.mjs.map +7 -0
- package/dist/lib/browser/{chunk-I4YEWYJA.mjs → chunk-WO76TDT6.mjs} +572 -640
- package/dist/lib/browser/chunk-WO76TDT6.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +12 -7
- package/dist/lib/browser/internal/index.mjs +336 -0
- package/dist/lib/browser/internal/index.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/query/index.mjs +15 -0
- package/dist/lib/browser/query/index.mjs.map +7 -0
- package/dist/lib/browser/testing/index.mjs +245 -32
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs +3727 -0
- package/dist/lib/node-esm/chunk-DWZYQ2UR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-KBD3A2I6.mjs +175 -0
- package/dist/lib/node-esm/chunk-KBD3A2I6.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-AWWFAF75.mjs → chunk-ZSSII3JW.mjs} +572 -640
- package/dist/lib/node-esm/chunk-ZSSII3JW.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +12 -7
- package/dist/lib/node-esm/internal/index.mjs +336 -0
- package/dist/lib/node-esm/internal/index.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/query/index.mjs +15 -0
- package/dist/lib/node-esm/query/index.mjs.map +7 -0
- package/dist/lib/node-esm/testing/index.mjs +245 -32
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/Obj.d.ts +16 -4
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +1 -1
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +2 -2
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +16 -17
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/ast/annotation-helper.d.ts +8 -0
- package/dist/types/src/internal/ast/annotation-helper.d.ts.map +1 -0
- package/dist/types/src/internal/ast/annotations.d.ts +131 -0
- package/dist/types/src/internal/ast/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/ast/annotations.test.d.ts +2 -0
- package/dist/types/src/internal/ast/annotations.test.d.ts.map +1 -0
- package/dist/types/src/internal/ast/entity-kind.d.ts +10 -0
- package/dist/types/src/internal/ast/entity-kind.d.ts.map +1 -0
- package/dist/types/src/internal/ast/index.d.ts +5 -0
- package/dist/types/src/internal/ast/index.d.ts.map +1 -0
- package/dist/types/src/internal/ast/types.d.ts +6 -0
- package/dist/types/src/internal/ast/types.d.ts.map +1 -0
- package/dist/types/src/internal/formats/date.d.ts +63 -0
- package/dist/types/src/internal/formats/date.d.ts.map +1 -0
- package/dist/types/src/internal/formats/date.test.d.ts +2 -0
- package/dist/types/src/internal/formats/date.test.d.ts.map +1 -0
- package/dist/types/src/internal/formats/format.d.ts +30 -0
- package/dist/types/src/internal/formats/format.d.ts.map +1 -0
- package/dist/types/src/internal/formats/format.test.d.ts +2 -0
- package/dist/types/src/internal/formats/format.test.d.ts.map +1 -0
- package/dist/types/src/internal/formats/index.d.ts +8 -0
- package/dist/types/src/internal/formats/index.d.ts.map +1 -0
- package/dist/types/src/internal/formats/number.d.ts +31 -0
- package/dist/types/src/internal/formats/number.d.ts.map +1 -0
- package/dist/types/src/internal/formats/object.d.ts +35 -0
- package/dist/types/src/internal/formats/object.d.ts.map +1 -0
- package/dist/types/src/internal/formats/select.d.ts +11 -0
- package/dist/types/src/internal/formats/select.d.ts.map +1 -0
- package/dist/types/src/internal/formats/string.d.ts +38 -0
- package/dist/types/src/internal/formats/string.d.ts.map +1 -0
- package/dist/types/src/internal/formats/types.d.ts +68 -0
- package/dist/types/src/internal/formats/types.d.ts.map +1 -0
- package/dist/types/src/internal/index.d.ts +15 -0
- package/dist/types/src/internal/index.d.ts.map +1 -0
- package/dist/types/src/internal/json/annotations.d.ts +19 -0
- package/dist/types/src/internal/json/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/json/effect-schema.test.d.ts +2 -0
- package/dist/types/src/internal/json/effect-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/json/index.d.ts +2 -0
- package/dist/types/src/internal/json/index.d.ts.map +1 -0
- package/dist/types/src/internal/json/json-schema.d.ts +28 -0
- package/dist/types/src/internal/json/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/json/json-schema.test.d.ts +2 -0
- package/dist/types/src/internal/json/json-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/index.d.ts +3 -0
- package/dist/types/src/internal/json-schema/index.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts +7 -0
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts +250 -0
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -0
- package/dist/types/src/internal/object/accessors.d.ts +37 -0
- package/dist/types/src/internal/object/accessors.d.ts.map +1 -0
- package/dist/types/src/internal/object/common.d.ts +18 -0
- package/dist/types/src/internal/object/common.d.ts.map +1 -0
- package/dist/types/src/internal/object/create.d.ts +40 -0
- package/dist/types/src/internal/object/create.d.ts.map +1 -0
- package/dist/types/src/internal/object/create.test.d.ts +2 -0
- package/dist/types/src/internal/object/create.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/deleted.d.ts +6 -0
- package/dist/types/src/internal/object/deleted.d.ts.map +1 -0
- package/dist/types/src/internal/object/entity.d.ts +33 -0
- package/dist/types/src/internal/object/entity.d.ts.map +1 -0
- package/dist/types/src/internal/object/expando.d.ts +14 -0
- package/dist/types/src/internal/object/expando.d.ts.map +1 -0
- package/dist/types/src/internal/object/ids.d.ts +6 -0
- package/dist/types/src/internal/object/ids.d.ts.map +1 -0
- package/dist/types/src/internal/object/index.d.ts +16 -0
- package/dist/types/src/internal/object/index.d.ts.map +1 -0
- package/dist/types/src/internal/object/inspect.d.ts +2 -0
- package/dist/types/src/internal/object/inspect.d.ts.map +1 -0
- package/dist/types/src/internal/object/json-serializer.d.ts +32 -0
- package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/object/json-serializer.test.d.ts +2 -0
- package/dist/types/src/internal/object/json-serializer.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/meta.d.ts +31 -0
- package/dist/types/src/internal/object/meta.d.ts.map +1 -0
- package/dist/types/src/internal/object/model.d.ts +117 -0
- package/dist/types/src/internal/object/model.d.ts.map +1 -0
- package/dist/types/src/internal/object/relation.d.ts +17 -0
- package/dist/types/src/internal/object/relation.d.ts.map +1 -0
- package/dist/types/src/internal/object/schema-validator.d.ts +15 -0
- package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/object/schema-validator.test.d.ts +2 -0
- package/dist/types/src/internal/object/schema-validator.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/typed-object.d.ts +31 -0
- package/dist/types/src/internal/object/typed-object.d.ts.map +1 -0
- package/dist/types/src/internal/object/typed-object.test.d.ts +2 -0
- package/dist/types/src/internal/object/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/typename.d.ts +15 -0
- package/dist/types/src/internal/object/typename.d.ts.map +1 -0
- package/dist/types/src/internal/object/version.d.ts +14 -0
- package/dist/types/src/internal/object/version.d.ts.map +1 -0
- package/dist/types/src/internal/projection/compose.d.ts +6 -0
- package/dist/types/src/internal/projection/compose.d.ts.map +1 -0
- package/dist/types/src/internal/projection/compose.test.d.ts +2 -0
- package/dist/types/src/internal/projection/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/projection/index.d.ts +2 -0
- package/dist/types/src/internal/projection/index.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/handler.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/reactive-object.d.ts +15 -0
- package/dist/types/src/internal/proxy/reactive-object.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/schema.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts +44 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-object.test.d.ts +2 -0
- package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/query/index.d.ts +2 -0
- package/dist/types/src/internal/query/index.d.ts.map +1 -0
- package/dist/types/src/internal/query/query.d.ts +17 -0
- package/dist/types/src/internal/query/query.d.ts.map +1 -0
- package/dist/types/src/internal/ref/index.d.ts +3 -0
- package/dist/types/src/internal/ref/index.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref-array.d.ts +21 -0
- package/dist/types/src/internal/ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref.d.ts +206 -0
- package/dist/types/src/internal/ref/ref.d.ts.map +1 -0
- package/dist/types/src/internal/ref/ref.test.d.ts +2 -0
- package/dist/types/src/internal/ref/ref.test.d.ts.map +1 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts +168 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -0
- package/dist/types/src/internal/schema/index.d.ts +7 -0
- package/dist/types/src/internal/schema/index.d.ts.map +1 -0
- package/dist/types/src/internal/schema/manipulation.d.ts +10 -0
- package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -0
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +18 -0
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -0
- package/dist/types/src/internal/schema/snapshot.d.ts +6 -0
- package/dist/types/src/internal/schema/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/schema/stored-schema.d.ts +13 -0
- package/dist/types/src/internal/schema/stored-schema.d.ts.map +1 -0
- package/dist/types/src/internal/testing/index.d.ts +3 -0
- package/dist/types/src/internal/testing/index.d.ts.map +1 -0
- package/dist/types/src/internal/testing/types.d.ts +455 -0
- package/dist/types/src/internal/testing/types.d.ts.map +1 -0
- package/dist/types/src/internal/testing/utils.d.ts +10 -0
- package/dist/types/src/internal/testing/utils.d.ts.map +1 -0
- package/dist/types/src/internal/types/index.d.ts +3 -0
- package/dist/types/src/internal/types/index.d.ts.map +1 -0
- package/dist/types/src/internal/types/types.d.ts +79 -0
- package/dist/types/src/internal/types/types.d.ts.map +1 -0
- package/dist/types/src/internal/types/types.test.d.ts +2 -0
- package/dist/types/src/internal/types/types.test.d.ts.map +1 -0
- package/dist/types/src/internal/types/util.d.ts +5 -0
- package/dist/types/src/internal/types/util.d.ts.map +1 -0
- package/dist/types/src/query/index.d.ts +2 -1
- package/dist/types/src/query/index.d.ts.map +1 -1
- package/dist/types/src/query/{dsl.d.ts → query.d.ts} +24 -21
- package/dist/types/src/query/query.d.ts.map +1 -0
- package/dist/types/src/query/query.test.d.ts +2 -0
- package/dist/types/src/query/query.test.d.ts.map +1 -0
- package/dist/types/src/query/tag.d.ts +17 -0
- package/dist/types/src/query/tag.d.ts.map +1 -0
- package/dist/types/src/testing/echo-schema.d.ts +7 -0
- package/dist/types/src/testing/echo-schema.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/types.d.ts +18 -18
- package/dist/types/src/testing/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +27 -16
- package/src/Obj.ts +40 -10
- package/src/Ref.ts +1 -2
- package/src/Relation.ts +4 -3
- package/src/Type.ts +28 -29
- package/src/index.ts +2 -2
- package/src/internal/ast/annotation-helper.ts +22 -0
- package/src/internal/ast/annotations.test.ts +98 -0
- package/src/internal/ast/annotations.ts +226 -0
- package/src/internal/ast/entity-kind.ts +15 -0
- package/src/internal/ast/index.ts +8 -0
- package/src/internal/ast/types.ts +17 -0
- package/src/internal/formats/date.test.ts +56 -0
- package/src/internal/formats/date.ts +217 -0
- package/src/internal/formats/format.test.ts +77 -0
- package/src/internal/formats/format.ts +52 -0
- package/src/internal/formats/index.ts +12 -0
- package/src/internal/formats/number.ts +89 -0
- package/src/internal/formats/object.ts +80 -0
- package/src/internal/formats/select.ts +16 -0
- package/src/internal/formats/string.ts +76 -0
- package/src/internal/formats/types.ts +175 -0
- package/src/internal/index.ts +22 -0
- package/src/internal/json/annotations.ts +50 -0
- package/src/internal/json/effect-schema.test.ts +143 -0
- package/src/internal/json/index.ts +5 -0
- package/src/internal/json/json-schema.test.ts +857 -0
- package/src/internal/json/json-schema.ts +519 -0
- package/src/internal/json-schema/index.ts +6 -0
- package/src/internal/json-schema/json-schema-normalize.ts +109 -0
- package/src/internal/json-schema/json-schema-type.ts +403 -0
- package/src/internal/object/accessors.ts +153 -0
- package/src/internal/object/common.ts +76 -0
- package/src/internal/object/create.test.ts +118 -0
- package/src/internal/object/create.ts +96 -0
- package/src/internal/object/deleted.ts +19 -0
- package/src/internal/object/entity.ts +248 -0
- package/src/internal/object/expando.ts +21 -0
- package/src/internal/object/ids.ts +12 -0
- package/src/internal/object/index.ts +19 -0
- package/src/internal/object/inspect.ts +48 -0
- package/src/internal/object/json-serializer.test.ts +99 -0
- package/src/internal/object/json-serializer.ts +225 -0
- package/src/internal/object/meta.ts +61 -0
- package/src/internal/object/model.ts +170 -0
- package/src/internal/object/relation.ts +24 -0
- package/src/internal/object/schema-validator.test.ts +186 -0
- package/src/internal/object/schema-validator.ts +241 -0
- package/src/internal/object/typed-object.test.ts +34 -0
- package/src/internal/object/typed-object.ts +88 -0
- package/src/internal/object/typename.ts +61 -0
- package/src/internal/object/version.ts +22 -0
- package/src/internal/projection/compose.test.ts +43 -0
- package/src/internal/projection/compose.ts +36 -0
- package/src/internal/projection/index.ts +5 -0
- package/src/internal/proxy/handler.test.ts +163 -0
- package/src/internal/proxy/reactive-object.ts +108 -0
- package/src/internal/proxy/schema.test.ts +136 -0
- package/src/internal/proxy/typed-handler.test.ts +102 -0
- package/src/internal/proxy/typed-handler.ts +228 -0
- package/src/internal/proxy/typed-object.test.ts +100 -0
- package/src/internal/query/index.ts +5 -0
- package/src/internal/query/query.ts +23 -0
- package/src/internal/ref/index.ts +6 -0
- package/src/internal/ref/ref-array.ts +39 -0
- package/src/internal/ref/ref.test.ts +100 -0
- package/src/internal/ref/ref.ts +521 -0
- package/src/internal/schema/echo-schema.ts +383 -0
- package/src/internal/schema/index.ts +10 -0
- package/src/internal/schema/manipulation.ts +92 -0
- package/src/internal/schema/runtime-schema-registry.ts +78 -0
- package/src/internal/schema/snapshot.ts +25 -0
- package/src/internal/schema/stored-schema.ts +26 -0
- package/src/internal/testing/index.ts +6 -0
- package/src/internal/testing/types.ts +211 -0
- package/src/internal/testing/utils.ts +54 -0
- package/src/internal/types/index.ts +6 -0
- package/src/internal/types/types.test.ts +48 -0
- package/src/internal/types/types.ts +176 -0
- package/src/internal/types/util.ts +9 -0
- package/src/query/index.ts +2 -1
- package/src/query/query.test.ts +401 -0
- package/src/query/{dsl.ts → query.ts} +68 -38
- package/src/query/tag.ts +37 -0
- package/src/test/api.test.ts +2 -2
- package/src/testing/echo-schema.ts +39 -0
- package/src/testing/index.ts +2 -0
- package/src/testing/types.ts +1 -1
- package/dist/lib/browser/chunk-I4YEWYJA.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AWWFAF75.mjs.map +0 -7
- package/dist/types/src/experimental/database.d.ts +0 -8
- package/dist/types/src/experimental/database.d.ts.map +0 -1
- package/dist/types/src/experimental/index.d.ts +0 -1
- package/dist/types/src/experimental/index.d.ts.map +0 -1
- package/dist/types/src/experimental/queue.d.ts +0 -8
- package/dist/types/src/experimental/queue.d.ts.map +0 -1
- package/dist/types/src/experimental/space.d.ts +0 -8
- package/dist/types/src/experimental/space.d.ts.map +0 -1
- package/dist/types/src/query/dsl.d.ts.map +0 -1
- package/dist/types/src/query/dsl.test.d.ts +0 -2
- package/dist/types/src/query/dsl.test.d.ts.map +0 -1
- package/src/experimental/database.ts +0 -11
- package/src/experimental/index.ts +0 -7
- package/src/experimental/queue.ts +0 -11
- package/src/experimental/space.ts +0 -11
- package/src/query/dsl.test.ts +0 -362
|
@@ -1,353 +1,48 @@
|
|
|
1
1
|
import "@dxos/node-std/globals";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
2
|
+
import {
|
|
3
|
+
EchoObject,
|
|
4
|
+
EchoRelation,
|
|
5
|
+
EntityKind,
|
|
6
|
+
EntityKindId,
|
|
7
|
+
Expando,
|
|
8
|
+
Format,
|
|
9
|
+
JsonSchemaType,
|
|
10
|
+
LabelAnnotation,
|
|
11
|
+
MetaId,
|
|
12
|
+
ObjectVersionId,
|
|
13
|
+
Ref,
|
|
14
|
+
RefArray,
|
|
15
|
+
VersionTypeId,
|
|
16
|
+
__export,
|
|
17
|
+
getDescription,
|
|
18
|
+
getLabel,
|
|
19
|
+
getMeta,
|
|
20
|
+
getObjectDXN,
|
|
21
|
+
getSchema,
|
|
22
|
+
getSchemaDXN,
|
|
23
|
+
getSchemaTypename,
|
|
24
|
+
getSchemaVersion,
|
|
25
|
+
getType,
|
|
26
|
+
getTypeAnnotation,
|
|
27
|
+
getTypeReference,
|
|
28
|
+
isDeleted,
|
|
29
|
+
isInstanceOf,
|
|
30
|
+
isMutable,
|
|
31
|
+
live,
|
|
32
|
+
objectFromJSON,
|
|
33
|
+
objectToJSON,
|
|
34
|
+
setDescription,
|
|
35
|
+
setLabel,
|
|
36
|
+
toEffectSchema,
|
|
37
|
+
toJsonSchema
|
|
38
|
+
} from "./chunk-KEBVBR65.mjs";
|
|
30
39
|
|
|
31
|
-
// src/
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
import { SpaceId, ObjectId } from "@dxos/keys";
|
|
38
|
-
|
|
39
|
-
// src/Obj.ts
|
|
40
|
-
var Obj_exports = {};
|
|
41
|
-
__export(Obj_exports, {
|
|
42
|
-
Any: () => Any,
|
|
43
|
-
Meta: () => Meta,
|
|
44
|
-
VersionTypeId: () => VersionTypeId2,
|
|
45
|
-
clone: () => clone,
|
|
46
|
-
compareVersions: () => compareVersions,
|
|
47
|
-
decodeVersion: () => decodeVersion,
|
|
48
|
-
deleteKeys: () => deleteKeys,
|
|
49
|
-
encodeVersion: () => encodeVersion,
|
|
50
|
-
fromJSON: () => fromJSON,
|
|
51
|
-
getDXN: () => getDXN2,
|
|
52
|
-
getKeys: () => getKeys,
|
|
53
|
-
getLabel: () => getLabel2,
|
|
54
|
-
getMeta: () => getMeta3,
|
|
55
|
-
getSchema: () => getSchema2,
|
|
56
|
-
getSnapshot: () => getSnapshot2,
|
|
57
|
-
getTypeDXN: () => getTypeDXN,
|
|
58
|
-
getTypename: () => getTypename2,
|
|
59
|
-
instanceOf: () => instanceOf,
|
|
60
|
-
isDeleted: () => isDeleted2,
|
|
61
|
-
isObject: () => isObject,
|
|
62
|
-
isVersion: () => isVersion,
|
|
63
|
-
make: () => make,
|
|
64
|
-
setLabel: () => setLabel2,
|
|
65
|
-
sort: () => sort,
|
|
66
|
-
sortByLabel: () => sortByLabel,
|
|
67
|
-
sortByTypename: () => sortByTypename,
|
|
68
|
-
toJSON: () => toJSON,
|
|
69
|
-
version: () => version,
|
|
70
|
-
versionValid: () => versionValid
|
|
71
|
-
});
|
|
72
|
-
import { Schema } from "effect";
|
|
73
|
-
import { dual } from "effect/Function";
|
|
74
|
-
import * as EchoSchema2 from "@dxos/echo-schema";
|
|
75
|
-
import { assertArgument, invariant as invariant2 } from "@dxos/invariant";
|
|
76
|
-
import * as LiveObject from "@dxos/live-object";
|
|
77
|
-
import { live } from "@dxos/live-object";
|
|
78
|
-
import { assumeType, deepMapValues } from "@dxos/util";
|
|
79
|
-
|
|
80
|
-
// src/Type.ts
|
|
81
|
-
var Type_exports = {};
|
|
82
|
-
__export(Type_exports, {
|
|
83
|
-
DXN: () => DXN,
|
|
84
|
-
Expando: () => Expando2,
|
|
85
|
-
Format: () => Format,
|
|
86
|
-
JsonSchema: () => JsonSchemaType,
|
|
87
|
-
Kind: () => Kind,
|
|
88
|
-
KindId: () => KindId,
|
|
89
|
-
Obj: () => Obj,
|
|
90
|
-
ObjectId: () => ObjectId2,
|
|
91
|
-
Ref: () => Ref2,
|
|
92
|
-
Relation: () => Relation,
|
|
93
|
-
SpaceId: () => SpaceId2,
|
|
94
|
-
getDXN: () => getDXN,
|
|
95
|
-
getMeta: () => getMeta,
|
|
96
|
-
getTypename: () => getTypename,
|
|
97
|
-
getVersion: () => getVersion,
|
|
98
|
-
isMutable: () => isMutable2,
|
|
99
|
-
toEffectSchema: () => toEffectSchema,
|
|
100
|
-
toJsonSchema: () => toJsonSchema
|
|
101
|
-
});
|
|
102
|
-
import * as EchoSchema from "@dxos/echo-schema";
|
|
103
|
-
import { invariant } from "@dxos/invariant";
|
|
104
|
-
import { SpaceId as SpaceId2, ObjectId as ObjectId2, DXN } from "@dxos/keys";
|
|
105
|
-
import { Format, JsonSchemaType, toEffectSchema, toJsonSchema } from "@dxos/echo-schema";
|
|
106
|
-
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Type.ts";
|
|
107
|
-
var KindId = EchoSchema.EntityKindId;
|
|
108
|
-
var Kind = EchoSchema.EntityKind;
|
|
109
|
-
var Obj = EchoSchema.EchoObject;
|
|
110
|
-
var Expando2 = EchoSchema.Expando;
|
|
111
|
-
var Relation = EchoSchema.EchoRelation;
|
|
112
|
-
var Ref2 = EchoSchema.Ref;
|
|
113
|
-
var getDXN = (schema) => {
|
|
114
|
-
return EchoSchema.getSchemaDXN(schema);
|
|
115
|
-
};
|
|
116
|
-
var getTypename = (schema) => {
|
|
117
|
-
const typename = EchoSchema.getSchemaTypename(schema);
|
|
118
|
-
invariant(typeof typename === "string" && !typename.startsWith("dxn:"), "Invalid typename", {
|
|
119
|
-
F: __dxlog_file,
|
|
120
|
-
L: 212,
|
|
121
|
-
S: void 0,
|
|
122
|
-
A: [
|
|
123
|
-
"typeof typename === 'string' && !typename.startsWith('dxn:')",
|
|
124
|
-
"'Invalid typename'"
|
|
125
|
-
]
|
|
126
|
-
});
|
|
127
|
-
return typename;
|
|
128
|
-
};
|
|
129
|
-
var getVersion = (schema) => {
|
|
130
|
-
const version2 = EchoSchema.getSchemaVersion(schema);
|
|
131
|
-
invariant(typeof version2 === "string" && version2.match(/^\d+\.\d+\.\d+$/), "Invalid version", {
|
|
132
|
-
F: __dxlog_file,
|
|
133
|
-
L: 222,
|
|
134
|
-
S: void 0,
|
|
135
|
-
A: [
|
|
136
|
-
"typeof version === 'string' && version.match(/^\\d+\\.\\d+\\.\\d+$/)",
|
|
137
|
-
"'Invalid version'"
|
|
138
|
-
]
|
|
139
|
-
});
|
|
140
|
-
return version2;
|
|
141
|
-
};
|
|
142
|
-
var isMutable2 = EchoSchema.isMutable;
|
|
143
|
-
var getMeta = (schema) => {
|
|
144
|
-
return EchoSchema.getTypeAnnotation(schema);
|
|
145
|
-
};
|
|
146
|
-
|
|
147
|
-
// src/Obj.ts
|
|
148
|
-
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/Obj.ts";
|
|
149
|
-
var Any = Schema.Struct({}).pipe(Obj({
|
|
150
|
-
typename: "dxos.org/types/Any",
|
|
151
|
-
version: "0.1.0"
|
|
152
|
-
}));
|
|
153
|
-
var Meta = EchoSchema2.MetaId;
|
|
154
|
-
var make = (schema, props, meta) => {
|
|
155
|
-
assertArgument(EchoSchema2.getTypeAnnotation(schema)?.kind === EchoSchema2.EntityKind.Object, "schema", "Expected an object schema");
|
|
156
|
-
if (props[EchoSchema2.MetaId] != null) {
|
|
157
|
-
meta = props[EchoSchema2.MetaId];
|
|
158
|
-
delete props[EchoSchema2.MetaId];
|
|
159
|
-
}
|
|
160
|
-
return live(schema, props, meta);
|
|
161
|
-
};
|
|
162
|
-
var isObject = (obj) => {
|
|
163
|
-
assumeType(obj);
|
|
164
|
-
return typeof obj === "object" && obj !== null && obj[EchoSchema2.EntityKindId] === EchoSchema2.EntityKind.Object;
|
|
165
|
-
};
|
|
166
|
-
var instanceOf = (...args) => {
|
|
167
|
-
if (args.length === 1) {
|
|
168
|
-
return (obj) => EchoSchema2.isInstanceOf(args[0], obj);
|
|
169
|
-
}
|
|
170
|
-
return EchoSchema2.isInstanceOf(args[0], args[1]);
|
|
171
|
-
};
|
|
172
|
-
var getSchema2 = EchoSchema2.getSchema;
|
|
173
|
-
var getDXN2 = (obj) => {
|
|
174
|
-
assertArgument(!Schema.isSchema(obj), "obj", "Object should not be a schema.");
|
|
175
|
-
const dxn = EchoSchema2.getObjectDXN(obj);
|
|
176
|
-
invariant2(dxn != null, "Invalid object.", {
|
|
177
|
-
F: __dxlog_file2,
|
|
178
|
-
L: 120,
|
|
179
|
-
S: void 0,
|
|
180
|
-
A: [
|
|
181
|
-
"dxn != null",
|
|
182
|
-
"'Invalid object.'"
|
|
183
|
-
]
|
|
184
|
-
});
|
|
185
|
-
return dxn;
|
|
186
|
-
};
|
|
187
|
-
var getTypeDXN = EchoSchema2.getType;
|
|
188
|
-
var getTypename2 = (obj) => {
|
|
189
|
-
const schema = getSchema2(obj);
|
|
190
|
-
if (schema == null) {
|
|
191
|
-
return EchoSchema2.getType(obj)?.asTypeDXN()?.type;
|
|
192
|
-
}
|
|
193
|
-
return EchoSchema2.getSchemaTypename(schema);
|
|
194
|
-
};
|
|
195
|
-
var getMeta3 = (obj) => {
|
|
196
|
-
const meta = EchoSchema2.getMeta(obj);
|
|
197
|
-
invariant2(meta != null, "Invalid object.", {
|
|
198
|
-
F: __dxlog_file2,
|
|
199
|
-
L: 148,
|
|
200
|
-
S: void 0,
|
|
201
|
-
A: [
|
|
202
|
-
"meta != null",
|
|
203
|
-
"'Invalid object.'"
|
|
204
|
-
]
|
|
205
|
-
});
|
|
206
|
-
return meta;
|
|
207
|
-
};
|
|
208
|
-
var getKeys = dual(2, (obj, source) => {
|
|
209
|
-
const meta = EchoSchema2.getMeta(obj);
|
|
210
|
-
invariant2(meta != null, "Invalid object.", {
|
|
211
|
-
F: __dxlog_file2,
|
|
212
|
-
L: 160,
|
|
213
|
-
S: void 0,
|
|
214
|
-
A: [
|
|
215
|
-
"meta != null",
|
|
216
|
-
"'Invalid object.'"
|
|
217
|
-
]
|
|
218
|
-
});
|
|
219
|
-
return meta.keys.filter((key) => key.source === source);
|
|
220
|
-
});
|
|
221
|
-
var deleteKeys = (obj, source) => {
|
|
222
|
-
const meta = EchoSchema2.getMeta(obj);
|
|
223
|
-
for (let i = 0; i < meta.keys.length; i++) {
|
|
224
|
-
if (meta.keys[i].source === source) {
|
|
225
|
-
meta.keys.splice(i, 1);
|
|
226
|
-
i--;
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
};
|
|
230
|
-
var isDeleted2 = (obj) => {
|
|
231
|
-
const deleted = EchoSchema2.isDeleted(obj);
|
|
232
|
-
invariant2(typeof deleted === "boolean", "Invalid object.", {
|
|
233
|
-
F: __dxlog_file2,
|
|
234
|
-
L: 182,
|
|
235
|
-
S: void 0,
|
|
236
|
-
A: [
|
|
237
|
-
"typeof deleted === 'boolean'",
|
|
238
|
-
"'Invalid object.'"
|
|
239
|
-
]
|
|
240
|
-
});
|
|
241
|
-
return deleted;
|
|
242
|
-
};
|
|
243
|
-
var getLabel2 = (obj) => {
|
|
244
|
-
const schema = getSchema2(obj);
|
|
245
|
-
if (schema != null) {
|
|
246
|
-
return EchoSchema2.getLabel(schema, obj);
|
|
247
|
-
}
|
|
248
|
-
};
|
|
249
|
-
var setLabel2 = (obj, label) => {
|
|
250
|
-
const schema = getSchema2(obj);
|
|
251
|
-
if (schema != null) {
|
|
252
|
-
EchoSchema2.setLabel(schema, obj, label);
|
|
253
|
-
}
|
|
254
|
-
};
|
|
255
|
-
var compare = (a, b) => {
|
|
256
|
-
if (a == null) {
|
|
257
|
-
return b == null ? 0 : 1;
|
|
258
|
-
}
|
|
259
|
-
if (b == null) {
|
|
260
|
-
return -1;
|
|
261
|
-
}
|
|
262
|
-
return a.localeCompare(b);
|
|
263
|
-
};
|
|
264
|
-
var sortByLabel = (a, b) => compare(getLabel2(a), getLabel2(b));
|
|
265
|
-
var sortByTypename = (a, b) => compare(getTypename2(a), getTypename2(b));
|
|
266
|
-
var sort = (...comparators) => {
|
|
267
|
-
return (a, b) => {
|
|
268
|
-
for (const comparator of comparators) {
|
|
269
|
-
const result = comparator(a, b);
|
|
270
|
-
if (result !== 0) {
|
|
271
|
-
return result;
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
return 0;
|
|
275
|
-
};
|
|
276
|
-
};
|
|
277
|
-
var toJSON = (obj) => EchoSchema2.objectToJSON(obj);
|
|
278
|
-
var fromJSON = EchoSchema2.objectFromJSON;
|
|
279
|
-
var getSnapshot2 = LiveObject.getSnapshot;
|
|
280
|
-
var clone = (obj, opts) => {
|
|
281
|
-
const { id, ...data } = obj;
|
|
282
|
-
const schema = getSchema2(obj);
|
|
283
|
-
invariant2(schema != null, "Object should have a schema", {
|
|
284
|
-
F: __dxlog_file2,
|
|
285
|
-
L: 275,
|
|
286
|
-
S: void 0,
|
|
287
|
-
A: [
|
|
288
|
-
"schema != null",
|
|
289
|
-
"'Object should have a schema'"
|
|
290
|
-
]
|
|
291
|
-
});
|
|
292
|
-
const props = deepMapValues(data, (value, recurse) => {
|
|
293
|
-
if (EchoSchema2.Ref.isRef(value)) {
|
|
294
|
-
return value;
|
|
295
|
-
}
|
|
296
|
-
return recurse(value);
|
|
297
|
-
});
|
|
298
|
-
if (opts?.retainId) {
|
|
299
|
-
props.id = id;
|
|
300
|
-
}
|
|
301
|
-
const meta = getMeta3(obj);
|
|
302
|
-
props[EchoSchema2.MetaId] = deepMapValues(meta, (value, recurse) => {
|
|
303
|
-
if (EchoSchema2.Ref.isRef(value)) {
|
|
304
|
-
return value;
|
|
305
|
-
}
|
|
306
|
-
return recurse(value);
|
|
307
|
-
});
|
|
308
|
-
return make(schema, props);
|
|
309
|
-
};
|
|
310
|
-
var VersionTypeId2 = EchoSchema2.VersionTypeId;
|
|
311
|
-
var unversioned = {
|
|
312
|
-
[VersionTypeId2]: {},
|
|
313
|
-
versioned: false
|
|
314
|
-
};
|
|
315
|
-
var isVersion = (obj) => {
|
|
316
|
-
return obj != null && typeof obj === "object" && VersionTypeId2 in obj;
|
|
317
|
-
};
|
|
318
|
-
var version = (obj) => {
|
|
319
|
-
const version2 = obj[EchoSchema2.ObjectVersionId];
|
|
320
|
-
if (version2 === void 0) {
|
|
321
|
-
return unversioned;
|
|
322
|
-
}
|
|
323
|
-
return version2;
|
|
324
|
-
};
|
|
325
|
-
var versionValid = (version2) => {
|
|
326
|
-
assertArgument(isVersion(version2), "version", "Invalid version object");
|
|
327
|
-
return !!version2.versioned;
|
|
328
|
-
};
|
|
329
|
-
var compareVersions = (version1, version2) => {
|
|
330
|
-
assertArgument(isVersion(version1), "version1", "Invalid version object");
|
|
331
|
-
assertArgument(isVersion(version2), "version2", "Invalid version object");
|
|
332
|
-
if (!versionValid(version1) || !versionValid(version2)) {
|
|
333
|
-
return "unversioned";
|
|
334
|
-
}
|
|
335
|
-
if (version1.automergeHeads?.length !== version2.automergeHeads?.length) {
|
|
336
|
-
return "different";
|
|
337
|
-
}
|
|
338
|
-
if (version1.automergeHeads?.some((head) => !version2.automergeHeads?.includes(head))) {
|
|
339
|
-
return "different";
|
|
340
|
-
}
|
|
341
|
-
return "equal";
|
|
342
|
-
};
|
|
343
|
-
var encodeVersion = (version2) => {
|
|
344
|
-
return JSON.stringify(version2);
|
|
345
|
-
};
|
|
346
|
-
var decodeVersion = (version2) => {
|
|
347
|
-
const parsed = JSON.parse(version2);
|
|
348
|
-
parsed[VersionTypeId2] = {};
|
|
349
|
-
return parsed;
|
|
350
|
-
};
|
|
40
|
+
// src/query/query.ts
|
|
41
|
+
import * as Match from "effect/Match";
|
|
42
|
+
import * as Schema from "effect/Schema";
|
|
43
|
+
import { raise } from "@dxos/debug";
|
|
44
|
+
import { assertArgument } from "@dxos/invariant";
|
|
45
|
+
import { DXN, ObjectId } from "@dxos/keys";
|
|
351
46
|
|
|
352
47
|
// src/Ref.ts
|
|
353
48
|
var Ref_exports = {};
|
|
@@ -355,160 +50,25 @@ __export(Ref_exports, {
|
|
|
355
50
|
Array: () => Array2,
|
|
356
51
|
fromDXN: () => fromDXN,
|
|
357
52
|
isRef: () => isRef,
|
|
358
|
-
make: () =>
|
|
53
|
+
make: () => make
|
|
359
54
|
});
|
|
360
|
-
|
|
361
|
-
var
|
|
362
|
-
var
|
|
363
|
-
var
|
|
364
|
-
var fromDXN = EchoSchema3.Ref.fromDXN;
|
|
55
|
+
var Array2 = RefArray;
|
|
56
|
+
var isRef = Ref.isRef;
|
|
57
|
+
var make = Ref.make;
|
|
58
|
+
var fromDXN = Ref.fromDXN;
|
|
365
59
|
|
|
366
|
-
// src/
|
|
367
|
-
var Relation_exports = {};
|
|
368
|
-
__export(Relation_exports, {
|
|
369
|
-
Any: () => Any2,
|
|
370
|
-
Source: () => Source,
|
|
371
|
-
Target: () => Target,
|
|
372
|
-
getSource: () => getSource,
|
|
373
|
-
getSourceDXN: () => getSourceDXN,
|
|
374
|
-
getTarget: () => getTarget,
|
|
375
|
-
getTargetDXN: () => getTargetDXN,
|
|
376
|
-
isRelation: () => isRelation,
|
|
377
|
-
make: () => make3
|
|
378
|
-
});
|
|
379
|
-
import { Schema as Schema2 } from "effect";
|
|
380
|
-
import { raise } from "@dxos/debug";
|
|
381
|
-
import * as EchoSchema4 from "@dxos/echo-schema";
|
|
382
|
-
import { assertArgument as assertArgument2, invariant as invariant3 } from "@dxos/invariant";
|
|
383
|
-
import { DXN as DXN2 } from "@dxos/keys";
|
|
384
|
-
import { live as live2 } from "@dxos/live-object";
|
|
385
|
-
import { assumeType as assumeType2 } from "@dxos/util";
|
|
386
|
-
var __dxlog_file3 = "/__w/dxos/dxos/packages/core/echo/echo/src/Relation.ts";
|
|
387
|
-
var Any2 = Schema2.Struct({}).pipe(Relation({
|
|
388
|
-
typename: "dxos.org/types/Any",
|
|
389
|
-
version: "0.1.0",
|
|
390
|
-
source: Any,
|
|
391
|
-
target: Any
|
|
392
|
-
}));
|
|
393
|
-
var Source = EchoSchema4.RelationSourceId;
|
|
394
|
-
var Target = EchoSchema4.RelationTargetId;
|
|
395
|
-
var make3 = (schema, props, meta) => {
|
|
396
|
-
assertArgument2(EchoSchema4.getTypeAnnotation(schema)?.kind === EchoSchema4.EntityKind.Relation, "schema", "Expected a relation schema");
|
|
397
|
-
if (props[EchoSchema4.MetaId] != null) {
|
|
398
|
-
meta = props[EchoSchema4.MetaId];
|
|
399
|
-
delete props[EchoSchema4.MetaId];
|
|
400
|
-
}
|
|
401
|
-
const sourceDXN = EchoSchema4.getObjectDXN(props[Source]) ?? raise(new Error("Unresolved relation source"));
|
|
402
|
-
const targetDXN = EchoSchema4.getObjectDXN(props[Target]) ?? raise(new Error("Unresolved relation target"));
|
|
403
|
-
props[EchoSchema4.RelationSourceDXNId] = sourceDXN;
|
|
404
|
-
props[EchoSchema4.RelationTargetDXNId] = targetDXN;
|
|
405
|
-
return live2(schema, props, meta);
|
|
406
|
-
};
|
|
407
|
-
var isRelation = (value) => {
|
|
408
|
-
if (typeof value !== "object" || value === null) {
|
|
409
|
-
return false;
|
|
410
|
-
}
|
|
411
|
-
if (EchoSchema4.ATTR_RELATION_SOURCE in value || EchoSchema4.ATTR_RELATION_TARGET in value) {
|
|
412
|
-
return true;
|
|
413
|
-
}
|
|
414
|
-
const kind = value[EchoSchema4.EntityKindId];
|
|
415
|
-
return kind === EchoSchema4.EntityKind.Relation;
|
|
416
|
-
};
|
|
417
|
-
var getSourceDXN = (value) => {
|
|
418
|
-
assertArgument2(isRelation(value), "Expected a relation");
|
|
419
|
-
assumeType2(value);
|
|
420
|
-
const dxn = value[EchoSchema4.RelationSourceDXNId];
|
|
421
|
-
invariant3(dxn instanceof DXN2, void 0, {
|
|
422
|
-
F: __dxlog_file3,
|
|
423
|
-
L: 109,
|
|
424
|
-
S: void 0,
|
|
425
|
-
A: [
|
|
426
|
-
"dxn instanceof DXN",
|
|
427
|
-
""
|
|
428
|
-
]
|
|
429
|
-
});
|
|
430
|
-
return dxn;
|
|
431
|
-
};
|
|
432
|
-
var getTargetDXN = (value) => {
|
|
433
|
-
assertArgument2(isRelation(value), "Expected a relation");
|
|
434
|
-
assumeType2(value);
|
|
435
|
-
const dxn = value[EchoSchema4.RelationTargetDXNId];
|
|
436
|
-
invariant3(dxn instanceof DXN2, void 0, {
|
|
437
|
-
F: __dxlog_file3,
|
|
438
|
-
L: 121,
|
|
439
|
-
S: void 0,
|
|
440
|
-
A: [
|
|
441
|
-
"dxn instanceof DXN",
|
|
442
|
-
""
|
|
443
|
-
]
|
|
444
|
-
});
|
|
445
|
-
return dxn;
|
|
446
|
-
};
|
|
447
|
-
var getSource = (relation) => {
|
|
448
|
-
assertArgument2(isRelation(relation), "Expected a relation");
|
|
449
|
-
assumeType2(relation);
|
|
450
|
-
const obj = relation[EchoSchema4.RelationSourceId];
|
|
451
|
-
invariant3(obj !== void 0, `Invalid source: ${relation.id}`, {
|
|
452
|
-
F: __dxlog_file3,
|
|
453
|
-
L: 133,
|
|
454
|
-
S: void 0,
|
|
455
|
-
A: [
|
|
456
|
-
"obj !== undefined",
|
|
457
|
-
"`Invalid source: ${relation.id}`"
|
|
458
|
-
]
|
|
459
|
-
});
|
|
460
|
-
return obj;
|
|
461
|
-
};
|
|
462
|
-
var getTarget = (relation) => {
|
|
463
|
-
assertArgument2(isRelation(relation), "Expected a relation");
|
|
464
|
-
assumeType2(relation);
|
|
465
|
-
const obj = relation[EchoSchema4.RelationTargetId];
|
|
466
|
-
invariant3(obj !== void 0, `Invalid target: ${relation.id}`, {
|
|
467
|
-
F: __dxlog_file3,
|
|
468
|
-
L: 145,
|
|
469
|
-
S: void 0,
|
|
470
|
-
A: [
|
|
471
|
-
"obj !== undefined",
|
|
472
|
-
"`Invalid target: ${relation.id}`"
|
|
473
|
-
]
|
|
474
|
-
});
|
|
475
|
-
return obj;
|
|
476
|
-
};
|
|
477
|
-
|
|
478
|
-
// src/index.ts
|
|
479
|
-
import { DXN as DXN4 } from "@dxos/keys";
|
|
480
|
-
|
|
481
|
-
// src/query/dsl.ts
|
|
482
|
-
import { Match, Schema as Schema3 } from "effect";
|
|
483
|
-
import { raise as raise2 } from "@dxos/debug";
|
|
484
|
-
import { getTypeReference } from "@dxos/echo-schema";
|
|
485
|
-
import { assertArgument as assertArgument3 } from "@dxos/invariant";
|
|
486
|
-
import { DXN as DXN3, ObjectId as ObjectId3 } from "@dxos/keys";
|
|
487
|
-
function _define_property(obj, key, value) {
|
|
488
|
-
if (key in obj) {
|
|
489
|
-
Object.defineProperty(obj, key, {
|
|
490
|
-
value,
|
|
491
|
-
enumerable: true,
|
|
492
|
-
configurable: true,
|
|
493
|
-
writable: true
|
|
494
|
-
});
|
|
495
|
-
} else {
|
|
496
|
-
obj[key] = value;
|
|
497
|
-
}
|
|
498
|
-
return obj;
|
|
499
|
-
}
|
|
60
|
+
// src/query/query.ts
|
|
500
61
|
var OrderClass = class _OrderClass {
|
|
501
|
-
|
|
502
|
-
|
|
62
|
+
ast;
|
|
63
|
+
static variance = {};
|
|
64
|
+
static is(value2) {
|
|
65
|
+
return typeof value2 === "object" && value2 !== null && "~Order" in value2;
|
|
503
66
|
}
|
|
504
67
|
constructor(ast) {
|
|
505
|
-
_define_property(this, "ast", void 0);
|
|
506
|
-
_define_property(this, "~Order", void 0);
|
|
507
68
|
this.ast = ast;
|
|
508
|
-
this["~Order"] = _OrderClass.variance;
|
|
509
69
|
}
|
|
70
|
+
"~Order" = _OrderClass.variance;
|
|
510
71
|
};
|
|
511
|
-
_define_property(OrderClass, "variance", {});
|
|
512
72
|
(function(Order2) {
|
|
513
73
|
Order2.natural = new OrderClass({
|
|
514
74
|
kind: "natural"
|
|
@@ -520,8 +80,13 @@ _define_property(OrderClass, "variance", {});
|
|
|
520
80
|
});
|
|
521
81
|
})(Order || (Order = {}));
|
|
522
82
|
var FilterClass = class _FilterClass {
|
|
523
|
-
|
|
524
|
-
|
|
83
|
+
ast;
|
|
84
|
+
static variance = {};
|
|
85
|
+
static is(value2) {
|
|
86
|
+
return typeof value2 === "object" && value2 !== null && "~Filter" in value2;
|
|
87
|
+
}
|
|
88
|
+
static fromAst(ast) {
|
|
89
|
+
return new _FilterClass(ast);
|
|
525
90
|
}
|
|
526
91
|
static everything() {
|
|
527
92
|
return new _FilterClass({
|
|
@@ -548,7 +113,7 @@ var FilterClass = class _FilterClass {
|
|
|
548
113
|
});
|
|
549
114
|
}
|
|
550
115
|
static ids(...ids) {
|
|
551
|
-
|
|
116
|
+
assertArgument(ids.every((id) => ObjectId.isValid(id)), "ids", "ids must be valid");
|
|
552
117
|
if (ids.length === 0) {
|
|
553
118
|
return Filter.nothing();
|
|
554
119
|
}
|
|
@@ -560,7 +125,7 @@ var FilterClass = class _FilterClass {
|
|
|
560
125
|
});
|
|
561
126
|
}
|
|
562
127
|
static type(schema, props) {
|
|
563
|
-
const dxn =
|
|
128
|
+
const dxn = getTypeDXNFromSpecifier(schema);
|
|
564
129
|
return new _FilterClass({
|
|
565
130
|
type: "object",
|
|
566
131
|
typename: dxn.toString(),
|
|
@@ -568,10 +133,10 @@ var FilterClass = class _FilterClass {
|
|
|
568
133
|
});
|
|
569
134
|
}
|
|
570
135
|
static typename(typename) {
|
|
571
|
-
|
|
136
|
+
assertArgument(!typename.startsWith("dxn:"), "typename", "Typename must no be qualified");
|
|
572
137
|
return new _FilterClass({
|
|
573
138
|
type: "object",
|
|
574
|
-
typename:
|
|
139
|
+
typename: DXN.fromTypename(typename).toString(),
|
|
575
140
|
props: {}
|
|
576
141
|
});
|
|
577
142
|
}
|
|
@@ -603,7 +168,7 @@ var FilterClass = class _FilterClass {
|
|
|
603
168
|
});
|
|
604
169
|
}
|
|
605
170
|
static foreignKeys(schema, keys) {
|
|
606
|
-
const dxn =
|
|
171
|
+
const dxn = getTypeDXNFromSpecifier(schema);
|
|
607
172
|
return new _FilterClass({
|
|
608
173
|
type: "object",
|
|
609
174
|
typename: dxn.toString(),
|
|
@@ -611,49 +176,49 @@ var FilterClass = class _FilterClass {
|
|
|
611
176
|
foreignKeys: keys
|
|
612
177
|
});
|
|
613
178
|
}
|
|
614
|
-
static eq(
|
|
615
|
-
if (!isRef(
|
|
179
|
+
static eq(value2) {
|
|
180
|
+
if (!isRef(value2) && typeof value2 === "object" && value2 !== null) {
|
|
616
181
|
throw new TypeError("Cannot use object as a value for eq filter");
|
|
617
182
|
}
|
|
618
183
|
return new _FilterClass({
|
|
619
184
|
type: "compare",
|
|
620
185
|
operator: "eq",
|
|
621
|
-
value: isRef(
|
|
186
|
+
value: isRef(value2) ? value2.noInline().encode() : value2
|
|
622
187
|
});
|
|
623
188
|
}
|
|
624
|
-
static neq(
|
|
189
|
+
static neq(value2) {
|
|
625
190
|
return new _FilterClass({
|
|
626
191
|
type: "compare",
|
|
627
192
|
operator: "neq",
|
|
628
|
-
value
|
|
193
|
+
value: value2
|
|
629
194
|
});
|
|
630
195
|
}
|
|
631
|
-
static gt(
|
|
196
|
+
static gt(value2) {
|
|
632
197
|
return new _FilterClass({
|
|
633
198
|
type: "compare",
|
|
634
199
|
operator: "gt",
|
|
635
|
-
value
|
|
200
|
+
value: value2
|
|
636
201
|
});
|
|
637
202
|
}
|
|
638
|
-
static gte(
|
|
203
|
+
static gte(value2) {
|
|
639
204
|
return new _FilterClass({
|
|
640
205
|
type: "compare",
|
|
641
206
|
operator: "gte",
|
|
642
|
-
value
|
|
207
|
+
value: value2
|
|
643
208
|
});
|
|
644
209
|
}
|
|
645
|
-
static lt(
|
|
210
|
+
static lt(value2) {
|
|
646
211
|
return new _FilterClass({
|
|
647
212
|
type: "compare",
|
|
648
213
|
operator: "lt",
|
|
649
|
-
value
|
|
214
|
+
value: value2
|
|
650
215
|
});
|
|
651
216
|
}
|
|
652
|
-
static lte(
|
|
217
|
+
static lte(value2) {
|
|
653
218
|
return new _FilterClass({
|
|
654
219
|
type: "compare",
|
|
655
220
|
operator: "lte",
|
|
656
|
-
value
|
|
221
|
+
value: value2
|
|
657
222
|
});
|
|
658
223
|
}
|
|
659
224
|
static in(...values) {
|
|
@@ -662,10 +227,10 @@ var FilterClass = class _FilterClass {
|
|
|
662
227
|
values
|
|
663
228
|
});
|
|
664
229
|
}
|
|
665
|
-
static contains(
|
|
230
|
+
static contains(value2) {
|
|
666
231
|
return new _FilterClass({
|
|
667
232
|
type: "contains",
|
|
668
|
-
value
|
|
233
|
+
value: value2
|
|
669
234
|
});
|
|
670
235
|
}
|
|
671
236
|
static between(from, to) {
|
|
@@ -694,22 +259,19 @@ var FilterClass = class _FilterClass {
|
|
|
694
259
|
});
|
|
695
260
|
}
|
|
696
261
|
constructor(ast) {
|
|
697
|
-
_define_property(this, "ast", void 0);
|
|
698
|
-
_define_property(this, "~Filter", void 0);
|
|
699
262
|
this.ast = ast;
|
|
700
|
-
this["~Filter"] = _FilterClass.variance;
|
|
701
263
|
}
|
|
264
|
+
"~Filter" = _FilterClass.variance;
|
|
702
265
|
};
|
|
703
|
-
_define_property(FilterClass, "variance", {});
|
|
704
266
|
var Filter = FilterClass;
|
|
705
267
|
var propsFilterToAst = (predicates) => {
|
|
706
268
|
let idFilter;
|
|
707
269
|
if ("id" in predicates) {
|
|
708
|
-
|
|
270
|
+
assertArgument(typeof predicates.id === "string" || Array.isArray(predicates.id), "predicates.id", "invalid id filter");
|
|
709
271
|
idFilter = typeof predicates.id === "string" ? [
|
|
710
272
|
predicates.id
|
|
711
273
|
] : predicates.id;
|
|
712
|
-
|
|
274
|
+
Schema.Array(ObjectId).pipe(Schema.validateSync)(idFilter);
|
|
713
275
|
}
|
|
714
276
|
return {
|
|
715
277
|
id: idFilter,
|
|
@@ -728,9 +290,9 @@ var processPredicate = (predicate) => {
|
|
|
728
290
|
throw new Error("Array predicates are not yet supported.");
|
|
729
291
|
}),
|
|
730
292
|
Match.when((predicate2) => !isRef(predicate2) && typeof predicate2 === "object" && predicate2 !== null, (predicate2) => {
|
|
731
|
-
const nestedProps = Object.fromEntries(Object.entries(predicate2).map(([key,
|
|
293
|
+
const nestedProps = Object.fromEntries(Object.entries(predicate2).map(([key, value2]) => [
|
|
732
294
|
key,
|
|
733
|
-
processPredicate(
|
|
295
|
+
processPredicate(value2)
|
|
734
296
|
]));
|
|
735
297
|
return {
|
|
736
298
|
type: "object",
|
|
@@ -738,145 +300,515 @@ var processPredicate = (predicate) => {
|
|
|
738
300
|
props: nestedProps
|
|
739
301
|
};
|
|
740
302
|
}),
|
|
741
|
-
Match.orElse((
|
|
303
|
+
Match.orElse((value2) => Filter.eq(value2).ast)
|
|
742
304
|
);
|
|
743
305
|
};
|
|
744
|
-
var QueryClass = class _QueryClass {
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
306
|
+
var QueryClass = class _QueryClass {
|
|
307
|
+
ast;
|
|
308
|
+
static variance = {};
|
|
309
|
+
static is(value2) {
|
|
310
|
+
return typeof value2 === "object" && value2 !== null && "~Query" in value2;
|
|
311
|
+
}
|
|
312
|
+
static fromAst(ast) {
|
|
313
|
+
return new _QueryClass(ast);
|
|
314
|
+
}
|
|
315
|
+
static select(filter) {
|
|
316
|
+
return new _QueryClass({
|
|
317
|
+
type: "select",
|
|
318
|
+
filter: filter.ast
|
|
319
|
+
});
|
|
320
|
+
}
|
|
321
|
+
static type(schema, predicates) {
|
|
322
|
+
return new _QueryClass({
|
|
323
|
+
type: "select",
|
|
324
|
+
filter: FilterClass.type(schema, predicates).ast
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
static all(...queries) {
|
|
328
|
+
if (queries.length === 0) {
|
|
329
|
+
throw new TypeError("Query.all combines results of multiple queries, to query all objects use Query.select(Filter.everything())");
|
|
330
|
+
}
|
|
331
|
+
return new _QueryClass({
|
|
332
|
+
type: "union",
|
|
333
|
+
queries: queries.map((q) => q.ast)
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
static without(source, exclude) {
|
|
337
|
+
return new _QueryClass({
|
|
338
|
+
type: "set-difference",
|
|
339
|
+
source: source.ast,
|
|
340
|
+
exclude: exclude.ast
|
|
341
|
+
});
|
|
342
|
+
}
|
|
343
|
+
constructor(ast) {
|
|
344
|
+
this.ast = ast;
|
|
345
|
+
}
|
|
346
|
+
"~Query" = _QueryClass.variance;
|
|
347
|
+
select(filter) {
|
|
348
|
+
if (Filter.is(filter)) {
|
|
349
|
+
return new _QueryClass({
|
|
350
|
+
type: "filter",
|
|
351
|
+
selection: this.ast,
|
|
352
|
+
filter: filter.ast
|
|
353
|
+
});
|
|
354
|
+
} else {
|
|
355
|
+
return new _QueryClass({
|
|
356
|
+
type: "filter",
|
|
357
|
+
selection: this.ast,
|
|
358
|
+
filter: FilterClass.props(filter).ast
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
reference(key) {
|
|
363
|
+
return new _QueryClass({
|
|
364
|
+
type: "reference-traversal",
|
|
365
|
+
anchor: this.ast,
|
|
366
|
+
property: key
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
referencedBy(target, key) {
|
|
370
|
+
const dxn = getTypeDXNFromSpecifier(target);
|
|
371
|
+
return new _QueryClass({
|
|
372
|
+
type: "incoming-references",
|
|
373
|
+
anchor: this.ast,
|
|
374
|
+
property: key,
|
|
375
|
+
typename: dxn.toString()
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
sourceOf(relation, predicates) {
|
|
379
|
+
return new _QueryClass({
|
|
380
|
+
type: "relation",
|
|
381
|
+
anchor: this.ast,
|
|
382
|
+
direction: "outgoing",
|
|
383
|
+
filter: FilterClass.type(relation, predicates).ast
|
|
384
|
+
});
|
|
385
|
+
}
|
|
386
|
+
targetOf(relation, predicates) {
|
|
387
|
+
return new _QueryClass({
|
|
388
|
+
type: "relation",
|
|
389
|
+
anchor: this.ast,
|
|
390
|
+
direction: "incoming",
|
|
391
|
+
filter: FilterClass.type(relation, predicates).ast
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
source() {
|
|
395
|
+
return new _QueryClass({
|
|
396
|
+
type: "relation-traversal",
|
|
397
|
+
anchor: this.ast,
|
|
398
|
+
direction: "source"
|
|
399
|
+
});
|
|
400
|
+
}
|
|
401
|
+
target() {
|
|
402
|
+
return new _QueryClass({
|
|
403
|
+
type: "relation-traversal",
|
|
404
|
+
anchor: this.ast,
|
|
405
|
+
direction: "target"
|
|
406
|
+
});
|
|
407
|
+
}
|
|
408
|
+
orderBy(...order) {
|
|
409
|
+
return new _QueryClass({
|
|
410
|
+
type: "order",
|
|
411
|
+
query: this.ast,
|
|
412
|
+
order: order.map((o) => o.ast)
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
options(options) {
|
|
416
|
+
return new _QueryClass({
|
|
417
|
+
type: "options",
|
|
418
|
+
query: this.ast,
|
|
419
|
+
options
|
|
420
|
+
});
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
var Query = QueryClass;
|
|
424
|
+
var getTypeDXNFromSpecifier = (input) => {
|
|
425
|
+
if (Schema.isSchema(input)) {
|
|
426
|
+
return getTypeReference(input)?.toDXN() ?? raise(new TypeError("Schema has no DXN"));
|
|
427
|
+
} else {
|
|
428
|
+
assertArgument(typeof input === "string", "input");
|
|
429
|
+
assertArgument(!input.startsWith("dxn:"), "input");
|
|
430
|
+
return DXN.fromTypename(input);
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
var Order;
|
|
434
|
+
|
|
435
|
+
// src/query/tag.ts
|
|
436
|
+
var tag_exports = {};
|
|
437
|
+
__export(tag_exports, {
|
|
438
|
+
Tag: () => Tag,
|
|
439
|
+
createTagList: () => createTagList,
|
|
440
|
+
findTagByLabel: () => findTagByLabel,
|
|
441
|
+
make: () => make3,
|
|
442
|
+
sortTags: () => sortTags
|
|
443
|
+
});
|
|
444
|
+
import * as Schema3 from "effect/Schema";
|
|
445
|
+
|
|
446
|
+
// src/Obj.ts
|
|
447
|
+
var Obj_exports = {};
|
|
448
|
+
__export(Obj_exports, {
|
|
449
|
+
Any: () => Any,
|
|
450
|
+
Meta: () => Meta,
|
|
451
|
+
VersionTypeId: () => VersionTypeId2,
|
|
452
|
+
clone: () => clone,
|
|
453
|
+
compareVersions: () => compareVersions,
|
|
454
|
+
decodeVersion: () => decodeVersion,
|
|
455
|
+
deleteKeys: () => deleteKeys,
|
|
456
|
+
encodeVersion: () => encodeVersion,
|
|
457
|
+
fromJSON: () => fromJSON,
|
|
458
|
+
getDXN: () => getDXN2,
|
|
459
|
+
getDescription: () => getDescription2,
|
|
460
|
+
getKeys: () => getKeys,
|
|
461
|
+
getLabel: () => getLabel2,
|
|
462
|
+
getMeta: () => getMeta3,
|
|
463
|
+
getSchema: () => getSchema2,
|
|
464
|
+
getSnapshot: () => getSnapshot2,
|
|
465
|
+
getTypeDXN: () => getTypeDXN,
|
|
466
|
+
getTypename: () => getTypename2,
|
|
467
|
+
instanceOf: () => instanceOf,
|
|
468
|
+
isDeleted: () => isDeleted2,
|
|
469
|
+
isObject: () => isObject,
|
|
470
|
+
isVersion: () => isVersion,
|
|
471
|
+
make: () => make2,
|
|
472
|
+
setDescription: () => setDescription2,
|
|
473
|
+
setLabel: () => setLabel2,
|
|
474
|
+
sort: () => sort,
|
|
475
|
+
sortByLabel: () => sortByLabel,
|
|
476
|
+
sortByTypename: () => sortByTypename,
|
|
477
|
+
toJSON: () => toJSON,
|
|
478
|
+
version: () => version,
|
|
479
|
+
versionValid: () => versionValid
|
|
480
|
+
});
|
|
481
|
+
import * as Function from "effect/Function";
|
|
482
|
+
import * as Schema2 from "effect/Schema";
|
|
483
|
+
import { assertArgument as assertArgument2, invariant as invariant2 } from "@dxos/invariant";
|
|
484
|
+
import * as LiveObject from "@dxos/live-object";
|
|
485
|
+
import { assumeType, deepMapValues } from "@dxos/util";
|
|
486
|
+
|
|
487
|
+
// src/Type.ts
|
|
488
|
+
var Type_exports = {};
|
|
489
|
+
__export(Type_exports, {
|
|
490
|
+
DXN: () => DXN2,
|
|
491
|
+
Expando: () => Expando2,
|
|
492
|
+
Format: () => Format,
|
|
493
|
+
JsonSchema: () => JsonSchemaType,
|
|
494
|
+
Kind: () => Kind,
|
|
495
|
+
KindId: () => KindId,
|
|
496
|
+
Obj: () => Obj,
|
|
497
|
+
ObjectId: () => ObjectId2,
|
|
498
|
+
Ref: () => Ref2,
|
|
499
|
+
Relation: () => Relation,
|
|
500
|
+
SpaceId: () => SpaceId,
|
|
501
|
+
getDXN: () => getDXN,
|
|
502
|
+
getMeta: () => getMeta2,
|
|
503
|
+
getTypename: () => getTypename,
|
|
504
|
+
getVersion: () => getVersion,
|
|
505
|
+
isMutable: () => isMutable2,
|
|
506
|
+
toEffectSchema: () => toEffectSchema,
|
|
507
|
+
toJsonSchema: () => toJsonSchema
|
|
508
|
+
});
|
|
509
|
+
import { invariant } from "@dxos/invariant";
|
|
510
|
+
import { SpaceId, ObjectId as ObjectId2, DXN as DXN2 } from "@dxos/keys";
|
|
511
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo/src/Type.ts";
|
|
512
|
+
var KindId = EntityKindId;
|
|
513
|
+
var Kind = EntityKind;
|
|
514
|
+
var Obj = EchoObject;
|
|
515
|
+
var Expando2 = Expando;
|
|
516
|
+
var Relation = EchoRelation;
|
|
517
|
+
var Ref2 = Ref;
|
|
518
|
+
var getDXN = (schema) => {
|
|
519
|
+
return getSchemaDXN(schema);
|
|
520
|
+
};
|
|
521
|
+
var getTypename = (schema) => {
|
|
522
|
+
const typename = getSchemaTypename(schema);
|
|
523
|
+
invariant(typeof typename === "string" && !typename.startsWith("dxn:"), "Invalid typename", {
|
|
524
|
+
F: __dxlog_file,
|
|
525
|
+
L: 211,
|
|
526
|
+
S: void 0,
|
|
527
|
+
A: [
|
|
528
|
+
"typeof typename === 'string' && !typename.startsWith('dxn:')",
|
|
529
|
+
"'Invalid typename'"
|
|
530
|
+
]
|
|
531
|
+
});
|
|
532
|
+
return typename;
|
|
533
|
+
};
|
|
534
|
+
var getVersion = (schema) => {
|
|
535
|
+
const version2 = getSchemaVersion(schema);
|
|
536
|
+
invariant(typeof version2 === "string" && version2.match(/^\d+\.\d+\.\d+$/), "Invalid version", {
|
|
537
|
+
F: __dxlog_file,
|
|
538
|
+
L: 221,
|
|
539
|
+
S: void 0,
|
|
540
|
+
A: [
|
|
541
|
+
"typeof version === 'string' && version.match(/^\\d+\\.\\d+\\.\\d+$/)",
|
|
542
|
+
"'Invalid version'"
|
|
543
|
+
]
|
|
544
|
+
});
|
|
545
|
+
return version2;
|
|
546
|
+
};
|
|
547
|
+
var isMutable2 = isMutable;
|
|
548
|
+
var getMeta2 = (schema) => {
|
|
549
|
+
return getTypeAnnotation(schema);
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
// src/Obj.ts
|
|
553
|
+
var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/Obj.ts";
|
|
554
|
+
var Any = Schema2.Struct({}).pipe(Obj({
|
|
555
|
+
typename: "dxos.org/types/Any",
|
|
556
|
+
version: "0.1.0"
|
|
557
|
+
}));
|
|
558
|
+
var Meta = MetaId;
|
|
559
|
+
var DEFAULT_META = {
|
|
560
|
+
keys: []
|
|
561
|
+
};
|
|
562
|
+
var make2 = (schema, props, meta) => {
|
|
563
|
+
assertArgument2(getTypeAnnotation(schema)?.kind === EntityKind.Object, "schema", "Expected an object schema");
|
|
564
|
+
if (props[MetaId] != null) {
|
|
565
|
+
meta = {
|
|
566
|
+
...structuredClone(DEFAULT_META),
|
|
567
|
+
...props[MetaId]
|
|
568
|
+
};
|
|
569
|
+
delete props[MetaId];
|
|
570
|
+
}
|
|
571
|
+
const filterUndefined = Object.fromEntries(Object.entries(props).filter(([_, v]) => v !== void 0));
|
|
572
|
+
return live(schema, filterUndefined, {
|
|
573
|
+
keys: [],
|
|
574
|
+
...meta
|
|
575
|
+
});
|
|
576
|
+
};
|
|
577
|
+
var isObject = (obj) => {
|
|
578
|
+
assumeType(obj);
|
|
579
|
+
return typeof obj === "object" && obj !== null && obj[EntityKindId] === EntityKind.Object;
|
|
580
|
+
};
|
|
581
|
+
var instanceOf = (...args) => {
|
|
582
|
+
if (args.length === 1) {
|
|
583
|
+
return (obj) => isInstanceOf(args[0], obj);
|
|
756
584
|
}
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
585
|
+
return isInstanceOf(args[0], args[1]);
|
|
586
|
+
};
|
|
587
|
+
var getSchema2 = getSchema;
|
|
588
|
+
var getDXN2 = (obj) => {
|
|
589
|
+
assertArgument2(!Schema2.isSchema(obj), "obj", "Object should not be a schema.");
|
|
590
|
+
const dxn = getObjectDXN(obj);
|
|
591
|
+
invariant2(dxn != null, "Invalid object.", {
|
|
592
|
+
F: __dxlog_file2,
|
|
593
|
+
L: 136,
|
|
594
|
+
S: void 0,
|
|
595
|
+
A: [
|
|
596
|
+
"dxn != null",
|
|
597
|
+
"'Invalid object.'"
|
|
598
|
+
]
|
|
599
|
+
});
|
|
600
|
+
return dxn;
|
|
601
|
+
};
|
|
602
|
+
var getTypeDXN = getType;
|
|
603
|
+
var getTypename2 = (obj) => {
|
|
604
|
+
const schema = getSchema2(obj);
|
|
605
|
+
if (schema == null) {
|
|
606
|
+
return getType(obj)?.asTypeDXN()?.type;
|
|
762
607
|
}
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
608
|
+
return getSchemaTypename(schema);
|
|
609
|
+
};
|
|
610
|
+
var getMeta3 = (obj) => {
|
|
611
|
+
const meta = getMeta(obj);
|
|
612
|
+
invariant2(meta != null, "Invalid object.", {
|
|
613
|
+
F: __dxlog_file2,
|
|
614
|
+
L: 164,
|
|
615
|
+
S: void 0,
|
|
616
|
+
A: [
|
|
617
|
+
"meta != null",
|
|
618
|
+
"'Invalid object.'"
|
|
619
|
+
]
|
|
620
|
+
});
|
|
621
|
+
return meta;
|
|
622
|
+
};
|
|
623
|
+
var getKeys = Function.dual(2, (obj, source) => {
|
|
624
|
+
const meta = getMeta(obj);
|
|
625
|
+
invariant2(meta != null, "Invalid object.", {
|
|
626
|
+
F: __dxlog_file2,
|
|
627
|
+
L: 176,
|
|
628
|
+
S: void 0,
|
|
629
|
+
A: [
|
|
630
|
+
"meta != null",
|
|
631
|
+
"'Invalid object.'"
|
|
632
|
+
]
|
|
633
|
+
});
|
|
634
|
+
return meta.keys.filter((key) => key.source === source);
|
|
635
|
+
});
|
|
636
|
+
var deleteKeys = (obj, source) => {
|
|
637
|
+
const meta = getMeta(obj);
|
|
638
|
+
for (let i = 0; i < meta.keys.length; i++) {
|
|
639
|
+
if (meta.keys[i].source === source) {
|
|
640
|
+
meta.keys.splice(i, 1);
|
|
641
|
+
i--;
|
|
766
642
|
}
|
|
767
|
-
return new _QueryClass({
|
|
768
|
-
type: "union",
|
|
769
|
-
queries: queries.map((q) => q.ast)
|
|
770
|
-
});
|
|
771
643
|
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
644
|
+
};
|
|
645
|
+
var isDeleted2 = (obj) => {
|
|
646
|
+
const deleted = isDeleted(obj);
|
|
647
|
+
invariant2(typeof deleted === "boolean", "Invalid object.", {
|
|
648
|
+
F: __dxlog_file2,
|
|
649
|
+
L: 198,
|
|
650
|
+
S: void 0,
|
|
651
|
+
A: [
|
|
652
|
+
"typeof deleted === 'boolean'",
|
|
653
|
+
"'Invalid object.'"
|
|
654
|
+
]
|
|
655
|
+
});
|
|
656
|
+
return deleted;
|
|
657
|
+
};
|
|
658
|
+
var getLabel2 = (obj) => {
|
|
659
|
+
const schema = getSchema2(obj);
|
|
660
|
+
if (schema != null) {
|
|
661
|
+
return getLabel(schema, obj);
|
|
778
662
|
}
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
filter: filter.ast
|
|
785
|
-
});
|
|
786
|
-
} else {
|
|
787
|
-
return new _QueryClass({
|
|
788
|
-
type: "filter",
|
|
789
|
-
selection: this.ast,
|
|
790
|
-
filter: FilterClass.props(filter).ast
|
|
791
|
-
});
|
|
792
|
-
}
|
|
663
|
+
};
|
|
664
|
+
var setLabel2 = (obj, label) => {
|
|
665
|
+
const schema = getSchema2(obj);
|
|
666
|
+
if (schema != null) {
|
|
667
|
+
setLabel(schema, obj, label);
|
|
793
668
|
}
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
});
|
|
669
|
+
};
|
|
670
|
+
var getDescription2 = (obj) => {
|
|
671
|
+
const schema = getSchema2(obj);
|
|
672
|
+
if (schema != null) {
|
|
673
|
+
return getDescription(schema, obj);
|
|
800
674
|
}
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
property: key,
|
|
807
|
-
typename: dxn.toString()
|
|
808
|
-
});
|
|
675
|
+
};
|
|
676
|
+
var setDescription2 = (obj, description) => {
|
|
677
|
+
const schema = getSchema2(obj);
|
|
678
|
+
if (schema != null) {
|
|
679
|
+
setDescription(schema, obj, description);
|
|
809
680
|
}
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
direction: "outgoing",
|
|
815
|
-
filter: FilterClass.type(relation, predicates).ast
|
|
816
|
-
});
|
|
681
|
+
};
|
|
682
|
+
var compare = (a, b) => {
|
|
683
|
+
if (a == null) {
|
|
684
|
+
return b == null ? 0 : 1;
|
|
817
685
|
}
|
|
818
|
-
|
|
819
|
-
return
|
|
820
|
-
type: "relation",
|
|
821
|
-
anchor: this.ast,
|
|
822
|
-
direction: "incoming",
|
|
823
|
-
filter: FilterClass.type(relation, predicates).ast
|
|
824
|
-
});
|
|
686
|
+
if (b == null) {
|
|
687
|
+
return -1;
|
|
825
688
|
}
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
689
|
+
return a.localeCompare(b);
|
|
690
|
+
};
|
|
691
|
+
var sortByLabel = (a, b) => compare(getLabel2(a), getLabel2(b));
|
|
692
|
+
var sortByTypename = (a, b) => compare(getTypename2(a), getTypename2(b));
|
|
693
|
+
var sort = (...comparators) => {
|
|
694
|
+
return (a, b) => {
|
|
695
|
+
for (const comparator of comparators) {
|
|
696
|
+
const result = comparator(a, b);
|
|
697
|
+
if (result !== 0) {
|
|
698
|
+
return result;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
return 0;
|
|
702
|
+
};
|
|
703
|
+
};
|
|
704
|
+
var toJSON = (obj) => objectToJSON(obj);
|
|
705
|
+
var fromJSON = objectFromJSON;
|
|
706
|
+
var getSnapshot2 = LiveObject.getSnapshot;
|
|
707
|
+
var clone = (obj, opts) => {
|
|
708
|
+
const { id, ...data } = obj;
|
|
709
|
+
const schema = getSchema2(obj);
|
|
710
|
+
invariant2(schema != null, "Object should have a schema", {
|
|
711
|
+
F: __dxlog_file2,
|
|
712
|
+
L: 305,
|
|
713
|
+
S: void 0,
|
|
714
|
+
A: [
|
|
715
|
+
"schema != null",
|
|
716
|
+
"'Object should have a schema'"
|
|
717
|
+
]
|
|
718
|
+
});
|
|
719
|
+
const props = deepMapValues(data, (value2, recurse) => {
|
|
720
|
+
if (Ref.isRef(value2)) {
|
|
721
|
+
return value2;
|
|
722
|
+
}
|
|
723
|
+
return recurse(value2);
|
|
724
|
+
});
|
|
725
|
+
if (opts?.retainId) {
|
|
726
|
+
props.id = id;
|
|
832
727
|
}
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
728
|
+
const meta = getMeta3(obj);
|
|
729
|
+
props[MetaId] = deepMapValues(meta, (value2, recurse) => {
|
|
730
|
+
if (Ref.isRef(value2)) {
|
|
731
|
+
return value2;
|
|
732
|
+
}
|
|
733
|
+
return recurse(value2);
|
|
734
|
+
});
|
|
735
|
+
return make2(schema, props);
|
|
736
|
+
};
|
|
737
|
+
var VersionTypeId2 = VersionTypeId;
|
|
738
|
+
var unversioned = {
|
|
739
|
+
[VersionTypeId2]: {},
|
|
740
|
+
versioned: false
|
|
741
|
+
};
|
|
742
|
+
var isVersion = (obj) => {
|
|
743
|
+
return obj != null && typeof obj === "object" && VersionTypeId2 in obj;
|
|
744
|
+
};
|
|
745
|
+
var version = (obj) => {
|
|
746
|
+
const version2 = obj[ObjectVersionId];
|
|
747
|
+
if (version2 === void 0) {
|
|
748
|
+
return unversioned;
|
|
839
749
|
}
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
750
|
+
return version2;
|
|
751
|
+
};
|
|
752
|
+
var versionValid = (version2) => {
|
|
753
|
+
assertArgument2(isVersion(version2), "version", "Invalid version object");
|
|
754
|
+
return !!version2.versioned;
|
|
755
|
+
};
|
|
756
|
+
var compareVersions = (version1, version2) => {
|
|
757
|
+
assertArgument2(isVersion(version1), "version1", "Invalid version object");
|
|
758
|
+
assertArgument2(isVersion(version2), "version2", "Invalid version object");
|
|
759
|
+
if (!versionValid(version1) || !versionValid(version2)) {
|
|
760
|
+
return "unversioned";
|
|
846
761
|
}
|
|
847
|
-
|
|
848
|
-
return
|
|
849
|
-
type: "options",
|
|
850
|
-
query: this.ast,
|
|
851
|
-
options
|
|
852
|
-
});
|
|
762
|
+
if (version1.automergeHeads?.length !== version2.automergeHeads?.length) {
|
|
763
|
+
return "different";
|
|
853
764
|
}
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
_define_property(this, "~Query", void 0);
|
|
857
|
-
this.ast = ast;
|
|
858
|
-
this["~Query"] = _QueryClass.variance;
|
|
765
|
+
if (version1.automergeHeads?.some((head) => !version2.automergeHeads?.includes(head))) {
|
|
766
|
+
return "different";
|
|
859
767
|
}
|
|
768
|
+
return "equal";
|
|
769
|
+
};
|
|
770
|
+
var encodeVersion = (version2) => {
|
|
771
|
+
return JSON.stringify(version2);
|
|
772
|
+
};
|
|
773
|
+
var decodeVersion = (version2) => {
|
|
774
|
+
const parsed = JSON.parse(version2);
|
|
775
|
+
parsed[VersionTypeId2] = {};
|
|
776
|
+
return parsed;
|
|
860
777
|
};
|
|
861
|
-
_define_property(QueryClass, "variance", {});
|
|
862
|
-
var Query = QueryClass;
|
|
863
|
-
var Order;
|
|
864
778
|
|
|
865
|
-
// src/
|
|
866
|
-
|
|
779
|
+
// src/query/tag.ts
|
|
780
|
+
var Tag = Schema3.Struct({
|
|
781
|
+
label: Schema3.String,
|
|
782
|
+
hue: Schema3.optional(Schema3.String)
|
|
783
|
+
}).pipe(Obj({
|
|
784
|
+
typename: "dxos.org/type/Tag",
|
|
785
|
+
version: "0.1.0"
|
|
786
|
+
}), LabelAnnotation.set([
|
|
787
|
+
"label"
|
|
788
|
+
]));
|
|
789
|
+
var make3 = (props) => make2(Tag, props);
|
|
790
|
+
var sortTags = ({ label: a }, { label: b }) => a.localeCompare(b);
|
|
791
|
+
var createTagList = (tags) => Object.entries(tags).map(([id, tag]) => ({
|
|
792
|
+
...tag,
|
|
793
|
+
id
|
|
794
|
+
})).sort(sortTags);
|
|
795
|
+
var findTagByLabel = (tags, name) => {
|
|
796
|
+
const entry = Object.entries(tags ?? {}).find(([_, tag]) => tag.label.toLowerCase() === name.toLowerCase());
|
|
797
|
+
return entry ? {
|
|
798
|
+
...entry[1],
|
|
799
|
+
id: entry[0]
|
|
800
|
+
} : void 0;
|
|
801
|
+
};
|
|
867
802
|
|
|
868
803
|
export {
|
|
869
|
-
SchemaNotFoundError,
|
|
870
|
-
ObjectNotFoundError,
|
|
871
|
-
Key_exports,
|
|
872
|
-
Type_exports,
|
|
873
|
-
Obj_exports,
|
|
874
804
|
Ref_exports,
|
|
875
|
-
Relation_exports,
|
|
876
805
|
Filter,
|
|
877
806
|
Query,
|
|
878
807
|
Order,
|
|
879
|
-
|
|
880
|
-
|
|
808
|
+
Relation,
|
|
809
|
+
Type_exports,
|
|
810
|
+
Any,
|
|
811
|
+
Obj_exports,
|
|
812
|
+
tag_exports
|
|
881
813
|
};
|
|
882
|
-
//# sourceMappingURL=chunk-
|
|
814
|
+
//# sourceMappingURL=chunk-WO76TDT6.mjs.map
|