@dxos/echo 0.8.4-main.40e3dcdf1b → 0.8.4-main.43cb759274
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 +29 -6
- package/dist/lib/neutral/Database.mjs +8 -9
- package/dist/lib/neutral/Entity.mjs +29 -18
- package/dist/lib/neutral/Err.mjs +3 -3
- package/dist/lib/neutral/Feed.mjs +27 -19
- package/dist/lib/neutral/Filter.mjs +25 -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 +18 -0
- package/dist/lib/neutral/Obj.mjs +25 -19
- package/dist/lib/neutral/Order.mjs +1 -1
- package/dist/lib/neutral/Query.mjs +19 -16
- 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/Registry.mjs.map +7 -0
- package/dist/lib/neutral/Relation.mjs +26 -24
- package/dist/lib/neutral/Scope.mjs +12 -0
- package/dist/lib/neutral/Scope.mjs.map +7 -0
- package/dist/lib/neutral/Tag.mjs +17 -13
- package/dist/lib/neutral/Type.mjs +52 -26
- package/dist/lib/neutral/chunk-3DKP2EIN.mjs +31 -0
- package/dist/lib/neutral/chunk-3DKP2EIN.mjs.map +7 -0
- package/dist/lib/neutral/chunk-4BB4MFCN.mjs +154 -0
- package/dist/lib/neutral/chunk-4BB4MFCN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-CIRHIEMW.mjs → chunk-4SFPZJVA.mjs} +92 -112
- package/dist/lib/neutral/chunk-4SFPZJVA.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YWXWXIE5.mjs → chunk-4Z6GET2X.mjs} +3 -3
- package/dist/lib/neutral/chunk-4Z6GET2X.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-43Y5DOS6.mjs → chunk-7OAFN3OX.mjs} +75 -112
- package/dist/lib/neutral/chunk-7OAFN3OX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BOZZPUXE.mjs → chunk-7PRCIDHH.mjs} +41 -81
- package/dist/lib/neutral/chunk-7PRCIDHH.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-BDQGMDIX.mjs +132 -0
- package/dist/lib/neutral/chunk-BDQGMDIX.mjs.map +7 -0
- package/dist/lib/neutral/chunk-CGTI5MXO.mjs +36 -0
- package/dist/lib/neutral/chunk-CGTI5MXO.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-DKLUHO4T.mjs} +1 -1
- package/dist/lib/neutral/chunk-DKLUHO4T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-DMN2CKPX.mjs +93 -0
- package/dist/lib/neutral/chunk-DMN2CKPX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UTBRYVQC.mjs → chunk-G6CFWUYH.mjs} +2 -2
- package/dist/lib/neutral/chunk-H26LSXVJ.mjs +653 -0
- package/dist/lib/neutral/chunk-H26LSXVJ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-FXEG7EOK.mjs → chunk-J3MNM65T.mjs} +9 -6
- package/dist/lib/neutral/chunk-J3MNM65T.mjs.map +7 -0
- package/dist/lib/neutral/chunk-JE7AOSWF.mjs +247 -0
- package/dist/lib/neutral/chunk-JE7AOSWF.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LAF3LSWI.mjs +379 -0
- package/dist/lib/neutral/chunk-LAF3LSWI.mjs.map +7 -0
- package/dist/lib/neutral/chunk-LMNRFOVB.mjs +108 -0
- package/dist/lib/neutral/chunk-LMNRFOVB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WYOKA6AE.mjs → chunk-O6BH7EPN.mjs} +31 -4
- package/dist/lib/neutral/chunk-O6BH7EPN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-KTAWP7GI.mjs → chunk-OIYW7R2G.mjs} +99 -46
- package/dist/lib/neutral/chunk-OIYW7R2G.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-TQQZLKB7.mjs → chunk-OYUG4FHF.mjs} +648 -1228
- package/dist/lib/neutral/chunk-OYUG4FHF.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-NQRLRYJM.mjs → chunk-Q5FKCVBC.mjs} +173 -60
- package/dist/lib/neutral/chunk-Q5FKCVBC.mjs.map +7 -0
- package/dist/lib/neutral/chunk-Q62IHV2N.mjs +41 -0
- package/dist/lib/neutral/chunk-Q62IHV2N.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UFDK26FO.mjs → chunk-QVJDDG44.mjs} +69 -34
- package/dist/lib/neutral/chunk-QVJDDG44.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-B5OXLWZL.mjs → chunk-TFEWTY5A.mjs} +155 -129
- package/dist/lib/neutral/chunk-TFEWTY5A.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UI6MWK5W.mjs → chunk-TTCSATUD.mjs} +1 -1
- package/dist/lib/neutral/{chunk-FZO7LQO7.mjs → chunk-VKWOFXT2.mjs} +22 -2
- package/dist/lib/neutral/{chunk-FZO7LQO7.mjs.map → chunk-VKWOFXT2.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-NXMFBIT5.mjs → chunk-ZACMEAYV.mjs} +89 -23
- package/dist/lib/neutral/chunk-ZACMEAYV.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +58 -38
- package/dist/lib/neutral/internal/index.mjs +131 -64
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +222 -177
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- 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 -24
- package/dist/types/src/Database.d.ts.map +1 -1
- package/dist/types/src/Dataset.d.ts +17 -6
- package/dist/types/src/Dataset.d.ts.map +1 -1
- package/dist/types/src/Entity.d.ts +102 -26
- 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 +89 -25
- package/dist/types/src/Feed.d.ts.map +1 -1
- package/dist/types/src/Filter.d.ts +74 -11
- 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/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 +72 -0
- package/dist/types/src/Migration.d.ts.map +1 -0
- package/dist/types/src/Obj.d.ts +108 -65
- 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 +35 -10
- package/dist/types/src/Query.d.ts.map +1 -1
- package/dist/types/src/QueryResult.d.ts +9 -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 +72 -44
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Scope.d.ts +34 -0
- package/dist/types/src/Scope.d.ts.map +1 -0
- package/dist/types/src/StateMap.d.ts +32 -0
- package/dist/types/src/StateMap.d.ts.map +1 -0
- package/dist/types/src/StateMap.test.d.ts +2 -0
- package/dist/types/src/StateMap.test.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/TagIndex.d.ts +36 -0
- package/dist/types/src/TagIndex.d.ts.map +1 -0
- package/dist/types/src/TagIndex.test.d.ts +2 -0
- package/dist/types/src/TagIndex.test.d.ts.map +1 -0
- package/dist/types/src/Tagging.d.ts +31 -0
- package/dist/types/src/Tagging.d.ts.map +1 -0
- package/dist/types/src/Type.d.ts +357 -96
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/View.d.ts +2 -5
- 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 +8 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +79 -37
- 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 +3 -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 +20 -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 +25 -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 +28 -28
- 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/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 +11 -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 +0 -1
- package/dist/types/src/internal/Obj/index.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/json-serializer.d.ts +11 -10
- 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.d.ts +10 -0
- package/dist/types/src/internal/Query.d.ts.map +1 -0
- package/dist/types/src/internal/Ref/ref-array.d.ts +2 -2
- package/dist/types/src/internal/Ref/ref-array.d.ts.map +1 -1
- package/dist/types/src/internal/Ref/ref.d.ts +42 -19
- package/dist/types/src/internal/Ref/ref.d.ts.map +1 -1
- 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 +63 -6
- 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 +23 -7
- package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/model-symbols.d.ts +8 -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 -0
- 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 +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 +27 -19
- package/src/Annotation.test.ts +439 -0
- package/src/Annotation.ts +152 -4
- package/src/Collection.ts +6 -5
- package/src/Database.ts +117 -57
- package/src/Dataset.ts +10 -2
- package/src/Entity.test.ts +116 -6
- package/src/Entity.ts +130 -31
- package/src/Err.ts +4 -4
- package/src/Feed.ts +138 -43
- package/src/Filter.test.ts +90 -0
- package/src/Filter.ts +143 -27
- 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 +114 -0
- package/src/Obj.test.ts +122 -19
- package/src/Obj.ts +279 -97
- package/src/Query.test.ts +317 -131
- package/src/Query.ts +181 -73
- package/src/QueryResult.ts +11 -0
- package/src/Ref.ts +22 -4
- package/src/Registry.ts +155 -0
- package/src/Relation.test.ts +10 -10
- package/src/Relation.ts +112 -71
- package/src/Scope.ts +50 -0
- package/src/StateMap.test.ts +56 -0
- package/src/StateMap.ts +99 -0
- package/src/Tag.md +88 -0
- package/src/Tag.ts +49 -6
- package/src/TagIndex.test.ts +57 -0
- package/src/TagIndex.ts +110 -0
- package/src/Tagging.ts +83 -0
- package/src/Type.test.ts +223 -18
- package/src/Type.ts +602 -132
- package/src/View.ts +11 -15
- package/src/exemplars.test.ts +21 -0
- package/src/index.ts +9 -3
- package/src/internal/Annotation/annotations.test.ts +82 -13
- package/src/internal/Annotation/annotations.ts +153 -115
- package/src/internal/Annotation/dictionary.ts +47 -0
- package/src/internal/Annotation/entity-dictionary.ts +40 -0
- package/src/internal/Annotation/index.ts +4 -2
- package/src/internal/Annotation/sorting.ts +0 -1
- package/src/internal/Annotation/util.ts +17 -8
- package/src/internal/Entity/api.ts +7 -8
- 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 +37 -28
- package/src/internal/Entity/object.ts +21 -6
- package/src/internal/Entity/relation.ts +68 -34
- package/src/internal/Entity/type-kind.ts +75 -0
- package/src/internal/Entity/type-uri.ts +87 -0
- package/src/internal/Entity/util.ts +10 -9
- package/src/internal/Entity/version.ts +0 -1
- package/src/internal/Format/date.test.ts +0 -1
- package/src/internal/Format/date.ts +0 -4
- package/src/internal/Format/format.test.ts +21 -1
- 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 +1 -1
- package/src/internal/JsonSchema/json-schema.test.ts +55 -142
- package/src/internal/JsonSchema/json-schema.ts +44 -31
- package/src/internal/Obj/clone.ts +9 -4
- package/src/internal/Obj/create-object.test.ts +13 -13
- package/src/internal/Obj/create-object.ts +68 -24
- package/src/internal/Obj/deleted.ts +1 -1
- package/src/internal/Obj/index.ts +0 -1
- package/src/internal/Obj/inspect.ts +4 -3
- package/src/internal/Obj/json-serializer.test.ts +102 -24
- package/src/internal/Obj/json-serializer.ts +105 -43
- package/src/internal/Obj/set-value.test.ts +31 -54
- package/src/internal/Obj/set-value.ts +1 -1
- package/src/internal/Obj/snapshot.ts +11 -4
- package/src/internal/Obj/typed-object.test.ts +9 -11
- package/src/internal/Obj/typed-object.ts +1 -1
- package/src/internal/Query.ts +159 -0
- package/src/internal/Ref/ref-array.ts +3 -4
- package/src/internal/Ref/ref.test.ts +17 -27
- package/src/internal/Ref/ref.ts +124 -59
- package/src/internal/Type/compose.test.ts +3 -2
- 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 +118 -110
- package/src/internal/common/proxy/errors.ts +2 -2
- package/src/internal/common/proxy/handler.test.ts +1 -3
- package/src/internal/common/proxy/json-serializer.ts +26 -16
- package/src/internal/common/proxy/make-object.ts +43 -21
- package/src/internal/common/proxy/ownership.ts +2 -3
- 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 -3
- package/src/internal/common/proxy/schema.test.ts +48 -86
- package/src/internal/common/proxy/typed-handler.test.ts +12 -12
- package/src/internal/common/proxy/typed-handler.ts +79 -19
- package/src/internal/common/proxy/typed-object.test.ts +16 -29
- package/src/internal/common/types/base.ts +4 -4
- package/src/internal/common/types/entity.ts +81 -2
- package/src/internal/common/types/index.ts +6 -1
- package/src/internal/common/types/meta.ts +49 -15
- package/src/internal/common/types/model-symbols.ts +16 -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 -0
- package/src/testing/api.test.ts +15 -10
- package/src/testing/test-data.ts +159 -100
- package/src/testing/test-schema.ts +22 -58
- package/src/testing/util.ts +14 -11
- package/dist/lib/neutral/SchemaRegistry.mjs +0 -2
- package/dist/lib/neutral/chunk-43Y5DOS6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-724GQYEN.mjs +0 -56
- package/dist/lib/neutral/chunk-724GQYEN.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ANHVGJI4.mjs.map +0 -7
- package/dist/lib/neutral/chunk-B5OXLWZL.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-BOZZPUXE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-CIRHIEMW.mjs.map +0 -7
- package/dist/lib/neutral/chunk-DYDJBZEG.mjs +0 -102
- package/dist/lib/neutral/chunk-DYDJBZEG.mjs.map +0 -7
- package/dist/lib/neutral/chunk-FXEG7EOK.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KTAWP7GI.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NEGC54NE.mjs +0 -130
- package/dist/lib/neutral/chunk-NEGC54NE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NQRLRYJM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NXMFBIT5.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OENWMTE6.mjs +0 -45
- package/dist/lib/neutral/chunk-OENWMTE6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OMUPQMLR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-RMLF7JOZ.mjs +0 -97
- package/dist/lib/neutral/chunk-RMLF7JOZ.mjs.map +0 -7
- package/dist/lib/neutral/chunk-SEMVAGBM.mjs +0 -355
- package/dist/lib/neutral/chunk-SEMVAGBM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-TQQZLKB7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UBEZSGXY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-UFDK26FO.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VA2F47ZC.mjs +0 -152
- package/dist/lib/neutral/chunk-VA2F47ZC.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WYOKA6AE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-YWXWXIE5.mjs.map +0 -7
- 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/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/SchemaRegistry.ts +0 -106
- package/src/internal/Obj/ids.ts +0 -12
- package/src/internal/Type/echo-schema.ts +0 -424
- package/src/internal/Type/persistent-schema.ts +0 -33
- /package/dist/lib/neutral/{SchemaRegistry.mjs.map → Migration.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-UTBRYVQC.mjs.map → chunk-G6CFWUYH.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-UI6MWK5W.mjs.map → chunk-TTCSATUD.mjs.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../src/Relation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Relation.d.ts","sourceRoot":"","sources":["../../../src/Relation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { type QueryAST } from '@dxos/echo-protocol';
|
|
2
|
+
/**
|
|
3
|
+
* Scope targeting a space's automerge documents.
|
|
4
|
+
*
|
|
5
|
+
* With no `spaceId`, targets the owning space — i.e. the space of whichever database
|
|
6
|
+
* executes the query — so callers can reference "this space" without looking up its id.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```ts
|
|
10
|
+
* db.query(Filter.type(Person).from(Scope.space())); // owning space
|
|
11
|
+
* db.query(Filter.type(Person).from(Scope.space(otherSpaceId))); // a specific space
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare const space: (spaceId?: string, options?: {
|
|
15
|
+
includeAllFeeds?: boolean;
|
|
16
|
+
}) => QueryAST.SpaceScope;
|
|
17
|
+
/**
|
|
18
|
+
* Scope targeting a code-shipped object/type registry.
|
|
19
|
+
*
|
|
20
|
+
* - `'local'` — the in-process registry attached to the hypergraph (default).
|
|
21
|
+
* - `'remote'` — a remote registry service (not yet implemented).
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```ts
|
|
25
|
+
* // Discover all types — persisted in the space and code-shipped in the registry.
|
|
26
|
+
* db.query(Filter.type(Type.Type).from(Scope.space(), Scope.registry()));
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare const registry: (location?: 'local' | 'remote') => QueryAST.RegistryScope;
|
|
30
|
+
/**
|
|
31
|
+
* Scope targeting a specific feed (by its underlying queue DXN).
|
|
32
|
+
*/
|
|
33
|
+
export declare const feed: (feedUri: string) => QueryAST.FeedScope;
|
|
34
|
+
//# sourceMappingURL=Scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scope.d.ts","sourceRoot":"","sources":["../../../src/Scope.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,KAAK,aAAc,MAAM,YAAY;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,KAAG,QAAQ,CAAC,UAIzF,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,cAAc,OAAO,GAAG,QAAQ,KAAa,QAAQ,CAAC,aAGzE,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,IAAI,YAAa,MAAM,KAAG,QAAQ,CAAC,SAG9C,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as Obj from './Obj';
|
|
3
|
+
/**
|
|
4
|
+
* A per-object state side-map: an in-document `Record<objectId, S>` holding small mutable metadata
|
|
5
|
+
* for each object, keyed by object id.
|
|
6
|
+
*
|
|
7
|
+
* The companion to immutable feed/queue objects: the objects are immutable, so their mutable
|
|
8
|
+
* per-item state (read-marker, hero image, snippet, …) lives here on a host object. Use this for
|
|
9
|
+
* non-tag metadata; boolean labels (starred, archived) belong in the tag model ({@link TagIndex} /
|
|
10
|
+
* {@link Tagging}) so they share the space-wide `Tag` registry.
|
|
11
|
+
*/
|
|
12
|
+
/** Read/write accessor over a host object's state side-map field, bound to a single field key. */
|
|
13
|
+
export interface Accessor<S extends object> {
|
|
14
|
+
/** All object ids with an entry, optionally filtered by a predicate over their state. */
|
|
15
|
+
ids(predicate?: (state: Partial<S>, id: string) => boolean): string[];
|
|
16
|
+
/** The entry for an object id; `{}` when absent (so call sites read fields without `?` chains). */
|
|
17
|
+
get(id: string): Partial<S>;
|
|
18
|
+
/** All `[id, state]` entries. */
|
|
19
|
+
entries(): Array<[string, Partial<S>]>;
|
|
20
|
+
/** Shallow-merges a patch into an object's entry, creating it when absent. */
|
|
21
|
+
patch(id: string, patch: Partial<S>): void;
|
|
22
|
+
/** Removes an object's entry. */
|
|
23
|
+
remove(id: string): void;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Schema fragment for a state side-map field. Splice into a host Struct. Optional record, hidden
|
|
27
|
+
* from forms. Keyed by object id; the value is the per-object state struct `S`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const field: <S, I>(value: Schema.Schema<S, I>) => Schema.optional<Schema.Record$<typeof Schema.String, Schema.Schema<S, I, never>>>;
|
|
30
|
+
/** Binds an {@link Accessor} over `host[key]`; all mutations go through `Obj.update`. */
|
|
31
|
+
export declare const bind: <S extends object = Record<string, unknown>>(host: Obj.Any, key: string) => Accessor<S>;
|
|
32
|
+
//# sourceMappingURL=StateMap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateMap.d.ts","sourceRoot":"","sources":["../../../src/StateMap.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B;;;;;;;;GAQG;AAEH,kGAAkG;AAClG,MAAM,WAAW,QAAQ,CAAC,CAAC,SAAS,MAAM;IACxC,yFAAyF;IACzF,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,EAAE,CAAC;IACtE,mGAAmG;IACnG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IAC5B,iCAAiC;IACjC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,8EAA8E;IAC9E,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3C,iCAAiC;IACjC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,sFAC8C,CAAC;AAErG,yFAAyF;AACzF,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,GAAG,OAAO,MAAM,KAAG,QAAQ,CAAC,CAAC,CAuDvG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StateMap.test.d.ts","sourceRoot":"","sources":["../../../src/StateMap.test.ts"],"names":[],"mappings":""}
|
package/dist/types/src/Tag.d.ts
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
1
|
import * as Schema from 'effect/Schema';
|
|
2
|
+
import type { ForeignKey } from '@dxos/echo-protocol';
|
|
3
|
+
import type * as Database from './Database';
|
|
2
4
|
import * as internal from './internal';
|
|
3
5
|
import * as Obj from './Obj';
|
|
4
6
|
import * as Type from './Type';
|
|
5
7
|
export declare const Tag: Type.Obj<{
|
|
6
|
-
readonly hue?: string | undefined;
|
|
7
8
|
readonly label: string;
|
|
8
|
-
}, Schema.Struct.Fields>;
|
|
9
|
-
export type Tag = Schema.Schema.Type<typeof Tag>;
|
|
10
|
-
export declare const make: (props: Obj.MakeProps<typeof Tag>) => Obj.OfShape<import("./Entity").OfKind<internal.EntityKind.Object> & {
|
|
11
9
|
readonly hue?: string | undefined;
|
|
10
|
+
}, Schema.Struct.Fields>;
|
|
11
|
+
export type Tag = Type.InstanceType<typeof Tag>;
|
|
12
|
+
export declare const make: (props: Obj.MakeProps<typeof Tag>) => Obj.OfShape<{
|
|
12
13
|
readonly label: string;
|
|
13
|
-
|
|
14
|
+
readonly hue?: string | undefined;
|
|
15
|
+
} & import("./Entity").OfKind<internal.EntityKind.Object>>;
|
|
14
16
|
export type Map = Record<string, Tag>;
|
|
15
17
|
export declare const sortTags: ({ label: a }: Tag, { label: b }: Tag) => number;
|
|
16
18
|
export declare const createTagList: (tags: Map) => Tag[];
|
|
17
19
|
export declare const findTagByLabel: (tags: Map | undefined, name: string) => Tag | undefined;
|
|
20
|
+
/**
|
|
21
|
+
* Finds or creates a {@link Tag} object in the database.
|
|
22
|
+
*
|
|
23
|
+
* - With a foreign `key` (system/provider tags): matched by that key; the label is kept current on
|
|
24
|
+
* re-sync. Use a stable key (e.g. `{ source: 'google.com/gmail/label', id }`) for tags whose
|
|
25
|
+
* identity is external or well-known.
|
|
26
|
+
* - Without a key (user tags): matched by case-insensitive label among tags that carry **no**
|
|
27
|
+
* foreign key, so it never collides with a keyed system/provider tag of the same label.
|
|
28
|
+
*/
|
|
29
|
+
export declare const findOrCreate: (db: Pick<Database.Database, 'query' | 'add'>, options: {
|
|
30
|
+
label: string;
|
|
31
|
+
hue?: string;
|
|
32
|
+
key?: ForeignKey;
|
|
33
|
+
}) => Promise<Tag>;
|
|
18
34
|
//# sourceMappingURL=Tag.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,eAAO,MAAM,GAAG;;;
|
|
1
|
+
{"version":3,"file":"Tag.d.ts","sourceRoot":"","sources":["../../../src/Tag.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAE5C,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAE/B,eAAO,MAAM,GAAG;;;wBAQf,CAAC;AAEF,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC;AAEhD,eAAO,MAAM,IAAI,UAAW,GAAG,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC;;;0DAAyB,CAAC;AAE/E,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEtC,eAAO,MAAM,QAAQ,iBAAkB,GAAG,gBAAgB,GAAG,WAAuB,CAAC;AAErF,eAAO,MAAM,aAAa,SAAU,GAAG,KAAG,GAAG,EAG1B,CAAC;AAEpB,eAAO,MAAM,cAAc,SAAU,GAAG,GAAG,SAAS,QAAQ,MAAM,KAAG,GAAG,GAAG,SAG1E,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,OACnB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,KAAK,CAAC,WACnC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,UAAU,CAAA;CAAE,KACzD,OAAO,CAAC,GAAG,CA2Bb,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema';
|
|
2
|
+
import * as Obj from './Obj';
|
|
3
|
+
/**
|
|
4
|
+
* An inverse tag index: an in-document `Record<tagId, objectId[]>` mapping a tag id to the ids of
|
|
5
|
+
* the objects carrying that tag.
|
|
6
|
+
*
|
|
7
|
+
* Mutable database objects track their tags in `Obj.getMeta(obj).tags` (an array of tag ids).
|
|
8
|
+
* Immutable feed/queue objects cannot carry their own meta, so this index — managed alongside the
|
|
9
|
+
* feed on its host object — augments that same process for them. Tags are sparse, so keying by tag
|
|
10
|
+
* id (rather than object id) keeps the index small and makes "filter the feed by tag" a single
|
|
11
|
+
* lookup.
|
|
12
|
+
*
|
|
13
|
+
* The tag id is an existing {@link Tag} object's id/URI; labels are never duplicated here — they
|
|
14
|
+
* live on the {@link Tag} object and stay editable in one place.
|
|
15
|
+
*/
|
|
16
|
+
/** Read/write accessor over a host object's tag-index field, bound to a single field key. */
|
|
17
|
+
export interface Accessor {
|
|
18
|
+
/** All tag ids present in the index. */
|
|
19
|
+
tagIds(): string[];
|
|
20
|
+
/** Object ids carrying the given tag; `[]` when the tag is absent (filter the feed by tag). */
|
|
21
|
+
objects(tagId: string): readonly string[];
|
|
22
|
+
/** Inverse lookup: the tag ids applied to the given object id. */
|
|
23
|
+
tags(objectId: string): string[];
|
|
24
|
+
/** Applies a tag to an object (creating the tag entry when absent); idempotent. */
|
|
25
|
+
setTag(tagId: string, objectId: string): void;
|
|
26
|
+
/** Removes a tag from an object, pruning the tag entry when it empties. */
|
|
27
|
+
unsetTag(tagId: string, objectId: string): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Schema fragment for a tag-index field. Splice into a host Struct. Optional record, hidden from
|
|
31
|
+
* forms. Keyed by tag id; the value is the array of object ids carrying that tag.
|
|
32
|
+
*/
|
|
33
|
+
export declare const field: () => Schema.optional<Schema.Record$<typeof Schema.String, Schema.Array$<import("@dxos/keys").EntityIdClass>>>;
|
|
34
|
+
/** Binds an {@link Accessor} over `host[key]`; all mutations go through `Obj.update`. */
|
|
35
|
+
export declare const bind: (host: Obj.Any, key: string) => Accessor;
|
|
36
|
+
//# sourceMappingURL=TagIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagIndex.d.ts","sourceRoot":"","sources":["../../../src/TagIndex.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAE7B;;;;;;;;;;;;GAYG;AAEH,6FAA6F;AAC7F,MAAM,WAAW,QAAQ;IACvB,wCAAwC;IACxC,MAAM,IAAI,MAAM,EAAE,CAAC;IACnB,+FAA+F;IAC/F,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;IAC1C,kEAAkE;IAClE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,mFAAmF;IACnF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACjD;AAED;;;GAGG;AACH,eAAO,MAAM,KAAK,gHAIf,CAAC;AAEJ,yFAAyF;AACzF,eAAO,MAAM,IAAI,SAAU,GAAG,CAAC,GAAG,OAAO,MAAM,KAAG,QA2DjD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagIndex.test.d.ts","sourceRoot":"","sources":["../../../src/TagIndex.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type * as Database from './Database';
|
|
2
|
+
import * as Obj from './Obj';
|
|
3
|
+
import * as Ref from './Ref';
|
|
4
|
+
import type * as Tag from './Tag';
|
|
5
|
+
/**
|
|
6
|
+
* Unified tag handling for objects whether their tags live on the object (mutable database objects)
|
|
7
|
+
* or alongside it (immutable feed/queue objects).
|
|
8
|
+
*
|
|
9
|
+
* - Mutable database objects track their tags in `Obj.getMeta(obj).tags` (an array of `Ref<Tag>`).
|
|
10
|
+
* - Immutable feed objects can't carry their own meta, so their tags live in a {@link TagIndex} on
|
|
11
|
+
* a host object; pass that host via {@link Options.host}.
|
|
12
|
+
*
|
|
13
|
+
* Either way the tag id is an existing {@link Tag} object's id/URI, so the same tag applies across
|
|
14
|
+
* mutable and immutable objects and its label is resolved (and edited) in one place. This API works
|
|
15
|
+
* in terms of those URI tag ids; on the mutable path it converts to/from the stored `Ref<Tag>`.
|
|
16
|
+
*/
|
|
17
|
+
export interface Options {
|
|
18
|
+
/** Host object whose tag index holds tags for the (immutable) object. Omit for mutable objects. */
|
|
19
|
+
host?: Obj.Any;
|
|
20
|
+
/** Tag-index field name on the host (default `tags`). */
|
|
21
|
+
key?: string;
|
|
22
|
+
}
|
|
23
|
+
/** Returns the tag ids (URIs) applied to an object. */
|
|
24
|
+
export declare const get: (object: Obj.Any, options?: Options) => string[];
|
|
25
|
+
/** Applies a tag (by id/URI) to an object (idempotent). */
|
|
26
|
+
export declare const set: (object: Obj.Any, tagId: string, options?: Options) => void;
|
|
27
|
+
/** Removes a tag (by id/URI) from an object. No-op when not present. */
|
|
28
|
+
export declare const unset: (object: Obj.Any, tagId: string, options?: Options) => void;
|
|
29
|
+
/** Resolves tag ids (URIs) to {@link Tag} object refs via the database. */
|
|
30
|
+
export declare const resolve: (db: Pick<Database.Database, 'makeRef'>, tagIds: readonly string[]) => Ref.Ref<Tag.Tag>[];
|
|
31
|
+
//# sourceMappingURL=Tagging.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tagging.d.ts","sourceRoot":"","sources":["../../../src/Tagging.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAC7B,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAGlC;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,OAAO;IACtB,mGAAmG;IACnG,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC;IACf,yDAAyD;IACzD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAID,uDAAuD;AACvD,eAAO,MAAM,GAAG,WAAY,GAAG,CAAC,GAAG,YAAW,OAAO,KAAQ,MAAM,EAMlE,CAAC;AAEF,2DAA2D;AAC3D,eAAO,MAAM,GAAG,WAAY,GAAG,CAAC,GAAG,SAAS,MAAM,YAAW,OAAO,KAAQ,IAe3E,CAAC;AAEF,wEAAwE;AACxE,eAAO,MAAM,KAAK,WAAY,GAAG,CAAC,GAAG,SAAS,MAAM,YAAW,OAAO,KAAQ,IAe7E,CAAC;AAEF,2EAA2E;AAC3E,eAAO,MAAM,OAAO,OAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,SAAS,MAAM,EAAE,KAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EACrD,CAAC"}
|