@dxos/echo 0.8.4-main.f9ba587 → 0.8.4-main.fcfe5033a5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -5
- package/dist/lib/neutral/Annotation.mjs +37 -0
- package/dist/lib/neutral/Database.mjs +49 -0
- package/dist/lib/neutral/Entity.mjs +59 -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/Extension.mjs +18 -0
- package/dist/lib/neutral/Extension.mjs.map +7 -0
- package/dist/lib/neutral/Feed.mjs +50 -0
- package/dist/lib/neutral/Feed.mjs.map +7 -0
- package/dist/lib/neutral/Filter.mjs +72 -0
- package/dist/lib/neutral/Filter.mjs.map +7 -0
- package/dist/lib/neutral/Format.mjs +66 -0
- package/dist/lib/neutral/Format.mjs.map +7 -0
- package/dist/lib/neutral/JsonSchema.mjs +19 -0
- package/dist/lib/neutral/JsonSchema.mjs.map +7 -0
- package/dist/lib/neutral/Key.mjs +12 -0
- package/dist/lib/neutral/Key.mjs.map +7 -0
- package/dist/lib/neutral/Migration.mjs +17 -0
- package/dist/lib/neutral/Migration.mjs.map +7 -0
- package/dist/lib/neutral/Obj.mjs +113 -0
- package/dist/lib/neutral/Obj.mjs.map +7 -0
- package/dist/lib/neutral/Order.mjs +12 -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 +24 -0
- package/dist/lib/neutral/Ref.mjs.map +7 -0
- package/dist/lib/neutral/Relation.mjs +94 -0
- package/dist/lib/neutral/Relation.mjs.map +7 -0
- package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
- package/dist/lib/neutral/SchemaRegistry.mjs.map +7 -0
- package/dist/lib/neutral/Tag.mjs +29 -0
- package/dist/lib/neutral/Tag.mjs.map +7 -0
- package/dist/lib/neutral/Type.mjs +37 -0
- package/dist/lib/neutral/Type.mjs.map +7 -0
- package/dist/lib/neutral/chunk-2DJT26P7.mjs +286 -0
- package/dist/lib/neutral/chunk-2DJT26P7.mjs.map +7 -0
- package/dist/lib/neutral/chunk-3Y6LSSJR.mjs +132 -0
- package/dist/lib/neutral/chunk-3Y6LSSJR.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4U7YKZUA.mjs +361 -0
- package/dist/lib/neutral/chunk-4U7YKZUA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-6ZQHG2VX.mjs +27 -0
- package/dist/lib/neutral/chunk-6ZQHG2VX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs +21 -0
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-B4NP3BY3.mjs +299 -0
- package/dist/lib/neutral/chunk-B4NP3BY3.mjs.map +7 -0
- package/dist/lib/neutral/chunk-BNCCGLJN.mjs +7 -0
- package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DQYLD2RB.mjs +402 -0
- package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-F7EQRJWJ.mjs +56 -0
- package/dist/lib/neutral/chunk-F7EQRJWJ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GMAUO3CE.mjs +45 -0
- package/dist/lib/neutral/chunk-GMAUO3CE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GZQTCRJB.mjs +73 -0
- package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-HQSGCJPL.mjs +136 -0
- package/dist/lib/neutral/chunk-HQSGCJPL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-IKAO54M4.mjs +121 -0
- package/dist/lib/neutral/chunk-IKAO54M4.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-LLK3YB3N.mjs +2834 -0
- package/dist/lib/neutral/chunk-LLK3YB3N.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LSMJDE57.mjs +415 -0
- package/dist/lib/neutral/chunk-LSMJDE57.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LZR62GOA.mjs +34 -0
- package/dist/lib/neutral/chunk-LZR62GOA.mjs.map +7 -0
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs +7 -0
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +7 -0
- package/dist/lib/neutral/chunk-OX5WOJZ2.mjs +97 -0
- package/dist/lib/neutral/chunk-OX5WOJZ2.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SRYQFSA4.mjs +396 -0
- package/dist/lib/neutral/chunk-SRYQFSA4.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SZJKLCFE.mjs +787 -0
- package/dist/lib/neutral/chunk-SZJKLCFE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-TBKX6JQO.mjs +67 -0
- package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +7 -0
- package/dist/lib/neutral/chunk-UBEZSGXY.mjs +51 -0
- package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-UI6MWK5W.mjs +42 -0
- package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WABNQYKV.mjs +45 -0
- package/dist/lib/neutral/chunk-WABNQYKV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WOEEIQWU.mjs +159 -0
- package/dist/lib/neutral/chunk-WOEEIQWU.mjs.map +7 -0
- package/dist/lib/neutral/chunk-XL5OYQ4X.mjs +354 -0
- package/dist/lib/neutral/chunk-XL5OYQ4X.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YP4SEMT6.mjs +36 -0
- package/dist/lib/neutral/chunk-YP4SEMT6.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +50 -0
- package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +105 -0
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/internal/index.mjs +474 -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 +375 -0
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/Annotation.d.ts +24 -0
- package/dist/types/src/Annotation.d.ts.map +1 -0
- package/dist/types/src/Collection.d.ts +16 -0
- package/dist/types/src/Collection.d.ts.map +1 -0
- package/dist/types/src/Database.d.ts +201 -0
- package/dist/types/src/Database.d.ts.map +1 -0
- package/dist/types/src/Dataset.d.ts +19 -0
- package/dist/types/src/Dataset.d.ts.map +1 -0
- package/dist/types/src/Entity.d.ts +168 -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/Extension.d.ts +80 -0
- package/dist/types/src/Extension.d.ts.map +1 -0
- package/dist/types/src/Extension.test.d.ts +2 -0
- package/dist/types/src/Extension.test.d.ts.map +1 -0
- package/dist/types/src/Feed.d.ts +182 -0
- package/dist/types/src/Feed.d.ts.map +1 -0
- package/dist/types/src/Filter.d.ts +149 -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 +4 -0
- package/dist/types/src/Format.d.ts.map +1 -0
- package/dist/types/src/Hypergraph.d.ts +65 -0
- package/dist/types/src/Hypergraph.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 +1 -0
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Migration.d.ts +57 -0
- package/dist/types/src/Migration.d.ts.map +1 -0
- package/dist/types/src/Obj.d.ts +473 -35
- 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 +16 -0
- package/dist/types/src/Order.d.ts.map +1 -0
- package/dist/types/src/Query.d.ts +209 -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 +80 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -0
- package/dist/types/src/Ref.d.ts +61 -11
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +290 -21
- 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/SchemaRegistry.d.ts +84 -0
- package/dist/types/src/SchemaRegistry.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +18 -0
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +123 -100
- 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 +68 -0
- package/dist/types/src/View.d.ts.map +1 -0
- package/dist/types/src/hierarchy.test.d.ts +2 -0
- package/dist/types/src/hierarchy.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +21 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +231 -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/index.d.ts +4 -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 +39 -0
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/api.d.ts +13 -0
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/entity.d.ts +20 -0
- package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/index.d.ts +8 -0
- package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/model.d.ts +55 -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 +35 -0
- package/dist/types/src/internal/Entity/relation.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 +32 -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 +35 -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 +30 -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/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/ids.d.ts +6 -0
- package/dist/types/src/internal/Obj/ids.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.d.ts +10 -0
- package/dist/types/src/internal/Query.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 +231 -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/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/echo-schema.d.ts +181 -0
- package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -0
- package/dist/types/src/internal/Type/index.d.ts +4 -0
- package/dist/types/src/internal/Type/index.d.ts.map +1 -0
- package/dist/types/src/internal/Type/manipulation.d.ts +10 -0
- package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -0
- package/dist/types/src/internal/Type/persistent-schema.d.ts +20 -0
- package/dist/types/src/internal/Type/persistent-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 +42 -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 +14 -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/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 +48 -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 +37 -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 +33 -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 +54 -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 +21 -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/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 +3 -1
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts +18 -0
- package/dist/types/src/testing/test-data.d.ts.map +1 -0
- package/dist/types/src/testing/test-schema.d.ts +304 -0
- package/dist/types/src/testing/test-schema.d.ts.map +1 -0
- package/dist/types/src/testing/util.d.ts +21 -0
- package/dist/types/src/testing/util.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +122 -53
- package/src/Annotation.ts +48 -0
- package/src/Collection.ts +37 -0
- package/src/Database.ts +352 -0
- package/src/Dataset.ts +26 -0
- package/src/Entity.test.ts +22 -0
- package/src/Entity.ts +236 -0
- package/src/Err.ts +40 -0
- package/src/Extension.test.ts +235 -0
- package/src/Extension.ts +122 -0
- package/src/Feed.ts +304 -0
- package/src/Filter.test.ts +90 -0
- package/src/Filter.ts +454 -0
- package/src/Format.ts +9 -0
- package/src/Hypergraph.ts +79 -0
- package/src/JsonSchema.ts +26 -0
- package/src/Key.ts +3 -0
- package/src/Migration.ts +94 -0
- package/src/Obj.test.ts +539 -0
- package/src/Obj.ts +766 -80
- package/src/Order.ts +46 -0
- package/src/Query.test.ts +806 -0
- package/src/Query.ts +547 -0
- package/src/QueryResult.ts +106 -0
- package/src/Ref.ts +78 -9
- package/src/Relation.test.ts +88 -0
- package/src/Relation.ts +455 -54
- package/src/SchemaRegistry.ts +106 -0
- package/src/Tag.ts +41 -0
- package/src/Type.test.ts +52 -0
- package/src/Type.ts +168 -153
- package/src/View.ts +107 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +24 -4
- package/src/internal/Annotation/annotations.test.ts +145 -0
- package/src/internal/Annotation/annotations.ts +577 -0
- package/src/internal/Annotation/index.ts +7 -0
- package/src/internal/Annotation/sorting.ts +51 -0
- package/src/internal/Annotation/util.ts +85 -0
- package/src/internal/Entity/api.ts +30 -0
- package/src/internal/Entity/entity.ts +128 -0
- package/src/internal/Entity/index.ts +11 -0
- package/src/internal/Entity/model.ts +109 -0
- package/src/internal/Entity/object.ts +57 -0
- package/src/internal/Entity/relation.ts +154 -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 +217 -0
- package/src/internal/Format/format.test.ts +76 -0
- package/src/internal/Format/format.ts +54 -0
- package/src/internal/Format/index.ts +12 -0
- package/src/internal/Format/number.ts +89 -0
- package/src/internal/Format/object.ts +80 -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 +860 -0
- package/src/internal/JsonSchema/json-schema.ts +533 -0
- package/src/internal/Obj/clone.ts +48 -0
- package/src/internal/Obj/common.ts +75 -0
- package/src/internal/Obj/create-object.test.ts +114 -0
- package/src/internal/Obj/create-object.ts +94 -0
- package/src/internal/Obj/deleted.ts +19 -0
- package/src/internal/Obj/ids.ts +12 -0
- package/src/internal/Obj/index.ts +14 -0
- package/src/internal/Obj/inspect.ts +46 -0
- package/src/internal/Obj/json-serializer.test.ts +120 -0
- package/src/internal/Obj/json-serializer.ts +222 -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 +281 -0
- package/src/internal/Obj/set-value.ts +165 -0
- package/src/internal/Obj/snapshot.ts +105 -0
- package/src/internal/Obj/typed-object.test.ts +34 -0
- package/src/internal/Obj/typed-object.ts +30 -0
- package/src/internal/Query.ts +134 -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 +100 -0
- package/src/internal/Ref/ref.ts +572 -0
- package/src/internal/Type/compose.test.ts +41 -0
- package/src/internal/Type/compose.ts +41 -0
- package/src/internal/Type/echo-schema.ts +423 -0
- package/src/internal/Type/index.ts +7 -0
- package/src/internal/Type/manipulation.ts +92 -0
- package/src/internal/Type/persistent-schema.ts +33 -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 +88 -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 +519 -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 +90 -0
- package/src/internal/common/proxy/make-object.ts +105 -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.ts +68 -0
- package/src/internal/common/proxy/schema-validator.ts +244 -0
- package/src/internal/common/proxy/schema.test.ts +145 -0
- package/src/internal/common/proxy/symbols.ts +7 -0
- package/src/internal/common/proxy/typed-handler.test.ts +313 -0
- package/src/internal/common/proxy/typed-handler.ts +447 -0
- package/src/internal/common/proxy/typed-object.test.ts +115 -0
- package/src/internal/common/types/base.ts +43 -0
- package/src/internal/common/types/entity.ts +54 -0
- package/src/internal/common/types/index.ts +10 -0
- package/src/internal/common/types/meta.ts +67 -0
- package/src/internal/common/types/model-symbols.ts +69 -0
- package/src/internal/common/types/typename.ts +55 -0
- package/src/internal/common/types/version.ts +19 -0
- package/src/internal/index.ts +17 -0
- package/src/testing/api.test.ts +125 -0
- package/src/testing/index.ts +3 -1
- package/src/testing/test-data.ts +129 -0
- package/src/testing/test-schema.ts +240 -0
- package/src/testing/util.ts +85 -0
- package/dist/lib/browser/chunk-SVSJEELN.mjs +0 -619
- package/dist/lib/browser/chunk-SVSJEELN.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-53HXWYR6.mjs +0 -619
- package/dist/lib/node-esm/chunk-53HXWYR6.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 -323
- package/src/query/dsl.ts +0 -646
- package/src/query/index.ts +0 -5
- 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,354 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isRef
|
|
3
|
+
} from "./chunk-GMAUO3CE.mjs";
|
|
4
|
+
import {
|
|
5
|
+
getDXN,
|
|
6
|
+
prettyFilter
|
|
7
|
+
} from "./chunk-LLK3YB3N.mjs";
|
|
8
|
+
import {
|
|
9
|
+
getTypeDXNFromSpecifier
|
|
10
|
+
} from "./chunk-4U7YKZUA.mjs";
|
|
11
|
+
import {
|
|
12
|
+
__export
|
|
13
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
14
|
+
|
|
15
|
+
// src/Filter.ts
|
|
16
|
+
var Filter_exports = {};
|
|
17
|
+
__export(Filter_exports, {
|
|
18
|
+
and: () => and,
|
|
19
|
+
between: () => between,
|
|
20
|
+
childOf: () => childOf,
|
|
21
|
+
contains: () => contains,
|
|
22
|
+
created: () => created,
|
|
23
|
+
eq: () => eq,
|
|
24
|
+
everything: () => everything,
|
|
25
|
+
foreignKeys: () => foreignKeys,
|
|
26
|
+
fromAst: () => fromAst,
|
|
27
|
+
gt: () => gt,
|
|
28
|
+
gte: () => gte,
|
|
29
|
+
id: () => id,
|
|
30
|
+
in: () => in$,
|
|
31
|
+
is: () => is,
|
|
32
|
+
lt: () => lt,
|
|
33
|
+
lte: () => lte,
|
|
34
|
+
neq: () => neq,
|
|
35
|
+
not: () => not,
|
|
36
|
+
nothing: () => nothing,
|
|
37
|
+
or: () => or,
|
|
38
|
+
pretty: () => pretty,
|
|
39
|
+
props: () => props,
|
|
40
|
+
tag: () => tag,
|
|
41
|
+
text: () => text,
|
|
42
|
+
type: () => type,
|
|
43
|
+
typeDXN: () => typeDXN,
|
|
44
|
+
typename: () => typename,
|
|
45
|
+
updated: () => updated
|
|
46
|
+
});
|
|
47
|
+
import * as Match from "effect/Match";
|
|
48
|
+
import * as Schema from "effect/Schema";
|
|
49
|
+
import * as SchemaAST from "effect/SchemaAST";
|
|
50
|
+
import { assertArgument } from "@dxos/invariant";
|
|
51
|
+
import { DXN, ObjectId } from "@dxos/keys";
|
|
52
|
+
var FilterClass = class _FilterClass {
|
|
53
|
+
ast;
|
|
54
|
+
static "variance" = {};
|
|
55
|
+
constructor(ast) {
|
|
56
|
+
this.ast = ast;
|
|
57
|
+
}
|
|
58
|
+
"~Filter" = _FilterClass.variance;
|
|
59
|
+
};
|
|
60
|
+
var is = (value2) => {
|
|
61
|
+
return typeof value2 === "object" && value2 !== null && "~Filter" in value2;
|
|
62
|
+
};
|
|
63
|
+
var fromAst = (ast) => {
|
|
64
|
+
return new FilterClass(ast);
|
|
65
|
+
};
|
|
66
|
+
var everything = () => {
|
|
67
|
+
return new FilterClass({
|
|
68
|
+
type: "object",
|
|
69
|
+
typename: null,
|
|
70
|
+
props: {}
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
var nothing = () => {
|
|
74
|
+
return new FilterClass({
|
|
75
|
+
type: "not",
|
|
76
|
+
filter: {
|
|
77
|
+
type: "object",
|
|
78
|
+
typename: null,
|
|
79
|
+
props: {}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
var id = (...ids) => {
|
|
84
|
+
assertArgument(ids.every((id2) => ObjectId.isValid(id2)), "ids", "ids must be valid");
|
|
85
|
+
if (ids.length === 0) {
|
|
86
|
+
return nothing();
|
|
87
|
+
}
|
|
88
|
+
return new FilterClass({
|
|
89
|
+
type: "object",
|
|
90
|
+
typename: null,
|
|
91
|
+
id: ids,
|
|
92
|
+
props: {}
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
var type = (schema, props2) => {
|
|
96
|
+
if (Schema.isSchema(schema) && SchemaAST.isUnion(schema.ast)) {
|
|
97
|
+
const typenames = schema.ast.types.map((type2) => getTypeDXNFromSpecifier(Schema.make(type2)));
|
|
98
|
+
return new FilterClass({
|
|
99
|
+
type: "or",
|
|
100
|
+
filters: typenames.map((typename2) => ({
|
|
101
|
+
type: "object",
|
|
102
|
+
typename: typename2.toString(),
|
|
103
|
+
props: {}
|
|
104
|
+
}))
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
const dxn = getTypeDXNFromSpecifier(schema);
|
|
108
|
+
return new FilterClass({
|
|
109
|
+
type: "object",
|
|
110
|
+
typename: dxn.toString(),
|
|
111
|
+
...propsFilterToAst(props2 ?? {})
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
var typename = (typename2) => {
|
|
115
|
+
assertArgument(!typename2.startsWith("dxn:"), "typename", "Typename must no be qualified");
|
|
116
|
+
return new FilterClass({
|
|
117
|
+
type: "object",
|
|
118
|
+
typename: DXN.fromTypename(typename2).toString(),
|
|
119
|
+
props: {}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
var typeDXN = (dxn) => {
|
|
123
|
+
return new FilterClass({
|
|
124
|
+
type: "object",
|
|
125
|
+
typename: dxn.toString(),
|
|
126
|
+
props: {}
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
var tag = (tag2) => {
|
|
130
|
+
return new FilterClass({
|
|
131
|
+
type: "tag",
|
|
132
|
+
tag: tag2
|
|
133
|
+
});
|
|
134
|
+
};
|
|
135
|
+
var props = (props2) => {
|
|
136
|
+
return new FilterClass({
|
|
137
|
+
type: "object",
|
|
138
|
+
typename: null,
|
|
139
|
+
...propsFilterToAst(props2)
|
|
140
|
+
});
|
|
141
|
+
};
|
|
142
|
+
var text = (text2, options) => {
|
|
143
|
+
return new FilterClass({
|
|
144
|
+
type: "text-search",
|
|
145
|
+
text: text2,
|
|
146
|
+
searchKind: options?.type
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
var foreignKeys = (schema, keys) => {
|
|
150
|
+
const dxn = getTypeDXNFromSpecifier(schema);
|
|
151
|
+
return new FilterClass({
|
|
152
|
+
type: "object",
|
|
153
|
+
typename: dxn.toString(),
|
|
154
|
+
props: {},
|
|
155
|
+
foreignKeys: keys
|
|
156
|
+
});
|
|
157
|
+
};
|
|
158
|
+
var eq = (value2) => {
|
|
159
|
+
if (!isRef(value2) && typeof value2 === "object" && value2 !== null) {
|
|
160
|
+
throw new TypeError("Cannot use object as a value for eq filter");
|
|
161
|
+
}
|
|
162
|
+
return new FilterClass({
|
|
163
|
+
type: "compare",
|
|
164
|
+
operator: "eq",
|
|
165
|
+
value: isRef(value2) ? value2.noInline().encode() : value2
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
var neq = (value2) => {
|
|
169
|
+
return new FilterClass({
|
|
170
|
+
type: "compare",
|
|
171
|
+
operator: "neq",
|
|
172
|
+
value: value2
|
|
173
|
+
});
|
|
174
|
+
};
|
|
175
|
+
var gt = (value2) => {
|
|
176
|
+
return new FilterClass({
|
|
177
|
+
type: "compare",
|
|
178
|
+
operator: "gt",
|
|
179
|
+
value: value2
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
var gte = (value2) => {
|
|
183
|
+
return new FilterClass({
|
|
184
|
+
type: "compare",
|
|
185
|
+
operator: "gte",
|
|
186
|
+
value: value2
|
|
187
|
+
});
|
|
188
|
+
};
|
|
189
|
+
var lt = (value2) => {
|
|
190
|
+
return new FilterClass({
|
|
191
|
+
type: "compare",
|
|
192
|
+
operator: "lt",
|
|
193
|
+
value: value2
|
|
194
|
+
});
|
|
195
|
+
};
|
|
196
|
+
var lte = (value2) => {
|
|
197
|
+
return new FilterClass({
|
|
198
|
+
type: "compare",
|
|
199
|
+
operator: "lte",
|
|
200
|
+
value: value2
|
|
201
|
+
});
|
|
202
|
+
};
|
|
203
|
+
var in$ = (...values) => {
|
|
204
|
+
return new FilterClass({
|
|
205
|
+
type: "in",
|
|
206
|
+
values
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
var contains = (value2) => {
|
|
210
|
+
return new FilterClass({
|
|
211
|
+
type: "contains",
|
|
212
|
+
value: value2
|
|
213
|
+
});
|
|
214
|
+
};
|
|
215
|
+
var between = (from, to) => {
|
|
216
|
+
return new FilterClass({
|
|
217
|
+
type: "range",
|
|
218
|
+
from,
|
|
219
|
+
to
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
var _toUnixMs = (date) => typeof date === "number" ? date : date.getTime();
|
|
223
|
+
var _timeRangeFilter = (field, range) => {
|
|
224
|
+
const filters = [];
|
|
225
|
+
if (range.after != null) {
|
|
226
|
+
filters.push(new FilterClass({
|
|
227
|
+
type: "timestamp",
|
|
228
|
+
field,
|
|
229
|
+
operator: "gte",
|
|
230
|
+
value: _toUnixMs(range.after)
|
|
231
|
+
}));
|
|
232
|
+
}
|
|
233
|
+
if (range.before != null) {
|
|
234
|
+
filters.push(new FilterClass({
|
|
235
|
+
type: "timestamp",
|
|
236
|
+
field,
|
|
237
|
+
operator: "lte",
|
|
238
|
+
value: _toUnixMs(range.before)
|
|
239
|
+
}));
|
|
240
|
+
}
|
|
241
|
+
if (filters.length === 0) {
|
|
242
|
+
return everything();
|
|
243
|
+
}
|
|
244
|
+
return filters.length === 1 ? filters[0] : and(...filters);
|
|
245
|
+
};
|
|
246
|
+
var updated = (range) => _timeRangeFilter("updatedAt", range);
|
|
247
|
+
var created = (range) => _timeRangeFilter("createdAt", range);
|
|
248
|
+
var childOf = (parents, options) => {
|
|
249
|
+
const items = Array.isArray(parents) ? parents : [
|
|
250
|
+
parents
|
|
251
|
+
];
|
|
252
|
+
const dxns = items.map((item) => {
|
|
253
|
+
if (isRef(item)) {
|
|
254
|
+
return item.dxn.toString();
|
|
255
|
+
}
|
|
256
|
+
return getDXN(item).toString();
|
|
257
|
+
});
|
|
258
|
+
return new FilterClass({
|
|
259
|
+
type: "child-of",
|
|
260
|
+
parents: dxns,
|
|
261
|
+
transitive: options?.transitive ?? true
|
|
262
|
+
});
|
|
263
|
+
};
|
|
264
|
+
var not = (filter) => {
|
|
265
|
+
return new FilterClass({
|
|
266
|
+
type: "not",
|
|
267
|
+
filter: filter.ast
|
|
268
|
+
});
|
|
269
|
+
};
|
|
270
|
+
var and = (...filters) => {
|
|
271
|
+
return new FilterClass({
|
|
272
|
+
type: "and",
|
|
273
|
+
filters: filters.map((f) => f.ast)
|
|
274
|
+
});
|
|
275
|
+
};
|
|
276
|
+
var or = (...filters) => {
|
|
277
|
+
return new FilterClass({
|
|
278
|
+
type: "or",
|
|
279
|
+
filters: filters.map((f) => f.ast)
|
|
280
|
+
});
|
|
281
|
+
};
|
|
282
|
+
var propsFilterToAst = (predicates) => {
|
|
283
|
+
let idFilter;
|
|
284
|
+
if ("id" in predicates) {
|
|
285
|
+
assertArgument(typeof predicates.id === "string" || Array.isArray(predicates.id), "predicates.id", "invalid id filter");
|
|
286
|
+
idFilter = typeof predicates.id === "string" ? [
|
|
287
|
+
predicates.id
|
|
288
|
+
] : predicates.id;
|
|
289
|
+
Schema.Array(ObjectId).pipe(Schema.validateSync)(idFilter);
|
|
290
|
+
}
|
|
291
|
+
return {
|
|
292
|
+
id: idFilter,
|
|
293
|
+
props: Object.fromEntries(Object.entries(predicates).filter(([prop, _value]) => prop !== "id").map(([prop, predicate]) => [
|
|
294
|
+
prop,
|
|
295
|
+
processPredicate(predicate)
|
|
296
|
+
]))
|
|
297
|
+
};
|
|
298
|
+
};
|
|
299
|
+
var processPredicate = (predicate) => {
|
|
300
|
+
return Match.value(predicate).pipe(
|
|
301
|
+
Match.withReturnType(),
|
|
302
|
+
Match.when(is, (predicate2) => predicate2.ast),
|
|
303
|
+
// TODO(wittjosiah): Add support for array predicates.
|
|
304
|
+
Match.when(Array.isArray, (_predicate) => {
|
|
305
|
+
throw new Error("Array predicates are not yet supported.");
|
|
306
|
+
}),
|
|
307
|
+
Match.when((predicate2) => !isRef(predicate2) && typeof predicate2 === "object" && predicate2 !== null, (predicate2) => {
|
|
308
|
+
const nestedProps = Object.fromEntries(Object.entries(predicate2).map(([key, value2]) => [
|
|
309
|
+
key,
|
|
310
|
+
processPredicate(value2)
|
|
311
|
+
]));
|
|
312
|
+
return {
|
|
313
|
+
type: "object",
|
|
314
|
+
typename: null,
|
|
315
|
+
props: nestedProps
|
|
316
|
+
};
|
|
317
|
+
}),
|
|
318
|
+
Match.orElse((value2) => eq(value2).ast)
|
|
319
|
+
);
|
|
320
|
+
};
|
|
321
|
+
var pretty = (filter) => prettyFilter(filter.ast);
|
|
322
|
+
|
|
323
|
+
export {
|
|
324
|
+
is,
|
|
325
|
+
fromAst,
|
|
326
|
+
everything,
|
|
327
|
+
nothing,
|
|
328
|
+
id,
|
|
329
|
+
type,
|
|
330
|
+
typename,
|
|
331
|
+
typeDXN,
|
|
332
|
+
tag,
|
|
333
|
+
props,
|
|
334
|
+
text,
|
|
335
|
+
foreignKeys,
|
|
336
|
+
eq,
|
|
337
|
+
neq,
|
|
338
|
+
gt,
|
|
339
|
+
gte,
|
|
340
|
+
lt,
|
|
341
|
+
lte,
|
|
342
|
+
in$,
|
|
343
|
+
contains,
|
|
344
|
+
between,
|
|
345
|
+
updated,
|
|
346
|
+
created,
|
|
347
|
+
childOf,
|
|
348
|
+
not,
|
|
349
|
+
and,
|
|
350
|
+
or,
|
|
351
|
+
pretty,
|
|
352
|
+
Filter_exports
|
|
353
|
+
};
|
|
354
|
+
//# sourceMappingURL=chunk-XL5OYQ4X.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Filter.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Match from 'effect/Match';\nimport * as Schema from 'effect/Schema';\nimport * as SchemaAST from 'effect/SchemaAST';\nimport type * as Types from 'effect/Types';\n\nimport { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';\nimport { assertArgument } from '@dxos/invariant';\nimport { DXN, ObjectId } from '@dxos/keys';\n\nimport * as internal from './internal';\nimport type * as Obj from './Obj';\nimport * as Ref from './Ref';\n\nexport interface Filter<T> {\n // TODO(dmaretskyi): See new effect-schema approach to variance.\n '~Filter': { value: Types.Covariant<T> };\n\n ast: QueryAST.Filter;\n}\n\nexport type Props<T> = {\n // Predicate or a value as a shorthand for `eq`.\n [K in keyof T & string]?: Filter<T[K]> | T[K];\n};\n\nexport type Any = Filter<any>;\n\nexport type Type<F extends Any> = F extends Filter<infer T> ? T : never;\n\nclass FilterClass implements Any {\n private static 'variance': Any['~Filter'] = {} as Any['~Filter'];\n\n constructor(public readonly ast: QueryAST.Filter) {}\n\n '~Filter' = FilterClass.variance;\n}\n\nexport const is = (value: unknown): value is Any => {\n return typeof value === 'object' && value !== null && '~Filter' in value;\n};\n\n/** Construct a filter from an ast. */\nexport const fromAst = (ast: QueryAST.Filter): Any => {\n return new FilterClass(ast);\n};\n\n/**\n * Filter that matches all objects.\n */\n// TODO(dmaretskyi): `Entity.Any` would be more type-safe, but causes annoying errors in existing code\nexport const everything = (): FilterClass => {\n return new FilterClass({\n type: 'object',\n typename: null,\n props: {},\n });\n};\n\n/**\n * Filter that matches no objects.\n */\nexport const nothing = (): FilterClass => {\n return new FilterClass({\n type: 'not',\n filter: {\n type: 'object',\n typename: null,\n props: {},\n },\n });\n};\n\n/*\n * Filter by ObjectId.\n */\nexport const id = (...ids: ObjectId[]): Any => {\n assertArgument(\n ids.every((id) => ObjectId.isValid(id)),\n 'ids',\n 'ids must be valid',\n );\n\n if (ids.length === 0) {\n return nothing();\n }\n\n return new FilterClass({\n type: 'object',\n typename: null,\n id: ids,\n props: {},\n });\n};\n\n/**\n * Filter by type.\n */\nexport const type = <S extends Schema.Schema.All>(\n schema: S | string,\n props?: Props<Schema.Schema.Type<S>>,\n): Filter<Schema.Schema.Type<S>> => {\n if (Schema.isSchema(schema) && SchemaAST.isUnion(schema.ast)) {\n const typenames = schema.ast.types.map((type) => internal.getTypeDXNFromSpecifier(Schema.make(type)));\n return new FilterClass({\n type: 'or',\n filters: typenames.map((typename) => ({\n type: 'object',\n typename: typename.toString(),\n props: {},\n })),\n });\n }\n\n const dxn = internal.getTypeDXNFromSpecifier(schema);\n return new FilterClass({\n type: 'object',\n typename: dxn.toString(),\n ...propsFilterToAst(props ?? {}),\n });\n};\n\n/**\n * Filter by non-qualified typename.\n */\nexport const typename = (typename: string): Any => {\n assertArgument(!typename.startsWith('dxn:'), 'typename', 'Typename must no be qualified');\n return new FilterClass({\n type: 'object',\n typename: DXN.fromTypename(typename).toString(),\n props: {},\n });\n};\n\n/**\n * Filter by fully qualified type DXN.\n */\nexport const typeDXN = (dxn: DXN): Any => {\n return new FilterClass({\n type: 'object',\n typename: dxn.toString(),\n props: {},\n });\n};\n\n/**\n * Filter by tag.\n */\nexport const tag = (tag: string): Any => {\n return new FilterClass({\n type: 'tag',\n tag,\n });\n};\n\n/**\n * Filter by properties.\n */\nexport const props = <T>(props: Props<T>): Filter<T> => {\n return new FilterClass({\n type: 'object',\n typename: null,\n ...propsFilterToAst(props),\n });\n};\n\nexport type TextSearchOptions = {\n // TODO(dmaretskyi): Hybrid search.\n type?: 'full-text' | 'vector';\n};\n\n/**\n * Full-text or vector search.\n */\nexport const text = (\n // TODO(dmaretskyi): Consider passing a vector here, but really the embedding should be done on the query-executor side.\n text: string,\n options?: TextSearchOptions,\n): Any => {\n return new FilterClass({\n type: 'text-search',\n text,\n searchKind: options?.type,\n });\n};\n\n/**\n * Filter by foreign keys.\n */\nexport const foreignKeys = <S extends Schema.Schema.All>(\n schema: S | string,\n keys: ForeignKey[],\n): Filter<Schema.Schema.Type<S>> => {\n const dxn = internal.getTypeDXNFromSpecifier(schema);\n return new FilterClass({\n type: 'object',\n typename: dxn.toString(),\n props: {},\n foreignKeys: keys,\n });\n};\n\n/**\n * Predicate for property to be equal to the provided value.\n */\nexport const eq = <T>(value: T): Filter<T | undefined> => {\n if (!Ref.isRef(value) && typeof value === 'object' && value !== null) {\n throw new TypeError('Cannot use object as a value for eq filter');\n }\n\n return new FilterClass({\n type: 'compare',\n operator: 'eq',\n value: Ref.isRef(value) ? value.noInline().encode() : value,\n });\n};\n\n/**\n * Predicate for property to be not equal to the provided value.\n */\nexport const neq = <T>(value: T): Filter<T | undefined> => {\n return new FilterClass({\n type: 'compare',\n operator: 'neq',\n value,\n });\n};\n\n/**\n * Predicate for property to be greater than the provided value.\n */\nexport const gt = <T>(value: T): Filter<T | undefined> => {\n return new FilterClass({\n type: 'compare',\n operator: 'gt',\n value,\n });\n};\n\n/**\n * Predicate for property to be greater than or equal to the provided value.\n */\nexport const gte = <T>(value: T): Filter<T | undefined> => {\n return new FilterClass({\n type: 'compare',\n operator: 'gte',\n value,\n });\n};\n\n/**\n * Predicate for property to be less than the provided value.\n */\nexport const lt = <T>(value: T): Filter<T | undefined> => {\n return new FilterClass({\n type: 'compare',\n operator: 'lt',\n value,\n });\n};\n\n/**\n * Predicate for property to be less than or equal to the provided value.\n */\nexport const lte = <T>(value: T): Filter<T | undefined> => {\n return new FilterClass({\n type: 'compare',\n operator: 'lte',\n value,\n });\n};\n\n/**\n * Predicate for property to be in the provided array.\n * @param values - Values to check against.\n */\nconst in$ = <T>(...values: T[]): Filter<T> => {\n return new FilterClass({\n type: 'in',\n values,\n });\n};\nexport { in$ as in };\n\n/**\n * Predicate for an array property to contain the provided value.\n * @param value - Value to check against.\n */\nexport const contains = <T>(value: T): Filter<readonly T[] | undefined> => {\n return new FilterClass({\n type: 'contains',\n value,\n });\n};\n\n/**\n * Predicate for property to be in the provided range.\n * @param from - Start of the range (inclusive).\n * @param to - End of the range (exclusive).\n */\nexport const between = <T>(from: T, to: T): Filter<T> => {\n return new FilterClass({\n type: 'range',\n from,\n to,\n });\n};\n\ntype TimeRange = { after?: Date | number; before?: Date | number };\n\nconst _toUnixMs = (date: Date | number): number => (typeof date === 'number' ? date : date.getTime());\n\nconst _timeRangeFilter = (field: 'updatedAt' | 'createdAt', range: TimeRange): Any => {\n const filters: Any[] = [];\n if (range.after != null) {\n filters.push(new FilterClass({ type: 'timestamp', field, operator: 'gte', value: _toUnixMs(range.after) }));\n }\n if (range.before != null) {\n filters.push(new FilterClass({ type: 'timestamp', field, operator: 'lte', value: _toUnixMs(range.before) }));\n }\n if (filters.length === 0) {\n return everything();\n }\n return filters.length === 1 ? filters[0] : and(...filters);\n};\n\n/**\n * Filter objects by updatedAt timestamp.\n */\nexport const updated = (range: TimeRange): Any => _timeRangeFilter('updatedAt', range);\n\n/**\n * Filter objects by createdAt timestamp.\n */\nexport const created = (range: TimeRange): Any => _timeRangeFilter('createdAt', range);\n\nexport type ChildOfOptions = {\n /** Whether to match transitively (grandchildren, etc.). Defaults to true. */\n transitive?: boolean;\n};\n\n/**\n * Filter objects that are children of the specified parent(s).\n * Accepts ECHO objects, Refs, or arrays of either.\n * Refs are resolved to DXNs without loading; objects use {@link Obj.getDXN}.\n * With transitive=true (default), also matches grandchildren and beyond.\n */\nexport const childOf = (\n parents: Obj.Unknown | Ref.Unknown | readonly (Obj.Unknown | Ref.Unknown)[],\n options?: ChildOfOptions,\n): Any => {\n const items = Array.isArray(parents) ? parents : [parents];\n const dxns = items.map((item) => {\n if (Ref.isRef(item)) {\n return item.dxn.toString();\n }\n return internal.getDXN(item).toString();\n });\n return new FilterClass({\n type: 'child-of',\n parents: dxns,\n transitive: options?.transitive ?? true,\n });\n};\n\n/**\n * Negate the filter.\n */\nexport const not = <F extends Any>(filter: F): Filter<Type<F>> => {\n return new FilterClass({\n type: 'not',\n filter: filter.ast,\n });\n};\n\n/**\n * Combine filters with a logical AND.\n */\nexport const and = <Filters extends readonly Any[]>(...filters: Filters): Filter<Type<Filters[number]>> => {\n return new FilterClass({\n type: 'and',\n filters: filters.map((f) => f.ast),\n });\n};\n\n/**\n * Combine filters with a logical OR.\n */\nexport const or = <Filters extends readonly Any[]>(...filters: Filters): Filter<Type<Filters[number]>> => {\n return new FilterClass({\n type: 'or',\n filters: filters.map((f) => f.ast),\n });\n};\n\n// TODO(dmaretskyi): Add `Filter.match` to support pattern matching on string props.\n\nconst propsFilterToAst = (predicates: Props<any>): Pick<QueryAST.FilterObject, 'id' | 'props'> => {\n let idFilter: readonly ObjectId[] | undefined;\n if ('id' in predicates) {\n assertArgument(\n typeof predicates.id === 'string' || Array.isArray(predicates.id),\n 'predicates.id',\n 'invalid id filter',\n );\n idFilter = typeof predicates.id === 'string' ? [predicates.id] : predicates.id;\n Schema.Array(ObjectId).pipe(Schema.validateSync)(idFilter);\n }\n\n return {\n id: idFilter,\n props: Object.fromEntries(\n Object.entries(predicates)\n .filter(([prop, _value]) => prop !== 'id')\n .map(([prop, predicate]) => [prop, processPredicate(predicate)]),\n ) as Record<string, QueryAST.Filter>,\n };\n};\n\nconst processPredicate = (predicate: any): QueryAST.Filter => {\n return Match.value(predicate).pipe(\n Match.withReturnType<QueryAST.Filter>(),\n Match.when(is, (predicate) => predicate.ast),\n // TODO(wittjosiah): Add support for array predicates.\n Match.when(Array.isArray, (_predicate) => {\n throw new Error('Array predicates are not yet supported.');\n }),\n Match.when(\n (predicate: any) => !Ref.isRef(predicate) && typeof predicate === 'object' && predicate !== null,\n (predicate) => {\n const nestedProps = Object.fromEntries(\n Object.entries(predicate).map(([key, value]) => [key, processPredicate(value)]),\n );\n\n return {\n type: 'object',\n typename: null,\n props: nestedProps,\n };\n },\n ),\n Match.orElse((value) => eq(value).ast),\n );\n};\n\n/**\n * Returns a human-readable string representation of a Filter AST.\n */\nexport const pretty = (filter: Any): string => internal.prettyFilter(filter.ast);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Match", "Schema", "SchemaAST", "assertArgument", "DXN", "ObjectId", "FilterClass", "ast", "variance", "is", "value", "fromAst", "everything", "type", "typename", "props", "nothing", "filter", "id", "ids", "assertArgument", "every", "ObjectId", "isValid", "length", "schema", "isSchema", "isUnion", "typenames", "types", "map", "getTypeDXNFromSpecifier", "make", "filters", "toString", "dxn", "propsFilterToAst", "startsWith", "DXN", "fromTypename", "typeDXN", "tag", "text", "options", "searchKind", "foreignKeys", "keys", "eq", "isRef", "TypeError", "operator", "noInline", "encode", "neq", "gt", "gte", "lt", "lte", "in$", "values", "contains", "value", "FilterClass", "type", "between", "from", "to", "_toUnixMs", "date", "getTime", "_timeRangeFilter", "field", "range", "filters", "after", "push", "operator", "before", "length", "everything", "and", "updated", "created", "childOf", "parents", "options", "items", "Array", "isArray", "dxns", "map", "item", "isRef", "dxn", "toString", "getDXN", "transitive", "not", "filter", "ast", "f", "or", "propsFilterToAst", "predicates", "idFilter", "assertArgument", "id", "Schema", "ObjectId", "pipe", "validateSync", "props", "Object", "fromEntries", "entries", "prop", "_value", "predicate", "processPredicate", "withReturnType", "when", "is", "_predicate", "Error", "nestedProps", "key", "typename", "orElse", "eq", "pretty", "prettyFilter"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getSchemaDXN
|
|
3
|
+
} from "./chunk-4U7YKZUA.mjs";
|
|
4
|
+
import {
|
|
5
|
+
__export
|
|
6
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
7
|
+
|
|
8
|
+
// src/Migration.ts
|
|
9
|
+
var Migration_exports = {};
|
|
10
|
+
__export(Migration_exports, {
|
|
11
|
+
define: () => define
|
|
12
|
+
});
|
|
13
|
+
var define = (options) => {
|
|
14
|
+
const fromType = getSchemaDXN(options.from);
|
|
15
|
+
if (!fromType) {
|
|
16
|
+
throw new Error("Invalid from schema");
|
|
17
|
+
}
|
|
18
|
+
const toType = getSchemaDXN(options.to);
|
|
19
|
+
if (!toType) {
|
|
20
|
+
throw new Error("Invalid to schema");
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
fromType,
|
|
24
|
+
toType,
|
|
25
|
+
fromSchema: options.from,
|
|
26
|
+
toSchema: options.to,
|
|
27
|
+
transform: options.transform,
|
|
28
|
+
onMigration: options.onMigration
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
define,
|
|
34
|
+
Migration_exports
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=chunk-YP4SEMT6.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Migration.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\n// @import-as-namespace\n\nimport type * as Schema from 'effect/Schema';\n\nimport { type DXN } from '@dxos/keys';\n\nimport type * as Database from './Database';\nimport type * as Entity from './Entity';\nimport { getSchemaDXN } from './internal';\n\ntype DefineObjectMigrationOptions<From extends Schema.Schema.AnyNoContext, To extends Schema.Schema.AnyNoContext> = {\n from: From;\n to: To;\n /**\n * Pure function that converts the old object data to the new object data.\n */\n // TODO(dmaretskyi): `id` should not be a part of the schema.\n transform: (\n from: Schema.Schema.Type<From>,\n context: ObjectMigrationContext,\n ) => Promise<Omit<Schema.Schema.Type<To>, 'id' | Entity.KindId>>;\n\n /**\n * Callback that is called after the object is migrated. Called for every object that is migrated.\n *\n * NOTE: Database mutations performed in this callback are not guaranteed to be idempotent.\n * If multiple peers run the migration separately, the effects may be applied multiple times.\n */\n onMigration: (params: OnMigrateProps<From, To>) => Promise<void>;\n};\n\n/**\n * Context passed to object migration callbacks.\n */\nexport type ObjectMigrationContext = {\n db: Database.Database;\n};\n\ntype OnMigrateProps<From extends Schema.Schema.AnyNoContext, To extends Schema.Schema.AnyNoContext> = {\n before: Schema.Schema.Type<From>;\n object: Schema.Schema.Type<To>;\n db: Database.Database;\n};\n\n/**\n * Definition of a migration from one object schema version to another.\n */\nexport type ObjectMigration = {\n fromType: DXN;\n toType: DXN;\n fromSchema: Schema.Schema.AnyNoContext;\n toSchema: Schema.Schema.AnyNoContext;\n transform: (from: unknown, context: ObjectMigrationContext) => Promise<unknown>;\n onMigration: (params: OnMigrateProps<any, any>) => Promise<void>;\n};\n\n/**\n * Define a migration between two object schemas.\n *\n * @example\n * ```ts\n * const migration = Migration.define({\n * from: ContactV1,\n * to: ContactV2,\n * transform: async (from) => ({ name: `${from.firstName} ${from.lastName}` }),\n * onMigration: async () => {},\n * });\n * ```\n */\nexport const define = <From extends Schema.Schema.AnyNoContext, To extends Schema.Schema.AnyNoContext>(\n options: DefineObjectMigrationOptions<From, To>,\n): ObjectMigration => {\n const fromType = getSchemaDXN(options.from);\n if (!fromType) {\n throw new Error('Invalid from schema');\n }\n const toType = getSchemaDXN(options.to);\n if (!toType) {\n throw new Error('Invalid to schema');\n }\n\n return {\n fromType,\n toType,\n fromSchema: options.from,\n toSchema: options.to,\n transform: options.transform as any,\n onMigration: options.onMigration as any,\n };\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;AAAA;;;;AAyEO,IAAMA,SAAS,CACpBC,YAAAA;AAEA,QAAMC,WAAWC,aAAaF,QAAQG,IAAI;AAC1C,MAAI,CAACF,UAAU;AACb,UAAM,IAAIG,MAAM,qBAAA;EAClB;AACA,QAAMC,SAASH,aAAaF,QAAQM,EAAE;AACtC,MAAI,CAACD,QAAQ;AACX,UAAM,IAAID,MAAM,mBAAA;EAClB;AAEA,SAAO;IACLH;IACAI;IACAE,YAAYP,QAAQG;IACpBK,UAAUR,QAAQM;IAClBG,WAAWT,QAAQS;IACnBC,aAAaV,QAAQU;EACvB;AACF;",
|
|
6
|
+
"names": ["define", "options", "fromType", "getSchemaDXN", "from", "Error", "toType", "to", "fromSchema", "toSchema", "transform", "onMigration"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/Extension.ts
|
|
6
|
+
var Extension_exports = {};
|
|
7
|
+
__export(Extension_exports, {
|
|
8
|
+
Key: () => Key,
|
|
9
|
+
TypeId: () => TypeId,
|
|
10
|
+
Values: () => Values,
|
|
11
|
+
get: () => get,
|
|
12
|
+
make: () => make,
|
|
13
|
+
set: () => set
|
|
14
|
+
});
|
|
15
|
+
import * as Function from "effect/Function";
|
|
16
|
+
import * as Option from "effect/Option";
|
|
17
|
+
import * as Schema from "effect/Schema";
|
|
18
|
+
var TypeId = "~@dxos/echo/Extension";
|
|
19
|
+
var make = (key, valueSchema) => {
|
|
20
|
+
return {
|
|
21
|
+
[TypeId]: {},
|
|
22
|
+
key: Key.make(key),
|
|
23
|
+
valueSchema
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
var Key = Schema.String.pipe(Schema.brand("~@dxos/echo/ExtensionKey"));
|
|
27
|
+
var Values = Schema.Record({
|
|
28
|
+
key: Key,
|
|
29
|
+
value: Schema.Unknown
|
|
30
|
+
});
|
|
31
|
+
var get = Function.dual(2, (values, extension) => {
|
|
32
|
+
if (!(extension.key in values)) {
|
|
33
|
+
return Option.none();
|
|
34
|
+
}
|
|
35
|
+
return Function.pipe(values[extension.key], Schema.decodeUnknownSync(extension.valueSchema), Option.some);
|
|
36
|
+
});
|
|
37
|
+
var set = Function.dual(3, (values, extension, value) => {
|
|
38
|
+
values[extension.key] = Schema.encodeSync(extension.valueSchema)(value);
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
TypeId,
|
|
43
|
+
make,
|
|
44
|
+
Key,
|
|
45
|
+
Values,
|
|
46
|
+
get,
|
|
47
|
+
set,
|
|
48
|
+
Extension_exports
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=chunk-YS6Q3XAD.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Extension.ts"],
|
|
4
|
+
"sourcesContent": ["// @import-as-namespace\n//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\nimport type * as Types from 'effect/Types';\n\n// @import-as-namespace\n\n/**\n * Extensions allow objects to contain typed properties that are not part of the schema.\n */\n\nexport const TypeId = '~@dxos/echo/Extension' as const;\nexport type TypeId = typeof TypeId;\n\nexport interface Extension<T> extends Record<\n TypeId,\n {\n _Type: T;\n }\n> {\n readonly [TypeId]: {\n _Type: T;\n };\n\n readonly key: Key;\n readonly valueSchema: Schema.Schema<T>;\n}\n\n/**\n * Create a new typed extension.\n *\n * ```ts\n * const ColorExtension = Extension.make('color', Schema.String);\n *\n * const obj = Obj.make(Person, {\n * [Obj.Meta]: { keys: [{ source: 'external', id: '123' }] },\n * name: 'John',\n * email: 'john@example.com',\n * });\n *\n * Obj.change(obj, (obj) => {\n * Extension.set(obj.extensions, ColorExtension, 'red');\n * });\n *\n * console.log(Extension.get(obj.extensions, ColorExtension)); // 'red'\n * ```\n */\nexport const make = <S extends Schema.Schema.AnyNoContext>(\n key: string,\n valueSchema: S,\n): Extension<Schema.Schema.Type<S>> => {\n return {\n [TypeId]: {} as any,\n key: Key.make(key),\n valueSchema,\n };\n};\n\n/**\n * Unique identifier for an extension.\n */\n// TODO(dmaretskyi): filter to be fully qualified: (e.g., org.dxos.extension.color)\nexport const Key = Schema.String.pipe(Schema.brand('~@dxos/echo/ExtensionKey'));\nexport type Key = Schema.Schema.Type<typeof Key>;\n\n/**\n * Set of extension values.\n *\n * Can be used inside an object/relation schema:\n *\n * ```ts\n * const Person = Schema.Struct({\n * name: Schema.String,\n * extensions: Extension.Values,\n * });\n * ```\n */\nexport const Values = Schema.Record({ key: Key, value: Schema.Unknown });\nexport interface Values extends Schema.Schema.Type<typeof Values> {}\n\n/**\n * Get the value of an extension from a set of values.\n */\nexport const get: {\n <T>(extension: Extension<T>): (values: Values) => Option.Option<T>;\n <T>(values: Values, extension: Extension<T>): Option.Option<T>;\n} = Function.dual<\n <T>(extension: Extension<T>) => (values: Values) => Option.Option<T>,\n <T>(values: Values, extension: Extension<T>) => Option.Option<T>\n>(2, (values, extension) => {\n if (!(extension.key in values)) {\n return Option.none();\n }\n\n return Function.pipe(values[extension.key], Schema.decodeUnknownSync(extension.valueSchema), Option.some);\n});\n\n/**\n * Set the value of an extension in a set of values.\n *\n * Can also be used within Obj.change callback:\n *\n * ```ts\n * Obj.change(obj, (obj) => {\n * Extension.set(obj.extensions, ColorExtension, 'red');\n * });\n * ```\n */\nexport const set: {\n <T>(extension: Extension<T>, value: T): (values: Values) => void;\n <T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T): void;\n} = Function.dual<\n <T>(extension: Extension<T>, value: T) => (values: Values) => void,\n <T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T) => void\n>(3, (values, extension, value) => {\n values[extension.key] = Schema.encodeSync(extension.valueSchema)(value);\n});\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;;;;AAKA,YAAYA,cAAc;AAC1B,YAAYC,YAAY;AACxB,YAAYC,YAAY;AASjB,IAAMC,SAAS;AAoCf,IAAMC,OAAO,CAClBC,KACAC,gBAAAA;AAEA,SAAO;IACL,CAACH,MAAAA,GAAS,CAAC;IACXE,KAAKE,IAAIH,KAAKC,GAAAA;IACdC;EACF;AACF;AAMO,IAAMC,MAAaC,cAAOC,KAAYC,aAAM,0BAAA,CAAA;AAe5C,IAAMC,SAAgBC,cAAO;EAAEP,KAAKE;EAAKM,OAAcC;AAAQ,CAAA;AAM/D,IAAMC,MAGAC,cAGX,GAAG,CAACC,QAAQC,cAAAA;AACZ,MAAI,EAAEA,UAAUb,OAAOY,SAAS;AAC9B,WAAcE,YAAI;EACpB;AAEA,SAAgBV,cAAKQ,OAAOC,UAAUb,GAAG,GAAUe,yBAAkBF,UAAUZ,WAAW,GAAUe,WAAI;AAC1G,CAAA;AAaO,IAAMC,MAGAN,cAGX,GAAG,CAACC,QAAQC,WAAWL,UAAAA;AACvBI,SAAOC,UAAUb,GAAG,IAAWkB,kBAAWL,UAAUZ,WAAW,EAAEO,KAAAA;AACnE,CAAA;",
|
|
6
|
+
"names": ["Function", "Option", "Schema", "TypeId", "make", "key", "valueSchema", "Key", "String", "pipe", "brand", "Values", "Record", "value", "Unknown", "get", "dual", "values", "extension", "none", "decodeUnknownSync", "some", "set", "encodeSync"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Collection_exports,
|
|
3
|
+
DXN,
|
|
4
|
+
Dataset_exports,
|
|
5
|
+
Hypergraph_exports,
|
|
6
|
+
QueryAST,
|
|
7
|
+
View_exports
|
|
8
|
+
} from "./chunk-WOEEIQWU.mjs";
|
|
9
|
+
import {
|
|
10
|
+
SchemaRegistry_exports
|
|
11
|
+
} from "./chunk-BNCCGLJN.mjs";
|
|
12
|
+
import {
|
|
13
|
+
Tag_exports
|
|
14
|
+
} from "./chunk-F7EQRJWJ.mjs";
|
|
15
|
+
import {
|
|
16
|
+
Order_exports
|
|
17
|
+
} from "./chunk-UI6MWK5W.mjs";
|
|
18
|
+
import {
|
|
19
|
+
Key_exports
|
|
20
|
+
} from "./chunk-ANHVGJI4.mjs";
|
|
21
|
+
import {
|
|
22
|
+
Migration_exports
|
|
23
|
+
} from "./chunk-YP4SEMT6.mjs";
|
|
24
|
+
import {
|
|
25
|
+
Extension_exports
|
|
26
|
+
} from "./chunk-YS6Q3XAD.mjs";
|
|
27
|
+
import {
|
|
28
|
+
Format_exports
|
|
29
|
+
} from "./chunk-GZQTCRJB.mjs";
|
|
30
|
+
import {
|
|
31
|
+
Relation_exports
|
|
32
|
+
} from "./chunk-2DJT26P7.mjs";
|
|
33
|
+
import {
|
|
34
|
+
JsonSchema_exports
|
|
35
|
+
} from "./chunk-6ZQHG2VX.mjs";
|
|
36
|
+
import {
|
|
37
|
+
QueryResult_exports
|
|
38
|
+
} from "./chunk-OMUPQMLR.mjs";
|
|
39
|
+
import {
|
|
40
|
+
Query_exports
|
|
41
|
+
} from "./chunk-B4NP3BY3.mjs";
|
|
42
|
+
import {
|
|
43
|
+
Feed_exports
|
|
44
|
+
} from "./chunk-3Y6LSSJR.mjs";
|
|
45
|
+
import {
|
|
46
|
+
Type_exports
|
|
47
|
+
} from "./chunk-OX5WOJZ2.mjs";
|
|
48
|
+
import {
|
|
49
|
+
Filter_exports
|
|
50
|
+
} from "./chunk-XL5OYQ4X.mjs";
|
|
51
|
+
import {
|
|
52
|
+
Obj_exports
|
|
53
|
+
} from "./chunk-LSMJDE57.mjs";
|
|
54
|
+
import {
|
|
55
|
+
Ref_exports
|
|
56
|
+
} from "./chunk-GMAUO3CE.mjs";
|
|
57
|
+
import {
|
|
58
|
+
Entity_exports
|
|
59
|
+
} from "./chunk-IKAO54M4.mjs";
|
|
60
|
+
import "./chunk-LLK3YB3N.mjs";
|
|
61
|
+
import "./chunk-LZR62GOA.mjs";
|
|
62
|
+
import "./chunk-SZJKLCFE.mjs";
|
|
63
|
+
import "./chunk-DQYLD2RB.mjs";
|
|
64
|
+
import "./chunk-SRYQFSA4.mjs";
|
|
65
|
+
import {
|
|
66
|
+
Annotation_exports
|
|
67
|
+
} from "./chunk-WABNQYKV.mjs";
|
|
68
|
+
import {
|
|
69
|
+
Database_exports
|
|
70
|
+
} from "./chunk-HQSGCJPL.mjs";
|
|
71
|
+
import "./chunk-4U7YKZUA.mjs";
|
|
72
|
+
import "./chunk-TBKX6JQO.mjs";
|
|
73
|
+
import {
|
|
74
|
+
Err_exports
|
|
75
|
+
} from "./chunk-UBEZSGXY.mjs";
|
|
76
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
77
|
+
export {
|
|
78
|
+
Annotation_exports as Annotation,
|
|
79
|
+
Collection_exports as Collection,
|
|
80
|
+
DXN,
|
|
81
|
+
Database_exports as Database,
|
|
82
|
+
Dataset_exports as Dataset,
|
|
83
|
+
Entity_exports as Entity,
|
|
84
|
+
Err_exports as Err,
|
|
85
|
+
Extension_exports as Extension,
|
|
86
|
+
Feed_exports as Feed,
|
|
87
|
+
Filter_exports as Filter,
|
|
88
|
+
Format_exports as Format,
|
|
89
|
+
Hypergraph_exports as Hypergraph,
|
|
90
|
+
JsonSchema_exports as JsonSchema,
|
|
91
|
+
Key_exports as Key,
|
|
92
|
+
Migration_exports as Migration,
|
|
93
|
+
Obj_exports as Obj,
|
|
94
|
+
Order_exports as Order,
|
|
95
|
+
Query_exports as Query,
|
|
96
|
+
QueryAST,
|
|
97
|
+
QueryResult_exports as QueryResult,
|
|
98
|
+
Ref_exports as Ref,
|
|
99
|
+
Relation_exports as Relation,
|
|
100
|
+
SchemaRegistry_exports as SchemaRegistry,
|
|
101
|
+
Tag_exports as Tag,
|
|
102
|
+
Type_exports as Type,
|
|
103
|
+
View_exports as View
|
|
104
|
+
};
|
|
105
|
+
//# sourceMappingURL=index.mjs.map
|