@dxos/echo 0.8.4-main.fffef41 → 0.8.4-staging.60fe92afc8
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/LICENSE +102 -5
- package/README.md +10 -11
- package/dist/lib/neutral/Annotation.mjs +68 -0
- package/dist/lib/neutral/Database.mjs +38 -0
- package/dist/lib/neutral/Entity.mjs +72 -0
- package/dist/lib/neutral/Err.mjs +12 -0
- package/dist/lib/neutral/Feed.mjs +54 -0
- package/dist/lib/neutral/Filter.mjs +70 -0
- package/dist/lib/neutral/Format.mjs +86 -0
- package/dist/lib/neutral/Format.mjs.map +7 -0
- package/dist/lib/neutral/JsonSchema.mjs +18 -0
- package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
- package/dist/lib/neutral/Key.mjs +16 -0
- package/dist/lib/neutral/Key.mjs.map +7 -0
- package/dist/lib/neutral/Migration.mjs +18 -0
- package/dist/lib/neutral/Migration.mjs.map +7 -0
- package/dist/lib/neutral/Obj.mjs +122 -0
- package/dist/lib/neutral/Obj.mjs.map +7 -0
- package/dist/lib/neutral/Order.mjs +16 -0
- package/dist/lib/neutral/Order.mjs.map +7 -0
- package/dist/lib/neutral/Query.mjs +38 -0
- package/dist/lib/neutral/Query.mjs.map +7 -0
- package/dist/lib/neutral/QueryResult.mjs +2 -0
- package/dist/lib/neutral/QueryResult.mjs.map +7 -0
- package/dist/lib/neutral/Ref.mjs +25 -0
- package/dist/lib/neutral/Ref.mjs.map +7 -0
- package/dist/lib/neutral/Registry.mjs +14 -0
- package/dist/lib/neutral/Registry.mjs.map +7 -0
- package/dist/lib/neutral/Relation.mjs +97 -0
- package/dist/lib/neutral/Relation.mjs.map +7 -0
- package/dist/lib/neutral/Scope.mjs +12 -0
- package/dist/lib/neutral/Scope.mjs.map +7 -0
- package/dist/lib/neutral/Tag.mjs +32 -0
- package/dist/lib/neutral/Tag.mjs.map +7 -0
- package/dist/lib/neutral/Type.mjs +65 -0
- package/dist/lib/neutral/Type.mjs.map +7 -0
- package/dist/lib/neutral/chunk-35INCYOE.mjs +7 -0
- package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-3PBP4V4O.mjs +101 -0
- package/dist/lib/neutral/chunk-3PBP4V4O.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4ZUHOTCG.mjs +184 -0
- package/dist/lib/neutral/chunk-4ZUHOTCG.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5SMDBFVB.mjs +108 -0
- package/dist/lib/neutral/chunk-5SMDBFVB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5SUJPHAE.mjs +34 -0
- package/dist/lib/neutral/chunk-5SUJPHAE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-6M2Z6WBH.mjs +93 -0
- package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-6YDI3J37.mjs +346 -0
- package/dist/lib/neutral/chunk-6YDI3J37.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7FPIAJIV.mjs +2279 -0
- package/dist/lib/neutral/chunk-7FPIAJIV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7LOUAPYZ.mjs +25 -0
- package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7PI7C4EF.mjs +747 -0
- package/dist/lib/neutral/chunk-7PI7C4EF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BBFJWWAV.mjs +51 -0
- package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EVK6XBXO.mjs +56 -0
- package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
- package/dist/lib/neutral/chunk-IGK6FN65.mjs +27 -0
- package/dist/lib/neutral/chunk-IGK6FN65.mjs.map +7 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LWXVKPPW.mjs +281 -0
- package/dist/lib/neutral/chunk-LWXVKPPW.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MZ7K3MLL.mjs +48 -0
- package/dist/lib/neutral/chunk-MZ7K3MLL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-O6BH7EPN.mjs +94 -0
- package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QQIYS74I.mjs +336 -0
- package/dist/lib/neutral/chunk-QQIYS74I.mjs.map +7 -0
- package/dist/lib/neutral/chunk-R5W6DXR4.mjs +678 -0
- package/dist/lib/neutral/chunk-R5W6DXR4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-RIVWNMSF.mjs +41 -0
- package/dist/lib/neutral/chunk-RIVWNMSF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SBVFRTST.mjs +160 -0
- package/dist/lib/neutral/chunk-SBVFRTST.mjs.map +7 -0
- package/dist/lib/neutral/chunk-T6E37YIP.mjs +251 -0
- package/dist/lib/neutral/chunk-T6E37YIP.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TFEWTY5A.mjs +428 -0
- package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TYGKCRMK.mjs +437 -0
- package/dist/lib/neutral/chunk-TYGKCRMK.mjs.map +7 -0
- package/dist/lib/neutral/chunk-UUP46KUQ.mjs +205 -0
- package/dist/lib/neutral/chunk-UUP46KUQ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
- package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WTQJHC75.mjs +395 -0
- package/dist/lib/neutral/chunk-WTQJHC75.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
- package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZGNNFYHS.mjs +132 -0
- package/dist/lib/neutral/chunk-ZGNNFYHS.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +111 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/internal/index.mjs +539 -0
- package/dist/lib/neutral/internal/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/testing/index.mjs +458 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/Annotation.d.ts +128 -0
- package/dist/types/src/Annotation.d.ts.map +1 -0
- 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 +15 -0
- package/dist/types/src/Collection.d.ts.map +1 -0
- package/dist/types/src/Database.d.ts +208 -0
- package/dist/types/src/Database.d.ts.map +1 -0
- package/dist/types/src/Dataset.d.ts +29 -0
- package/dist/types/src/Dataset.d.ts.map +1 -0
- package/dist/types/src/Entity.d.ts +247 -0
- package/dist/types/src/Entity.d.ts.map +1 -0
- package/dist/types/src/Entity.test.d.ts +2 -0
- package/dist/types/src/Entity.test.d.ts.map +1 -0
- package/dist/types/src/Err.d.ts +107 -0
- package/dist/types/src/Err.d.ts.map +1 -0
- package/dist/types/src/Feed.d.ts +229 -0
- package/dist/types/src/Feed.d.ts.map +1 -0
- package/dist/types/src/Filter.d.ts +175 -0
- package/dist/types/src/Filter.d.ts.map +1 -0
- package/dist/types/src/Filter.test.d.ts +2 -0
- package/dist/types/src/Filter.test.d.ts.map +1 -0
- package/dist/types/src/Format.d.ts +2 -0
- package/dist/types/src/Format.d.ts.map +1 -0
- package/dist/types/src/Hypergraph.d.ts +70 -0
- package/dist/types/src/Hypergraph.d.ts.map +1 -0
- package/dist/types/src/Json.d.ts +33 -0
- package/dist/types/src/Json.d.ts.map +1 -0
- package/dist/types/src/Json.test.d.ts +2 -0
- package/dist/types/src/Json.test.d.ts.map +1 -0
- package/dist/types/src/JsonSchema.d.ts +16 -0
- package/dist/types/src/JsonSchema.d.ts.map +1 -0
- package/dist/types/src/Key.d.ts +2 -1
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Migration.d.ts +72 -0
- package/dist/types/src/Migration.d.ts.map +1 -0
- package/dist/types/src/Obj.d.ts +483 -110
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Obj.test.d.ts +2 -0
- package/dist/types/src/Obj.test.d.ts.map +1 -0
- package/dist/types/src/Order.d.ts +26 -0
- package/dist/types/src/Order.d.ts.map +1 -0
- package/dist/types/src/Query.d.ts +231 -0
- package/dist/types/src/Query.d.ts.map +1 -0
- package/dist/types/src/Query.test.d.ts +2 -0
- package/dist/types/src/Query.test.d.ts.map +1 -0
- package/dist/types/src/QueryResult.d.ts +101 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -0
- package/dist/types/src/Ref.d.ts +69 -11
- 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 +321 -23
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Relation.test.d.ts +2 -0
- package/dist/types/src/Relation.test.d.ts.map +1 -0
- package/dist/types/src/Scope.d.ts +35 -0
- package/dist/types/src/Scope.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +26 -9
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +397 -106
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/Type.test.d.ts +2 -0
- package/dist/types/src/Type.test.d.ts.map +1 -0
- package/dist/types/src/View.d.ts +65 -0
- package/dist/types/src/View.d.ts.map +1 -0
- package/dist/types/src/exemplars.test.d.ts +2 -0
- package/dist/types/src/exemplars.test.d.ts.map +1 -0
- package/dist/types/src/hierarchy.test.d.ts +2 -0
- package/dist/types/src/hierarchy.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +21 -5
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +272 -0
- package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/annotations.test.d.ts.map +1 -0
- 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 +6 -0
- package/dist/types/src/internal/Annotation/index.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/sorting.d.ts +24 -0
- package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/util.d.ts +48 -0
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/api.d.ts +27 -0
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/entity.d.ts +84 -0
- package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
- 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 +10 -0
- package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/model.d.ts +59 -0
- package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/object.d.ts +18 -0
- package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/relation.d.ts +58 -0
- package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
- 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 +24 -0
- package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/util.d.ts +2 -0
- package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/version.d.ts +42 -0
- package/dist/types/src/internal/Entity/version.d.ts.map +1 -0
- package/dist/types/src/internal/Format/date.d.ts.map +1 -0
- package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/format.d.ts +7 -4
- package/dist/types/src/internal/Format/format.d.ts.map +1 -0
- package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/index.d.ts +2 -2
- package/dist/types/src/internal/Format/index.d.ts.map +1 -0
- package/dist/types/src/internal/Format/number.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/object.d.ts +3 -1
- package/dist/types/src/internal/Format/object.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
- package/dist/types/src/internal/Format/select.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
- package/dist/types/src/internal/Format/string.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/types.d.ts +14 -10
- package/dist/types/src/internal/Format/types.d.ts.map +1 -0
- package/dist/types/src/internal/{json → JsonSchema}/annotations.d.ts +1 -1
- package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
- package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
- package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +136 -35
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
- package/dist/types/src/internal/{json → JsonSchema}/json-schema.d.ts +6 -3
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/atoms.d.ts +38 -0
- package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/clone.d.ts +8 -0
- package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
- package/dist/types/src/internal/{object/create.d.ts → Obj/create-object.d.ts} +15 -16
- package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/create-object.test.d.ts +2 -0
- package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/deleted.d.ts +6 -0
- package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/index.d.ts +11 -0
- package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
- package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
- package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
- package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
- package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
- package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
- package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/Query/index.d.ts +2 -0
- package/dist/types/src/internal/Query/index.d.ts.map +1 -0
- package/dist/types/src/internal/Query/pretty.d.ts +10 -0
- package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
- package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/{ref → Ref}/ref.d.ts +88 -32
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/utils.d.ts +8 -0
- package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
- package/dist/types/src/internal/Type/compose.d.ts +7 -0
- package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
- package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/Type/index.d.ts +3 -0
- package/dist/types/src/internal/Type/index.d.ts.map +1 -0
- package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -1
- package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
- 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/index.d.ts +11 -0
- package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
- package/dist/types/src/internal/common/api/meta.d.ts +45 -0
- package/dist/types/src/internal/common/api/meta.d.ts.map +1 -0
- package/dist/types/src/internal/common/index.d.ts +4 -0
- package/dist/types/src/internal/common/index.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/change-context.d.ts +55 -0
- package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/change.test.d.ts +2 -0
- package/dist/types/src/internal/common/proxy/change.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts +5 -0
- package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/errors.d.ts +19 -0
- package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/event-batch.d.ts +10 -0
- package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/index.d.ts +14 -0
- package/dist/types/src/internal/common/proxy/index.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/json-serializer.d.ts +6 -0
- package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/make-object.d.ts +20 -0
- package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/ownership.d.ts +57 -0
- package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/proxy-types.d.ts +18 -0
- package/dist/types/src/internal/common/proxy/proxy-types.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/proxy-utils.d.ts +47 -0
- package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/reactive-array.d.ts +8 -0
- package/dist/types/src/internal/common/proxy/reactive-array.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/reactive.d.ts +39 -0
- package/dist/types/src/internal/common/proxy/reactive.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
- package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
- package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts +64 -0
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/base.d.ts +27 -0
- package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/entity.d.ts +94 -0
- package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/index.d.ts +7 -0
- package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/meta.d.ts +54 -0
- package/dist/types/src/internal/common/types/meta.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/model-symbols.d.ts +65 -0
- package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/typename.d.ts +28 -0
- package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/version.d.ts +15 -0
- package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
- 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 +10 -14
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +4 -3
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/registry.d.ts +9 -0
- package/dist/types/src/testing/registry.d.ts.map +1 -0
- 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 +298 -0
- package/dist/types/src/testing/test-schema.d.ts.map +1 -0
- package/dist/types/src/testing/util.d.ts +23 -0
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +119 -66
- package/src/Annotation.test.ts +439 -0
- package/src/Annotation.ts +202 -0
- package/src/Collection.ts +33 -0
- package/src/Database.ts +345 -0
- package/src/Dataset.ts +34 -0
- package/src/Entity.test.ts +132 -0
- package/src/Entity.ts +345 -0
- package/src/Err.ts +40 -0
- package/src/Feed.ts +352 -0
- package/src/Filter.test.ts +90 -0
- package/src/Filter.ts +484 -0
- package/src/Format.ts +5 -0
- package/src/Hypergraph.ts +84 -0
- package/src/Json.test.ts +175 -0
- package/src/Json.ts +103 -0
- package/src/JsonSchema.ts +26 -0
- package/src/Key.ts +4 -1
- package/src/Migration.ts +114 -0
- package/src/Obj.test.ts +641 -0
- package/src/Obj.ts +778 -281
- package/src/Order.ts +68 -0
- package/src/Query.test.ts +835 -0
- package/src/Query.ts +634 -0
- package/src/QueryResult.ts +132 -0
- package/src/Ref.ts +98 -10
- package/src/Registry.ts +155 -0
- package/src/Relation.test.ts +88 -0
- package/src/Relation.ts +503 -67
- package/src/Scope.ts +50 -0
- package/src/Tag.md +88 -0
- package/src/Tag.ts +53 -8
- package/src/Type.test.ts +257 -0
- package/src/Type.ts +643 -151
- package/src/View.ts +98 -0
- package/src/exemplars.test.ts +21 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +22 -6
- package/src/internal/Annotation/annotations.test.ts +165 -0
- package/src/internal/Annotation/annotations.ts +609 -0
- package/src/internal/Annotation/dictionary.ts +47 -0
- package/src/internal/Annotation/entity-dictionary.ts +74 -0
- package/src/internal/Annotation/index.ts +9 -0
- package/src/internal/Annotation/sorting.ts +51 -0
- package/src/internal/Annotation/util.ts +94 -0
- package/src/internal/Entity/api.ts +77 -0
- package/src/internal/Entity/entity.ts +277 -0
- package/src/internal/Entity/guard.ts +26 -0
- package/src/internal/Entity/index.ts +13 -0
- package/src/internal/Entity/model.ts +119 -0
- package/src/internal/Entity/object.ts +73 -0
- package/src/internal/Entity/relation.ts +188 -0
- package/src/internal/Entity/type-kind.ts +75 -0
- package/src/internal/Entity/type-uri.ts +92 -0
- package/src/internal/Entity/util.ts +33 -0
- package/src/internal/Entity/version.ts +96 -0
- package/src/internal/{formats → Format}/date.test.ts +1 -2
- package/src/internal/{formats → Format}/date.ts +5 -9
- package/src/internal/{formats → Format}/format.test.ts +27 -7
- package/src/internal/{formats → Format}/format.ts +8 -6
- package/src/internal/{formats → Format}/index.ts +2 -3
- package/src/internal/{formats → Format}/number.ts +5 -5
- package/src/internal/{formats → Format}/object.ts +23 -6
- package/src/internal/{formats → Format}/select.ts +6 -4
- package/src/internal/{formats → Format}/string.ts +14 -9
- package/src/internal/{formats → Format}/types.ts +54 -43
- package/src/internal/{json → JsonSchema}/annotations.ts +3 -3
- package/src/internal/{json-schema → JsonSchema}/index.ts +2 -0
- package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
- package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +39 -39
- package/src/internal/{json → JsonSchema}/json-schema.test.ts +119 -182
- package/src/internal/{json → JsonSchema}/json-schema.ts +70 -42
- package/src/internal/Obj/atoms.ts +244 -0
- package/src/internal/Obj/clone.ts +53 -0
- package/src/internal/{object → Obj}/common.ts +3 -4
- package/src/internal/Obj/create-object.test.ts +116 -0
- package/src/internal/Obj/create-object.ts +140 -0
- package/src/internal/Obj/deleted.ts +19 -0
- package/src/internal/Obj/index.ts +14 -0
- package/src/internal/{object → Obj}/inspect.ts +7 -7
- package/src/internal/Obj/json-serializer.test.ts +199 -0
- package/src/internal/Obj/json-serializer.ts +278 -0
- package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
- package/src/internal/Obj/schema-validator.ts +6 -0
- package/src/internal/Obj/set-value.test.ts +258 -0
- package/src/internal/Obj/set-value.ts +158 -0
- package/src/internal/Obj/snapshot.ts +114 -0
- package/src/internal/Obj/typed-object.test.ts +32 -0
- package/src/internal/Obj/typed-object.ts +30 -0
- package/src/internal/{json → Query}/index.ts +1 -1
- package/src/internal/Query/pretty.ts +162 -0
- package/src/internal/Ref/atoms.ts +20 -0
- package/src/internal/{ref → Ref}/ref-array.ts +6 -7
- package/src/internal/Ref/ref.test.ts +91 -0
- package/src/internal/{ref → Ref}/ref.ts +230 -101
- package/src/internal/Ref/utils.ts +45 -0
- package/src/internal/{projection → Type}/compose.test.ts +9 -9
- package/src/internal/{projection → Type}/compose.ts +14 -9
- package/src/internal/Type/index.ts +6 -0
- package/src/internal/{schema → Type}/manipulation.ts +0 -25
- package/src/internal/Type/type-schema.ts +60 -0
- package/src/internal/common/README.md +102 -0
- package/src/internal/common/api/index.ts +15 -0
- package/src/internal/common/api/meta.ts +90 -0
- package/src/internal/{testing → common}/index.ts +2 -1
- package/src/internal/common/proxy/change-context.ts +138 -0
- package/src/internal/common/proxy/change.test.ts +527 -0
- package/src/internal/common/proxy/define-hidden-property.ts +14 -0
- package/src/internal/common/proxy/errors.ts +42 -0
- package/src/internal/common/proxy/event-batch.ts +44 -0
- package/src/internal/common/proxy/handler.test.ts +121 -0
- package/src/internal/common/proxy/index.ts +17 -0
- package/src/internal/common/proxy/json-serializer.ts +101 -0
- package/src/internal/common/proxy/make-object.ts +129 -0
- package/src/internal/common/proxy/ownership.ts +252 -0
- package/src/internal/common/proxy/proxy-types.ts +23 -0
- package/src/internal/common/proxy/proxy-utils.ts +150 -0
- package/src/internal/common/proxy/reactive-array.ts +71 -0
- package/src/internal/common/proxy/reactive.test.ts +54 -0
- package/src/internal/common/proxy/reactive.ts +77 -0
- package/src/internal/{object → common/proxy}/schema-validator.ts +6 -3
- package/src/internal/common/proxy/schema.test.ts +107 -0
- package/src/internal/common/proxy/symbols.ts +7 -0
- package/src/internal/common/proxy/typed-handler.test.ts +314 -0
- package/src/internal/common/proxy/typed-handler.ts +509 -0
- package/src/internal/common/proxy/typed-object.test.ts +103 -0
- package/src/internal/common/types/base.ts +43 -0
- package/src/internal/common/types/entity.ts +133 -0
- package/src/internal/common/types/index.ts +15 -0
- package/src/internal/common/types/meta.ts +109 -0
- package/src/internal/common/types/model-symbols.ts +89 -0
- package/src/internal/common/types/typename.ts +91 -0
- package/src/internal/common/types/version.ts +19 -0
- package/src/internal/common/types/well-known-types.ts +15 -0
- package/src/internal/index.ts +14 -17
- package/src/testing/api.test.ts +131 -0
- package/src/testing/index.ts +4 -3
- package/src/testing/registry.ts +44 -0
- package/src/testing/test-data.ts +189 -0
- package/src/testing/test-schema.ts +204 -0
- package/src/testing/util.ts +88 -0
- package/dist/lib/browser/chunk-BIDAASFK.mjs +0 -3727
- package/dist/lib/browser/chunk-BIDAASFK.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZDLCWGEW.mjs +0 -410
- package/dist/lib/browser/chunk-ZDLCWGEW.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZFRJKT4A.mjs +0 -585
- package/dist/lib/browser/chunk-ZFRJKT4A.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -35
- package/dist/lib/browser/internal/index.mjs +0 -336
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/query/index.mjs +0 -13
- package/dist/lib/browser/testing/index.mjs +0 -267
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3SVRRCUU.mjs +0 -3727
- package/dist/lib/node-esm/chunk-3SVRRCUU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CGDHRZWH.mjs +0 -585
- package/dist/lib/node-esm/chunk-CGDHRZWH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HWS6VBQC.mjs +0 -410
- package/dist/lib/node-esm/chunk-HWS6VBQC.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -35
- package/dist/lib/node-esm/internal/index.mjs +0 -336
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/query/index.mjs +0 -13
- package/dist/lib/node-esm/testing/index.mjs +0 -267
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/errors.d.ts +0 -68
- package/dist/types/src/errors.d.ts.map +0 -1
- 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 -131
- 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 +0 -10
- 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/formats/date.d.ts.map +0 -1
- package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
- package/dist/types/src/internal/formats/format.d.ts.map +0 -1
- package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
- package/dist/types/src/internal/formats/index.d.ts.map +0 -1
- package/dist/types/src/internal/formats/number.d.ts.map +0 -1
- package/dist/types/src/internal/formats/object.d.ts.map +0 -1
- package/dist/types/src/internal/formats/select.d.ts.map +0 -1
- package/dist/types/src/internal/formats/string.d.ts.map +0 -1
- package/dist/types/src/internal/formats/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/json-schema/index.d.ts +0 -3
- package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
- package/dist/types/src/internal/object/accessors.d.ts +0 -37
- package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
- package/dist/types/src/internal/object/common.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/deleted.d.ts +0 -6
- package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
- package/dist/types/src/internal/object/entity.d.ts +0 -33
- package/dist/types/src/internal/object/entity.d.ts.map +0 -1
- package/dist/types/src/internal/object/expando.d.ts +0 -14
- package/dist/types/src/internal/object/expando.d.ts.map +0 -1
- package/dist/types/src/internal/object/ids.d.ts +0 -6
- package/dist/types/src/internal/object/ids.d.ts.map +0 -1
- package/dist/types/src/internal/object/index.d.ts +0 -16
- package/dist/types/src/internal/object/index.d.ts.map +0 -1
- package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
- package/dist/types/src/internal/object/json-serializer.d.ts +0 -32
- package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
- package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/meta.d.ts +0 -31
- 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/schema-validator.d.ts.map +0 -1
- package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-object.d.ts +0 -31
- package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-object.test.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 +0 -14
- package/dist/types/src/internal/object/version.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.d.ts +0 -6
- 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/handler.test.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/proxy/schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-handler.d.ts +0 -44
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-object.test.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 +0 -17
- package/dist/types/src/internal/query/query.d.ts.map +0 -1
- package/dist/types/src/internal/ref/index.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref-array.d.ts +0 -21
- package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
- package/dist/types/src/internal/schema/echo-schema.d.ts +0 -168
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
- package/dist/types/src/internal/schema/index.d.ts +0 -7
- package/dist/types/src/internal/schema/index.d.ts.map +0 -1
- package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
- package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
- package/dist/types/src/internal/schema/snapshot.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 -381
- package/dist/types/src/internal/testing/types.d.ts.map +0 -1
- package/dist/types/src/internal/testing/utils.d.ts +0 -10
- package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
- package/dist/types/src/internal/types/index.d.ts +0 -3
- package/dist/types/src/internal/types/index.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/index.d.ts +0 -2
- package/dist/types/src/query/index.d.ts.map +0 -1
- package/dist/types/src/query/query.d.ts +0 -248
- package/dist/types/src/query/query.d.ts.map +0 -1
- package/dist/types/src/query/query.test.d.ts +0 -2
- package/dist/types/src/query/query.test.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 -228
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/src/errors.ts +0 -18
- package/src/internal/ast/annotation-helper.ts +0 -22
- package/src/internal/ast/annotations.test.ts +0 -98
- package/src/internal/ast/annotations.ts +0 -226
- package/src/internal/ast/entity-kind.ts +0 -15
- package/src/internal/ast/index.ts +0 -8
- package/src/internal/ast/types.ts +0 -17
- package/src/internal/object/accessors.ts +0 -153
- package/src/internal/object/create.test.ts +0 -118
- package/src/internal/object/create.ts +0 -96
- package/src/internal/object/deleted.ts +0 -19
- package/src/internal/object/entity.ts +0 -248
- package/src/internal/object/expando.ts +0 -21
- package/src/internal/object/ids.ts +0 -12
- package/src/internal/object/index.ts +0 -19
- package/src/internal/object/json-serializer.test.ts +0 -99
- package/src/internal/object/json-serializer.ts +0 -225
- package/src/internal/object/meta.ts +0 -61
- package/src/internal/object/model.ts +0 -170
- package/src/internal/object/relation.ts +0 -24
- package/src/internal/object/typed-object.test.ts +0 -34
- package/src/internal/object/typed-object.ts +0 -88
- 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/proxy/handler.test.ts +0 -163
- package/src/internal/proxy/reactive-object.ts +0 -108
- package/src/internal/proxy/schema.test.ts +0 -136
- package/src/internal/proxy/typed-handler.test.ts +0 -102
- package/src/internal/proxy/typed-handler.ts +0 -228
- package/src/internal/proxy/typed-object.test.ts +0 -100
- package/src/internal/query/index.ts +0 -5
- package/src/internal/query/query.ts +0 -23
- package/src/internal/ref/ref.test.ts +0 -100
- package/src/internal/schema/echo-schema.ts +0 -383
- package/src/internal/schema/index.ts +0 -10
- package/src/internal/schema/runtime-schema-registry.ts +0 -78
- package/src/internal/schema/snapshot.ts +0 -25
- package/src/internal/schema/stored-schema.ts +0 -26
- package/src/internal/testing/types.ts +0 -144
- package/src/internal/testing/utils.ts +0 -54
- package/src/internal/types/index.ts +0 -6
- 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/index.ts +0 -6
- package/src/query/query.test.ts +0 -401
- package/src/query/query.ts +0 -789
- package/src/test/api.test.ts +0 -180
- package/src/testing/echo-schema.ts +0 -39
- package/src/testing/types.ts +0 -108
- /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
- /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
- /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
- /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
- /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Feed.mjs.map} +0 -0
- /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Filter.mjs.map} +0 -0
- /package/dist/types/src/internal/{ast → Annotation}/annotations.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
- /package/dist/types/src/internal/{json → JsonSchema}/effect-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
- /package/dist/types/src/internal/{json → JsonSchema}/json-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
- /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
- /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
- /package/dist/types/src/internal/{projection → Type}/compose.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
- /package/src/internal/{json → JsonSchema}/effect-schema.test.ts +0 -0
- /package/src/internal/{ref → Ref}/index.ts +0 -0
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import * as Context from 'effect/Context';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import { type ReadOnlyEvent } from '@dxos/async';
|
|
4
|
+
import type * as Database from './Database';
|
|
5
|
+
import * as Entity from './Entity';
|
|
6
|
+
import type * as Filter from './Filter';
|
|
7
|
+
import type * as Query from './Query';
|
|
8
|
+
/**
|
|
9
|
+
* Identifier denoting an ECHO Registry.
|
|
10
|
+
*/
|
|
11
|
+
export declare const TypeId: unique symbol;
|
|
12
|
+
export type TypeId = typeof TypeId;
|
|
13
|
+
/**
|
|
14
|
+
* Composable, in-memory registry of keyed ECHO entities.
|
|
15
|
+
*
|
|
16
|
+
* Entities are stored by id and queried via the standard ECHO Query API.
|
|
17
|
+
* A registry may delegate to an optional upstream registry: results from the local
|
|
18
|
+
* registry take precedence and upstream results fill in anything not found locally.
|
|
19
|
+
*
|
|
20
|
+
* Intended use cases include caches of schemas, operations, blueprints, routines, plugins,
|
|
21
|
+
* etc., sourced from 3rd-party plugins, local code, or local space objects.
|
|
22
|
+
*
|
|
23
|
+
* Types (schema-definition entities produced by `Type.makeObject` / `Type.makeRelation`) are
|
|
24
|
+
* stored the same way as any other entity — via `add()`. Use `list().filter(Type.isType)` to
|
|
25
|
+
* retrieve them.
|
|
26
|
+
*
|
|
27
|
+
* Scope: a Registry is independent of any ECHO space or Hypergraph — it is a process-local,
|
|
28
|
+
* in-memory cache. Wire one per space (e.g. as a Layer scoped to the space's Effect runtime)
|
|
29
|
+
* or share a single instance across spaces depending on the use case.
|
|
30
|
+
*
|
|
31
|
+
* The concrete implementation (and the `makeRegistry` / `registryLayer` factories) lives in
|
|
32
|
+
* `@dxos/echo-client`; this module declares only the interface so that the `@dxos/echo` API surface
|
|
33
|
+
* stays free of query-matching dependencies.
|
|
34
|
+
*/
|
|
35
|
+
export interface Registry {
|
|
36
|
+
readonly [TypeId]: TypeId;
|
|
37
|
+
/**
|
|
38
|
+
* Stable per-instance identifier. Used to key process-local resources (e.g. memoized
|
|
39
|
+
* reactive atoms) to a specific registry instance, analogous to {@link Database.spaceId}.
|
|
40
|
+
*/
|
|
41
|
+
readonly id: string;
|
|
42
|
+
/**
|
|
43
|
+
* Fires whenever local registry contents change (add, remove, or clear).
|
|
44
|
+
*/
|
|
45
|
+
readonly changed: ReadOnlyEvent<void>;
|
|
46
|
+
/**
|
|
47
|
+
* All locally-stored entities.
|
|
48
|
+
* Does not include upstream entities — use {@link list} for that.
|
|
49
|
+
*/
|
|
50
|
+
readonly local: readonly Entity.Unknown[];
|
|
51
|
+
/**
|
|
52
|
+
* Add or replace one or more entities in the local registry.
|
|
53
|
+
* Existing entries with the same id are replaced.
|
|
54
|
+
* Also indexes type entities by DXN for fast lookup.
|
|
55
|
+
*/
|
|
56
|
+
add(entities: readonly Entity.Unknown[]): void;
|
|
57
|
+
/**
|
|
58
|
+
* Remove an entity by id from the local registry.
|
|
59
|
+
* @returns true if an entity was removed, false if it was not found.
|
|
60
|
+
*/
|
|
61
|
+
remove(id: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Remove all locally-stored entities.
|
|
64
|
+
* Does not affect the upstream registry.
|
|
65
|
+
*/
|
|
66
|
+
clear(): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get an entity by id.
|
|
69
|
+
* Searches the local registry first, then falls back to the upstream registry.
|
|
70
|
+
*/
|
|
71
|
+
get(id: string): Entity.Unknown | undefined;
|
|
72
|
+
/**
|
|
73
|
+
* Get an entity by one of its addressing URIs — a type entity by its typename DXN (or, when
|
|
74
|
+
* persisted, its identifier EID), a keyed entity by its `dxn:<key>[:<version>]`. Accepts legacy
|
|
75
|
+
* DXN forms (normalized internally). Searches the local registry first, then falls back to the
|
|
76
|
+
* upstream registry. Narrow the result with `Type.isType` when a type entity is required.
|
|
77
|
+
*/
|
|
78
|
+
getByURI(uri: string): Entity.Unknown | undefined;
|
|
79
|
+
/**
|
|
80
|
+
* List all entities.
|
|
81
|
+
* Local entities take precedence over upstream entities with the same id.
|
|
82
|
+
*/
|
|
83
|
+
list(): Entity.Unknown[];
|
|
84
|
+
/**
|
|
85
|
+
* Run an ECHO query against the registry's entities (implements {@link Database.Queryable}).
|
|
86
|
+
*
|
|
87
|
+
* Matching happens in-memory over {@link list}. Scope (`from`) clauses are unwrapped and
|
|
88
|
+
* ignored — a direct registry query always targets the registry's own entities. The primary
|
|
89
|
+
* way to query registry contents is still through the database (`db.query(...).from(Scope.registry())`),
|
|
90
|
+
* which fans the database and registry together; this method is for querying a registry directly.
|
|
91
|
+
*
|
|
92
|
+
* Only locally-evaluable AST nodes are supported: `select`, `filter`, `limit`, `from`, `options`,
|
|
93
|
+
* and boolean combinators. Server-side concerns (order, traversal, text/timestamp filters) throw.
|
|
94
|
+
*/
|
|
95
|
+
query: Database.QueryFn;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Type guard for {@link Registry}.
|
|
99
|
+
*/
|
|
100
|
+
export declare const isRegistry: (obj: unknown) => obj is Registry;
|
|
101
|
+
/**
|
|
102
|
+
* Options for the registry factory (`makeRegistry` in `@dxos/echo-client`).
|
|
103
|
+
*/
|
|
104
|
+
export type Options = {
|
|
105
|
+
/**
|
|
106
|
+
* Optional upstream registry. Queries fall back to upstream when an entity
|
|
107
|
+
* is not present in the local registry.
|
|
108
|
+
*/
|
|
109
|
+
upstream?: Registry;
|
|
110
|
+
/**
|
|
111
|
+
* Initial set of entities to seed the local registry with.
|
|
112
|
+
*/
|
|
113
|
+
initial?: readonly Entity.Unknown[];
|
|
114
|
+
};
|
|
115
|
+
declare const Service_base: Context.TagClass<Service, "@dxos/echo/Registry/Service", Registry>;
|
|
116
|
+
/**
|
|
117
|
+
* Effect Context tag for {@link Registry}.
|
|
118
|
+
* Use this to inject a registry into Effect-based code.
|
|
119
|
+
*/
|
|
120
|
+
export declare class Service extends Service_base {
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Executes a query against the registry and returns the results.
|
|
124
|
+
* Analogous to {@link Database.query} `.run` for the in-process registry.
|
|
125
|
+
*/
|
|
126
|
+
export declare const runQuery: {
|
|
127
|
+
<Q extends Query.Any>(query: Q): Effect.Effect<Query.Type<Q>[], never, Service>;
|
|
128
|
+
<F extends Filter.Any>(filter: F): Effect.Effect<Filter.Type<F>[], never, Service>;
|
|
129
|
+
};
|
|
130
|
+
export {};
|
|
131
|
+
//# sourceMappingURL=Registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Registry.d.ts","sourceRoot":"","sources":["../../../src/Registry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,eAAO,MAAM,MAAM,eAAoC,CAAC;AACxD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IAEtC;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;IAE1C;;;;OAIG;IACH,GAAG,CAAC,QAAQ,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;IAE/C;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;IAE5B;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;;OAGG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAE5C;;;;;OAKG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;IAElD;;;OAGG;IACH,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;IAEzB;;;;;;;;;;OAUG;IACH,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,QAAS,OAAO,KAAG,GAAG,IAAI,QAC8D,CAAC;AAEhH;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;OAEG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,CAAC;CACrC,CAAC;;AAEF;;;GAGG;AACH,qBAAa,OAAQ,SAAQ,YAA+D;CAAG;AAE/F;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;CAKjF,CAAC"}
|
|
@@ -1,61 +1,359 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import * as
|
|
1
|
+
import type { ForeignKey } from '@dxos/echo-protocol';
|
|
2
|
+
import { EID, type EntityId, type URI } from '@dxos/keys';
|
|
3
|
+
import type * as Database from './Database';
|
|
4
|
+
import * as Entity from './Entity';
|
|
5
|
+
import * as internal from './internal';
|
|
5
6
|
import * as Obj from './Obj';
|
|
7
|
+
import type * as Ref from './Ref';
|
|
8
|
+
import type * as Tag from './Tag';
|
|
6
9
|
import * as Type from './Type';
|
|
10
|
+
export type Endpoints<Source, Target> = {
|
|
11
|
+
[Source]: Source;
|
|
12
|
+
[Target]: Target;
|
|
13
|
+
};
|
|
7
14
|
/**
|
|
8
|
-
*
|
|
15
|
+
* Base type for all ECHO relations.
|
|
16
|
+
* @private
|
|
9
17
|
*/
|
|
10
|
-
interface BaseRelation<Source, Target> extends
|
|
18
|
+
interface BaseRelation<Source, Target> extends internal.AnyEntity, Endpoints<Source, Target>, Entity.OfKind<internal.EntityKind.Relation> {
|
|
11
19
|
}
|
|
12
20
|
/**
|
|
13
|
-
* Relation
|
|
21
|
+
* Relation with no known properties beyond id, kind, source, and target.
|
|
22
|
+
* Use this when the relation's schema/properties are not known.
|
|
23
|
+
*
|
|
24
|
+
* NOTE: This is a TypeScript type only, not a schema.
|
|
25
|
+
* To validate that a value is an ECHO relation, use `Relation.isRelation`.
|
|
14
26
|
*/
|
|
15
|
-
export
|
|
27
|
+
export interface Unknown extends BaseRelation<Obj.Unknown, Obj.Unknown> {
|
|
28
|
+
}
|
|
16
29
|
/**
|
|
17
|
-
*
|
|
30
|
+
* Runtime Effect schema for any ECHO relation.
|
|
31
|
+
* Use for validation, parsing, or as a reference target for collections.
|
|
32
|
+
* A relation has `id`, source, and target fields plus any additional properties.
|
|
33
|
+
*
|
|
34
|
+
* NOTE: `Schema.is(Type.Relation)` does STRUCTURAL validation only (checks for `id` field).
|
|
35
|
+
* Use `Relation.isRelation()` for proper ECHO instance type guards that check the KindId brand.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* // Structural type guard (accepts any object with id field)
|
|
40
|
+
* if (Schema.is(Type.Relation)(unknownValue)) { ... }
|
|
41
|
+
*
|
|
42
|
+
* // ECHO instance type guard (checks KindId brand)
|
|
43
|
+
* if (Relation.isRelation(unknownValue)) { ... }
|
|
44
|
+
* ```
|
|
18
45
|
*/
|
|
19
|
-
export
|
|
46
|
+
export declare const Unknown: internal.UnknownTypeSchema<Unknown, typeof Entity.Kind.Relation>;
|
|
47
|
+
/**
|
|
48
|
+
* Relation type with specific source and target types.
|
|
49
|
+
*/
|
|
50
|
+
export type OfShape<Source extends Obj.Unknown, Target extends Obj.Unknown, Props> = BaseRelation<Source, Target> & Props;
|
|
51
|
+
/**
|
|
52
|
+
* Base type for snapshot relations (has SnapshotKindId instead of KindId).
|
|
53
|
+
*/
|
|
54
|
+
interface BaseRelationSnapshot<Source, Target> extends internal.AnyEntity, Endpoints<Source, Target> {
|
|
55
|
+
readonly [Entity.SnapshotKindId]: internal.EntityKind.Relation;
|
|
56
|
+
readonly id: EntityId;
|
|
20
57
|
}
|
|
21
|
-
|
|
58
|
+
/**
|
|
59
|
+
* JSON-encoded properties for relations.
|
|
60
|
+
*/
|
|
61
|
+
export interface BaseRelationJson {
|
|
62
|
+
id: string;
|
|
63
|
+
[internal.ATTR_RELATION_SOURCE]: string;
|
|
64
|
+
[internal.ATTR_RELATION_TARGET]: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Immutable snapshot of an ECHO relation.
|
|
68
|
+
* Branded with SnapshotKindId (not KindId).
|
|
69
|
+
* Property values are frozen at the time the snapshot was created.
|
|
70
|
+
* Returned by getSnapshot() and hooks.
|
|
71
|
+
*/
|
|
72
|
+
export type Snapshot<T extends Unknown = Unknown> = Omit<T, Entity.KindId> & BaseRelationSnapshot<Obj.Unknown, Obj.Unknown>;
|
|
22
73
|
export declare const Source: unique symbol;
|
|
23
74
|
export type Source = typeof Source;
|
|
24
75
|
export declare const Target: unique symbol;
|
|
25
76
|
export type Target = typeof Target;
|
|
26
|
-
|
|
27
|
-
|
|
77
|
+
/**
|
|
78
|
+
* Get relation source type.
|
|
79
|
+
*/
|
|
80
|
+
export type SourceOf<A> = A extends Endpoints<infer S, infer _T> ? S : never;
|
|
81
|
+
/**
|
|
82
|
+
* Get relation target type.
|
|
83
|
+
*/
|
|
84
|
+
export type TargetOf<A> = A extends Endpoints<infer _S, infer T> ? T : never;
|
|
85
|
+
/**
|
|
86
|
+
* Internal props type for relation instance creation.
|
|
87
|
+
*/
|
|
88
|
+
type MakePropsInternal<T extends Endpoints<any, any>> = {
|
|
89
|
+
id?: EntityId;
|
|
28
90
|
[Source]: T[Source];
|
|
29
91
|
[Target]: T[Target];
|
|
30
|
-
} &
|
|
92
|
+
} & Entity.Properties<T>;
|
|
93
|
+
/**
|
|
94
|
+
* Props type for relation creation with a given schema. Accepts a `Type.AnyRelation`
|
|
95
|
+
* entity (created with `Type.makeRelation`) and derives the props shape via
|
|
96
|
+
* `Type.InstanceType`. Object-kind entities are rejected at the type level —
|
|
97
|
+
* use `Obj.MakeProps` for those.
|
|
98
|
+
*/
|
|
99
|
+
export type MakeProps<S extends Type.AnyRelation> = MakePropsInternal<Type.InstanceType<S>>;
|
|
31
100
|
/**
|
|
32
101
|
* Creates new relation.
|
|
33
102
|
* @param schema - Relation schema.
|
|
34
103
|
* @param props - Relation properties. Endpoints are passed as [Relation.Source] and [Relation.Target] keys.
|
|
35
|
-
* @param meta - Relation metadata.
|
|
104
|
+
* @param meta - Relation metadata. (deprecated; use [Obj.Meta] instead)
|
|
36
105
|
* @returns
|
|
37
106
|
*/
|
|
38
|
-
export declare const make: <
|
|
39
|
-
export declare const isRelation: (value: unknown) => value is Any;
|
|
107
|
+
export declare const make: <T extends Type.AnyRelation>(type: T, props: NoInfer<MakeProps<T>>) => Type.InstanceType<T> & Entity.OfKind<typeof Entity.Kind.Relation>;
|
|
40
108
|
/**
|
|
41
|
-
*
|
|
109
|
+
* Test if a value is an instance of a given relation type.
|
|
110
|
+
*
|
|
111
|
+
* Mirrors `Obj.instanceOf` but only accepts `Type.AnyRelation` — use
|
|
112
|
+
* `Obj.instanceOf` for objects and `Type.isType` for `Type.Type` entities.
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```ts
|
|
116
|
+
* const isEmployedBy = Relation.instanceOf(EmployedBy);
|
|
117
|
+
* if (isEmployedBy(relation)) {
|
|
118
|
+
* // relation is EmployedBy
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export declare const instanceOf: {
|
|
123
|
+
<S extends Type.AnyRelation>(schema: S): (value: unknown) => value is Type.InstanceType<S>;
|
|
124
|
+
<S extends Type.AnyRelation>(schema: S, value: unknown): value is Type.InstanceType<S>;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Type guard for relations.
|
|
128
|
+
* Returns true for both reactive relations and relation snapshots.
|
|
129
|
+
*/
|
|
130
|
+
export declare const isRelation: (value: unknown) => value is Unknown;
|
|
131
|
+
export declare const isSnapshot: (value: unknown) => value is Snapshot;
|
|
132
|
+
/**
|
|
133
|
+
* @returns Relation source URI.
|
|
134
|
+
* Accepts both reactive relations and snapshots.
|
|
42
135
|
* @throws If the object is not a relation.
|
|
43
136
|
*/
|
|
44
|
-
export declare const
|
|
137
|
+
export declare const getSourceURI: (value: Unknown | Snapshot) => EID.EID;
|
|
45
138
|
/**
|
|
46
|
-
* @returns Relation target
|
|
139
|
+
* @returns Relation target URI.
|
|
140
|
+
* Accepts both reactive relations and snapshots.
|
|
47
141
|
* @throws If the object is not a relation.
|
|
48
142
|
*/
|
|
49
|
-
export declare const
|
|
143
|
+
export declare const getTargetURI: (value: Unknown | Snapshot) => EID.EID;
|
|
50
144
|
/**
|
|
51
145
|
* @returns Relation source.
|
|
146
|
+
* Accepts both reactive relations and snapshots.
|
|
52
147
|
* @throws If the object is not a relation.
|
|
53
148
|
*/
|
|
54
|
-
export declare const getSource: <T extends
|
|
149
|
+
export declare const getSource: <T extends Unknown | Snapshot>(relation: T) => SourceOf<T>;
|
|
55
150
|
/**
|
|
56
151
|
* @returns Relation target.
|
|
152
|
+
* Accepts both reactive relations and snapshots.
|
|
57
153
|
* @throws If the object is not a relation.
|
|
58
154
|
*/
|
|
59
|
-
export declare const getTarget: <T extends
|
|
155
|
+
export declare const getTarget: <T extends Unknown | Snapshot>(relation: T) => TargetOf<T>;
|
|
156
|
+
/**
|
|
157
|
+
* Makes all properties mutable recursively.
|
|
158
|
+
* Used to provide a mutable view of a relation within `Relation.update`.
|
|
159
|
+
*/
|
|
160
|
+
export type Mutable<T> = internal.Mutable<T>;
|
|
161
|
+
/**
|
|
162
|
+
* Perform mutations on an echo relation within a controlled context.
|
|
163
|
+
*
|
|
164
|
+
* All mutations within the callback are batched and trigger a single notification
|
|
165
|
+
* when the callback completes. Direct mutations outside of `Relation.update` will throw
|
|
166
|
+
* an error for echo relations.
|
|
167
|
+
*
|
|
168
|
+
* @param relation - The echo relation to mutate. Use `Obj.update` for objects.
|
|
169
|
+
* @param callback - The callback that performs mutations on the relation.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```ts
|
|
173
|
+
* const worksFor = Relation.make(EmployedBy, {
|
|
174
|
+
* [Relation.Source]: person,
|
|
175
|
+
* [Relation.Target]: company,
|
|
176
|
+
* role: 'Engineer',
|
|
177
|
+
* });
|
|
178
|
+
*
|
|
179
|
+
* // Mutate within Relation.update
|
|
180
|
+
* Relation.update(worksFor, (obj) => {
|
|
181
|
+
* obj.role = 'Senior Engineer';
|
|
182
|
+
* });
|
|
183
|
+
* ```
|
|
184
|
+
*
|
|
185
|
+
* Note: Only accepts relations. Use `Obj.update` for objects.
|
|
186
|
+
*/
|
|
187
|
+
export declare const update: <T extends Unknown>(relation: T, callback: internal.ChangeCallback<T>) => void;
|
|
188
|
+
/**
|
|
189
|
+
* Returns an immutable snapshot of a relation.
|
|
190
|
+
* The snapshot is branded with SnapshotKindId instead of KindId,
|
|
191
|
+
* making it distinguishable from the reactive relation at the type level.
|
|
192
|
+
*/
|
|
193
|
+
export declare const getSnapshot: <T extends Unknown>(rel: T) => Snapshot<T>;
|
|
194
|
+
/**
|
|
195
|
+
* Subscribe to relation updates.
|
|
196
|
+
* The callback is called synchronously when the relation is modified.
|
|
197
|
+
* Only accepts reactive relations (not snapshots).
|
|
198
|
+
* @returns Unsubscribe function.
|
|
199
|
+
*/
|
|
200
|
+
export declare const subscribe: (rel: Unknown, callback: () => void) => (() => void);
|
|
201
|
+
/**
|
|
202
|
+
* Get a deeply nested property from a relation.
|
|
203
|
+
* Accepts both reactive relations and snapshots.
|
|
204
|
+
*/
|
|
205
|
+
export declare const getValue: (rel: Unknown | Snapshot, path: readonly (string | number)[]) => any;
|
|
206
|
+
/**
|
|
207
|
+
* Set a deeply nested property on a relation.
|
|
208
|
+
* Must be called within a `Relation.update` callback.
|
|
209
|
+
*
|
|
210
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
211
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
212
|
+
*/
|
|
213
|
+
export declare const setValue: (rel: Mutable<Unknown>, path: readonly (string | number)[], value: any) => void;
|
|
214
|
+
/**
|
|
215
|
+
* Get the canonical URI of the relation. Returns `URI.URI` — today always an EID,
|
|
216
|
+
* but future entity kinds may surface other URI schemes; narrow with `EID.parse(uri)`
|
|
217
|
+
* or `DXN.tryMake(uri)` at the point of use. Accepts both reactive relations and snapshots.
|
|
218
|
+
*
|
|
219
|
+
* @param options.prefer - Controls the URI form (see {@link internal.GetURIOptions}).
|
|
220
|
+
*/
|
|
221
|
+
export declare const getURI: (entity: Unknown | Snapshot, options?: internal.GetURIOptions) => URI.URI;
|
|
222
|
+
/**
|
|
223
|
+
* @returns The DXN of the relation's type.
|
|
224
|
+
*/
|
|
225
|
+
export declare const getTypeURI: (obj: internal.AnyProperties) => URI.URI | undefined;
|
|
226
|
+
/**
|
|
227
|
+
* Get the type entity (`Type.AnyRelation`) the relation was created from.
|
|
228
|
+
*
|
|
229
|
+
* Returns `undefined` when the relation's type isn't registered in this
|
|
230
|
+
* runtime (e.g. a freshly deserialized snapshot whose type entity hasn't been
|
|
231
|
+
* wired up yet, or a relation loaded from storage before its schema is known).
|
|
232
|
+
* To get the Effect Schema from the returned entity, use `Type.getSchema(...)`.
|
|
233
|
+
*/
|
|
234
|
+
export declare const getType: (relation: Unknown | Snapshot) => Type.AnyRelation | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* @returns The typename of the relation's type.
|
|
237
|
+
* Accepts both reactive relations and snapshots.
|
|
238
|
+
*/
|
|
239
|
+
export declare const getTypename: (entity: Unknown | Snapshot) => string | undefined;
|
|
240
|
+
/**
|
|
241
|
+
* Get the database the relation belongs to.
|
|
242
|
+
* Accepts both reactive relations and snapshots.
|
|
243
|
+
*/
|
|
244
|
+
export declare const getDatabase: (entity: Unknown | Snapshot) => Database.Database | undefined;
|
|
245
|
+
/**
|
|
246
|
+
* Property that accesses metadata for an entity.
|
|
247
|
+
*
|
|
248
|
+
* Alias for `Entity.Meta`.
|
|
249
|
+
*/
|
|
250
|
+
export declare const Meta: symbol;
|
|
251
|
+
/**
|
|
252
|
+
* Deeply read-only version of EntityMeta.
|
|
253
|
+
*/
|
|
254
|
+
export type ReadonlyMeta = internal.ReadonlyMeta;
|
|
255
|
+
/**
|
|
256
|
+
* Mutable meta type returned by `Relation.getMeta` inside a `Relation.update` callback.
|
|
257
|
+
*/
|
|
258
|
+
export type Meta = internal.Meta;
|
|
259
|
+
/**
|
|
260
|
+
* Get the metadata for a relation.
|
|
261
|
+
* Returns mutable meta when passed a mutable relation (inside `Relation.update` callback).
|
|
262
|
+
* Returns read-only meta when passed a regular relation or snapshot.
|
|
263
|
+
*/
|
|
264
|
+
export declare function getMeta(entity: Mutable<Unknown>): Meta;
|
|
265
|
+
export declare function getMeta(entity: Unknown | Snapshot): ReadonlyMeta;
|
|
266
|
+
/**
|
|
267
|
+
* @returns Foreign keys for the relation from the specified source.
|
|
268
|
+
* Accepts both reactive relations and snapshots.
|
|
269
|
+
*/
|
|
270
|
+
export declare const getKeys: (entity: Unknown | Snapshot, source: string) => ForeignKey[];
|
|
271
|
+
/**
|
|
272
|
+
* Delete all keys from the relation for the specified source.
|
|
273
|
+
* Must be called within a `Relation.update` callback.
|
|
274
|
+
*
|
|
275
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
276
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
277
|
+
*/
|
|
278
|
+
export declare const deleteKeys: (entity: Mutable<Unknown>, source: string) => void;
|
|
279
|
+
/**
|
|
280
|
+
* Add a tag to the relation.
|
|
281
|
+
* Must be called within a `Relation.update` callback.
|
|
282
|
+
*
|
|
283
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
284
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
285
|
+
*/
|
|
286
|
+
export declare const addTag: (entity: Mutable<Unknown>, tag: Ref.Ref<Tag.Tag>) => void;
|
|
287
|
+
/**
|
|
288
|
+
* Remove a tag from the relation.
|
|
289
|
+
* Must be called within a `Relation.update` callback.
|
|
290
|
+
*
|
|
291
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
292
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
293
|
+
*/
|
|
294
|
+
export declare const removeTag: (entity: Mutable<Unknown>, tag: Ref.Ref<Tag.Tag>) => void;
|
|
295
|
+
/**
|
|
296
|
+
* Check if the relation is deleted.
|
|
297
|
+
* Accepts both reactive relations and snapshots.
|
|
298
|
+
*/
|
|
299
|
+
export declare const isDeleted: (entity: Unknown | Snapshot) => boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Get the label of the relation.
|
|
302
|
+
* Accepts both reactive relations and snapshots.
|
|
303
|
+
*
|
|
304
|
+
* @param options.fallback `'typename'` returns the relation's typename when no
|
|
305
|
+
* label is set (e.g. `org.dxos.type.table`).
|
|
306
|
+
*/
|
|
307
|
+
export declare const getLabel: (entity: Unknown | Snapshot, options?: internal.GetLabelOptions) => string | undefined;
|
|
308
|
+
/**
|
|
309
|
+
* Set the label of the relation.
|
|
310
|
+
* Must be called within a `Relation.update` callback.
|
|
311
|
+
*
|
|
312
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
313
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
314
|
+
*/
|
|
315
|
+
export declare const setLabel: (entity: Mutable<Unknown>, label: string) => void;
|
|
316
|
+
/**
|
|
317
|
+
* Get the description of the relation.
|
|
318
|
+
* Accepts both reactive relations and snapshots.
|
|
319
|
+
*/
|
|
320
|
+
export declare const getDescription: (entity: Unknown | Snapshot) => string | undefined;
|
|
321
|
+
/**
|
|
322
|
+
* Set the description of the relation.
|
|
323
|
+
* Must be called within a `Relation.update` callback.
|
|
324
|
+
*
|
|
325
|
+
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
326
|
+
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
327
|
+
*/
|
|
328
|
+
export declare const setDescription: (entity: Mutable<Unknown>, description: string) => void;
|
|
329
|
+
/**
|
|
330
|
+
* JSON representation of a relation.
|
|
331
|
+
*/
|
|
332
|
+
export type JSON = internal.ObjectJSON;
|
|
333
|
+
/**
|
|
334
|
+
* Converts relation to its JSON representation.
|
|
335
|
+
* Accepts both reactive relations and snapshots.
|
|
336
|
+
*/
|
|
337
|
+
export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
|
|
338
|
+
/**
|
|
339
|
+
* Comparator function type for sorting relations.
|
|
340
|
+
* Accepts both reactive relations and snapshots.
|
|
341
|
+
*/
|
|
342
|
+
export type Comparator = internal.Comparator<Unknown | Snapshot>;
|
|
343
|
+
export declare const sortByLabel: Comparator;
|
|
344
|
+
export declare const sortByTypename: Comparator;
|
|
345
|
+
export declare const sort: (...comparators: Comparator[]) => Comparator;
|
|
346
|
+
export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
|
|
347
|
+
export declare const isVersion: (entity: unknown) => entity is internal.EntityVersion;
|
|
348
|
+
/**
|
|
349
|
+
* Represent relation version.
|
|
350
|
+
*/
|
|
351
|
+
export type Version = internal.EntityVersion;
|
|
352
|
+
/**
|
|
353
|
+
* Returns the version of the relation.
|
|
354
|
+
* Accepts both reactive relations and snapshots.
|
|
355
|
+
*/
|
|
356
|
+
export declare const version: (entity: Unknown | Snapshot) => Version;
|
|
357
|
+
export declare const atom: <T extends Unknown>(relation: T) => import("@effect-atom/atom/Atom").Atom<Snapshot<T>>;
|
|
60
358
|
export {};
|
|
61
359
|
//# sourceMappingURL=Relation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../src/Relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../src/Relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Relation.test.d.ts","sourceRoot":"","sources":["../../../src/Relation.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type QueryAST } from '@dxos/echo-protocol';
|
|
2
|
+
/**
|
|
3
|
+
* Scope targeting a space's automerge documents.
|
|
4
|
+
*
|
|
5
|
+
* With no `spaceId`, targets the owning space — i.e. the space of whichever database
|
|
6
|
+
* executes the query — so callers can reference "this space" without looking up its id.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* db.query(Filter.type(Person).from(Scope.space())); // owning space
|
|
11
|
+
* db.query(Filter.type(Person).from(Scope.space({ id: otherSpaceId }))); // a specific space
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const space: (options?: {
|
|
15
|
+
id?: string;
|
|
16
|
+
includeAllFeeds?: boolean;
|
|
17
|
+
}) => QueryAST.SpaceScope;
|
|
18
|
+
/**
|
|
19
|
+
* Scope targeting a code-shipped object/type registry.
|
|
20
|
+
*
|
|
21
|
+
* - `'local'` — the in-process registry attached to the hypergraph (default).
|
|
22
|
+
* - `'remote'` — a remote registry service (not yet implemented).
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* // Discover all types — persisted in the space and code-shipped in the registry.
|
|
27
|
+
* db.query(Filter.type(Type.Type).from(Scope.space(), Scope.registry()));
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const registry: (location?: 'local' | 'remote') => QueryAST.RegistryScope;
|
|
31
|
+
/**
|
|
32
|
+
* Scope targeting a specific feed (by its underlying queue EID).
|
|
33
|
+
*/
|
|
34
|
+
export declare const feed: (feedUri: string) => QueryAST.FeedScope;
|
|
35
|
+
//# sourceMappingURL=Scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/Scope.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,aAAc;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,QAAQ,CAAC,UAIpF,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,cAAc,OAAO,GAAG,QAAQ,KAAa,QAAQ,CAAC,aAGzE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,IAAI,YAAa,MAAM,KAAG,QAAQ,CAAC,SAG9C,CAAC"}
|
package/dist/types/src/Tag.d.ts
CHANGED
|
@@ -1,17 +1,34 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
|
+
import type { ForeignKey } from '@dxos/echo-protocol';
|
|
3
|
+
import type * as Database from './Database';
|
|
4
|
+
import * as internal from './internal';
|
|
2
5
|
import * as Obj from './Obj';
|
|
3
6
|
import * as Type from './Type';
|
|
4
|
-
export declare const Tag: Type.
|
|
5
|
-
label:
|
|
6
|
-
hue
|
|
7
|
-
}
|
|
8
|
-
export type Tag =
|
|
9
|
-
export declare const make: (props: Obj.MakeProps<typeof Tag>) =>
|
|
10
|
-
label: string;
|
|
11
|
-
hue?: string | undefined;
|
|
12
|
-
}
|
|
7
|
+
export declare const Tag: Type.Obj<{
|
|
8
|
+
readonly label: string;
|
|
9
|
+
readonly hue?: string | undefined;
|
|
10
|
+
}, Schema.Struct.Fields>;
|
|
11
|
+
export type Tag = Type.InstanceType<typeof Tag>;
|
|
12
|
+
export declare const make: (props: Obj.MakeProps<typeof Tag>) => Obj.OfShape<{
|
|
13
|
+
readonly label: string;
|
|
14
|
+
readonly hue?: string | undefined;
|
|
15
|
+
} & import("./Entity").OfKind<internal.EntityKind.Object>>;
|
|
13
16
|
export type Map = Record<string, Tag>;
|
|
14
17
|
export declare const sortTags: ({ label: a }: Tag, { label: b }: Tag) => number;
|
|
15
18
|
export declare const createTagList: (tags: Map) => Tag[];
|
|
16
19
|
export declare const findTagByLabel: (tags: Map | undefined, name: string) => Tag | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Finds or creates a {@link Tag} object in the database.
|
|
22
|
+
*
|
|
23
|
+
* - With a foreign `key` (system/provider tags): matched by that key; the label is kept current on
|
|
24
|
+
* re-sync. Use a stable key (e.g. `{ source: 'google.com/gmail/label', id }`) for tags whose
|
|
25
|
+
* identity is external or well-known.
|
|
26
|
+
* - Without a key (user tags): matched by case-insensitive label among tags that carry **no**
|
|
27
|
+
* foreign key, so it never collides with a keyed system/provider tag of the same label.
|
|
28
|
+
*/
|
|
29
|
+
export declare const findOrCreate: (db: Pick<Database.Database, 'query' | 'add'>, options: {
|
|
30
|
+
label: string;
|
|
31
|
+
hue?: string;
|
|
32
|
+
key?: ForeignKey;
|
|
33
|
+
}) => Promise<Tag>;
|
|
17
34
|
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,eAAO,MAAM,GAAG;;;wBAQf,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAEhD,eAAO,MAAM,IAAI,UAAW,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC;;;0DAAyB,CAAC;AAE/E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,eAAO,MAAM,QAAQ,iBAAkB,GAAG,gBAAgB,GAAG,WAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,SAAU,GAAG,KAAG,GAAG,EAG1B,CAAC;AAEpB,eAAO,MAAM,cAAc,SAAU,GAAG,GAAG,SAAS,QAAQ,MAAM,KAAG,GAAG,GAAG,SAG1E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,OACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,WACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,KACzD,OAAO,CAAC,GAAG,CA2Bb,CAAC"}
|