@dxos/echo 0.8.4-main.d05539e30a → 0.8.4-main.d9fc60f731
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/README.md +4 -4
- package/dist/lib/neutral/Annotation.mjs +27 -6
- package/dist/lib/neutral/Database.mjs +6 -11
- package/dist/lib/neutral/Entity.mjs +25 -16
- package/dist/lib/neutral/Err.mjs +3 -3
- package/dist/lib/neutral/Feed.mjs +19 -17
- package/dist/lib/neutral/Filter.mjs +13 -13
- package/dist/lib/neutral/Format.mjs +23 -3
- package/dist/lib/neutral/JsonSchema.mjs +7 -8
- package/dist/lib/neutral/Key.mjs +9 -5
- package/dist/lib/neutral/Migration.mjs +11 -10
- package/dist/lib/neutral/Obj.mjs +21 -18
- package/dist/lib/neutral/Query.mjs +17 -17
- package/dist/lib/neutral/QueryResult.mjs +1 -1
- package/dist/lib/neutral/Ref.mjs +10 -11
- package/dist/lib/neutral/Registry.mjs +14 -0
- package/dist/lib/neutral/Relation.mjs +24 -23
- package/dist/lib/neutral/Scope.mjs +12 -0
- package/dist/lib/neutral/Tag.mjs +17 -14
- package/dist/lib/neutral/Type.mjs +52 -26
- package/dist/lib/neutral/chunk-3DKP2EIN.mjs +31 -0
- package/dist/lib/neutral/chunk-3DKP2EIN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4BB4MFCN.mjs +154 -0
- package/dist/lib/neutral/chunk-4BB4MFCN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-PT37DG2F.mjs → chunk-4SFPZJVA.mjs} +82 -74
- package/dist/lib/neutral/chunk-4SFPZJVA.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-APHSOTIX.mjs → chunk-4Z6GET2X.mjs} +3 -3
- package/dist/lib/neutral/{chunk-APHSOTIX.mjs.map → chunk-4Z6GET2X.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-7RVZT53K.mjs → chunk-7LOUAPYZ.mjs} +9 -5
- package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BMB7IHGB.mjs → chunk-7OAFN3OX.mjs} +70 -57
- package/dist/lib/neutral/chunk-7OAFN3OX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-MLS7U7AT.mjs → chunk-7PRCIDHH.mjs} +41 -28
- package/dist/lib/neutral/chunk-7PRCIDHH.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZISMEVKD.mjs → chunk-BBFJWWAV.mjs} +6 -6
- package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ZFACXBY6.mjs → chunk-BDQGMDIX.mjs} +30 -34
- package/dist/lib/neutral/chunk-BDQGMDIX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-CGTI5MXO.mjs +36 -0
- package/dist/lib/neutral/chunk-CGTI5MXO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-V72DY6LU.mjs → chunk-DKLUHO4T.mjs} +1 -1
- package/dist/lib/neutral/chunk-DKLUHO4T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DMN2CKPX.mjs +93 -0
- package/dist/lib/neutral/chunk-DMN2CKPX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs → chunk-G6CFWUYH.mjs} +2 -2
- package/dist/lib/neutral/chunk-H26LSXVJ.mjs +653 -0
- package/dist/lib/neutral/chunk-H26LSXVJ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-N7VOEPSV.mjs → chunk-J3MNM65T.mjs} +9 -9
- package/dist/lib/neutral/chunk-J3MNM65T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JE7AOSWF.mjs +247 -0
- package/dist/lib/neutral/chunk-JE7AOSWF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LAF3LSWI.mjs +379 -0
- package/dist/lib/neutral/chunk-LAF3LSWI.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LMNRFOVB.mjs +108 -0
- package/dist/lib/neutral/chunk-LMNRFOVB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-N4B7FHQT.mjs → chunk-O6BH7EPN.mjs} +30 -3
- package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-Q7ZL2P5H.mjs → chunk-OIYW7R2G.mjs} +62 -46
- package/dist/lib/neutral/chunk-OIYW7R2G.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-G54OX4IX.mjs → chunk-OYUG4FHF.mjs} +527 -847
- package/dist/lib/neutral/chunk-OYUG4FHF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-J54QMAKF.mjs → chunk-Q5FKCVBC.mjs} +64 -59
- package/dist/lib/neutral/chunk-Q5FKCVBC.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-FIWO2FZK.mjs → chunk-Q62IHV2N.mjs} +12 -7
- package/dist/lib/neutral/chunk-Q62IHV2N.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-SCPFDS2E.mjs → chunk-QVJDDG44.mjs} +65 -34
- package/dist/lib/neutral/chunk-QVJDDG44.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TRPZU2HV.mjs → chunk-TFEWTY5A.mjs} +155 -129
- package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-44HT3MEC.mjs → chunk-VKWOFXT2.mjs} +22 -2
- package/dist/lib/neutral/{chunk-44HT3MEC.mjs.map → chunk-VKWOFXT2.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-APJKDGFL.mjs → chunk-ZACMEAYV.mjs} +24 -24
- package/dist/lib/neutral/chunk-ZACMEAYV.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +50 -40
- package/dist/lib/neutral/internal/index.mjs +125 -64
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +88 -99
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- package/dist/types/src/Annotation.d.ts +108 -4
- package/dist/types/src/Annotation.d.ts.map +1 -1
- package/dist/types/src/Annotation.test.d.ts +2 -0
- package/dist/types/src/Annotation.test.d.ts.map +1 -0
- package/dist/types/src/Collection.d.ts +2 -3
- package/dist/types/src/Collection.d.ts.map +1 -1
- package/dist/types/src/Database.d.ts +50 -30
- package/dist/types/src/Database.d.ts.map +1 -1
- package/dist/types/src/Dataset.d.ts +16 -6
- package/dist/types/src/Dataset.d.ts.map +1 -1
- package/dist/types/src/Entity.d.ts +89 -19
- package/dist/types/src/Entity.d.ts.map +1 -1
- package/dist/types/src/Err.d.ts +9 -9
- package/dist/types/src/Err.d.ts.map +1 -1
- package/dist/types/src/Feed.d.ts +35 -12
- package/dist/types/src/Feed.d.ts.map +1 -1
- package/dist/types/src/Filter.d.ts +21 -8
- package/dist/types/src/Filter.d.ts.map +1 -1
- package/dist/types/src/Hypergraph.d.ts +13 -8
- package/dist/types/src/Hypergraph.d.ts.map +1 -1
- package/dist/types/src/Json.d.ts.map +1 -1
- package/dist/types/src/JsonSchema.d.ts +1 -1
- package/dist/types/src/JsonSchema.d.ts.map +1 -1
- package/dist/types/src/Key.d.ts +1 -1
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Migration.d.ts +15 -12
- package/dist/types/src/Migration.d.ts.map +1 -1
- package/dist/types/src/Obj.d.ts +69 -40
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Query.d.ts +24 -10
- package/dist/types/src/Query.d.ts.map +1 -1
- package/dist/types/src/QueryResult.d.ts +9 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +15 -8
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Registry.d.ts +131 -0
- package/dist/types/src/Registry.d.ts.map +1 -0
- package/dist/types/src/Relation.d.ts +55 -26
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Scope.d.ts +34 -0
- package/dist/types/src/Scope.d.ts.map +1 -0
- package/dist/types/src/StateMap.d.ts +32 -0
- package/dist/types/src/StateMap.d.ts.map +1 -0
- package/dist/types/src/StateMap.test.d.ts +2 -0
- package/dist/types/src/StateMap.test.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +19 -3
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/TagIndex.d.ts +36 -0
- package/dist/types/src/TagIndex.d.ts.map +1 -0
- package/dist/types/src/TagIndex.test.d.ts +2 -0
- package/dist/types/src/TagIndex.test.d.ts.map +1 -0
- package/dist/types/src/Tagging.d.ts +31 -0
- package/dist/types/src/Tagging.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +356 -95
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/View.d.ts +1 -4
- package/dist/types/src/View.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +6 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +68 -36
- package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
- package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
- package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/index.d.ts +4 -2
- package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/util.d.ts +13 -4
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/api.d.ts +3 -3
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/entity.d.ts +72 -8
- package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/guard.d.ts +10 -0
- package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/index.d.ts +2 -0
- package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/model.d.ts +18 -17
- package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/object.d.ts +3 -3
- package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/relation.d.ts +30 -7
- package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
- package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/type-uri.d.ts +25 -0
- package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
- package/dist/types/src/internal/Format/date.d.ts.map +1 -1
- package/dist/types/src/internal/Format/format.d.ts +3 -2
- package/dist/types/src/internal/Format/format.d.ts.map +1 -1
- package/dist/types/src/internal/Format/index.d.ts +2 -2
- package/dist/types/src/internal/Format/index.d.ts.map +1 -1
- package/dist/types/src/internal/Format/object.d.ts +3 -1
- package/dist/types/src/internal/Format/object.d.ts.map +1 -1
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts +2 -1
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/create-object.d.ts +11 -12
- package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/index.d.ts +0 -1
- package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
- package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
- package/dist/types/src/internal/Query.d.ts.map +1 -1
- package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
- package/dist/types/src/internal/Ref/ref.d.ts +29 -19
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
- package/dist/types/src/internal/Type/index.d.ts +1 -2
- package/dist/types/src/internal/Type/index.d.ts.map +1 -1
- package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
- package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
- package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
- package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
- package/dist/types/src/internal/common/api/meta.d.ts +11 -8
- package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
- package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/base.d.ts +4 -4
- package/dist/types/src/internal/common/types/entity.d.ts +59 -2
- package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/index.d.ts +1 -1
- package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/meta.d.ts +13 -7
- package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/model-symbols.d.ts +8 -4
- package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/typename.d.ts +7 -0
- package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
- package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
- package/dist/types/src/internal/index.d.ts +1 -0
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-schema.d.ts +32 -38
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts +5 -3
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +21 -23
- package/src/Annotation.test.ts +439 -0
- package/src/Annotation.ts +151 -4
- package/src/Collection.ts +5 -9
- package/src/Database.ts +86 -61
- package/src/Dataset.ts +10 -2
- package/src/Entity.test.ts +116 -6
- package/src/Entity.ts +116 -23
- package/src/Err.ts +4 -4
- package/src/Feed.ts +57 -40
- package/src/Filter.ts +49 -27
- package/src/Hypergraph.ts +13 -8
- package/src/Json.test.ts +4 -4
- package/src/Json.ts +7 -6
- package/src/Key.ts +1 -1
- package/src/Migration.ts +27 -19
- package/src/Obj.test.ts +19 -8
- package/src/Obj.ts +131 -70
- package/src/Query.test.ts +147 -151
- package/src/Query.ts +133 -75
- package/src/QueryResult.ts +11 -0
- package/src/Ref.ts +21 -5
- package/src/Registry.ts +155 -0
- package/src/Relation.test.ts +10 -10
- package/src/Relation.ts +89 -52
- package/src/Scope.ts +50 -0
- package/src/StateMap.test.ts +56 -0
- package/src/StateMap.ts +99 -0
- package/src/Tag.md +88 -0
- package/src/Tag.ts +49 -6
- package/src/TagIndex.test.ts +57 -0
- package/src/TagIndex.ts +110 -0
- package/src/Tagging.ts +83 -0
- package/src/Type.test.ts +223 -18
- package/src/Type.ts +601 -131
- package/src/View.ts +10 -19
- package/src/index.ts +6 -4
- package/src/internal/Annotation/annotations.test.ts +31 -11
- package/src/internal/Annotation/annotations.ts +122 -103
- package/src/internal/Annotation/dictionary.ts +47 -0
- package/src/internal/Annotation/entity-dictionary.ts +40 -0
- package/src/internal/Annotation/index.ts +4 -2
- package/src/internal/Annotation/util.ts +17 -8
- package/src/internal/Entity/api.ts +7 -7
- package/src/internal/Entity/entity.ts +196 -47
- package/src/internal/Entity/guard.ts +26 -0
- package/src/internal/Entity/index.ts +2 -0
- package/src/internal/Entity/model.ts +35 -28
- package/src/internal/Entity/object.ts +21 -5
- package/src/internal/Entity/relation.ts +68 -34
- package/src/internal/Entity/type-kind.ts +75 -0
- package/src/internal/Entity/type-uri.ts +87 -0
- package/src/internal/Entity/util.ts +10 -9
- package/src/internal/Format/date.ts +0 -4
- package/src/internal/Format/format.test.ts +21 -0
- package/src/internal/Format/index.ts +2 -3
- package/src/internal/Format/object.ts +21 -4
- package/src/internal/Format/types.ts +1 -1
- package/src/internal/JsonSchema/annotations.ts +1 -1
- package/src/internal/JsonSchema/json-schema.test.ts +54 -140
- package/src/internal/JsonSchema/json-schema.ts +44 -30
- package/src/internal/Obj/clone.ts +9 -4
- package/src/internal/Obj/create-object.test.ts +12 -10
- package/src/internal/Obj/create-object.ts +67 -22
- package/src/internal/Obj/index.ts +0 -1
- package/src/internal/Obj/inspect.ts +4 -3
- package/src/internal/Obj/json-serializer.test.ts +100 -21
- package/src/internal/Obj/json-serializer.ts +93 -38
- package/src/internal/Obj/set-value.test.ts +7 -30
- package/src/internal/Obj/snapshot.ts +11 -4
- package/src/internal/Obj/typed-object.test.ts +9 -11
- package/src/internal/Obj/typed-object.ts +1 -1
- package/src/internal/Query.ts +14 -11
- package/src/internal/Ref/ref-array.ts +3 -3
- package/src/internal/Ref/ref.test.ts +17 -26
- package/src/internal/Ref/ref.ts +107 -59
- package/src/internal/Type/compose.test.ts +3 -1
- package/src/internal/Type/index.ts +1 -2
- package/src/internal/Type/manipulation.ts +0 -25
- package/src/internal/Type/type-schema.ts +60 -0
- package/src/internal/common/README.md +1 -1
- package/src/internal/common/api/meta.ts +16 -14
- package/src/internal/common/proxy/change.test.ts +35 -27
- package/src/internal/common/proxy/handler.test.ts +1 -1
- package/src/internal/common/proxy/json-serializer.ts +26 -16
- package/src/internal/common/proxy/make-object.ts +43 -20
- package/src/internal/common/proxy/ownership.ts +2 -2
- package/src/internal/common/proxy/schema.test.ts +48 -86
- package/src/internal/common/proxy/typed-handler.test.ts +12 -11
- package/src/internal/common/proxy/typed-handler.ts +71 -9
- package/src/internal/common/proxy/typed-object.test.ts +15 -27
- package/src/internal/common/types/base.ts +4 -4
- package/src/internal/common/types/entity.ts +80 -1
- package/src/internal/common/types/index.ts +6 -1
- package/src/internal/common/types/meta.ts +37 -14
- package/src/internal/common/types/model-symbols.ts +16 -4
- package/src/internal/common/types/typename.ts +39 -3
- package/src/internal/common/types/well-known-types.ts +15 -0
- package/src/internal/index.ts +5 -0
- package/src/testing/api.test.ts +15 -9
- package/src/testing/test-data.ts +24 -24
- package/src/testing/test-schema.ts +22 -58
- package/src/testing/util.ts +14 -11
- package/dist/lib/neutral/Extension.mjs +0 -18
- package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
- package/dist/lib/neutral/chunk-5SL5LDLD.mjs +0 -47
- package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7RVZT53K.mjs.map +0 -7
- package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BICZKPQG.mjs +0 -7
- package/dist/lib/neutral/chunk-BICZKPQG.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +0 -7
- package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-GWFFC34K.mjs +0 -50
- package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +0 -7
- package/dist/lib/neutral/chunk-I2DARWPX.mjs +0 -128
- package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-J54QMAKF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MGSQGHOD.mjs +0 -206
- package/dist/lib/neutral/chunk-MGSQGHOD.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +0 -7
- package/dist/lib/neutral/chunk-N4B7FHQT.mjs.map +0 -7
- package/dist/lib/neutral/chunk-N7VOEPSV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-PSZBLH53.mjs +0 -81
- package/dist/lib/neutral/chunk-PSZBLH53.mjs.map +0 -7
- package/dist/lib/neutral/chunk-PT37DG2F.mjs.map +0 -7
- package/dist/lib/neutral/chunk-Q2KKKJSV.mjs +0 -56
- package/dist/lib/neutral/chunk-Q2KKKJSV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-Q7ZL2P5H.mjs.map +0 -7
- package/dist/lib/neutral/chunk-SCPFDS2E.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TNBK56IN.mjs +0 -350
- package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-V72DY6LU.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZFACXBY6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +0 -7
- package/dist/types/src/Extension.d.ts +0 -80
- package/dist/types/src/Extension.d.ts.map +0 -1
- package/dist/types/src/Extension.test.d.ts +0 -2
- package/dist/types/src/Extension.test.d.ts.map +0 -1
- package/dist/types/src/SchemaRegistry.d.ts +0 -84
- package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
- package/dist/types/src/internal/Obj/ids.d.ts +0 -6
- package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
- package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
- package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
- package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
- package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
- package/src/Extension.test.ts +0 -235
- package/src/Extension.ts +0 -122
- package/src/SchemaRegistry.ts +0 -106
- package/src/internal/Obj/ids.ts +0 -12
- package/src/internal/Type/echo-schema.ts +0 -423
- package/src/internal/Type/persistent-schema.ts +0 -33
- /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
- /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-QRZ2I3ZM.mjs.map → chunk-G6CFWUYH.mjs.map} +0 -0
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
|
-
import { type
|
|
3
|
-
import
|
|
2
|
+
import { DXN, type EntityId } from '@dxos/keys';
|
|
3
|
+
import type * as Obj from '../../Obj';
|
|
4
|
+
import type * as Type from '../../Type';
|
|
5
|
+
import { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, EntityKind, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type UnknownTypeSchema } from '../common/types';
|
|
4
6
|
export { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, };
|
|
5
7
|
import { type EchoTypeSchema } from './entity';
|
|
6
8
|
/**
|
|
@@ -18,18 +20,39 @@ export type RelationSourceTargetRefs<Source = any, Target = any> = {
|
|
|
18
20
|
};
|
|
19
21
|
export type RelationSource<R> = R extends RelationSourceTargetRefs<infer Source, infer _Target> ? Source : never;
|
|
20
22
|
export type RelationTarget<R> = R extends RelationSourceTargetRefs<infer _Source, infer Target> ? Target : never;
|
|
21
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Accepted relation endpoint: an object-kind `Type.Type` entity (slot-backed)
|
|
25
|
+
* or the branded `Obj.Unknown` schema. Source/target are constrained to these
|
|
26
|
+
* — relations only connect object-kind entities.
|
|
27
|
+
*/
|
|
28
|
+
export type RelationEndpoint = Type.AnyObj | UnknownTypeSchema<any, EntityKind.Object>;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves a relation endpoint to the instance type it describes — the source /
|
|
31
|
+
* target instance recorded on the relation's `RelationSourceTargetRefs`.
|
|
32
|
+
*/
|
|
33
|
+
export type RelationEndpointInstance<S> = S extends UnknownTypeSchema<infer A, any> ? A : S extends Type.AnyObj ? Type.InstanceType<S> : unknown;
|
|
34
|
+
export type EchoRelationSchemaOptions<TSource extends RelationEndpoint, TTarget extends RelationEndpoint> = {
|
|
35
|
+
dxn: DXN.DXN;
|
|
22
36
|
source: TSource;
|
|
23
37
|
target: TTarget;
|
|
38
|
+
/**
|
|
39
|
+
* Override the entity id stamped on the in-memory `Type.Type` value.
|
|
40
|
+
*
|
|
41
|
+
* Defaults to `EntityId.deterministic(typename, version)` — stable across processes
|
|
42
|
+
* and workerd-safe (no `crypto.getRandomValues()` at module-evaluation time).
|
|
43
|
+
*/
|
|
44
|
+
id?: EntityId;
|
|
24
45
|
};
|
|
25
46
|
/**
|
|
26
|
-
* Relation schema type with kind marker.
|
|
47
|
+
* Relation schema type with kind marker. `SourceInstance` / `TargetInstance`
|
|
48
|
+
* are the resolved endpoint instance types (see {@link RelationEndpointInstance}).
|
|
27
49
|
*/
|
|
28
|
-
export type EchoRelationSchema<Self extends Schema.Schema.Any,
|
|
50
|
+
export type EchoRelationSchema<Self extends Schema.Schema.Any, SourceInstance extends Obj.Unknown, TargetInstance extends Obj.Unknown, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, RelationSourceTargetRefs<SourceInstance, TargetInstance>, EntityKind.Relation, Fields>;
|
|
29
51
|
/**
|
|
30
52
|
* Schema for Relation entity types.
|
|
31
53
|
*/
|
|
32
|
-
export declare const EchoRelationSchema: <Source extends
|
|
54
|
+
export declare const EchoRelationSchema: <Source extends RelationEndpoint, Target extends RelationEndpoint>({ dxn, source, target, id: explicitId, }: EchoRelationSchemaOptions<Source, Target>) => <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
|
|
33
55
|
fields?: Fields;
|
|
34
|
-
}) => EchoRelationSchema<Self, Source
|
|
56
|
+
}) => EchoRelationSchema<Self, RelationEndpointInstance<Source>, RelationEndpointInstance<Target>, Fields>;
|
|
57
|
+
export declare const getDXNForRelationSchemaRef: (schema: Schema.Schema.Any) => DXN.DXN;
|
|
35
58
|
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/relation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { DXN } from '@dxos/keys';
|
|
3
|
+
import { EntityKind } from '../common/types';
|
|
4
|
+
import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
|
|
5
|
+
/**
|
|
6
|
+
* Type-kind schema marker — produced by {@link EchoTypeKindSchema}.
|
|
7
|
+
*
|
|
8
|
+
* Distinguishes meta-schemas (entities of `EntityKind.Type`, such as the
|
|
9
|
+
* built-in `Type.Type` TypeSchema) from object and relation types.
|
|
10
|
+
*/
|
|
11
|
+
export type EchoTypeKindSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Type, Fields>;
|
|
12
|
+
/**
|
|
13
|
+
* Pipeable that brands a schema as a type-kind ECHO entity. Mirrors
|
|
14
|
+
* {@link EchoObjectSchema} / {@link EchoRelationSchema}, but stamps the
|
|
15
|
+
* resulting entity with `[SchemaKindId]: EntityKind.Type` and a matching
|
|
16
|
+
* `TypeAnnotation.kind = 'type'` so meta-schemas surface uniformly through
|
|
17
|
+
* `Type.isTypeKind`, `Filter.type`, etc.
|
|
18
|
+
*/
|
|
19
|
+
export declare const EchoTypeKindSchema: {
|
|
20
|
+
(dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
|
|
21
|
+
fields?: Fields;
|
|
22
|
+
}) => EchoTypeKindSchema<Self, Fields>;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=type-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-kind.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-kind.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B,CACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAkCvC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { URI } from '@dxos/keys';
|
|
3
|
+
import { type AnyEntity, InstancePhantomId } from '../common/types';
|
|
4
|
+
/**
|
|
5
|
+
* @param input schema, `Type.Type` entity, or a typename string.
|
|
6
|
+
* @return type identifier URI — see {@link getSchemaURI}. For a typename string,
|
|
7
|
+
* always a DXN. For a `Type.Type` entity, the URI of the schema it declares,
|
|
8
|
+
* symmetric with what `Obj.make(typeEntity, ...)` stamps on `system.type`: a
|
|
9
|
+
* static declaration resolves to its typename DXN, a persisted entity to its
|
|
10
|
+
* local `echo:/<objectId>`.
|
|
11
|
+
*/
|
|
12
|
+
export declare const getTypeURIFromSpecifier: (input: Schema.Schema.All | AnyEntity | string) => URI.URI;
|
|
13
|
+
/**
|
|
14
|
+
* Checks if the object is an instance of the schema.
|
|
15
|
+
* Only typename is compared, the schema version is ignored.
|
|
16
|
+
*
|
|
17
|
+
* The following cases are considered to mean that the object is an instance of the schema:
|
|
18
|
+
* - Object was created with this exact schema.
|
|
19
|
+
* - Object was created with a different version of this schema.
|
|
20
|
+
* - Object was created with a different schema (maybe dynamic) that has the same typename.
|
|
21
|
+
*/
|
|
22
|
+
export declare const isInstanceOf: <S>(schemaOrType: S extends Schema.Schema.AnyNoContext ? S : Schema.Schema.AnyNoContext | AnyEntity, object: any) => object is S extends Schema.Schema.AnyNoContext ? Schema.Schema.Type<S> : S extends {
|
|
23
|
+
readonly [InstancePhantomId]?: infer A;
|
|
24
|
+
} ? A : unknown;
|
|
25
|
+
//# sourceMappingURL=type-uri.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-uri.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-uri.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAO,GAAG,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,SAAS,EAAE,iBAAiB,EAAuC,MAAM,iBAAiB,CAAC;AAGzG;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB,UAAW,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,MAAM,KAAG,GAAG,CAAC,GAmB3F,CAAC;AAEF;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,gBACd,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,UACvF,GAAG,KACV,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAClD,CAAC,GACD,OA0BL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AAUH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;GAAwC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,cAG5C,CAAC;AAEH;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AAUH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;GAAwC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,cAG5C,CAAC;AAEH;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ,2CA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAwBpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAuCpB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,QAAQ,2CAMpB,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as Keys from '@dxos/keys';
|
|
2
3
|
import * as NumberUtil from './number';
|
|
3
4
|
import * as ObjectUtil from './object';
|
|
4
5
|
import { TypeFormat as TypeFormat$ } from './types';
|
|
@@ -9,7 +10,7 @@ import { TypeFormat as TypeFormat$ } from './types';
|
|
|
9
10
|
*/
|
|
10
11
|
export declare namespace Format {
|
|
11
12
|
export import TypeFormat = TypeFormat$;
|
|
12
|
-
const DXN: Schema.
|
|
13
|
+
const DXN: Schema.Schema<Keys.DXN.DXN, Keys.DXN.DXN, never>;
|
|
13
14
|
const Email: Schema.refine<string, typeof Schema.String>;
|
|
14
15
|
const Formula: typeof Schema.String;
|
|
15
16
|
const Hostname: typeof Schema.String;
|
|
@@ -26,7 +27,7 @@ export declare namespace Format {
|
|
|
26
27
|
const DateTime: Schema.SchemaClass<string, string, never>;
|
|
27
28
|
const Duration: Schema.SchemaClass<string, string, never>;
|
|
28
29
|
const Time: Schema.SchemaClass<string, string, never>;
|
|
29
|
-
const GeoPoint: Schema.Tuple<[Schema.
|
|
30
|
+
const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
|
|
30
31
|
type GeoPoint = ObjectUtil.GeoPoint;
|
|
31
32
|
}
|
|
32
33
|
//# sourceMappingURL=format.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAKpD;;;;GAIG;AAEH,yBAAiB,MAAM,CAAC,CAAC;IACvB,MAAM,QAAQ,UAAU,GAAG,WAAW,CAAC;IAGhC,MAAM,GAAG,kDAAkB,CAAC;IAC5B,MAAM,KAAK,6CAAmB,CAAC;IAC/B,MAAM,OAAO,sBAAqB,CAAC;IACnC,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,IAAI,sBAAkB,CAAC;IAC7B,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,KAAK,sBAAmB,CAAC;IAC/B,MAAM,GAAG,6CAAiB,CAAC;IAC3B,MAAM,IAAI,oBAAc,CAAC;IAIzB,MAAM,QAAQ,8FAAsB,CAAC;IACrC,MAAM,OAAO,mDAAqB,CAAC;IACnC,MAAM,OAAO,uFAAqB,CAAC;IACnC,MAAM,SAAS,2CAAuB,CAAC;IAGvC,MAAM,IAAI,2CAAoB,CAAC;IAC/B,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,IAAI,2CAAoB,CAAC;IAG/B,MAAM,QAAQ,+UAAsB,CAAC;IAC5C,KAAY,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;CAC5C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from './date';
|
|
2
|
+
export * from './format';
|
|
2
3
|
export { CurrencyAnnotationId, DecimalPrecision, Currency } from './number';
|
|
3
4
|
export { GeoPoint, GeoLocation } from './object';
|
|
4
|
-
export * from './format';
|
|
5
5
|
export * from './select';
|
|
6
6
|
export * from './string';
|
|
7
7
|
export * from './types';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/index.ts"],"names":[],"mappings":"AAIA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -11,7 +11,9 @@ import * as Schema from 'effect/Schema';
|
|
|
11
11
|
* }
|
|
12
12
|
* Note: optional third element for altitude.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
/** Decimal places retained for stored coordinates (~1.1cm at the equator). */
|
|
15
|
+
export declare const GEO_PRECISION = 7;
|
|
16
|
+
export declare const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
|
|
15
17
|
export type GeoPoint = Schema.Schema.Type<typeof GeoPoint>;
|
|
16
18
|
export type GeoLocation = {
|
|
17
19
|
longitude: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;GAWG;AACH,8EAA8E;AAC9E,eAAO,MAAM,aAAa,IAAI,CAAC;AAe/B,eAAO,MAAM,QAAQ,+UAYpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,yBAAiB,WAAW,CAAC,CAAC;IAC5B;;;OAGG;IACI,MAAM,UAAU,oCAAqC,WAAW,KAAG,QAMzE,CAAC;IAEF;;OAEG;IACI,MAAM,YAAY,aAAc,QAAQ,GAAG,SAAS,KAAG,WAgB7D,CAAC;CACH"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import type * as Types from 'effect/Types';
|
|
3
|
+
import type * as Type from '../../Type';
|
|
3
4
|
import { type JsonSchemaType } from './json-schema-type';
|
|
4
5
|
export declare enum PropType {
|
|
5
6
|
NONE = 0,
|
|
@@ -20,7 +21,7 @@ export type JsonSchemaOptions = {
|
|
|
20
21
|
* NOTE: This handles custom annotations.
|
|
21
22
|
* @param schema
|
|
22
23
|
*/
|
|
23
|
-
export declare const toJsonSchema: (schema: Schema.Schema.All, options?: JsonSchemaOptions) => Types.DeepMutable<JsonSchemaType>;
|
|
24
|
+
export declare const toJsonSchema: (schema: Schema.Schema.All | Type.AnyEntity, options?: JsonSchemaOptions) => Types.DeepMutable<JsonSchemaType>;
|
|
24
25
|
/**
|
|
25
26
|
* Convert JSON schema to effect schema.
|
|
26
27
|
* @param root
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/JsonSchema/json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"json-schema.d.ts","sourceRoot":"","sources":["../../../../../src/internal/JsonSchema/json-schema.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAS3C,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AAYxC,OAAO,EAIL,KAAK,cAAc,EAEpB,MAAM,oBAAoB,CAAC;AAG5B,oBAAY,QAAQ;IAClB,IAAI,IAAI;IACR,MAAM,IAAI,CAAE,yBAAyB;IACrC,MAAM,IAAI;IACV,OAAO,IAAI;IACX,IAAI,IAAI;IACR,GAAG,IAAI;IACP,MAAM,IAAI;IACV,IAAI,IAAI;CACT;AAGD,eAAO,MAAM,UAAU,UAAW,QAAQ,KAAG,MAiB5C,CAAC;AAIF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AAIH,eAAO,MAAM,YAAY,WACf,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,YACjC,iBAAiB,KACzB,KAAK,CAAC,WAAW,CAAC,cAAc,CAgClC,CAAC;AAkEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,SAAU,cAAc,UAAU,cAAc,CAAC,OAAO,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,YA0GpG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/clone.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"clone.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/clone.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAMtC;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,YAAY,KAAG,CAkC1E,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
import type * as
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type * as Type from '../../Type';
|
|
2
|
+
import { KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
|
|
3
|
+
import { MetaId, type EntityMeta } from '../common/types/meta';
|
|
4
|
+
export type CreateObjectProps<T> = (T extends {
|
|
4
5
|
id: string;
|
|
5
|
-
} ? Omit<T, 'id' | KindId> & {
|
|
6
|
+
} ? Omit<T, 'id' | KindId | SchemaKindId | StaticTypeSchemaSlot> & {
|
|
6
7
|
id?: string;
|
|
7
|
-
} : T
|
|
8
|
+
} : Omit<T, KindId | SchemaKindId | StaticTypeSchemaSlot>) & {
|
|
9
|
+
readonly [MetaId]?: Partial<EntityMeta>;
|
|
10
|
+
};
|
|
8
11
|
/**
|
|
9
12
|
* Creates a new object instance from a schema and data, without signal reactivity.
|
|
10
13
|
* This static version creates plain JavaScript objects that are not reactive/observable.
|
|
@@ -21,10 +24,7 @@ export type CreateObjectProps<T> = T extends {
|
|
|
21
24
|
* const Contact = Schema.Struct({
|
|
22
25
|
* name: Schema.String,
|
|
23
26
|
* email: Schema.String,
|
|
24
|
-
* }).pipe(Type.
|
|
25
|
-
* typename: 'com.example.type.person',
|
|
26
|
-
* version: '0.1.0',
|
|
27
|
-
* }))
|
|
27
|
+
* }).pipe(Type.makeObject(DXN.make('com.example.type.person', '0.1.0')))
|
|
28
28
|
*
|
|
29
29
|
* const contact = createObject(Contact, {
|
|
30
30
|
* name: "John",
|
|
@@ -32,8 +32,7 @@ export type CreateObjectProps<T> = T extends {
|
|
|
32
32
|
* })
|
|
33
33
|
* ```
|
|
34
34
|
*/
|
|
35
|
-
export declare const createObject:
|
|
36
|
-
|
|
37
|
-
[KindId]: EntityKind;
|
|
35
|
+
export declare const createObject: {
|
|
36
|
+
<T extends Type.AnyEntity>(input: T, props: NoInfer<CreateObjectProps<Type.InstanceType<T>>>): Type.InstanceType<T>;
|
|
38
37
|
};
|
|
39
38
|
//# sourceMappingURL=create-object.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AAGxC,OAAO,EAEL,MAAM,EACN,YAAY,EACZ,oBAAoB,EAIrB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAiB/D,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GACxD,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,GAAG;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9E,IAAI,CAAC,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,oBAAoB,CAAC,CAAC,GAAG;IAC3D,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAqErH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type EncodedReference,
|
|
2
|
-
import {
|
|
1
|
+
import { type EncodedReference, EntityStructure } from '@dxos/echo-protocol';
|
|
2
|
+
import { EntityId, URI } from '@dxos/keys';
|
|
3
3
|
import type * as Database from '../../Database';
|
|
4
4
|
import type * as Obj from '../../Obj';
|
|
5
5
|
import { attachTypedJsonSerializer } from '../common/proxy';
|
|
@@ -27,19 +27,19 @@ export declare const objectToJSON: <T extends AnyEntity>(obj: T) => SerializedOb
|
|
|
27
27
|
*
|
|
28
28
|
* @param jsonData - JSON representation of the object.
|
|
29
29
|
* @param options.refResolver - Resolver for references.
|
|
30
|
-
* @param options.
|
|
30
|
+
* @param options.uri - Override object URI.
|
|
31
31
|
* @param options.database - Database to associate with the object.
|
|
32
32
|
*/
|
|
33
|
-
export declare const objectFromJSON: (jsonData: unknown, { refResolver,
|
|
33
|
+
export declare const objectFromJSON: (jsonData: unknown, { refResolver, uri, database, parent, }?: {
|
|
34
34
|
refResolver?: RefResolver;
|
|
35
|
-
|
|
35
|
+
uri?: URI.URI;
|
|
36
36
|
database?: Database.Database;
|
|
37
37
|
parent?: Obj.Unknown;
|
|
38
38
|
}) => Promise<AnyEntity>;
|
|
39
39
|
export declare const setRefResolverOnData: (obj: AnyEntity, refResolver: RefResolver) => void;
|
|
40
40
|
/**
|
|
41
|
-
* Convert
|
|
42
|
-
* Different from {@link objectToJSON} as it takes the internal {@link
|
|
41
|
+
* Convert EntityStructure to JSON data for indexing.
|
|
42
|
+
* Different from {@link objectToJSON} as it takes the internal {@link EntityStructure} representation directly
|
|
43
43
|
*/
|
|
44
|
-
export declare const objectStructureToJson: (objectId:
|
|
44
|
+
export declare const objectStructureToJson: (objectId: EntityId, structure: EntityStructure) => Obj.JSON;
|
|
45
45
|
//# sourceMappingURL=json-serializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"json-serializer.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,gBAAgB,EAAE,eAAe,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,OAAO,EAAO,QAAQ,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGhD,OAAO,KAAK,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,yBAAyB,EAA6C,MAAM,iBAAiB,CAAC;AACvG,OAAO,EAGL,KAAK,SAAS,EAMf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAOL,KAAK,UAAU,EAOhB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,GAAG,EAAE,KAAK,WAAW,EAA2C,MAAM,QAAQ,CAAC;AAGxF,OAAO,EAAE,yBAAyB,EAAE,CAAC;AAErC,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,SAAS,OAAO,CAAC,KAAG,gBAAgB,CAAC,CAAC,CAI5E,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc,aACf,OAAO,4CAMd;IAAE,WAAW,CAAC,EAAE,WAAW,CAAC;IAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CAAE,KAClG,OAAO,CAAC,SAAS,CAiGnB,CAAC;AA6DF,eAAO,MAAM,oBAAoB,QAAS,SAAS,eAAe,WAAW,SAU5E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,aAAc,QAAQ,aAAa,eAAe,KAAG,GAAG,CAAC,IAc1F,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/snapshot.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"snapshot.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/snapshot.ts"],"names":[],"mappings":"AAsDA;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,OAAO,CAAC,KAAG,CAqDtD,CAAC"}
|
|
@@ -6,7 +6,7 @@ import { type AnyEntity } from '../common/types';
|
|
|
6
6
|
* Implements effect schema to define object properties.
|
|
7
7
|
* Has a typename and version.
|
|
8
8
|
*
|
|
9
|
-
* In contrast to
|
|
9
|
+
* In contrast to a stored `Type.Type` entity, this definition is not recorded in the database.
|
|
10
10
|
*
|
|
11
11
|
* @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../../src/internal/Query.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY,WAAY,QAAQ,CAAC,MAAM,KAAG,MAgEtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW,QAAQ,CAAC,KAAK,KAAG,
|
|
1
|
+
{"version":3,"file":"Query.d.ts","sourceRoot":"","sources":["../../../../src/internal/Query.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,YAAY,WAAY,QAAQ,CAAC,MAAM,KAAG,MAgEtD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,UAAW,QAAQ,CAAC,KAAK,KAAG,MAgFnD,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type EntityId } from '@dxos/keys';
|
|
2
2
|
import { type AnyEntity } from '../common/types';
|
|
3
3
|
import { Ref } from './ref';
|
|
4
4
|
/**
|
|
@@ -16,6 +16,6 @@ export declare const RefArray: Readonly<{
|
|
|
16
16
|
/**
|
|
17
17
|
* Removes the ref with the given id.
|
|
18
18
|
*/
|
|
19
|
-
removeById: (refs: Ref<AnyEntity>[], id:
|
|
19
|
+
removeById: (refs: Ref<AnyEntity>[], id: EntityId) => void;
|
|
20
20
|
}>;
|
|
21
21
|
//# sourceMappingURL=ref-array.d.ts.map
|
|
@@ -6,8 +6,9 @@ import * as SchemaAST from 'effect/SchemaAST';
|
|
|
6
6
|
import type * as Types from 'effect/Types';
|
|
7
7
|
import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
|
|
8
8
|
import { EncodedReference } from '@dxos/echo-protocol';
|
|
9
|
-
import {
|
|
10
|
-
import type
|
|
9
|
+
import { EntityId, type URI } from '@dxos/keys';
|
|
10
|
+
import type * as Type from '../../Type';
|
|
11
|
+
import { type AnyEntity, type AnyProperties, type UnknownTypeSchema } from '../common/types';
|
|
11
12
|
import { type JsonSchemaType } from '../JsonSchema';
|
|
12
13
|
/**
|
|
13
14
|
* The `$id` and `$ref` fields for an ECHO reference schema.
|
|
@@ -41,7 +42,7 @@ export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T
|
|
|
41
42
|
* Type of the `Ref` function and extra methods attached to it.
|
|
42
43
|
*/
|
|
43
44
|
export interface RefFn {
|
|
44
|
-
<S extends
|
|
45
|
+
<S extends Type.AnyEntity | UnknownTypeSchema<any, any> = Type.AnyEntity>(schema: S): RefSchema<S extends Type.AnyType ? Type.AnyEntity : S extends Type.AnyObj | Type.AnyRelation ? Type.InstanceType<S> : S extends UnknownTypeSchema<infer A, any> ? A : never>;
|
|
45
46
|
/**
|
|
46
47
|
* @returns True if the object is a reference.
|
|
47
48
|
*/
|
|
@@ -49,7 +50,7 @@ export interface RefFn {
|
|
|
49
50
|
/**
|
|
50
51
|
* @returns True if the reference points to the given object id.
|
|
51
52
|
*/
|
|
52
|
-
|
|
53
|
+
hasEntityId: (id: EntityId) => (ref: Ref<any>) => boolean;
|
|
53
54
|
/**
|
|
54
55
|
* @returns True if the schema is a reference schema.
|
|
55
56
|
*/
|
|
@@ -63,9 +64,10 @@ export interface RefFn {
|
|
|
63
64
|
*/
|
|
64
65
|
make: <T extends AnyEntity>(object: T) => Ref<T>;
|
|
65
66
|
/**
|
|
66
|
-
* Constructs a reference that points to the object specified by the provided
|
|
67
|
+
* Constructs a reference that points to the object specified by the provided URI
|
|
68
|
+
* (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
|
|
67
69
|
*/
|
|
68
|
-
|
|
70
|
+
fromURI: (uri: URI.URI) => Ref<any>;
|
|
69
71
|
}
|
|
70
72
|
/**
|
|
71
73
|
* Schema builder for references.
|
|
@@ -77,9 +79,9 @@ export declare const Ref: RefFn;
|
|
|
77
79
|
*/
|
|
78
80
|
export interface Ref<T> extends Pipeable.Pipeable {
|
|
79
81
|
/**
|
|
80
|
-
* Target object DXN.
|
|
82
|
+
* Target URI (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
|
|
81
83
|
*/
|
|
82
|
-
get
|
|
84
|
+
get uri(): URI.URI;
|
|
83
85
|
/**
|
|
84
86
|
* Returns true if the reference has a target available (inlined or resolver set).
|
|
85
87
|
*/
|
|
@@ -155,24 +157,32 @@ export interface RefResolver {
|
|
|
155
157
|
/**
|
|
156
158
|
* Resolve ref synchronously from the objects in the working set.
|
|
157
159
|
*
|
|
158
|
-
* @param
|
|
160
|
+
* @param uri
|
|
159
161
|
* @param load If true the resolver should attempt to load the object from disk.
|
|
160
162
|
* @param onLoad Callback to call when the object is loaded.
|
|
161
163
|
*/
|
|
162
|
-
resolveSync(
|
|
164
|
+
resolveSync(uri: URI.URI, load: boolean, onLoad?: () => void): AnyProperties | undefined;
|
|
163
165
|
/**
|
|
164
166
|
* Resolver ref asynchronously.
|
|
165
167
|
*/
|
|
166
|
-
resolve(
|
|
167
|
-
resolveSchema(
|
|
168
|
+
resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
|
|
169
|
+
resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
170
|
+
/**
|
|
171
|
+
* Resolve the source `Type.AnyEntity` entity for a type URI. Used by
|
|
172
|
+
* deserialization paths (`Obj.fromJSON`) to set the back-reference accessed
|
|
173
|
+
* via `Obj.getType` / `Entity.getType`. Optional — resolvers that only
|
|
174
|
+
* carry raw schemas may leave this unimplemented; the deserializer falls
|
|
175
|
+
* back to leaving the type entity unset.
|
|
176
|
+
*/
|
|
177
|
+
resolveType?(uri: URI.URI): Promise<unknown | undefined>;
|
|
168
178
|
}
|
|
169
179
|
export declare class RefImpl<T> implements Ref<T> {
|
|
170
180
|
#private;
|
|
171
|
-
constructor(
|
|
181
|
+
constructor(uri: URI.URI, target?: T);
|
|
172
182
|
/**
|
|
173
183
|
* @inheritdoc
|
|
174
184
|
*/
|
|
175
|
-
get
|
|
185
|
+
get uri(): URI.URI;
|
|
176
186
|
/**
|
|
177
187
|
* @inheritdoc
|
|
178
188
|
*/
|
|
@@ -234,11 +244,11 @@ export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undef
|
|
|
234
244
|
export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
|
|
235
245
|
export declare class StaticRefResolver implements RefResolver {
|
|
236
246
|
objects: Map<string, AnyProperties>;
|
|
237
|
-
schemas: Map<
|
|
247
|
+
schemas: Map<URI.URI, Schema.Schema.AnyNoContext>;
|
|
238
248
|
addObject(obj: AnyProperties): this;
|
|
239
|
-
addSchema(
|
|
240
|
-
resolveSync(
|
|
241
|
-
resolve(
|
|
242
|
-
resolveSchema(
|
|
249
|
+
addSchema(input: Type.AnyEntity): this;
|
|
250
|
+
resolveSync(uri: URI.URI, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
|
|
251
|
+
resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
|
|
252
|
+
resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
243
253
|
}
|
|
244
254
|
//# sourceMappingURL=ref.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAG3C,OAAO,EAAE,KAAK,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAY,QAAQ,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAG1D,OAAO,KAAK,KAAK,IAAI,MAAM,YAAY,CAAC;AAOxC,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,aAAa,EAAE,KAAK,iBAAiB,EAAuB,MAAM,iBAAiB,CAAC;AAClH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D,eAAO,MAAM,kBAAkB,aAAc,cAAc,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GAAG,SAOpF,CAAC;AAEF,eAAO,MAAM,qBAAqB,aAAc,MAAM,KAAG,KAAK,CAAC,WAAW,CAAC,cAAc,CASxF,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,eAAe,QAAS,SAAS,CAAC,GAAG,KAAG,WAAW,GAAG,SAQlE,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OAAO,MAA0C,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,CAAE,SAAQ,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC;CAAG;AAEvG;;GAEG;AACH,MAAM,WAAW,KAAK;IAWpB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EACtE,MAAM,EAAE,CAAC,GACR,SAAS,CACV,CAAC,SAAS,IAAI,CAAC,OAAO,GAClB,IAAI,CAAC,SAAS,GACd,CAAC,SAAS,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,GACtC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACpB,CAAC,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GACvC,CAAC,GACD,KAAK,CACd,CAAC;IAEF;;OAEG;IACH,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;IAEzC;;OAEG;IACH,WAAW,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC;IAE1D;;OAEG;IACH,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,MAAM,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC;IAE3E;;OAEG;IACH,cAAc,EAAE,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,KAAK,OAAO,CAAC;IAEhD;;OAEG;IAEH,IAAI,EAAE,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAEjD;;;OAGG;IACH,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE,KAWjB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,CAAC,CAAE,SAAQ,QAAQ,CAAC,QAAQ;IAC/C;;OAEG;IACH,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC;IAEnB;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAAC;IAE3B;;;;OAIG;IACH,IAAI,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAE5B;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;IAEnB;;OAEG;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC;IAElC;;;;;;;OAOG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAE7C;;;;;;;;;;OAUG;IACH,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAEnB;;;;;;;;;OASG;IACH,MAAM,IAAI,gBAAgB,CAAC;IAE3B,CAAC,SAAS,CAAC,EAAE;QACX,EAAE,EAAE,CAAC,CAAC;KACP,CAAC;CACH;AAED,MAAM,CAAC,OAAO,WAAW,GAAG,CAAC,CAAC;IAC5B;;OAEG;IACH,KAAY,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;CAC5D;AAoCD;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAwFF,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,IAAI,GAAG,aAAa,GAAG,SAAS,CAAC;IAEzF;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAG1D,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE7E;;;;;;OAMG;IACH,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;CAC1D;AAED,qBAAa,OAAO,CAAC,CAAC,CAAE,YAAW,GAAG,CAAC,CAAC,CAAC;;IAkBvC,YAAY,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,EAGnC;IAED;;OAEG;IACH,IAAI,GAAG,IAAI,GAAG,CAAC,GAAG,CAEjB;IAED;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,CAAC,GAAG,SAAS,CAO1B;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAUvB;IAED;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAMtC;IAED;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAE3C;IAED;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,CAIrB;IAED,MAAM,IAAI,gBAAgB,CAKzB;IAED;;;;;OAKG;IACH,MAAM,IAAI,gBAAgB,CAEzB;IAED,QAAQ,IAAI,MAAM,CAMjB;IAED,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAEpC;IAEF,CAAC,SAAS,CAAC;;MAAe;IAE1B;;;;;OAKG;IACH,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,CAEtB;IAED,iEAAiE;IACjE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,GAAG,OAAO,CAEzC;IAkBD,IAAI,YAGH;CACF;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,QAAS,GAAG,CAAC,GAAG,CAAC,YAAY,WAAW,SAGlE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAS,GAAG,CAAC,GAAG,CAAC,KAAG,aAAa,GAAG,SAGjE,CAAC;AAOF,eAAO,MAAM,uBAAuB,qBAAsB,gBAAgB,aAAa,WAAW,KAAG,GAAG,CAAC,GAAG,CAU3G,CAAC;AAEF,qBAAa,iBAAkB,YAAW,WAAW;IAC5C,OAAO,6BAAsC;IAC7C,OAAO,2CAAkD;IAEhE,SAAS,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAGlC;IAED,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAOrC;IAED,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,aAAa,GAAG,SAAS,CAQzF;IAEK,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAQ9D;IAEK,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,CAEjF;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/index.ts"],"names":[],"mappings":"AAIA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
|
|
@@ -6,5 +6,4 @@ export declare const updateFieldNameInSchema: (schema: Schema.Schema.AnyNoContex
|
|
|
6
6
|
before: PropertyKey;
|
|
7
7
|
after: PropertyKey;
|
|
8
8
|
}) => Schema.Schema.AnyNoContext;
|
|
9
|
-
export declare const setTypenameInSchema: (schema: Schema.Schema.AnyNoContext, typename: string) => Schema.Schema.AnyNoContext;
|
|
10
9
|
//# sourceMappingURL=manipulation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"manipulation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/manipulation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,eAAO,MAAM,iBAAiB,WACpB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAKhB,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,CAAC,MAAM,CAAC,YAAY,UAC1B,MAAM,CAAC,MAAM,CAAC,MAAM,KAC3B,MAAM,CAAC,MAAM,CAAC,YAgBhB,CAAC;AAEF,eAAO,MAAM,sBAAsB,WACzB,MAAM,CAAC,MAAM,CAAC,YAAY,cACtB,MAAM,EAAE,KACnB,MAAM,CAAC,MAAM,CAAC,YAEhB,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAC1B,MAAM,CAAC,MAAM,CAAC,YAAY,qBACf;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,WAAW,CAAA;CAAE,KAC7D,MAAM,CAAC,MAAM,CAAC,YAehB,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { EntityKind, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
|
|
3
|
+
import { EchoTypeKindSchema } from '../Entity';
|
|
4
|
+
import { JsonSchemaType } from '../JsonSchema';
|
|
5
|
+
/**
|
|
6
|
+
* Raw struct backing {@link TypeSchema}. Exposed only so `TypeSchema`
|
|
7
|
+
* (the TS type) can derive its data fields via `Schema.Schema.Type<typeof ...>`;
|
|
8
|
+
* runtime callers should use {@link TypeSchema} (the piped, branded entity).
|
|
9
|
+
*
|
|
10
|
+
* `typename` and `version` are NOT data fields — they live in `EntityMeta.key` /
|
|
11
|
+
* `EntityMeta.version` (the canonical registry-provenance pair, queryable via
|
|
12
|
+
* `Filter.key(...)`). The same `jsonSchema` payload also embeds them so a
|
|
13
|
+
* standalone JSON-Schema export remains self-describing, but the schema-registry
|
|
14
|
+
* reads/writes them through meta.
|
|
15
|
+
*/
|
|
16
|
+
declare const TypeSchemaStruct: Schema.Struct<{
|
|
17
|
+
name: Schema.optional<typeof Schema.String>;
|
|
18
|
+
jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Persistent representation of a schema.
|
|
22
|
+
*/
|
|
23
|
+
export declare const TypeSchema: EchoTypeKindSchema<Schema.Struct<{
|
|
24
|
+
name: Schema.optional<typeof Schema.String>;
|
|
25
|
+
jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
|
|
26
|
+
}>, Readonly<{
|
|
27
|
+
name: Schema.optional<typeof Schema.String>;
|
|
28
|
+
jsonSchema: Schema.Schema<JsonSchemaType, JsonSchemaType, never>;
|
|
29
|
+
}>>;
|
|
30
|
+
/**
|
|
31
|
+
* Persistent representation of a schema — the runtime shape that
|
|
32
|
+
* `db.addType(Type.makeObjectFromJsonSchema(...))` produces
|
|
33
|
+
* and `Filter.type(Type.Type).run()` returns.
|
|
34
|
+
*
|
|
35
|
+
* Structurally identical to a static `Type.Type` entity: the entity-handler's
|
|
36
|
+
* `get` trap exposes `[SchemaKindId]` (derived from `system.kind` and
|
|
37
|
+
* `data.jsonSchema.entityKind`) and rebuilds `[StaticTypeSchemaSlot]` lazily
|
|
38
|
+
* from `jsonSchema`, so a persisted instance satisfies the public `Type<A>`
|
|
39
|
+
* interface without casting.
|
|
40
|
+
*/
|
|
41
|
+
export type TypeSchema = Schema.Schema.Type<typeof TypeSchemaStruct> & {
|
|
42
|
+
/** Object identifier — injected by `EchoTypeKindSchema` and stamped at construction. */
|
|
43
|
+
readonly id: string;
|
|
44
|
+
/** Entity-kind discriminator (object/relation/type) carried on every entity instance. */
|
|
45
|
+
readonly [KindId]: EntityKind.Type;
|
|
46
|
+
/** Kind of schema described by this meta-instance — always `EntityKind.Type` for `Type.Type` itself. */
|
|
47
|
+
readonly [SchemaKindId]: EntityKind.Type;
|
|
48
|
+
/** Effect Schema rebuilt lazily from `jsonSchema`; satisfies `Type.getSchema(...)` without an extra cast. */
|
|
49
|
+
readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
|
|
50
|
+
};
|
|
51
|
+
export {};
|
|
52
|
+
//# sourceMappingURL=type-schema.d.ts.map
|