@dxos/echo 0.8.4-main.5ad4a44 → 0.8.4-main.66e292d
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-MWLA34S5.mjs → chunk-7GH6RXJ3.mjs} +2513 -2673
- package/dist/lib/browser/chunk-7GH6RXJ3.mjs.map +7 -0
- package/dist/lib/browser/chunk-E4UTVJNF.mjs +1111 -0
- package/dist/lib/browser/chunk-E4UTVJNF.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +21 -19
- package/dist/lib/browser/internal/index.mjs +55 -45
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/testing/index.mjs +247 -217
- package/dist/lib/browser/testing/index.mjs.map +4 -4
- package/dist/lib/node-esm/chunk-JE5RXM2I.mjs +1111 -0
- package/dist/lib/node-esm/chunk-JE5RXM2I.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-YTNLFBIK.mjs → chunk-M4B6BMD2.mjs} +2513 -2673
- package/dist/lib/node-esm/chunk-M4B6BMD2.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +21 -19
- package/dist/lib/node-esm/internal/index.mjs +55 -45
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/testing/index.mjs +247 -217
- package/dist/lib/node-esm/testing/index.mjs.map +4 -4
- package/dist/types/src/Annotation.d.ts +2 -0
- package/dist/types/src/Annotation.d.ts.map +1 -0
- package/dist/types/src/Database.d.ts +137 -0
- package/dist/types/src/Database.d.ts.map +1 -0
- package/dist/types/src/Entity.d.ts +36 -0
- package/dist/types/src/Entity.d.ts.map +1 -0
- package/dist/types/src/Format.d.ts +4 -0
- package/dist/types/src/Format.d.ts.map +1 -0
- package/dist/types/src/JsonSchema.d.ts +9 -0
- package/dist/types/src/JsonSchema.d.ts.map +1 -0
- package/dist/types/src/Key.d.ts +1 -0
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Obj.d.ts +85 -62
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +10 -10
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +14 -11
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Tag.d.ts +17 -0
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +39 -49
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/errors.d.ts +14 -18
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +7 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/annotations/annotations.d.ts +174 -0
- package/dist/types/src/internal/annotations/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/annotations.test.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/index.d.ts +3 -0
- package/dist/types/src/internal/annotations/index.d.ts.map +1 -0
- package/dist/types/src/internal/annotations/util.d.ts +26 -0
- package/dist/types/src/internal/annotations/util.d.ts.map +1 -0
- package/dist/types/src/internal/entities/entity.d.ts +10 -0
- package/dist/types/src/internal/entities/entity.d.ts.map +1 -0
- package/dist/types/src/internal/{object → entities}/expando.d.ts +3 -1
- package/dist/types/src/internal/entities/expando.d.ts.map +1 -0
- package/dist/types/src/internal/entities/index.d.ts +6 -0
- package/dist/types/src/internal/entities/index.d.ts.map +1 -0
- package/dist/types/src/internal/entities/model.d.ts +70 -0
- package/dist/types/src/internal/entities/model.d.ts.map +1 -0
- package/dist/types/src/internal/entities/object.d.ts +11 -0
- package/dist/types/src/internal/entities/object.d.ts.map +1 -0
- package/dist/types/src/internal/entities/relation.d.ts +55 -0
- package/dist/types/src/internal/entities/relation.d.ts.map +1 -0
- package/dist/types/src/internal/entities/util.d.ts +2 -0
- package/dist/types/src/internal/entities/util.d.ts.map +1 -0
- package/dist/types/src/internal/formats/format.d.ts +2 -0
- package/dist/types/src/internal/formats/format.d.ts.map +1 -1
- package/dist/types/src/internal/formats/types.d.ts +7 -7
- package/dist/types/src/internal/formats/types.d.ts.map +1 -1
- package/dist/types/src/internal/index.d.ts +6 -10
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/internal/json-schema/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/index.d.ts +2 -0
- package/dist/types/src/internal/json-schema/index.d.ts.map +1 -1
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +1 -1
- package/dist/types/src/internal/{json → json-schema}/json-schema.d.ts +2 -5
- package/dist/types/src/internal/json-schema/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/common.d.ts.map +1 -1
- package/dist/types/src/internal/object/{create.d.ts → create-object.d.ts} +9 -10
- package/dist/types/src/internal/object/create-object.d.ts.map +1 -0
- package/dist/types/src/internal/object/create-object.test.d.ts +2 -0
- package/dist/types/src/internal/object/create-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/object/deleted.d.ts +2 -2
- package/dist/types/src/internal/object/deleted.d.ts.map +1 -1
- package/dist/types/src/internal/object/ids.d.ts.map +1 -1
- package/dist/types/src/internal/object/index.d.ts +3 -12
- package/dist/types/src/internal/object/index.d.ts.map +1 -1
- package/dist/types/src/internal/object/json-serializer.d.ts +1 -2
- package/dist/types/src/internal/object/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/object/schema-validator.d.ts.map +1 -1
- package/dist/types/src/internal/object/typed-object.d.ts +1 -1
- package/dist/types/src/internal/object/typed-object.d.ts.map +1 -1
- package/dist/types/src/internal/proxy/index.d.ts +3 -0
- package/dist/types/src/internal/proxy/index.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/make-object.d.ts +16 -0
- package/dist/types/src/internal/proxy/make-object.d.ts.map +1 -0
- package/dist/types/src/internal/proxy/typed-handler.d.ts +1 -1
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +1 -1
- package/dist/types/src/internal/ref/ref.d.ts +15 -12
- package/dist/types/src/internal/ref/ref.d.ts.map +1 -1
- package/dist/types/src/internal/schema/compose.d.ts.map +1 -0
- package/dist/types/src/internal/schema/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/schema/echo-schema.d.ts +9 -9
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +1 -1
- package/dist/types/src/internal/schema/index.d.ts +3 -4
- package/dist/types/src/internal/schema/index.d.ts.map +1 -1
- package/dist/types/src/internal/schema/manipulation.d.ts.map +1 -1
- package/dist/types/src/internal/schema/persistent-schema.d.ts +18 -0
- package/dist/types/src/internal/schema/persistent-schema.d.ts.map +1 -0
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +1 -1
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +1 -1
- package/dist/types/src/internal/types/base.d.ts +37 -0
- package/dist/types/src/internal/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/{ast/entity-kind.d.ts → types/entity.d.ts} +3 -1
- package/dist/types/src/internal/types/entity.d.ts.map +1 -0
- package/dist/types/src/internal/types/index.d.ts +5 -2
- package/dist/types/src/internal/types/index.d.ts.map +1 -1
- package/dist/types/src/internal/{object → types}/meta.d.ts +20 -11
- package/dist/types/src/internal/types/meta.d.ts.map +1 -0
- package/dist/types/src/internal/types/typename.d.ts +13 -0
- package/dist/types/src/internal/types/typename.d.ts.map +1 -0
- package/dist/types/src/internal/{object → types}/version.d.ts +3 -2
- package/dist/types/src/internal/types/version.d.ts.map +1 -0
- package/dist/types/src/query/filter.d.ts +167 -0
- package/dist/types/src/query/filter.d.ts.map +1 -0
- package/dist/types/src/query/index.d.ts +3 -1
- package/dist/types/src/query/index.d.ts.map +1 -1
- package/dist/types/src/query/order.d.ts +12 -0
- package/dist/types/src/query/order.d.ts.map +1 -0
- package/dist/types/src/query/query.d.ts +9 -144
- package/dist/types/src/query/query.d.ts.map +1 -1
- package/dist/types/src/query/testing.d.ts +51 -0
- package/dist/types/src/query/testing.d.ts.map +1 -0
- package/dist/types/src/{internal/query/query.d.ts → query/types.d.ts} +1 -1
- package/dist/types/src/query/types.d.ts.map +1 -0
- package/dist/types/src/query/util.d.ts +8 -0
- package/dist/types/src/query/util.d.ts.map +1 -0
- package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +3 -3
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts +18 -0
- package/dist/types/src/testing/test-data.d.ts.map +1 -0
- package/dist/types/src/testing/test-schema.d.ts +337 -0
- package/dist/types/src/testing/test-schema.d.ts.map +1 -0
- package/dist/types/src/{internal/testing/utils.d.ts → testing/util.d.ts} +11 -5
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +46 -38
- package/src/Annotation.ts +17 -0
- package/src/Database.ts +189 -0
- package/src/Entity.ts +51 -0
- package/src/Format.ts +11 -0
- package/src/JsonSchema.ts +16 -0
- package/src/Key.ts +3 -0
- package/src/Obj.ts +260 -147
- package/src/Ref.ts +9 -9
- package/src/Relation.ts +58 -44
- package/src/Tag.ts +40 -0
- package/src/Type.ts +96 -83
- package/src/index.ts +10 -4
- package/src/internal/README.md +83 -0
- package/src/internal/{ast → annotations}/annotations.test.ts +13 -15
- package/src/internal/annotations/annotations.ts +463 -0
- package/src/internal/annotations/index.ts +6 -0
- package/src/internal/annotations/util.ts +70 -0
- package/src/internal/entities/entity.ts +109 -0
- package/src/internal/{object → entities}/expando.ts +7 -5
- package/src/internal/entities/index.ts +9 -0
- package/src/internal/entities/model.ts +129 -0
- package/src/internal/entities/object.ts +45 -0
- package/src/internal/entities/relation.ts +155 -0
- package/src/internal/entities/util.ts +33 -0
- package/src/internal/formats/date.test.ts +1 -1
- package/src/internal/formats/date.ts +5 -5
- package/src/internal/formats/format.test.ts +5 -5
- package/src/internal/formats/format.ts +3 -0
- package/src/internal/formats/number.ts +5 -5
- package/src/internal/formats/object.ts +2 -2
- package/src/internal/formats/string.ts +9 -9
- package/src/internal/formats/types.ts +44 -39
- package/src/internal/index.ts +29 -13
- package/src/internal/{json → json-schema}/annotations.ts +1 -1
- package/src/internal/json-schema/index.ts +2 -0
- package/src/internal/json-schema/json-schema-type.ts +4 -3
- package/src/internal/{json → json-schema}/json-schema.test.ts +230 -97
- package/src/internal/{json → json-schema}/json-schema.ts +67 -87
- package/src/internal/object/common.ts +3 -4
- package/src/internal/object/{create.test.ts → create-object.test.ts} +31 -33
- package/src/internal/object/{create.ts → create-object.ts} +34 -35
- package/src/internal/object/deleted.ts +6 -6
- package/src/internal/object/ids.ts +1 -1
- package/src/internal/object/index.ts +3 -12
- package/src/internal/object/inspect.ts +3 -5
- package/src/internal/object/json-serializer.test.ts +33 -38
- package/src/internal/object/json-serializer.ts +43 -38
- package/src/internal/object/schema-validator.ts +3 -2
- package/src/internal/object/typed-object.test.ts +1 -1
- package/src/internal/object/typed-object.ts +17 -4
- package/src/internal/proxy/handler.test.ts +30 -20
- package/src/internal/proxy/index.ts +6 -0
- package/src/internal/proxy/{reactive-object.ts → make-object.ts} +19 -14
- package/src/internal/proxy/schema.test.ts +5 -4
- package/src/internal/proxy/typed-handler.test.ts +28 -28
- package/src/internal/proxy/typed-handler.ts +11 -6
- package/src/internal/proxy/typed-object.test.ts +17 -12
- package/src/internal/ref/ref.test.ts +9 -8
- package/src/internal/ref/ref.ts +24 -20
- package/src/internal/{projection → schema}/compose.test.ts +5 -6
- package/src/internal/{projection → schema}/compose.ts +2 -1
- package/src/internal/schema/echo-schema.ts +30 -28
- package/src/internal/schema/index.ts +3 -4
- package/src/internal/schema/manipulation.ts +7 -1
- package/src/internal/schema/persistent-schema.ts +28 -0
- package/src/internal/schema/runtime-schema-registry.ts +4 -4
- package/src/internal/types/base.ts +58 -0
- package/src/internal/{ast/entity-kind.ts → types/entity.ts} +8 -0
- package/src/internal/types/index.ts +5 -2
- package/src/internal/{object → types}/meta.ts +32 -18
- package/src/internal/types/typename.ts +45 -0
- package/src/internal/types/version.ts +20 -0
- package/src/query/filter.ts +455 -0
- package/src/query/index.ts +4 -1
- package/src/query/order.ts +34 -0
- package/src/query/query.test.ts +188 -216
- package/src/query/query.ts +24 -505
- package/src/query/testing.ts +64 -0
- package/src/query/util.ts +25 -0
- package/src/testing/api.test.ts +100 -0
- package/src/testing/index.ts +3 -3
- package/src/testing/test-data.ts +130 -0
- package/src/testing/test-schema.ts +213 -0
- package/src/{internal/testing/utils.ts → testing/util.ts} +38 -14
- package/dist/lib/browser/chunk-MWLA34S5.mjs.map +0 -7
- package/dist/lib/browser/chunk-OAZJQHVO.mjs +0 -453
- package/dist/lib/browser/chunk-OAZJQHVO.mjs.map +0 -7
- package/dist/lib/browser/chunk-ORIE2FMS.mjs +0 -514
- package/dist/lib/browser/chunk-ORIE2FMS.mjs.map +0 -7
- package/dist/lib/browser/query/index.mjs +0 -23
- package/dist/lib/browser/query/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AXWVDOP7.mjs +0 -453
- package/dist/lib/node-esm/chunk-AXWVDOP7.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-L4PBAJDP.mjs +0 -514
- package/dist/lib/node-esm/chunk-L4PBAJDP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YTNLFBIK.mjs.map +0 -7
- package/dist/lib/node-esm/query/index.mjs +0 -23
- package/dist/lib/node-esm/query/index.mjs.map +0 -7
- package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
- package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.d.ts +0 -119
- package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
- package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
- package/dist/types/src/internal/ast/index.d.ts +0 -5
- package/dist/types/src/internal/ast/index.d.ts.map +0 -1
- package/dist/types/src/internal/ast/types.d.ts +0 -6
- package/dist/types/src/internal/ast/types.d.ts.map +0 -1
- package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/json/index.d.ts +0 -2
- package/dist/types/src/internal/json/index.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/accessors.d.ts +0 -29
- package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.test.d.ts +0 -2
- package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/entity.d.ts +0 -22
- package/dist/types/src/internal/object/entity.d.ts.map +0 -1
- package/dist/types/src/internal/object/expando.d.ts.map +0 -1
- package/dist/types/src/internal/object/meta.d.ts.map +0 -1
- package/dist/types/src/internal/object/model.d.ts +0 -117
- package/dist/types/src/internal/object/model.d.ts.map +0 -1
- package/dist/types/src/internal/object/relation.d.ts +0 -17
- package/dist/types/src/internal/object/relation.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-relation.d.ts +0 -32
- package/dist/types/src/internal/object/typed-relation.d.ts.map +0 -1
- package/dist/types/src/internal/object/typename.d.ts +0 -15
- package/dist/types/src/internal/object/typename.d.ts.map +0 -1
- package/dist/types/src/internal/object/version.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
- package/dist/types/src/internal/projection/index.d.ts +0 -2
- package/dist/types/src/internal/projection/index.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
- package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
- package/dist/types/src/internal/query/index.d.ts +0 -2
- package/dist/types/src/internal/query/index.d.ts.map +0 -1
- package/dist/types/src/internal/query/query.d.ts.map +0 -1
- package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
- package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
- package/dist/types/src/internal/testing/index.d.ts +0 -3
- package/dist/types/src/internal/testing/index.d.ts.map +0 -1
- package/dist/types/src/internal/testing/types.d.ts +0 -455
- package/dist/types/src/internal/testing/types.d.ts.map +0 -1
- package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.d.ts +0 -79
- package/dist/types/src/internal/types/types.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.test.d.ts +0 -2
- package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
- package/dist/types/src/internal/types/util.d.ts +0 -5
- package/dist/types/src/internal/types/util.d.ts.map +0 -1
- package/dist/types/src/query/tag.d.ts +0 -18
- package/dist/types/src/query/tag.d.ts.map +0 -1
- package/dist/types/src/testing/echo-schema.d.ts +0 -7
- package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
- package/dist/types/src/testing/types.d.ts +0 -113
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/src/internal/ast/annotation-helper.ts +0 -22
- package/src/internal/ast/annotations.ts +0 -212
- package/src/internal/ast/index.ts +0 -8
- package/src/internal/ast/types.ts +0 -17
- package/src/internal/json/index.ts +0 -5
- package/src/internal/object/accessors.ts +0 -115
- package/src/internal/object/entity.ts +0 -204
- package/src/internal/object/model.ts +0 -170
- package/src/internal/object/relation.ts +0 -24
- package/src/internal/object/typed-relation.ts +0 -85
- package/src/internal/object/typename.ts +0 -61
- package/src/internal/object/version.ts +0 -22
- package/src/internal/projection/index.ts +0 -5
- package/src/internal/query/index.ts +0 -5
- package/src/internal/schema/stored-schema.ts +0 -26
- package/src/internal/testing/index.ts +0 -6
- package/src/internal/testing/types.ts +0 -211
- package/src/internal/types/types.test.ts +0 -48
- package/src/internal/types/types.ts +0 -176
- package/src/internal/types/util.ts +0 -9
- package/src/query/tag.ts +0 -35
- package/src/test/api.test.ts +0 -180
- package/src/testing/echo-schema.ts +0 -39
- package/src/testing/types.ts +0 -91
- /package/dist/types/src/internal/{ast → annotations}/annotations.test.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/annotations.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/effect-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{json → json-schema}/json-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{projection → schema}/compose.d.ts +0 -0
- /package/dist/types/src/internal/{projection → schema}/compose.test.d.ts +0 -0
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
- /package/src/internal/{json → json-schema}/effect-schema.test.ts +0 -0
- /package/src/{internal/query/query.ts → query/types.ts} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type * as Schema from 'effect/Schema';
|
|
2
|
-
import {
|
|
3
|
-
type
|
|
2
|
+
import { EntityKind, KindId } from '../types';
|
|
3
|
+
export type CreateObjectProps<T> = T extends {
|
|
4
4
|
id: string;
|
|
5
|
-
} ? Omit<T, 'id' |
|
|
5
|
+
} ? Omit<T, 'id' | KindId> & {
|
|
6
6
|
id?: string;
|
|
7
7
|
} : T;
|
|
8
8
|
/**
|
|
@@ -10,7 +10,7 @@ type CreateData<T> = T extends {
|
|
|
10
10
|
* This static version creates plain JavaScript objects that are not reactive/observable.
|
|
11
11
|
* For reactive objects that automatically update UI when changed, use the regular live() function.
|
|
12
12
|
*
|
|
13
|
-
* @param schema - The Effect schema that defines the object's structure and type, piped into
|
|
13
|
+
* @param schema - The Effect schema that defines the object's structure and type, piped into EchoObjectSchema
|
|
14
14
|
* @param data - The data to initialize the object with. The id and @type fields are handled automatically.
|
|
15
15
|
* @returns A new non-reactive object instance conforming to the schema
|
|
16
16
|
* @throws {Error} If the schema is not an object schema
|
|
@@ -22,19 +22,18 @@ type CreateData<T> = T extends {
|
|
|
22
22
|
* name: Schema.String,
|
|
23
23
|
* email: Schema.String,
|
|
24
24
|
* }).pipe(Type.Obj({
|
|
25
|
-
* typename: 'example.com/type/
|
|
25
|
+
* typename: 'example.com/type/Person',
|
|
26
26
|
* version: '0.1.0',
|
|
27
27
|
* }))
|
|
28
28
|
*
|
|
29
|
-
*
|
|
30
|
-
* const contact = create(Contact, {
|
|
29
|
+
* const contact = createObject(Contact, {
|
|
31
30
|
* name: "John",
|
|
32
31
|
* email: "john@example.com",
|
|
33
32
|
* })
|
|
34
33
|
* ```
|
|
35
34
|
*/
|
|
36
|
-
export declare const
|
|
35
|
+
export declare const createObject: <S extends Schema.Schema.AnyNoContext>(schema: S, props: CreateObjectProps<Schema.Schema.Type<S>>) => CreateObjectProps<Schema.Schema.Type<S>> & {
|
|
37
36
|
id: string;
|
|
37
|
+
[KindId]: EntityKind;
|
|
38
38
|
};
|
|
39
|
-
|
|
40
|
-
//# sourceMappingURL=create.d.ts.map
|
|
39
|
+
//# sourceMappingURL=create-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAgB7C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAqB,MAAM,UAAU,CAAC;AAKjE,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,CAAC;AAE3G;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC/D,QAAQ,CAAC,EACT,OAAO,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAC9C,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAA;CAoC/E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/create-object.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AnyProperties } from '../types';
|
|
2
2
|
/**
|
|
3
3
|
* @returns `true` if the object has been marked as deleted.
|
|
4
4
|
*/
|
|
5
|
-
export declare const isDeleted: (obj:
|
|
5
|
+
export declare const isDeleted: (obj: AnyProperties) => boolean;
|
|
6
6
|
//# sourceMappingURL=deleted.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/deleted.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/deleted.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,KAAK,aAAa,KAAG,OAQ9C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/ids.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAA+B,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ids.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/ids.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,GAAG,EAA+B,OAAO,EAAE,MAAM,YAAY,CAAC;AAEvE;;GAEG;AAEH,eAAO,MAAM,cAAc,GAAI,iBAA0B,EAAE,gBAA2B,QACjB,CAAC"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
export * from './common';
|
|
2
|
-
export * from './create';
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './expando';
|
|
2
|
+
export * from './create-object';
|
|
3
|
+
export * from './deleted';
|
|
5
4
|
export * from './ids';
|
|
6
5
|
export * from './json-serializer';
|
|
7
|
-
export * from './meta';
|
|
8
|
-
export type * from './relation';
|
|
9
|
-
export * from './typed-object';
|
|
10
|
-
export * from './typed-relation';
|
|
11
|
-
export * from './typename';
|
|
12
|
-
export * from './deleted';
|
|
13
|
-
export * from './model';
|
|
14
|
-
export * from './accessors';
|
|
15
6
|
export * from './schema-validator';
|
|
16
|
-
export * from './
|
|
7
|
+
export * from './typed-object';
|
|
17
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,OAAO,CAAC;AACtB,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type EncodedReference } from '@dxos/echo-protocol';
|
|
2
2
|
import { DXN } from '@dxos/keys';
|
|
3
|
+
import { type ObjectJSON } from '../entities';
|
|
3
4
|
import { Ref, type RefResolver } from '../ref';
|
|
4
5
|
import { type AnyEchoObject } from '../types';
|
|
5
|
-
import { type ObjectJSON } from './model';
|
|
6
6
|
type DeepReplaceRef<T> = T extends Ref<any> ? EncodedReference : T extends object ? {
|
|
7
7
|
[K in keyof T]: DeepReplaceRef<T[K]>;
|
|
8
8
|
} : T;
|
|
@@ -19,7 +19,6 @@ export declare const objectToJSON: <T extends AnyEchoObject>(obj: T) => Serializ
|
|
|
19
19
|
* Creates an object from it's json representation.
|
|
20
20
|
* Performs schema validation.
|
|
21
21
|
* References and schema will be resolvable if the `refResolver` is provided.
|
|
22
|
-
*
|
|
23
22
|
* The function need to be async to support resolving the schema as well as the relation endpoints.
|
|
24
23
|
*/
|
|
25
24
|
export declare const objectFromJSON: (jsonData: unknown, { refResolver, dxn }?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAuC,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAY,MAAM,YAAY,CAAC;AAK3C,OAAO,
|
|
1
|
+
{"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAuC,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,EAAY,MAAM,YAAY,CAAC;AAK3C,OAAO,EAKL,KAAK,UAAU,EAOhB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AACxF,OAAO,EAGL,KAAK,aAAa,EAOnB,MAAM,UAAU,CAAC;AAElB,KAAK,cAAc,CAAC,CAAC,IACnB,CAAC,SAAS,GAAG,CAAC,GAAG,CAAC,GACd,gBAAgB,GAChB,CAAC,SAAS,MAAM,GACd;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GACD,CAAC,CAAC;AAEV,KAAK,gBAAgB,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,IAAI;KAC/C,CAAC,IAAI,MAAM,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACrC,GAAG,UAAU,CAAC;AAEf;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,SAAS,aAAa,EAAE,KAAK,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAIhF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACzB,UAAU,OAAO,EACjB,uBAAsB;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAA;CAAO,KAClE,OAAO,CAAC,aAAa,CA8DvB,CAAC;AAsBF,eAAO,MAAM,oBAAoB,GAAI,KAAK,aAAa,EAAE,aAAa,WAAW,SAUhF,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,KAAK,GAAG,SAajD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,qBAAa,eAAe;IAC1B;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;WAkBxD,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;WAaI,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY;WAsBf,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;CAgBtG;AAyID,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;
|
|
1
|
+
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/schema-validator.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,qBAAa,eAAe;IAC1B;;;OAGG;WACW,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;WAkBxD,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO;WAaI,iBAAiB,CAC7B,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5C,YAAY,EAAE,OAAO,EACrB,WAAW,GAAE,CAAC,IAAI,EAAE,OAAO,KAAK,GAAgB,GAC/C,MAAM,CAAC,MAAM,CAAC,YAAY;WAsBf,uBAAuB,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY;CAgBtG;AAyID,eAAO,MAAM,yBAAyB,GAAI,QAAQ,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,SAM7E,CAAC;AAGF,KAAK,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/object/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAGL,KAAK,QAAQ,EAId,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAc,KAAK,KAAK,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAwB,MAAM,UAAU,CAAC;AAEjG;;;;;;GAMG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEvF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,wBAAwB;IACxB,QAAQ,KAAK,GAAG,CAAC,CAAC;CACnB;AAED,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG;IAExC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,wEAIzB,gBAAgB,MAOT,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,SAAS,kBAAkB,EACnF,QAAQ,YAAY,EACpB,UAAU,OAAO,KAChB,oBAAoB,CAAC,iBAAiB,CAAC,YAAY,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CA8BtG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
|
+
import { type Live } from '@dxos/live-object';
|
|
3
|
+
import { type AnyProperties, KindId, type ObjectMeta } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
*/
|
|
7
|
+
export type MakeObjectProps<T extends AnyProperties> = Omit<T, 'id' | KindId>;
|
|
8
|
+
/**
|
|
9
|
+
* Creates a reactive object from a plain Javascript object.
|
|
10
|
+
* Optionally provides a TS-effect schema.
|
|
11
|
+
*/
|
|
12
|
+
export declare const makeObject: {
|
|
13
|
+
<T extends AnyProperties>(obj: T): Live<T>;
|
|
14
|
+
<T extends AnyProperties>(schema: Schema.Schema<T, any, never>, obj: NoInfer<MakeObjectProps<T>>, meta?: ObjectMeta): Live<T>;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=make-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/make-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAG7C,OAAO,EACL,KAAK,IAAI,EAKV,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAU,KAAK,UAAU,EAAoB,MAAM,UAAU,CAAC;AAIjG;;GAEG;AAEH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,CAAC;AAE9E;;;GAGG;AAKH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,SAAS,aAAa,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EACpC,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAChC,IAAI,CAAC,EAAE,UAAU,GAChB,IAAI,CAAC,CAAC,CAAC,CAAC;CAcZ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import { type GenericSignal } from '@dxos/echo-signals/runtime';
|
|
3
3
|
import { type ReactiveHandler } from '@dxos/live-object';
|
|
4
|
-
import { SchemaId, TypeId } from '../
|
|
4
|
+
import { SchemaId, TypeId } from '../types';
|
|
5
5
|
declare const symbolSignal: unique symbol;
|
|
6
6
|
declare const symbolPropertySignal: unique symbol;
|
|
7
7
|
type ProxyTarget = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAEL,KAAK,eAAe,EAMrB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"typed-handler.d.ts","sourceRoot":"","sources":["../../../../../src/internal/proxy/typed-handler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,4BAA4B,CAAC;AAElF,OAAO,EAEL,KAAK,eAAe,EAMrB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAE5C,QAAA,MAAM,YAAY,eAAmB,CAAC;AACtC,QAAA,MAAM,oBAAoB,eAA4B,CAAC;AAEvD,KAAK,WAAW,GAAG;IACjB;;OAEG;IACH,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAEvC;;OAEG;IAEH,CAAC,YAAY,CAAC,EAAE,aAAa,CAAC;IAE9B;;OAEG;IACH,CAAC,oBAAoB,CAAC,EAAE,aAAa,CAAC;CACvC,GAAG,CAAC;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,CAAA;CAAE,GAAG,GAAG,EAAE,CAAC,CAAC;AAExC;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe,CAAC,WAAW,CAAC;IACvE,gBAAuB,QAAQ,EAAE,eAAe,CAAC,GAAG,CAAC,CAA8B;IAEnF,QAAQ,CAAC,SAAS,uBAA8B;IAEhD,OAAO;IAEP,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IA6B/B,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,GAAG;IA4BnE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,OAAO;IAenF,OAAO,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAOxD,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO;IAUvG,OAAO,CAAC,cAAc;IAatB,OAAO,CAAC,QAAQ;CAajB;AA8BD,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,QAAQ,CAAC,EAAE,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAUxE,CAAC"}
|
|
@@ -3,7 +3,7 @@ import * as SchemaAST from 'effect/SchemaAST';
|
|
|
3
3
|
import { type EncodedReference } from '@dxos/echo-protocol';
|
|
4
4
|
import { DXN, ObjectId } from '@dxos/keys';
|
|
5
5
|
import { type JsonSchemaType } from '../json-schema';
|
|
6
|
-
import type {
|
|
6
|
+
import type { AnyProperties, WithId } from '../types';
|
|
7
7
|
/**
|
|
8
8
|
* The `$id` and `$ref` fields for an ECHO reference schema.
|
|
9
9
|
*/
|
|
@@ -30,14 +30,17 @@ export declare const RefTypeId: unique symbol;
|
|
|
30
30
|
/**
|
|
31
31
|
* Reference Schema.
|
|
32
32
|
*/
|
|
33
|
-
export interface
|
|
33
|
+
export interface RefSchema<T extends WithId> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
|
|
34
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Type of the `Ref` function and extra methods attached to it.
|
|
37
|
+
*/
|
|
35
38
|
export interface RefFn {
|
|
36
|
-
<S extends Schema.Schema.Any>(schema: S):
|
|
39
|
+
<S extends Schema.Schema.Any>(schema: S): RefSchema<Schema.Schema.Type<S>>;
|
|
37
40
|
/**
|
|
38
41
|
* @returns True if the object is a reference.
|
|
39
42
|
*/
|
|
40
|
-
isRef: (obj:
|
|
43
|
+
isRef: (obj: unknown) => obj is Ref<any>;
|
|
41
44
|
/**
|
|
42
45
|
* @returns True if the reference points to the given object id.
|
|
43
46
|
*/
|
|
@@ -45,7 +48,7 @@ export interface RefFn {
|
|
|
45
48
|
/**
|
|
46
49
|
* @returns True if the schema is a reference schema.
|
|
47
50
|
*/
|
|
48
|
-
isRefSchema: (schema: Schema.Schema<any, any>) => schema is
|
|
51
|
+
isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
|
|
49
52
|
/**
|
|
50
53
|
* @returns True if the schema AST is a reference schema.
|
|
51
54
|
*/
|
|
@@ -140,11 +143,11 @@ export interface RefResolver {
|
|
|
140
143
|
* @param load If true the resolver should attempt to load the object from disk.
|
|
141
144
|
* @param onLoad Callback to call when the object is loaded.
|
|
142
145
|
*/
|
|
143
|
-
resolveSync(dxn: DXN, load: boolean, onLoad?: () => void):
|
|
146
|
+
resolveSync(dxn: DXN, load: boolean, onLoad?: () => void): AnyProperties | undefined;
|
|
144
147
|
/**
|
|
145
148
|
* Resolver ref asynchronously.
|
|
146
149
|
*/
|
|
147
|
-
resolve(dxn: DXN): Promise<
|
|
150
|
+
resolve(dxn: DXN): Promise<AnyProperties | undefined>;
|
|
148
151
|
resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
149
152
|
}
|
|
150
153
|
export declare class RefImpl<T> implements Ref<T> {
|
|
@@ -192,15 +195,15 @@ export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => v
|
|
|
192
195
|
/**
|
|
193
196
|
* Internal API for getting the saved target on a reference.
|
|
194
197
|
*/
|
|
195
|
-
export declare const getRefSavedTarget: (ref: Ref<any>) =>
|
|
198
|
+
export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
|
|
196
199
|
export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
|
|
197
200
|
export declare class StaticRefResolver implements RefResolver {
|
|
198
|
-
objects: Map<string,
|
|
201
|
+
objects: Map<string, AnyProperties>;
|
|
199
202
|
schemas: Map<DXN.String, Schema.Schema.AnyNoContext>;
|
|
200
|
-
addObject(obj:
|
|
203
|
+
addObject(obj: AnyProperties): this;
|
|
201
204
|
addSchema(schema: Schema.Schema.AnyNoContext): this;
|
|
202
|
-
resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void):
|
|
203
|
-
resolve(dxn: DXN): Promise<
|
|
205
|
+
resolveSync(dxn: DXN, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
|
|
206
|
+
resolve(dxn: DXN): Promise<AnyProperties | undefined>;
|
|
204
207
|
resolveSchema(dxn: DXN): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
205
208
|
}
|
|
206
209
|
//# sourceMappingURL=ref.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,KAAK,gBAAgB,EAAa,MAAM,qBAAqB,CAAC;AAGvE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/ref/ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAIrD;;GAEG;AAGH,eAAO,MAAM,aAAa,GAAI,QAAQ,cAAc,EAAE,QAAQ,cAAc,KAAG,cAqB9E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/compose.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import * as SchemaAST from 'effect/SchemaAST';
|
|
3
3
|
import { type ObjectId } from '@dxos/keys';
|
|
4
|
-
import { type SchemaMeta, SchemaMetaSymbol } from '../
|
|
4
|
+
import { type SchemaMeta, SchemaMetaSymbol } from '../annotations';
|
|
5
5
|
import { type JsonSchemaType } from '../json-schema';
|
|
6
6
|
import { type TypedObject, type TypedObjectPrototype } from '../object';
|
|
7
|
-
import {
|
|
7
|
+
import { PersistentSchema } from './persistent-schema';
|
|
8
8
|
/**
|
|
9
9
|
* Base schema type.
|
|
10
10
|
*/
|
|
@@ -66,7 +66,7 @@ export declare class ImmutableSchema<A = any, I = any> implements BaseSchema<A,
|
|
|
66
66
|
export declare const isMutable: (schema: Schema.Schema.AnyNoContext) => schema is EchoSchema;
|
|
67
67
|
declare const EchoSchema_base: TypedObjectPrototype<any, any>;
|
|
68
68
|
/**
|
|
69
|
-
* Represents a schema that is
|
|
69
|
+
* Represents a schema that is persisted in the ECHO database.
|
|
70
70
|
* Schema can me mutable or readonly (specified by the {@link EchoSchema.readonly} field).
|
|
71
71
|
*
|
|
72
72
|
* Schema that can be modified at runtime via the API.
|
|
@@ -84,13 +84,13 @@ declare const EchoSchema_base: TypedObjectPrototype<any, any>;
|
|
|
84
84
|
* }) {}
|
|
85
85
|
* ```
|
|
86
86
|
*
|
|
87
|
-
* The ECHO API will translate any references to
|
|
87
|
+
* The ECHO API will translate any references to PersistentSchema objects to be resolved as EchoSchema objects.
|
|
88
88
|
*/
|
|
89
89
|
export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implements BaseSchema<A, I> {
|
|
90
|
-
private readonly
|
|
90
|
+
private readonly _persistentSchema;
|
|
91
91
|
private _schema;
|
|
92
92
|
private _isDirty;
|
|
93
|
-
constructor(
|
|
93
|
+
constructor(_persistentSchema: PersistentSchema);
|
|
94
94
|
get [Schema.TypeId](): {
|
|
95
95
|
_A: (_: any) => any;
|
|
96
96
|
_I: (_: any) => any;
|
|
@@ -127,9 +127,9 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
|
|
|
127
127
|
get name(): string | undefined;
|
|
128
128
|
get [SchemaMetaSymbol](): SchemaMeta;
|
|
129
129
|
/**
|
|
130
|
-
* Reference to the underlying
|
|
130
|
+
* Reference to the underlying persistent schema object.
|
|
131
131
|
*/
|
|
132
|
-
get
|
|
132
|
+
get persistentSchema(): PersistentSchema;
|
|
133
133
|
getProperties(): SchemaAST.PropertySignature[];
|
|
134
134
|
/**
|
|
135
135
|
* @throws Error if the schema is readonly.
|
|
@@ -162,7 +162,7 @@ export declare class EchoSchema<A = any, I = any> extends EchoSchema_base implem
|
|
|
162
162
|
* Rebuilds this schema if it is dirty.
|
|
163
163
|
*/
|
|
164
164
|
_rebuild(): void;
|
|
165
|
-
|
|
165
|
+
_getSchema(): Schema.Schema.AnyNoContext;
|
|
166
166
|
}
|
|
167
167
|
export {};
|
|
168
168
|
//# sourceMappingURL=echo-schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,UAAU,EAAE,gBAAgB,EAA0C,MAAM,
|
|
1
|
+
{"version":3,"file":"echo-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/echo-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export * from './echo-schema';
|
|
2
|
-
export * from './snapshot';
|
|
3
|
-
export * from './stored-schema';
|
|
4
|
-
export * from './runtime-schema-registry';
|
|
5
2
|
export * from './manipulation';
|
|
6
|
-
export * from './
|
|
3
|
+
export * from './persistent-schema';
|
|
4
|
+
export * from './runtime-schema-registry';
|
|
5
|
+
export * from './snapshot';
|
|
7
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AASxC,eAAO,MAAM,iBAAiB,GAC5B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,YAAY,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,mBAAmB;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,CAAC,MAAM,CAAC,YAAY,EAClC,UAAU,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,YAiBhB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { JsonSchemaType } from '../json-schema';
|
|
3
|
+
/**
|
|
4
|
+
* Persistent representation of a schema.
|
|
5
|
+
*/
|
|
6
|
+
declare const PersistentEchoSchema: import("../entities/entity").EchoTypeSchema<Schema.Struct<{
|
|
7
|
+
name: Schema.optional<typeof Schema.String>;
|
|
8
|
+
typename: Schema.refine<string, typeof Schema.String>;
|
|
9
|
+
version: Schema.refine<string, typeof Schema.String>;
|
|
10
|
+
jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
|
|
11
|
+
}>, {}>;
|
|
12
|
+
export interface PersistentSchema extends Schema.Schema.Type<typeof PersistentEchoSchema> {
|
|
13
|
+
}
|
|
14
|
+
export interface PersistentSchemaEncoded extends Schema.Schema.Encoded<typeof PersistentEchoSchema> {
|
|
15
|
+
}
|
|
16
|
+
export declare const PersistentSchema: Schema.Schema<PersistentSchema, PersistentSchemaEncoded>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=persistent-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persistent-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/persistent-schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;GAEG;AAEH,QAAA,MAAM,oBAAoB;;;;;OAUzB,CAAC;AACF,MAAM,WAAW,gBAAiB,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,oBAAoB,CAAC;CAAG;AAC5F,MAAM,WAAW,uBAAwB,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,oBAAoB,CAAC;CAAG;AACtG,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,uBAAuB,CAAwB,CAAC"}
|
|
@@ -13,6 +13,6 @@ export declare class RuntimeSchemaRegistry {
|
|
|
13
13
|
* @deprecated Use getSchemaByDXN.
|
|
14
14
|
*/
|
|
15
15
|
getSchema(typename: string): Schema.Schema.AnyNoContext | undefined;
|
|
16
|
-
addSchema(types: Schema.Schema.AnyNoContext[]): void;
|
|
16
|
+
addSchema(types: readonly Schema.Schema.AnyNoContext[]): void;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=runtime-schema-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-schema-registry.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/runtime-schema-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC;;GAEG;AAEH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;;IAM7E,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAE1C;IAED,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO;IASnE,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAmBhE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAInE,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"runtime-schema-registry.d.ts","sourceRoot":"","sources":["../../../../../src/internal/schema/runtime-schema-registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC;;GAEG;AAEH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAmD;;IAM7E,IAAI,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAE1C;IAED,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,EAAE,CAAC,GAAG,OAAO;IASnE,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAmBhE;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAInE,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,GAAG,IAAI;CAY9D"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { type ObjectId } from '@dxos/keys';
|
|
3
|
+
import { type ATTR_META, type ObjectMeta } from './meta';
|
|
4
|
+
/**
|
|
5
|
+
* Marker interface for object with an `id`.
|
|
6
|
+
*/
|
|
7
|
+
export interface HasId {
|
|
8
|
+
readonly id: ObjectId;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Object that has an associated typename.
|
|
12
|
+
* The typename is retrievable using {@link getTypename}.
|
|
13
|
+
* The object can be used with {@link isInstanceOf} to check if it is an instance of a schema.
|
|
14
|
+
*/
|
|
15
|
+
export type HasTypename = {};
|
|
16
|
+
/**
|
|
17
|
+
* Base type for all data objects (reactive, ECHO, and other raw objects).
|
|
18
|
+
* NOTE: This describes the base type for all database objects.
|
|
19
|
+
* It is stricter than `T extends {}` or `T extends object`.
|
|
20
|
+
*/
|
|
21
|
+
export type AnyProperties = Record<string, any>;
|
|
22
|
+
/**
|
|
23
|
+
* Canonical type for all ECHO objects.
|
|
24
|
+
*/
|
|
25
|
+
export interface AnyEchoObject extends HasId, HasTypename {
|
|
26
|
+
}
|
|
27
|
+
export type WithId<T extends AnyProperties = AnyProperties> = T & HasId;
|
|
28
|
+
export type ExcludeId<T extends AnyProperties> = Omit<T, 'id'>;
|
|
29
|
+
export type PropertyKey<T extends AnyProperties> = Extract<keyof ExcludeId<T>, string>;
|
|
30
|
+
export type WithMeta = {
|
|
31
|
+
[ATTR_META]?: ObjectMeta;
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* The raw object should not include the ECHO id, but may include metadata.
|
|
35
|
+
*/
|
|
36
|
+
export declare const RawObject: <S extends Schema.Schema.AnyNoContext>(schema: S) => Schema.Schema<ExcludeId<Schema.Schema.Type<S>> & WithMeta, Schema.Schema.Encoded<S>>;
|
|
37
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/base.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEzD;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,EAAE,CAAC;AAE7B;;;;GAIG;AAIH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK,EAAE,WAAW;CAAG;AAG5D,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,IAAI,CAAC,GAAG,KAAK,CAAC;AAExE,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,aAAa,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAE/D,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,aAAa,IAAI,OAAO,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAGvF,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,EAC5D,QAAQ,CAAC,KACR,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAErF,CAAC"}
|
|
@@ -7,4 +7,6 @@ export declare enum EntityKind {
|
|
|
7
7
|
Relation = "relation"
|
|
8
8
|
}
|
|
9
9
|
export declare const EntityKindSchema: Schema.Enums<typeof EntityKind>;
|
|
10
|
-
|
|
10
|
+
export declare const KindId: unique symbol;
|
|
11
|
+
export type KindId = typeof KindId;
|
|
12
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAOxC;;GAEG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,gBAAgB,iCAA2B,CAAC;AAEzD,eAAO,MAAM,MAAM,EAAE,OAAO,MAA4B,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC"}
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import { ForeignKey } from '@dxos/echo-protocol';
|
|
3
3
|
import { type Comparator } from '@dxos/util';
|
|
4
|
-
import { type
|
|
4
|
+
import { type AnyProperties, type WithMeta } from './base';
|
|
5
|
+
/**
|
|
6
|
+
* Property name for meta when object is serialized to JSON.
|
|
7
|
+
*/
|
|
8
|
+
export declare const ATTR_META = "@meta";
|
|
9
|
+
/**
|
|
10
|
+
* Metadata section.
|
|
11
|
+
*/
|
|
12
|
+
export declare const MetaId: unique symbol;
|
|
5
13
|
export declare const ObjectMetaSchema: Schema.mutable<Schema.Struct<{
|
|
6
14
|
keys: Schema.mutable<Schema.Array$<Schema.Schema<{
|
|
7
|
-
readonly id: string;
|
|
8
15
|
readonly source: string;
|
|
9
|
-
}, {
|
|
10
16
|
readonly id: string;
|
|
17
|
+
}, {
|
|
11
18
|
readonly source: string;
|
|
19
|
+
readonly id: string;
|
|
12
20
|
}, never>>>;
|
|
13
21
|
/**
|
|
14
22
|
* A set of tags.
|
|
@@ -18,14 +26,15 @@ export declare const ObjectMetaSchema: Schema.mutable<Schema.Struct<{
|
|
|
18
26
|
tags: Schema.optional<Schema.mutable<Schema.Array$<typeof Schema.String>>>;
|
|
19
27
|
}>>;
|
|
20
28
|
export type ObjectMeta = Schema.Schema.Type<typeof ObjectMetaSchema>;
|
|
21
|
-
export declare const foreignKey: (source: string, id: string) => ForeignKey;
|
|
22
|
-
export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
|
|
23
29
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
* @deprecated Use {@link getMeta}.
|
|
30
|
+
* Utility to split meta property from raw object.
|
|
31
|
+
* @deprecated Bad API.
|
|
27
32
|
*/
|
|
28
|
-
export declare const
|
|
29
|
-
|
|
30
|
-
|
|
33
|
+
export declare const splitMeta: <T>(object: T & WithMeta) => {
|
|
34
|
+
object: T;
|
|
35
|
+
meta?: ObjectMeta;
|
|
36
|
+
};
|
|
37
|
+
export declare const foreignKey: (source: string, id: string) => ForeignKey;
|
|
38
|
+
export declare const foreignKeyEquals: (a: ForeignKey, b: ForeignKey) => boolean;
|
|
39
|
+
export declare const compareForeignKeys: Comparator<AnyProperties>;
|
|
31
40
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/meta.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,UAAU,EAAgB,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAE3D;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAOpD,eAAO,MAAM,gBAAgB;;;;;;;;IAIzB;;;;OAIG;;GAKN,CAAC;AACF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAerE;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,QAAQ,KAAG;IAAE,MAAM,EAAE,CAAC,CAAC;IAAC,IAAI,CAAC,EAAE,UAAU,CAAA;CAIjF,CAAC;AAMF,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,IAAI,MAAM,KAAG,UAA8B,CAAC;AACvF,eAAO,MAAM,gBAAgB,GAAI,GAAG,UAAU,EAAE,GAAG,UAAU,YAA2C,CAAC;AAGzG,eAAO,MAAM,kBAAkB,EAAE,UAAU,CAAC,aAAa,CACoB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Property name for typename when object is serialized to JSON.
|
|
3
|
+
*/
|
|
4
|
+
export declare const ATTR_TYPE = "@type";
|
|
5
|
+
/**
|
|
6
|
+
* DXN to the object type.
|
|
7
|
+
*/
|
|
8
|
+
export declare const TypeId: unique symbol;
|
|
9
|
+
/**
|
|
10
|
+
* Reference to the object schema.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SchemaId: unique symbol;
|
|
13
|
+
//# sourceMappingURL=typename.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typename.d.ts","sourceRoot":"","sources":["../../../../../src/internal/types/typename.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,SAAS,UAAU,CAAC;AAEjC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAgC,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,QAAQ,eAAkC,CAAC"}
|