@dxos/echo 0.8.4-main.937b3ca → 0.8.4-main.9be5663bfe
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 +2 -2
- package/dist/lib/{browser → neutral}/Annotation.mjs +9 -5
- package/dist/lib/neutral/Database.mjs +47 -0
- package/dist/lib/{browser → neutral}/Entity.mjs +19 -12
- package/dist/lib/{browser → neutral}/Err.mjs +4 -3
- package/dist/lib/neutral/Extension.mjs +18 -0
- package/dist/lib/neutral/Feed.mjs +48 -0
- package/dist/lib/neutral/Filter.mjs +72 -0
- package/dist/lib/{browser → neutral}/Format.mjs +4 -5
- package/dist/lib/neutral/JsonSchema.mjs +19 -0
- package/dist/lib/{browser → neutral}/Key.mjs +2 -3
- package/dist/lib/{node-esm → neutral}/Obj.mjs +39 -17
- package/dist/lib/{browser → neutral}/Order.mjs +2 -3
- package/dist/lib/neutral/Query.mjs +38 -0
- package/dist/lib/neutral/QueryResult.mjs +2 -0
- package/dist/lib/neutral/Ref.mjs +24 -0
- package/dist/lib/{browser → neutral}/Relation.mjs +22 -13
- package/dist/lib/neutral/SchemaRegistry.mjs +2 -0
- package/dist/lib/neutral/Tag.mjs +29 -0
- package/dist/lib/neutral/Type.mjs +37 -0
- package/dist/lib/{browser/chunk-XDIUHAAX.mjs → neutral/chunk-46QNGNTY.mjs} +9 -5
- package/dist/lib/neutral/chunk-46QNGNTY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5VKHCUDA.mjs +299 -0
- package/dist/lib/neutral/chunk-5VKHCUDA.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-YOLH5KS4.mjs → neutral/chunk-6URFBQJH.mjs} +104 -26
- package/dist/lib/neutral/chunk-6URFBQJH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-7SQD3FRZ.mjs +159 -0
- package/dist/lib/neutral/chunk-7SQD3FRZ.mjs.map +7 -0
- package/dist/lib/{browser/chunk-INHXFXY5.mjs → neutral/chunk-ANHVGJI4.mjs} +2 -3
- package/dist/lib/{node-esm/chunk-AJEMYSIR.mjs.map → neutral/chunk-ANHVGJI4.mjs.map} +1 -1
- package/dist/lib/{browser/chunk-ZHXZGIXD.mjs → neutral/chunk-BNCCGLJN.mjs} +1 -3
- package/dist/lib/{node-esm/chunk-MOLNWFNL.mjs.map → neutral/chunk-BNCCGLJN.mjs.map} +2 -2
- package/dist/lib/{browser/chunk-FRDT7RA4.mjs → neutral/chunk-DQYLD2RB.mjs} +15 -16
- package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-ZBB67AKD.mjs → neutral/chunk-E5PBQJWV.mjs} +9 -6
- package/dist/lib/neutral/chunk-E5PBQJWV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-EBVB5NOH.mjs +133 -0
- package/dist/lib/neutral/chunk-EBVB5NOH.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FNEFSO2C.mjs +787 -0
- package/dist/lib/neutral/chunk-FNEFSO2C.mjs.map +7 -0
- package/dist/lib/{browser/chunk-BJPE6CIC.mjs → neutral/chunk-FW7UJX25.mjs} +1708 -2721
- package/dist/lib/neutral/chunk-FW7UJX25.mjs.map +7 -0
- package/dist/lib/{browser/chunk-PQZW3S6L.mjs → neutral/chunk-GZQTCRJB.mjs} +3 -4
- package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-HBJ7JT5A.mjs +120 -0
- package/dist/lib/neutral/chunk-HBJ7JT5A.mjs.map +7 -0
- package/dist/lib/{browser/chunk-CGS2ULMK.mjs → neutral/chunk-J5LGTIGS.mjs} +1 -2
- package/dist/lib/{browser/chunk-U2J7TA7K.mjs → neutral/chunk-OLFCVPOO.mjs} +6 -7
- package/dist/lib/neutral/chunk-OLFCVPOO.mjs.map +7 -0
- package/dist/lib/{browser/chunk-IXVWLTG7.mjs → neutral/chunk-OMUPQMLR.mjs} +1 -3
- package/dist/lib/{browser/chunk-IXVWLTG7.mjs.map → neutral/chunk-OMUPQMLR.mjs.map} +1 -1
- package/dist/lib/neutral/chunk-QWAOTFCY.mjs +396 -0
- package/dist/lib/neutral/chunk-QWAOTFCY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-R72KFH2X.mjs +34 -0
- package/dist/lib/neutral/chunk-R72KFH2X.mjs.map +7 -0
- package/dist/lib/{browser/chunk-ZAGAOZVY.mjs → neutral/chunk-T2JOLN37.mjs} +73 -7
- package/dist/lib/neutral/chunk-T2JOLN37.mjs.map +7 -0
- package/dist/lib/{browser/chunk-YKTSSMDS.mjs → neutral/chunk-TBKX6JQO.mjs} +4 -6
- package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +7 -0
- package/dist/lib/{browser/chunk-CJ5YELTO.mjs → neutral/chunk-UBEZSGXY.mjs} +15 -3
- package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +7 -0
- package/dist/lib/{browser/chunk-JMKVF2YQ.mjs → neutral/chunk-UI6MWK5W.mjs} +3 -4
- package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +7 -0
- package/dist/lib/{browser/chunk-KQQGVHFN.mjs → neutral/chunk-UPWIIW2V.mjs} +12 -58
- package/dist/lib/neutral/chunk-UPWIIW2V.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-ANLVLWME.mjs → neutral/chunk-WVLOCXB5.mjs} +33 -10
- package/dist/lib/neutral/chunk-WVLOCXB5.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/{browser/chunk-2SBB7OWV.mjs → neutral/chunk-YSLSJ7QS.mjs} +73 -25
- package/dist/lib/neutral/chunk-YSLSJ7QS.mjs.map +7 -0
- package/dist/lib/neutral/chunk-ZGVZNBBJ.mjs +415 -0
- package/dist/lib/neutral/chunk-ZGVZNBBJ.mjs.map +7 -0
- package/dist/lib/{node-esm/chunk-NBWL7UCZ.mjs → neutral/chunk-ZIXGDU6F.mjs} +9 -4
- package/dist/lib/neutral/chunk-ZIXGDU6F.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +101 -0
- package/dist/lib/{browser → neutral}/internal/index.mjs +57 -40
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/{node-esm → neutral}/testing/index.mjs +44 -37
- package/dist/lib/neutral/testing/index.mjs.map +7 -0
- package/dist/types/src/Annotation.d.ts +23 -1
- package/dist/types/src/Annotation.d.ts.map +1 -1
- 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 +86 -84
- package/dist/types/src/Database.d.ts.map +1 -1
- 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 +41 -15
- package/dist/types/src/Entity.d.ts.map +1 -1
- package/dist/types/src/Err.d.ts +43 -0
- package/dist/types/src/Err.d.ts.map +1 -1
- 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 +171 -0
- package/dist/types/src/Feed.d.ts.map +1 -0
- package/dist/types/src/Filter.d.ts +32 -5
- package/dist/types/src/Filter.d.ts.map +1 -1
- 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 +3 -3
- package/dist/types/src/Format.d.ts.map +1 -1
- package/dist/types/src/Hypergraph.d.ts +8 -3
- package/dist/types/src/Hypergraph.d.ts.map +1 -1
- package/dist/types/src/JsonSchema.d.ts +11 -4
- package/dist/types/src/JsonSchema.d.ts.map +1 -1
- package/dist/types/src/Obj.d.ts +174 -46
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Order.d.ts.map +1 -1
- package/dist/types/src/Query.d.ts +109 -15
- package/dist/types/src/Query.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +58 -10
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +75 -29
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/SchemaRegistry.d.ts +4 -4
- package/dist/types/src/SchemaRegistry.d.ts.map +1 -1
- package/dist/types/src/Tag.d.ts +4 -3
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +51 -180
- package/dist/types/src/Type.d.ts.map +1 -1
- 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 +5 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +69 -8
- 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/{api → Annotation}/sorting.d.ts +1 -1
- package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -0
- package/dist/types/src/internal/{annotations → Annotation}/util.d.ts +13 -1
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -0
- package/dist/types/src/internal/{api/entity.d.ts → Entity/api.d.ts} +2 -2
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -0
- package/dist/types/src/internal/{entities → Entity}/entity.d.ts +3 -3
- package/dist/types/src/internal/Entity/entity.d.ts.map +1 -0
- package/dist/types/src/internal/{entities → Entity}/index.d.ts +2 -0
- package/dist/types/src/internal/Entity/index.d.ts.map +1 -0
- package/dist/types/src/internal/{entities → Entity}/model.d.ts +4 -26
- package/dist/types/src/internal/Entity/model.d.ts.map +1 -0
- package/dist/types/src/internal/{entities → Entity}/object.d.ts +2 -2
- package/dist/types/src/internal/Entity/object.d.ts.map +1 -0
- package/dist/types/src/internal/{entities → Entity}/relation.d.ts +3 -30
- package/dist/types/src/internal/Entity/relation.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/util.d.ts.map +1 -0
- package/dist/types/src/internal/{api → Entity}/version.d.ts +1 -1
- 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/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 +2 -2
- package/dist/types/src/internal/Format/select.d.ts.map +1 -0
- package/dist/types/src/internal/Format/string.d.ts.map +1 -0
- package/dist/types/src/internal/{formats → Format}/types.d.ts +1 -1
- package/dist/types/src/internal/Format/types.d.ts.map +1 -0
- package/dist/types/src/internal/{json-schema → 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.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-schema → JsonSchema}/json-schema.d.ts +2 -1
- 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.map +1 -0
- package/dist/types/src/internal/Obj/common.d.ts.map +1 -0
- package/dist/types/src/internal/{object → Obj}/create-object.d.ts +2 -2
- package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/create-object.test.d.ts.map +1 -0
- package/dist/types/src/internal/{object → Obj}/deleted.d.ts +1 -1
- 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.map +1 -0
- package/dist/types/src/internal/Obj/inspect.d.ts.map +1 -0
- package/dist/types/src/internal/{object → Obj}/json-serializer.d.ts +13 -5
- 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/{object → Obj}/set-value.d.ts +1 -1
- package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/set-value.test.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -0
- package/dist/types/src/internal/{object → Obj}/typed-object.d.ts +4 -4
- 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 +1 -1
- package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -0
- package/dist/types/src/internal/{ref → Ref}/ref.d.ts +18 -4
- 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 +8 -7
- package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -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/{schema → Type}/persistent-schema.d.ts +2 -2
- package/dist/types/src/internal/Type/persistent-schema.d.ts.map +1 -0
- package/dist/types/src/internal/{api → common/api}/index.d.ts +0 -4
- package/dist/types/src/internal/common/api/index.d.ts.map +1 -0
- package/dist/types/src/internal/{api → common/api}/meta.d.ts +2 -2
- 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.map +1 -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.map +1 -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.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.map +1 -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.map +1 -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.map +1 -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.map +1 -0
- package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts +1 -1
- 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.map +1 -0
- package/dist/types/src/internal/{proxy → common/proxy}/typed-handler.d.ts +2 -1
- 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/{types → common/types}/base.d.ts +1 -0
- package/dist/types/src/internal/common/types/base.d.ts.map +1 -0
- package/dist/types/src/internal/{types → common/types}/entity.d.ts +2 -2
- package/dist/types/src/internal/common/types/entity.d.ts.map +1 -0
- package/dist/types/src/internal/{types → common/types}/index.d.ts +1 -0
- package/dist/types/src/internal/common/types/index.d.ts.map +1 -0
- package/dist/types/src/internal/{types → common/types}/meta.d.ts +7 -6
- 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/{types → common/types}/typename.d.ts +8 -0
- package/dist/types/src/internal/common/types/typename.d.ts.map +1 -0
- package/dist/types/src/internal/{types → common/types}/version.d.ts +2 -2
- package/dist/types/src/internal/common/types/version.d.ts.map +1 -0
- package/dist/types/src/internal/index.d.ts +9 -10
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/testing/test-data.d.ts.map +1 -1
- package/dist/types/src/testing/test-schema.d.ts +19 -18
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +44 -113
- package/src/Annotation.ts +31 -1
- package/src/Collection.ts +37 -0
- package/src/Database.ts +167 -173
- package/src/Dataset.ts +26 -0
- package/src/Entity.ts +73 -54
- package/src/Err.ts +22 -0
- package/src/Extension.test.ts +235 -0
- package/src/Extension.ts +122 -0
- package/src/Feed.ts +283 -0
- package/src/Filter.test.ts +90 -0
- package/src/Filter.ts +81 -7
- package/src/Format.ts +3 -3
- package/src/Hypergraph.ts +9 -4
- package/src/JsonSchema.ts +14 -4
- package/src/Obj.test.ts +166 -13
- package/src/Obj.ts +407 -145
- package/src/Order.ts +3 -1
- package/src/Query.test.ts +339 -15
- package/src/Query.ts +275 -24
- package/src/Ref.ts +64 -11
- package/src/Relation.test.ts +8 -2
- package/src/Relation.ts +167 -133
- package/src/SchemaRegistry.ts +5 -4
- package/src/Tag.ts +6 -5
- package/src/Type.test.ts +10 -10
- package/src/Type.ts +70 -303
- package/src/View.ts +107 -0
- package/src/hierarchy.test.ts +33 -0
- package/src/index.ts +5 -0
- package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
- package/src/internal/{annotations → Annotation}/annotations.ts +134 -16
- package/src/internal/{annotations → Annotation}/index.ts +1 -0
- package/src/internal/{api → Annotation}/sorting.ts +2 -4
- package/src/internal/{annotations → Annotation}/util.ts +14 -1
- package/src/internal/{api/entity.ts → Entity/api.ts} +3 -2
- package/src/internal/{entities → Entity}/entity.ts +6 -4
- package/src/internal/{entities → Entity}/index.ts +2 -0
- package/src/internal/{entities → Entity}/model.ts +17 -42
- package/src/internal/{entities → Entity}/object.ts +3 -6
- package/src/internal/{entities → Entity}/relation.ts +20 -39
- package/src/internal/{api → Entity}/version.ts +2 -2
- package/src/internal/{formats → Format}/date.test.ts +1 -2
- package/src/internal/{formats → Format}/format.test.ts +2 -3
- package/src/internal/{formats → Format}/select.ts +1 -1
- package/src/internal/{formats → Format}/types.ts +3 -3
- package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
- package/src/internal/{json-schema → JsonSchema}/json-schema-normalize.ts +4 -2
- package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +33 -34
- package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
- package/src/internal/{json-schema → JsonSchema}/json-schema.ts +16 -11
- package/src/internal/{object → Obj}/clone.ts +3 -3
- package/src/internal/{object → Obj}/common.ts +2 -2
- package/src/internal/{object → Obj}/create-object.test.ts +5 -7
- package/src/internal/{object → Obj}/create-object.ts +5 -6
- package/src/internal/{object → Obj}/deleted.ts +2 -2
- package/src/internal/{object → Obj}/inspect.ts +2 -2
- package/src/internal/{object → Obj}/json-serializer.test.ts +31 -8
- package/src/internal/{object → Obj}/json-serializer.ts +58 -24
- package/src/internal/{object → Obj}/schema-validator.test.ts +3 -7
- package/src/internal/{object → Obj}/schema-validator.ts +1 -1
- package/src/internal/{object → Obj}/set-value.test.ts +33 -33
- package/src/internal/{object → Obj}/set-value.ts +2 -2
- package/src/internal/Obj/snapshot.ts +105 -0
- package/src/internal/{object → Obj}/typed-object.test.ts +3 -3
- package/src/internal/{object → Obj}/typed-object.ts +4 -4
- package/src/internal/Query.ts +134 -0
- package/src/internal/{ref → Ref}/ref-array.ts +1 -2
- package/src/internal/{ref → Ref}/ref.test.ts +5 -6
- package/src/internal/{ref → Ref}/ref.ts +29 -5
- package/src/internal/{schema → Type}/compose.test.ts +5 -6
- package/src/internal/{schema → Type}/compose.ts +14 -9
- package/src/internal/{schema → Type}/echo-schema.ts +11 -11
- package/src/internal/{schema → Type}/manipulation.ts +1 -1
- package/src/internal/{schema → Type}/persistent-schema.ts +10 -4
- package/src/internal/{README.md → common/README.md} +1 -1
- package/src/internal/{api → common/api}/index.ts +0 -4
- package/src/internal/{api → common/api}/meta.ts +3 -3
- package/src/internal/common/index.ts +7 -0
- package/src/internal/{proxy → common/proxy}/change.test.ts +65 -65
- package/src/internal/{proxy → common/proxy}/handler.test.ts +2 -4
- package/src/internal/{proxy → common/proxy}/json-serializer.ts +6 -3
- package/src/internal/{proxy → common/proxy}/make-object.ts +13 -4
- package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
- package/src/internal/{proxy → common/proxy}/reactive.ts +1 -2
- package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
- package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +14 -19
- package/src/internal/{proxy → common/proxy}/typed-handler.ts +11 -6
- package/src/internal/{proxy → common/proxy}/typed-object.test.ts +15 -16
- package/src/internal/{types → common/types}/base.ts +1 -1
- package/src/internal/{types → common/types}/entity.ts +2 -2
- package/src/internal/{types → common/types}/index.ts +1 -0
- package/src/internal/{types → common/types}/meta.ts +15 -14
- package/src/internal/common/types/model-symbols.ts +69 -0
- package/src/internal/{types → common/types}/typename.ts +10 -0
- package/src/internal/{types → common/types}/version.ts +2 -3
- package/src/internal/index.ts +9 -31
- package/src/testing/api.test.ts +4 -5
- package/src/testing/test-data.ts +0 -1
- package/src/testing/test-schema.ts +20 -18
- package/dist/lib/browser/Database.mjs +0 -18
- package/dist/lib/browser/Filter.mjs +0 -62
- package/dist/lib/browser/JsonSchema.mjs +0 -20
- package/dist/lib/browser/Obj.mjs +0 -91
- package/dist/lib/browser/Query.mjs +0 -27
- package/dist/lib/browser/QueryResult.mjs +0 -3
- package/dist/lib/browser/Ref.mjs +0 -23
- package/dist/lib/browser/SchemaRegistry.mjs +0 -3
- package/dist/lib/browser/Tag.mjs +0 -26
- package/dist/lib/browser/Type.mjs +0 -48
- package/dist/lib/browser/chunk-22JMFST2.mjs +0 -24
- package/dist/lib/browser/chunk-22JMFST2.mjs.map +0 -7
- package/dist/lib/browser/chunk-2SBB7OWV.mjs.map +0 -7
- package/dist/lib/browser/chunk-6L5HHUVU.mjs +0 -158
- package/dist/lib/browser/chunk-6L5HHUVU.mjs.map +0 -7
- package/dist/lib/browser/chunk-7STIBCP7.mjs +0 -133
- package/dist/lib/browser/chunk-7STIBCP7.mjs.map +0 -7
- package/dist/lib/browser/chunk-BJPE6CIC.mjs.map +0 -7
- package/dist/lib/browser/chunk-CJ5YELTO.mjs.map +0 -7
- package/dist/lib/browser/chunk-FPOISFQK.mjs +0 -40
- package/dist/lib/browser/chunk-FPOISFQK.mjs.map +0 -7
- package/dist/lib/browser/chunk-FRDT7RA4.mjs.map +0 -7
- package/dist/lib/browser/chunk-INHXFXY5.mjs.map +0 -7
- package/dist/lib/browser/chunk-JMKVF2YQ.mjs.map +0 -7
- package/dist/lib/browser/chunk-KQQGVHFN.mjs.map +0 -7
- package/dist/lib/browser/chunk-MYCCGG2T.mjs +0 -15
- package/dist/lib/browser/chunk-MYCCGG2T.mjs.map +0 -7
- package/dist/lib/browser/chunk-NOPVNWPT.mjs +0 -204
- package/dist/lib/browser/chunk-NOPVNWPT.mjs.map +0 -7
- package/dist/lib/browser/chunk-PQZW3S6L.mjs.map +0 -7
- package/dist/lib/browser/chunk-RK4Z4JUZ.mjs +0 -283
- package/dist/lib/browser/chunk-RK4Z4JUZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-U2J7TA7K.mjs.map +0 -7
- package/dist/lib/browser/chunk-W5D2GWAW.mjs +0 -98
- package/dist/lib/browser/chunk-W5D2GWAW.mjs.map +0 -7
- package/dist/lib/browser/chunk-XDIUHAAX.mjs.map +0 -7
- package/dist/lib/browser/chunk-YKTSSMDS.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZAGAOZVY.mjs.map +0 -7
- package/dist/lib/browser/chunk-ZHXZGIXD.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -85
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/testing/index.mjs +0 -367
- package/dist/lib/browser/testing/index.mjs.map +0 -7
- package/dist/lib/node-esm/Annotation.mjs +0 -33
- package/dist/lib/node-esm/Annotation.mjs.map +0 -7
- package/dist/lib/node-esm/Database.mjs +0 -18
- package/dist/lib/node-esm/Database.mjs.map +0 -7
- package/dist/lib/node-esm/Entity.mjs +0 -52
- package/dist/lib/node-esm/Entity.mjs.map +0 -7
- package/dist/lib/node-esm/Err.mjs +0 -11
- package/dist/lib/node-esm/Err.mjs.map +0 -7
- package/dist/lib/node-esm/Filter.mjs +0 -62
- package/dist/lib/node-esm/Format.mjs +0 -67
- package/dist/lib/node-esm/JsonSchema.mjs +0 -20
- package/dist/lib/node-esm/JsonSchema.mjs.map +0 -7
- package/dist/lib/node-esm/Key.mjs +0 -13
- package/dist/lib/node-esm/Key.mjs.map +0 -7
- package/dist/lib/node-esm/Obj.mjs.map +0 -7
- package/dist/lib/node-esm/Order.mjs +0 -13
- package/dist/lib/node-esm/Order.mjs.map +0 -7
- package/dist/lib/node-esm/Query.mjs +0 -27
- package/dist/lib/node-esm/Query.mjs.map +0 -7
- package/dist/lib/node-esm/QueryResult.mjs +0 -3
- package/dist/lib/node-esm/QueryResult.mjs.map +0 -7
- package/dist/lib/node-esm/Ref.mjs +0 -23
- package/dist/lib/node-esm/Ref.mjs.map +0 -7
- package/dist/lib/node-esm/Relation.mjs +0 -85
- package/dist/lib/node-esm/Relation.mjs.map +0 -7
- package/dist/lib/node-esm/SchemaRegistry.mjs +0 -3
- package/dist/lib/node-esm/SchemaRegistry.mjs.map +0 -7
- package/dist/lib/node-esm/Tag.mjs +0 -26
- package/dist/lib/node-esm/Tag.mjs.map +0 -7
- package/dist/lib/node-esm/Type.mjs +0 -48
- package/dist/lib/node-esm/Type.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-4PNXQA64.mjs +0 -250
- package/dist/lib/node-esm/chunk-4PNXQA64.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5OBN7GZW.mjs +0 -158
- package/dist/lib/node-esm/chunk-5OBN7GZW.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AJEMYSIR.mjs +0 -22
- package/dist/lib/node-esm/chunk-ANLVLWME.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-DMR7OAFK.mjs +0 -57
- package/dist/lib/node-esm/chunk-DMR7OAFK.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-FWTSPIFF.mjs +0 -133
- package/dist/lib/node-esm/chunk-FWTSPIFF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ILMLLM4R.mjs +0 -204
- package/dist/lib/node-esm/chunk-ILMLLM4R.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K37NA7PO.mjs +0 -43
- package/dist/lib/node-esm/chunk-K37NA7PO.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-LT3H4JOX.mjs +0 -3847
- package/dist/lib/node-esm/chunk-LT3H4JOX.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-MOLNWFNL.mjs +0 -9
- package/dist/lib/node-esm/chunk-MOWUEW5P.mjs +0 -15
- package/dist/lib/node-esm/chunk-MOWUEW5P.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NBWL7UCZ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs +0 -143
- package/dist/lib/node-esm/chunk-NRN3ZW2T.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs +0 -41
- package/dist/lib/node-esm/chunk-QLI2EIJ2.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-QYR67VBV.mjs +0 -288
- package/dist/lib/node-esm/chunk-QYR67VBV.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UKGVOINP.mjs +0 -9
- package/dist/lib/node-esm/chunk-UKGVOINP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs +0 -403
- package/dist/lib/node-esm/chunk-W6QIEBTQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-XHJRMQZD.mjs +0 -69
- package/dist/lib/node-esm/chunk-XHJRMQZD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-Y75VU7LB.mjs +0 -74
- package/dist/lib/node-esm/chunk-Y75VU7LB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YOLH5KS4.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs +0 -39
- package/dist/lib/node-esm/chunk-YQ2NWGL5.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-ZBB67AKD.mjs.map +0 -7
- package/dist/lib/node-esm/index.mjs +0 -85
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/internal/index.mjs +0 -457
- package/dist/lib/node-esm/internal/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/testing/index.mjs.map +0 -7
- package/dist/types/src/internal/annotations/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/annotations/annotations.test.d.ts.map +0 -1
- package/dist/types/src/internal/annotations/index.d.ts +0 -3
- package/dist/types/src/internal/annotations/index.d.ts.map +0 -1
- package/dist/types/src/internal/annotations/util.d.ts.map +0 -1
- package/dist/types/src/internal/api/annotations.d.ts +0 -23
- package/dist/types/src/internal/api/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/api/entity.d.ts.map +0 -1
- package/dist/types/src/internal/api/index.d.ts.map +0 -1
- package/dist/types/src/internal/api/meta.d.ts.map +0 -1
- package/dist/types/src/internal/api/sorting.d.ts.map +0 -1
- package/dist/types/src/internal/api/version.d.ts.map +0 -1
- package/dist/types/src/internal/entities/entity.d.ts.map +0 -1
- package/dist/types/src/internal/entities/index.d.ts.map +0 -1
- package/dist/types/src/internal/entities/model.d.ts.map +0 -1
- package/dist/types/src/internal/entities/object.d.ts.map +0 -1
- package/dist/types/src/internal/entities/relation.d.ts.map +0 -1
- package/dist/types/src/internal/entities/util.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-schema/annotations.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/effect-schema.test.d.ts.map +0 -1
- 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/json-schema/json-schema.d.ts.map +0 -1
- package/dist/types/src/internal/json-schema/json-schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/clone.d.ts.map +0 -1
- package/dist/types/src/internal/object/common.d.ts.map +0 -1
- package/dist/types/src/internal/object/create-object.d.ts.map +0 -1
- package/dist/types/src/internal/object/create-object.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/deleted.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.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.map +0 -1
- package/dist/types/src/internal/object/json-serializer.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/schema-validator.d.ts +0 -2
- 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/set-value.d.ts.map +0 -1
- package/dist/types/src/internal/object/set-value.test.d.ts.map +0 -1
- package/dist/types/src/internal/object/snapshot.d.ts.map +0 -1
- 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/proxy/change-context.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/change.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/define-hidden-property.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/errors.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/event-batch.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/handler.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/index.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/json-serializer.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/make-object.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/ownership.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/proxy-types.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/proxy-utils.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/reactive-array.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/reactive.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/schema-validator.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/schema.test.d.ts.map +0 -1
- package/dist/types/src/internal/proxy/symbols.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/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/compose.d.ts +0 -6
- package/dist/types/src/internal/schema/compose.d.ts.map +0 -1
- package/dist/types/src/internal/schema/compose.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.map +0 -1
- package/dist/types/src/internal/schema/manipulation.d.ts.map +0 -1
- package/dist/types/src/internal/schema/persistent-schema.d.ts.map +0 -1
- package/dist/types/src/internal/types/base.d.ts.map +0 -1
- package/dist/types/src/internal/types/entity.d.ts.map +0 -1
- package/dist/types/src/internal/types/index.d.ts.map +0 -1
- package/dist/types/src/internal/types/meta.d.ts.map +0 -1
- package/dist/types/src/internal/types/typename.d.ts.map +0 -1
- package/dist/types/src/internal/types/version.d.ts.map +0 -1
- package/src/internal/api/annotations.ts +0 -60
- package/src/internal/object/snapshot.ts +0 -70
- /package/dist/lib/{browser → neutral}/Annotation.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Database.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Entity.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Err.mjs.map +0 -0
- /package/dist/lib/{browser/Filter.mjs.map → neutral/Extension.mjs.map} +0 -0
- /package/dist/lib/{browser/Format.mjs.map → neutral/Feed.mjs.map} +0 -0
- /package/dist/lib/{node-esm → neutral}/Filter.mjs.map +0 -0
- /package/dist/lib/{node-esm → neutral}/Format.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/JsonSchema.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Key.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Obj.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Order.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Query.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/QueryResult.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Ref.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Relation.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/SchemaRegistry.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Tag.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/Type.mjs.map +0 -0
- /package/dist/lib/{browser/chunk-CGS2ULMK.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
- /package/dist/lib/{browser → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{browser → neutral}/internal/index.mjs.map +0 -0
- /package/dist/types/src/internal/{annotations → Annotation}/annotations.test.d.ts +0 -0
- /package/dist/types/src/internal/{entities → Entity}/util.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.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/{formats → Format}/string.d.ts +0 -0
- /package/dist/types/src/internal/{json-schema → JsonSchema}/effect-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{json-schema → JsonSchema}/index.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-schema → JsonSchema}/json-schema.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/clone.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/common.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/create-object.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/ids.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/index.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}/set-value.test.d.ts +0 -0
- /package/dist/types/src/internal/{object → Obj}/snapshot.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/{schema → Type}/compose.test.d.ts +0 -0
- /package/dist/types/src/internal/{schema → Type}/index.d.ts +0 -0
- /package/dist/types/src/internal/{schema → Type}/manipulation.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/change-context.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/change.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/define-hidden-property.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/errors.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/event-batch.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/handler.test.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/index.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/json-serializer.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/make-object.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/ownership.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/proxy-types.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/proxy-utils.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → common/proxy}/reactive-array.d.ts +0 -0
- /package/dist/types/src/internal/{proxy → 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}/symbols.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/src/internal/{entities → Entity}/util.ts +0 -0
- /package/src/internal/{formats → Format}/date.ts +0 -0
- /package/src/internal/{formats → Format}/format.ts +0 -0
- /package/src/internal/{formats → Format}/index.ts +0 -0
- /package/src/internal/{formats → Format}/number.ts +0 -0
- /package/src/internal/{formats → Format}/object.ts +0 -0
- /package/src/internal/{formats → Format}/string.ts +0 -0
- /package/src/internal/{json-schema → JsonSchema}/effect-schema.test.ts +0 -0
- /package/src/internal/{json-schema → JsonSchema}/index.ts +0 -0
- /package/src/internal/{object → Obj}/ids.ts +0 -0
- /package/src/internal/{object → Obj}/index.ts +0 -0
- /package/src/internal/{ref → Ref}/index.ts +0 -0
- /package/src/internal/{schema → Type}/index.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/change-context.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/define-hidden-property.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/errors.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/event-batch.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/index.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/proxy-types.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/proxy-utils.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/reactive-array.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/schema-validator.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
package/dist/types/src/Obj.d.ts
CHANGED
|
@@ -1,20 +1,23 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import * as Option from 'effect/Option';
|
|
1
3
|
import * as Schema from 'effect/Schema';
|
|
2
4
|
import type { ForeignKey } from '@dxos/echo-protocol';
|
|
3
5
|
import { type DXN, ObjectId } from '@dxos/keys';
|
|
4
6
|
import type * as Database from './Database';
|
|
5
7
|
import * as Entity from './Entity';
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
+
import * as Err from './Err';
|
|
9
|
+
import * as internal from './internal';
|
|
10
|
+
import * as Ref from './Ref';
|
|
8
11
|
import type * as Type from './Type';
|
|
9
12
|
/**
|
|
10
13
|
* Base type for all ECHO objects.
|
|
11
14
|
*/
|
|
12
|
-
interface BaseObj extends AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
|
|
15
|
+
interface BaseObj extends internal.AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* Object type with specific properties.
|
|
16
19
|
*/
|
|
17
|
-
export type
|
|
20
|
+
export type OfShape<Props> = BaseObj & Props;
|
|
18
21
|
/**
|
|
19
22
|
* Object with no known properties beyond id and kind.
|
|
20
23
|
* Use this when the object's schema/properties are not known.
|
|
@@ -25,6 +28,28 @@ export type Obj<Props> = BaseObj & Props;
|
|
|
25
28
|
*/
|
|
26
29
|
export interface Unknown extends BaseObj {
|
|
27
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Runtime Effect schema for any ECHO object.
|
|
33
|
+
* Use for validation, parsing, or as a reference target for collections.
|
|
34
|
+
*
|
|
35
|
+
* NOTE: `Schema.is(Type.Obj)` does STRUCTURAL validation only (checks for `id` field).
|
|
36
|
+
* Use `Obj.isObject()` for proper ECHO instance type guards that check the KindId brand.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* // Structural type guard (accepts any object with id field)
|
|
41
|
+
* if (Schema.is(Type.Obj)(unknownValue)) { ... }
|
|
42
|
+
*
|
|
43
|
+
* // ECHO instance type guard (checks KindId brand)
|
|
44
|
+
* if (Obj.isObject(unknownValue)) { ... }
|
|
45
|
+
*
|
|
46
|
+
* // Reference to any object type
|
|
47
|
+
* const Collection = Schema.Struct({
|
|
48
|
+
* objects: Schema.Array(Ref.Ref(Obj.Unknown)),
|
|
49
|
+
* }).pipe(Type.object({ typename: 'Collection', version: '0.1.0' }));
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare const Unknown: Type.Obj<Unknown>;
|
|
28
53
|
/**
|
|
29
54
|
* Object with arbitrary properties.
|
|
30
55
|
*
|
|
@@ -33,13 +58,13 @@ export interface Unknown extends BaseObj {
|
|
|
33
58
|
*
|
|
34
59
|
* Prefer using `Obj.Unknown` when you don't need to access arbitrary properties.
|
|
35
60
|
*/
|
|
36
|
-
export interface Any extends BaseObj, AnyProperties {
|
|
61
|
+
export interface Any extends BaseObj, internal.AnyProperties {
|
|
37
62
|
}
|
|
38
63
|
/**
|
|
39
64
|
* Base type for snapshot objects (has SnapshotKindId instead of KindId).
|
|
40
65
|
*/
|
|
41
|
-
interface BaseSnapshot extends AnyEntity {
|
|
42
|
-
readonly [SnapshotKindId]: typeof Entity.Kind.Object;
|
|
66
|
+
interface BaseSnapshot extends internal.AnyEntity {
|
|
67
|
+
readonly [Entity.SnapshotKindId]: typeof Entity.Kind.Object;
|
|
43
68
|
readonly id: ObjectId;
|
|
44
69
|
}
|
|
45
70
|
/**
|
|
@@ -51,18 +76,23 @@ interface BaseSnapshot extends AnyEntity {
|
|
|
51
76
|
* Snapshots are structurally identical to reactive objects but have a different brand,
|
|
52
77
|
* making them distinguishable at the TypeScript level. Neither is assignable to the other.
|
|
53
78
|
*/
|
|
54
|
-
export type Snapshot<T extends Unknown = Unknown> = Omit<T, KindId> & BaseSnapshot;
|
|
55
|
-
|
|
79
|
+
export type Snapshot<T extends Unknown = Unknown> = Omit<T, Entity.KindId> & BaseSnapshot;
|
|
80
|
+
/**
|
|
81
|
+
* JSON-encoded properties for objects.
|
|
82
|
+
*/
|
|
83
|
+
export interface BaseObjJson {
|
|
84
|
+
id: string;
|
|
85
|
+
}
|
|
86
|
+
type MakePropsInternal<T extends Unknown> = {
|
|
56
87
|
id?: ObjectId;
|
|
57
|
-
|
|
58
|
-
} & Type.Properties<T>;
|
|
88
|
+
} & Entity.Properties<T>;
|
|
59
89
|
/**
|
|
60
90
|
* Props type for object creation with a given schema.
|
|
61
91
|
*/
|
|
62
92
|
export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
|
|
63
93
|
id?: ObjectId;
|
|
64
|
-
[
|
|
65
|
-
} &
|
|
94
|
+
[Parent]?: Unknown;
|
|
95
|
+
} & MakePropsInternal<Schema.Schema.Type<S>>;
|
|
66
96
|
/**
|
|
67
97
|
* Creates a new echo object of the given schema.
|
|
68
98
|
* @param schema - Object schema.
|
|
@@ -78,17 +108,12 @@ export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
|
|
|
78
108
|
*
|
|
79
109
|
* Note: Only accepts object schemas, not relation schemas. Use `Relation.make` for relations.
|
|
80
110
|
*/
|
|
81
|
-
export declare const make:
|
|
82
|
-
<S extends Type.Obj.Any>(schema: S, props: MakeProps<S>): Obj<Schema.Schema.Type<S>>;
|
|
83
|
-
/**
|
|
84
|
-
* @deprecated Pass meta as in the example: `Obj.make(Person, { [Obj.Meta]: { keys: [...] }, name: 'John' })`.
|
|
85
|
-
*/
|
|
86
|
-
<S extends Type.Obj.Any>(schema: S, props: MakeProps<S>, meta: Partial<ObjectMeta>): Obj<Schema.Schema.Type<S>>;
|
|
87
|
-
};
|
|
111
|
+
export declare const make: <S extends Type.AnyObj>(schema: S, props: NoInfer<MakeProps<S>>) => OfShape<Schema.Schema.Type<S>>;
|
|
88
112
|
/**
|
|
89
113
|
* Determine if object is an ECHO object.
|
|
90
114
|
*/
|
|
91
115
|
export declare const isObject: (obj: unknown) => obj is Unknown;
|
|
116
|
+
export declare const isSnapshot: (obj: unknown) => obj is Snapshot;
|
|
92
117
|
/**
|
|
93
118
|
* Subscribe to object updates.
|
|
94
119
|
* The callback is called synchronously when the object is modified.
|
|
@@ -102,6 +127,41 @@ export declare const subscribe: (obj: Unknown, callback: () => void) => (() => v
|
|
|
102
127
|
* making it distinguishable from the reactive object at the type level.
|
|
103
128
|
*/
|
|
104
129
|
export declare const getSnapshot: <T extends Unknown>(obj: T) => Snapshot<T>;
|
|
130
|
+
/**
|
|
131
|
+
* Returns the reactive version of an object from the database, given its snapshot.
|
|
132
|
+
* Inverse of `Obj.getSnapshot`.
|
|
133
|
+
*
|
|
134
|
+
* Uses `Obj.getDatabase` internally to get the database from the snapshot,
|
|
135
|
+
* then resolves the reactive object by ID.
|
|
136
|
+
*
|
|
137
|
+
* @param snapshot - A snapshot of the object (from `Obj.getSnapshot`).
|
|
138
|
+
* @returns Effect that succeeds with the reactive object, or fails with `GetReactiveError`.
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* const snapshot = Obj.getSnapshot(obj);
|
|
142
|
+
* const reactive = Obj.getReactive(snapshot).pipe(
|
|
143
|
+
* Effect.runSync
|
|
144
|
+
* );
|
|
145
|
+
* ```
|
|
146
|
+
*/
|
|
147
|
+
export declare const getReactive: <T extends Unknown>(snapshot: Snapshot<T>) => Effect.Effect<T, Err.GetReactiveError>;
|
|
148
|
+
/**
|
|
149
|
+
* Like `Obj.getReactive` but returns `Option.none()` instead of failing when the object
|
|
150
|
+
* cannot be resolved (no database, object not found).
|
|
151
|
+
*
|
|
152
|
+
* @param snapshot - A snapshot of the object (from `Obj.getSnapshot`).
|
|
153
|
+
* @returns Effect that succeeds with `Option.some(reactive)` or `Option.none()`.
|
|
154
|
+
*/
|
|
155
|
+
export declare const getReactiveOption: <T extends Unknown>(snapshot: Snapshot<T>) => Effect.Effect<Option.Option<T>, never>;
|
|
156
|
+
/**
|
|
157
|
+
* Synchronous version of `Obj.getReactive`. Returns the reactive object or throws
|
|
158
|
+
* `GetReactiveError` when the object cannot be resolved (no database, object not found).
|
|
159
|
+
*
|
|
160
|
+
* @param snapshot - A snapshot of the object (from `Obj.getSnapshot`).
|
|
161
|
+
* @returns The reactive object.
|
|
162
|
+
* @throws {Err.GetReactiveError} When the object cannot be resolved.
|
|
163
|
+
*/
|
|
164
|
+
export declare const getReactiveOrThrow: <T extends Unknown>(snapshot: Snapshot<T>) => T;
|
|
105
165
|
export type CloneOptions = {
|
|
106
166
|
/**
|
|
107
167
|
* Retain the original object's ID.
|
|
@@ -124,7 +184,7 @@ export declare const clone: <T extends Unknown>(obj: T, opts?: CloneOptions) =>
|
|
|
124
184
|
* Makes all properties mutable recursively.
|
|
125
185
|
* Used to provide a mutable view of an object within `Obj.change`.
|
|
126
186
|
*/
|
|
127
|
-
export type
|
|
187
|
+
export type Mutable<T> = internal.Mutable<T>;
|
|
128
188
|
/**
|
|
129
189
|
* Perform mutations on an echo object within a controlled context.
|
|
130
190
|
*
|
|
@@ -143,9 +203,9 @@ export type { Mutable };
|
|
|
143
203
|
* const person = Obj.make(Person, { name: 'John', age: 25 });
|
|
144
204
|
*
|
|
145
205
|
* // Mutate within Obj.change
|
|
146
|
-
* Obj.change(person, (
|
|
147
|
-
*
|
|
148
|
-
*
|
|
206
|
+
* Obj.change(person, (obj) => {
|
|
207
|
+
* obj.name = 'Jane';
|
|
208
|
+
* obj.age = 30;
|
|
149
209
|
* });
|
|
150
210
|
* // ONE notification fires here
|
|
151
211
|
*
|
|
@@ -155,7 +215,7 @@ export type { Mutable };
|
|
|
155
215
|
*
|
|
156
216
|
* Note: Only accepts objects. Use `Relation.change` for relations.
|
|
157
217
|
*/
|
|
158
|
-
export declare const change: <T extends Unknown>(obj: T, callback: ChangeCallback<T>) => void;
|
|
218
|
+
export declare const change: <T extends Unknown>(obj: T, callback: internal.ChangeCallback<T>) => void;
|
|
159
219
|
/**
|
|
160
220
|
* Get a deeply nested property from an object.
|
|
161
221
|
*
|
|
@@ -197,9 +257,9 @@ export declare const getValue: (obj: Unknown | Snapshot, path: readonly (string
|
|
|
197
257
|
* @example
|
|
198
258
|
* ```ts
|
|
199
259
|
* const person = Obj.make(Person, { name: 'John' });
|
|
200
|
-
* // Person schema has: addresses: Schema.
|
|
201
|
-
* Obj.change(person, (
|
|
202
|
-
* Obj.setValue(
|
|
260
|
+
* // Person schema has: addresses: Schema.Array(Address)
|
|
261
|
+
* Obj.change(person, (obj) => {
|
|
262
|
+
* Obj.setValue(obj, ['addresses', 0, 'street'], '123 Main St');
|
|
203
263
|
* });
|
|
204
264
|
* // Creates: person.addresses = [{ street: '123 Main St' }]
|
|
205
265
|
* ```
|
|
@@ -219,8 +279,25 @@ export type ID = ObjectId;
|
|
|
219
279
|
* ```
|
|
220
280
|
*/
|
|
221
281
|
export declare const instanceOf: {
|
|
222
|
-
<S extends Type.
|
|
223
|
-
<S extends Type.
|
|
282
|
+
<S extends Type.AnyEntity>(schema: S): (value: unknown) => value is Schema.Schema.Type<S>;
|
|
283
|
+
<S extends Type.AnyEntity>(schema: S, value: unknown): value is Schema.Schema.Type<S>;
|
|
284
|
+
};
|
|
285
|
+
/**
|
|
286
|
+
* Test if a snapshot is an instance of a schema.
|
|
287
|
+
* Mirrors `instanceOf` but only accepts values branded with SnapshotKindId.
|
|
288
|
+
* Use when the value is known to be a snapshot (e.g. from `getSnapshot` or `useObject`).
|
|
289
|
+
*
|
|
290
|
+
* @example
|
|
291
|
+
* ```ts
|
|
292
|
+
* const snapshot = Obj.getSnapshot(person);
|
|
293
|
+
* if (Obj.snapshotOf(Person, snapshot)) {
|
|
294
|
+
* // snapshot is Obj.Snapshot<Person>
|
|
295
|
+
* }
|
|
296
|
+
* ```
|
|
297
|
+
*/
|
|
298
|
+
export declare const snapshotOf: {
|
|
299
|
+
<S extends Type.AnyEntity>(schema: S): (value: unknown) => value is Snapshot<Schema.Schema.Type<S>>;
|
|
300
|
+
<S extends Type.AnyEntity>(schema: S, value: unknown): value is Snapshot<Schema.Schema.Type<S>>;
|
|
224
301
|
};
|
|
225
302
|
/**
|
|
226
303
|
* Get the DXN of the object.
|
|
@@ -229,35 +306,40 @@ export declare const instanceOf: {
|
|
|
229
306
|
export declare const getDXN: (entity: Unknown | Snapshot) => DXN;
|
|
230
307
|
/**
|
|
231
308
|
* @returns The DXN of the object's type.
|
|
232
|
-
* @example dxn:example.
|
|
309
|
+
* @example dxn:com.example.type.person:1.0.0
|
|
233
310
|
*/
|
|
234
311
|
export declare const getTypeDXN: (obj: unknown | undefined) => DXN | undefined;
|
|
235
312
|
/**
|
|
236
313
|
* Get the schema of the object.
|
|
237
314
|
* Returns the branded ECHO schema used to create the object.
|
|
238
315
|
*/
|
|
239
|
-
export declare const getSchema: (obj: unknown | undefined) => Type.
|
|
316
|
+
export declare const getSchema: (obj: unknown | undefined) => Type.AnyEntity | undefined;
|
|
240
317
|
/**
|
|
241
318
|
* @returns The typename of the object's type.
|
|
242
319
|
* Accepts both reactive objects and snapshots.
|
|
243
|
-
* @example `example.
|
|
320
|
+
* @example `com.example.type.person`
|
|
244
321
|
*/
|
|
245
322
|
export declare const getTypename: (entity: Unknown | Snapshot) => string | undefined;
|
|
246
323
|
/**
|
|
247
324
|
* Get the database the object belongs to.
|
|
248
325
|
* Accepts both reactive objects and snapshots.
|
|
249
326
|
*/
|
|
250
|
-
export declare const getDatabase: (entity: Unknown | Snapshot) => Database.Database | undefined;
|
|
251
|
-
|
|
327
|
+
export declare const getDatabase: (entity: Entity.Unknown | Entity.Snapshot) => Database.Database | undefined;
|
|
328
|
+
/**
|
|
329
|
+
* Property that accesses metadata for an entity.
|
|
330
|
+
*
|
|
331
|
+
* Alias for `Entity.Meta`.
|
|
332
|
+
*/
|
|
333
|
+
export declare const Meta: symbol;
|
|
252
334
|
/**
|
|
253
335
|
* Deeply read-only version of ObjectMeta.
|
|
254
336
|
* Prevents mutation at all nesting levels (e.g., `meta.keys.push()` is a TypeScript error).
|
|
255
337
|
*/
|
|
256
|
-
export type ReadonlyMeta =
|
|
338
|
+
export type ReadonlyMeta = internal.ReadonlyMeta;
|
|
257
339
|
/**
|
|
258
340
|
* Mutable meta type returned by `Obj.getMeta` inside an `Obj.change` callback.
|
|
259
341
|
*/
|
|
260
|
-
export type Meta =
|
|
342
|
+
export type Meta = internal.Meta;
|
|
261
343
|
/**
|
|
262
344
|
* Get the metadata for an object.
|
|
263
345
|
* Returns mutable meta when passed a mutable object (inside `Obj.change` callback).
|
|
@@ -269,14 +351,14 @@ export type Meta = ApiMeta;
|
|
|
269
351
|
* const meta = Obj.getMeta(person); // ReadonlyMeta
|
|
270
352
|
*
|
|
271
353
|
* // Mutable access inside change callback
|
|
272
|
-
* Obj.change(person, (
|
|
273
|
-
* const meta = Obj.getMeta(
|
|
354
|
+
* Obj.change(person, (obj) => {
|
|
355
|
+
* const meta = Obj.getMeta(obj); // ObjectMeta (mutable)
|
|
274
356
|
* meta.tags ??= [];
|
|
275
357
|
* meta.tags.push('important');
|
|
276
358
|
* });
|
|
277
359
|
* ```
|
|
278
360
|
*/
|
|
279
|
-
export declare function getMeta(entity: Mutable<Unknown>):
|
|
361
|
+
export declare function getMeta(entity: Mutable<Unknown>): Meta;
|
|
280
362
|
export declare function getMeta(entity: Unknown | Snapshot): ReadonlyMeta;
|
|
281
363
|
/**
|
|
282
364
|
* @returns Foreign keys for the object from the specified source.
|
|
@@ -341,10 +423,48 @@ export declare const getDescription: (entity: Unknown | Snapshot) => string | un
|
|
|
341
423
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
342
424
|
*/
|
|
343
425
|
export declare const setDescription: (entity: Mutable<Unknown>, description: string) => void;
|
|
426
|
+
/**
|
|
427
|
+
* Symbol to set parent when creating objects with `Obj.make`.
|
|
428
|
+
* @example
|
|
429
|
+
* ```ts
|
|
430
|
+
* Obj.make(TestSchema.Person, {
|
|
431
|
+
* [Obj.Parent]: parentObject,
|
|
432
|
+
* name: 'John',
|
|
433
|
+
* })
|
|
434
|
+
* ```
|
|
435
|
+
*/
|
|
436
|
+
export declare const Parent: unique symbol;
|
|
437
|
+
/**
|
|
438
|
+
* Get the parent of an object.
|
|
439
|
+
* The parent is always loaded together with the object.
|
|
440
|
+
* Only objects are allowed to have a parent
|
|
441
|
+
* @returns The parent object, or undefined if the object has no parent.
|
|
442
|
+
*/
|
|
443
|
+
export declare const getParent: (entity: Unknown | Snapshot) => Unknown | undefined;
|
|
444
|
+
/**
|
|
445
|
+
* Sets the parent of an object.
|
|
446
|
+
* If a parent (or any transitive parent) is deleted, the object will be deleted.
|
|
447
|
+
* Only objects are allowed to have a parent.
|
|
448
|
+
*/
|
|
449
|
+
export declare const setParent: (entity: Unknown, parent: Any | undefined) => void;
|
|
450
|
+
interface UpdateFromOptions<T> {
|
|
451
|
+
exclude?: (keyof T)[];
|
|
452
|
+
include?: (keyof T)[];
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* For each key present on `source` (except `id`), assigns `target[key]` when the current value differs.
|
|
456
|
+
* References are compared by target DXN; other values use Effect `Equal.equals` inside a structural region,
|
|
457
|
+
* with recursive comparison for arrays and plain object-shaped property bags (excluding `id`).
|
|
458
|
+
*
|
|
459
|
+
* Must be called within an `Obj.change` callback.
|
|
460
|
+
*
|
|
461
|
+
* @returns Whether any property was updated.
|
|
462
|
+
*/
|
|
463
|
+
export declare const updateFrom: <T extends Unknown>(target: Mutable<T>, source: T, options?: UpdateFromOptions<T>) => boolean;
|
|
344
464
|
/**
|
|
345
465
|
* JSON representation of an object.
|
|
346
466
|
*/
|
|
347
|
-
export type JSON =
|
|
467
|
+
export type JSON = internal.ObjectJSON;
|
|
348
468
|
/**
|
|
349
469
|
* Converts object to its JSON representation.
|
|
350
470
|
* Accepts both reactive objects and snapshots.
|
|
@@ -360,31 +480,39 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
|
|
|
360
480
|
*
|
|
361
481
|
* @param options.refResolver - Resolver for references. Produces hydrated references that can be resolved.
|
|
362
482
|
* @param options.dxn - Override object DXN. Changes the result of `Obj.getDXN`.
|
|
483
|
+
* @param options.database - Database to associate with the object.
|
|
363
484
|
*/
|
|
364
485
|
export declare const fromJSON: (json: unknown, options?: {
|
|
365
486
|
refResolver?: Ref.Resolver;
|
|
366
487
|
dxn?: DXN;
|
|
488
|
+
database?: Database.Database;
|
|
489
|
+
parent?: Unknown;
|
|
367
490
|
}) => Promise<Unknown>;
|
|
368
491
|
/**
|
|
369
492
|
* Comparator function type for sorting objects.
|
|
370
493
|
* Accepts both reactive objects and snapshots.
|
|
371
494
|
*/
|
|
372
|
-
export type Comparator =
|
|
495
|
+
export type Comparator = internal.Comparator<Unknown | Snapshot>;
|
|
373
496
|
export declare const sortByLabel: Comparator;
|
|
374
497
|
export declare const sortByTypename: Comparator;
|
|
375
498
|
export declare const sort: (...comparators: Comparator[]) => Comparator;
|
|
376
|
-
export
|
|
377
|
-
export type
|
|
499
|
+
export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
|
|
500
|
+
export type VersionCompareResult = internal.VersionCompareResult;
|
|
378
501
|
/**
|
|
379
502
|
* Represent object version.
|
|
380
503
|
* May be backed by Automerge.
|
|
381
504
|
* Objects with no history are not versioned.
|
|
382
505
|
*/
|
|
383
|
-
export type Version =
|
|
384
|
-
export
|
|
506
|
+
export type Version = internal.EntityVersion;
|
|
507
|
+
export declare const isVersion: (entity: unknown) => entity is internal.EntityVersion;
|
|
508
|
+
export declare const versionValid: (ver: internal.EntityVersion) => boolean;
|
|
509
|
+
export declare const compareVersions: (version1: internal.EntityVersion, version2: internal.EntityVersion) => internal.VersionCompareResult;
|
|
510
|
+
export declare const encodeVersion: (ver: internal.EntityVersion) => string;
|
|
511
|
+
export declare const decodeVersion: (ver: string) => internal.EntityVersion;
|
|
385
512
|
/**
|
|
386
513
|
* Returns the version of the object.
|
|
387
514
|
* Accepts both reactive objects and snapshots.
|
|
388
515
|
*/
|
|
389
516
|
export declare const version: (entity: Unknown | Snapshot) => Version;
|
|
517
|
+
export {};
|
|
390
518
|
//# sourceMappingURL=Obj.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Obj.d.ts","sourceRoot":"","sources":["../../../src/Obj.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../../src/Order.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Order.d.ts","sourceRoot":"","sources":["../../../src/Order.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,MAAM,WAAW,KAAK,CAAC,CAAC;IAEtB,QAAQ,EAAE;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC;IAEvB,GAAG,EAAE,QAAQ,CAAC,KAAK,CAAC;CACrB;AAED,MAAM,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAc7B,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,GAAG,CAAuC,CAAC;AACvE,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,UAAU,MAAM,CAAC,GAAG,MAAM,EAAE,WAAW,QAAQ,CAAC,cAAc,KAAG,KAAK,CAAC,CAAC,CAKhG,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,YAAW,QAAQ,CAAC,cAAuB,KAAG,KAAK,CAAC,CAAC,CAIzE,CAAC"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import type * as EffectArray from 'effect/Array';
|
|
2
2
|
import type * as Schema from 'effect/Schema';
|
|
3
3
|
import { type QueryAST } from '@dxos/echo-protocol';
|
|
4
|
+
import * as Database from './Database';
|
|
5
|
+
import type * as Dataset from './Dataset';
|
|
6
|
+
import * as Feed from './Feed';
|
|
4
7
|
import * as Filter from './Filter';
|
|
5
8
|
import type * as Order from './Order';
|
|
6
9
|
import type * as Ref from './Ref';
|
|
7
|
-
import type * as
|
|
10
|
+
import type * as Relation from './Relation';
|
|
8
11
|
/**
|
|
9
12
|
* All property paths inside T that are references.
|
|
10
13
|
*/
|
|
@@ -19,64 +22,138 @@ export interface Query<T> {
|
|
|
19
22
|
* @param filter - Filter to select the objects.
|
|
20
23
|
* @returns Query for the selected objects.
|
|
21
24
|
*/
|
|
22
|
-
select(filter: Filter.Filter<T>): Query<T>;
|
|
23
|
-
select(props: Filter.Props<T>): Query<T>;
|
|
25
|
+
'select'(filter: Filter.Filter<T>): Query<T>;
|
|
26
|
+
'select'(props: Filter.Props<T>): Query<T>;
|
|
24
27
|
/**
|
|
25
28
|
* Traverse an outgoing reference.
|
|
26
29
|
* @param key - Property path inside T that is a reference or optional reference.
|
|
27
30
|
* @returns Query for the target of the reference.
|
|
28
31
|
*/
|
|
29
|
-
reference<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Unknown ? Ref.Target<T[K]> : T[K] extends Ref.Unknown | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
|
|
32
|
+
'reference'<K extends RefPropKey<T>>(key: K): Query<T[K] extends Ref.Unknown ? Ref.Target<T[K]> : T[K] extends Ref.Unknown | undefined ? Ref.Target<Exclude<T[K], undefined>> : never>;
|
|
30
33
|
/**
|
|
31
34
|
* Find objects referencing this object.
|
|
32
35
|
* @param target - Schema of the referencing object. If not provided, matches any type.
|
|
33
36
|
* @param key - Property path inside the referencing object that is a reference. If not provided, matches any property.
|
|
34
37
|
* @returns Query for the referencing objects.
|
|
35
38
|
*/
|
|
36
|
-
referencedBy<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
37
|
-
referencedBy<S extends Schema.Schema.All>(target: S | string): Query<Schema.Schema.Type<S>>;
|
|
38
|
-
referencedBy(): Query<any>;
|
|
39
|
+
'referencedBy'<S extends Schema.Schema.All>(target: S | string, key: RefPropKey<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
40
|
+
'referencedBy'<S extends Schema.Schema.All>(target: S | string): Query<Schema.Schema.Type<S>>;
|
|
41
|
+
'referencedBy'(): Query<any>;
|
|
39
42
|
/**
|
|
40
43
|
* Find relations where this object is the source.
|
|
41
44
|
* @returns Query for the relation objects.
|
|
42
45
|
* @param relation - Schema of the relation.
|
|
43
46
|
* @param predicates - Predicates to filter the relation objects.
|
|
44
47
|
*/
|
|
45
|
-
sourceOf<S extends Schema.Schema.All>(relation
|
|
48
|
+
'sourceOf'<S extends Schema.Schema.All>(relation?: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
46
49
|
/**
|
|
47
50
|
* Find relations where this object is the target.
|
|
48
51
|
* @returns Query for the relation objects.
|
|
49
52
|
* @param relation - Schema of the relation.
|
|
50
53
|
* @param predicates - Predicates to filter the relation objects.
|
|
51
54
|
*/
|
|
52
|
-
targetOf<S extends Schema.Schema.All>(relation
|
|
55
|
+
'targetOf'<S extends Schema.Schema.All>(relation?: S | string, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
53
56
|
/**
|
|
54
57
|
* For a query for relations, get the source objects.
|
|
55
58
|
* @returns Query for the source objects.
|
|
56
59
|
*/
|
|
57
|
-
source(): Query<
|
|
60
|
+
'source'(): Query<Relation.SourceOf<T>>;
|
|
58
61
|
/**
|
|
59
62
|
* For a query for relations, get the target objects.
|
|
60
63
|
* @returns Query for the target objects.
|
|
61
64
|
*/
|
|
62
|
-
target(): Query<
|
|
65
|
+
'target'(): Query<Relation.TargetOf<T>>;
|
|
66
|
+
/**
|
|
67
|
+
* Get the parent object of the current selection.
|
|
68
|
+
* @returns Query for the parent objects.
|
|
69
|
+
*/
|
|
70
|
+
'parent'(): Query<any>;
|
|
71
|
+
/**
|
|
72
|
+
* Get all child objects of the current selection.
|
|
73
|
+
* @returns Query for the child objects.
|
|
74
|
+
*/
|
|
75
|
+
'children'(): Query<any>;
|
|
63
76
|
/**
|
|
64
77
|
* Order the query results.
|
|
65
78
|
* Orders are specified in priority order. The first order will be applied first, etc.
|
|
66
79
|
* @param order - Order to sort the results.
|
|
67
80
|
* @returns Query for the ordered results.
|
|
68
81
|
*/
|
|
69
|
-
orderBy(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
|
|
82
|
+
'orderBy'(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
|
|
70
83
|
/**
|
|
71
84
|
* Limit the number of results.
|
|
72
85
|
* @param limit - Maximum number of results to return.
|
|
73
86
|
* @returns Query for the limited results.
|
|
74
87
|
*/
|
|
75
|
-
limit(limit: number): Query<T>;
|
|
88
|
+
'limit'(limit: number): Query<T>;
|
|
89
|
+
/**
|
|
90
|
+
* Query from selected databases only.
|
|
91
|
+
*
|
|
92
|
+
* Example:
|
|
93
|
+
*
|
|
94
|
+
* ```ts
|
|
95
|
+
* Query.select(Filter.type(Person)).from(db);
|
|
96
|
+
* ```
|
|
97
|
+
*
|
|
98
|
+
* @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.
|
|
99
|
+
*/
|
|
100
|
+
'from'(database: Database.Database | Database.Database[], options?: {
|
|
101
|
+
includeFeeds?: boolean;
|
|
102
|
+
}): Query<T>;
|
|
103
|
+
/**
|
|
104
|
+
* Query from selected feeds only.
|
|
105
|
+
*
|
|
106
|
+
* Example:
|
|
107
|
+
*
|
|
108
|
+
* ```ts
|
|
109
|
+
* Query.select(Filter.type(Person)).from(feed);
|
|
110
|
+
* ```
|
|
111
|
+
*
|
|
112
|
+
*/
|
|
113
|
+
'from'(feeds: Feed.Feed | Feed.Feed[]): Query<T>;
|
|
114
|
+
/**
|
|
115
|
+
* Query from all accessible spaces.
|
|
116
|
+
*
|
|
117
|
+
* Example:
|
|
118
|
+
*
|
|
119
|
+
* ```ts
|
|
120
|
+
* Query.select(Filter.type(Person)).from('all-accessible-spaces');
|
|
121
|
+
* ```
|
|
122
|
+
*
|
|
123
|
+
* @param options.includeFeeds [false] - Whether to include feeds in the query. Default is to query from automerge documents only.
|
|
124
|
+
*/
|
|
125
|
+
'from'(allSpaces: 'all-accessible-spaces', options?: {
|
|
126
|
+
includeFeeds?: boolean;
|
|
127
|
+
}): Query<T>;
|
|
128
|
+
/**
|
|
129
|
+
* Query from a dataset.
|
|
130
|
+
* Currently only feeds are supported.
|
|
131
|
+
*
|
|
132
|
+
* Example:
|
|
133
|
+
*
|
|
134
|
+
* ```ts
|
|
135
|
+
* Query.type(Person).from(feed);
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
'from'(dataset: Dataset.Dataset): Query<T>;
|
|
139
|
+
/**
|
|
140
|
+
* Query from the results of another query.
|
|
141
|
+
*
|
|
142
|
+
* Example:
|
|
143
|
+
*
|
|
144
|
+
* ```ts
|
|
145
|
+
* Query.select(Filter.props({ foo: 'foo' })).from(Query.select(Filter.type(Contact)).reference('org'));
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
'from'(query: Any): Query<T>;
|
|
149
|
+
/**
|
|
150
|
+
* Query from a raw scope specification.
|
|
151
|
+
*/
|
|
152
|
+
'from'(scope: QueryAST.Scope): Query<T>;
|
|
76
153
|
/**
|
|
77
154
|
* Add options to a query.
|
|
78
155
|
*/
|
|
79
|
-
options(options: QueryAST.QueryOptions): Query<T>;
|
|
156
|
+
'options'(options: QueryAST.QueryOptions): Query<T>;
|
|
80
157
|
}
|
|
81
158
|
export type Any = Query<any>;
|
|
82
159
|
export type Type<Q extends Any> = Q extends Query<infer T> ? T : never;
|
|
@@ -97,7 +174,10 @@ export declare const select: <F extends Filter.Any>(filter: F) => Query<Filter.T
|
|
|
97
174
|
*
|
|
98
175
|
* Shorthand for: `Query.select(Filter.type(schema, predicates))`.
|
|
99
176
|
*/
|
|
100
|
-
export declare const type:
|
|
177
|
+
export declare const type: {
|
|
178
|
+
<S extends Schema.Schema.All>(schema: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
179
|
+
(schema: string, predicates?: Filter.Props<unknown>): Query<any>;
|
|
180
|
+
};
|
|
101
181
|
/**
|
|
102
182
|
* Combine results of multiple queries.
|
|
103
183
|
* @param queries - Queries to combine.
|
|
@@ -111,5 +191,19 @@ export declare const all: (...queries: Any[]) => Any;
|
|
|
111
191
|
* @returns Query for the results of the source query minus the results of the exclude query.
|
|
112
192
|
*/
|
|
113
193
|
export declare const without: <T>(source: Query<T>, exclude: Query<T>) => Query<T>;
|
|
194
|
+
/**
|
|
195
|
+
* Create a query scoped to a data source.
|
|
196
|
+
* The returned query selects everything from the source; chain `.select()` to narrow results.
|
|
197
|
+
*
|
|
198
|
+
* @param source - Data source: database, feed, 'all-accessible-spaces', or another query.
|
|
199
|
+
* @returns Query scoped to the given source.
|
|
200
|
+
*/
|
|
201
|
+
export declare const from: (source: Database.Database | Database.Database[] | Feed.Feed | Feed.Feed[] | Any | QueryAST.Scope | "all-accessible-spaces", options?: {
|
|
202
|
+
includeFeeds?: boolean;
|
|
203
|
+
}) => Any;
|
|
204
|
+
/**
|
|
205
|
+
* Returns a human-readable string representation of a Query AST.
|
|
206
|
+
*/
|
|
207
|
+
export declare const pretty: (query: Any) => string;
|
|
114
208
|
export {};
|
|
115
209
|
//# sourceMappingURL=Query.d.ts.map
|