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