@dxos/echo 0.8.4-main.3eb6e50203 → 0.8.4-main.3fbcb4aa9b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/lib/neutral/Annotation.mjs +7 -3
- package/dist/lib/neutral/Database.mjs +8 -4
- package/dist/lib/neutral/Entity.mjs +24 -14
- package/dist/lib/neutral/Err.mjs +1 -1
- package/dist/lib/neutral/Extension.mjs +18 -0
- package/dist/lib/neutral/Extension.mjs.map +7 -0
- package/dist/lib/neutral/Feed.mjs +50 -0
- package/dist/lib/neutral/Feed.mjs.map +7 -0
- package/dist/lib/neutral/Filter.mjs +21 -10
- package/dist/lib/neutral/Format.mjs +3 -3
- package/dist/lib/neutral/JsonSchema.mjs +9 -9
- package/dist/lib/neutral/Key.mjs +1 -1
- package/dist/lib/neutral/Migration.mjs +17 -0
- package/dist/lib/neutral/Migration.mjs.map +7 -0
- package/dist/lib/neutral/Obj.mjs +26 -17
- package/dist/lib/neutral/Order.mjs +1 -1
- package/dist/lib/neutral/Query.mjs +21 -9
- package/dist/lib/neutral/QueryResult.mjs +1 -1
- package/dist/lib/neutral/Ref.mjs +9 -7
- package/dist/lib/neutral/Relation.mjs +23 -13
- package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
- package/dist/lib/neutral/Tag.mjs +14 -10
- package/dist/lib/neutral/Type.mjs +13 -23
- package/dist/lib/neutral/{chunk-N2QNHMT5.mjs → chunk-44HT3MEC.mjs} +2 -2
- package/dist/lib/neutral/{chunk-N2QNHMT5.mjs.map → chunk-44HT3MEC.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-XAJMXQ4H.mjs → chunk-5SL5LDLD.mjs} +6 -2
- package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-6VIJV543.mjs +34 -0
- package/dist/lib/neutral/chunk-6VIJV543.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7RVZT53K.mjs} +1 -1
- package/dist/lib/neutral/{chunk-4L6DOFXP.mjs → chunk-BICZKPQG.mjs} +1 -1
- package/dist/lib/neutral/{chunk-4L6DOFXP.mjs.map → chunk-BICZKPQG.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-B4FLOYG7.mjs → chunk-FHYIM4RD.mjs} +18 -20
- package/dist/lib/neutral/chunk-FHYIM4RD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FZHVQEHN.mjs +81 -0
- package/dist/lib/neutral/chunk-FZHVQEHN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
- package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-EXAYCLIM.mjs → chunk-HPNQTEEQ.mjs} +5 -5
- package/dist/lib/neutral/chunk-HPNQTEEQ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YPIP3WGI.mjs → chunk-LVGOVFDV.mjs} +40 -12
- package/dist/lib/neutral/chunk-LVGOVFDV.mjs.map +7 -0
- package/dist/lib/neutral/chunk-MPAI2MHO.mjs +346 -0
- package/dist/lib/neutral/chunk-MPAI2MHO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-KB7RIVLK.mjs → chunk-N4B7FHQT.mjs} +4 -4
- package/dist/lib/neutral/{chunk-KB7RIVLK.mjs.map → chunk-N4B7FHQT.mjs.map} +2 -2
- package/dist/lib/neutral/chunk-O5LRY6CO.mjs +734 -0
- package/dist/lib/neutral/chunk-O5LRY6CO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-VYEWMV5U.mjs → chunk-QGMIH2SN.mjs} +8 -4
- package/dist/lib/neutral/chunk-QGMIH2SN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-QXIANHKU.mjs +206 -0
- package/dist/lib/neutral/chunk-QXIANHKU.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UMECVTXM.mjs → chunk-RF7ZBZ4A.mjs} +72 -5
- package/dist/lib/neutral/chunk-RF7ZBZ4A.mjs.map +7 -0
- package/dist/lib/neutral/chunk-S7IMFVTB.mjs +132 -0
- package/dist/lib/neutral/chunk-S7IMFVTB.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SJKBWMJY.mjs +2436 -0
- package/dist/lib/neutral/chunk-SJKBWMJY.mjs.map +7 -0
- package/dist/lib/neutral/chunk-SUZMWP3Y.mjs +36 -0
- package/dist/lib/neutral/chunk-SUZMWP3Y.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-HQXQWXLH.mjs → chunk-SW5CUSBY.mjs} +183 -32
- package/dist/lib/neutral/chunk-SW5CUSBY.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-RIMHNJ3E.mjs → chunk-TNBK56IN.mjs} +98 -44
- package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7WE7SBA2.mjs → chunk-TRPZU2HV.mjs} +13 -13
- package/dist/lib/neutral/chunk-TRPZU2HV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ROKO4RKJ.mjs → chunk-TTCSATUD.mjs} +2 -2
- package/dist/lib/neutral/chunk-TTCSATUD.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-V72DY6LU.mjs} +1 -1
- package/dist/lib/neutral/chunk-VGKLHHRT.mjs +318 -0
- package/dist/lib/neutral/chunk-VGKLHHRT.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TMLVKIMX.mjs → chunk-VYAGNFSJ.mjs} +8 -3
- package/dist/lib/neutral/chunk-VYAGNFSJ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7YWDDFPH.mjs → chunk-WRVRDZDA.mjs} +77 -58
- package/dist/lib/neutral/chunk-WRVRDZDA.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-MXQJZCPY.mjs → chunk-ZISMEVKD.mjs} +1 -1
- package/dist/lib/neutral/chunk-ZISMEVKD.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +51 -28
- package/dist/lib/neutral/internal/index.mjs +52 -38
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +199 -136
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- package/dist/types/src/Annotation.d.ts +3 -3
- 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 +20 -35
- 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 +54 -22
- package/dist/types/src/Entity.d.ts.map +1 -1
- package/dist/types/src/Err.d.ts +18 -18
- 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 +182 -0
- package/dist/types/src/Feed.d.ts.map +1 -0
- package/dist/types/src/Filter.d.ts +34 -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/Json.d.ts +33 -0
- package/dist/types/src/Json.d.ts.map +1 -0
- package/dist/types/src/Json.test.d.ts +2 -0
- package/dist/types/src/Json.test.d.ts.map +1 -0
- package/dist/types/src/JsonSchema.d.ts +11 -4
- package/dist/types/src/JsonSchema.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 +109 -60
- 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 +105 -17
- 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 +86 -40
- 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 +2 -1
- 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/exemplars.test.d.ts +2 -0
- package/dist/types/src/exemplars.test.d.ts.map +1 -0
- package/dist/types/src/index.d.ts +7 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/{annotations → Annotation}/annotations.d.ts +65 -2
- 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 +2 -2
- 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 +2 -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/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 +37 -37
- 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 +1 -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 +2 -2
- 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 +15 -2
- 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/{schema → Type}/compose.d.ts +1 -1
- 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 +7 -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 +3 -3
- 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/{proxy → common/proxy}/change-context.d.ts +1 -1
- 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/{proxy → common/proxy}/errors.d.ts +1 -1
- 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/{proxy → common/proxy}/reactive-array.d.ts +1 -1
- 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 +2 -2
- package/dist/types/src/internal/{proxy → common/proxy}/reactive.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/reactive.test.d.ts +2 -0
- package/dist/types/src/internal/common/proxy/reactive.test.d.ts.map +1 -0
- package/dist/types/src/internal/common/proxy/schema-validator.d.ts.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/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 +5 -5
- 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 +2 -1
- 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.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 +8 -8
- package/dist/types/src/testing/test-data.d.ts.map +1 -1
- package/dist/types/src/testing/test-schema.d.ts +47 -46
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +29 -14
- package/src/Annotation.ts +7 -3
- package/src/Collection.ts +37 -0
- package/src/Database.ts +63 -64
- package/src/Dataset.ts +26 -0
- package/src/Entity.ts +87 -61
- package/src/Err.ts +2 -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 +85 -7
- package/src/Format.ts +3 -3
- package/src/Hypergraph.ts +9 -4
- package/src/Json.test.ts +175 -0
- package/src/Json.ts +102 -0
- package/src/JsonSchema.ts +14 -4
- package/src/Migration.ts +94 -0
- package/src/Obj.test.ts +112 -15
- package/src/Obj.ts +302 -166
- package/src/Order.ts +3 -1
- package/src/Query.test.ts +372 -15
- package/src/Query.ts +269 -26
- package/src/Ref.ts +64 -11
- package/src/Relation.test.ts +8 -2
- package/src/Relation.ts +183 -147
- 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/exemplars.test.ts +21 -0
- package/src/index.ts +8 -0
- package/src/internal/{annotations → Annotation}/annotations.test.ts +56 -7
- package/src/internal/{annotations → Annotation}/annotations.ts +122 -19
- 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 +1 -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 +13 -42
- package/src/internal/{entities → Entity}/object.ts +2 -3
- package/src/internal/{entities → Entity}/relation.ts +19 -36
- 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 +1 -2
- package/src/internal/{formats → Format}/types.ts +2 -2
- package/src/internal/{json-schema → JsonSchema}/annotations.ts +3 -3
- package/src/internal/{json-schema → JsonSchema}/json-schema-type.ts +4 -4
- package/src/internal/{json-schema → JsonSchema}/json-schema.test.ts +48 -49
- package/src/internal/{json-schema → JsonSchema}/json-schema.ts +6 -5
- 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 -9
- package/src/internal/{object → Obj}/json-serializer.ts +52 -27
- package/src/internal/{object → Obj}/schema-validator.ts +1 -1
- package/src/internal/{object → Obj}/set-value.test.ts +24 -24
- package/src/internal/{object → Obj}/set-value.ts +3 -3
- package/src/internal/{object → Obj}/snapshot.ts +35 -23
- 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 +137 -0
- package/src/internal/{ref → Ref}/ref-array.ts +1 -2
- package/src/internal/{ref → Ref}/ref.test.ts +4 -5
- package/src/internal/{ref → Ref}/ref.ts +20 -3
- package/src/internal/{schema → Type}/compose.test.ts +5 -6
- package/src/internal/{schema → Type}/compose.ts +1 -1
- package/src/internal/{schema → Type}/echo-schema.ts +9 -10
- package/src/internal/{schema → Type}/manipulation.ts +1 -1
- package/src/internal/{schema → Type}/persistent-schema.ts +9 -4
- package/src/internal/{README.md → common/README.md} +2 -2
- 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-context.ts +1 -1
- package/src/internal/{proxy → common/proxy}/change.test.ts +97 -97
- package/src/internal/{proxy → common/proxy}/errors.ts +2 -2
- 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 +1 -2
- package/src/internal/{proxy → common/proxy}/ownership.ts +0 -1
- package/src/internal/{proxy → common/proxy}/reactive-array.ts +1 -1
- package/src/internal/common/proxy/reactive.test.ts +54 -0
- package/src/internal/{proxy → common/proxy}/reactive.ts +12 -4
- package/src/internal/{proxy → common/proxy}/schema.test.ts +10 -10
- package/src/internal/{proxy → common/proxy}/typed-handler.test.ts +6 -7
- package/src/internal/{proxy → common/proxy}/typed-handler.ts +10 -13
- package/src/internal/{proxy → common/proxy}/typed-object.test.ts +5 -6
- 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 +3 -1
- package/src/internal/common/types/model-symbols.ts +69 -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 +157 -98
- package/src/testing/test-schema.ts +20 -18
- package/dist/lib/neutral/chunk-7WE7SBA2.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7YWDDFPH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B4FLOYG7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EXAYCLIM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-F6BTBXL7.mjs +0 -171
- package/dist/lib/neutral/chunk-F6BTBXL7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-HQXQWXLH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MXQJZCPY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-RCBBZLVM.mjs +0 -142
- package/dist/lib/neutral/chunk-RCBBZLVM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-RIMHNJ3E.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ROKO4RKJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TMLVKIMX.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UMECVTXM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs +0 -3905
- package/dist/lib/neutral/chunk-VJ2H5MOJ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VYEWMV5U.mjs.map +0 -7
- package/dist/lib/neutral/chunk-X2MPMYYN.mjs +0 -13
- package/dist/lib/neutral/chunk-X2MPMYYN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-XAJMXQ4H.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YPIP3WGI.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/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.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/dist/lib/neutral/{chunk-ANHVGJI4.mjs.map → chunk-7RVZT53K.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-OMUPQMLR.mjs.map → chunk-V72DY6LU.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}/select.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.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}/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}/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.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/internal/{types → common/types}/typename.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}/select.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/{json-schema → JsonSchema}/json-schema-normalize.ts +0 -0
- /package/src/internal/{object → Obj}/ids.ts +0 -0
- /package/src/internal/{object → Obj}/index.ts +0 -0
- /package/src/internal/{object → Obj}/schema-validator.test.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}/define-hidden-property.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}/schema-validator.ts +0 -0
- /package/src/internal/{proxy → common/proxy}/symbols.ts +0 -0
- /package/src/internal/{types → common/types}/typename.ts +0 -0
package/dist/types/src/Obj.d.ts
CHANGED
|
@@ -6,18 +6,18 @@ import { type DXN, ObjectId } from '@dxos/keys';
|
|
|
6
6
|
import type * as Database from './Database';
|
|
7
7
|
import * as Entity from './Entity';
|
|
8
8
|
import * as Err from './Err';
|
|
9
|
-
import
|
|
10
|
-
import
|
|
9
|
+
import * as internal from './internal';
|
|
10
|
+
import * as Ref from './Ref';
|
|
11
11
|
import type * as Type from './Type';
|
|
12
12
|
/**
|
|
13
13
|
* Base type for all ECHO objects.
|
|
14
14
|
*/
|
|
15
|
-
interface BaseObj extends AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
|
|
15
|
+
interface BaseObj extends internal.AnyEntity, Entity.OfKind<typeof Entity.Kind.Object> {
|
|
16
16
|
}
|
|
17
17
|
/**
|
|
18
18
|
* Object type with specific properties.
|
|
19
19
|
*/
|
|
20
|
-
export type
|
|
20
|
+
export type OfShape<Props> = BaseObj & Props;
|
|
21
21
|
/**
|
|
22
22
|
* Object with no known properties beyond id and kind.
|
|
23
23
|
* Use this when the object's schema/properties are not known.
|
|
@@ -28,6 +28,28 @@ export type Obj<Props> = BaseObj & Props;
|
|
|
28
28
|
*/
|
|
29
29
|
export interface Unknown extends BaseObj {
|
|
30
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>;
|
|
31
53
|
/**
|
|
32
54
|
* Object with arbitrary properties.
|
|
33
55
|
*
|
|
@@ -36,13 +58,13 @@ export interface Unknown extends BaseObj {
|
|
|
36
58
|
*
|
|
37
59
|
* Prefer using `Obj.Unknown` when you don't need to access arbitrary properties.
|
|
38
60
|
*/
|
|
39
|
-
export interface Any extends BaseObj, AnyProperties {
|
|
61
|
+
export interface Any extends BaseObj, internal.AnyProperties {
|
|
40
62
|
}
|
|
41
63
|
/**
|
|
42
64
|
* Base type for snapshot objects (has SnapshotKindId instead of KindId).
|
|
43
65
|
*/
|
|
44
|
-
interface BaseSnapshot extends AnyEntity {
|
|
45
|
-
readonly [SnapshotKindId]: typeof Entity.Kind.Object;
|
|
66
|
+
interface BaseSnapshot extends internal.AnyEntity {
|
|
67
|
+
readonly [Entity.SnapshotKindId]: typeof Entity.Kind.Object;
|
|
46
68
|
readonly id: ObjectId;
|
|
47
69
|
}
|
|
48
70
|
/**
|
|
@@ -54,19 +76,23 @@ interface BaseSnapshot extends AnyEntity {
|
|
|
54
76
|
* Snapshots are structurally identical to reactive objects but have a different brand,
|
|
55
77
|
* making them distinguishable at the TypeScript level. Neither is assignable to the other.
|
|
56
78
|
*/
|
|
57
|
-
export type Snapshot<T extends Unknown = Unknown> = Omit<T, KindId> & BaseSnapshot;
|
|
58
|
-
|
|
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> = {
|
|
59
87
|
id?: ObjectId;
|
|
60
|
-
|
|
61
|
-
} & Type.Properties<T>;
|
|
88
|
+
} & Entity.Properties<T>;
|
|
62
89
|
/**
|
|
63
90
|
* Props type for object creation with a given schema.
|
|
64
91
|
*/
|
|
65
92
|
export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
|
|
66
93
|
id?: ObjectId;
|
|
67
|
-
[Meta]?: Partial<ObjectMeta>;
|
|
68
94
|
[Parent]?: Unknown;
|
|
69
|
-
} &
|
|
95
|
+
} & MakePropsInternal<Schema.Schema.Type<S>>;
|
|
70
96
|
/**
|
|
71
97
|
* Creates a new echo object of the given schema.
|
|
72
98
|
* @param schema - Object schema.
|
|
@@ -82,17 +108,12 @@ export type MakeProps<S extends Schema.Schema.AnyNoContext> = {
|
|
|
82
108
|
*
|
|
83
109
|
* Note: Only accepts object schemas, not relation schemas. Use `Relation.make` for relations.
|
|
84
110
|
*/
|
|
85
|
-
export declare const make:
|
|
86
|
-
<S extends Type.Obj.Any>(schema: S, props: MakeProps<S>): Obj<Schema.Schema.Type<S>>;
|
|
87
|
-
/**
|
|
88
|
-
* @deprecated Pass meta as in the example: `Obj.make(Person, { [Obj.Meta]: { keys: [...] }, name: 'John' })`.
|
|
89
|
-
*/
|
|
90
|
-
<S extends Type.Obj.Any>(schema: S, props: MakeProps<S>, meta: Partial<ObjectMeta>): Obj<Schema.Schema.Type<S>>;
|
|
91
|
-
};
|
|
111
|
+
export declare const make: <S extends Type.AnyObj>(schema: S, props: NoInfer<MakeProps<S>>) => OfShape<Schema.Schema.Type<S>>;
|
|
92
112
|
/**
|
|
93
113
|
* Determine if object is an ECHO object.
|
|
94
114
|
*/
|
|
95
115
|
export declare const isObject: (obj: unknown) => obj is Unknown;
|
|
116
|
+
export declare const isSnapshot: (obj: unknown) => obj is Snapshot;
|
|
96
117
|
/**
|
|
97
118
|
* Subscribe to object updates.
|
|
98
119
|
* The callback is called synchronously when the object is modified.
|
|
@@ -161,40 +182,40 @@ export type CloneOptions = {
|
|
|
161
182
|
export declare const clone: <T extends Unknown>(obj: T, opts?: CloneOptions) => T;
|
|
162
183
|
/**
|
|
163
184
|
* Makes all properties mutable recursively.
|
|
164
|
-
* Used to provide a mutable view of an object within `Obj.
|
|
185
|
+
* Used to provide a mutable view of an object within `Obj.update`.
|
|
165
186
|
*/
|
|
166
|
-
export type
|
|
187
|
+
export type Mutable<T> = internal.Mutable<T>;
|
|
167
188
|
/**
|
|
168
189
|
* Perform mutations on an echo object within a controlled context.
|
|
169
190
|
*
|
|
170
191
|
* All mutations within the callback are batched and trigger a single notification
|
|
171
|
-
* when the callback completes. Direct mutations outside of `Obj.
|
|
192
|
+
* when the callback completes. Direct mutations outside of `Obj.update` will throw
|
|
172
193
|
* an error for echo objects.
|
|
173
194
|
*
|
|
174
195
|
* This function also works with nested objects within echo objects (e.g., Template structs)
|
|
175
196
|
* that are reactive at runtime.
|
|
176
197
|
*
|
|
177
|
-
* @param obj - The echo object to mutate. Use `Relation.
|
|
198
|
+
* @param obj - The echo object to mutate. Use `Relation.update` for relations.
|
|
178
199
|
* @param callback - The callback that performs mutations on the object.
|
|
179
200
|
*
|
|
180
201
|
* @example
|
|
181
202
|
* ```ts
|
|
182
203
|
* const person = Obj.make(Person, { name: 'John', age: 25 });
|
|
183
204
|
*
|
|
184
|
-
* // Mutate within Obj.
|
|
185
|
-
* Obj.
|
|
186
|
-
*
|
|
187
|
-
*
|
|
205
|
+
* // Mutate within Obj.update
|
|
206
|
+
* Obj.update(person, (obj) => {
|
|
207
|
+
* obj.name = 'Jane';
|
|
208
|
+
* obj.age = 30;
|
|
188
209
|
* });
|
|
189
210
|
* // ONE notification fires here
|
|
190
211
|
*
|
|
191
212
|
* // Direct mutation throws
|
|
192
|
-
* person.name = 'Bob'; // Error: Cannot modify outside Obj.
|
|
213
|
+
* person.name = 'Bob'; // Error: Cannot modify outside Obj.update()
|
|
193
214
|
* ```
|
|
194
215
|
*
|
|
195
|
-
* Note: Only accepts objects. Use `Relation.
|
|
216
|
+
* Note: Only accepts objects. Use `Relation.update` for relations.
|
|
196
217
|
*/
|
|
197
|
-
export declare const
|
|
218
|
+
export declare const update: <T extends Unknown>(obj: T, callback: internal.ChangeCallback<T>) => void;
|
|
198
219
|
/**
|
|
199
220
|
* Get a deeply nested property from an object.
|
|
200
221
|
*
|
|
@@ -223,7 +244,7 @@ export declare const getValue: (obj: Unknown | Snapshot, path: readonly (string
|
|
|
223
244
|
* whether to initialize nested data as an empty object or array.
|
|
224
245
|
*
|
|
225
246
|
* Similar to lodash.set and setDeep from @dxos/util, but schema-aware.
|
|
226
|
-
* Must be called within an `Obj.
|
|
247
|
+
* Must be called within an `Obj.update` callback.
|
|
227
248
|
*
|
|
228
249
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
229
250
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -237,8 +258,8 @@ export declare const getValue: (obj: Unknown | Snapshot, path: readonly (string
|
|
|
237
258
|
* ```ts
|
|
238
259
|
* const person = Obj.make(Person, { name: 'John' });
|
|
239
260
|
* // Person schema has: addresses: Schema.Array(Address)
|
|
240
|
-
* Obj.
|
|
241
|
-
* Obj.setValue(
|
|
261
|
+
* Obj.update(person, (obj) => {
|
|
262
|
+
* Obj.setValue(obj, ['addresses', 0, 'street'], '123 Main St');
|
|
242
263
|
* });
|
|
243
264
|
* // Creates: person.addresses = [{ street: '123 Main St' }]
|
|
244
265
|
* ```
|
|
@@ -258,8 +279,8 @@ export type ID = ObjectId;
|
|
|
258
279
|
* ```
|
|
259
280
|
*/
|
|
260
281
|
export declare const instanceOf: {
|
|
261
|
-
<S extends Type.
|
|
262
|
-
<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>;
|
|
263
284
|
};
|
|
264
285
|
/**
|
|
265
286
|
* Test if a snapshot is an instance of a schema.
|
|
@@ -275,8 +296,8 @@ export declare const instanceOf: {
|
|
|
275
296
|
* ```
|
|
276
297
|
*/
|
|
277
298
|
export declare const snapshotOf: {
|
|
278
|
-
<S extends Type.
|
|
279
|
-
<S extends Type.
|
|
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>>;
|
|
280
301
|
};
|
|
281
302
|
/**
|
|
282
303
|
* Get the DXN of the object.
|
|
@@ -285,18 +306,19 @@ export declare const snapshotOf: {
|
|
|
285
306
|
export declare const getDXN: (entity: Unknown | Snapshot) => DXN;
|
|
286
307
|
/**
|
|
287
308
|
* @returns The DXN of the object's type.
|
|
288
|
-
* @example dxn:example.
|
|
309
|
+
* @example dxn:com.example.type.person:1.0.0
|
|
310
|
+
* @throws If the object is missing its type (corrupted object).
|
|
289
311
|
*/
|
|
290
|
-
export declare const getTypeDXN: (obj:
|
|
312
|
+
export declare const getTypeDXN: (obj: Unknown | Snapshot) => DXN;
|
|
291
313
|
/**
|
|
292
314
|
* Get the schema of the object.
|
|
293
315
|
* Returns the branded ECHO schema used to create the object.
|
|
294
316
|
*/
|
|
295
|
-
export declare const getSchema: (obj:
|
|
317
|
+
export declare const getSchema: (obj: Unknown | Snapshot) => Type.AnyEntity | undefined;
|
|
296
318
|
/**
|
|
297
319
|
* @returns The typename of the object's type.
|
|
298
320
|
* Accepts both reactive objects and snapshots.
|
|
299
|
-
* @example `example.
|
|
321
|
+
* @example `com.example.type.person`
|
|
300
322
|
*/
|
|
301
323
|
export declare const getTypename: (entity: Unknown | Snapshot) => string | undefined;
|
|
302
324
|
/**
|
|
@@ -304,19 +326,24 @@ export declare const getTypename: (entity: Unknown | Snapshot) => string | undef
|
|
|
304
326
|
* Accepts both reactive objects and snapshots.
|
|
305
327
|
*/
|
|
306
328
|
export declare const getDatabase: (entity: Entity.Unknown | Entity.Snapshot) => Database.Database | undefined;
|
|
307
|
-
|
|
329
|
+
/**
|
|
330
|
+
* Property that accesses metadata for an entity.
|
|
331
|
+
*
|
|
332
|
+
* Alias for `Entity.Meta`.
|
|
333
|
+
*/
|
|
334
|
+
export declare const Meta: symbol;
|
|
308
335
|
/**
|
|
309
336
|
* Deeply read-only version of ObjectMeta.
|
|
310
337
|
* Prevents mutation at all nesting levels (e.g., `meta.keys.push()` is a TypeScript error).
|
|
311
338
|
*/
|
|
312
|
-
export type ReadonlyMeta =
|
|
339
|
+
export type ReadonlyMeta = internal.ReadonlyMeta;
|
|
313
340
|
/**
|
|
314
|
-
* Mutable meta type returned by `Obj.getMeta` inside an `Obj.
|
|
341
|
+
* Mutable meta type returned by `Obj.getMeta` inside an `Obj.update` callback.
|
|
315
342
|
*/
|
|
316
|
-
export type Meta =
|
|
343
|
+
export type Meta = internal.Meta;
|
|
317
344
|
/**
|
|
318
345
|
* Get the metadata for an object.
|
|
319
|
-
* Returns mutable meta when passed a mutable object (inside `Obj.
|
|
346
|
+
* Returns mutable meta when passed a mutable object (inside `Obj.update` callback).
|
|
320
347
|
* Returns read-only meta when passed a regular object or snapshot.
|
|
321
348
|
*
|
|
322
349
|
* @example
|
|
@@ -325,8 +352,8 @@ export type Meta = ApiMeta;
|
|
|
325
352
|
* const meta = Obj.getMeta(person); // ReadonlyMeta
|
|
326
353
|
*
|
|
327
354
|
* // Mutable access inside change callback
|
|
328
|
-
* Obj.
|
|
329
|
-
* const meta = Obj.getMeta(
|
|
355
|
+
* Obj.update(person, (obj) => {
|
|
356
|
+
* const meta = Obj.getMeta(obj); // ObjectMeta (mutable)
|
|
330
357
|
* meta.tags ??= [];
|
|
331
358
|
* meta.tags.push('important');
|
|
332
359
|
* });
|
|
@@ -344,7 +371,7 @@ export declare const getKeys: {
|
|
|
344
371
|
};
|
|
345
372
|
/**
|
|
346
373
|
* Delete all keys from the object for the specified source.
|
|
347
|
-
* Must be called within an `Obj.
|
|
374
|
+
* Must be called within an `Obj.update` callback.
|
|
348
375
|
*
|
|
349
376
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
350
377
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -352,7 +379,7 @@ export declare const getKeys: {
|
|
|
352
379
|
export declare const deleteKeys: (entity: Mutable<Unknown>, source: string) => void;
|
|
353
380
|
/**
|
|
354
381
|
* Add a tag to the object.
|
|
355
|
-
* Must be called within an `Obj.
|
|
382
|
+
* Must be called within an `Obj.update` callback.
|
|
356
383
|
*
|
|
357
384
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
358
385
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -360,7 +387,7 @@ export declare const deleteKeys: (entity: Mutable<Unknown>, source: string) => v
|
|
|
360
387
|
export declare const addTag: (entity: Mutable<Unknown>, tag: string) => void;
|
|
361
388
|
/**
|
|
362
389
|
* Remove a tag from the object.
|
|
363
|
-
* Must be called within an `Obj.
|
|
390
|
+
* Must be called within an `Obj.update` callback.
|
|
364
391
|
*
|
|
365
392
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
366
393
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -378,7 +405,7 @@ export declare const isDeleted: (entity: Unknown | Snapshot) => boolean;
|
|
|
378
405
|
export declare const getLabel: (entity: Unknown | Snapshot) => string | undefined;
|
|
379
406
|
/**
|
|
380
407
|
* Set the label of the object.
|
|
381
|
-
* Must be called within an `Obj.
|
|
408
|
+
* Must be called within an `Obj.update` callback.
|
|
382
409
|
*
|
|
383
410
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
384
411
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -391,7 +418,7 @@ export declare const setLabel: (entity: Mutable<Unknown>, label: string) => void
|
|
|
391
418
|
export declare const getDescription: (entity: Unknown | Snapshot) => string | undefined;
|
|
392
419
|
/**
|
|
393
420
|
* Set the description of the object.
|
|
394
|
-
* Must be called within an `Obj.
|
|
421
|
+
* Must be called within an `Obj.update` callback.
|
|
395
422
|
*
|
|
396
423
|
* NOTE: TypeScript's structural typing allows readonly objects to be passed to `Mutable<T>`
|
|
397
424
|
* parameters, so there is no compile-time error. Enforcement is runtime-only.
|
|
@@ -421,10 +448,24 @@ export declare const getParent: (entity: Unknown | Snapshot) => Unknown | undefi
|
|
|
421
448
|
* Only objects are allowed to have a parent.
|
|
422
449
|
*/
|
|
423
450
|
export declare const setParent: (entity: Unknown, parent: Any | undefined) => void;
|
|
451
|
+
interface UpdateFromOptions<T> {
|
|
452
|
+
exclude?: (keyof T)[];
|
|
453
|
+
include?: (keyof T)[];
|
|
454
|
+
}
|
|
455
|
+
/**
|
|
456
|
+
* For each key present on `source` (except `id`), assigns `target[key]` when the current value differs.
|
|
457
|
+
* References are compared by target DXN; other values use Effect `Equal.equals` inside a structural region,
|
|
458
|
+
* with recursive comparison for arrays and plain object-shaped property bags (excluding `id`).
|
|
459
|
+
*
|
|
460
|
+
* Must be called within an `Obj.update` callback.
|
|
461
|
+
*
|
|
462
|
+
* @returns Whether any property was updated.
|
|
463
|
+
*/
|
|
464
|
+
export declare const updateFrom: <T extends Unknown>(target: Mutable<T>, source: T, options?: UpdateFromOptions<T>) => boolean;
|
|
424
465
|
/**
|
|
425
466
|
* JSON representation of an object.
|
|
426
467
|
*/
|
|
427
|
-
export type JSON =
|
|
468
|
+
export type JSON = internal.ObjectJSON;
|
|
428
469
|
/**
|
|
429
470
|
* Converts object to its JSON representation.
|
|
430
471
|
* Accepts both reactive objects and snapshots.
|
|
@@ -440,31 +481,39 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
|
|
|
440
481
|
*
|
|
441
482
|
* @param options.refResolver - Resolver for references. Produces hydrated references that can be resolved.
|
|
442
483
|
* @param options.dxn - Override object DXN. Changes the result of `Obj.getDXN`.
|
|
484
|
+
* @param options.database - Database to associate with the object.
|
|
443
485
|
*/
|
|
444
486
|
export declare const fromJSON: (json: unknown, options?: {
|
|
445
487
|
refResolver?: Ref.Resolver;
|
|
446
488
|
dxn?: DXN;
|
|
489
|
+
database?: Database.Database;
|
|
490
|
+
parent?: Unknown;
|
|
447
491
|
}) => Promise<Unknown>;
|
|
448
492
|
/**
|
|
449
493
|
* Comparator function type for sorting objects.
|
|
450
494
|
* Accepts both reactive objects and snapshots.
|
|
451
495
|
*/
|
|
452
|
-
export type Comparator =
|
|
496
|
+
export type Comparator = internal.Comparator<Unknown | Snapshot>;
|
|
453
497
|
export declare const sortByLabel: Comparator;
|
|
454
498
|
export declare const sortByTypename: Comparator;
|
|
455
499
|
export declare const sort: (...comparators: Comparator[]) => Comparator;
|
|
456
|
-
export
|
|
457
|
-
export type
|
|
500
|
+
export declare const VersionTypeId: "~@dxos/echo/VersionTypeId";
|
|
501
|
+
export type VersionCompareResult = internal.VersionCompareResult;
|
|
458
502
|
/**
|
|
459
503
|
* Represent object version.
|
|
460
504
|
* May be backed by Automerge.
|
|
461
505
|
* Objects with no history are not versioned.
|
|
462
506
|
*/
|
|
463
|
-
export type Version =
|
|
464
|
-
export
|
|
507
|
+
export type Version = internal.EntityVersion;
|
|
508
|
+
export declare const isVersion: (entity: unknown) => entity is internal.EntityVersion;
|
|
509
|
+
export declare const versionValid: (ver: internal.EntityVersion) => boolean;
|
|
510
|
+
export declare const compareVersions: (version1: internal.EntityVersion, version2: internal.EntityVersion) => internal.VersionCompareResult;
|
|
511
|
+
export declare const encodeVersion: (ver: internal.EntityVersion) => string;
|
|
512
|
+
export declare const decodeVersion: (ver: string) => internal.EntityVersion;
|
|
465
513
|
/**
|
|
466
514
|
* Returns the version of the object.
|
|
467
515
|
* Accepts both reactive objects and snapshots.
|
|
468
516
|
*/
|
|
469
517
|
export declare const version: (entity: Unknown | Snapshot) => Version;
|
|
518
|
+
export {};
|
|
470
519
|
//# 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,YAAY,MAAM,CAAC,GAAG,MAAM,aAAa,QAAQ,CAAC,cAAc,KAAG,KAAK,CAAC,CAAC,CAKhG,CAAC;AAEL;;;GAGG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,cAAa,QAAQ,CAAC,cAAc,KAAY,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,74 +22,142 @@ 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>>;
|
|
63
66
|
/**
|
|
64
67
|
* Get the parent object of the current selection.
|
|
65
68
|
* @returns Query for the parent objects.
|
|
66
69
|
*/
|
|
67
|
-
parent(): Query<any>;
|
|
70
|
+
'parent'(): Query<any>;
|
|
68
71
|
/**
|
|
69
72
|
* Get all child objects of the current selection.
|
|
70
73
|
* @returns Query for the child objects.
|
|
71
74
|
*/
|
|
72
|
-
children(): Query<any>;
|
|
75
|
+
'children'(): Query<any>;
|
|
73
76
|
/**
|
|
74
77
|
* Order the query results.
|
|
75
78
|
* Orders are specified in priority order. The first order will be applied first, etc.
|
|
76
79
|
* @param order - Order to sort the results.
|
|
77
80
|
* @returns Query for the ordered results.
|
|
78
81
|
*/
|
|
79
|
-
orderBy(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
|
|
82
|
+
'orderBy'(...order: EffectArray.NonEmptyArray<Order.Order<T>>): Query<T>;
|
|
80
83
|
/**
|
|
81
84
|
* Limit the number of results.
|
|
82
85
|
* @param limit - Maximum number of results to return.
|
|
83
86
|
* @returns Query for the limited results.
|
|
84
87
|
*/
|
|
85
|
-
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>;
|
|
86
153
|
/**
|
|
87
154
|
* Add options to a query.
|
|
88
155
|
*/
|
|
89
|
-
options(options: QueryAST.QueryOptions): Query<T>;
|
|
156
|
+
'options'(options: QueryAST.QueryOptions): Query<T>;
|
|
157
|
+
/**
|
|
158
|
+
* Attach a diagnostic label for logs and tooling (execution semantics unchanged).
|
|
159
|
+
*/
|
|
160
|
+
'debugLabel'(label: string): Query<T>;
|
|
90
161
|
}
|
|
91
162
|
export type Any = Query<any>;
|
|
92
163
|
export type Type<Q extends Any> = Q extends Query<infer T> ? T : never;
|
|
@@ -107,7 +178,10 @@ export declare const select: <F extends Filter.Any>(filter: F) => Query<Filter.T
|
|
|
107
178
|
*
|
|
108
179
|
* Shorthand for: `Query.select(Filter.type(schema, predicates))`.
|
|
109
180
|
*/
|
|
110
|
-
export declare const type:
|
|
181
|
+
export declare const type: {
|
|
182
|
+
<S extends Schema.Schema.All>(schema: S, predicates?: Filter.Props<Schema.Schema.Type<S>>): Query<Schema.Schema.Type<S>>;
|
|
183
|
+
(schema: string, predicates?: Filter.Props<unknown>): Query<any>;
|
|
184
|
+
};
|
|
111
185
|
/**
|
|
112
186
|
* Combine results of multiple queries.
|
|
113
187
|
* @param queries - Queries to combine.
|
|
@@ -121,5 +195,19 @@ export declare const all: (...queries: Any[]) => Any;
|
|
|
121
195
|
* @returns Query for the results of the source query minus the results of the exclude query.
|
|
122
196
|
*/
|
|
123
197
|
export declare const without: <T>(source: Query<T>, exclude: Query<T>) => Query<T>;
|
|
198
|
+
/**
|
|
199
|
+
* Create a query scoped to a data source.
|
|
200
|
+
* The returned query selects everything from the source; chain `.select()` to narrow results.
|
|
201
|
+
*
|
|
202
|
+
* @param source - Data source: database, feed, 'all-accessible-spaces', or another query.
|
|
203
|
+
* @returns Query scoped to the given source.
|
|
204
|
+
*/
|
|
205
|
+
export declare const from: (source: Database.Database | Database.Database[] | Feed.Feed | Feed.Feed[] | Any | QueryAST.Scope | 'all-accessible-spaces', options?: {
|
|
206
|
+
includeFeeds?: boolean;
|
|
207
|
+
}) => Any;
|
|
208
|
+
/**
|
|
209
|
+
* Returns a human-readable string representation of a Query AST.
|
|
210
|
+
*/
|
|
211
|
+
export declare const pretty: (query: Any) => string;
|
|
124
212
|
export {};
|
|
125
213
|
//# sourceMappingURL=Query.d.ts.map
|