@dxos/echo 0.8.4-main.8360d9e660 → 0.8.4-main.8baae0fced
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 +3 -3
- package/dist/lib/neutral/Annotation.mjs +5 -3
- package/dist/lib/neutral/Database.mjs +8 -4
- package/dist/lib/neutral/Entity.mjs +16 -14
- package/dist/lib/neutral/Err.mjs +1 -1
- package/dist/lib/neutral/Extension.mjs +18 -0
- package/dist/lib/neutral/Extension.mjs.map +7 -0
- package/dist/lib/neutral/Feed.mjs +23 -18
- package/dist/lib/neutral/Filter.mjs +23 -13
- package/dist/lib/neutral/Format.mjs +3 -3
- package/dist/lib/neutral/JsonSchema.mjs +8 -8
- package/dist/lib/neutral/Key.mjs +1 -1
- package/dist/lib/neutral/Migration.mjs +17 -0
- package/dist/lib/neutral/Migration.mjs.map +7 -0
- package/dist/lib/neutral/Obj.mjs +16 -13
- package/dist/lib/neutral/Order.mjs +1 -1
- package/dist/lib/neutral/Query.mjs +19 -17
- package/dist/lib/neutral/QueryResult.mjs +1 -1
- package/dist/lib/neutral/Ref.mjs +9 -7
- package/dist/lib/neutral/Relation.mjs +15 -14
- package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
- package/dist/lib/neutral/Tag.mjs +14 -13
- package/dist/lib/neutral/Type.mjs +10 -10
- package/dist/lib/neutral/{chunk-FZO7LQO7.mjs → chunk-44HT3MEC.mjs} +2 -2
- package/dist/lib/neutral/{chunk-ROAGDPV7.mjs → chunk-4A2GS5LQ.mjs} +12 -8
- package/dist/lib/neutral/chunk-4A2GS5LQ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-OENWMTE6.mjs → chunk-5SL5LDLD.mjs} +4 -2
- package/dist/lib/neutral/chunk-5SL5LDLD.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-ANHVGJI4.mjs → chunk-7RVZT53K.mjs} +1 -1
- package/dist/lib/neutral/{chunk-YWXWXIE5.mjs → chunk-APHSOTIX.mjs} +2 -2
- package/dist/lib/neutral/{chunk-YWXWXIE5.mjs.map → chunk-APHSOTIX.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-6DNYDXCV.mjs → chunk-B2P7IVG3.mjs} +61 -14
- package/dist/lib/neutral/chunk-B2P7IVG3.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BNCCGLJN.mjs → chunk-BICZKPQG.mjs} +1 -1
- package/dist/lib/neutral/{chunk-43Y5DOS6.mjs → chunk-BMB7IHGB.mjs} +16 -66
- package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-6K2MVI2O.mjs → chunk-BUBEC474.mjs} +4 -4
- package/dist/lib/neutral/{chunk-YMNSMKKW.mjs → chunk-C4PSESGN.mjs} +6 -22
- package/dist/lib/neutral/{chunk-YMNSMKKW.mjs.map → chunk-C4PSESGN.mjs.map} +3 -3
- package/dist/lib/neutral/chunk-FIWO2FZK.mjs +36 -0
- package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +7 -0
- package/dist/lib/neutral/chunk-GWFFC34K.mjs +50 -0
- package/dist/lib/neutral/chunk-GWFFC34K.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-NXMFBIT5.mjs → chunk-HKETO4L4.mjs} +72 -6
- package/dist/lib/neutral/chunk-HKETO4L4.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-NEGC54NE.mjs → chunk-I2DARWPX.mjs} +17 -19
- package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7VNVH63N.mjs → chunk-IVSI7QO6.mjs} +50 -20
- package/dist/lib/neutral/chunk-IVSI7QO6.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BOZZPUXE.mjs → chunk-MLS7U7AT.mjs} +12 -65
- package/dist/lib/neutral/chunk-MLS7U7AT.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WYOKA6AE.mjs → chunk-N4B7FHQT.mjs} +2 -2
- package/dist/lib/neutral/{chunk-WYOKA6AE.mjs.map → chunk-N4B7FHQT.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-FXEG7EOK.mjs → chunk-N7VOEPSV.mjs} +6 -3
- package/dist/lib/neutral/{chunk-FXEG7EOK.mjs.map → chunk-N7VOEPSV.mjs.map} +3 -3
- package/dist/lib/neutral/{chunk-UTBRYVQC.mjs → chunk-QRZ2I3ZM.mjs} +2 -2
- package/dist/lib/neutral/{chunk-SEMVAGBM.mjs → chunk-TNBK56IN.mjs} +19 -24
- package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-B5OXLWZL.mjs → chunk-TRPZU2HV.mjs} +2 -2
- package/dist/lib/neutral/{chunk-UI6MWK5W.mjs → chunk-TTCSATUD.mjs} +1 -1
- package/dist/lib/neutral/{chunk-OMUPQMLR.mjs → chunk-V72DY6LU.mjs} +1 -1
- package/dist/lib/neutral/{chunk-6GPU7XC3.mjs → chunk-VW42HESL.mjs} +54 -17
- package/dist/lib/neutral/chunk-VW42HESL.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-4JRI2ZJI.mjs → chunk-X3356HPV.mjs} +120 -12
- package/dist/lib/neutral/chunk-X3356HPV.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-W47JKR3X.mjs → chunk-XEXM5HWQ.mjs} +18 -46
- package/dist/lib/neutral/chunk-XEXM5HWQ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-C4JZK4J7.mjs → chunk-Z5GKP74O.mjs} +231 -479
- package/dist/lib/neutral/chunk-Z5GKP74O.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-UBEZSGXY.mjs → chunk-ZISMEVKD.mjs} +1 -1
- package/dist/lib/neutral/{chunk-UBEZSGXY.mjs.map → chunk-ZISMEVKD.mjs.map} +2 -2
- package/dist/lib/neutral/index.mjs +38 -28
- package/dist/lib/neutral/internal/index.mjs +15 -9
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +185 -129
- package/dist/lib/neutral/testing/index.mjs.map +3 -3
- package/dist/types/src/Annotation.d.ts +1 -1
- package/dist/types/src/Annotation.d.ts.map +1 -1
- package/dist/types/src/Collection.d.ts.map +1 -1
- package/dist/types/src/Database.d.ts +14 -2
- package/dist/types/src/Database.d.ts.map +1 -1
- package/dist/types/src/Dataset.d.ts +2 -1
- package/dist/types/src/Dataset.d.ts.map +1 -1
- package/dist/types/src/Entity.d.ts +17 -11
- package/dist/types/src/Entity.d.ts.map +1 -1
- package/dist/types/src/Err.d.ts +18 -18
- package/dist/types/src/Err.d.ts.map +1 -1
- package/dist/types/src/Extension.d.ts +80 -0
- package/dist/types/src/Extension.d.ts.map +1 -0
- package/dist/types/src/Extension.test.d.ts +2 -0
- package/dist/types/src/Extension.test.d.ts.map +1 -0
- package/dist/types/src/Feed.d.ts +62 -21
- package/dist/types/src/Feed.d.ts.map +1 -1
- package/dist/types/src/Filter.d.ts +54 -4
- 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 +3 -3
- package/dist/types/src/Hypergraph.d.ts.map +1 -1
- package/dist/types/src/Json.d.ts +33 -0
- package/dist/types/src/Json.d.ts.map +1 -0
- package/dist/types/src/Json.test.d.ts +2 -0
- package/dist/types/src/Json.test.d.ts.map +1 -0
- package/dist/types/src/JsonSchema.d.ts +1 -1
- package/dist/types/src/Migration.d.ts +69 -0
- package/dist/types/src/Migration.d.ts.map +1 -0
- package/dist/types/src/Obj.d.ts +42 -28
- 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 +13 -2
- package/dist/types/src/Query.d.ts.map +1 -1
- package/dist/types/src/Ref.d.ts +1 -0
- package/dist/types/src/Ref.d.ts.map +1 -1
- package/dist/types/src/Relation.d.ts +17 -18
- package/dist/types/src/Relation.d.ts.map +1 -1
- package/dist/types/src/Tag.d.ts +2 -2
- package/dist/types/src/Tag.d.ts.map +1 -1
- package/dist/types/src/Type.d.ts +3 -3
- package/dist/types/src/Type.d.ts.map +1 -1
- package/dist/types/src/View.d.ts +1 -1
- 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 +3 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +12 -2
- package/dist/types/src/internal/Annotation/annotations.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 +1 -1
- package/dist/types/src/internal/Annotation/util.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/api.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/model.d.ts +2 -0
- package/dist/types/src/internal/Entity/model.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/object.d.ts.map +1 -1
- package/dist/types/src/internal/Entity/relation.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/types/src/internal/Format/number.d.ts.map +1 -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 +1 -1
- 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.map +1 -1
- package/dist/types/src/internal/Obj/deleted.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/ids.d.ts +1 -1
- package/dist/types/src/internal/Obj/ids.d.ts.map +1 -1
- package/dist/types/src/internal/Obj/json-serializer.d.ts +4 -3
- 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/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.map +1 -1
- package/dist/types/src/internal/Ref/ref.d.ts +14 -1
- 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/echo-schema.d.ts +2 -2
- package/dist/types/src/internal/Type/echo-schema.d.ts.map +1 -1
- package/dist/types/src/internal/Type/manipulation.d.ts.map +1 -1
- package/dist/types/src/internal/common/api/meta.d.ts +3 -3
- 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.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.map +1 -1
- package/dist/types/src/internal/common/types/base.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/entity.d.ts +4 -4
- package/dist/types/src/internal/common/types/entity.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/meta.d.ts +10 -0
- package/dist/types/src/internal/common/types/meta.d.ts.map +1 -1
- package/dist/types/src/internal/common/types/version.d.ts +1 -1
- package/dist/types/src/internal/index.d.ts +1 -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 +53 -53
- package/dist/types/src/testing/test-schema.d.ts.map +1 -1
- package/dist/types/src/testing/util.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +25 -15
- package/src/Annotation.ts +1 -0
- package/src/Collection.ts +2 -2
- package/src/Database.ts +50 -15
- package/src/Entity.ts +18 -12
- package/src/Extension.test.ts +235 -0
- package/src/Extension.ts +122 -0
- package/src/Feed.ts +107 -34
- package/src/Filter.test.ts +90 -0
- package/src/Filter.ts +97 -3
- package/src/Hypergraph.ts +3 -3
- package/src/Json.test.ts +175 -0
- package/src/Json.ts +102 -0
- package/src/Migration.ts +106 -0
- package/src/Obj.test.ts +105 -13
- package/src/Obj.ts +154 -33
- package/src/Query.test.ts +199 -9
- package/src/Query.ts +58 -8
- package/src/Ref.ts +2 -0
- package/src/Relation.ts +24 -20
- package/src/Type.ts +1 -1
- package/src/View.ts +1 -1
- package/src/exemplars.test.ts +21 -0
- package/src/index.ts +4 -0
- package/src/internal/Annotation/annotations.test.ts +51 -2
- package/src/internal/Annotation/annotations.ts +33 -14
- package/src/internal/Annotation/sorting.ts +0 -1
- package/src/internal/Entity/api.ts +0 -1
- package/src/internal/Entity/model.ts +2 -0
- package/src/internal/Entity/object.ts +0 -1
- package/src/internal/Entity/version.ts +0 -1
- package/src/internal/Format/date.test.ts +0 -1
- package/src/internal/Format/format.test.ts +0 -1
- package/src/internal/JsonSchema/json-schema-type.ts +1 -1
- package/src/internal/JsonSchema/json-schema.test.ts +1 -2
- package/src/internal/JsonSchema/json-schema.ts +1 -2
- package/src/internal/Obj/clone.ts +1 -1
- package/src/internal/Obj/create-object.test.ts +2 -4
- package/src/internal/Obj/create-object.ts +2 -3
- package/src/internal/Obj/deleted.ts +1 -1
- package/src/internal/Obj/ids.ts +1 -1
- package/src/internal/Obj/json-serializer.test.ts +49 -5
- package/src/internal/Obj/json-serializer.ts +47 -25
- package/src/internal/Obj/set-value.test.ts +24 -24
- package/src/internal/Obj/set-value.ts +1 -1
- package/src/internal/Query.ts +156 -0
- package/src/internal/Ref/ref-array.ts +0 -1
- package/src/internal/Ref/ref.test.ts +0 -1
- package/src/internal/Ref/ref.ts +18 -1
- package/src/internal/Type/compose.test.ts +0 -1
- package/src/internal/Type/echo-schema.ts +3 -4
- package/src/internal/common/README.md +1 -1
- package/src/internal/common/api/meta.ts +3 -3
- package/src/internal/common/proxy/change-context.ts +1 -1
- package/src/internal/common/proxy/change.test.ts +94 -94
- package/src/internal/common/proxy/errors.ts +2 -2
- package/src/internal/common/proxy/handler.test.ts +0 -2
- package/src/internal/common/proxy/json-serializer.ts +4 -1
- package/src/internal/common/proxy/make-object.ts +0 -1
- package/src/internal/common/proxy/ownership.ts +0 -1
- 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/typed-handler.test.ts +0 -1
- package/src/internal/common/proxy/typed-handler.ts +8 -10
- package/src/internal/common/proxy/typed-object.test.ts +2 -3
- package/src/internal/common/types/entity.ts +1 -1
- package/src/internal/common/types/meta.ts +12 -1
- package/src/internal/index.ts +1 -0
- package/src/testing/api.test.ts +0 -1
- package/src/testing/test-data.ts +157 -98
- package/dist/lib/neutral/chunk-43Y5DOS6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-4JRI2ZJI.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6DNYDXCV.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6GPU7XC3.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7VNVH63N.mjs.map +0 -7
- package/dist/lib/neutral/chunk-BOZZPUXE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-C4JZK4J7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NEGC54NE.mjs.map +0 -7
- package/dist/lib/neutral/chunk-NXMFBIT5.mjs.map +0 -7
- package/dist/lib/neutral/chunk-OENWMTE6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ROAGDPV7.mjs.map +0 -7
- package/dist/lib/neutral/chunk-SEMVAGBM.mjs.map +0 -7
- package/dist/lib/neutral/chunk-W47JKR3X.mjs.map +0 -7
- /package/dist/lib/neutral/{chunk-FZO7LQO7.mjs.map → chunk-44HT3MEC.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-ANHVGJI4.mjs.map → chunk-7RVZT53K.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-BNCCGLJN.mjs.map → chunk-BICZKPQG.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-6K2MVI2O.mjs.map → chunk-BUBEC474.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-UTBRYVQC.mjs.map → chunk-QRZ2I3ZM.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-B5OXLWZL.mjs.map → chunk-TRPZU2HV.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-UI6MWK5W.mjs.map → chunk-TTCSATUD.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-OMUPQMLR.mjs.map → chunk-V72DY6LU.mjs.map} +0 -0
|
@@ -2,6 +2,7 @@ import type { ForeignKey } from '@dxos/echo-protocol';
|
|
|
2
2
|
import type { DXN, ObjectId } from '@dxos/keys';
|
|
3
3
|
import * as internal from './internal';
|
|
4
4
|
import type * as Relation from './Relation';
|
|
5
|
+
import type * as Type from './Type';
|
|
5
6
|
export declare const KindId: "~@dxos/echo/Kind";
|
|
6
7
|
export type KindId = typeof internal.KindId;
|
|
7
8
|
export declare const SnapshotKindId: "~@dxos/echo/SnapshotKind";
|
|
@@ -86,6 +87,11 @@ export declare const getDXN: (entity: Unknown | Snapshot) => DXN;
|
|
|
86
87
|
* Get the DXN of an entity's type.
|
|
87
88
|
*/
|
|
88
89
|
export declare const getTypeDXN: (obj: internal.AnyProperties) => DXN | undefined;
|
|
90
|
+
/**
|
|
91
|
+
* Get the schema of an entity.
|
|
92
|
+
* Returns the branded ECHO schema used to create the entity.
|
|
93
|
+
*/
|
|
94
|
+
export declare const getSchema: (entity: Unknown | Snapshot) => Type.AnyEntity | undefined;
|
|
89
95
|
/**
|
|
90
96
|
* Get the typename of an entity's type.
|
|
91
97
|
*/
|
|
@@ -127,14 +133,14 @@ export declare const toJSON: (entity: Unknown | Snapshot) => JSON;
|
|
|
127
133
|
*/
|
|
128
134
|
export declare const subscribe: (entity: Unknown, callback: () => void) => (() => void);
|
|
129
135
|
/**
|
|
130
|
-
* Used to provide a mutable view of an entity within `Entity.
|
|
136
|
+
* Used to provide a mutable view of an entity within `Entity.update`.
|
|
131
137
|
*/
|
|
132
138
|
export type Mutable<T> = internal.Mutable<T>;
|
|
133
139
|
/**
|
|
134
140
|
* Perform mutations on an entity (object or relation) within a change context.
|
|
135
141
|
*
|
|
136
142
|
* Entities are read-only by default. Mutations are batched and notifications fire
|
|
137
|
-
* when the callback completes. Direct mutations outside of `Entity.
|
|
143
|
+
* when the callback completes. Direct mutations outside of `Entity.update` will throw
|
|
138
144
|
* at runtime.
|
|
139
145
|
*
|
|
140
146
|
* @param entity - The echo entity (object or relation) to mutate.
|
|
@@ -142,27 +148,27 @@ export type Mutable<T> = internal.Mutable<T>;
|
|
|
142
148
|
*
|
|
143
149
|
* @example
|
|
144
150
|
* ```typescript
|
|
145
|
-
* // Mutate within Entity.
|
|
146
|
-
* Entity.
|
|
147
|
-
*
|
|
148
|
-
*
|
|
151
|
+
* // Mutate within Entity.update
|
|
152
|
+
* Entity.update(entity, (obj) => {
|
|
153
|
+
* obj.name = 'Updated';
|
|
154
|
+
* obj.count = 42;
|
|
149
155
|
* });
|
|
150
156
|
*
|
|
151
157
|
* // Direct mutation throws
|
|
152
|
-
* entity.name = 'Bob'; // Error: Cannot modify outside Entity.
|
|
158
|
+
* entity.name = 'Bob'; // Error: Cannot modify outside Entity.update()
|
|
153
159
|
* ```
|
|
154
160
|
*
|
|
155
|
-
* Note: For type-specific operations, prefer `Obj.
|
|
161
|
+
* Note: For type-specific operations, prefer `Obj.update` or `Relation.update`.
|
|
156
162
|
*/
|
|
157
|
-
export declare const
|
|
163
|
+
export declare const update: <T extends Unknown>(entity: T, callback: internal.ChangeCallback<T>) => void;
|
|
158
164
|
/**
|
|
159
165
|
* Add a tag to an entity.
|
|
160
|
-
* Must be called within an `Entity.
|
|
166
|
+
* Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
|
|
161
167
|
*/
|
|
162
168
|
export declare const addTag: (entity: Mutable<Unknown>, tag: string) => void;
|
|
163
169
|
/**
|
|
164
170
|
* Remove a tag from an entity.
|
|
165
|
-
* Must be called within an `Entity.
|
|
171
|
+
* Must be called within an `Entity.update`, `Obj.update`, or `Relation.update` callback.
|
|
166
172
|
*/
|
|
167
173
|
export declare const removeTag: (entity: Mutable<Unknown>, tag: string) => void;
|
|
168
174
|
//# 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,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Entity.d.ts","sourceRoot":"","sources":["../../../src/Entity.ts"],"names":[],"mappings":"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"}
|
package/dist/types/src/Err.d.ts
CHANGED
|
@@ -2,27 +2,27 @@ import { BaseError, type BaseErrorOptions } from '@dxos/errors';
|
|
|
2
2
|
import { type DXN } 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;
|
|
@@ -32,27 +32,27 @@ export declare class SchemaNotFoundError extends SchemaNotFoundError_base {
|
|
|
32
32
|
}
|
|
33
33
|
declare const ObjectNotFoundError_base: {
|
|
34
34
|
new (options?: BaseErrorOptions): {
|
|
35
|
+
cause?: unknown;
|
|
36
|
+
stack?: string;
|
|
35
37
|
name: "ObjectNotFoundError";
|
|
36
38
|
context: Record<string, unknown>;
|
|
37
39
|
readonly message: string;
|
|
38
40
|
readonly _tag: "ObjectNotFoundError";
|
|
39
|
-
stack?: string;
|
|
40
|
-
cause?: unknown;
|
|
41
41
|
};
|
|
42
|
+
isError(error: unknown): error is Error;
|
|
42
43
|
name: "ObjectNotFoundError";
|
|
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) => {
|
|
48
|
+
cause?: unknown;
|
|
49
|
+
stack?: string;
|
|
47
50
|
name: "ObjectNotFoundError";
|
|
48
51
|
context: Record<string, unknown>;
|
|
49
52
|
readonly message: string;
|
|
50
53
|
readonly _tag: "ObjectNotFoundError";
|
|
51
|
-
stack?: string;
|
|
52
|
-
cause?: unknown;
|
|
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;
|
|
@@ -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,EAAE,OAAO,CAAC,EAAE,gBAAgB,EAE/C;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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import * as Option from 'effect/Option';
|
|
2
|
+
import * as Schema from 'effect/Schema';
|
|
3
|
+
import type * as Types from 'effect/Types';
|
|
4
|
+
/**
|
|
5
|
+
* Extensions allow objects to contain typed properties that are not part of the schema.
|
|
6
|
+
*/
|
|
7
|
+
export declare const TypeId: '~@dxos/echo/Extension';
|
|
8
|
+
export type TypeId = typeof TypeId;
|
|
9
|
+
export interface Extension<T> extends Record<TypeId, {
|
|
10
|
+
_Type: T;
|
|
11
|
+
}> {
|
|
12
|
+
readonly [TypeId]: {
|
|
13
|
+
_Type: T;
|
|
14
|
+
};
|
|
15
|
+
readonly key: Key;
|
|
16
|
+
readonly valueSchema: Schema.Schema<T>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create a new typed extension.
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* const ColorExtension = Extension.make('color', Schema.String);
|
|
23
|
+
*
|
|
24
|
+
* const obj = Obj.make(Person, {
|
|
25
|
+
* [Obj.Meta]: { keys: [{ source: 'external', id: '123' }] },
|
|
26
|
+
* name: 'John',
|
|
27
|
+
* email: 'john@example.com',
|
|
28
|
+
* });
|
|
29
|
+
*
|
|
30
|
+
* Obj.update(obj, (obj) => {
|
|
31
|
+
* Extension.set(obj.extensions, ColorExtension, 'red');
|
|
32
|
+
* });
|
|
33
|
+
*
|
|
34
|
+
* console.log(Extension.get(obj.extensions, ColorExtension)); // 'red'
|
|
35
|
+
* ```
|
|
36
|
+
*/
|
|
37
|
+
export declare const make: <S extends Schema.Schema.AnyNoContext>(key: string, valueSchema: S) => Extension<Schema.Schema.Type<S>>;
|
|
38
|
+
/**
|
|
39
|
+
* Unique identifier for an extension.
|
|
40
|
+
*/
|
|
41
|
+
export declare const Key: Schema.brand<typeof Schema.String, "~@dxos/echo/ExtensionKey">;
|
|
42
|
+
export type Key = Schema.Schema.Type<typeof Key>;
|
|
43
|
+
/**
|
|
44
|
+
* Set of extension values.
|
|
45
|
+
*
|
|
46
|
+
* Can be used inside an object/relation schema:
|
|
47
|
+
*
|
|
48
|
+
* ```ts
|
|
49
|
+
* const Person = Schema.Struct({
|
|
50
|
+
* name: Schema.String,
|
|
51
|
+
* extensions: Extension.Values,
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare const Values: Schema.Record$<Schema.brand<typeof Schema.String, "~@dxos/echo/ExtensionKey">, typeof Schema.Unknown>;
|
|
56
|
+
export interface Values extends Schema.Schema.Type<typeof Values> {
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get the value of an extension from a set of values.
|
|
60
|
+
*/
|
|
61
|
+
export declare const get: {
|
|
62
|
+
<T>(extension: Extension<T>): (values: Values) => Option.Option<T>;
|
|
63
|
+
<T>(values: Values, extension: Extension<T>): Option.Option<T>;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Set the value of an extension in a set of values.
|
|
67
|
+
*
|
|
68
|
+
* Can also be used within Obj.update callback:
|
|
69
|
+
*
|
|
70
|
+
* ```ts
|
|
71
|
+
* Obj.update(obj, (obj) => {
|
|
72
|
+
* Extension.set(obj.extensions, ColorExtension, 'red');
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
export declare const set: {
|
|
77
|
+
<T>(extension: Extension<T>, value: T): (values: Values) => void;
|
|
78
|
+
<T>(values: Types.Mutable<Values>, extension: Extension<T>, value: T): void;
|
|
79
|
+
};
|
|
80
|
+
//# sourceMappingURL=Extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Extension.d.ts","sourceRoot":"","sources":["../../../src/Extension.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAI3C;;GAEG;AAEH,eAAO,MAAM,MAAM,EAAG,uBAAgC,CAAC;AACvD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC;AAEnC,MAAM,WAAW,SAAS,CAAC,CAAC,CAAE,SAAQ,MAAM,CAC1C,MAAM,EACN;IACE,KAAK,EAAE,CAAC,CAAC;CACV,CACF;IACC,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE;QACjB,KAAK,EAAE,CAAC,CAAC;KACV,CAAC;IAEF,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CACxC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,YAAY,OAClD,MAAM,eACE,CAAC,KACb,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAMjC,CAAC;AAEF;;GAEG;AAEH,eAAO,MAAM,GAAG,gEAA+D,CAAC;AAChF,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,MAAM,uGAAqD,CAAC;AACzE,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE;;GAEG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAU/D,CAAC;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,GAAG,EAAE;IAChB,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CAM5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Extension.test.d.ts","sourceRoot":"","sources":["../../../src/Extension.test.ts"],"names":[],"mappings":""}
|
package/dist/types/src/Feed.d.ts
CHANGED
|
@@ -19,18 +19,15 @@ 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
|
+
readonly namespace?: "data" | "trace" | undefined;
|
|
24
25
|
}, Schema.Struct.Fields>;
|
|
25
26
|
/**
|
|
26
27
|
* TypeScript instance type for a Feed object.
|
|
27
28
|
*/
|
|
28
29
|
export interface Feed extends Schema.Schema.Type<typeof Feed> {
|
|
29
30
|
}
|
|
30
|
-
/**
|
|
31
|
-
* Meta key source for storing the backing DXN bound to a feed object.
|
|
32
|
-
*/
|
|
33
|
-
export declare const DXN_KEY = "org.dxos.key.feed";
|
|
34
31
|
/**
|
|
35
32
|
* Opaque cursor for iterating over feed items.
|
|
36
33
|
*/
|
|
@@ -44,6 +41,15 @@ export interface RetentionOptions {
|
|
|
44
41
|
/** Retain items after this cursor position. */
|
|
45
42
|
cursor?: string;
|
|
46
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Sync options for a feed.
|
|
46
|
+
*/
|
|
47
|
+
export interface SyncOptions {
|
|
48
|
+
/** Push local changes to the server. Defaults to true. */
|
|
49
|
+
shouldPush?: boolean;
|
|
50
|
+
/** Pull remote changes from the server. Defaults to true. */
|
|
51
|
+
shouldPull?: boolean;
|
|
52
|
+
}
|
|
47
53
|
/**
|
|
48
54
|
* Creates a new feed object.
|
|
49
55
|
*
|
|
@@ -54,12 +60,13 @@ export interface RetentionOptions {
|
|
|
54
60
|
*/
|
|
55
61
|
export declare const make: (props?: Obj.MakeProps<typeof Feed>) => Feed;
|
|
56
62
|
/**
|
|
57
|
-
*
|
|
63
|
+
* Derives the queue DXN from the feed object's DXN.
|
|
64
|
+
* Returns `undefined` when the feed is not stored in a space yet.
|
|
58
65
|
*
|
|
59
|
-
*
|
|
66
|
+
* Used internally by the feed service layer.
|
|
60
67
|
*/
|
|
61
68
|
export declare const getQueueDxn: (feed: Feed) => DXN | undefined;
|
|
62
|
-
declare const
|
|
69
|
+
declare const FeedService_base: Context.TagClass<FeedService, "@dxos/echo/Feed/FeedService", {
|
|
63
70
|
/**
|
|
64
71
|
* Appends items to a feed.
|
|
65
72
|
*/
|
|
@@ -75,19 +82,43 @@ declare const Service_base: Context.TagClass<Service, "@dxos/echo/Feed/Service",
|
|
|
75
82
|
<Q extends Query.Any>(feed: Feed, query: Q): QueryResult.QueryResult<Query.Type<Q>>;
|
|
76
83
|
<F extends Filter.Any>(feed: Feed, filter: F): QueryResult.QueryResult<Filter.Type<F>>;
|
|
77
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Syncs the feed with the server.
|
|
87
|
+
*/
|
|
88
|
+
sync(feed: Feed, options?: SyncOptions): Promise<void>;
|
|
78
89
|
}>;
|
|
79
90
|
/**
|
|
80
91
|
* Effect service for feed operations.
|
|
81
92
|
* Provides the bridge to the underlying storage implementation.
|
|
82
93
|
* Must be provided by the application layer (e.g., echo-db).
|
|
83
94
|
*/
|
|
84
|
-
export declare class
|
|
95
|
+
export declare class FeedService extends FeedService_base {
|
|
85
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* @deprecated Use `FeedService` instead.
|
|
99
|
+
*/
|
|
100
|
+
export type Service = FeedService;
|
|
101
|
+
/**
|
|
102
|
+
* @deprecated Use `FeedService` instead.
|
|
103
|
+
*/
|
|
104
|
+
export declare const Service: typeof FeedService;
|
|
86
105
|
/**
|
|
87
106
|
* Layer that provides a Feed service that throws when accessed.
|
|
88
107
|
* Useful as a default layer when no feed service is available.
|
|
89
108
|
*/
|
|
90
|
-
export declare const notAvailable: Layer.Layer<
|
|
109
|
+
export declare const notAvailable: Layer.Layer<FeedService>;
|
|
110
|
+
declare const ContextFeedService_base: Context.TagClass<ContextFeedService, "@dxos/echo/Feed/ContextFeedService", {
|
|
111
|
+
readonly feed: Feed;
|
|
112
|
+
}>;
|
|
113
|
+
/**
|
|
114
|
+
* Effect service exposing a single `Feed.Feed` as the "current" feed for a call site.
|
|
115
|
+
*
|
|
116
|
+
* @deprecated Prefer threading a `Feed.Feed` explicitly through function signatures
|
|
117
|
+
* over hiding it behind a context service.
|
|
118
|
+
*/
|
|
119
|
+
export declare class ContextFeedService extends ContextFeedService_base {
|
|
120
|
+
static layer: (feed: Feed) => Layer.Layer<ContextFeedService>;
|
|
121
|
+
}
|
|
91
122
|
/**
|
|
92
123
|
* Appends items to a feed.
|
|
93
124
|
*
|
|
@@ -96,7 +127,7 @@ export declare const notAvailable: Layer.Layer<Service>;
|
|
|
96
127
|
* yield* Feed.append(feed, [Obj.make(Notification, { title: 'Hello' })]);
|
|
97
128
|
* ```
|
|
98
129
|
*/
|
|
99
|
-
export declare const append: (feed: Feed, items: Entity.Unknown[]) => Effect.Effect<void, never,
|
|
130
|
+
export declare const append: (feed: Feed, items: Entity.Unknown[]) => Effect.Effect<void, never, FeedService>;
|
|
100
131
|
/**
|
|
101
132
|
* Removes items from a feed.
|
|
102
133
|
*
|
|
@@ -105,7 +136,7 @@ export declare const append: (feed: Feed, items: Entity.Unknown[]) => Effect.Eff
|
|
|
105
136
|
* yield* Feed.remove(feed, [item]);
|
|
106
137
|
* ```
|
|
107
138
|
*/
|
|
108
|
-
export declare const remove: (feed: Feed, items: (Entity.Unknown | Obj.Snapshot)[]) => Effect.Effect<void, never,
|
|
139
|
+
export declare const remove: (feed: Feed, items: (Entity.Unknown | Obj.Snapshot)[]) => Effect.Effect<void, never, FeedService>;
|
|
109
140
|
/**
|
|
110
141
|
* Creates a reactive query over items in a feed.
|
|
111
142
|
*
|
|
@@ -115,8 +146,8 @@ export declare const remove: (feed: Feed, items: (Entity.Unknown | Obj.Snapshot)
|
|
|
115
146
|
* ```
|
|
116
147
|
*/
|
|
117
148
|
export declare const query: {
|
|
118
|
-
<Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<QueryResult.QueryResult<Query.Type<Q>>, never,
|
|
119
|
-
<F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<QueryResult.QueryResult<Filter.Type<F>>, never,
|
|
149
|
+
<Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<QueryResult.QueryResult<Query.Type<Q>>, never, FeedService>;
|
|
150
|
+
<F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<QueryResult.QueryResult<Filter.Type<F>>, never, FeedService>;
|
|
120
151
|
};
|
|
121
152
|
/**
|
|
122
153
|
* Executes a feed query once and returns the results.
|
|
@@ -127,9 +158,19 @@ export declare const query: {
|
|
|
127
158
|
* ```
|
|
128
159
|
*/
|
|
129
160
|
export declare const runQuery: {
|
|
130
|
-
<Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<Query.Type<Q>[], never,
|
|
131
|
-
<F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<Filter.Type<F>[], never,
|
|
161
|
+
<Q extends Query.Any>(feed: Feed, query: Q): Effect.Effect<Query.Type<Q>[], never, FeedService>;
|
|
162
|
+
<F extends Filter.Any>(feed: Feed, filter: F): Effect.Effect<Filter.Type<F>[], never, FeedService>;
|
|
132
163
|
};
|
|
164
|
+
/**
|
|
165
|
+
* Syncs the feed with the server.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```ts
|
|
169
|
+
* yield* Feed.sync(feed);
|
|
170
|
+
* yield* Feed.sync(feed, { shouldPush: false });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
export declare const sync: (feed: Feed, options?: SyncOptions) => Effect.Effect<void, never, FeedService>;
|
|
133
174
|
/**
|
|
134
175
|
* Creates a cursor for iterating over feed items.
|
|
135
176
|
* Currently stubbed — cursor operations are not yet implemented.
|
|
@@ -140,26 +181,26 @@ export declare const runQuery: {
|
|
|
140
181
|
* const item = yield* Feed.next(cursor);
|
|
141
182
|
* ```
|
|
142
183
|
*/
|
|
143
|
-
export declare const cursor: <T = Obj.Snapshot>(_feed: Feed) => Effect.Effect<Cursor<T>, never,
|
|
184
|
+
export declare const cursor: <T = Obj.Snapshot>(_feed: Feed) => Effect.Effect<Cursor<T>, never, FeedService>;
|
|
144
185
|
/**
|
|
145
186
|
* Returns the next item from a feed cursor.
|
|
146
187
|
* Currently stubbed — cursor operations are not yet implemented.
|
|
147
188
|
*/
|
|
148
|
-
export declare const next: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effect<T, never,
|
|
189
|
+
export declare const next: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effect<T, never, FeedService>;
|
|
149
190
|
/**
|
|
150
191
|
* Returns the next item from a feed cursor as an Option.
|
|
151
192
|
* Currently stubbed — cursor operations are not yet implemented.
|
|
152
193
|
*/
|
|
153
|
-
export declare const nextOption: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effect<Option.Option<T>, never,
|
|
194
|
+
export declare const nextOption: <T = Obj.Snapshot>(_cursor: Cursor<T>) => Effect.Effect<Option.Option<T>, never, FeedService>;
|
|
154
195
|
/**
|
|
155
196
|
* Sets the local retention policy for a feed.
|
|
156
|
-
* Currently stubbed —
|
|
197
|
+
* Currently stubbed — feeds do not yet support retention.
|
|
157
198
|
*
|
|
158
199
|
* @example
|
|
159
200
|
* ```ts
|
|
160
201
|
* yield* Feed.setRetention(feed, { count: 1000 });
|
|
161
202
|
* ```
|
|
162
203
|
*/
|
|
163
|
-
export declare const setRetention: (_feed: Feed, _options: RetentionOptions) => Effect.Effect<void, never,
|
|
204
|
+
export declare const setRetention: (_feed: Feed, _options: RetentionOptions) => Effect.Effect<void, never, FeedService>;
|
|
164
205
|
export {};
|
|
165
206
|
//# sourceMappingURL=Feed.d.ts.map
|
|
@@ -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,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Feed.d.ts","sourceRoot":"","sources":["../../../src/Feed.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,11 @@ 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
4
|
import { DXN, ObjectId } from '@dxos/keys';
|
|
5
|
+
import type * as Obj from './Obj';
|
|
6
|
+
import * as Ref from './Ref';
|
|
5
7
|
export interface Filter<T> {
|
|
6
8
|
'~Filter': {
|
|
7
|
-
value: Types.
|
|
9
|
+
value: Types.Covariant<T>;
|
|
8
10
|
};
|
|
9
11
|
ast: QueryAST.Filter;
|
|
10
12
|
}
|
|
@@ -18,7 +20,7 @@ declare class FilterClass implements Any {
|
|
|
18
20
|
private static 'variance';
|
|
19
21
|
constructor(ast: QueryAST.Filter);
|
|
20
22
|
'~Filter': {
|
|
21
|
-
value: Types.
|
|
23
|
+
value: Types.Covariant<any>;
|
|
22
24
|
};
|
|
23
25
|
}
|
|
24
26
|
export declare const is: (value: unknown) => value is Any;
|
|
@@ -49,6 +51,27 @@ export declare const typeDXN: (dxn: DXN) => Any;
|
|
|
49
51
|
* Filter by tag.
|
|
50
52
|
*/
|
|
51
53
|
export declare const tag: (tag: string) => Any;
|
|
54
|
+
/**
|
|
55
|
+
* Options for {@link key} filter.
|
|
56
|
+
*/
|
|
57
|
+
export type KeyFilterOptions = {
|
|
58
|
+
/**
|
|
59
|
+
* Optional semver range expression (e.g. `^1.2.3`, `~2.0.0`, `>=1.0.0 <2.0.0`).
|
|
60
|
+
* Matches the object's meta `version` field against the range.
|
|
61
|
+
* If omitted, matches any version (including objects with no version).
|
|
62
|
+
*/
|
|
63
|
+
version?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Filter by registry key stored in object meta.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```ts
|
|
70
|
+
* Filter.key('org.example.type.foo');
|
|
71
|
+
* Filter.key('org.example.type.foo', { version: '^1.2.3' });
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare const key: (key: string, options?: KeyFilterOptions) => Any;
|
|
52
75
|
/**
|
|
53
76
|
* Filter by properties.
|
|
54
77
|
*/
|
|
@@ -92,7 +115,7 @@ export declare const lte: <T>(value: T) => Filter<T | undefined>;
|
|
|
92
115
|
* Predicate for property to be in the provided array.
|
|
93
116
|
* @param values - Values to check against.
|
|
94
117
|
*/
|
|
95
|
-
declare const in$: <T>(...values: T[]) => Filter<T
|
|
118
|
+
declare const in$: <T>(...values: T[]) => Filter<T>;
|
|
96
119
|
export { in$ as in };
|
|
97
120
|
/**
|
|
98
121
|
* Predicate for an array property to contain the provided value.
|
|
@@ -104,7 +127,30 @@ export declare const contains: <T>(value: T) => Filter<readonly T[] | undefined>
|
|
|
104
127
|
* @param from - Start of the range (inclusive).
|
|
105
128
|
* @param to - End of the range (exclusive).
|
|
106
129
|
*/
|
|
107
|
-
export declare const between: <T>(from: T, to: T) => Filter<
|
|
130
|
+
export declare const between: <T>(from: T, to: T) => Filter<T>;
|
|
131
|
+
type TimeRange = {
|
|
132
|
+
after?: Date | number;
|
|
133
|
+
before?: Date | number;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Filter objects by updatedAt timestamp.
|
|
137
|
+
*/
|
|
138
|
+
export declare const updated: (range: TimeRange) => Any;
|
|
139
|
+
/**
|
|
140
|
+
* Filter objects by createdAt timestamp.
|
|
141
|
+
*/
|
|
142
|
+
export declare const created: (range: TimeRange) => Any;
|
|
143
|
+
export type ChildOfOptions = {
|
|
144
|
+
/** Whether to match transitively (grandchildren, etc.). Defaults to true. */
|
|
145
|
+
transitive?: boolean;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Filter objects that are children of the specified parent(s).
|
|
149
|
+
* Accepts ECHO objects, Refs, or arrays of either.
|
|
150
|
+
* Refs are resolved to DXNs without loading; objects use {@link Obj.getDXN}.
|
|
151
|
+
* With transitive=true (default), also matches grandchildren and beyond.
|
|
152
|
+
*/
|
|
153
|
+
export declare const childOf: (parents: Obj.Unknown | Ref.Unknown | readonly (Obj.Unknown | Ref.Unknown)[], options?: ChildOfOptions) => Any;
|
|
108
154
|
/**
|
|
109
155
|
* Negate the filter.
|
|
110
156
|
*/
|
|
@@ -117,4 +163,8 @@ export declare const and: <Filters extends readonly Any[]>(...filters: Filters)
|
|
|
117
163
|
* Combine filters with a logical OR.
|
|
118
164
|
*/
|
|
119
165
|
export declare const or: <Filters extends readonly Any[]>(...filters: Filters) => Filter<Type<Filters[number]>>;
|
|
166
|
+
/**
|
|
167
|
+
* Returns a human-readable string representation of a Filter AST.
|
|
168
|
+
*/
|
|
169
|
+
export declare const pretty: (filter: Any) => string;
|
|
120
170
|
//# sourceMappingURL=Filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/Filter.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../src/Filter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Filter.test.d.ts","sourceRoot":"","sources":["../../../src/Filter.test.ts"],"names":[],"mappings":""}
|
|
@@ -15,10 +15,10 @@ export interface RefResolutionContext {
|
|
|
15
15
|
*/
|
|
16
16
|
space?: Key.SpaceId;
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
* This
|
|
18
|
+
* Feed that the resolution is happening from (as the underlying queue DXN).
|
|
19
|
+
* This feed will be searched first, and then the space it belongs to.
|
|
20
20
|
*/
|
|
21
|
-
|
|
21
|
+
feed?: DXN;
|
|
22
22
|
}
|
|
23
23
|
export interface RefResolverOptions {
|
|
24
24
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hypergraph.d.ts","sourceRoot":"","sources":["../../../src/Hypergraph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,KAAK,cAAc,MAAM,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAEpB;;;OAGG;IACH,
|
|
1
|
+
{"version":3,"file":"Hypergraph.d.ts","sourceRoot":"","sources":["../../../src/Hypergraph.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,UAAU,CAAC;AACxC,OAAO,KAAK,KAAK,QAAQ,MAAM,YAAY,CAAC;AAC5C,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,KAAK,GAAG,MAAM,OAAO,CAAC;AAClC,OAAO,KAAK,KAAK,cAAc,MAAM,kBAAkB,CAAC;AAExD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC;IAEpB;;;OAGG;IACH,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAE/B;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,aAAa,KAAK,QAAQ,CAAC,aAAa,CAAC;CACtE;AAED;;GAEG;AACH,MAAM,WAAW,UAAW,SAAQ,QAAQ,CAAC,SAAS;IACpD,IAAI,cAAc,IAAI,cAAc,CAAC,cAAc,CAAC;IAEpD;;OAEG;IACH,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC;IAExB;;;;;;;OAOG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEzE;;;;OAIG;IAEH,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE7D;;;OAGG;IACH,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAC;CAClE"}
|