@dxos/echo 0.8.4-main.fd6878d → 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/Entity.mjs.map +7 -0
- package/dist/lib/neutral/Err.mjs +12 -0
- package/dist/lib/neutral/Err.mjs.map +7 -0
- package/dist/lib/neutral/Feed.mjs +54 -0
- package/dist/lib/neutral/Feed.mjs.map +7 -0
- package/dist/lib/neutral/Filter.mjs +70 -0
- package/dist/lib/neutral/Filter.mjs.map +7 -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 +514 -53
- 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 +323 -24
- 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 +34 -0
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +397 -107
- 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 +22 -3
- 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 +2 -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 +63 -0
- package/dist/types/src/internal/Format/date.d.ts.map +1 -0
- package/dist/types/src/internal/Format/date.test.d.ts +2 -0
- package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
- package/dist/types/src/internal/Format/format.d.ts +33 -0
- package/dist/types/src/internal/Format/format.d.ts.map +1 -0
- package/dist/types/src/internal/Format/format.test.d.ts +2 -0
- package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
- package/dist/types/src/internal/Format/index.d.ts +8 -0
- package/dist/types/src/internal/Format/index.d.ts.map +1 -0
- package/dist/types/src/internal/Format/number.d.ts +31 -0
- package/dist/types/src/internal/Format/number.d.ts.map +1 -0
- package/dist/types/src/internal/Format/object.d.ts +37 -0
- package/dist/types/src/internal/Format/object.d.ts.map +1 -0
- package/dist/types/src/internal/Format/select.d.ts +13 -0
- package/dist/types/src/internal/Format/select.d.ts.map +1 -0
- package/dist/types/src/internal/Format/string.d.ts +42 -0
- package/dist/types/src/internal/Format/string.d.ts.map +1 -0
- package/dist/types/src/internal/Format/types.d.ts +72 -0
- package/dist/types/src/internal/Format/types.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/annotations.d.ts +19 -0
- package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts +2 -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 +7 -0
- package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +351 -0
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts +31 -0
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts +2 -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 +18 -0
- package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/create-object.d.ts +39 -0
- 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 +2 -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 +2 -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 +2 -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 +2 -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 +3 -0
- package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts +21 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref.d.ts +262 -0
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref.test.d.ts +2 -0
- package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
- package/dist/types/src/internal/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 +2 -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/Type/manipulation.d.ts +9 -0
- 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 +2 -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 +15 -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 +2 -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 +2 -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 +2 -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 +11 -0
- package/dist/types/src/internal/index.d.ts.map +1 -0
- package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +4 -1
- 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 +122 -57
- 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 +836 -105
- 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 +97 -10
- package/src/Registry.ts +155 -0
- package/src/Relation.test.ts +88 -0
- package/src/Relation.ts +508 -61
- package/src/Scope.ts +50 -0
- package/src/Tag.md +88 -0
- package/src/Tag.ts +84 -0
- package/src/Type.test.ts +257 -0
- package/src/Type.ts +643 -152
- package/src/View.ts +98 -0
- package/src/exemplars.test.ts +21 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +24 -4
- 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/Format/date.test.ts +55 -0
- package/src/internal/Format/date.ts +213 -0
- package/src/internal/Format/format.test.ts +97 -0
- package/src/internal/Format/format.ts +54 -0
- package/src/internal/Format/index.ts +11 -0
- package/src/internal/Format/number.ts +89 -0
- package/src/internal/Format/object.ts +97 -0
- package/src/internal/Format/select.ts +18 -0
- package/src/internal/Format/string.ts +81 -0
- package/src/internal/Format/types.ts +186 -0
- package/src/internal/JsonSchema/annotations.ts +50 -0
- package/src/internal/JsonSchema/effect-schema.test.ts +143 -0
- package/src/internal/JsonSchema/index.ts +8 -0
- package/src/internal/JsonSchema/json-schema-normalize.ts +111 -0
- package/src/internal/JsonSchema/json-schema-type.ts +403 -0
- package/src/internal/JsonSchema/json-schema.test.ts +786 -0
- package/src/internal/JsonSchema/json-schema.ts +547 -0
- package/src/internal/Obj/atoms.ts +244 -0
- package/src/internal/Obj/clone.ts +53 -0
- package/src/internal/Obj/common.ts +75 -0
- 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/Obj/inspect.ts +48 -0
- package/src/internal/Obj/json-serializer.test.ts +199 -0
- package/src/internal/Obj/json-serializer.ts +278 -0
- package/src/internal/Obj/schema-validator.test.ts +182 -0
- 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/{query → internal/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/index.ts +6 -0
- package/src/internal/Ref/ref-array.ts +38 -0
- package/src/internal/Ref/ref.test.ts +91 -0
- package/src/internal/Ref/ref.ts +650 -0
- package/src/internal/Ref/utils.ts +45 -0
- package/src/internal/Type/compose.test.ts +43 -0
- package/src/internal/Type/compose.ts +41 -0
- package/src/internal/Type/index.ts +6 -0
- package/src/internal/Type/manipulation.ts +67 -0
- 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/common/index.ts +7 -0
- 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/common/proxy/schema-validator.ts +244 -0
- 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 +19 -0
- package/src/testing/api.test.ts +131 -0
- package/src/testing/index.ts +4 -1
- 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-NLPBTYZV.mjs +0 -647
- package/dist/lib/browser/chunk-NLPBTYZV.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -22
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/testing/index.mjs +0 -70
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BQZZRMFX.mjs +0 -647
- package/dist/lib/node-esm/chunk-BQZZRMFX.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -22
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/testing/index.mjs +0 -70
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/experimental/database.d.ts +0 -8
- package/dist/types/src/experimental/database.d.ts.map +0 -1
- package/dist/types/src/experimental/index.d.ts +0 -1
- package/dist/types/src/experimental/index.d.ts.map +0 -1
- package/dist/types/src/experimental/queue.d.ts +0 -8
- package/dist/types/src/experimental/queue.d.ts.map +0 -1
- package/dist/types/src/experimental/space.d.ts +0 -8
- package/dist/types/src/experimental/space.d.ts.map +0 -1
- package/dist/types/src/query/dsl.d.ts +0 -218
- package/dist/types/src/query/dsl.d.ts.map +0 -1
- package/dist/types/src/query/dsl.test.d.ts +0 -2
- package/dist/types/src/query/dsl.test.d.ts.map +0 -1
- package/dist/types/src/query/index.d.ts +0 -2
- package/dist/types/src/query/index.d.ts.map +0 -1
- package/dist/types/src/testing/types.d.ts +0 -113
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/src/experimental/database.ts +0 -11
- package/src/experimental/index.ts +0 -7
- package/src/experimental/queue.ts +0 -11
- package/src/experimental/space.ts +0 -11
- package/src/query/dsl.test.ts +0 -324
- package/src/query/dsl.ts +0 -646
- package/src/test/api.test.ts +0 -173
- package/src/testing/types.ts +0 -91
- /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
- /package/dist/lib/{node-esm/index.mjs.map → neutral/Database.mjs.map} +0 -0
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/common.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC,MAAM,MAAM,kBAAkB,GAAG;IAE/B,OAAO,CAAC,EAAE,IAAI,CAAC;IAEf,MAAM,CAAC,EAAE,IAAI,CAAC;CACf,CAAC;AAEF;;GAEG;AAGH,KAAK,sBAAsB,CACzB,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,OAAO,CAAC,SAAS,CAAC,SAAS,OAAO,GAClC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GACjE,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;AAE7D;;GAEG;AAGH,MAAM,MAAM,iBAAiB,CAC3B,YAAY,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,EACzC,OAAO,SAAS,kBAAkB,IAChC,sBAAsB,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,OAAO,GACjG,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,GACjF,EAAE,CAAC,CAAC;AAEV,eAAO,MAAM,oBAAoB,aACrB,MAAM,WACP,MAAM,cACH,MAAM,CAAC,MAAM,CAAC,YAAY,KACrC,MAAM,CAAC,WAAW,CAAC,GAAG,CAuBxB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type * as Type from '../../Type';
|
|
2
|
+
import { KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
|
|
3
|
+
import { type EntityMeta } from '../common/types/meta';
|
|
4
|
+
import { MetaId } from '../common/types/model-symbols';
|
|
5
|
+
export type CreateObjectProps<T> = (T extends {
|
|
6
|
+
id: string;
|
|
7
|
+
} ? Omit<T, 'id' | KindId | SchemaKindId | StaticTypeSchemaSlot> & {
|
|
8
|
+
id?: string;
|
|
9
|
+
} : Omit<T, KindId | SchemaKindId | StaticTypeSchemaSlot>) & {
|
|
10
|
+
readonly [MetaId]?: Partial<EntityMeta>;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new object instance from a schema and data, without signal reactivity.
|
|
14
|
+
* This static version creates plain JavaScript objects that are not reactive/observable.
|
|
15
|
+
* For reactive objects that automatically update UI when changed, use the regular live() function.
|
|
16
|
+
*
|
|
17
|
+
* @param schema - The Effect schema that defines the object's structure and type, piped into EchoObjectSchema
|
|
18
|
+
* @param data - The data to initialize the object with. The id and @type fields are handled automatically.
|
|
19
|
+
* @returns A new non-reactive object instance conforming to the schema
|
|
20
|
+
* @throws {Error} If the schema is not an object schema
|
|
21
|
+
* @throws {TypeError} If data contains an @type field
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* const Contact = Schema.Struct({
|
|
26
|
+
* name: Schema.String,
|
|
27
|
+
* email: Schema.String,
|
|
28
|
+
* }).pipe(Type.makeObject(DXN.make('com.example.type.person', '0.1.0')))
|
|
29
|
+
*
|
|
30
|
+
* const contact = createObject(Contact, {
|
|
31
|
+
* name: "John",
|
|
32
|
+
* email: "john@example.com",
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare const createObject: {
|
|
37
|
+
<T extends Type.AnyEntity>(input: T, props: NoInfer<CreateObjectProps<Type.InstanceType<T>>>): Type.InstanceType<T>;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=create-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
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,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAiBvD,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/create-object.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleted.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/deleted.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGrD;;GAEG;AACH,eAAO,MAAM,SAAS,QAAS,aAAa,KAAG,OAQ9C,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './common';
|
|
2
|
+
export * from './create-object';
|
|
3
|
+
export * from './deleted';
|
|
4
|
+
export * from './json-serializer';
|
|
5
|
+
export * from './schema-validator';
|
|
6
|
+
export * from './set-value';
|
|
7
|
+
export * from './snapshot';
|
|
8
|
+
export * from './typed-object';
|
|
9
|
+
export * from './atoms';
|
|
10
|
+
export * from './clone';
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +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,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/inspect.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type EncodedReference, EntityStructure } from '@dxos/echo-protocol';
|
|
2
|
+
import { EntityId, URI } from '@dxos/keys';
|
|
3
|
+
import type * as Database from '../../Database';
|
|
4
|
+
import type * as Obj from '../../Obj';
|
|
5
|
+
import { attachTypedJsonSerializer } from '../common/proxy';
|
|
6
|
+
import { type AnyEntity } from '../common/types';
|
|
7
|
+
import { type ObjectJSON } from '../Entity';
|
|
8
|
+
import { Ref, type RefResolver } from '../Ref';
|
|
9
|
+
export { attachTypedJsonSerializer };
|
|
10
|
+
type DeepReplaceRef<T> = T extends Ref<any> ? EncodedReference : T extends object ? {
|
|
11
|
+
[K in keyof T]: DeepReplaceRef<T[K]>;
|
|
12
|
+
} : T;
|
|
13
|
+
type SerializedObject<T extends {
|
|
14
|
+
id: string;
|
|
15
|
+
}> = {
|
|
16
|
+
[K in keyof T]: DeepReplaceRef<T[K]>;
|
|
17
|
+
} & ObjectJSON;
|
|
18
|
+
/**
|
|
19
|
+
* Converts object to it's JSON representation.
|
|
20
|
+
*/
|
|
21
|
+
export declare const objectToJSON: <T extends AnyEntity>(obj: T) => SerializedObject<T>;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an object from it's json representation.
|
|
24
|
+
* Performs schema validation.
|
|
25
|
+
* References and schema will be resolvable if the `refResolver` is provided.
|
|
26
|
+
* The function need to be async to support resolving the schema as well as the relation endpoints.
|
|
27
|
+
*
|
|
28
|
+
* @param jsonData - JSON representation of the object.
|
|
29
|
+
* @param options.refResolver - Resolver for references.
|
|
30
|
+
* @param options.uri - Override object URI.
|
|
31
|
+
* @param options.database - Database to associate with the object.
|
|
32
|
+
*/
|
|
33
|
+
export declare const objectFromJSON: (jsonData: unknown, { refResolver, uri, database, parent, }?: {
|
|
34
|
+
refResolver?: RefResolver;
|
|
35
|
+
uri?: URI.URI;
|
|
36
|
+
database?: Database.Database;
|
|
37
|
+
parent?: Obj.Unknown;
|
|
38
|
+
}) => Promise<AnyEntity>;
|
|
39
|
+
export declare const setRefResolverOnData: (obj: AnyEntity, refResolver: RefResolver) => void;
|
|
40
|
+
/**
|
|
41
|
+
* Convert EntityStructure to JSON data for indexing.
|
|
42
|
+
* Different from {@link objectToJSON} as it takes the internal {@link EntityStructure} representation directly
|
|
43
|
+
*/
|
|
44
|
+
export declare const objectStructureToJson: (objectId: EntityId, structure: EntityStructure) => Obj.JSON;
|
|
45
|
+
//# sourceMappingURL=json-serializer.d.ts.map
|
|
@@ -0,0 +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,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;AAGzB,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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json-serializer.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/json-serializer.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/schema-validator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-validator.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/schema-validator.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Mutable } from '../common/proxy';
|
|
2
|
+
/**
|
|
3
|
+
* Set a deeply nested property on an object.
|
|
4
|
+
* Must be called within an Obj.update or Relation.update callback.
|
|
5
|
+
*/
|
|
6
|
+
export declare const setValue: (obj: Mutable<any>, path: readonly (string | number)[], value: any) => void;
|
|
7
|
+
//# sourceMappingURL=set-value.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-value.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/set-value.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG/C;;;GAGG;AACH,eAAO,MAAM,QAAQ,QAAS,OAAO,CAAC,GAAG,CAAC,QAAQ,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,SAAS,GAAG,KAAG,IAqC5F,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"set-value.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/set-value.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
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,CAuDtD,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
|
+
import { type TypeMeta } from '../Annotation';
|
|
3
|
+
import { type AnyEntity } from '../common/types';
|
|
4
|
+
/**
|
|
5
|
+
* Definition for an object type that can be stored in an ECHO database.
|
|
6
|
+
* Implements effect schema to define object properties.
|
|
7
|
+
* Has a typename and version.
|
|
8
|
+
*
|
|
9
|
+
* In contrast to a stored `Type.Type` entity, this definition is not recorded in the database.
|
|
10
|
+
*
|
|
11
|
+
* @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
|
|
12
|
+
*/
|
|
13
|
+
export interface TypedObject<A = any, I = any> extends TypeMeta, Schema.Schema<A, I> {
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Typed object that could be used as a prototype in class definitions.
|
|
17
|
+
* This is an internal API type.
|
|
18
|
+
*
|
|
19
|
+
* @deprecated Use `Type.AnyObj` from `@dxos/echo` instead.
|
|
20
|
+
*/
|
|
21
|
+
export interface TypedObjectPrototype<A = any, I = any> extends TypedObject<A, I> {
|
|
22
|
+
/** Type constructor. */
|
|
23
|
+
new (): AnyEntity & A;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=typed-object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/typed-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;GAQG;AACH,MAAM,WAAW,WAAW,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC;CAAG;AAEvF;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/E,wBAAwB;IACxB,QAAQ,SAAS,GAAG,CAAC,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"typed-object.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Obj/typed-object.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Query/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type QueryAST } from '@dxos/echo-protocol';
|
|
2
|
+
/**
|
|
3
|
+
* Returns a human-readable string representation of a Filter AST.
|
|
4
|
+
*/
|
|
5
|
+
export declare const prettyFilter: (filter: QueryAST.Filter) => string;
|
|
6
|
+
/**
|
|
7
|
+
* Returns a human-readable string representation of a Query AST.
|
|
8
|
+
*/
|
|
9
|
+
export declare const prettyQuery: (query: QueryAST.Query) => string;
|
|
10
|
+
//# sourceMappingURL=pretty.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Query/pretty.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,MAmFnD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as Atom from '@effect-atom/atom/Atom';
|
|
2
|
+
import type { Ref } from './ref';
|
|
3
|
+
/**
|
|
4
|
+
* Atom family for ECHO refs.
|
|
5
|
+
* Uses ref reference as key — same ref returns same atom.
|
|
6
|
+
* This atom only updates once when the ref loads — it does not subscribe to target object changes.
|
|
7
|
+
* Use `Obj.atom(ref)` if you need reactive snapshots of ECHO objects via a ref.
|
|
8
|
+
*/
|
|
9
|
+
export declare const refSimpleFamily: <T>(arg: Ref<T>) => Atom.Atom<T | undefined>;
|
|
10
|
+
//# sourceMappingURL=atoms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"atoms.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/atoms.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAE/C,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAgB,CAAC,0CAI3C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type EntityId } from '@dxos/keys';
|
|
2
|
+
import { type AnyEntity } from '../common/types';
|
|
3
|
+
import { Ref } from './ref';
|
|
4
|
+
/**
|
|
5
|
+
* Helper functions for working with arrays of refs.
|
|
6
|
+
*/
|
|
7
|
+
export declare const RefArray: Readonly<{
|
|
8
|
+
/**
|
|
9
|
+
* @returns all resolved targets.
|
|
10
|
+
*/
|
|
11
|
+
targets: <T extends AnyEntity>(refs: readonly Ref<T>[]) => T[];
|
|
12
|
+
/**
|
|
13
|
+
* Load all referenced objects.
|
|
14
|
+
*/
|
|
15
|
+
loadAll: <T extends AnyEntity>(refs: readonly Ref<T>[]) => Promise<T[]>;
|
|
16
|
+
/**
|
|
17
|
+
* Removes the ref with the given id.
|
|
18
|
+
*/
|
|
19
|
+
removeById: (refs: Ref<AnyEntity>[], id: EntityId) => void;
|
|
20
|
+
}>;
|
|
21
|
+
//# sourceMappingURL=ref-array.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref-array.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref-array.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B;;GAEG;AACH,eAAO,MAAM,QAAQ;IACnB;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,CAAC,EAAE;IAI5D;;OAEG;cACO,CAAC,SAAS,SAAS,QAAQ,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,KAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAIrE;;OAEG;uBACgB,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,QAAQ;EAMjD,CAAC"}
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import type * as Atom from '@effect-atom/atom/Atom';
|
|
2
|
+
import * as Equal from 'effect/Equal';
|
|
3
|
+
import * as Hash from 'effect/Hash';
|
|
4
|
+
import * as Pipeable from 'effect/Pipeable';
|
|
5
|
+
import * as Schema from 'effect/Schema';
|
|
6
|
+
import * as SchemaAST from 'effect/SchemaAST';
|
|
7
|
+
import type * as Types from 'effect/Types';
|
|
8
|
+
import { type CustomInspectFunction, inspectCustom } from '@dxos/debug';
|
|
9
|
+
import { EncodedReference } from '@dxos/echo-protocol';
|
|
10
|
+
import { EntityId, type URI } from '@dxos/keys';
|
|
11
|
+
import type * as Type from '../../Type';
|
|
12
|
+
import { type AnyEntity, type AnyProperties, type UnknownTypeSchema } from '../common/types';
|
|
13
|
+
import { type JsonSchemaType } from '../JsonSchema';
|
|
14
|
+
/**
|
|
15
|
+
* The `$id` and `$ref` fields for an ECHO reference schema.
|
|
16
|
+
*/
|
|
17
|
+
export declare const JSON_SCHEMA_ECHO_REF_ID = "/schemas/echo/ref";
|
|
18
|
+
export declare const getSchemaReference: (property: JsonSchemaType) => {
|
|
19
|
+
typename: string;
|
|
20
|
+
} | undefined;
|
|
21
|
+
export declare const createSchemaReference: (typename: string) => Types.DeepMutable<JsonSchemaType>;
|
|
22
|
+
/**
|
|
23
|
+
* Runtime type-info for a reference extracted from effect AST.
|
|
24
|
+
*/
|
|
25
|
+
export type RefereneAST = {
|
|
26
|
+
/**
|
|
27
|
+
* Typename of linked schema.
|
|
28
|
+
*/
|
|
29
|
+
typename: string;
|
|
30
|
+
/**
|
|
31
|
+
* Version of linked schema.
|
|
32
|
+
*/
|
|
33
|
+
version: string;
|
|
34
|
+
};
|
|
35
|
+
export declare const getReferenceAst: (ast: SchemaAST.AST) => RefereneAST | undefined;
|
|
36
|
+
export declare const RefTypeId: unique symbol;
|
|
37
|
+
/**
|
|
38
|
+
* Reference Schema.
|
|
39
|
+
*/
|
|
40
|
+
export interface RefSchema<T extends AnyEntity> extends Schema.SchemaClass<Ref<T>, EncodedReference> {
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Type of the `Ref` function and extra methods attached to it.
|
|
44
|
+
*/
|
|
45
|
+
export interface RefFn {
|
|
46
|
+
<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>;
|
|
47
|
+
/**
|
|
48
|
+
* @returns True if the object is a reference.
|
|
49
|
+
*/
|
|
50
|
+
isRef: (obj: unknown) => obj is Ref<any>;
|
|
51
|
+
/**
|
|
52
|
+
* @returns True if the reference points to the given object id.
|
|
53
|
+
*/
|
|
54
|
+
hasEntityId: (id: EntityId) => (ref: Ref<any>) => boolean;
|
|
55
|
+
/**
|
|
56
|
+
* @returns True if the schema is a reference schema.
|
|
57
|
+
*/
|
|
58
|
+
isRefSchema: (schema: Schema.Schema<any, any>) => schema is RefSchema<any>;
|
|
59
|
+
/**
|
|
60
|
+
* @returns True if the schema AST is a reference schema.
|
|
61
|
+
*/
|
|
62
|
+
isRefSchemaAST: (ast: SchemaAST.AST) => boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Constructs a reference that points to the given object.
|
|
65
|
+
*/
|
|
66
|
+
make: <T extends AnyEntity>(object: T) => Ref<T>;
|
|
67
|
+
/**
|
|
68
|
+
* Constructs a reference that points to the object specified by the provided URI
|
|
69
|
+
* (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
|
|
70
|
+
*/
|
|
71
|
+
fromURI: (uri: URI.URI) => Ref<any>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Schema builder for references.
|
|
75
|
+
*/
|
|
76
|
+
export declare const Ref: RefFn;
|
|
77
|
+
/**
|
|
78
|
+
* Represents materialized reference to a target.
|
|
79
|
+
* This is the data type for the fields marked as ref.
|
|
80
|
+
*/
|
|
81
|
+
export interface Ref<T> extends Pipeable.Pipeable {
|
|
82
|
+
/**
|
|
83
|
+
* Target URI (either an `echo:` EID for an object reference or a `dxn:` DXN for a type reference).
|
|
84
|
+
*/
|
|
85
|
+
get uri(): URI.URI;
|
|
86
|
+
/**
|
|
87
|
+
* Returns true if the reference has a target available (inlined or resolver set).
|
|
88
|
+
*/
|
|
89
|
+
get isAvailable(): boolean;
|
|
90
|
+
/**
|
|
91
|
+
* @returns The reference target.
|
|
92
|
+
* May return `undefined` if the object is not loaded in the working set.
|
|
93
|
+
* Accessing this property, even if it returns `undefined` will trigger the object to be loaded to the working set.
|
|
94
|
+
*/
|
|
95
|
+
get target(): T | undefined;
|
|
96
|
+
/**
|
|
97
|
+
* @returns Promise that will resolves with the target object.
|
|
98
|
+
* Will load the object from disk if it is not present in the working set.
|
|
99
|
+
* @throws If the object is not available locally.
|
|
100
|
+
*/
|
|
101
|
+
load(): Promise<T>;
|
|
102
|
+
/**
|
|
103
|
+
* @returns Promise that will resolves with the target object or undefined if the object is not loaded locally.
|
|
104
|
+
*/
|
|
105
|
+
tryLoad(): Promise<T | undefined>;
|
|
106
|
+
/**
|
|
107
|
+
* Subscribe to the ref's resolution event.
|
|
108
|
+
* The callback fires when the target object becomes available in the working set
|
|
109
|
+
* (e.g. when its document is loaded after sibling-client mutation).
|
|
110
|
+
* Note: the resolver only schedules a notification when the target is requested
|
|
111
|
+
* via {@link target} while it is not yet loaded.
|
|
112
|
+
* @returns Function that unsubscribes the callback.
|
|
113
|
+
*/
|
|
114
|
+
onResolved(callback: () => void): () => void;
|
|
115
|
+
/**
|
|
116
|
+
* Do not inline the target object in the reference.
|
|
117
|
+
* Makes .target unavailable unless the reference is connected to a database context.
|
|
118
|
+
*
|
|
119
|
+
* When serialized with toJSON, the difference is between:
|
|
120
|
+
* `{ "/": "dxn:..." }`
|
|
121
|
+
* and
|
|
122
|
+
* `{ "/": "dxn:...", "target": { ... } }`
|
|
123
|
+
*
|
|
124
|
+
* Clones the reference object.
|
|
125
|
+
*/
|
|
126
|
+
noInline(): Ref<T>;
|
|
127
|
+
/**
|
|
128
|
+
* Read-only atom for the ref target.
|
|
129
|
+
* Resolves once when the target loads; does NOT subscribe to target object mutations.
|
|
130
|
+
* Use `Obj.atom(ref)` if you need reactive snapshots that update on every object mutation.
|
|
131
|
+
*/
|
|
132
|
+
get atom(): Atom.Atom<T | undefined>;
|
|
133
|
+
/**
|
|
134
|
+
* Serializes the reference to a JSON object.
|
|
135
|
+
* The serialization format is compatible with the IPLD-style encoded references.
|
|
136
|
+
* When a reference has a saved target (i.e. the target or object holding the reference is not in the database),
|
|
137
|
+
* the target is included in the serialized object.
|
|
138
|
+
*
|
|
139
|
+
* Examples:
|
|
140
|
+
* `{ "/": "dxn:..." }`
|
|
141
|
+
* `{ "/": "dxn:...", "target": { ... } }`
|
|
142
|
+
*/
|
|
143
|
+
encode(): EncodedReference;
|
|
144
|
+
[RefTypeId]: {
|
|
145
|
+
_T: T;
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
export declare namespace Ref {
|
|
149
|
+
/**
|
|
150
|
+
* Target of the reference.
|
|
151
|
+
*/
|
|
152
|
+
type Target<R> = R extends Ref<infer U> ? U : never;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* `reference` field on the schema object.
|
|
156
|
+
*/
|
|
157
|
+
export type JsonSchemaReferenceInfo = {
|
|
158
|
+
schema: {
|
|
159
|
+
$ref: string;
|
|
160
|
+
};
|
|
161
|
+
schemaVersion?: string;
|
|
162
|
+
};
|
|
163
|
+
export interface RefResolver {
|
|
164
|
+
/**
|
|
165
|
+
* Resolve ref synchronously from the objects in the working set.
|
|
166
|
+
*
|
|
167
|
+
* @param uri
|
|
168
|
+
* @param load If true the resolver should attempt to load the object from disk.
|
|
169
|
+
* @param onLoad Callback to call when the object is loaded.
|
|
170
|
+
*/
|
|
171
|
+
resolveSync(uri: URI.URI, load: boolean, onLoad?: () => void): AnyProperties | undefined;
|
|
172
|
+
/**
|
|
173
|
+
* Resolver ref asynchronously.
|
|
174
|
+
*/
|
|
175
|
+
resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
|
|
176
|
+
resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
177
|
+
/**
|
|
178
|
+
* Resolve the source `Type.AnyEntity` entity for a type URI. Used by
|
|
179
|
+
* deserialization paths (`Obj.fromJSON`) to set the back-reference accessed
|
|
180
|
+
* via `Obj.getType` / `Entity.getType`. Optional — resolvers that only
|
|
181
|
+
* carry raw schemas may leave this unimplemented; the deserializer falls
|
|
182
|
+
* back to leaving the type entity unset.
|
|
183
|
+
*/
|
|
184
|
+
resolveType?(uri: URI.URI): Promise<unknown | undefined>;
|
|
185
|
+
}
|
|
186
|
+
export declare class RefImpl<T> implements Ref<T> {
|
|
187
|
+
#private;
|
|
188
|
+
constructor(uri: URI.URI, target?: T);
|
|
189
|
+
/**
|
|
190
|
+
* @inheritdoc
|
|
191
|
+
*/
|
|
192
|
+
get uri(): URI.URI;
|
|
193
|
+
/**
|
|
194
|
+
* @inheritdoc
|
|
195
|
+
*/
|
|
196
|
+
get isAvailable(): boolean;
|
|
197
|
+
/**
|
|
198
|
+
* @inheritdoc
|
|
199
|
+
*/
|
|
200
|
+
get target(): T | undefined;
|
|
201
|
+
/**
|
|
202
|
+
* @inheritdoc
|
|
203
|
+
*/
|
|
204
|
+
load(): Promise<T>;
|
|
205
|
+
/**
|
|
206
|
+
* @inheritdoc
|
|
207
|
+
*/
|
|
208
|
+
tryLoad(): Promise<T | undefined>;
|
|
209
|
+
/**
|
|
210
|
+
* @inheritdoc
|
|
211
|
+
*/
|
|
212
|
+
onResolved(callback: () => void): () => void;
|
|
213
|
+
/**
|
|
214
|
+
* Do not inline the target object in the reference.
|
|
215
|
+
* Makes .target unavailable unless the reference is connected to a database context.
|
|
216
|
+
* Clones the reference object.
|
|
217
|
+
*/
|
|
218
|
+
noInline(): RefImpl<T>;
|
|
219
|
+
encode(): EncodedReference;
|
|
220
|
+
/**
|
|
221
|
+
* Serializes the reference to a JSON object.
|
|
222
|
+
* The serialization format is compatible with the IPLD-style encoded references.
|
|
223
|
+
* When a reference has a saved target (i.e. the target or object holding the reference is not in the database),
|
|
224
|
+
* the target is included in the serialized object.
|
|
225
|
+
*/
|
|
226
|
+
toJSON(): EncodedReference;
|
|
227
|
+
toString(): string;
|
|
228
|
+
[inspectCustom]: CustomInspectFunction;
|
|
229
|
+
[RefTypeId]: {
|
|
230
|
+
_T: any;
|
|
231
|
+
};
|
|
232
|
+
/**
|
|
233
|
+
* Effect Hash trait. Required for MutableHashMap-based caches (e.g., Atom.family)
|
|
234
|
+
* to deduplicate Ref instances that point to the same object.
|
|
235
|
+
* ECHO proxies return new RefImpl instances on every property access,
|
|
236
|
+
* so without this, each access would create a separate cache entry.
|
|
237
|
+
*/
|
|
238
|
+
[Hash.symbol](): number;
|
|
239
|
+
/** Effect Equal trait. See {@link Hash.symbol} for rationale. */
|
|
240
|
+
[Equal.symbol](that: Equal.Equal): boolean;
|
|
241
|
+
get atom(): Atom.Atom<T | undefined>;
|
|
242
|
+
pipe(): unknown;
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* Internal API for setting the reference resolver.
|
|
246
|
+
*/
|
|
247
|
+
export declare const setRefResolver: (ref: Ref<any>, resolver: RefResolver) => void;
|
|
248
|
+
/**
|
|
249
|
+
* Internal API for getting the saved target on a reference.
|
|
250
|
+
*/
|
|
251
|
+
export declare const getRefSavedTarget: (ref: Ref<any>) => AnyProperties | undefined;
|
|
252
|
+
export declare const refFromEncodedReference: (encodedReference: EncodedReference, resolver?: RefResolver) => Ref<any>;
|
|
253
|
+
export declare class StaticRefResolver implements RefResolver {
|
|
254
|
+
objects: Map<string, AnyProperties>;
|
|
255
|
+
schemas: Map<URI.URI, Schema.Schema.AnyNoContext>;
|
|
256
|
+
addObject(obj: AnyProperties): this;
|
|
257
|
+
addSchema(input: Type.AnyEntity): this;
|
|
258
|
+
resolveSync(uri: URI.URI, _load: boolean, _onLoad?: () => void): AnyProperties | undefined;
|
|
259
|
+
resolve(uri: URI.URI): Promise<AnyProperties | undefined>;
|
|
260
|
+
resolveSchema(uri: URI.URI): Promise<Schema.Schema.AnyNoContext | undefined>;
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=ref.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ref.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/ref.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type * as Atom from '@effect-atom/atom/Atom';
|
|
2
|
+
import type { Ref } from './ref';
|
|
3
|
+
/**
|
|
4
|
+
* Internal helper for loading ref targets in atoms.
|
|
5
|
+
* Handles the common pattern of checking for loaded target and triggering async load.
|
|
6
|
+
*/
|
|
7
|
+
export declare const loadRefTarget: <T, R>(ref: Ref<T>, get: Atom.Context, onTargetAvailable: (target: T) => R) => R | undefined;
|
|
8
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Ref/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,IAAI,MAAM,wBAAwB,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,OAC3B,GAAG,CAAC,CAAC,CAAC,OACN,IAAI,CAAC,OAAO,qBACE,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,KAClC,CAAC,GAAG,SA4BN,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type * as Types from 'effect/Types';
|
|
2
|
+
import { type JsonSchemaType } from '../JsonSchema';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a composite schema from the source and projection schemas.
|
|
5
|
+
*/
|
|
6
|
+
export declare const composeSchema: (source: Types.Mutable<JsonSchemaType>, target: Types.Mutable<JsonSchemaType>) => Types.Mutable<JsonSchemaType>;
|
|
7
|
+
//# sourceMappingURL=compose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/compose.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEpD;;GAEG;AAGH,eAAO,MAAM,aAAa,WAChB,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,UAC7B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KACpC,KAAK,CAAC,OAAO,CAAC,cAAc,CAsB9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Type/compose.test.ts"],"names":[],"mappings":""}
|