@dxos/echo 0.8.4-staging.ac66bdf99f → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +102 -5
- package/README.md +7 -7
- package/dist/lib/neutral/Annotation.mjs +37 -6
- package/dist/lib/neutral/Database.mjs +6 -17
- package/dist/lib/neutral/Entity.mjs +31 -20
- package/dist/lib/neutral/Err.mjs +3 -3
- package/dist/lib/neutral/Feed.mjs +23 -19
- package/dist/lib/neutral/Filter.mjs +13 -15
- package/dist/lib/neutral/Format.mjs +23 -3
- package/dist/lib/neutral/JsonSchema.mjs +7 -8
- package/dist/lib/neutral/Key.mjs +9 -5
- package/dist/lib/neutral/Migration.mjs +11 -10
- package/dist/lib/neutral/Obj.mjs +29 -20
- package/dist/lib/neutral/Order.mjs +7 -3
- package/dist/lib/neutral/Query.mjs +17 -17
- package/dist/lib/neutral/QueryResult.mjs +1 -1
- package/dist/lib/neutral/Ref.mjs +10 -9
- package/dist/lib/neutral/Registry.mjs +14 -0
- package/dist/lib/neutral/Relation.mjs +28 -25
- package/dist/lib/neutral/Scope.mjs +12 -0
- package/dist/lib/neutral/Tag.mjs +17 -14
- package/dist/lib/neutral/Type.mjs +54 -26
- package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-35INCYOE.mjs} +1 -1
- package/dist/lib/neutral/chunk-35INCYOE.mjs.map +7 -0
- package/dist/lib/neutral/chunk-3PBP4V4O.mjs +101 -0
- package/dist/lib/neutral/chunk-3PBP4V4O.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4ZUHOTCG.mjs +184 -0
- package/dist/lib/neutral/chunk-4ZUHOTCG.mjs.map +7 -0
- package/dist/lib/neutral/chunk-5SMDBFVB.mjs +108 -0
- package/dist/lib/neutral/chunk-5SMDBFVB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-OS35K56T.mjs → chunk-5SUJPHAE.mjs} +3 -3
- package/dist/lib/neutral/{chunk-OS35K56T.mjs.map → chunk-5SUJPHAE.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-GZQTCRJB.mjs → chunk-6M2Z6WBH.mjs} +22 -2
- package/dist/lib/neutral/chunk-6M2Z6WBH.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-V36VO5SS.mjs → chunk-6YDI3J37.mjs} +32 -40
- package/dist/lib/neutral/chunk-6YDI3J37.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-MOR5ERFM.mjs → chunk-7FPIAJIV.mjs} +701 -1256
- package/dist/lib/neutral/chunk-7FPIAJIV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7LOUAPYZ.mjs} +9 -5
- package/dist/lib/neutral/chunk-7LOUAPYZ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-JUXPFOEI.mjs → chunk-7PI7C4EF.mjs} +48 -88
- package/dist/lib/neutral/chunk-7PI7C4EF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UBEZSGXY.mjs → chunk-BBFJWWAV.mjs} +6 -6
- package/dist/lib/neutral/chunk-BBFJWWAV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UI6MWK5W.mjs → chunk-EVK6XBXO.mjs} +16 -2
- package/dist/lib/neutral/chunk-EVK6XBXO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs → chunk-IGK6FN65.mjs} +2 -2
- package/dist/lib/neutral/{chunk-HBUZJNZO.mjs → chunk-LWXVKPPW.mjs} +94 -99
- package/dist/lib/neutral/chunk-LWXVKPPW.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BVOFLCVF.mjs → chunk-MZ7K3MLL.mjs} +9 -6
- package/dist/lib/neutral/chunk-MZ7K3MLL.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TBKX6JQO.mjs → chunk-O6BH7EPN.mjs} +30 -3
- package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-EAMSSLZC.mjs → chunk-QQIYS74I.mjs} +83 -46
- package/dist/lib/neutral/chunk-QQIYS74I.mjs.map +7 -0
- package/dist/lib/neutral/chunk-R5W6DXR4.mjs +678 -0
- package/dist/lib/neutral/chunk-R5W6DXR4.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WAK4DMFV.mjs → chunk-RIVWNMSF.mjs} +12 -7
- package/dist/lib/neutral/chunk-RIVWNMSF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-T6W2LEZU.mjs → chunk-SBVFRTST.mjs} +73 -38
- package/dist/lib/neutral/chunk-SBVFRTST.mjs.map +7 -0
- package/dist/lib/neutral/chunk-T6E37YIP.mjs +251 -0
- package/dist/lib/neutral/chunk-T6E37YIP.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-DQYLD2RB.mjs → chunk-TFEWTY5A.mjs} +155 -129
- package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-B4BASU6W.mjs → chunk-TYGKCRMK.mjs} +85 -76
- package/dist/lib/neutral/chunk-TYGKCRMK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-4OIBYSXE.mjs → chunk-UUP46KUQ.mjs} +78 -32
- package/dist/lib/neutral/chunk-UUP46KUQ.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WISOH2XH.mjs +36 -0
- package/dist/lib/neutral/chunk-WISOH2XH.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-G3IQMKF7.mjs → chunk-WTQJHC75.mjs} +111 -112
- package/dist/lib/neutral/chunk-WTQJHC75.mjs.map +7 -0
- package/dist/lib/neutral/chunk-WU3GIANS.mjs +31 -0
- package/dist/lib/neutral/chunk-WU3GIANS.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TU3GW67D.mjs → chunk-ZGNNFYHS.mjs} +40 -40
- package/dist/lib/neutral/chunk-ZGNNFYHS.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +47 -41
- package/dist/lib/neutral/internal/index.mjs +137 -72
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +261 -178
- package/dist/lib/neutral/testing/index.mjs.map +4 -4
- package/dist/types/src/Annotation.d.ts +108 -4
- package/dist/types/src/Annotation.d.ts.map +1 -1
- package/dist/types/src/Annotation.test.d.ts +2 -0
- package/dist/types/src/Annotation.test.d.ts.map +1 -0
- package/dist/types/src/Collection.d.ts +2 -3
- package/dist/types/src/Collection.d.ts.map +1 -1
- package/dist/types/src/Database.d.ts +56 -49
- package/dist/types/src/Database.d.ts.map +1 -1
- package/dist/types/src/Dataset.d.ts +16 -6
- package/dist/types/src/Dataset.d.ts.map +1 -1
- package/dist/types/src/Entity.d.ts +101 -28
- package/dist/types/src/Entity.d.ts.map +1 -1
- package/dist/types/src/Err.d.ts +27 -27
- package/dist/types/src/Err.d.ts.map +1 -1
- package/dist/types/src/Feed.d.ts +66 -19
- package/dist/types/src/Feed.d.ts.map +1 -1
- package/dist/types/src/Filter.d.ts +38 -12
- package/dist/types/src/Filter.d.ts.map +1 -1
- package/dist/types/src/Format.d.ts +0 -2
- package/dist/types/src/Format.d.ts.map +1 -1
- package/dist/types/src/Hypergraph.d.ts +14 -9
- 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 +2 -2
- package/dist/types/src/JsonSchema.d.ts.map +1 -1
- package/dist/types/src/Key.d.ts +1 -1
- package/dist/types/src/Key.d.ts.map +1 -1
- package/dist/types/src/Migration.d.ts +26 -11
- package/dist/types/src/Migration.d.ts.map +1 -1
- package/dist/types/src/Obj.d.ts +104 -61
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/Order.d.ts +10 -0
- package/dist/types/src/Order.d.ts.map +1 -1
- package/dist/types/src/Query.d.ts +34 -12
- package/dist/types/src/Query.d.ts.map +1 -1
- package/dist/types/src/QueryResult.d.ts +21 -0
- package/dist/types/src/QueryResult.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +15 -7
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Registry.d.ts +131 -0
- package/dist/types/src/Registry.d.ts.map +1 -0
- package/dist/types/src/Relation.d.ts +73 -41
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Scope.d.ts +35 -0
- package/dist/types/src/Scope.d.ts.map +1 -0
- package/dist/types/src/Tag.d.ts +21 -5
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +362 -95
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/View.d.ts +9 -12
- package/dist/types/src/View.d.ts.map +1 -1
- 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 +4 -3
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +79 -38
- package/dist/types/src/internal/Annotation/annotations.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/dictionary.d.ts +24 -0
- package/dist/types/src/internal/Annotation/dictionary.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/entity-dictionary.d.ts +14 -0
- package/dist/types/src/internal/Annotation/entity-dictionary.d.ts.map +1 -0
- package/dist/types/src/internal/Annotation/index.d.ts +4 -2
- package/dist/types/src/internal/Annotation/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/sorting.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/util.d.ts +14 -5
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/api.d.ts +17 -3
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/entity.d.ts +72 -8
- package/dist/types/src/internal/Entity/entity.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/guard.d.ts +10 -0
- package/dist/types/src/internal/Entity/guard.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/index.d.ts +2 -0
- package/dist/types/src/internal/Entity/index.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/model.d.ts +21 -17
- package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/object.d.ts +3 -3
- package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/relation.d.ts +30 -7
- package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/type-kind.d.ts +24 -0
- package/dist/types/src/internal/Entity/type-kind.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/type-uri.d.ts +24 -0
- package/dist/types/src/internal/Entity/type-uri.d.ts.map +1 -0
- package/dist/types/src/internal/Entity/version.d.ts.map +1 -1
- package/dist/types/src/internal/Format/date.d.ts.map +1 -1
- package/dist/types/src/internal/Format/format.d.ts +3 -2
- package/dist/types/src/internal/Format/format.d.ts.map +1 -1
- package/dist/types/src/internal/Format/index.d.ts +2 -2
- package/dist/types/src/internal/Format/index.d.ts.map +1 -1
- package/dist/types/src/internal/Format/number.d.ts.map +1 -1
- package/dist/types/src/internal/Format/object.d.ts +3 -1
- package/dist/types/src/internal/Format/object.d.ts.map +1 -1
- package/dist/types/src/internal/Format/types.d.ts.map +1 -1
- package/dist/types/src/internal/JsonSchema/json-schema-normalize.d.ts.map +1 -1
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts +34 -34
- package/dist/types/src/internal/JsonSchema/json-schema-type.d.ts.map +1 -1
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts +3 -2
- package/dist/types/src/internal/JsonSchema/json-schema.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/atoms.d.ts +38 -0
- package/dist/types/src/internal/Obj/atoms.d.ts.map +1 -0
- package/dist/types/src/internal/Obj/clone.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/common.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/create-object.d.ts +12 -12
- package/dist/types/src/internal/Obj/create-object.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/index.d.ts +1 -1
- package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/json-serializer.d.ts +8 -8
- package/dist/types/src/internal/Obj/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/set-value.d.ts +1 -1
- package/dist/types/src/internal/Obj/set-value.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/snapshot.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/typed-object.d.ts +1 -1
- package/dist/types/src/internal/Query/index.d.ts +2 -0
- package/dist/types/src/internal/Query/index.d.ts.map +1 -0
- package/dist/types/src/internal/{Query.d.ts → Query/pretty.d.ts} +1 -1
- package/dist/types/src/internal/Query/pretty.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/atoms.d.ts +10 -0
- package/dist/types/src/internal/Ref/atoms.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
- package/dist/types/src/internal/Ref/ref.d.ts +50 -19
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
- package/dist/types/src/internal/Ref/utils.d.ts +8 -0
- package/dist/types/src/internal/Ref/utils.d.ts.map +1 -0
- package/dist/types/src/internal/Type/compose.d.ts.map +1 -1
- package/dist/types/src/internal/Type/index.d.ts +1 -2
- package/dist/types/src/internal/Type/index.d.ts.map +1 -1
- package/dist/types/src/internal/Type/manipulation.d.ts +0 -1
- package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
- package/dist/types/src/internal/Type/type-schema.d.ts +52 -0
- package/dist/types/src/internal/Type/type-schema.d.ts.map +1 -0
- package/dist/types/src/internal/common/api/meta.d.ts +14 -11
- package/dist/types/src/internal/common/api/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/change-context.d.ts +1 -1
- package/dist/types/src/internal/common/proxy/change-context.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/define-hidden-property.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/errors.d.ts +1 -1
- package/dist/types/src/internal/common/proxy/errors.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/event-batch.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/json-serializer.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/make-object.d.ts +11 -5
- package/dist/types/src/internal/common/proxy/make-object.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/ownership.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/proxy-utils.d.ts.map +1 -1
- package/dist/types/src/internal/common/proxy/reactive-array.d.ts +1 -1
- package/dist/types/src/internal/common/proxy/reactive.d.ts +1 -1
- package/dist/types/src/internal/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 -1
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts +18 -2
- package/dist/types/src/internal/common/proxy/typed-handler.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/base.d.ts +4 -4
- package/dist/types/src/internal/common/types/base.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/entity.d.ts +62 -5
- package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/index.d.ts +1 -1
- package/dist/types/src/internal/common/types/index.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/meta.d.ts +33 -12
- package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/model-symbols.d.ts +15 -4
- package/dist/types/src/internal/common/types/model-symbols.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/typename.d.ts +7 -0
- package/dist/types/src/internal/common/types/typename.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/version.d.ts +1 -1
- package/dist/types/src/internal/common/types/well-known-types.d.ts +11 -0
- package/dist/types/src/internal/common/types/well-known-types.d.ts.map +1 -0
- package/dist/types/src/internal/index.d.ts +2 -2
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/testing/index.d.ts +1 -0
- package/dist/types/src/testing/index.d.ts.map +1 -1
- package/dist/types/src/testing/registry.d.ts +9 -0
- package/dist/types/src/testing/registry.d.ts.map +1 -0
- package/dist/types/src/testing/test-data.d.ts +8 -8
- package/dist/types/src/testing/test-data.d.ts.map +1 -1
- package/dist/types/src/testing/test-schema.d.ts +83 -89
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts +5 -3
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +26 -24
- package/src/Annotation.test.ts +439 -0
- package/src/Annotation.ts +158 -4
- package/src/Collection.ts +5 -9
- package/src/Database.ts +93 -100
- package/src/Dataset.ts +10 -2
- package/src/Entity.test.ts +116 -6
- package/src/Entity.ts +134 -32
- package/src/Err.ts +4 -4
- package/src/Feed.ts +92 -44
- package/src/Filter.ts +70 -40
- package/src/Format.ts +0 -4
- package/src/Hypergraph.ts +14 -9
- package/src/Json.test.ts +175 -0
- package/src/Json.ts +103 -0
- package/src/Key.ts +1 -1
- package/src/Migration.ts +39 -19
- package/src/Obj.test.ts +122 -20
- package/src/Obj.ts +168 -91
- package/src/Order.ts +22 -0
- package/src/Query.test.ts +183 -154
- package/src/Query.ts +172 -85
- package/src/QueryResult.ts +26 -0
- package/src/Ref.ts +22 -4
- package/src/Registry.ts +155 -0
- package/src/Relation.test.ts +10 -10
- package/src/Relation.ts +116 -69
- package/src/Scope.ts +50 -0
- package/src/Tag.md +88 -0
- package/src/Tag.ts +49 -6
- package/src/Type.test.ts +223 -18
- package/src/Type.ts +609 -131
- package/src/View.ts +14 -23
- package/src/exemplars.test.ts +21 -0
- package/src/index.ts +4 -4
- package/src/internal/Annotation/annotations.test.ts +31 -11
- package/src/internal/Annotation/annotations.ts +143 -111
- package/src/internal/Annotation/dictionary.ts +47 -0
- package/src/internal/Annotation/entity-dictionary.ts +74 -0
- package/src/internal/Annotation/index.ts +4 -2
- package/src/internal/Annotation/util.ts +17 -8
- package/src/internal/Entity/api.ts +54 -7
- package/src/internal/Entity/entity.ts +196 -47
- package/src/internal/Entity/guard.ts +26 -0
- package/src/internal/Entity/index.ts +2 -0
- package/src/internal/Entity/model.ts +38 -28
- package/src/internal/Entity/object.ts +21 -5
- package/src/internal/Entity/relation.ts +68 -34
- package/src/internal/Entity/type-kind.ts +75 -0
- package/src/internal/Entity/type-uri.ts +92 -0
- package/src/internal/Entity/util.ts +9 -9
- package/src/internal/Format/date.ts +0 -4
- package/src/internal/Format/format.test.ts +21 -0
- package/src/internal/Format/index.ts +2 -3
- package/src/internal/Format/object.ts +21 -4
- package/src/internal/Format/types.ts +1 -1
- package/src/internal/JsonSchema/annotations.ts +1 -1
- package/src/internal/JsonSchema/json-schema-type.ts +4 -4
- package/src/internal/JsonSchema/json-schema.test.ts +71 -145
- package/src/internal/JsonSchema/json-schema.ts +49 -35
- package/src/internal/Obj/atoms.ts +244 -0
- package/src/internal/Obj/clone.ts +9 -4
- package/src/internal/Obj/create-object.test.ts +12 -10
- package/src/internal/Obj/create-object.ts +68 -22
- package/src/internal/Obj/index.ts +1 -1
- package/src/internal/Obj/inspect.ts +5 -3
- package/src/internal/Obj/json-serializer.test.ts +101 -22
- package/src/internal/Obj/json-serializer.ts +89 -33
- package/src/internal/Obj/set-value.test.ts +22 -45
- package/src/internal/Obj/set-value.ts +12 -19
- package/src/internal/Obj/snapshot.ts +13 -4
- package/src/internal/Obj/typed-object.test.ts +9 -11
- package/src/internal/Obj/typed-object.ts +1 -1
- package/src/internal/Query/index.ts +5 -0
- package/src/internal/{Query.ts → Query/pretty.ts} +40 -12
- package/src/internal/Ref/atoms.ts +20 -0
- package/src/internal/Ref/ref-array.ts +3 -3
- package/src/internal/Ref/ref.test.ts +18 -27
- package/src/internal/Ref/ref.ts +137 -59
- package/src/internal/Ref/utils.ts +45 -0
- package/src/internal/Type/compose.test.ts +3 -1
- package/src/internal/Type/index.ts +1 -2
- package/src/internal/Type/manipulation.ts +0 -25
- package/src/internal/Type/type-schema.ts +60 -0
- package/src/internal/common/README.md +2 -2
- package/src/internal/common/api/meta.ts +19 -17
- package/src/internal/common/proxy/change-context.ts +1 -1
- package/src/internal/common/proxy/change.test.ts +91 -83
- package/src/internal/common/proxy/errors.ts +2 -2
- package/src/internal/common/proxy/handler.test.ts +1 -1
- package/src/internal/common/proxy/json-serializer.ts +27 -16
- package/src/internal/common/proxy/make-object.ts +44 -20
- package/src/internal/common/proxy/ownership.ts +2 -2
- package/src/internal/common/proxy/reactive-array.ts +1 -1
- package/src/internal/common/proxy/reactive.test.ts +54 -0
- package/src/internal/common/proxy/reactive.ts +11 -2
- package/src/internal/common/proxy/schema.test.ts +48 -86
- package/src/internal/common/proxy/typed-handler.test.ts +12 -11
- package/src/internal/common/proxy/typed-handler.ts +78 -16
- package/src/internal/common/proxy/typed-object.test.ts +16 -28
- package/src/internal/common/types/base.ts +4 -4
- package/src/internal/common/types/entity.ts +80 -1
- package/src/internal/common/types/index.ts +6 -1
- package/src/internal/common/types/meta.ts +62 -20
- package/src/internal/common/types/model-symbols.ts +24 -4
- package/src/internal/common/types/typename.ts +39 -3
- package/src/internal/common/types/well-known-types.ts +15 -0
- package/src/internal/index.ts +6 -4
- package/src/testing/api.test.ts +15 -9
- package/src/testing/index.ts +1 -0
- package/src/testing/registry.ts +44 -0
- package/src/testing/test-data.ts +159 -99
- package/src/testing/test-schema.ts +22 -58
- package/src/testing/util.ts +14 -11
- package/dist/lib/neutral/Extension.mjs +0 -18
- package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
- package/dist/lib/neutral/chunk-2KHZ36F5.mjs +0 -361
- package/dist/lib/neutral/chunk-2KHZ36F5.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4OIBYSXE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4P3IXBLT.mjs +0 -45
- package/dist/lib/neutral/chunk-4P3IXBLT.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B4BASU6W.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BNCCGLJN.mjs +0 -7
- package/dist/lib/neutral/chunk-BNCCGLJN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BVOFLCVF.mjs.map +0 -7
- package/dist/lib/neutral/chunk-DQYLD2RB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EAMSSLZC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-G3IQMKF7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-GZQTCRJB.mjs.map +0 -7
- package/dist/lib/neutral/chunk-HBUZJNZO.mjs.map +0 -7
- package/dist/lib/neutral/chunk-JUXPFOEI.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MOR5ERFM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-PHU22NLC.mjs +0 -136
- package/dist/lib/neutral/chunk-PHU22NLC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ROG4RXXL.mjs +0 -97
- package/dist/lib/neutral/chunk-ROG4RXXL.mjs.map +0 -7
- package/dist/lib/neutral/chunk-T6W2LEZU.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TBKX6JQO.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TU3GW67D.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UI6MWK5W.mjs.map +0 -7
- package/dist/lib/neutral/chunk-V36VO5SS.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WAK4DMFV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YAHXAYOW.mjs +0 -56
- package/dist/lib/neutral/chunk-YAHXAYOW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YS6Q3XAD.mjs +0 -50
- package/dist/lib/neutral/chunk-YS6Q3XAD.mjs.map +0 -7
- package/dist/types/src/Extension.d.ts +0 -80
- package/dist/types/src/Extension.d.ts.map +0 -1
- package/dist/types/src/Extension.test.d.ts +0 -2
- package/dist/types/src/Extension.test.d.ts.map +0 -1
- package/dist/types/src/SchemaRegistry.d.ts +0 -84
- package/dist/types/src/SchemaRegistry.d.ts.map +0 -1
- package/dist/types/src/internal/Obj/ids.d.ts +0 -6
- package/dist/types/src/internal/Obj/ids.d.ts.map +0 -1
- package/dist/types/src/internal/Query.d.ts.map +0 -1
- package/dist/types/src/internal/Type/echo-schema.d.ts +0 -181
- package/dist/types/src/internal/Type/echo-schema.d.ts.map +0 -1
- package/dist/types/src/internal/Type/persistent-schema.d.ts +0 -20
- package/dist/types/src/internal/Type/persistent-schema.d.ts.map +0 -1
- package/src/Extension.test.ts +0 -235
- package/src/Extension.ts +0 -122
- package/src/SchemaRegistry.ts +0 -106
- package/src/internal/Obj/ids.ts +0 -12
- package/src/internal/Type/echo-schema.ts +0 -423
- package/src/internal/Type/persistent-schema.ts +0 -33
- /package/dist/lib/neutral/{Extension.mjs.map → Registry.mjs.map} +0 -0
- /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Scope.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-7RO7CPBZ.mjs.map → chunk-IGK6FN65.mjs.map} +0 -0
|
@@ -1,29 +1,32 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
1
2
|
import type { ForeignKey } from '@dxos/echo-protocol';
|
|
2
|
-
import type {
|
|
3
|
+
import type { EntityId, URI } from '@dxos/keys';
|
|
3
4
|
import * as internal from './internal';
|
|
5
|
+
import type * as Ref from './Ref';
|
|
4
6
|
import type * as Relation from './Relation';
|
|
5
|
-
import type * as
|
|
7
|
+
import type * as Tag from './Tag';
|
|
8
|
+
import * as Type from './Type';
|
|
6
9
|
export declare const KindId: "~@dxos/echo/Kind";
|
|
7
10
|
export type KindId = typeof internal.KindId;
|
|
8
11
|
export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
|
|
9
12
|
export type SnapshotKindId = typeof internal.SnapshotKindId;
|
|
10
13
|
export declare const Kind: typeof internal.EntityKind;
|
|
11
14
|
export type Kind = internal.EntityKind;
|
|
12
|
-
export declare const KindSchema:
|
|
15
|
+
export declare const KindSchema: Schema.Enums<typeof internal.EntityKind>;
|
|
13
16
|
/**
|
|
14
17
|
* Assigns a kind to an Object or Relation instance.
|
|
15
18
|
* NOTE: Needed to make `isRelation` and `isObject` checks work.
|
|
16
19
|
*/
|
|
17
20
|
export interface OfKind<K extends Kind> {
|
|
18
21
|
readonly [KindId]: K;
|
|
19
|
-
readonly id:
|
|
22
|
+
readonly id: EntityId;
|
|
20
23
|
}
|
|
21
24
|
/**
|
|
22
25
|
* Assigns a snapshot kind to an Object or Relation snapshot.
|
|
23
26
|
*/
|
|
24
27
|
export interface SnapshotOfKind<K extends Kind> {
|
|
25
28
|
readonly [SnapshotKindId]: K;
|
|
26
|
-
readonly id:
|
|
29
|
+
readonly id: EntityId;
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
32
|
* Obj or Relation with a specific set of properties.
|
|
@@ -34,6 +37,22 @@ export type Entity<Props> = OfKind<Kind> & Props;
|
|
|
34
37
|
*/
|
|
35
38
|
export interface Unknown extends OfKind<Kind> {
|
|
36
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Effect Schema for any ECHO entity (object or relation).
|
|
42
|
+
*
|
|
43
|
+
* Kind-agnostic counterpart to `Obj.Unknown` / `Relation.Unknown` — validates
|
|
44
|
+
* the structural shape (id + properties) without constraining `[KindId]`. Used
|
|
45
|
+
* in operation input schemas that accept any entity flavour (e.g.
|
|
46
|
+
* `Schema.Array(Entity.Unknown)`).
|
|
47
|
+
*
|
|
48
|
+
* The cast bridges the runtime structural schema to the branded `Unknown` type:
|
|
49
|
+
* `[KindId]` is a symbol brand that can't be expressed in a runtime `Struct`,
|
|
50
|
+
* so the entity guarantee is carried at the type level only (same approach as
|
|
51
|
+
* `Obj.Unknown` / `Relation.Unknown`). Unlike those, this is kind-agnostic so it
|
|
52
|
+
* isn't an `UnknownTypeSchema<_, K>` (there's no single `K`) and carries no
|
|
53
|
+
* `TypeAnnotation`.
|
|
54
|
+
*/
|
|
55
|
+
export declare const Unknown: Schema.Schema<Unknown>;
|
|
37
56
|
/**
|
|
38
57
|
* Snapshot of an Obj or Relation.
|
|
39
58
|
* Branded with SnapshotKindId instead of KindId.
|
|
@@ -61,12 +80,29 @@ export type Properties<T> = Omit<T, 'id' | KindId | Relation.Source | Relation.T
|
|
|
61
80
|
* Returns `false` for snapshots.
|
|
62
81
|
*/
|
|
63
82
|
export declare const isEntity: (value: unknown) => value is Unknown;
|
|
83
|
+
/**
|
|
84
|
+
* Test if a value is an instance of a given object or relation type.
|
|
85
|
+
*
|
|
86
|
+
* Kind-agnostic counterpart to `Obj.instanceOf` / `Relation.instanceOf` —
|
|
87
|
+
* use this when the caller's input type is `Type.AnyObj | Type.AnyRelation`.
|
|
88
|
+
*
|
|
89
|
+
* @example
|
|
90
|
+
* ```ts
|
|
91
|
+
* // Caller doesn't know whether `type` is object- or relation-kind.
|
|
92
|
+
* const matches = <T extends Type.AnyObj | Type.AnyRelation>(type: T, value: unknown) =>
|
|
93
|
+
* Entity.instanceOf(type, value);
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
export declare const instanceOf: {
|
|
97
|
+
<S extends Type.AnyEntity>(schema: S): (value: unknown) => value is Type.InstanceType<S>;
|
|
98
|
+
<S extends Type.AnyEntity>(schema: S, value: unknown): value is Type.InstanceType<S>;
|
|
99
|
+
};
|
|
64
100
|
/**
|
|
65
101
|
* Check if a value is an ECHO entity snapshot.
|
|
66
102
|
* Returns `false` for entities.
|
|
67
103
|
*/
|
|
68
104
|
export declare const isSnapshot: (value: unknown) => value is Snapshot;
|
|
69
|
-
export declare const getKind: (schema:
|
|
105
|
+
export declare const getKind: (schema: Schema.Schema.All) => internal.EntityKind | undefined;
|
|
70
106
|
/**
|
|
71
107
|
* Property that accesses metadata for an entity.
|
|
72
108
|
*/
|
|
@@ -80,22 +116,44 @@ export type Meta = typeof Meta;
|
|
|
80
116
|
*/
|
|
81
117
|
export type JSON = internal.ObjectJSON;
|
|
82
118
|
/**
|
|
83
|
-
*
|
|
119
|
+
* Any value the read accessors operate on: a reactive entity or a snapshot.
|
|
120
|
+
* Type entities (`Type.AnyEntity`) are also accepted — they're first-class
|
|
121
|
+
* entities, and `Unknown`'s kind-agnostic brand already subsumes them.
|
|
84
122
|
*/
|
|
85
|
-
export
|
|
123
|
+
export type AnyInput = Unknown | Snapshot;
|
|
86
124
|
/**
|
|
87
|
-
* Get the
|
|
125
|
+
* Get the canonical URI of an entity (object, relation, or type). Returns `URI.URI` —
|
|
126
|
+
* an `EID` for object/relation instances and persisted types, or a typename
|
|
127
|
+
* `DXN` for static type entities; narrow with `EID.parse(uri)` or
|
|
128
|
+
* `DXN.tryMake(uri)` at the point of use.
|
|
129
|
+
*
|
|
130
|
+
* @param options.prefer - Controls the URI form (see {@link internal.GetURIOptions}).
|
|
131
|
+
*/
|
|
132
|
+
export declare const getURI: (entity: AnyInput, options?: internal.GetURIOptions) => URI.URI;
|
|
133
|
+
/**
|
|
134
|
+
* Get the DXN of an entity's type. For object/relation instances this is the URI
|
|
135
|
+
* of the type they were created from; for a type entity it is the URI of the
|
|
136
|
+
* meta-type ({@link Type.Type}, `dxn:org.dxos.type.schema:0.1.0`).
|
|
88
137
|
*/
|
|
89
|
-
export declare const
|
|
138
|
+
export declare const getTypeURI: (entity: AnyInput) => URI.URI | undefined;
|
|
90
139
|
/**
|
|
91
|
-
* Get the
|
|
92
|
-
*
|
|
140
|
+
* Get the type entity (`Type.AnyEntity`) the instance was created from.
|
|
141
|
+
*
|
|
142
|
+
* Returns `undefined` when the entity's type isn't registered in this runtime
|
|
143
|
+
* (e.g. a freshly deserialized snapshot whose type entity hasn't been wired
|
|
144
|
+
* up yet, or an entity loaded from storage before its schema is known). To
|
|
145
|
+
* get the Effect Schema from the returned entity, use `Type.getSchema(...)`.
|
|
146
|
+
*
|
|
147
|
+
* For a type entity, returns the meta-type {@link Type.Type} (a type entity's
|
|
148
|
+
* type is "Type").
|
|
93
149
|
*/
|
|
94
|
-
export declare const
|
|
150
|
+
export declare const getType: (entity: AnyInput) => Type.AnyEntity | undefined;
|
|
95
151
|
/**
|
|
96
|
-
* Get the typename of an entity's type.
|
|
152
|
+
* Get the typename of an entity's type. For object/relation instances this is the
|
|
153
|
+
* typename of the type they were created from; for a type entity it is the type's
|
|
154
|
+
* own typename (e.g. `com.example.type.person`).
|
|
97
155
|
*/
|
|
98
|
-
export declare const getTypename: (entity:
|
|
156
|
+
export declare const getTypename: (entity: AnyInput) => string | undefined;
|
|
99
157
|
/**
|
|
100
158
|
* Get the database an entity belongs to.
|
|
101
159
|
*/
|
|
@@ -105,7 +163,7 @@ export declare const getDatabase: (entity: Unknown | Snapshot) => any | undefine
|
|
|
105
163
|
* Returns mutable meta when passed a mutable entity (inside change callback).
|
|
106
164
|
* Returns read-only meta when passed a regular entity or snapshot.
|
|
107
165
|
*/
|
|
108
|
-
export declare function getMeta(entity: Mutable<Unknown>): internal.
|
|
166
|
+
export declare function getMeta(entity: Mutable<Unknown>): internal.EntityMeta;
|
|
109
167
|
export declare function getMeta(entity: Unknown | Snapshot): internal.ReadonlyMeta;
|
|
110
168
|
/**
|
|
111
169
|
* Get foreign keys for an entity from the specified source.
|
|
@@ -117,12 +175,26 @@ export declare const getKeys: (entity: Unknown | Snapshot, source: string) => Fo
|
|
|
117
175
|
export declare const isDeleted: (entity: Unknown | Snapshot) => boolean;
|
|
118
176
|
/**
|
|
119
177
|
* Get the label of an entity.
|
|
178
|
+
*
|
|
179
|
+
* @param options.fallback `'typename'` returns the entity's typename when no
|
|
180
|
+
* label is set (e.g. `org.dxos.type.table`).
|
|
181
|
+
*/
|
|
182
|
+
export declare const getLabel: (entity: Unknown | Snapshot, options?: internal.GetLabelOptions) => string | undefined;
|
|
183
|
+
/**
|
|
184
|
+
* Set the label of an entity.
|
|
185
|
+
* Must be called within an `Entity.update` / `Obj.update` / `Relation.update` callback.
|
|
120
186
|
*/
|
|
121
|
-
export declare const
|
|
187
|
+
export declare const setLabel: (entity: Mutable<Unknown>, label: string) => void;
|
|
122
188
|
/**
|
|
123
189
|
* Get the description of an entity.
|
|
124
190
|
*/
|
|
125
191
|
export declare const getDescription: (entity: Unknown | Snapshot) => string | undefined;
|
|
192
|
+
/**
|
|
193
|
+
* Get the icon annotation for an entity (object or relation), resolved via its type-level
|
|
194
|
+
* `IconAnnotation`. Returns the full `{ icon, hue }` annotation so callers can use both
|
|
195
|
+
* the phosphor icon name and the suggested colour.
|
|
196
|
+
*/
|
|
197
|
+
export declare const getIcon: (entity: Unknown | Snapshot) => internal.IconAnnotation | undefined;
|
|
126
198
|
/**
|
|
127
199
|
* Convert an entity to its JSON representation.
|
|
128
200
|
*/
|
|
@@ -133,14 +205,14 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
|
|
|
133
205
|
*/
|
|
134
206
|
export declare const subscribe: (entity: Unknown, callback: () => void) => (() => void);
|
|
135
207
|
/**
|
|
136
|
-
* Used to provide a mutable view of an entity within `Entity.
|
|
208
|
+
* Used to provide a mutable view of an entity within `Entity.update`.
|
|
137
209
|
*/
|
|
138
210
|
export type Mutable<T> = internal.Mutable<T>;
|
|
139
211
|
/**
|
|
140
212
|
* Perform mutations on an entity (object or relation) within a change context.
|
|
141
213
|
*
|
|
142
214
|
* Entities are read-only by default. Mutations are batched and notifications fire
|
|
143
|
-
* when the callback completes. Direct mutations outside of `Entity.
|
|
215
|
+
* when the callback completes. Direct mutations outside of `Entity.update` will throw
|
|
144
216
|
* at runtime.
|
|
145
217
|
*
|
|
146
218
|
* @param entity - The echo entity (object or relation) to mutate.
|
|
@@ -148,27 +220,28 @@ export type Mutable<T> = internal.Mutable<T>;
|
|
|
148
220
|
*
|
|
149
221
|
* @example
|
|
150
222
|
* ```typescript
|
|
151
|
-
* // Mutate within Entity.
|
|
152
|
-
* Entity.
|
|
223
|
+
* // Mutate within Entity.update
|
|
224
|
+
* Entity.update(entity, (obj) => {
|
|
153
225
|
* obj.name = 'Updated';
|
|
154
226
|
* obj.count = 42;
|
|
155
227
|
* });
|
|
156
228
|
*
|
|
157
229
|
* // Direct mutation throws
|
|
158
|
-
* entity.name = 'Bob'; // Error: Cannot modify outside Entity.
|
|
230
|
+
* entity.name = 'Bob'; // Error: Cannot modify outside Entity.update()
|
|
159
231
|
* ```
|
|
160
232
|
*
|
|
161
|
-
* Note: For type-specific operations, prefer `Obj.
|
|
233
|
+
* Note: For type-specific operations, prefer `Obj.update` or `Relation.update`.
|
|
162
234
|
*/
|
|
163
|
-
export declare const
|
|
235
|
+
export declare const update: <T extends Unknown>(entity: T, callback: internal.ChangeCallback<T>) => void;
|
|
164
236
|
/**
|
|
165
237
|
* Add a tag to an entity.
|
|
166
|
-
* Must be called within an `Entity.
|
|
238
|
+
* Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
|
|
167
239
|
*/
|
|
168
|
-
export declare const addTag: (entity: Mutable<Unknown>, tag:
|
|
240
|
+
export declare const addTag: (entity: Mutable<Unknown>, tag: Ref.Ref<Tag.Tag>) => void;
|
|
169
241
|
/**
|
|
170
242
|
* Remove a tag from an entity.
|
|
171
|
-
* Must be called within an `Entity.
|
|
243
|
+
* Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
|
|
172
244
|
*/
|
|
173
|
-
export declare const removeTag: (entity: Mutable<Unknown>, tag:
|
|
245
|
+
export declare const removeTag: (entity: Mutable<Unknown>, tag: Ref.Ref<Tag.Tag>) => void;
|
|
246
|
+
export declare const atom: <T extends Unknown>(entity: T) => import("@effect-atom/atom/Atom").Atom<Snapshot>;
|
|
174
247
|
//# sourceMappingURL=Entity.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/Entity.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/Entity.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AAEvC,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAG/B,eAAO,MAAM,MAAM,oBAAkB,CAAC;AACtC,MAAM,MAAM,MAAM,GAAG,OAAO,QAAQ,CAAC,MAAM,CAAC;AAC5C,eAAO,MAAM,cAAc,4BAA0B,CAAC;AACtD,MAAM,MAAM,cAAc,GAAG,OAAO,QAAQ,CAAC,cAAc,CAAC;AAM5D,eAAO,MAAM,IAAI,4BAAsB,CAAC;AACxC,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;AACvC,eAAO,MAAM,UAAU,0CAA4B,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,IAAI;IACpC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrB,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,IAAI;IAC5C,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,IAAI,CAAC;CAAG;AAEhD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAIL,CAAC;AAEvC;;;GAGG;AACH,MAAM,WAAW,QAAS,SAAQ,cAAc,CAAC,IAAI,CAAC;CAAG;AAEzD;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAI,SAAQ,MAAM,CAAC,IAAI,CAAC;IACvC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEvF;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,OAA2B,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,UAAU,EAAE;IACvB,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAM9E,CAAC;AAEV;;;GAGG;AACH,eAAO,MAAM,UAAU,UAAW,OAAO,KAAG,KAAK,IAAI,QAKpD,CAAC;AAGF,eAAO,MAAM,OAAO,gEAAyB,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,IAAI,EAAE,OAAO,MAA+B,CAAC;AAE1D;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC;AAQ/B;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;AAUvC;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE1C;;;;;;;GAOG;AACH,eAAO,MAAM,MAAM,WAAY,QAAQ,YAAY,QAAQ,CAAC,aAAa,KAAG,GAAG,CAAC,GAC4B,CAAC;AAE7G;;;;GAIG;AACH,eAAO,MAAM,UAAU,WAAY,QAAQ,KAAG,GAAG,CAAC,GAAG,GAAG,SACgC,CAAC;AAEzF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,OAAO,WAAY,QAAQ,KAAG,IAAI,CAAC,SAAS,GAAG,SACiC,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,WAAW,WAAY,QAAQ,KAAG,MAAM,GAAG,SACqD,CAAC;AAE9G;;GAEG;AACH,eAAO,MAAM,WAAW,WAAY,OAAO,GAAG,QAAQ,KAAG,GAAG,GAAG,SAAyC,CAAC;AAEzG;;;;GAIG;AAEH,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC;AACvE,wBAAgB,OAAO,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC;AAK3E;;GAEG;AACH,eAAO,MAAM,OAAO,WAAY,OAAO,GAAG,QAAQ,UAAU,MAAM,KAAG,UAAU,EAAsC,CAAC;AAEtH;;GAEG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,GAAG,QAAQ,KAAG,OAAqC,CAAC;AAE7F;;;;;GAKG;AACH,eAAO,MAAM,QAAQ,WAAY,OAAO,GAAG,QAAQ,YAAY,QAAQ,CAAC,eAAe,KAAG,MAAM,GAAG,SAC/D,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,QAAQ,WAAY,OAAO,CAAC,OAAO,CAAC,SAAS,MAAM,KAAG,IAAwC,CAAC;AAE5G;;GAEG;AACH,eAAO,MAAM,cAAc,WAAY,OAAO,GAAG,QAAQ,KAAG,MAAM,GAAG,SAA4C,CAAC;AAElH;;;;GAIG;AACH,eAAO,MAAM,OAAO,WAAY,OAAO,GAAG,QAAQ,KAAG,QAAQ,CAAC,cAAc,GAAG,SAAqC,CAAC;AAErH;;GAEG;AACH,eAAO,MAAM,MAAM,WAAY,OAAO,GAAG,QAAQ,KAAG,IAAqC,CAAC;AAE1F;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,YAAY,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAE5E,CAAC;AAMF;;GAEG;AACH,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,MAAM,GAAI,CAAC,SAAS,OAAO,UAAU,CAAC,YAAY,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,KAAG,IAE3F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,MAAM,WAAY,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,IAAoC,CAAC;AAE9G;;;GAGG;AACH,eAAO,MAAM,SAAS,WAAY,OAAO,CAAC,OAAO,CAAC,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAG,IAAuC,CAAC;AAMpH,eAAO,MAAM,IAAI,mFAAyB,CAAC"}
|
package/dist/types/src/Err.d.ts
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { BaseError, type BaseErrorOptions } from '@dxos/errors';
|
|
2
|
-
import { type
|
|
2
|
+
import { type URI } from '@dxos/keys';
|
|
3
3
|
declare const SchemaNotFoundError_base: {
|
|
4
4
|
new (options?: BaseErrorOptions): {
|
|
5
|
+
cause?: unknown;
|
|
6
|
+
stack?: string;
|
|
5
7
|
name: "SchemaNotFoundError";
|
|
6
8
|
context: Record<string, unknown>;
|
|
7
9
|
readonly message: string;
|
|
8
10
|
readonly _tag: "SchemaNotFoundError";
|
|
9
|
-
stack?: string;
|
|
10
|
-
cause?: unknown;
|
|
11
11
|
};
|
|
12
|
+
isError(error: unknown): error is Error;
|
|
12
13
|
name: "SchemaNotFoundError";
|
|
13
14
|
is(error: unknown): error is BaseError;
|
|
14
|
-
wrap(options?: Omit<BaseErrorOptions,
|
|
15
|
+
wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
|
|
15
16
|
ifTypeDiffers?: boolean;
|
|
16
17
|
}): (error: unknown) => {
|
|
18
|
+
cause?: unknown;
|
|
19
|
+
stack?: string;
|
|
17
20
|
name: "SchemaNotFoundError";
|
|
18
21
|
context: Record<string, unknown>;
|
|
19
22
|
readonly message: string;
|
|
20
23
|
readonly _tag: "SchemaNotFoundError";
|
|
21
|
-
stack?: string;
|
|
22
|
-
cause?: unknown;
|
|
23
24
|
};
|
|
24
25
|
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
25
|
-
isError(error: unknown): error is Error;
|
|
26
26
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
27
27
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
28
28
|
stackTraceLimit: number;
|
|
@@ -30,35 +30,35 @@ declare const SchemaNotFoundError_base: {
|
|
|
30
30
|
export declare class SchemaNotFoundError extends SchemaNotFoundError_base {
|
|
31
31
|
constructor(schema: string, options?: BaseErrorOptions);
|
|
32
32
|
}
|
|
33
|
-
declare const
|
|
33
|
+
declare const EntityNotFoundError_base: {
|
|
34
34
|
new (options?: BaseErrorOptions): {
|
|
35
|
-
|
|
35
|
+
cause?: unknown;
|
|
36
|
+
stack?: string;
|
|
37
|
+
name: "EntityNotFoundError";
|
|
36
38
|
context: Record<string, unknown>;
|
|
37
39
|
readonly message: string;
|
|
38
|
-
readonly _tag: "
|
|
39
|
-
stack?: string;
|
|
40
|
-
cause?: unknown;
|
|
40
|
+
readonly _tag: "EntityNotFoundError";
|
|
41
41
|
};
|
|
42
|
-
|
|
42
|
+
isError(error: unknown): error is Error;
|
|
43
|
+
name: "EntityNotFoundError";
|
|
43
44
|
is(error: unknown): error is BaseError;
|
|
44
|
-
wrap(options?: Omit<BaseErrorOptions,
|
|
45
|
+
wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
|
|
45
46
|
ifTypeDiffers?: boolean;
|
|
46
47
|
}): (error: unknown) => {
|
|
47
|
-
|
|
48
|
+
cause?: unknown;
|
|
49
|
+
stack?: string;
|
|
50
|
+
name: "EntityNotFoundError";
|
|
48
51
|
context: Record<string, unknown>;
|
|
49
52
|
readonly message: string;
|
|
50
|
-
readonly _tag: "
|
|
51
|
-
stack?: string;
|
|
52
|
-
cause?: unknown;
|
|
53
|
+
readonly _tag: "EntityNotFoundError";
|
|
53
54
|
};
|
|
54
55
|
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
55
|
-
isError(error: unknown): error is Error;
|
|
56
56
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
57
57
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
58
58
|
stackTraceLimit: number;
|
|
59
59
|
};
|
|
60
|
-
export declare class
|
|
61
|
-
constructor(
|
|
60
|
+
export declare class EntityNotFoundError extends EntityNotFoundError_base {
|
|
61
|
+
constructor(uri: URI.URI, options?: BaseErrorOptions);
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Reason why getting a reactive object from a snapshot failed.
|
|
@@ -68,27 +68,27 @@ export declare class ObjectNotFoundError extends ObjectNotFoundError_base {
|
|
|
68
68
|
export type GetReactiveErrorReason = 'no-database' | 'object-not-found';
|
|
69
69
|
declare const GetReactiveError_base: {
|
|
70
70
|
new (options?: BaseErrorOptions): {
|
|
71
|
+
cause?: unknown;
|
|
72
|
+
stack?: string;
|
|
71
73
|
name: "GetReactiveError";
|
|
72
74
|
context: Record<string, unknown>;
|
|
73
75
|
readonly message: string;
|
|
74
76
|
readonly _tag: "GetReactiveError";
|
|
75
|
-
stack?: string;
|
|
76
|
-
cause?: unknown;
|
|
77
77
|
};
|
|
78
|
+
isError(error: unknown): error is Error;
|
|
78
79
|
name: "GetReactiveError";
|
|
79
80
|
is(error: unknown): error is BaseError;
|
|
80
|
-
wrap(options?: Omit<BaseErrorOptions,
|
|
81
|
+
wrap(options?: Omit<BaseErrorOptions, 'cause'> & {
|
|
81
82
|
ifTypeDiffers?: boolean;
|
|
82
83
|
}): (error: unknown) => {
|
|
84
|
+
cause?: unknown;
|
|
85
|
+
stack?: string;
|
|
83
86
|
name: "GetReactiveError";
|
|
84
87
|
context: Record<string, unknown>;
|
|
85
88
|
readonly message: string;
|
|
86
89
|
readonly _tag: "GetReactiveError";
|
|
87
|
-
stack?: string;
|
|
88
|
-
cause?: unknown;
|
|
89
90
|
};
|
|
90
91
|
extend<Name extends string = string>(name: Name, message?: string): any;
|
|
91
|
-
isError(error: unknown): error is Error;
|
|
92
92
|
captureStackTrace(targetObject: object, constructorOpt?: Function): void;
|
|
93
93
|
prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
|
|
94
94
|
stackTraceLimit: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Err.d.ts","sourceRoot":"","sources":["../../../src/Err.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"Err.d.ts","sourceRoot":"","sources":["../../../src/Err.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEtC,qBAAa,mBAAoB,SAAQ,wBAA2D;IAClG,YAAY,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAErD;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,mBAAoB,SAAQ,wBAA2D;IAClG,YAAY,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAEnD;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,sBAAsB,GAAG,aAAa,GAAG,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExE;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,qBAGrC;IACC,YAAY,OAAO,EAAE;QAAE,MAAM,EAAE,sBAAsB,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAE9F;CACF"}
|
package/dist/types/src/Feed.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as Effect from 'effect/Effect';
|
|
|
3
3
|
import * as Layer from 'effect/Layer';
|
|
4
4
|
import type * as Option from 'effect/Option';
|
|
5
5
|
import * as Schema from 'effect/Schema';
|
|
6
|
-
import {
|
|
6
|
+
import { EID } from '@dxos/keys';
|
|
7
7
|
import type * as Entity from './Entity';
|
|
8
8
|
import type * as Filter from './Filter';
|
|
9
9
|
import * as Obj from './Obj';
|
|
@@ -19,15 +19,14 @@ import * as Type from './Type';
|
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
21
|
export declare const Feed: Type.Obj<{
|
|
22
|
-
readonly kind?: string | undefined;
|
|
23
22
|
readonly name?: string | undefined;
|
|
23
|
+
readonly kind?: string | undefined;
|
|
24
24
|
readonly namespace?: "data" | "trace" | undefined;
|
|
25
25
|
}, Schema.Struct.Fields>;
|
|
26
26
|
/**
|
|
27
27
|
* TypeScript instance type for a Feed object.
|
|
28
28
|
*/
|
|
29
|
-
export
|
|
30
|
-
}
|
|
29
|
+
export type Feed = Type.InstanceType<typeof Feed>;
|
|
31
30
|
/**
|
|
32
31
|
* Opaque cursor for iterating over feed items.
|
|
33
32
|
*/
|
|
@@ -41,6 +40,27 @@ export interface RetentionOptions {
|
|
|
41
40
|
/** Retain items after this cursor position. */
|
|
42
41
|
cursor?: string;
|
|
43
42
|
}
|
|
43
|
+
/**
|
|
44
|
+
* Sync options for a feed.
|
|
45
|
+
*/
|
|
46
|
+
export interface SyncOptions {
|
|
47
|
+
/** Push local changes to the server. Defaults to true. */
|
|
48
|
+
shouldPush?: boolean;
|
|
49
|
+
/** Pull remote changes from the server. Defaults to true. */
|
|
50
|
+
shouldPull?: boolean;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Queue replication backlog for a feed namespace.
|
|
54
|
+
* `0` / `0` means caught up on pull and push.
|
|
55
|
+
*/
|
|
56
|
+
export interface SyncState {
|
|
57
|
+
/** Blocks still to pull from remote. */
|
|
58
|
+
blocksToPull: number;
|
|
59
|
+
/** Unpositioned blocks still to push to remote. */
|
|
60
|
+
blocksToPush: number;
|
|
61
|
+
/** Total blocks stored locally for the feed namespace. */
|
|
62
|
+
totalBlocks: number;
|
|
63
|
+
}
|
|
44
64
|
/**
|
|
45
65
|
* Creates a new feed object.
|
|
46
66
|
*
|
|
@@ -51,23 +71,11 @@ export interface RetentionOptions {
|
|
|
51
71
|
*/
|
|
52
72
|
export declare const make: (props?: Obj.MakeProps<typeof Feed>) => Feed;
|
|
53
73
|
/**
|
|
54
|
-
*
|
|
55
|
-
* Returns `undefined` when the feed is not stored in a space yet.
|
|
74
|
+
* Returns the feed object's EID when the feed is stored in a space.
|
|
56
75
|
*
|
|
57
76
|
* Used internally by the feed service layer.
|
|
58
77
|
*/
|
|
59
|
-
export declare const
|
|
60
|
-
/**
|
|
61
|
-
* Creates a Feed object from a queue DXN, inferring the feed's id and namespace from the DXN parts.
|
|
62
|
-
*
|
|
63
|
-
* The resulting Feed, when added to the same space as the queue, will have a queue DXN
|
|
64
|
-
* equal to the input (see `Feed.getQueueDxn`). Useful when migrating `Ref(Queue)` fields to
|
|
65
|
-
* `Ref(Feed.Feed)`.
|
|
66
|
-
*
|
|
67
|
-
* @remarks Unsafe because the caller must ensure the queue DXN's space matches the database
|
|
68
|
-
* the feed is added to; the feed id is set from the queue id, bypassing id generation.
|
|
69
|
-
*/
|
|
70
|
-
export declare const unsafeFromQueueDXN: (queueDxn: DXN) => Feed;
|
|
78
|
+
export declare const getQueueUri: (feed: Feed) => EID.EID | undefined;
|
|
71
79
|
declare const FeedService_base: Context.TagClass<FeedService, "@dxos/echo/Feed/FeedService", {
|
|
72
80
|
/**
|
|
73
81
|
* Appends items to a feed.
|
|
@@ -84,6 +92,14 @@ declare const FeedService_base: Context.TagClass<FeedService, "@dxos/echo/Feed/F
|
|
|
84
92
|
<Q extends Query.Any>(feed: Feed, query: Q): QueryResult.QueryResult<Query.Type<Q>>;
|
|
85
93
|
<F extends Filter.Any>(feed: Feed, filter: F): QueryResult.QueryResult<Filter.Type<F>>;
|
|
86
94
|
};
|
|
95
|
+
/**
|
|
96
|
+
* Syncs the feed with the server.
|
|
97
|
+
*/
|
|
98
|
+
sync(feed: Feed, options?: SyncOptions): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Returns queue replication backlog for the feed's namespace.
|
|
101
|
+
*/
|
|
102
|
+
getSyncState(feed: Feed): Promise<SyncState>;
|
|
87
103
|
}>;
|
|
88
104
|
/**
|
|
89
105
|
* Effect service for feed operations.
|
|
@@ -100,6 +116,18 @@ export type Service = FeedService;
|
|
|
100
116
|
* @deprecated Use `FeedService` instead.
|
|
101
117
|
*/
|
|
102
118
|
export declare const Service: typeof FeedService;
|
|
119
|
+
declare const ContextFeedService_base: Context.TagClass<ContextFeedService, "@dxos/echo/Feed/ContextFeedService", {
|
|
120
|
+
readonly feed: Feed;
|
|
121
|
+
}>;
|
|
122
|
+
/**
|
|
123
|
+
* Effect context service that holds the current feed for a scoped operation.
|
|
124
|
+
*
|
|
125
|
+
* @deprecated Prefer threading a `Feed.Feed` explicitly through function signatures
|
|
126
|
+
* over hiding it behind a context service.
|
|
127
|
+
*/
|
|
128
|
+
export declare class ContextFeedService extends ContextFeedService_base {
|
|
129
|
+
static layer: (feed: Feed) => Layer.Layer<ContextFeedService>;
|
|
130
|
+
}
|
|
103
131
|
/**
|
|
104
132
|
* Layer that provides a Feed service that throws when accessed.
|
|
105
133
|
* Useful as a default layer when no feed service is available.
|
|
@@ -147,6 +175,25 @@ export declare const runQuery: {
|
|
|
147
175
|
<Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<Query.Type<Q>[], never, FeedService>;
|
|
148
176
|
<F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<Filter.Type<F>[], never, FeedService>;
|
|
149
177
|
};
|
|
178
|
+
/**
|
|
179
|
+
* Syncs the feed with the server.
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```ts
|
|
183
|
+
* yield* Feed.sync(feed);
|
|
184
|
+
* yield* Feed.sync(feed, { shouldPush: false });
|
|
185
|
+
* ```
|
|
186
|
+
*/
|
|
187
|
+
export declare const sync: (feed: Feed, options?: SyncOptions) => Effect.Effect<void, never, FeedService>;
|
|
188
|
+
/**
|
|
189
|
+
* Returns queue replication backlog for the feed's namespace.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```ts
|
|
193
|
+
* const { blocksToPull, blocksToPush } = yield* Feed.getSyncState(feed);
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
export declare const getSyncState: (feed: Feed) => Effect.Effect<SyncState, never, FeedService>;
|
|
150
197
|
/**
|
|
151
198
|
* Creates a cursor for iterating over feed items.
|
|
152
199
|
* Currently stubbed — cursor operations are not yet implemented.
|
|
@@ -170,7 +217,7 @@ export declare const next: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effe
|
|
|
170
217
|
export declare const nextOption: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effect<Option.Option<T>, never, FeedService>;
|
|
171
218
|
/**
|
|
172
219
|
* Sets the local retention policy for a feed.
|
|
173
|
-
* Currently stubbed —
|
|
220
|
+
* Currently stubbed — feeds do not yet support retention.
|
|
174
221
|
*
|
|
175
222
|
* @example
|
|
176
223
|
* ```ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Feed.d.ts","sourceRoot":"","sources":["../../../src/Feed.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,
|
|
1
|
+
{"version":3,"file":"Feed.d.ts","sourceRoot":"","sources":["../../../src/Feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
2
|
import type * as Types from 'effect/Types';
|
|
3
3
|
import { type ForeignKey, type QueryAST } from '@dxos/echo-protocol';
|
|
4
|
-
import {
|
|
4
|
+
import { EntityId, type URI } from '@dxos/keys';
|
|
5
|
+
import * as internal from './internal';
|
|
5
6
|
import type * as Obj from './Obj';
|
|
6
7
|
import * as Ref from './Ref';
|
|
8
|
+
import type * as Type$ from './Type';
|
|
7
9
|
export interface Filter<T> {
|
|
8
10
|
'~Filter': {
|
|
9
11
|
value: Types.Covariant<T>;
|
|
@@ -34,23 +36,47 @@ export declare const everything: () => FilterClass;
|
|
|
34
36
|
* Filter that matches no objects.
|
|
35
37
|
*/
|
|
36
38
|
export declare const nothing: () => FilterClass;
|
|
37
|
-
export declare const id: (...ids:
|
|
39
|
+
export declare const id: (...ids: EntityId[]) => Any;
|
|
38
40
|
/**
|
|
39
41
|
* Filter by type.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
*
|
|
43
|
+
* Accepts a `Type.Type` entity (the value produced by `Type.makeObject` /
|
|
44
|
+
* `Type.makeRelation`), a `Schema.Union` of such entities (for filtering across a
|
|
45
|
+
* union of ECHO types), or a fully-qualified type URI — an `echo:` EID (stored schema)
|
|
46
|
+
* or a `dxn:` DXN (static schema). To filter by a bare typename, wrap it: `DXN.make(typename)`.
|
|
47
|
+
*/
|
|
48
|
+
export declare const type: {
|
|
49
|
+
<T extends Type$.AnyEntity>(type: T, props?: Props<Type$.InstanceType<T>>): Filter<Type$.InstanceType<T>>;
|
|
50
|
+
<S extends internal.UnknownTypeSchema<any, any>>(schema: S, props?: Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
|
|
51
|
+
<S extends Schema.Union<readonly Schema.Schema.AnyNoContext[]>>(union: S, props?: Props<Schema.Schema.Type<S>>): Filter<Schema.Schema.Type<S>>;
|
|
52
|
+
(uri: URI.URI, props?: Props<unknown>): Filter<any>;
|
|
53
|
+
(input: Type$.AnyEntity | URI.URI, props?: Props<unknown>): Filter<unknown>;
|
|
54
|
+
};
|
|
42
55
|
/**
|
|
43
|
-
* Filter by
|
|
56
|
+
* Filter by tag.
|
|
44
57
|
*/
|
|
45
|
-
export declare const
|
|
58
|
+
export declare const tag: (tag: string) => Any;
|
|
46
59
|
/**
|
|
47
|
-
*
|
|
60
|
+
* Options for {@link key} filter.
|
|
48
61
|
*/
|
|
49
|
-
export
|
|
62
|
+
export type KeyFilterOptions = {
|
|
63
|
+
/**
|
|
64
|
+
* Optional semver range expression (e.g. `^1.2.3`, `~2.0.0`, `>=1.0.0 <2.0.0`).
|
|
65
|
+
* Matches the object's meta `version` field against the range.
|
|
66
|
+
* If omitted, matches any version (including objects with no version).
|
|
67
|
+
*/
|
|
68
|
+
version?: string;
|
|
69
|
+
};
|
|
50
70
|
/**
|
|
51
|
-
* Filter by
|
|
71
|
+
* Filter by registry key stored in object meta.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* Filter.key('org.example.type.foo');
|
|
76
|
+
* Filter.key('org.example.type.foo', { version: '^1.2.3' });
|
|
77
|
+
* ```
|
|
52
78
|
*/
|
|
53
|
-
export declare const
|
|
79
|
+
export declare const key: (key: string, options?: KeyFilterOptions) => Any;
|
|
54
80
|
/**
|
|
55
81
|
* Filter by properties.
|
|
56
82
|
*/
|
|
@@ -65,7 +91,7 @@ export declare const text: (text: string, options?: TextSearchOptions) => Any;
|
|
|
65
91
|
/**
|
|
66
92
|
* Filter by foreign keys.
|
|
67
93
|
*/
|
|
68
|
-
export declare const foreignKeys: <S extends
|
|
94
|
+
export declare const foreignKeys: <S extends Type$.AnyEntity | URI.URI>(schema: S, keys: ForeignKey[]) => Filter<S extends Type$.AnyEntity ? Type$.InstanceType<S> : unknown>;
|
|
69
95
|
/**
|
|
70
96
|
* Predicate for property to be equal to the provided value.
|
|
71
97
|
*/
|
|
@@ -126,7 +152,7 @@ export type ChildOfOptions = {
|
|
|
126
152
|
/**
|
|
127
153
|
* Filter objects that are children of the specified parent(s).
|
|
128
154
|
* Accepts ECHO objects, Refs, or arrays of either.
|
|
129
|
-
* Refs are resolved to DXNs without loading; objects use {@link Obj.
|
|
155
|
+
* Refs are resolved to DXNs without loading; objects use {@link Obj.getURI}.
|
|
130
156
|
* With transitive=true (default), also matches grandchildren and beyond.
|
|
131
157
|
*/
|
|
132
158
|
export declare const childOf: (parents: Obj.Unknown | Ref.Unknown | readonly (Obj.Unknown | Ref.Unknown)[], options?: ChildOfOptions) => Any;
|