@dxos/echo 0.8.4-main.fffef41 → 0.8.4-staging.ac66bdf99f
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 +3 -4
- package/dist/lib/neutral/Annotation.mjs +37 -0
- package/dist/lib/neutral/Database.mjs +49 -0
- package/dist/lib/neutral/Entity.mjs +61 -0
- package/dist/lib/neutral/Err.mjs +12 -0
- package/dist/lib/neutral/Extension.mjs +18 -0
- package/dist/lib/neutral/Feed.mjs +50 -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-2KHZ36F5.mjs +361 -0
- package/dist/lib/neutral/chunk-2KHZ36F5.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4OIBYSXE.mjs +159 -0
- package/dist/lib/neutral/chunk-4OIBYSXE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4P3IXBLT.mjs +45 -0
- package/dist/lib/neutral/chunk-4P3IXBLT.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7RO7CPBZ.mjs +27 -0
- package/dist/lib/neutral/chunk-7RO7CPBZ.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-B4BASU6W.mjs +428 -0
- package/dist/lib/neutral/chunk-B4BASU6W.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-BVOFLCVF.mjs +45 -0
- package/dist/lib/neutral/chunk-BVOFLCVF.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-EAMSSLZC.mjs +299 -0
- package/dist/lib/neutral/chunk-EAMSSLZC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-G3IQMKF7.mjs +396 -0
- package/dist/lib/neutral/chunk-G3IQMKF7.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-HBUZJNZO.mjs +286 -0
- package/dist/lib/neutral/chunk-HBUZJNZO.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-JUXPFOEI.mjs +787 -0
- package/dist/lib/neutral/chunk-JUXPFOEI.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MOR5ERFM.mjs +2834 -0
- package/dist/lib/neutral/chunk-MOR5ERFM.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-OS35K56T.mjs +34 -0
- package/dist/lib/neutral/chunk-OS35K56T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-PHU22NLC.mjs +136 -0
- package/dist/lib/neutral/chunk-PHU22NLC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ROG4RXXL.mjs +97 -0
- package/dist/lib/neutral/chunk-ROG4RXXL.mjs.map +7 -0
- package/dist/lib/neutral/chunk-T6W2LEZU.mjs +125 -0
- package/dist/lib/neutral/chunk-T6W2LEZU.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-TU3GW67D.mjs +132 -0
- package/dist/lib/neutral/chunk-TU3GW67D.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-V36VO5SS.mjs +354 -0
- package/dist/lib/neutral/chunk-V36VO5SS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WAK4DMFV.mjs +36 -0
- package/dist/lib/neutral/chunk-WAK4DMFV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-YAHXAYOW.mjs +56 -0
- package/dist/lib/neutral/chunk-YAHXAYOW.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/{node-esm → neutral}/internal/index.mjs +290 -152
- 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 +174 -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 +434 -104
- 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 +287 -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 +8 -7
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +123 -99
- 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 +20 -5
- 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.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.map +1 -0
- package/dist/types/src/internal/Format/date.test.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/format.d.ts +4 -2
- package/dist/types/src/internal/Format/format.d.ts.map +1 -0
- package/dist/types/src/internal/Format/format.test.d.ts.map +1 -0
- package/dist/types/src/internal/Format/index.d.ts.map +1 -0
- package/dist/types/src/internal/Format/number.d.ts.map +1 -0
- package/dist/types/src/internal/Format/object.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/select.d.ts +6 -4
- package/dist/types/src/internal/Format/select.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/string.d.ts +4 -0
- package/dist/types/src/internal/Format/string.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/types.d.ts +14 -10
- package/dist/types/src/internal/Format/types.d.ts.map +1 -0
- package/dist/types/src/internal/{json → JsonSchema}/annotations.d.ts +1 -1
- package/dist/types/src/internal/JsonSchema/annotations.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/effect-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/index.d.ts +5 -0
- package/dist/types/src/internal/JsonSchema/index.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -0
- package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-type.d.ts +131 -30
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -0
- package/dist/types/src/internal/{json → JsonSchema}/json-schema.d.ts +4 -2
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -0
- package/dist/types/src/internal/JsonSchema/json-schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/clone.d.ts +8 -0
- package/dist/types/src/internal/Obj/clone.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
- package/dist/types/src/internal/{object/create.d.ts → Obj/create-object.d.ts} +10 -11
- 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.map +1 -0
- package/dist/types/src/internal/Obj/index.d.ts +11 -0
- package/dist/types/src/internal/Obj/index.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/json-serializer.d.ts +45 -0
- package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/json-serializer.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/schema-validator.d.ts +2 -0
- package/dist/types/src/internal/Obj/schema-validator.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/schema-validator.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/set-value.d.ts +7 -0
- package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/set-value.test.d.ts +2 -0
- package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/snapshot.d.ts +6 -0
- package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/typed-object.d.ts +25 -0
- package/dist/types/src/internal/Obj/typed-object.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/Query.d.ts +10 -0
- package/dist/types/src/internal/Query.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/index.d.ts.map +1 -0
- package/dist/types/src/internal/{ref → Ref}/ref-array.d.ts +4 -4
- package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/{ref → Ref}/ref.d.ts +44 -19
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref.test.d.ts.map +1 -0
- package/dist/types/src/internal/Type/compose.d.ts +7 -0
- package/dist/types/src/internal/Type/compose.d.ts.map +1 -0
- package/dist/types/src/internal/Type/compose.test.d.ts.map +1 -0
- package/dist/types/src/internal/{schema → Type}/echo-schema.d.ts +27 -14
- 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.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.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.map +1 -0
- package/dist/types/src/internal/common/proxy/schema.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/symbols.d.ts +3 -0
- package/dist/types/src/internal/common/proxy/symbols.d.ts.map +1 -0
- package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +16 -12
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/typed-handler.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/typed-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/base.d.ts +27 -0
- package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/common/types/entity.d.ts +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/{object → common/types}/meta.d.ts +18 -16
- 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 +10 -14
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/{test → testing}/api.test.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +3 -3
- 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 +116 -65
- 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 +243 -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 +697 -277
- 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 +79 -9
- package/src/Relation.test.ts +88 -0
- package/src/Relation.ts +449 -60
- package/src/SchemaRegistry.ts +106 -0
- package/src/Tag.ts +7 -5
- package/src/Type.test.ts +52 -0
- package/src/Type.ts +167 -153
- package/src/View.ts +107 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +22 -6
- 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/{formats → Format}/date.test.ts +1 -2
- package/src/internal/{formats → Format}/date.ts +5 -5
- package/src/internal/{formats → Format}/format.test.ts +6 -7
- package/src/internal/{formats → Format}/format.ts +8 -6
- package/src/internal/{formats → Format}/number.ts +5 -5
- package/src/internal/{formats → Format}/object.ts +4 -4
- package/src/internal/{formats → Format}/select.ts +6 -4
- package/src/internal/{formats → Format}/string.ts +14 -9
- package/src/internal/{formats → Format}/types.ts +54 -43
- package/src/internal/{json → JsonSchema}/annotations.ts +3 -3
- package/src/internal/{json-schema → JsonSchema}/index.ts +2 -0
- package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
- package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +36 -36
- package/src/internal/{json → JsonSchema}/json-schema.test.ts +106 -95
- package/src/internal/{json → JsonSchema}/json-schema.ts +29 -15
- package/src/internal/Obj/clone.ts +48 -0
- package/src/internal/{object → Obj}/common.ts +3 -4
- package/src/internal/{object/create.test.ts → Obj/create-object.test.ts} +32 -36
- package/src/internal/{object/create.ts → Obj/create-object.ts} +35 -37
- package/src/internal/Obj/deleted.ts +19 -0
- package/src/internal/{object → Obj}/ids.ts +1 -1
- package/src/internal/Obj/index.ts +14 -0
- package/src/internal/{object → Obj}/inspect.ts +5 -7
- package/src/internal/Obj/json-serializer.test.ts +120 -0
- package/src/internal/{object → Obj}/json-serializer.ts +106 -109
- package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
- package/src/internal/Obj/schema-validator.ts +6 -0
- package/src/internal/Obj/set-value.test.ts +281 -0
- package/src/internal/Obj/set-value.ts +165 -0
- package/src/internal/Obj/snapshot.ts +105 -0
- package/src/internal/{object → Obj}/typed-object.test.ts +12 -12
- package/src/internal/Obj/typed-object.ts +30 -0
- package/src/internal/Query.ts +134 -0
- package/src/internal/{ref → Ref}/ref-array.ts +4 -5
- package/src/internal/{ref → Ref}/ref.test.ts +11 -11
- package/src/internal/{ref → Ref}/ref.ts +108 -57
- package/src/internal/{projection → Type}/compose.test.ts +8 -10
- package/src/internal/{projection → Type}/compose.ts +14 -9
- package/src/internal/{schema → Type}/echo-schema.ts +74 -34
- package/src/internal/Type/index.ts +7 -0
- package/src/internal/{schema → Type}/manipulation.ts +1 -1
- 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/{testing → common}/index.ts +2 -1
- 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/{object → common/proxy}/schema-validator.ts +6 -3
- package/src/internal/{proxy → common/proxy}/schema.test.ts +31 -22
- 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 +12 -17
- package/src/testing/api.test.ts +125 -0
- package/src/testing/index.ts +3 -3
- 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-BIDAASFK.mjs +0 -3727
- package/dist/lib/browser/chunk-BIDAASFK.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZDLCWGEW.mjs +0 -410
- package/dist/lib/browser/chunk-ZDLCWGEW.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZFRJKT4A.mjs +0 -585
- package/dist/lib/browser/chunk-ZFRJKT4A.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -35
- package/dist/lib/browser/internal/index.mjs +0 -336
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/query/index.mjs +0 -13
- package/dist/lib/browser/testing/index.mjs +0 -267
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3SVRRCUU.mjs +0 -3727
- package/dist/lib/node-esm/chunk-3SVRRCUU.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CGDHRZWH.mjs +0 -585
- package/dist/lib/node-esm/chunk-CGDHRZWH.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HWS6VBQC.mjs +0 -410
- package/dist/lib/node-esm/chunk-HWS6VBQC.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -35
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/query/index.mjs +0 -13
- package/dist/lib/node-esm/testing/index.mjs +0 -267
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/errors.d.ts +0 -68
- package/dist/types/src/errors.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotation-helper.d.ts +0 -8
- package/dist/types/src/internal/ast/annotation-helper.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.d.ts +0 -131
- package/dist/types/src/internal/ast/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/ast/annotations.test.d.ts.map +0 -1
- package/dist/types/src/internal/ast/entity-kind.d.ts +0 -10
- package/dist/types/src/internal/ast/entity-kind.d.ts.map +0 -1
- package/dist/types/src/internal/ast/index.d.ts +0 -5
- package/dist/types/src/internal/ast/index.d.ts.map +0 -1
- package/dist/types/src/internal/ast/types.d.ts +0 -6
- package/dist/types/src/internal/ast/types.d.ts.map +0 -1
- package/dist/types/src/internal/formats/date.d.ts.map +0 -1
- package/dist/types/src/internal/formats/date.test.d.ts.map +0 -1
- package/dist/types/src/internal/formats/format.d.ts.map +0 -1
- package/dist/types/src/internal/formats/format.test.d.ts.map +0 -1
- package/dist/types/src/internal/formats/index.d.ts.map +0 -1
- package/dist/types/src/internal/formats/number.d.ts.map +0 -1
- package/dist/types/src/internal/formats/object.d.ts.map +0 -1
- package/dist/types/src/internal/formats/select.d.ts.map +0 -1
- package/dist/types/src/internal/formats/string.d.ts.map +0 -1
- package/dist/types/src/internal/formats/types.d.ts.map +0 -1
- package/dist/types/src/internal/json/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/json/effect-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/json/index.d.ts +0 -2
- package/dist/types/src/internal/json/index.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.d.ts.map +0 -1
- package/dist/types/src/internal/json/json-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/index.d.ts +0 -3
- package/dist/types/src/internal/json-schema/index.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/json-schema-normalize.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/json-schema-type.d.ts.map +0 -1
- package/dist/types/src/internal/object/accessors.d.ts +0 -37
- package/dist/types/src/internal/object/accessors.d.ts.map +0 -1
- package/dist/types/src/internal/object/common.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.d.ts.map +0 -1
- package/dist/types/src/internal/object/create.test.d.ts +0 -2
- package/dist/types/src/internal/object/create.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/deleted.d.ts +0 -6
- package/dist/types/src/internal/object/deleted.d.ts.map +0 -1
- package/dist/types/src/internal/object/entity.d.ts +0 -33
- package/dist/types/src/internal/object/entity.d.ts.map +0 -1
- package/dist/types/src/internal/object/expando.d.ts +0 -14
- package/dist/types/src/internal/object/expando.d.ts.map +0 -1
- package/dist/types/src/internal/object/ids.d.ts.map +0 -1
- package/dist/types/src/internal/object/index.d.ts +0 -16
- package/dist/types/src/internal/object/index.d.ts.map +0 -1
- package/dist/types/src/internal/object/inspect.d.ts.map +0 -1
- package/dist/types/src/internal/object/json-serializer.d.ts +0 -32
- package/dist/types/src/internal/object/json-serializer.d.ts.map +0 -1
- package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/meta.d.ts.map +0 -1
- package/dist/types/src/internal/object/model.d.ts +0 -117
- package/dist/types/src/internal/object/model.d.ts.map +0 -1
- package/dist/types/src/internal/object/relation.d.ts +0 -17
- package/dist/types/src/internal/object/relation.d.ts.map +0 -1
- package/dist/types/src/internal/object/schema-validator.d.ts.map +0 -1
- package/dist/types/src/internal/object/schema-validator.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-object.d.ts +0 -31
- package/dist/types/src/internal/object/typed-object.d.ts.map +0 -1
- package/dist/types/src/internal/object/typed-object.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/typename.d.ts +0 -15
- package/dist/types/src/internal/object/typename.d.ts.map +0 -1
- package/dist/types/src/internal/object/version.d.ts +0 -14
- package/dist/types/src/internal/object/version.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.d.ts +0 -6
- package/dist/types/src/internal/projection/compose.d.ts.map +0 -1
- package/dist/types/src/internal/projection/compose.test.d.ts.map +0 -1
- package/dist/types/src/internal/projection/index.d.ts +0 -2
- package/dist/types/src/internal/projection/index.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/reactive-object.d.ts +0 -15
- package/dist/types/src/internal/proxy/reactive-object.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-handler.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-handler.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/typed-object.test.d.ts.map +0 -1
- package/dist/types/src/internal/query/index.d.ts +0 -2
- package/dist/types/src/internal/query/index.d.ts.map +0 -1
- package/dist/types/src/internal/query/query.d.ts +0 -17
- package/dist/types/src/internal/query/query.d.ts.map +0 -1
- package/dist/types/src/internal/ref/index.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref-array.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref.d.ts.map +0 -1
- package/dist/types/src/internal/ref/ref.test.d.ts.map +0 -1
- package/dist/types/src/internal/schema/echo-schema.d.ts.map +0 -1
- package/dist/types/src/internal/schema/index.d.ts +0 -7
- package/dist/types/src/internal/schema/index.d.ts.map +0 -1
- package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts +0 -18
- package/dist/types/src/internal/schema/runtime-schema-registry.d.ts.map +0 -1
- package/dist/types/src/internal/schema/snapshot.d.ts +0 -6
- package/dist/types/src/internal/schema/snapshot.d.ts.map +0 -1
- package/dist/types/src/internal/schema/stored-schema.d.ts +0 -13
- package/dist/types/src/internal/schema/stored-schema.d.ts.map +0 -1
- package/dist/types/src/internal/testing/index.d.ts +0 -3
- package/dist/types/src/internal/testing/index.d.ts.map +0 -1
- package/dist/types/src/internal/testing/types.d.ts +0 -381
- package/dist/types/src/internal/testing/types.d.ts.map +0 -1
- package/dist/types/src/internal/testing/utils.d.ts +0 -10
- package/dist/types/src/internal/testing/utils.d.ts.map +0 -1
- package/dist/types/src/internal/types/index.d.ts +0 -3
- package/dist/types/src/internal/types/index.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.d.ts +0 -79
- package/dist/types/src/internal/types/types.d.ts.map +0 -1
- package/dist/types/src/internal/types/types.test.d.ts +0 -2
- package/dist/types/src/internal/types/types.test.d.ts.map +0 -1
- package/dist/types/src/internal/types/util.d.ts +0 -5
- package/dist/types/src/internal/types/util.d.ts.map +0 -1
- package/dist/types/src/query/index.d.ts +0 -2
- package/dist/types/src/query/index.d.ts.map +0 -1
- package/dist/types/src/query/query.d.ts +0 -248
- package/dist/types/src/query/query.d.ts.map +0 -1
- package/dist/types/src/query/query.test.d.ts +0 -2
- package/dist/types/src/query/query.test.d.ts.map +0 -1
- package/dist/types/src/testing/echo-schema.d.ts +0 -7
- package/dist/types/src/testing/echo-schema.d.ts.map +0 -1
- package/dist/types/src/testing/types.d.ts +0 -228
- package/dist/types/src/testing/types.d.ts.map +0 -1
- package/src/errors.ts +0 -18
- package/src/internal/ast/annotation-helper.ts +0 -22
- package/src/internal/ast/annotations.test.ts +0 -98
- package/src/internal/ast/annotations.ts +0 -226
- package/src/internal/ast/entity-kind.ts +0 -15
- package/src/internal/ast/index.ts +0 -8
- package/src/internal/ast/types.ts +0 -17
- package/src/internal/json/index.ts +0 -5
- package/src/internal/object/accessors.ts +0 -153
- package/src/internal/object/deleted.ts +0 -19
- package/src/internal/object/entity.ts +0 -248
- package/src/internal/object/expando.ts +0 -21
- package/src/internal/object/index.ts +0 -19
- package/src/internal/object/json-serializer.test.ts +0 -99
- package/src/internal/object/meta.ts +0 -61
- package/src/internal/object/model.ts +0 -170
- package/src/internal/object/relation.ts +0 -24
- package/src/internal/object/typed-object.ts +0 -88
- package/src/internal/object/typename.ts +0 -61
- package/src/internal/object/version.ts +0 -22
- package/src/internal/projection/index.ts +0 -5
- package/src/internal/proxy/handler.test.ts +0 -163
- package/src/internal/proxy/reactive-object.ts +0 -108
- package/src/internal/proxy/typed-handler.test.ts +0 -102
- package/src/internal/proxy/typed-handler.ts +0 -228
- package/src/internal/proxy/typed-object.test.ts +0 -100
- package/src/internal/query/index.ts +0 -5
- package/src/internal/query/query.ts +0 -23
- package/src/internal/schema/index.ts +0 -10
- package/src/internal/schema/runtime-schema-registry.ts +0 -78
- package/src/internal/schema/snapshot.ts +0 -25
- package/src/internal/schema/stored-schema.ts +0 -26
- package/src/internal/testing/types.ts +0 -144
- package/src/internal/testing/utils.ts +0 -54
- package/src/internal/types/index.ts +0 -6
- package/src/internal/types/types.test.ts +0 -48
- package/src/internal/types/types.ts +0 -176
- package/src/internal/types/util.ts +0 -9
- package/src/query/index.ts +0 -6
- package/src/query/query.test.ts +0 -401
- package/src/query/query.ts +0 -789
- package/src/test/api.test.ts +0 -180
- package/src/testing/echo-schema.ts +0 -39
- package/src/testing/types.ts +0 -108
- /package/dist/lib/{browser/index.mjs.map → neutral/Annotation.mjs.map} +0 -0
- /package/dist/lib/{browser/internal/index.mjs.map → neutral/Database.mjs.map} +0 -0
- /package/dist/lib/{browser/query/index.mjs.map → neutral/Entity.mjs.map} +0 -0
- /package/dist/lib/{node-esm/index.mjs.map → neutral/Err.mjs.map} +0 -0
- /package/dist/lib/{node-esm/internal/index.mjs.map → neutral/Extension.mjs.map} +0 -0
- /package/dist/lib/{node-esm/query/index.mjs.map → neutral/Feed.mjs.map} +0 -0
- /package/dist/types/src/internal/{ast → Annotation}/annotations.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/date.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/date.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/format.test.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/index.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/number.d.ts +0 -0
- /package/dist/types/src/internal/{formats → Format}/object.d.ts +0 -0
- /package/dist/types/src/internal/{json → JsonSchema}/effect-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{json-schema → JsonSchema}/json-schema-normalize.d.ts +0 -0
- /package/dist/types/src/internal/{json → JsonSchema}/json-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/inspect.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/json-serializer.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/schema-validator.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/typed-object.test.d.ts +0 -0
- /package/dist/types/src/internal/{ref → Ref}/index.d.ts +0 -0
- /package/dist/types/src/internal/{ref → Ref}/ref.test.d.ts +0 -0
- /package/dist/types/src/internal/{projection → Type}/compose.test.d.ts +0 -0
- /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → common/proxy}/schema-validator.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/typed-object.test.d.ts +0 -0
- /package/dist/types/src/{test → testing}/api.test.d.ts +0 -0
- /package/src/internal/{formats → Format}/index.ts +0 -0
- /package/src/internal/{json → JsonSchema}/effect-schema.test.ts +0 -0
- /package/src/internal/{ref → Ref}/index.ts +0 -0
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import {
|
|
2
|
+
object
|
|
3
|
+
} from "./chunk-ROG4RXXL.mjs";
|
|
4
|
+
import {
|
|
5
|
+
getDXN,
|
|
6
|
+
make
|
|
7
|
+
} from "./chunk-B4BASU6W.mjs";
|
|
8
|
+
import {
|
|
9
|
+
FormInputAnnotation,
|
|
10
|
+
IconAnnotation,
|
|
11
|
+
SystemTypeAnnotation
|
|
12
|
+
} from "./chunk-2KHZ36F5.mjs";
|
|
13
|
+
import {
|
|
14
|
+
__export
|
|
15
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
16
|
+
|
|
17
|
+
// src/Feed.ts
|
|
18
|
+
var Feed_exports = {};
|
|
19
|
+
__export(Feed_exports, {
|
|
20
|
+
Feed: () => Feed,
|
|
21
|
+
FeedService: () => FeedService,
|
|
22
|
+
Service: () => Service,
|
|
23
|
+
append: () => append,
|
|
24
|
+
cursor: () => cursor,
|
|
25
|
+
getQueueDxn: () => getQueueDxn,
|
|
26
|
+
make: () => make2,
|
|
27
|
+
next: () => next,
|
|
28
|
+
nextOption: () => nextOption,
|
|
29
|
+
notAvailable: () => notAvailable,
|
|
30
|
+
query: () => query,
|
|
31
|
+
remove: () => remove,
|
|
32
|
+
runQuery: () => runQuery,
|
|
33
|
+
setRetention: () => setRetention,
|
|
34
|
+
unsafeFromQueueDXN: () => unsafeFromQueueDXN
|
|
35
|
+
});
|
|
36
|
+
import * as Context from "effect/Context";
|
|
37
|
+
import * as Effect from "effect/Effect";
|
|
38
|
+
import * as Layer from "effect/Layer";
|
|
39
|
+
import * as Schema from "effect/Schema";
|
|
40
|
+
import { DXN } from "@dxos/keys";
|
|
41
|
+
var Feed = Schema.Struct({
|
|
42
|
+
/** User-facing display name. */
|
|
43
|
+
name: Schema.String.pipe(Schema.optional),
|
|
44
|
+
/** Identifier for the feed's kind (e.g., plugin id). */
|
|
45
|
+
kind: Schema.String.pipe(FormInputAnnotation.set(false), Schema.optional),
|
|
46
|
+
/**
|
|
47
|
+
* Feed namespace.
|
|
48
|
+
* Controls how feed data is stored and replicated.
|
|
49
|
+
* - `data`: Data feed (default).
|
|
50
|
+
* - `trace`: Trace feed.
|
|
51
|
+
*/
|
|
52
|
+
namespace: Schema.optional(Schema.Literal("data", "trace"))
|
|
53
|
+
}).pipe(object({
|
|
54
|
+
typename: "org.dxos.type.feed",
|
|
55
|
+
version: "0.1.0"
|
|
56
|
+
}), SystemTypeAnnotation.set(true), IconAnnotation.set({
|
|
57
|
+
icon: "ph--rows--regular",
|
|
58
|
+
hue: "yellow"
|
|
59
|
+
}));
|
|
60
|
+
var make2 = (props = {}) => make(Feed, props);
|
|
61
|
+
var getQueueDxn = (feed) => {
|
|
62
|
+
const self = getDXN(feed).asEchoDXN();
|
|
63
|
+
if (!self || !self.spaceId) {
|
|
64
|
+
return void 0;
|
|
65
|
+
}
|
|
66
|
+
return new DXN(DXN.kind.QUEUE, [
|
|
67
|
+
feed.namespace ?? "data",
|
|
68
|
+
self.spaceId,
|
|
69
|
+
self.echoId
|
|
70
|
+
]);
|
|
71
|
+
};
|
|
72
|
+
var unsafeFromQueueDXN = (queueDxn) => {
|
|
73
|
+
const parts = queueDxn.asQueueDXN();
|
|
74
|
+
if (!parts) {
|
|
75
|
+
throw new Error(`Expected a queue DXN, got: ${queueDxn.toString()}`);
|
|
76
|
+
}
|
|
77
|
+
return make(Feed, {
|
|
78
|
+
id: parts.queueId,
|
|
79
|
+
namespace: parts.subspaceTag === "trace" ? "trace" : void 0
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
var FeedService = class extends Context.Tag("@dxos/echo/Feed/FeedService")() {
|
|
83
|
+
};
|
|
84
|
+
var Service = FeedService;
|
|
85
|
+
var notAvailable = Layer.succeed(FeedService, {
|
|
86
|
+
append: () => {
|
|
87
|
+
throw new Error("Feed.FeedService not available");
|
|
88
|
+
},
|
|
89
|
+
remove: () => {
|
|
90
|
+
throw new Error("Feed.FeedService not available");
|
|
91
|
+
},
|
|
92
|
+
query: () => {
|
|
93
|
+
throw new Error("Feed.FeedService not available");
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
var append = (feed, items) => Effect.gen(function* () {
|
|
97
|
+
const service = yield* FeedService;
|
|
98
|
+
yield* Effect.promise(() => service.append(feed, items));
|
|
99
|
+
});
|
|
100
|
+
var remove = (feed, items) => Effect.gen(function* () {
|
|
101
|
+
const service = yield* FeedService;
|
|
102
|
+
const ids = items.map((item) => item.id);
|
|
103
|
+
yield* Effect.promise(() => service.remove(feed, ids));
|
|
104
|
+
});
|
|
105
|
+
var query = (feed, queryOrFilter) => FeedService.pipe(Effect.map((service) => service.query(feed, queryOrFilter)));
|
|
106
|
+
var runQuery = (feed, queryOrFilter) => query(feed, queryOrFilter).pipe(Effect.flatMap((queryResult) => Effect.promise(() => queryResult.run())));
|
|
107
|
+
var cursor = (_feed) => Effect.succeed({
|
|
108
|
+
_tag: "Cursor"
|
|
109
|
+
});
|
|
110
|
+
var next = (_cursor) => Effect.die("Feed.next is not yet implemented");
|
|
111
|
+
var nextOption = (_cursor) => Effect.die("Feed.nextOption is not yet implemented");
|
|
112
|
+
var setRetention = (_feed, _options) => Effect.void;
|
|
113
|
+
|
|
114
|
+
export {
|
|
115
|
+
Feed,
|
|
116
|
+
make2 as make,
|
|
117
|
+
getQueueDxn,
|
|
118
|
+
unsafeFromQueueDXN,
|
|
119
|
+
FeedService,
|
|
120
|
+
Service,
|
|
121
|
+
notAvailable,
|
|
122
|
+
append,
|
|
123
|
+
remove,
|
|
124
|
+
query,
|
|
125
|
+
runQuery,
|
|
126
|
+
cursor,
|
|
127
|
+
next,
|
|
128
|
+
nextOption,
|
|
129
|
+
setRetention,
|
|
130
|
+
Feed_exports
|
|
131
|
+
};
|
|
132
|
+
//# sourceMappingURL=chunk-TU3GW67D.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Feed.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport * as Context from 'effect/Context';\nimport * as Effect from 'effect/Effect';\nimport * as Layer from 'effect/Layer';\nimport type * as Option from 'effect/Option';\nimport * as Schema from 'effect/Schema';\n\nimport { DXN, type ObjectId } from '@dxos/keys';\n\nimport * as Annotation from './Annotation';\nimport type * as Entity from './Entity';\nimport type * as Filter from './Filter';\nimport * as internal from './internal';\nimport * as Obj from './Obj';\nimport type * as Query from './Query';\nimport type * as QueryResult from './QueryResult';\nimport * as Type from './Type';\n\n/**\n * Runtime schema for a Feed object.\n *\n * @example\n * ```ts\n * const feed = Obj.make(Feed.Feed, { name: 'notifications', kind: 'org.dxos.plugin.notifications.v1' });\n * ```\n */\nexport const Feed = Schema.Struct({\n /** User-facing display name. */\n name: Schema.String.pipe(Schema.optional),\n /** Identifier for the feed's kind (e.g., plugin id). */\n kind: Schema.String.pipe(internal.FormInputAnnotation.set(false), Schema.optional),\n\n /**\n * Feed namespace.\n * Controls how feed data is stored and replicated.\n * - `data`: Data feed (default).\n * - `trace`: Trace feed.\n */\n namespace: Schema.optional(Schema.Literal('data', 'trace')),\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.feed',\n version: '0.1.0',\n }),\n internal.SystemTypeAnnotation.set(true),\n Annotation.IconAnnotation.set({\n icon: 'ph--rows--regular',\n hue: 'yellow',\n }),\n);\n\n/**\n * TypeScript instance type for a Feed object.\n */\nexport interface Feed extends Schema.Schema.Type<typeof Feed> {}\n\n//\n// Types\n//\n\n/**\n * Opaque cursor for iterating over feed items.\n */\n// TODO(dmaretskyi): T needs to be referenced in the type structure for typescript to respect it during inference and type-checking.\nexport interface Cursor<T = Obj.Snapshot> {\n readonly _tag: 'Cursor';\n}\n\n/**\n * Retention options for a feed.\n */\nexport interface RetentionOptions {\n /** Retain items after this cursor position. */\n // TODO(wittjosiah): Use FeedCursor from @dxos/feed?\n cursor?: string;\n}\n\n//\n// Factory\n//\n\n/**\n * Creates a new feed object.\n *\n * @example\n * ```ts\n * const feed = Feed.make({ name: 'notifications', kind: 'org.dxos.plugin.notifications.v1' });\n * ```\n */\n// TODO(wittjosiah): How to control the feed namespace (data/trace)? Why do feeds have namespaces?\nexport const make = (props: Obj.MakeProps<typeof Feed> = {}): Feed => Obj.make(Feed, props);\n\n/**\n * Derives the queue DXN from the feed object's DXN.\n * Returns `undefined` when the feed is not stored in a space yet.\n *\n * Used internally by the feed service layer.\n */\nexport const getQueueDxn = (feed: Feed): DXN | undefined => {\n const self = Obj.getDXN(feed).asEchoDXN();\n if (!self || !self.spaceId) {\n return undefined;\n }\n return new DXN(DXN.kind.QUEUE, [feed.namespace ?? 'data', self.spaceId, self.echoId]);\n};\n\n/**\n * Creates a Feed object from a queue DXN, inferring the feed's id and namespace from the DXN parts.\n *\n * The resulting Feed, when added to the same space as the queue, will have a queue DXN\n * equal to the input (see `Feed.getQueueDxn`). Useful when migrating `Ref(Queue)` fields to\n * `Ref(Feed.Feed)`.\n *\n * @remarks Unsafe because the caller must ensure the queue DXN's space matches the database\n * the feed is added to; the feed id is set from the queue id, bypassing id generation.\n */\nexport const unsafeFromQueueDXN = (queueDxn: DXN): Feed => {\n const parts = queueDxn.asQueueDXN();\n if (!parts) {\n throw new Error(`Expected a queue DXN, got: ${queueDxn.toString()}`);\n }\n return Obj.make(Feed, {\n id: parts.queueId as ObjectId,\n namespace: parts.subspaceTag === 'trace' ? 'trace' : undefined,\n });\n};\n\n//\n// Service\n//\n\n/**\n * Effect service for feed operations.\n * Provides the bridge to the underlying storage implementation.\n * Must be provided by the application layer (e.g., echo-db).\n */\nexport class FeedService extends Context.Tag('@dxos/echo/Feed/FeedService')<\n FeedService,\n {\n /**\n * Appends items to a feed.\n */\n append(feed: Feed, items: Entity.Unknown[]): Promise<void>;\n\n /**\n * Removes items from a feed by ID.\n */\n // TODO(dmaretskyi): Change type to ObjectId.\n remove(feed: Feed, ids: string[]): Promise<void>;\n\n /**\n * Queries items in a feed.\n */\n query: {\n <Q extends Query.Any>(feed: Feed, query: Q): QueryResult.QueryResult<Query.Type<Q>>;\n <F extends Filter.Any>(feed: Feed, filter: F): QueryResult.QueryResult<Filter.Type<F>>;\n };\n }\n>() {}\n\n/**\n * @deprecated Use `FeedService` instead.\n */\nexport type Service = FeedService;\n\n/**\n * @deprecated Use `FeedService` instead.\n */\nexport const Service = FeedService;\n\n/**\n * Layer that provides a Feed service that throws when accessed.\n * Useful as a default layer when no feed service is available.\n */\nexport const notAvailable: Layer.Layer<FeedService> = Layer.succeed(FeedService, {\n append: () => {\n throw new Error('Feed.FeedService not available');\n },\n remove: () => {\n throw new Error('Feed.FeedService not available');\n },\n query: () => {\n throw new Error('Feed.FeedService not available');\n },\n} as Context.Tag.Service<FeedService>);\n\n//\n// Operations\n//\n\n/**\n * Appends items to a feed.\n *\n * @example\n * ```ts\n * yield* Feed.append(feed, [Obj.make(Notification, { title: 'Hello' })]);\n * ```\n */\nexport const append = (feed: Feed, items: Entity.Unknown[]): Effect.Effect<void, never, FeedService> =>\n Effect.gen(function* () {\n const service = yield* FeedService;\n yield* Effect.promise(() => service.append(feed, items));\n });\n\n/**\n * Removes items from a feed.\n *\n * @example\n * ```ts\n * yield* Feed.remove(feed, [item]);\n * ```\n */\n// TODO(dmaretskyi): Should we allow snapshots here? - what does it mean to remove a snapshot?\nexport const remove = (feed: Feed, items: (Entity.Unknown | Obj.Snapshot)[]): Effect.Effect<void, never, FeedService> =>\n Effect.gen(function* () {\n const service = yield* FeedService;\n const ids = items.map((item) => item.id);\n yield* Effect.promise(() => service.remove(feed, ids));\n });\n\n/**\n * Creates a reactive query over items in a feed.\n *\n * @example\n * ```ts\n * const result = yield* Feed.query(feed, Filter.type(Person));\n * ```\n */\n// TODO(dmaretskyi): Suport chained queries:\n// const result = yield* feed.pipe(Feed.query(Filter.type(Person))); result.subscribe(...)\n// const objects = yield* feed.pipe(Feed.query(Filter.type(Person))).run;\n// const object = yield* feed.pipe(Feed.query(Filter.type(Person))).first;\n// ... unify for Database and schema queries.\nexport const query: {\n <Q extends Query.Any>(\n feed: Feed,\n query: Q,\n ): Effect.Effect<QueryResult.QueryResult<Query.Type<Q>>, never, FeedService>;\n <F extends Filter.Any>(\n feed: Feed,\n filter: F,\n ): Effect.Effect<QueryResult.QueryResult<Filter.Type<F>>, never, FeedService>;\n} = (feed: Feed, queryOrFilter: Query.Any | Filter.Any) =>\n FeedService.pipe(Effect.map((service) => service.query(feed, queryOrFilter as any) as QueryResult.QueryResult<any>));\n\n/**\n * Executes a feed query once and returns the results.\n *\n * @example\n * ```ts\n * const items = yield* Feed.runQuery(feed, Filter.type(Person));\n * ```\n */\nexport const runQuery: {\n <Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<Query.Type<Q>[], never, FeedService>;\n <F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<Filter.Type<F>[], never, FeedService>;\n} = (feed: Feed, queryOrFilter: Query.Any | Filter.Any) =>\n query(feed, queryOrFilter as any).pipe(Effect.flatMap((queryResult) => Effect.promise(() => queryResult.run())));\n\n/**\n * Creates a cursor for iterating over feed items.\n * Currently stubbed — cursor operations are not yet implemented.\n *\n * @example\n * ```ts\n * const cursor = yield* Feed.cursor<Person>(feed);\n * const item = yield* Feed.next(cursor);\n * ```\n */\n// TODO(wittjosiah): Implement cursor operations. Use Effect streams?\nexport const cursor = <T = Obj.Snapshot>(_feed: Feed): Effect.Effect<Cursor<T>, never, FeedService> =>\n Effect.succeed({ _tag: 'Cursor' } as Cursor<T>);\n\n/**\n * Returns the next item from a feed cursor.\n * Currently stubbed — cursor operations are not yet implemented.\n */\nexport const next = <T = Obj.Snapshot>(_cursor: Cursor<T>): Effect.Effect<T, never, FeedService> =>\n Effect.die('Feed.next is not yet implemented');\n\n/**\n * Returns the next item from a feed cursor as an Option.\n * Currently stubbed — cursor operations are not yet implemented.\n */\nexport const nextOption = <T = Obj.Snapshot>(_cursor: Cursor<T>): Effect.Effect<Option.Option<T>, never, FeedService> =>\n Effect.die('Feed.nextOption is not yet implemented');\n\n/**\n * Sets the local retention policy for a feed.\n * Currently stubbed — queues do not yet support retention.\n *\n * @example\n * ```ts\n * yield* Feed.setRetention(feed, { count: 1000 });\n * ```\n */\n// TODO(feed): Implement when queue retention is supported.\nexport const setRetention = (_feed: Feed, _options: RetentionOptions): Effect.Effect<void, never, FeedService> =>\n Effect.void;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;AAAA;;;;;;;;cAAAA;EAAA;;;;;;;;;AAMA,YAAYC,aAAa;AACzB,YAAYC,YAAY;AACxB,YAAYC,WAAW;AAEvB,YAAYC,YAAY;AAExB,SAASC,WAA0B;AAmB5B,IAAMC,OAAcC,cAAO;;EAEhCC,MAAaC,cAAOC,KAAYC,eAAQ;;EAExCC,MAAaH,cAAOC,KAAcG,oBAAoBC,IAAI,KAAA,GAAeH,eAAQ;;;;;;;EAQjFI,WAAkBJ,gBAAgBK,eAAQ,QAAQ,OAAA,CAAA;AACpD,CAAA,EAAGN,KACIO,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACSC,qBAAqBN,IAAI,IAAA,GACvBO,eAAeP,IAAI;EAC5BQ,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AA0CK,IAAMC,QAAO,CAACC,QAAoC,CAAC,MAAgBD,KAAKlB,MAAMmB,KAAAA;AAQ9E,IAAMC,cAAc,CAACC,SAAAA;AAC1B,QAAMC,OAAWC,OAAOF,IAAAA,EAAMG,UAAS;AACvC,MAAI,CAACF,QAAQ,CAACA,KAAKG,SAAS;AAC1B,WAAOC;EACT;AACA,SAAO,IAAIC,IAAIA,IAAIrB,KAAKsB,OAAO;IAACP,KAAKZ,aAAa;IAAQa,KAAKG;IAASH,KAAKO;GAAO;AACtF;AAYO,IAAMC,qBAAqB,CAACC,aAAAA;AACjC,QAAMC,QAAQD,SAASE,WAAU;AACjC,MAAI,CAACD,OAAO;AACV,UAAM,IAAIE,MAAM,8BAA8BH,SAASI,SAAQ,CAAA,EAAI;EACrE;AACA,SAAWjB,KAAKlB,MAAM;IACpBoC,IAAIJ,MAAMK;IACV5B,WAAWuB,MAAMM,gBAAgB,UAAU,UAAUZ;EACvD,CAAA;AACF;AAWO,IAAMa,cAAN,cAAkCC,YAAI,6BAAA,EAAA,EAAA;AAsBxC;AAUE,IAAMC,UAAUF;AAMhB,IAAMG,eAA+CC,cAAQJ,aAAa;EAC/EK,QAAQ,MAAA;AACN,UAAM,IAAIV,MAAM,gCAAA;EAClB;EACAW,QAAQ,MAAA;AACN,UAAM,IAAIX,MAAM,gCAAA;EAClB;EACAY,OAAO,MAAA;AACL,UAAM,IAAIZ,MAAM,gCAAA;EAClB;AACF,CAAA;AAcO,IAAMU,SAAS,CAACvB,MAAY0B,UAC1BC,WAAI,aAAA;AACT,QAAMC,UAAU,OAAOV;AACvB,SAAcW,eAAQ,MAAMD,QAAQL,OAAOvB,MAAM0B,KAAAA,CAAAA;AACnD,CAAA;AAWK,IAAMF,SAAS,CAACxB,MAAY0B,UAC1BC,WAAI,aAAA;AACT,QAAMC,UAAU,OAAOV;AACvB,QAAMY,MAAMJ,MAAMK,IAAI,CAACC,SAASA,KAAKjB,EAAE;AACvC,SAAcc,eAAQ,MAAMD,QAAQJ,OAAOxB,MAAM8B,GAAAA,CAAAA;AACnD,CAAA;AAeK,IAAML,QAST,CAACzB,MAAYiC,kBACff,YAAYnC,KAAYgD,WAAI,CAACH,YAAYA,QAAQH,MAAMzB,MAAMiC,aAAAA,CAAAA,CAAAA;AAUxD,IAAMC,WAGT,CAAClC,MAAYiC,kBACfR,MAAMzB,MAAMiC,aAAAA,EAAsBlD,KAAYoD,eAAQ,CAACC,gBAAuBP,eAAQ,MAAMO,YAAYC,IAAG,CAAA,CAAA,CAAA;AAatG,IAAMC,SAAS,CAAmBC,UAChCjB,eAAQ;EAAEkB,MAAM;AAAS,CAAA;AAM3B,IAAMC,OAAO,CAAmBC,YAC9BC,WAAI,kCAAA;AAMN,IAAMC,aAAa,CAAmBF,YACpCC,WAAI,wCAAA;AAYN,IAAME,eAAe,CAACN,OAAaO,aACjCC;",
|
|
6
|
+
"names": ["make", "Context", "Effect", "Layer", "Schema", "DXN", "Feed", "Struct", "name", "String", "pipe", "optional", "kind", "FormInputAnnotation", "set", "namespace", "Literal", "object", "typename", "version", "SystemTypeAnnotation", "IconAnnotation", "icon", "hue", "make", "props", "getQueueDxn", "feed", "self", "getDXN", "asEchoDXN", "spaceId", "undefined", "DXN", "QUEUE", "echoId", "unsafeFromQueueDXN", "queueDxn", "parts", "asQueueDXN", "Error", "toString", "id", "queueId", "subspaceTag", "FeedService", "Tag", "Service", "notAvailable", "succeed", "append", "remove", "query", "items", "gen", "service", "promise", "ids", "map", "item", "queryOrFilter", "runQuery", "flatMap", "queryResult", "run", "cursor", "_feed", "_tag", "next", "_cursor", "die", "nextOption", "setRetention", "_options", "void"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/Err.ts
|
|
6
|
+
var Err_exports = {};
|
|
7
|
+
__export(Err_exports, {
|
|
8
|
+
GetReactiveError: () => GetReactiveError,
|
|
9
|
+
ObjectNotFoundError: () => ObjectNotFoundError,
|
|
10
|
+
SchemaNotFoundError: () => SchemaNotFoundError
|
|
11
|
+
});
|
|
12
|
+
import { BaseError } from "@dxos/errors";
|
|
13
|
+
var SchemaNotFoundError = class extends BaseError.extend("SchemaNotFoundError", "Schema not found") {
|
|
14
|
+
constructor(schema, options) {
|
|
15
|
+
super({
|
|
16
|
+
context: {
|
|
17
|
+
schema
|
|
18
|
+
},
|
|
19
|
+
...options
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
var ObjectNotFoundError = class extends BaseError.extend("ObjectNotFoundError", "Object not found") {
|
|
24
|
+
constructor(dxn, options) {
|
|
25
|
+
super({
|
|
26
|
+
context: {
|
|
27
|
+
dxn
|
|
28
|
+
},
|
|
29
|
+
...options
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
var GetReactiveError = class extends BaseError.extend("GetReactiveError", "Failed to get reactive object from snapshot") {
|
|
34
|
+
constructor(options) {
|
|
35
|
+
super({
|
|
36
|
+
context: {
|
|
37
|
+
reason: options.reason,
|
|
38
|
+
snapshotId: options.snapshotId
|
|
39
|
+
},
|
|
40
|
+
...options
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export {
|
|
46
|
+
SchemaNotFoundError,
|
|
47
|
+
ObjectNotFoundError,
|
|
48
|
+
GetReactiveError,
|
|
49
|
+
Err_exports
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=chunk-UBEZSGXY.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Err.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { BaseError, type BaseErrorOptions } from '@dxos/errors';\nimport { type DXN } from '@dxos/keys';\n\nexport class SchemaNotFoundError extends BaseError.extend('SchemaNotFoundError', 'Schema not found') {\n constructor(schema: string, options?: BaseErrorOptions) {\n super({ context: { schema }, ...options });\n }\n}\n\nexport class ObjectNotFoundError extends BaseError.extend('ObjectNotFoundError', 'Object not found') {\n constructor(dxn: DXN, options?: BaseErrorOptions) {\n super({ context: { dxn }, ...options });\n }\n}\n\n/**\n * Reason why getting a reactive object from a snapshot failed.\n * - `no-database`: The snapshot is not associated with a database.\n * - `object-not-found`: The object was removed or does not exist in the database.\n */\nexport type GetReactiveErrorReason = 'no-database' | 'object-not-found';\n\n/**\n * Error thrown when a reactive object cannot be resolved from a snapshot.\n * Extends `BaseError` with a `reason` and optional `snapshotId` in its context.\n */\nexport class GetReactiveError extends BaseError.extend(\n 'GetReactiveError',\n 'Failed to get reactive object from snapshot',\n) {\n constructor(options: { reason: GetReactiveErrorReason; snapshotId?: string } & BaseErrorOptions) {\n super({ context: { reason: options.reason, snapshotId: options.snapshotId }, ...options });\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;AAMA,SAASA,iBAAwC;AAG1C,IAAMC,sBAAN,cAAkCC,UAAUC,OAAO,uBAAuB,kBAAA,EAAA;EAC/E,YAAYC,QAAgBC,SAA4B;AACtD,UAAM;MAAEC,SAAS;QAAEF;MAAO;MAAG,GAAGC;IAAQ,CAAA;EAC1C;AACF;AAEO,IAAME,sBAAN,cAAkCL,UAAUC,OAAO,uBAAuB,kBAAA,EAAA;EAC/E,YAAYK,KAAUH,SAA4B;AAChD,UAAM;MAAEC,SAAS;QAAEE;MAAI;MAAG,GAAGH;IAAQ,CAAA;EACvC;AACF;AAaO,IAAMI,mBAAN,cAA+BP,UAAUC,OAC9C,oBACA,6CAAA,EAAA;EAEA,YAAYE,SAAqF;AAC/F,UAAM;MAAEC,SAAS;QAAEI,QAAQL,QAAQK;QAAQC,YAAYN,QAAQM;MAAW;MAAG,GAAGN;IAAQ,CAAA;EAC1F;AACF;",
|
|
6
|
+
"names": ["BaseError", "SchemaNotFoundError", "BaseError", "extend", "schema", "options", "context", "ObjectNotFoundError", "dxn", "GetReactiveError", "reason", "snapshotId"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import {
|
|
2
|
+
__export
|
|
3
|
+
} from "./chunk-J5LGTIGS.mjs";
|
|
4
|
+
|
|
5
|
+
// src/Order.ts
|
|
6
|
+
var Order_exports = {};
|
|
7
|
+
__export(Order_exports, {
|
|
8
|
+
natural: () => natural,
|
|
9
|
+
property: () => property,
|
|
10
|
+
rank: () => rank
|
|
11
|
+
});
|
|
12
|
+
var OrderClass = class _OrderClass {
|
|
13
|
+
ast;
|
|
14
|
+
static "variance" = {};
|
|
15
|
+
static is(value) {
|
|
16
|
+
return typeof value === "object" && value !== null && "~Order" in value;
|
|
17
|
+
}
|
|
18
|
+
constructor(ast) {
|
|
19
|
+
this.ast = ast;
|
|
20
|
+
}
|
|
21
|
+
"~Order" = _OrderClass.variance;
|
|
22
|
+
};
|
|
23
|
+
var natural = new OrderClass({
|
|
24
|
+
kind: "natural"
|
|
25
|
+
});
|
|
26
|
+
var property = (property2, direction) => new OrderClass({
|
|
27
|
+
kind: "property",
|
|
28
|
+
property: property2,
|
|
29
|
+
direction
|
|
30
|
+
});
|
|
31
|
+
var rank = (direction = "desc") => new OrderClass({
|
|
32
|
+
kind: "rank",
|
|
33
|
+
direction
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
export {
|
|
37
|
+
natural,
|
|
38
|
+
property,
|
|
39
|
+
rank,
|
|
40
|
+
Order_exports
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=chunk-UI6MWK5W.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/Order.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\n// @import-as-namespace\n\nimport { type QueryAST } from '@dxos/echo-protocol';\n\nexport interface Order<T> {\n // TODO(dmaretskyi): See new effect-schema approach to variance.\n '~Order': { value: T };\n\n ast: QueryAST.Order;\n}\n\nexport type Any = Order<any>;\n\nclass OrderClass implements Order<any> {\n private static 'variance': Order<any>['~Order'] = {} as Order<any>['~Order'];\n\n static is(value: unknown): value is Order<any> {\n return typeof value === 'object' && value !== null && '~Order' in value;\n }\n\n constructor(public readonly ast: QueryAST.Order) {}\n\n '~Order' = OrderClass.variance;\n}\n\nexport const natural: Order<any> = new OrderClass({ kind: 'natural' });\nexport const property = <T>(property: keyof T & string, direction: QueryAST.OrderDirection): Order<T> =>\n new OrderClass({\n kind: 'property',\n property,\n direction,\n });\n\n/**\n * Order by relevance rank (for FTS/vector search results).\n * Higher rank = better match. Default direction is 'desc' (best matches first).\n */\nexport const rank = <T>(direction: QueryAST.OrderDirection = 'desc'): Order<T> =>\n new OrderClass({\n kind: 'rank',\n direction,\n });\n"],
|
|
5
|
+
"mappings": ";;;;;AAAA;;;;;;AAiBA,IAAMA,aAAN,MAAMA,YAAAA;;EACJ,OAAe,aAAmC,CAAC;EAEnD,OAAOC,GAAGC,OAAqC;AAC7C,WAAO,OAAOA,UAAU,YAAYA,UAAU,QAAQ,YAAYA;EACpE;EAEA,YAA4BC,KAAqB;SAArBA,MAAAA;EAAsB;EAElD,WAAWH,YAAWI;AACxB;AAEO,IAAMC,UAAsB,IAAIL,WAAW;EAAEM,MAAM;AAAU,CAAA;AAC7D,IAAMC,WAAW,CAAIA,WAA4BC,cACtD,IAAIR,WAAW;EACbM,MAAM;EACNC,UAAAA;EACAC;AACF,CAAA;AAMK,IAAMC,OAAO,CAAID,YAAqC,WAC3D,IAAIR,WAAW;EACbM,MAAM;EACNE;AACF,CAAA;",
|
|
6
|
+
"names": ["OrderClass", "is", "value", "ast", "variance", "natural", "kind", "property", "direction", "rank"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import {
|
|
2
|
+
isRef
|
|
3
|
+
} from "./chunk-BVOFLCVF.mjs";
|
|
4
|
+
import {
|
|
5
|
+
getDXN,
|
|
6
|
+
prettyFilter
|
|
7
|
+
} from "./chunk-MOR5ERFM.mjs";
|
|
8
|
+
import {
|
|
9
|
+
getTypeDXNFromSpecifier
|
|
10
|
+
} from "./chunk-2KHZ36F5.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-V36VO5SS.mjs.map
|