@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,84 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import type * as Types from 'effect/Types';
|
|
3
|
+
import { DXN, EntityId } from '@dxos/keys';
|
|
4
|
+
import { type ToMutable } from '@dxos/util';
|
|
5
|
+
import { type AnyEntity, EntityKind, InstancePhantomId, KindId, SchemaKindId, StaticTypeSchemaSlot } from '../common/types';
|
|
6
|
+
import { JsonSchemaType } from '../JsonSchema/json-schema-type';
|
|
7
|
+
export type EchoTypeSchemaProps<T, ExtraFields = {}> = Types.Simplify<AnyEntity & ToMutable<T> & ExtraFields>;
|
|
8
|
+
/**
|
|
9
|
+
* Options accepted by every `Type.makeObject` / `Type.makeRelation` / type-kind
|
|
10
|
+
* factory. Defaults are derived from `(typename, version)` so callers normally
|
|
11
|
+
* pass nothing.
|
|
12
|
+
*/
|
|
13
|
+
export type EchoTypeOptions = {
|
|
14
|
+
/**
|
|
15
|
+
* Override the entity id stamped on the in-memory `Type.Type` value.
|
|
16
|
+
*
|
|
17
|
+
* Defaults to `EntityId.deterministic(typename, version)` — stable across processes
|
|
18
|
+
* and workerd-safe (no `crypto.getRandomValues()` at module-evaluation time).
|
|
19
|
+
* Pass an explicit id (typically `EntityId.random()`) to opt out of the
|
|
20
|
+
* deterministic default.
|
|
21
|
+
*/
|
|
22
|
+
id?: EntityId;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* In-memory `Type.Type` entity shape produced by `Type.makeObject(dxn)` /
|
|
26
|
+
* `Type.makeRelation({...})`. A live reactive `TypeSchema` instance —
|
|
27
|
+
* identical to a persisted `Type.Type` except for database attachment.
|
|
28
|
+
*
|
|
29
|
+
* NOT a `Schema.Schema`. The underlying Effect Schema is cached on the hidden
|
|
30
|
+
* `StaticTypeSchemaSlot` slot — retrieve it via `Type.getSchema(...)`.
|
|
31
|
+
*/
|
|
32
|
+
export interface EchoTypeSchema<Self extends Schema.Schema.Any, ExtraFields = {}, K extends EntityKind = EntityKind, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> {
|
|
33
|
+
/**
|
|
34
|
+
* Entity-kind brand. Type entities are their own kind (`Type`) regardless of
|
|
35
|
+
* the kind of instance they describe — `[SchemaKindId]` carries the latter.
|
|
36
|
+
* This lets predicates like `Obj.isObject` / `Relation.isRelation` cleanly
|
|
37
|
+
* reject type entities without also having to inspect `[SchemaKindId]`.
|
|
38
|
+
*/
|
|
39
|
+
readonly [KindId]: EntityKind.Type;
|
|
40
|
+
/** Schema-kind brand indicating what kind of instance this type describes. */
|
|
41
|
+
readonly [SchemaKindId]: K;
|
|
42
|
+
/**
|
|
43
|
+
* Entity id. Always present — stamped at construction — but NOT the type's
|
|
44
|
+
* identity while in-memory: an unattached type resolves its URI to the typename
|
|
45
|
+
* DXN, switching to `echo:/<id>` only once attached to a database (see
|
|
46
|
+
* `getTypeURIFromSpecifier`, which discriminates by database attachment).
|
|
47
|
+
*/
|
|
48
|
+
readonly id: EntityId;
|
|
49
|
+
/** Source Effect Schema (kept on a hidden slot for `Type.getSchema`). */
|
|
50
|
+
readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
|
|
51
|
+
readonly jsonSchema: JsonSchemaType;
|
|
52
|
+
/** Struct fields for introspection. */
|
|
53
|
+
readonly fields: Fields;
|
|
54
|
+
/** Phantom — instance type produced by `Obj.make(self, ...)`. */
|
|
55
|
+
readonly _instance?: EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields>;
|
|
56
|
+
/**
|
|
57
|
+
* Phantom slot mirroring `Type<A>` so internal helpers (`makeObject`,
|
|
58
|
+
* `createObject`, `Ref.make`) infer the instance type uniformly whether
|
|
59
|
+
* the caller passes an `EchoTypeSchema` or a top-level `Type.Type` entity.
|
|
60
|
+
*
|
|
61
|
+
* Includes the instance-kind brand (`[KindId]`) so the phantom is assignable
|
|
62
|
+
* to the matching public-side interface in `Type.ts` (`Type.Obj` /
|
|
63
|
+
* `Type.Relation` / `Type.Type`). Each kind projects identity: instances of
|
|
64
|
+
* an object-kind schema are object-kind entities, type-kind schemas produce
|
|
65
|
+
* type-kind (persisted Type.Type) entities — the latter additionally carry
|
|
66
|
+
* the `[SchemaKindId]` / `[StaticTypeSchemaSlot]` brands the echo-handler
|
|
67
|
+
* proxy exposes on persisted Type entities.
|
|
68
|
+
*/
|
|
69
|
+
readonly [InstancePhantomId]?: EchoTypeSchemaProps<Schema.Schema.Type<Self>, ExtraFields> & {
|
|
70
|
+
readonly [KindId]: K;
|
|
71
|
+
} & (K extends EntityKind.Type ? {
|
|
72
|
+
readonly [SchemaKindId]: EntityKind.Type;
|
|
73
|
+
readonly [StaticTypeSchemaSlot]: Schema.Schema.AnyNoContext;
|
|
74
|
+
} : {});
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Identity (typename + version) of the type meta-schema — the `Type.Type` that
|
|
78
|
+
* every ECHO type entity is itself an instance of. Shared by the materialisation
|
|
79
|
+
* vehicle ({@link persistentEntitySchema}) and `TypeSchema` so the two cannot
|
|
80
|
+
* drift on identity.
|
|
81
|
+
*/
|
|
82
|
+
export declare const TypeMetaSchemaDXN: DXN.DXN;
|
|
83
|
+
export { isEntity } from './guard';
|
|
84
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/entity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAO5C,OAAO,EACL,KAAK,SAAS,EACd,UAAU,EACV,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAKhE,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,WAAW,GAAG,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;AAE9G;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf,CAAC;AAEF;;;;;;;GAOG;AAEH,MAAM,WAAW,cAAc,CAC7B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,WAAW,GAAG,EAAE,EAChB,CAAC,SAAS,UAAU,GAAG,UAAU,EACjC,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM;IAE1D;;;;;OAKG;IACH,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;IAEnC,8EAA8E;IAC9E,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAE3B;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;IAEtB,yEAAyE;IACzE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;IAK5D,QAAQ,CAAC,UAAU,EAAE,cAAc,CAAC;IAEpC,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAExB,iEAAiE;IACjE,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;IAEhF;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,GAAG;QAC1F,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KACtB,GAAG,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,GACxB;QACE,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC;QACzC,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC;KAC7D,GACD,EAAE,CAAC,CAAC;CACX;AAiCD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,SAA4C,CAAC;AAuH3E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type * as Entity from '../../Entity';
|
|
2
|
+
/**
|
|
3
|
+
* Returns true if the value is an ECHO entity instance (object or relation).
|
|
4
|
+
*/
|
|
5
|
+
export declare const isEntity: (value: unknown) => value is Entity.Unknown;
|
|
6
|
+
/**
|
|
7
|
+
* Returns true if the value is an ECHO entity snapshot.
|
|
8
|
+
*/
|
|
9
|
+
export declare const isSnapshot: (value: unknown) => value is Entity.Snapshot;
|
|
10
|
+
//# sourceMappingURL=guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/guard.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,MAAM,MAAM,cAAc,CAAC;AAG5C;;GAEG;AACH,eAAO,MAAM,QAAQ,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,OAKzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,MAAM,CAAC,QAK3D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export * from './api';
|
|
2
|
+
export * from './entity';
|
|
3
|
+
export * from './model';
|
|
4
|
+
export * from './object';
|
|
5
|
+
export * from './relation';
|
|
6
|
+
export * from './type-kind';
|
|
7
|
+
export * from './type-uri';
|
|
8
|
+
export * from './util';
|
|
9
|
+
export * from './version';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/index.ts"],"names":[],"mappings":"AAIA,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import type * as Schema from 'effect/Schema';
|
|
2
|
+
import { type ForeignKey } from '@dxos/echo-protocol';
|
|
3
|
+
import { EID, EntityId, type URI } from '@dxos/keys';
|
|
4
|
+
import type * as Database from '../../Database';
|
|
5
|
+
import { type ATTR_PARENT, type ATTR_TYPE, ATTR_DELETED, ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, ATTR_SELF_URI, ATTR_SELF_URI_LEGACY, EntityKind, KindId, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, type ParentId, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type SchemaId, SelfURIId, TypeId, type Version } from '../common/types';
|
|
6
|
+
import { type ATTR_META, type EntityMeta } from '../common/types/meta';
|
|
7
|
+
import { type MetaId } from '../common/types/model-symbols';
|
|
8
|
+
export { ATTR_DELETED, ATTR_SELF_URI, ATTR_SELF_URI_LEGACY, ObjectDatabaseId, ObjectDeletedId, ObjectVersionId, SelfURIId, };
|
|
9
|
+
/**
|
|
10
|
+
* Internal runtime representation of an object.
|
|
11
|
+
* The fields are accessed through getter functions.
|
|
12
|
+
*/
|
|
13
|
+
export interface InternalObjectProps {
|
|
14
|
+
readonly id: EntityId;
|
|
15
|
+
readonly [SelfURIId]: EID.EID;
|
|
16
|
+
readonly [KindId]: EntityKind;
|
|
17
|
+
readonly [SchemaId]: Schema.Schema.AnyNoContext;
|
|
18
|
+
readonly [TypeId]: URI.URI;
|
|
19
|
+
readonly [MetaId]?: EntityMeta;
|
|
20
|
+
[ParentId]?: InternalObjectProps;
|
|
21
|
+
readonly [ObjectDatabaseId]?: Database.Database;
|
|
22
|
+
readonly [ObjectDeletedId]?: boolean;
|
|
23
|
+
readonly [ObjectVersionId]?: Version;
|
|
24
|
+
readonly [RelationSourceDXNId]?: EID.EID;
|
|
25
|
+
readonly [RelationTargetDXNId]?: EID.EID;
|
|
26
|
+
readonly [RelationSourceId]?: InternalObjectProps;
|
|
27
|
+
readonly [RelationTargetId]?: InternalObjectProps;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Entity metadata.
|
|
31
|
+
*/
|
|
32
|
+
export interface EntityMetaJSON {
|
|
33
|
+
keys: ForeignKey[];
|
|
34
|
+
tags?: string[];
|
|
35
|
+
key?: string;
|
|
36
|
+
version?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* JSON representation of an object or relation metadata.
|
|
40
|
+
*/
|
|
41
|
+
export interface ObjectJSON {
|
|
42
|
+
id: EntityId;
|
|
43
|
+
[ATTR_TYPE]?: URI.URI;
|
|
44
|
+
[ATTR_SELF_URI]?: EID.EID;
|
|
45
|
+
[ATTR_PARENT]?: EID.EID;
|
|
46
|
+
[ATTR_DELETED]?: boolean;
|
|
47
|
+
[ATTR_META]?: EntityMetaJSON;
|
|
48
|
+
[ATTR_RELATION_SOURCE]?: EID.EID;
|
|
49
|
+
[ATTR_RELATION_TARGET]?: EID.EID;
|
|
50
|
+
/**
|
|
51
|
+
* Application-specific properties.
|
|
52
|
+
*/
|
|
53
|
+
[key: string]: unknown;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* NOTE: Keep as `function` to avoid type inference issues.
|
|
57
|
+
*/
|
|
58
|
+
export declare function assertObjectModel(obj: unknown): asserts obj is InternalObjectProps;
|
|
59
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { DXN } from '@dxos/keys';
|
|
3
|
+
import { EntityKind } from '../common/types';
|
|
4
|
+
import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
|
|
5
|
+
/**
|
|
6
|
+
* Object schema type with kind marker.
|
|
7
|
+
*/
|
|
8
|
+
export type EchoObjectSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Object, Fields>;
|
|
9
|
+
/**
|
|
10
|
+
* Schema for Obj entity types.
|
|
11
|
+
* Pipeable function to add ECHO object annotations to a schema.
|
|
12
|
+
*/
|
|
13
|
+
export declare const EchoObjectSchema: {
|
|
14
|
+
(dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
|
|
15
|
+
fields?: Fields;
|
|
16
|
+
}) => EchoObjectSchema<Self, Fields>;
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEzF;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAC1B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAExD;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE;IAC7B,CACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAsCrC,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { DXN, type EntityId } from '@dxos/keys';
|
|
3
|
+
import type * as Obj from '../../Obj';
|
|
4
|
+
import type * as Type from '../../Type';
|
|
5
|
+
import { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, EntityKind, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, type UnknownTypeSchema } from '../common/types';
|
|
6
|
+
export { ATTR_RELATION_SOURCE, ATTR_RELATION_TARGET, RelationSourceDXNId, RelationSourceId, RelationTargetDXNId, RelationTargetId, };
|
|
7
|
+
import { type EchoTypeSchema } from './entity';
|
|
8
|
+
/**
|
|
9
|
+
* Source and target props on relations.
|
|
10
|
+
*/
|
|
11
|
+
export type RelationSourceTargetRefs<Source = any, Target = any> = {
|
|
12
|
+
/**
|
|
13
|
+
* Source ECHO live object.
|
|
14
|
+
*/
|
|
15
|
+
[RelationSourceId]: Source;
|
|
16
|
+
/**
|
|
17
|
+
* Target ECHO live object.
|
|
18
|
+
*/
|
|
19
|
+
[RelationTargetId]: Target;
|
|
20
|
+
};
|
|
21
|
+
export type RelationSource<R> = R extends RelationSourceTargetRefs<infer Source, infer _Target> ? Source : never;
|
|
22
|
+
export type RelationTarget<R> = R extends RelationSourceTargetRefs<infer _Source, infer Target> ? Target : never;
|
|
23
|
+
/**
|
|
24
|
+
* Accepted relation endpoint: an object-kind `Type.Type` entity (slot-backed)
|
|
25
|
+
* or the branded `Obj.Unknown` schema. Source/target are constrained to these
|
|
26
|
+
* — relations only connect object-kind entities.
|
|
27
|
+
*/
|
|
28
|
+
export type RelationEndpoint = Type.AnyObj | UnknownTypeSchema<any, EntityKind.Object>;
|
|
29
|
+
/**
|
|
30
|
+
* Resolves a relation endpoint to the instance type it describes — the source /
|
|
31
|
+
* target instance recorded on the relation's `RelationSourceTargetRefs`.
|
|
32
|
+
*/
|
|
33
|
+
export type RelationEndpointInstance<S> = S extends UnknownTypeSchema<infer A, any> ? A : S extends Type.AnyObj ? Type.InstanceType<S> : unknown;
|
|
34
|
+
export type EchoRelationSchemaOptions<TSource extends RelationEndpoint, TTarget extends RelationEndpoint> = {
|
|
35
|
+
dxn: DXN.DXN;
|
|
36
|
+
source: TSource;
|
|
37
|
+
target: TTarget;
|
|
38
|
+
/**
|
|
39
|
+
* Override the entity id stamped on the in-memory `Type.Type` value.
|
|
40
|
+
*
|
|
41
|
+
* Defaults to `EntityId.deterministic(typename, version)` — stable across processes
|
|
42
|
+
* and workerd-safe (no `crypto.getRandomValues()` at module-evaluation time).
|
|
43
|
+
*/
|
|
44
|
+
id?: EntityId;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Relation schema type with kind marker. `SourceInstance` / `TargetInstance`
|
|
48
|
+
* are the resolved endpoint instance types (see {@link RelationEndpointInstance}).
|
|
49
|
+
*/
|
|
50
|
+
export type EchoRelationSchema<Self extends Schema.Schema.Any, SourceInstance extends Obj.Unknown, TargetInstance extends Obj.Unknown, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, RelationSourceTargetRefs<SourceInstance, TargetInstance>, EntityKind.Relation, Fields>;
|
|
51
|
+
/**
|
|
52
|
+
* Schema for Relation entity types.
|
|
53
|
+
*/
|
|
54
|
+
export declare const EchoRelationSchema: <Source extends RelationEndpoint, Target extends RelationEndpoint>({ dxn, source, target, id: explicitId, }: EchoRelationSchemaOptions<Source, Target>) => <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
|
|
55
|
+
fields?: Fields;
|
|
56
|
+
}) => EchoRelationSchema<Self, RelationEndpointInstance<Source>, RelationEndpointInstance<Target>, Fields>;
|
|
57
|
+
export declare const getDXNForRelationSchemaRef: (schema: Schema.Schema.Any) => DXN.DXN;
|
|
58
|
+
//# sourceMappingURL=relation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { DXN } from '@dxos/keys';
|
|
3
|
+
import { EntityKind } from '../common/types';
|
|
4
|
+
import { type EchoTypeOptions, type EchoTypeSchema } from './entity';
|
|
5
|
+
/**
|
|
6
|
+
* Type-kind schema marker — produced by {@link EchoTypeKindSchema}.
|
|
7
|
+
*
|
|
8
|
+
* Distinguishes meta-schemas (entities of `EntityKind.Type`, such as the
|
|
9
|
+
* built-in `Type.Type` TypeSchema) from object and relation types.
|
|
10
|
+
*/
|
|
11
|
+
export type EchoTypeKindSchema<Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields> = EchoTypeSchema<Self, {}, EntityKind.Type, Fields>;
|
|
12
|
+
/**
|
|
13
|
+
* Pipeable that brands a schema as a type-kind ECHO entity. Mirrors
|
|
14
|
+
* {@link EchoObjectSchema} / {@link EchoRelationSchema}, but stamps the
|
|
15
|
+
* resulting entity with `[SchemaKindId]: EntityKind.Type` and a matching
|
|
16
|
+
* `TypeAnnotation.kind = 'type'` so meta-schemas surface uniformly through
|
|
17
|
+
* `Type.isTypeKind`, `Filter.type`, etc.
|
|
18
|
+
*/
|
|
19
|
+
export declare const EchoTypeKindSchema: {
|
|
20
|
+
(dxn: DXN.DXN, options?: EchoTypeOptions): <Self extends Schema.Schema.Any, Fields extends Schema.Struct.Fields = Schema.Struct.Fields>(self: Self & {
|
|
21
|
+
fields?: Fields;
|
|
22
|
+
}) => EchoTypeKindSchema<Self, Fields>;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=type-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-kind.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-kind.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAIjC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAsB,MAAM,UAAU,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,CAC5B,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAC9B,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,IACxD,cAAc,CAAC,IAAI,EAAE,EAAE,EAAE,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,EAAE;IAC/B,CACE,GAAG,EAAE,GAAG,CAAC,GAAG,EACZ,OAAO,CAAC,EAAE,eAAe,GACxB,CAAC,IAAI,SAAS,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,EAC5F,IAAI,EAAE,IAAI,GAAG;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAC7B,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;CAkCvC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import { URI } from '@dxos/keys';
|
|
3
|
+
import { type AnyEntity, InstancePhantomId } from '../common/types';
|
|
4
|
+
/**
|
|
5
|
+
* @param input schema, `Type.Type` entity, or a type URI (an `echo:` EID or a `dxn:` DXN).
|
|
6
|
+
* @return type identifier URI — see {@link getSchemaURI}. A URI is returned verbatim. For a
|
|
7
|
+
* `Type.Type` entity, the URI of the schema it declares, symmetric with what
|
|
8
|
+
* `Obj.make(typeEntity, ...)` stamps on `system.type`: a static declaration resolves to its
|
|
9
|
+
* typename DXN, a persisted entity to its local `echo:/<objectId>`.
|
|
10
|
+
*/
|
|
11
|
+
export declare const getTypeURIFromSpecifier: (input: Schema.Schema.All | AnyEntity | URI.URI) => URI.URI;
|
|
12
|
+
/**
|
|
13
|
+
* Checks if the object is an instance of the schema.
|
|
14
|
+
* Only typename is compared, the schema version is ignored.
|
|
15
|
+
*
|
|
16
|
+
* The following cases are considered to mean that the object is an instance of the schema:
|
|
17
|
+
* - Object was created with this exact schema.
|
|
18
|
+
* - Object was created with a different version of this schema.
|
|
19
|
+
* - Object was created with a different schema (maybe dynamic) that has the same typename.
|
|
20
|
+
*/
|
|
21
|
+
export declare const isInstanceOf: <S>(schemaOrType: S extends Schema.Schema.AnyNoContext ? S : Schema.Schema.AnyNoContext | AnyEntity, object: any) => object is S extends Schema.Schema.AnyNoContext ? Schema.Schema.Type<S> : S extends {
|
|
22
|
+
readonly [InstancePhantomId]?: infer A;
|
|
23
|
+
} ? A : unknown;
|
|
24
|
+
//# sourceMappingURL=type-uri.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-uri.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/type-uri.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAY,GAAG,EAAE,MAAM,YAAY,CAAC;AAG3C,OAAO,EAAE,KAAK,SAAS,EAAE,iBAAiB,EAAuC,MAAM,iBAAiB,CAAC;AAGzG;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,UAAW,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,SAAS,GAAG,GAAG,CAAC,GAAG,KAAG,GAAG,CAAC,GAyB5F,CAAC;AAEF;;;;;;;;GAQG;AAEH,eAAO,MAAM,YAAY,GAAI,CAAC,gBACd,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS,UACvF,GAAG,KACV,MAAM,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,GAC7C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GACrB,CAAC,SAAS;IAAE,QAAQ,CAAC,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,GAClD,CAAC,GACD,OA0BL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/util.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type AnyEntity, VersionTypeId } from '../common/types';
|
|
2
|
+
/**
|
|
3
|
+
* Represent entity version.
|
|
4
|
+
* May be backed by Automerge.
|
|
5
|
+
* Entities with no history are not versioned.
|
|
6
|
+
* Named EntityVersion to avoid conflict with types/version.ts.
|
|
7
|
+
*/
|
|
8
|
+
export interface EntityVersion {
|
|
9
|
+
[VersionTypeId]: {};
|
|
10
|
+
/**
|
|
11
|
+
* Whether the entity is versioned.
|
|
12
|
+
*/
|
|
13
|
+
versioned: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Automerge heads.
|
|
16
|
+
*/
|
|
17
|
+
automergeHeads?: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Checks that `obj` is a version object.
|
|
21
|
+
*/
|
|
22
|
+
export declare const isVersion: (entity: unknown) => entity is EntityVersion;
|
|
23
|
+
/**
|
|
24
|
+
* Returns the version of an entity.
|
|
25
|
+
* Accepts both reactive entities and snapshots.
|
|
26
|
+
*/
|
|
27
|
+
export declare const version: (entity: AnyEntity) => EntityVersion;
|
|
28
|
+
/**
|
|
29
|
+
* Checks that `version` is a valid version object.
|
|
30
|
+
*/
|
|
31
|
+
export declare const versionValid: (ver: EntityVersion) => boolean;
|
|
32
|
+
export type VersionCompareResult = 'unversioned' | 'equal' | 'different';
|
|
33
|
+
/**
|
|
34
|
+
* Compares two versions.
|
|
35
|
+
* @param version1
|
|
36
|
+
* @param version2
|
|
37
|
+
* @returns 'unversioned' if either entity is unversioned, 'equal' if the versions are equal, 'different' if the versions are different.
|
|
38
|
+
*/
|
|
39
|
+
export declare const compareVersions: (version1: EntityVersion, version2: EntityVersion) => VersionCompareResult;
|
|
40
|
+
export declare const encodeVersion: (ver: EntityVersion) => string;
|
|
41
|
+
export declare const decodeVersion: (ver: string) => EntityVersion;
|
|
42
|
+
//# sourceMappingURL=version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Entity/version.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,SAAS,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhE;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;IAEpB;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAOD;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,KAAG,MAAM,IAAI,aAErD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAY,SAAS,KAAG,aAM3C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,QAAS,aAAa,KAAG,OAGjD,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,OAAO,GAAG,WAAW,CAAC;AAEzE;;;;;GAKG;AACH,eAAO,MAAM,eAAe,aAAc,aAAa,YAAY,aAAa,KAAG,oBAgBlF,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,aAAa,KAAG,MAElD,CAAC;AAEF,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,aAI3C,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
/**
|
|
3
|
+
* Datetime values should be stored as ISO strings or unix numbers (ms) in UTC.
|
|
4
|
+
*
|
|
5
|
+
* NOTE: HyperFormula uses Excel's time format (null date 1900/01/01)
|
|
6
|
+
* It can be configured to use a different parser via `parseDateTime`.
|
|
7
|
+
* https://hyperformula.handsontable.com/guide/date-and-time-handling.html#date-and-time-handling
|
|
8
|
+
* https://github.com/handsontable/hyperformula/blob/master/src/DateTimeHelper.ts
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Simple date compatible with HF.
|
|
12
|
+
*/
|
|
13
|
+
export declare const SimpleDate: Schema.Struct<{
|
|
14
|
+
year: Schema.filter<typeof Schema.Number>;
|
|
15
|
+
month: Schema.filter<typeof Schema.Number>;
|
|
16
|
+
day: Schema.filter<typeof Schema.Number>;
|
|
17
|
+
}>;
|
|
18
|
+
export type SimpleDate = Schema.Schema.Type<typeof SimpleDate>;
|
|
19
|
+
export declare const toSimpleDate: (date: Date) => SimpleDate;
|
|
20
|
+
/**
|
|
21
|
+
* Simple time compatible with HF.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SimpleTime: Schema.Struct<{
|
|
24
|
+
hours: Schema.filter<typeof Schema.Number>;
|
|
25
|
+
minutes: Schema.filter<typeof Schema.Number>;
|
|
26
|
+
seconds: Schema.filter<typeof Schema.Number>;
|
|
27
|
+
}>;
|
|
28
|
+
export type SimpleTime = Schema.Schema.Type<typeof SimpleTime>;
|
|
29
|
+
export declare const toSimpleTime: (date: Date) => SimpleTime;
|
|
30
|
+
/**
|
|
31
|
+
* Simple date-time compatible with HF.
|
|
32
|
+
*/
|
|
33
|
+
export declare const SimpleDateTime: Schema.extend<Schema.Struct<{
|
|
34
|
+
year: Schema.filter<typeof Schema.Number>;
|
|
35
|
+
month: Schema.filter<typeof Schema.Number>;
|
|
36
|
+
day: Schema.filter<typeof Schema.Number>;
|
|
37
|
+
}>, Schema.Struct<{
|
|
38
|
+
hours: Schema.filter<typeof Schema.Number>;
|
|
39
|
+
minutes: Schema.filter<typeof Schema.Number>;
|
|
40
|
+
seconds: Schema.filter<typeof Schema.Number>;
|
|
41
|
+
}>>;
|
|
42
|
+
export type SimpleDateTime = Schema.Schema.Type<typeof SimpleDateTime>;
|
|
43
|
+
export declare const toSimpleDateTime: (date: Date) => SimpleDateTime;
|
|
44
|
+
/**
|
|
45
|
+
* https://effect.website/docs/guides/schema/transformations#date-transformations
|
|
46
|
+
*/
|
|
47
|
+
/**
|
|
48
|
+
* Format: 2018-11-13
|
|
49
|
+
*/
|
|
50
|
+
export declare const DateOnly: Schema.SchemaClass<string, string, never>;
|
|
51
|
+
/**
|
|
52
|
+
* Format: 20:20:39+00:00
|
|
53
|
+
*/
|
|
54
|
+
export declare const TimeOnly: Schema.SchemaClass<string, string, never>;
|
|
55
|
+
/**
|
|
56
|
+
* Format: 2018-11-13T20:20:39+00:00
|
|
57
|
+
*/
|
|
58
|
+
export declare const DateTime: Schema.SchemaClass<string, string, never>;
|
|
59
|
+
/**
|
|
60
|
+
* https://datatracker.ietf.org/doc/html/rfc3339#appendix-A
|
|
61
|
+
*/
|
|
62
|
+
export declare const Duration: Schema.SchemaClass<string, string, never>;
|
|
63
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC;;;;;;;GAOG;AAUH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;EAIrB,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,YAAY,SAAU,IAAI,KAAG,UAIxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;GAAwC,CAAC;AAEpE,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,cAG5C,CAAC;AAEH;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ,2CA2BpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAwBpB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,2CAuCpB,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,QAAQ,2CAMpB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/date.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as Keys from '@dxos/keys';
|
|
3
|
+
import * as NumberUtil from './number';
|
|
4
|
+
import * as ObjectUtil from './object';
|
|
5
|
+
import { TypeFormat as TypeFormat$ } from './types';
|
|
6
|
+
/**
|
|
7
|
+
* Formats.
|
|
8
|
+
* https://json-schema.org/understanding-json-schema/reference/string#built-in-formats
|
|
9
|
+
* NOTE: A JSON Schema validator will ignore any format type that it does not understand.
|
|
10
|
+
*/
|
|
11
|
+
export declare namespace Format {
|
|
12
|
+
export import TypeFormat = TypeFormat$;
|
|
13
|
+
const DXN: Schema.Schema<Keys.DXN.DXN, Keys.DXN.DXN, never>;
|
|
14
|
+
const Email: Schema.refine<string, typeof Schema.String>;
|
|
15
|
+
const Formula: typeof Schema.String;
|
|
16
|
+
const Hostname: typeof Schema.String;
|
|
17
|
+
const JSON: typeof Schema.String;
|
|
18
|
+
const Markdown: typeof Schema.String;
|
|
19
|
+
const Regex: typeof Schema.String;
|
|
20
|
+
const URL: Schema.refine<string, typeof Schema.String>;
|
|
21
|
+
const UUID: typeof Schema.UUID;
|
|
22
|
+
const Currency: ({ decimals, code }?: NumberUtil.CurrencyAnnotation) => Schema.Schema<number, number, never>;
|
|
23
|
+
const Integer: () => Schema.refine<number, typeof Schema.Number>;
|
|
24
|
+
const Percent: ({ decimals }?: NumberUtil.PercentAnnotation) => Schema.Schema<number, number, never>;
|
|
25
|
+
const Timestamp: Schema.SchemaClass<number, number, never>;
|
|
26
|
+
const Date: Schema.SchemaClass<string, string, never>;
|
|
27
|
+
const DateTime: Schema.SchemaClass<string, string, never>;
|
|
28
|
+
const Duration: Schema.SchemaClass<string, string, never>;
|
|
29
|
+
const Time: Schema.SchemaClass<string, string, never>;
|
|
30
|
+
const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
|
|
31
|
+
type GeoPoint = ObjectUtil.GeoPoint;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=format.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AAGnC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,UAAU,IAAI,WAAW,EAAE,MAAM,SAAS,CAAC;AAKpD;;;;GAIG;AAEH,yBAAiB,MAAM,CAAC,CAAC;IACvB,MAAM,QAAQ,UAAU,GAAG,WAAW,CAAC;IAGhC,MAAM,GAAG,kDAAkB,CAAC;IAC5B,MAAM,KAAK,6CAAmB,CAAC;IAC/B,MAAM,OAAO,sBAAqB,CAAC;IACnC,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,IAAI,sBAAkB,CAAC;IAC7B,MAAM,QAAQ,sBAAsB,CAAC;IACrC,MAAM,KAAK,sBAAmB,CAAC;IAC/B,MAAM,GAAG,6CAAiB,CAAC;IAC3B,MAAM,IAAI,oBAAc,CAAC;IAIzB,MAAM,QAAQ,8FAAsB,CAAC;IACrC,MAAM,OAAO,mDAAqB,CAAC;IACnC,MAAM,OAAO,uFAAqB,CAAC;IACnC,MAAM,SAAS,2CAAuB,CAAC;IAGvC,MAAM,IAAI,2CAAoB,CAAC;IAC/B,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,QAAQ,2CAAoB,CAAC;IACnC,MAAM,IAAI,2CAAoB,CAAC;IAG/B,MAAM,QAAQ,+UAAsB,CAAC;IAC5C,KAAY,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;CAC5C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format.test.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/format.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './date';
|
|
2
|
+
export * from './format';
|
|
3
|
+
export { CurrencyAnnotationId, DecimalPrecision, Currency } from './number';
|
|
4
|
+
export { GeoPoint, GeoLocation } from './object';
|
|
5
|
+
export * from './select';
|
|
6
|
+
export * from './string';
|
|
7
|
+
export * from './types';
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/index.ts"],"names":[],"mappings":"AAIA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACjD,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
/**
|
|
3
|
+
* Convert number of digits to multipleOf annotation.
|
|
4
|
+
*/
|
|
5
|
+
export declare const DecimalPrecision: Schema.transform<typeof Schema.Number, typeof Schema.Number>;
|
|
6
|
+
export declare const CurrencyAnnotationId: unique symbol;
|
|
7
|
+
export type CurrencyAnnotation = {
|
|
8
|
+
decimals?: number;
|
|
9
|
+
code?: string;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* ISO 4217 currency code.
|
|
13
|
+
*/
|
|
14
|
+
export declare const Currency: ({ decimals, code }?: CurrencyAnnotation) => Schema.Schema<number, number, never>;
|
|
15
|
+
export type PercentAnnotation = {
|
|
16
|
+
decimals?: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Integer.
|
|
20
|
+
*/
|
|
21
|
+
export declare const Integer: () => Schema.refine<number, typeof Schema.Number>;
|
|
22
|
+
/**
|
|
23
|
+
* Percent.
|
|
24
|
+
*/
|
|
25
|
+
export declare const Percent: ({ decimals }?: PercentAnnotation) => Schema.Schema<number, number, never>;
|
|
26
|
+
/**
|
|
27
|
+
* Unix timestamp.
|
|
28
|
+
* https://en.wikipedia.org/wiki/Unix_time
|
|
29
|
+
*/
|
|
30
|
+
export declare const Timestamp: Schema.SchemaClass<number, number, never>;
|
|
31
|
+
//# sourceMappingURL=number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/number.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAWxC;;GAEG;AACH,eAAO,MAAM,gBAAgB,8DAM3B,CAAC;AAEH,eAAO,MAAM,oBAAoB,eAAiD,CAAC;AAEnF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,QAAQ,wBAAwB,kBAAkB,yCAS5D,CAAC;AAEJ,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,OAAO,mDAQjB,CAAC;AAEJ;;GAEG;AAEH,eAAO,MAAM,OAAO,kBAAkB,iBAAiB,yCAQpD,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,SAAS,2CAMrB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
/**
|
|
3
|
+
* GeoJSON Format
|
|
4
|
+
* https://datatracker.ietf.org/doc/html/rfc7946
|
|
5
|
+
* https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.1
|
|
6
|
+
* https://en.wikipedia.org/wiki/Geographic_coordinate_system
|
|
7
|
+
* https://geojson.org
|
|
8
|
+
* {
|
|
9
|
+
* "type": "Point",
|
|
10
|
+
* "coordinates": [0, 51.47] // [longitude, latitude]
|
|
11
|
+
* }
|
|
12
|
+
* Note: optional third element for altitude.
|
|
13
|
+
*/
|
|
14
|
+
/** Decimal places retained for stored coordinates (~1.1cm at the equator). */
|
|
15
|
+
export declare const GEO_PRECISION = 7;
|
|
16
|
+
export declare const GeoPoint: Schema.Tuple<[Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.transform<Schema.transform<typeof Schema.Number, Schema.filter<Schema.SchemaClass<number, number, never>>>, typeof Schema.Number>, Schema.Element<typeof Schema.Number, "?">]>;
|
|
17
|
+
export type GeoPoint = Schema.Schema.Type<typeof GeoPoint>;
|
|
18
|
+
export type GeoLocation = {
|
|
19
|
+
longitude: number;
|
|
20
|
+
latitude: number;
|
|
21
|
+
height?: number;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Geolocation utilities for working with GeoPoint format.
|
|
25
|
+
*/
|
|
26
|
+
export declare namespace GeoLocation {
|
|
27
|
+
/**
|
|
28
|
+
* Convert latitude and longitude to GeoPoint (GeoJSON format [longitude, latitude, height?]).
|
|
29
|
+
* Clamps values to valid ranges: latitude [-90, 90], longitude [-180, 180].
|
|
30
|
+
*/
|
|
31
|
+
const toGeoPoint: ({ longitude, latitude, height }: GeoLocation) => GeoPoint;
|
|
32
|
+
/**
|
|
33
|
+
* Extract latitude and longitude from GeoPoint (GeoJSON format [longitude, latitude, height?]).
|
|
34
|
+
*/
|
|
35
|
+
const fromGeoPoint: (geoPoint: GeoPoint | undefined) => GeoLocation;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=object.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAMxC;;;;;;;;;;;GAWG;AACH,8EAA8E;AAC9E,eAAO,MAAM,aAAa,IAAI,CAAC;AAe/B,eAAO,MAAM,QAAQ,+UAYpB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC;AAE3D,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,yBAAiB,WAAW,CAAC,CAAC;IAC5B;;;OAGG;IACI,MAAM,UAAU,oCAAqC,WAAW,KAAG,QAMzE,CAAC;IAEF;;OAEG;IACI,MAAM,YAAY,aAAc,QAAQ,GAAG,SAAS,KAAG,WAgB7D,CAAC;CACH"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
/**
|
|
3
|
+
* Schema for a single select option. Used to define choices in a {single|multi}-select field.
|
|
4
|
+
*/
|
|
5
|
+
export declare const SelectOption: Schema.Struct<{
|
|
6
|
+
/** Stable identifier for the option. */
|
|
7
|
+
id: typeof Schema.NonEmptyString;
|
|
8
|
+
title: typeof Schema.String;
|
|
9
|
+
/** Color palette used for visual styling. */
|
|
10
|
+
color: typeof Schema.String;
|
|
11
|
+
}>;
|
|
12
|
+
export type SelectOption = Schema.Schema.Type<typeof SelectOption>;
|
|
13
|
+
//# sourceMappingURL=select.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../../../src/internal/Format/select.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC;;GAEG;AACH,eAAO,MAAM,YAAY;IACvB,wCAAwC;;;IAGxC,6CAA6C;;EAE7C,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,YAAY,CAAC,CAAC"}
|