@dxos/echo 0.8.4-main.74a063c4e0 → 0.8.4-main.765dc60934
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 +6 -4
- package/dist/lib/neutral/Entity.mjs +16 -14
- package/dist/lib/neutral/Err.mjs +1 -1
- package/dist/lib/neutral/Extension.mjs +1 -1
- package/dist/lib/neutral/Feed.mjs +21 -17
- package/dist/lib/neutral/Filter.mjs +15 -11
- 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 +14 -14
- package/dist/lib/neutral/Order.mjs +1 -1
- package/dist/lib/neutral/Query.mjs +17 -17
- package/dist/lib/neutral/QueryResult.mjs +1 -1
- package/dist/lib/neutral/Ref.mjs +9 -7
- package/dist/lib/neutral/Relation.mjs +15 -15
- package/dist/lib/neutral/SchemaRegistry.mjs +1 -1
- package/dist/lib/neutral/Tag.mjs +14 -14
- package/dist/lib/neutral/Type.mjs +10 -10
- package/dist/lib/neutral/{chunk-GZQTCRJB.mjs → chunk-44HT3MEC.mjs} +2 -2
- package/dist/lib/neutral/{chunk-ZIXGDU6F.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-MYMU4TWK.mjs → chunk-7VWWUTRQ.mjs} +38 -17
- package/dist/lib/neutral/chunk-7VWWUTRQ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-66GBFH43.mjs → chunk-A6IYRT5A.mjs} +17 -45
- package/dist/lib/neutral/chunk-A6IYRT5A.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-R72KFH2X.mjs → chunk-APHSOTIX.mjs} +2 -2
- package/dist/lib/neutral/{chunk-XZJUNTML.mjs → chunk-APJKDGFL.mjs} +36 -6
- package/dist/lib/neutral/chunk-APJKDGFL.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-BNCCGLJN.mjs → chunk-BICZKPQG.mjs} +1 -1
- package/dist/lib/neutral/{chunk-QWAOTFCY.mjs → chunk-BMB7IHGB.mjs} +16 -66
- package/dist/lib/neutral/chunk-BMB7IHGB.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-KPY6FC5I.mjs → chunk-BVOWYVTD.mjs} +17 -12
- package/dist/lib/neutral/chunk-BVOWYVTD.mjs.map +7 -0
- package/dist/lib/neutral/chunk-FIWO2FZK.mjs +36 -0
- package/dist/lib/neutral/chunk-FIWO2FZK.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-WMFVS4KR.mjs → chunk-G54OX4IX.mjs} +102 -480
- package/dist/lib/neutral/chunk-G54OX4IX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-7QQMUDE6.mjs → chunk-GMS5PKGQ.mjs} +59 -12
- package/dist/lib/neutral/chunk-GMS5PKGQ.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-YS6Q3XAD.mjs → chunk-GWFFC34K.mjs} +1 -1
- package/dist/lib/neutral/{chunk-YS6Q3XAD.mjs.map → chunk-GWFFC34K.mjs.map} +1 -1
- package/dist/lib/neutral/{chunk-EBVB5NOH.mjs → chunk-I2DARWPX.mjs} +15 -20
- package/dist/lib/neutral/chunk-I2DARWPX.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-FNEFSO2C.mjs → chunk-MLS7U7AT.mjs} +12 -65
- package/dist/lib/neutral/{chunk-FNEFSO2C.mjs.map → chunk-MLS7U7AT.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-TBKX6JQO.mjs → chunk-N4B7FHQT.mjs} +1 -1
- package/dist/lib/neutral/{chunk-46QNGNTY.mjs → chunk-N7VOEPSV.mjs} +6 -3
- package/dist/lib/neutral/{chunk-46QNGNTY.mjs.map → chunk-N7VOEPSV.mjs.map} +3 -3
- package/dist/lib/neutral/{chunk-MZXWVR3T.mjs → chunk-PSZBLH53.mjs} +6 -22
- package/dist/lib/neutral/{chunk-MZXWVR3T.mjs.map → chunk-PSZBLH53.mjs.map} +2 -2
- package/dist/lib/neutral/{chunk-XZM7FERR.mjs → chunk-QBIKZ3TY.mjs} +4 -4
- package/dist/lib/neutral/{chunk-E5PBQJWV.mjs → chunk-QRZ2I3ZM.mjs} +2 -2
- package/dist/lib/neutral/{chunk-2U2BZDLU.mjs → chunk-SCPFDS2E.mjs} +12 -8
- package/dist/lib/neutral/chunk-SCPFDS2E.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-VCAP4OOT.mjs → chunk-SKDTKHDC.mjs} +21 -5
- package/dist/lib/neutral/chunk-SKDTKHDC.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-6URFBQJH.mjs → chunk-TNBK56IN.mjs} +11 -22
- package/dist/lib/neutral/chunk-TNBK56IN.mjs.map +7 -0
- package/dist/lib/neutral/{chunk-DQYLD2RB.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-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 +33 -27
- package/dist/lib/neutral/internal/index.mjs +11 -9
- package/dist/lib/neutral/meta.json +1 -1
- package/dist/lib/neutral/testing/index.mjs +183 -128
- 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 +6 -1
- package/dist/types/src/Database.d.ts.map +1 -1
- package/dist/types/src/Dataset.d.ts +1 -1
- package/dist/types/src/Entity.d.ts +15 -9
- 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 +4 -4
- package/dist/types/src/Extension.d.ts.map +1 -1
- package/dist/types/src/Feed.d.ts +37 -2
- package/dist/types/src/Feed.d.ts.map +1 -1
- package/dist/types/src/Filter.d.ts +34 -0
- package/dist/types/src/Filter.d.ts.map +1 -1
- 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 +23 -21
- 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 +5 -1
- 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 +15 -15
- 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.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 +2 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/Annotation/annotations.d.ts +11 -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/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 +2 -1
- 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.map +1 -1
- package/dist/types/src/internal/Ref/ref.d.ts +13 -0
- 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 +1 -1
- 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/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 +3 -3
- 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/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 +19 -14
- package/src/Annotation.ts +1 -0
- package/src/Collection.ts +1 -1
- package/src/Database.ts +36 -14
- package/src/Entity.ts +16 -9
- package/src/Extension.ts +3 -3
- package/src/Feed.ts +54 -2
- package/src/Filter.ts +61 -0
- 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 +23 -23
- package/src/Obj.ts +28 -25
- package/src/Query.test.ts +129 -5
- package/src/Query.ts +32 -7
- package/src/Ref.ts +2 -0
- package/src/Relation.ts +21 -17
- package/src/exemplars.test.ts +21 -0
- package/src/index.ts +3 -0
- package/src/internal/Annotation/annotations.ts +19 -7
- package/src/internal/Entity/model.ts +2 -0
- package/src/internal/Obj/ids.ts +1 -1
- package/src/internal/Obj/json-serializer.test.ts +2 -2
- package/src/internal/Obj/json-serializer.ts +17 -10
- package/src/internal/Obj/set-value.test.ts +24 -24
- package/src/internal/Obj/set-value.ts +1 -1
- package/src/internal/Query.ts +28 -4
- package/src/internal/Ref/ref.ts +17 -0
- package/src/internal/Type/echo-schema.ts +1 -1
- 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 +66 -66
- package/src/internal/common/proxy/errors.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/typed-handler.ts +7 -7
- package/src/internal/common/proxy/typed-object.test.ts +1 -1
- package/src/internal/common/types/meta.ts +12 -0
- package/src/testing/test-data.ts +157 -97
- package/dist/lib/neutral/chunk-2U2BZDLU.mjs.map +0 -7
- package/dist/lib/neutral/chunk-66GBFH43.mjs.map +0 -7
- package/dist/lib/neutral/chunk-6URFBQJH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-7QQMUDE6.mjs.map +0 -7
- package/dist/lib/neutral/chunk-EBVB5NOH.mjs.map +0 -7
- package/dist/lib/neutral/chunk-KPY6FC5I.mjs.map +0 -7
- package/dist/lib/neutral/chunk-MYMU4TWK.mjs.map +0 -7
- package/dist/lib/neutral/chunk-QWAOTFCY.mjs.map +0 -7
- package/dist/lib/neutral/chunk-VCAP4OOT.mjs.map +0 -7
- package/dist/lib/neutral/chunk-WMFVS4KR.mjs.map +0 -7
- package/dist/lib/neutral/chunk-XZJUNTML.mjs.map +0 -7
- package/dist/lib/neutral/chunk-ZIXGDU6F.mjs.map +0 -7
- /package/dist/lib/neutral/{chunk-GZQTCRJB.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-R72KFH2X.mjs.map → chunk-APHSOTIX.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-BNCCGLJN.mjs.map → chunk-BICZKPQG.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-TBKX6JQO.mjs.map → chunk-N4B7FHQT.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-XZM7FERR.mjs.map → chunk-QBIKZ3TY.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-E5PBQJWV.mjs.map → chunk-QRZ2I3ZM.mjs.map} +0 -0
- /package/dist/lib/neutral/{chunk-DQYLD2RB.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
|
@@ -3,12 +3,12 @@ import {
|
|
|
3
3
|
JsonSchemaType,
|
|
4
4
|
toEffectSchema,
|
|
5
5
|
toJsonSchema
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MLS7U7AT.mjs";
|
|
7
7
|
import {
|
|
8
8
|
Ref,
|
|
9
9
|
refFromEncodedReference,
|
|
10
10
|
setRefResolver
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-BMB7IHGB.mjs";
|
|
12
12
|
import {
|
|
13
13
|
ATTR_PARENT,
|
|
14
14
|
ATTR_TYPE,
|
|
@@ -33,14 +33,14 @@ import {
|
|
|
33
33
|
getTypename,
|
|
34
34
|
setSchema,
|
|
35
35
|
setTypename
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-TNBK56IN.mjs";
|
|
37
37
|
import {
|
|
38
38
|
EntityKind,
|
|
39
39
|
KindId,
|
|
40
40
|
SchemaKindId,
|
|
41
41
|
SnapshotKindId,
|
|
42
42
|
makeTypeJsonSchemaAnnotation
|
|
43
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-N4B7FHQT.mjs";
|
|
44
44
|
|
|
45
45
|
// src/internal/index.ts
|
|
46
46
|
import { JsonPath, JsonProp, getValue, splitJsonPath } from "@dxos/effect";
|
|
@@ -72,19 +72,21 @@ var ObjectMetaSchema = Schema2.Struct({
|
|
|
72
72
|
// TODO(dmaretskyi): Has to be optional for compatibility with old data.
|
|
73
73
|
// Defaulting to an empty array is possible but requires a bit more work.
|
|
74
74
|
// TODO(dmaretskyi): In automerge this should be a map of { [tag]: boolean } for uniqueness and conflict resolution.
|
|
75
|
-
tags: Schema2.optional(Schema2.Array(Schema2.String))
|
|
75
|
+
tags: Schema2.optional(Schema2.Array(Schema2.String)),
|
|
76
|
+
/**
|
|
77
|
+
* Fully-qualified registry key for the object (FQN format, e.g. `org.example.type.foo`).
|
|
78
|
+
* Identifies the canonical registry entry the object instance was created from.
|
|
79
|
+
*/
|
|
80
|
+
key: Schema2.optional(Schema2.String),
|
|
81
|
+
/**
|
|
82
|
+
* Semantic version of the registry entry the object was created from.
|
|
83
|
+
* Must be a valid semver string (e.g. `1.2.3`).
|
|
84
|
+
*/
|
|
85
|
+
version: Schema2.optional(Schema2.String)
|
|
76
86
|
});
|
|
77
87
|
var getMeta = (obj) => {
|
|
78
88
|
const metadata = obj[MetaId];
|
|
79
|
-
invariant(metadata, "ObjectMeta not found.", {
|
|
80
|
-
F: __dxlog_file,
|
|
81
|
-
L: 54,
|
|
82
|
-
S: void 0,
|
|
83
|
-
A: [
|
|
84
|
-
"metadata",
|
|
85
|
-
"'ObjectMeta not found.'"
|
|
86
|
-
]
|
|
87
|
-
});
|
|
89
|
+
invariant(metadata, "ObjectMeta not found.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 45, S: void 0, A: ["metadata", "'ObjectMeta not found.'"] });
|
|
88
90
|
return metadata;
|
|
89
91
|
};
|
|
90
92
|
var foreignKey = (source, id) => ({
|
|
@@ -141,29 +143,13 @@ var __dxlog_file2 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/common/
|
|
|
141
143
|
function getMetaChecked(entity) {
|
|
142
144
|
assertArgument(entity, "entity", "Should be an entity.");
|
|
143
145
|
const meta = getMeta(entity);
|
|
144
|
-
invariant2(meta != null, "Invalid entity.", {
|
|
145
|
-
F: __dxlog_file2,
|
|
146
|
-
L: 34,
|
|
147
|
-
S: this,
|
|
148
|
-
A: [
|
|
149
|
-
"meta != null",
|
|
150
|
-
"'Invalid entity.'"
|
|
151
|
-
]
|
|
152
|
-
});
|
|
146
|
+
invariant2(meta != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 9, S: this, A: ["meta != null", "'Invalid entity.'"] });
|
|
153
147
|
return meta;
|
|
154
148
|
}
|
|
155
149
|
var getKeys = (entity, source) => {
|
|
156
150
|
assertArgument(entity, "entity", "Should be an entity.");
|
|
157
151
|
const meta = getMetaChecked(entity);
|
|
158
|
-
invariant2(meta != null, "Invalid entity.", {
|
|
159
|
-
F: __dxlog_file2,
|
|
160
|
-
L: 45,
|
|
161
|
-
S: void 0,
|
|
162
|
-
A: [
|
|
163
|
-
"meta != null",
|
|
164
|
-
"'Invalid entity.'"
|
|
165
|
-
]
|
|
166
|
-
});
|
|
152
|
+
invariant2(meta != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file2, L: 18, S: void 0, A: ["meta != null", "'Invalid entity.'"] });
|
|
167
153
|
return meta.keys.filter((key) => key.source === source);
|
|
168
154
|
};
|
|
169
155
|
var deleteKeys = (entity, source) => {
|
|
@@ -282,7 +268,7 @@ var defineHiddenProperty = (object, key, value2) => {
|
|
|
282
268
|
// src/internal/common/proxy/errors.ts
|
|
283
269
|
var MutationOutsideChangeContextError = class extends Error {
|
|
284
270
|
constructor(operation, suggestion) {
|
|
285
|
-
super(`Cannot ${operation} outside of Obj.
|
|
271
|
+
super(`Cannot ${operation} outside of Obj.update(). Use Obj.update(obj, (mutableObj) => { ${suggestion} }) instead.`);
|
|
286
272
|
this.name = "MutationOutsideChangeContextError";
|
|
287
273
|
}
|
|
288
274
|
};
|
|
@@ -330,28 +316,12 @@ var typedJsonSerializer = function() {
|
|
|
330
316
|
}
|
|
331
317
|
if (this[RelationSourceDXNId]) {
|
|
332
318
|
const sourceDXN = this[RelationSourceDXNId];
|
|
333
|
-
invariant3(sourceDXN instanceof DXN, void 0, {
|
|
334
|
-
F: __dxlog_file3,
|
|
335
|
-
L: 64,
|
|
336
|
-
S: this,
|
|
337
|
-
A: [
|
|
338
|
-
"sourceDXN instanceof DXN",
|
|
339
|
-
""
|
|
340
|
-
]
|
|
341
|
-
});
|
|
319
|
+
invariant3(sourceDXN instanceof DXN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 42, S: this, A: ["sourceDXN instanceof DXN", ""] });
|
|
342
320
|
result[ATTR_RELATION_SOURCE] = sourceDXN.toString();
|
|
343
321
|
}
|
|
344
322
|
if (this[RelationTargetDXNId]) {
|
|
345
323
|
const targetDXN = this[RelationTargetDXNId];
|
|
346
|
-
invariant3(targetDXN instanceof DXN, void 0, {
|
|
347
|
-
F: __dxlog_file3,
|
|
348
|
-
L: 69,
|
|
349
|
-
S: this,
|
|
350
|
-
A: [
|
|
351
|
-
"targetDXN instanceof DXN",
|
|
352
|
-
""
|
|
353
|
-
]
|
|
354
|
-
});
|
|
324
|
+
invariant3(targetDXN instanceof DXN, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file3, L: 47, S: this, A: ["targetDXN instanceof DXN", ""] });
|
|
355
325
|
result[ATTR_RELATION_TARGET] = targetDXN.toString();
|
|
356
326
|
}
|
|
357
327
|
Object.assign(result, serializeData(rest));
|
|
@@ -388,15 +358,7 @@ var isValidProxyTarget = (value2) => {
|
|
|
388
358
|
};
|
|
389
359
|
var getProxySlot = (proxy) => {
|
|
390
360
|
const value2 = proxy[symbolIsProxy];
|
|
391
|
-
invariant4(value2 instanceof ProxyHandlerSlot, void 0, {
|
|
392
|
-
F: __dxlog_file4,
|
|
393
|
-
L: 32,
|
|
394
|
-
S: void 0,
|
|
395
|
-
A: [
|
|
396
|
-
"value instanceof ProxyHandlerSlot",
|
|
397
|
-
""
|
|
398
|
-
]
|
|
399
|
-
});
|
|
361
|
+
invariant4(value2 instanceof ProxyHandlerSlot, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 22, S: void 0, A: ["value instanceof ProxyHandlerSlot", ""] });
|
|
400
362
|
return value2;
|
|
401
363
|
};
|
|
402
364
|
var getProxyTarget = (proxy) => {
|
|
@@ -430,15 +392,7 @@ var ProxyHandlerSlot = class {
|
|
|
430
392
|
this._handler = _handler;
|
|
431
393
|
}
|
|
432
394
|
get handler() {
|
|
433
|
-
invariant4(this._handler, void 0, {
|
|
434
|
-
F: __dxlog_file4,
|
|
435
|
-
L: 91,
|
|
436
|
-
S: this,
|
|
437
|
-
A: [
|
|
438
|
-
"this._handler",
|
|
439
|
-
""
|
|
440
|
-
]
|
|
441
|
-
});
|
|
395
|
+
invariant4(this._handler, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file4, L: 71, S: this, A: ["this._handler", ""] });
|
|
442
396
|
return this._handler;
|
|
443
397
|
}
|
|
444
398
|
// TODO(burdon): Requires comment.
|
|
@@ -528,15 +482,7 @@ var setOwnerRecursive = (value2, owner, options = {}) => {
|
|
|
528
482
|
}
|
|
529
483
|
if (!isRootEchoObject) {
|
|
530
484
|
const ownershipAllowed = existingOwner == null || existingOwner === owner || existingOwner === newAllowedPreviousOwner;
|
|
531
|
-
invariant5(ownershipAllowed, "Cannot reassign ownership of a nested record to a different ECHO object. Use deep copy first.", {
|
|
532
|
-
F: __dxlog_file5,
|
|
533
|
-
L: 101,
|
|
534
|
-
S: void 0,
|
|
535
|
-
A: [
|
|
536
|
-
"ownershipAllowed",
|
|
537
|
-
"'Cannot reassign ownership of a nested record to a different ECHO object. Use deep copy first.'"
|
|
538
|
-
]
|
|
539
|
-
});
|
|
485
|
+
invariant5(ownershipAllowed, "Cannot reassign ownership of a nested record to a different ECHO object. Use deep copy first.", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 76, S: void 0, A: ["ownershipAllowed", "'Cannot reassign ownership of a nested record to a different ECHO object. Use deep copy first.'"] });
|
|
540
486
|
}
|
|
541
487
|
defineHiddenProperty(actualValue, EchoOwner, owner);
|
|
542
488
|
const recursiveOptions = {
|
|
@@ -603,15 +549,7 @@ var hasForeignOwner = (value2, target) => traverseObjectGraph(value2, (v) => {
|
|
|
603
549
|
});
|
|
604
550
|
var MAX_OWNER_DEPTH = 100;
|
|
605
551
|
var getEchoRoot = (target, depth = 0) => {
|
|
606
|
-
invariant5(depth < MAX_OWNER_DEPTH, "Owner chain too deep - possible circular ownership", {
|
|
607
|
-
F: __dxlog_file5,
|
|
608
|
-
L: 220,
|
|
609
|
-
S: void 0,
|
|
610
|
-
A: [
|
|
611
|
-
"depth < MAX_OWNER_DEPTH",
|
|
612
|
-
"'Owner chain too deep - possible circular ownership'"
|
|
613
|
-
]
|
|
614
|
-
});
|
|
552
|
+
invariant5(depth < MAX_OWNER_DEPTH, "Owner chain too deep - possible circular ownership", { "~LogMeta": "~LogMeta", F: __dxlog_file5, L: 169, S: void 0, A: ["depth < MAX_OWNER_DEPTH", "'Owner chain too deep - possible circular ownership'"] });
|
|
615
553
|
if (KindId in target) {
|
|
616
554
|
return target;
|
|
617
555
|
}
|
|
@@ -733,12 +671,7 @@ var SchemaValidator = class {
|
|
|
733
671
|
log.warn("unknown property", {
|
|
734
672
|
path: propertyPath,
|
|
735
673
|
property: propertyName
|
|
736
|
-
}, {
|
|
737
|
-
F: __dxlog_file6,
|
|
738
|
-
L: 71,
|
|
739
|
-
S: this,
|
|
740
|
-
C: (f, a) => f(...a)
|
|
741
|
-
});
|
|
674
|
+
}, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 60, S: this });
|
|
742
675
|
continue;
|
|
743
676
|
}
|
|
744
677
|
schema = Schema3.make(propertyType).annotations(propertyType.annotations);
|
|
@@ -748,15 +681,7 @@ var SchemaValidator = class {
|
|
|
748
681
|
}
|
|
749
682
|
static getTargetPropertySchema(target, prop) {
|
|
750
683
|
const schema = target[SchemaId];
|
|
751
|
-
invariant6(schema, "target has no schema", {
|
|
752
|
-
F: __dxlog_file6,
|
|
753
|
-
L: 84,
|
|
754
|
-
S: this,
|
|
755
|
-
A: [
|
|
756
|
-
"schema",
|
|
757
|
-
"'target has no schema'"
|
|
758
|
-
]
|
|
759
|
-
});
|
|
684
|
+
invariant6(schema, "target has no schema", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 73, S: this, A: ["schema", "'target has no schema'"] });
|
|
760
685
|
const arrayAst = unwrapArray(schema.ast);
|
|
761
686
|
if (arrayAst != null) {
|
|
762
687
|
return getArrayElementSchema(arrayAst, prop);
|
|
@@ -765,30 +690,14 @@ var SchemaValidator = class {
|
|
|
765
690
|
if (propertyType == null) {
|
|
766
691
|
return Schema3.Any;
|
|
767
692
|
}
|
|
768
|
-
invariant6(propertyType, `invalid property: ${prop.toString()}`, {
|
|
769
|
-
F: __dxlog_file6,
|
|
770
|
-
L: 95,
|
|
771
|
-
S: this,
|
|
772
|
-
A: [
|
|
773
|
-
"propertyType",
|
|
774
|
-
"`invalid property: ${prop.toString()}`"
|
|
775
|
-
]
|
|
776
|
-
});
|
|
693
|
+
invariant6(propertyType, `invalid property: ${prop.toString()}`, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 82, S: this, A: ["propertyType", "`invalid property: ${prop.toString()}`"] });
|
|
777
694
|
return Schema3.make(propertyType);
|
|
778
695
|
}
|
|
779
696
|
};
|
|
780
697
|
var getArrayElementSchema = (tupleAst, property) => {
|
|
781
698
|
const elementIndex = typeof property === "string" ? parseInt(property, 10) : Number.NaN;
|
|
782
699
|
if (Number.isNaN(elementIndex)) {
|
|
783
|
-
invariant6(property === "length", `invalid array property: ${String(property)}`, {
|
|
784
|
-
F: __dxlog_file6,
|
|
785
|
-
L: 111,
|
|
786
|
-
S: void 0,
|
|
787
|
-
A: [
|
|
788
|
-
"property === 'length'",
|
|
789
|
-
"`invalid array property: ${String(property)}`"
|
|
790
|
-
]
|
|
791
|
-
});
|
|
700
|
+
invariant6(property === "length", `invalid array property: ${String(property)}`, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 93, S: void 0, A: ["property === 'length'", "`invalid array property: ${String(property)}`"] });
|
|
792
701
|
return Schema3.Number;
|
|
793
702
|
}
|
|
794
703
|
if (elementIndex < tupleAst.elements.length) {
|
|
@@ -813,15 +722,7 @@ var getProperties = (typeAst, getTargetPropertyFn) => {
|
|
|
813
722
|
const typeDiscriminators = getTypeDiscriminators(typeAstList);
|
|
814
723
|
const targetPropertyValue = getTargetPropertyFn(String(typeDiscriminators[0].name));
|
|
815
724
|
const typeIndex = typeDiscriminators.findIndex((p) => targetPropertyValue === p.type.literal);
|
|
816
|
-
invariant6(typeIndex !== -1, "discriminator field not set on target", {
|
|
817
|
-
F: __dxlog_file6,
|
|
818
|
-
L: 142,
|
|
819
|
-
S: void 0,
|
|
820
|
-
A: [
|
|
821
|
-
"typeIndex !== -1",
|
|
822
|
-
"'discriminator field not set on target'"
|
|
823
|
-
]
|
|
824
|
-
});
|
|
725
|
+
invariant6(typeIndex !== -1, "discriminator field not set on target", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 118, S: void 0, A: ["typeIndex !== -1", "'discriminator field not set on target'"] });
|
|
825
726
|
return SchemaAST2.getPropertySignatures(typeAstList[typeIndex]);
|
|
826
727
|
};
|
|
827
728
|
var getPropertyType = (ast, propertyName, getTargetPropertyFn) => {
|
|
@@ -851,15 +752,7 @@ var getTypeDiscriminators = (typeAstList) => {
|
|
|
851
752
|
const isValidDiscriminator = discriminatorPropCandidates.every((p) => p.name === propertyName && !p.isOptional);
|
|
852
753
|
const everyTypeHasDiscriminator = discriminatorPropCandidates.length === typeAstList.length;
|
|
853
754
|
const isDiscriminatedUnion = isValidDiscriminator && everyTypeHasDiscriminator;
|
|
854
|
-
invariant6(isDiscriminatedUnion, "type ambiguity: every type in a union must have a single unique-literal field", {
|
|
855
|
-
F: __dxlog_file6,
|
|
856
|
-
L: 193,
|
|
857
|
-
S: void 0,
|
|
858
|
-
A: [
|
|
859
|
-
"isDiscriminatedUnion",
|
|
860
|
-
"'type ambiguity: every type in a union must have a single unique-literal field'"
|
|
861
|
-
]
|
|
862
|
-
});
|
|
755
|
+
invariant6(isDiscriminatedUnion, "type ambiguity: every type in a union must have a single unique-literal field", { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 148, S: void 0, A: ["isDiscriminatedUnion", "'type ambiguity: every type in a union must have a single unique-literal field'"] });
|
|
863
756
|
return discriminatorPropCandidates;
|
|
864
757
|
};
|
|
865
758
|
var unwrapAst = (rootAst, predicate) => {
|
|
@@ -885,15 +778,7 @@ var unwrapAst = (rootAst, predicate) => {
|
|
|
885
778
|
};
|
|
886
779
|
var unwrapArray = (ast) => unwrapAst(ast, SchemaAST2.isTupleType);
|
|
887
780
|
var checkIdNotPresentOnSchema = (schema) => {
|
|
888
|
-
invariant6(SchemaAST2.isTypeLiteral(schema.ast), void 0, {
|
|
889
|
-
F: __dxlog_file6,
|
|
890
|
-
L: 236,
|
|
891
|
-
S: void 0,
|
|
892
|
-
A: [
|
|
893
|
-
"SchemaAST.isTypeLiteral(schema.ast)",
|
|
894
|
-
""
|
|
895
|
-
]
|
|
896
|
-
});
|
|
781
|
+
invariant6(SchemaAST2.isTypeLiteral(schema.ast), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file6, L: 184, S: void 0, A: ["SchemaAST.isTypeLiteral(schema.ast)", ""] });
|
|
897
782
|
const idProperty = SchemaAST2.getPropertySignatures(schema.ast).find((prop) => prop.name === "id");
|
|
898
783
|
if (idProperty != null) {
|
|
899
784
|
throw new Error('"id" property name is reserved');
|
|
@@ -954,24 +839,8 @@ var TypedReactiveHandler = class _TypedReactiveHandler {
|
|
|
954
839
|
constructor() {
|
|
955
840
|
}
|
|
956
841
|
init(target) {
|
|
957
|
-
invariant7(typeof target === "object" && target !== null, void 0, {
|
|
958
|
-
|
|
959
|
-
L: 145,
|
|
960
|
-
S: this,
|
|
961
|
-
A: [
|
|
962
|
-
"typeof target === 'object' && target !== null",
|
|
963
|
-
""
|
|
964
|
-
]
|
|
965
|
-
});
|
|
966
|
-
invariant7(SchemaId in target, "Schema is not defined for the target", {
|
|
967
|
-
F: __dxlog_file7,
|
|
968
|
-
L: 146,
|
|
969
|
-
S: this,
|
|
970
|
-
A: [
|
|
971
|
-
"SchemaId in target",
|
|
972
|
-
"'Schema is not defined for the target'"
|
|
973
|
-
]
|
|
974
|
-
});
|
|
842
|
+
invariant7(typeof target === "object" && target !== null, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 99, S: this, A: ["typeof target === 'object' && target !== null", ""] });
|
|
843
|
+
invariant7(SchemaId in target, "Schema is not defined for the target", { "~LogMeta": "~LogMeta", F: __dxlog_file7, L: 100, S: this, A: ["SchemaId in target", "'Schema is not defined for the target'"] });
|
|
975
844
|
const hasOwner = !!getOwner(target);
|
|
976
845
|
if (!(EventId in target) && !hasOwner) {
|
|
977
846
|
defineHiddenProperty(target, EventId, new Event());
|
|
@@ -1028,7 +897,7 @@ var TypedReactiveHandler = class _TypedReactiveHandler {
|
|
|
1028
897
|
const isInitialized = ChangeId in echoRoot || EventId in echoRoot;
|
|
1029
898
|
const isSymbolProp = typeof prop === "symbol";
|
|
1030
899
|
if (isInitialized && !isSymbolProp && !isInChangeContext(echoRoot)) {
|
|
1031
|
-
throw new Error(`Cannot modify object property "${String(prop)}" outside of Obj.
|
|
900
|
+
throw new Error(`Cannot modify object property "${String(prop)}" outside of Obj.update(). Use Obj.update(obj, (mutableObj) => { mutableObj.property = value; }) instead.`);
|
|
1032
901
|
}
|
|
1033
902
|
let result = false;
|
|
1034
903
|
this._inSet = true;
|
|
@@ -1067,7 +936,7 @@ var TypedReactiveHandler = class _TypedReactiveHandler {
|
|
|
1067
936
|
const isInitialized = ChangeId in echoRoot || EventId in echoRoot;
|
|
1068
937
|
const isSymbolProp = typeof property === "symbol";
|
|
1069
938
|
if (isInitialized && !isSymbolProp && !isInChangeContext(echoRoot)) {
|
|
1070
|
-
throw new Error(`Cannot modify object property "${String(property)}" outside of Obj.
|
|
939
|
+
throw new Error(`Cannot modify object property "${String(property)}" outside of Obj.update(). Use Obj.update(obj, (mutableObj) => { mutableObj.property = value; }) instead.`);
|
|
1071
940
|
}
|
|
1072
941
|
const { echoRoot: _, preparedValue } = this._prepareValueForAssignment(target, property, attributes.value);
|
|
1073
942
|
const result = Reflect.defineProperty(target, property, {
|
|
@@ -1240,6 +1109,10 @@ var initMeta = (obj, meta = {
|
|
|
1240
1109
|
|
|
1241
1110
|
// src/internal/common/proxy/reactive.ts
|
|
1242
1111
|
var subscribe = (obj, callback) => {
|
|
1112
|
+
if (!isProxy(obj)) {
|
|
1113
|
+
return () => {
|
|
1114
|
+
};
|
|
1115
|
+
}
|
|
1243
1116
|
const target = getProxyTarget(obj);
|
|
1244
1117
|
if (target && EventId in target) {
|
|
1245
1118
|
return target[EventId].on(callback);
|
|
@@ -1266,80 +1139,16 @@ import { DXN as DXN2, ObjectId as ObjectId2 } from "@dxos/keys";
|
|
|
1266
1139
|
import { assumeType } from "@dxos/util";
|
|
1267
1140
|
var __dxlog_file8 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/model.ts";
|
|
1268
1141
|
function assertObjectModel(obj) {
|
|
1269
|
-
invariant8(typeof obj === "object" && obj !== null, "Invalid object model: not an object", {
|
|
1270
|
-
F: __dxlog_file8,
|
|
1271
|
-
L: 94,
|
|
1272
|
-
S: this,
|
|
1273
|
-
A: [
|
|
1274
|
-
"typeof obj === 'object' && obj !== null",
|
|
1275
|
-
"'Invalid object model: not an object'"
|
|
1276
|
-
]
|
|
1277
|
-
});
|
|
1142
|
+
invariant8(typeof obj === "object" && obj !== null, "Invalid object model: not an object", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 12, S: this, A: ["typeof obj === 'object' && obj !== null", "'Invalid object model: not an object'"] });
|
|
1278
1143
|
assumeType(obj);
|
|
1279
|
-
invariant8(ObjectId2.isValid(obj.id), "Invalid object model: invalid id", {
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
S: this,
|
|
1283
|
-
A: [
|
|
1284
|
-
"ObjectId.isValid(obj.id)",
|
|
1285
|
-
"'Invalid object model: invalid id'"
|
|
1286
|
-
]
|
|
1287
|
-
});
|
|
1288
|
-
invariant8(obj[TypeId] === void 0 || obj[TypeId] instanceof DXN2, "Invalid object model: invalid type", {
|
|
1289
|
-
F: __dxlog_file8,
|
|
1290
|
-
L: 97,
|
|
1291
|
-
S: this,
|
|
1292
|
-
A: [
|
|
1293
|
-
"obj[TypeId] === undefined || obj[TypeId] instanceof DXN",
|
|
1294
|
-
"'Invalid object model: invalid type'"
|
|
1295
|
-
]
|
|
1296
|
-
});
|
|
1297
|
-
invariant8(obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation, "Invalid object model: invalid entity kind", {
|
|
1298
|
-
F: __dxlog_file8,
|
|
1299
|
-
L: 98,
|
|
1300
|
-
S: this,
|
|
1301
|
-
A: [
|
|
1302
|
-
"obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation",
|
|
1303
|
-
"'Invalid object model: invalid entity kind'"
|
|
1304
|
-
]
|
|
1305
|
-
});
|
|
1144
|
+
invariant8(ObjectId2.isValid(obj.id), "Invalid object model: invalid id", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 14, S: this, A: ["ObjectId.isValid(obj.id)", "'Invalid object model: invalid id'"] });
|
|
1145
|
+
invariant8(obj[TypeId] === void 0 || obj[TypeId] instanceof DXN2, "Invalid object model: invalid type", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 15, S: this, A: ["obj[TypeId] === undefined || obj[TypeId] instanceof DXN", "'Invalid object model: invalid type'"] });
|
|
1146
|
+
invariant8(obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation, "Invalid object model: invalid entity kind", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 16, S: this, A: ["obj[KindId] === EntityKind.Object || obj[KindId] === EntityKind.Relation", "'Invalid object model: invalid entity kind'"] });
|
|
1306
1147
|
if (obj[KindId] === EntityKind.Relation) {
|
|
1307
|
-
invariant8(obj[RelationSourceDXNId] instanceof DXN2, "Invalid object model: invalid relation source", {
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
A: [
|
|
1312
|
-
"obj[RelationSourceDXNId] instanceof DXN",
|
|
1313
|
-
"'Invalid object model: invalid relation source'"
|
|
1314
|
-
]
|
|
1315
|
-
});
|
|
1316
|
-
invariant8(obj[RelationTargetDXNId] instanceof DXN2, "Invalid object model: invalid relation target", {
|
|
1317
|
-
F: __dxlog_file8,
|
|
1318
|
-
L: 105,
|
|
1319
|
-
S: this,
|
|
1320
|
-
A: [
|
|
1321
|
-
"obj[RelationTargetDXNId] instanceof DXN",
|
|
1322
|
-
"'Invalid object model: invalid relation target'"
|
|
1323
|
-
]
|
|
1324
|
-
});
|
|
1325
|
-
invariant8(!(obj[RelationSourceId] instanceof DXN2), "Invalid object model: source pointer is a DXN", {
|
|
1326
|
-
F: __dxlog_file8,
|
|
1327
|
-
L: 106,
|
|
1328
|
-
S: this,
|
|
1329
|
-
A: [
|
|
1330
|
-
"!(obj[RelationSourceId] instanceof DXN)",
|
|
1331
|
-
"'Invalid object model: source pointer is a DXN'"
|
|
1332
|
-
]
|
|
1333
|
-
});
|
|
1334
|
-
invariant8(!(obj[RelationTargetId] instanceof DXN2), "Invalid object model: target pointer is a DXN", {
|
|
1335
|
-
F: __dxlog_file8,
|
|
1336
|
-
L: 107,
|
|
1337
|
-
S: this,
|
|
1338
|
-
A: [
|
|
1339
|
-
"!(obj[RelationTargetId] instanceof DXN)",
|
|
1340
|
-
"'Invalid object model: target pointer is a DXN'"
|
|
1341
|
-
]
|
|
1342
|
-
});
|
|
1148
|
+
invariant8(obj[RelationSourceDXNId] instanceof DXN2, "Invalid object model: invalid relation source", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 18, S: this, A: ["obj[RelationSourceDXNId] instanceof DXN", "'Invalid object model: invalid relation source'"] });
|
|
1149
|
+
invariant8(obj[RelationTargetDXNId] instanceof DXN2, "Invalid object model: invalid relation target", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 19, S: this, A: ["obj[RelationTargetDXNId] instanceof DXN", "'Invalid object model: invalid relation target'"] });
|
|
1150
|
+
invariant8(!(obj[RelationSourceId] instanceof DXN2), "Invalid object model: source pointer is a DXN", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 20, S: this, A: ["!(obj[RelationSourceId] instanceof DXN)", "'Invalid object model: source pointer is a DXN'"] });
|
|
1151
|
+
invariant8(!(obj[RelationTargetId] instanceof DXN2), "Invalid object model: target pointer is a DXN", { "~LogMeta": "~LogMeta", F: __dxlog_file8, L: 21, S: this, A: ["!(obj[RelationTargetId] instanceof DXN)", "'Invalid object model: target pointer is a DXN'"] });
|
|
1343
1152
|
}
|
|
1344
1153
|
}
|
|
1345
1154
|
|
|
@@ -1350,27 +1159,11 @@ import { DXN as DXN3, ObjectId as ObjectId3 } from "@dxos/keys";
|
|
|
1350
1159
|
import { assumeType as assumeType2 } from "@dxos/util";
|
|
1351
1160
|
var __dxlog_file9 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/util.ts";
|
|
1352
1161
|
var getObjectDXN = (object) => {
|
|
1353
|
-
invariant9(!Schema5.isSchema(object), "schema not allowed in this function", {
|
|
1354
|
-
F: __dxlog_file9,
|
|
1355
|
-
L: 19,
|
|
1356
|
-
S: void 0,
|
|
1357
|
-
A: [
|
|
1358
|
-
"!Schema.isSchema(object)",
|
|
1359
|
-
"'schema not allowed in this function'"
|
|
1360
|
-
]
|
|
1361
|
-
});
|
|
1162
|
+
invariant9(!Schema5.isSchema(object), "schema not allowed in this function", { "~LogMeta": "~LogMeta", F: __dxlog_file9, L: 14, S: void 0, A: ["!Schema.isSchema(object)", "'schema not allowed in this function'"] });
|
|
1362
1163
|
assertArgument2(typeof object === "object" && object != null, "object", "expected object");
|
|
1363
1164
|
assumeType2(object);
|
|
1364
1165
|
if (object[SelfDXNId]) {
|
|
1365
|
-
invariant9(object[SelfDXNId] instanceof DXN3, "Invalid object model: invalid self dxn", {
|
|
1366
|
-
F: __dxlog_file9,
|
|
1367
|
-
L: 24,
|
|
1368
|
-
S: void 0,
|
|
1369
|
-
A: [
|
|
1370
|
-
"object[SelfDXNId] instanceof DXN",
|
|
1371
|
-
"'Invalid object model: invalid self dxn'"
|
|
1372
|
-
]
|
|
1373
|
-
});
|
|
1166
|
+
invariant9(object[SelfDXNId] instanceof DXN3, "Invalid object model: invalid self dxn", { "~LogMeta": "~LogMeta", F: __dxlog_file9, L: 18, S: void 0, A: ["object[SelfDXNId] instanceof DXN", "'Invalid object model: invalid self dxn'"] });
|
|
1374
1167
|
return object[SelfDXNId];
|
|
1375
1168
|
}
|
|
1376
1169
|
if (!ObjectId3.isValid(object.id)) {
|
|
@@ -1383,15 +1176,7 @@ var getObjectDXN = (object) => {
|
|
|
1383
1176
|
var __dxlog_file10 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/api.ts";
|
|
1384
1177
|
var getDXN = (entity) => {
|
|
1385
1178
|
const dxn = getObjectDXN(entity);
|
|
1386
|
-
invariant10(dxn != null, "Invalid entity.", {
|
|
1387
|
-
F: __dxlog_file10,
|
|
1388
|
-
L: 19,
|
|
1389
|
-
S: void 0,
|
|
1390
|
-
A: [
|
|
1391
|
-
"dxn != null",
|
|
1392
|
-
"'Invalid entity.'"
|
|
1393
|
-
]
|
|
1394
|
-
});
|
|
1179
|
+
invariant10(dxn != null, "Invalid entity.", { "~LogMeta": "~LogMeta", F: __dxlog_file10, L: 13, S: void 0, A: ["dxn != null", "'Invalid entity.'"] });
|
|
1395
1180
|
return dxn;
|
|
1396
1181
|
};
|
|
1397
1182
|
var getDatabase = (entity) => {
|
|
@@ -1435,24 +1220,8 @@ import { invariant as invariant11 } from "@dxos/invariant";
|
|
|
1435
1220
|
var __dxlog_file11 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Entity/object.ts";
|
|
1436
1221
|
var EchoObjectSchema = ({ typename, version: version2 }) => {
|
|
1437
1222
|
return (self) => {
|
|
1438
|
-
invariant11(typeof TypeAnnotationId === "symbol", "Sanity.", {
|
|
1439
|
-
|
|
1440
|
-
L: 36,
|
|
1441
|
-
S: void 0,
|
|
1442
|
-
A: [
|
|
1443
|
-
"typeof TypeAnnotationId === 'symbol'",
|
|
1444
|
-
"'Sanity.'"
|
|
1445
|
-
]
|
|
1446
|
-
});
|
|
1447
|
-
invariant11(SchemaAST4.isTypeLiteral(self.ast), "Schema must be a TypeLiteral.", {
|
|
1448
|
-
F: __dxlog_file11,
|
|
1449
|
-
L: 37,
|
|
1450
|
-
S: void 0,
|
|
1451
|
-
A: [
|
|
1452
|
-
"SchemaAST.isTypeLiteral(self.ast)",
|
|
1453
|
-
"'Schema must be a TypeLiteral.'"
|
|
1454
|
-
]
|
|
1455
|
-
});
|
|
1223
|
+
invariant11(typeof TypeAnnotationId === "symbol", "Sanity.", { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 15, S: void 0, A: ["typeof TypeAnnotationId === 'symbol'", "'Sanity.'"] });
|
|
1224
|
+
invariant11(SchemaAST4.isTypeLiteral(self.ast), "Schema must be a TypeLiteral.", { "~LogMeta": "~LogMeta", F: __dxlog_file11, L: 16, S: void 0, A: ["SchemaAST.isTypeLiteral(self.ast)", "'Schema must be a TypeLiteral.'"] });
|
|
1456
1225
|
const fields = self.fields ?? {};
|
|
1457
1226
|
const schemaWithId = Schema7.extend(self, Schema7.Struct({
|
|
1458
1227
|
id: Schema7.String
|
|
@@ -1495,15 +1264,7 @@ var EchoRelationSchema = ({ source, target, typename, version: version2 }) => {
|
|
|
1495
1264
|
raise(new Error("Target schema must be an echo object schema."));
|
|
1496
1265
|
}
|
|
1497
1266
|
return (self) => {
|
|
1498
|
-
invariant12(SchemaAST5.isTypeLiteral(self.ast), "Schema must be a TypeLiteral.", {
|
|
1499
|
-
F: __dxlog_file12,
|
|
1500
|
-
L: 110,
|
|
1501
|
-
S: void 0,
|
|
1502
|
-
A: [
|
|
1503
|
-
"SchemaAST.isTypeLiteral(self.ast)",
|
|
1504
|
-
"'Schema must be a TypeLiteral.'"
|
|
1505
|
-
]
|
|
1506
|
-
});
|
|
1267
|
+
invariant12(SchemaAST5.isTypeLiteral(self.ast), "Schema must be a TypeLiteral.", { "~LogMeta": "~LogMeta", F: __dxlog_file12, L: 27, S: void 0, A: ["SchemaAST.isTypeLiteral(self.ast)", "'Schema must be a TypeLiteral.'"] });
|
|
1507
1268
|
const fields = self.fields ?? {};
|
|
1508
1269
|
const schemaWithId = Schema8.extend(self, Schema8.Struct({
|
|
1509
1270
|
id: Schema8.String
|
|
@@ -1745,33 +1506,17 @@ import { assumeType as assumeType4, deepMapValues as deepMapValues2, visitValues
|
|
|
1745
1506
|
var __dxlog_file13 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Obj/json-serializer.ts";
|
|
1746
1507
|
var objectToJSON = (obj) => {
|
|
1747
1508
|
const typename = getTypeDXN(obj)?.toString();
|
|
1748
|
-
invariant13(typename && typeof typename === "string", void 0, {
|
|
1749
|
-
F: __dxlog_file13,
|
|
1750
|
-
L: 66,
|
|
1751
|
-
S: void 0,
|
|
1752
|
-
A: [
|
|
1753
|
-
"typename && typeof typename === 'string'",
|
|
1754
|
-
""
|
|
1755
|
-
]
|
|
1756
|
-
});
|
|
1509
|
+
invariant13(typename && typeof typename === "string", void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 21, S: void 0, A: ["typename && typeof typename === 'string'", ""] });
|
|
1757
1510
|
return typedJsonSerializer.call(obj);
|
|
1758
1511
|
};
|
|
1759
|
-
var objectFromJSON = async (jsonData, { refResolver, dxn, database } = {}) => {
|
|
1512
|
+
var objectFromJSON = async (jsonData, { refResolver, dxn, database, parent } = {}) => {
|
|
1760
1513
|
assumeType4(jsonData);
|
|
1761
1514
|
assertArgument5(typeof jsonData === "object" && jsonData !== null, "jsonData", "expect object");
|
|
1762
1515
|
assertArgument5(typeof jsonData[ATTR_TYPE] === "string", "jsonData[ATTR_TYPE]", "expected object to have a type");
|
|
1763
1516
|
assertArgument5(typeof jsonData.id === "string", "jsonData.id", "expected object to have an id");
|
|
1764
1517
|
const type = DXN5.parse(jsonData[ATTR_TYPE]);
|
|
1765
1518
|
const schema = await refResolver?.resolveSchema(type);
|
|
1766
|
-
invariant13(schema === void 0 || Schema10.isSchema(schema), void 0, {
|
|
1767
|
-
F: __dxlog_file13,
|
|
1768
|
-
L: 92,
|
|
1769
|
-
S: void 0,
|
|
1770
|
-
A: [
|
|
1771
|
-
"schema === undefined || Schema.isSchema(schema)",
|
|
1772
|
-
""
|
|
1773
|
-
]
|
|
1774
|
-
});
|
|
1519
|
+
invariant13(schema === void 0 || Schema10.isSchema(schema), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 41, S: void 0, A: ["schema === undefined || Schema.isSchema(schema)", ""] });
|
|
1775
1520
|
const decodedInput = stripInternalJsonKeys(jsonData);
|
|
1776
1521
|
let obj;
|
|
1777
1522
|
if (schema != null) {
|
|
@@ -1784,28 +1529,20 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database } = {}) => {
|
|
|
1784
1529
|
refResolver
|
|
1785
1530
|
});
|
|
1786
1531
|
}
|
|
1787
|
-
invariant13(ObjectId4.isValid(obj.id), "Invalid object id", {
|
|
1788
|
-
F: __dxlog_file13,
|
|
1789
|
-
L: 105,
|
|
1790
|
-
S: void 0,
|
|
1791
|
-
A: [
|
|
1792
|
-
"ObjectId.isValid(obj.id)",
|
|
1793
|
-
"'Invalid object id'"
|
|
1794
|
-
]
|
|
1795
|
-
});
|
|
1532
|
+
invariant13(ObjectId4.isValid(obj.id), "Invalid object id", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 54, S: void 0, A: ["ObjectId.isValid(obj.id)", "'Invalid object id'"] });
|
|
1796
1533
|
setTypename(obj, type);
|
|
1797
1534
|
if (schema) {
|
|
1798
1535
|
setSchema(obj, schema);
|
|
1799
1536
|
}
|
|
1800
1537
|
const isRelation = typeof jsonData[ATTR_RELATION_SOURCE] === "string" || typeof jsonData[ATTR_RELATION_TARGET] === "string";
|
|
1801
1538
|
if (isRelation) {
|
|
1802
|
-
const
|
|
1803
|
-
const
|
|
1804
|
-
const source = await refResolver?.resolve(
|
|
1805
|
-
const target = await refResolver?.resolve(
|
|
1539
|
+
const sourceDXN = DXN5.parse(jsonData[ATTR_RELATION_SOURCE] ?? raise2(new TypeError("Missing relation source")));
|
|
1540
|
+
const targetDXN = DXN5.parse(jsonData[ATTR_RELATION_TARGET] ?? raise2(new TypeError("Missing relation target")));
|
|
1541
|
+
const source = await refResolver?.resolve(sourceDXN);
|
|
1542
|
+
const target = await refResolver?.resolve(targetDXN);
|
|
1806
1543
|
defineHiddenProperty(obj, KindId, EntityKind.Relation);
|
|
1807
|
-
defineHiddenProperty(obj, RelationSourceDXNId,
|
|
1808
|
-
defineHiddenProperty(obj, RelationTargetDXNId,
|
|
1544
|
+
defineHiddenProperty(obj, RelationSourceDXNId, sourceDXN);
|
|
1545
|
+
defineHiddenProperty(obj, RelationTargetDXNId, targetDXN);
|
|
1809
1546
|
defineHiddenProperty(obj, RelationSourceId, source);
|
|
1810
1547
|
defineHiddenProperty(obj, RelationTargetId, target);
|
|
1811
1548
|
} else {
|
|
@@ -1813,15 +1550,7 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database } = {}) => {
|
|
|
1813
1550
|
}
|
|
1814
1551
|
if (typeof jsonData[ATTR_META] === "object") {
|
|
1815
1552
|
const meta = await ObjectMetaSchema.pipe(Schema10.decodeUnknownPromise)(jsonData[ATTR_META]);
|
|
1816
|
-
invariant13(Array.isArray(meta.keys), void 0, {
|
|
1817
|
-
F: __dxlog_file13,
|
|
1818
|
-
L: 131,
|
|
1819
|
-
S: void 0,
|
|
1820
|
-
A: [
|
|
1821
|
-
"Array.isArray(meta.keys)",
|
|
1822
|
-
""
|
|
1823
|
-
]
|
|
1824
|
-
});
|
|
1553
|
+
invariant13(Array.isArray(meta.keys), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 75, S: void 0, A: ["Array.isArray(meta.keys)", ""] });
|
|
1825
1554
|
defineHiddenProperty(obj, MetaId, meta);
|
|
1826
1555
|
} else {
|
|
1827
1556
|
defineHiddenProperty(obj, MetaId, {
|
|
@@ -1829,8 +1558,10 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database } = {}) => {
|
|
|
1829
1558
|
});
|
|
1830
1559
|
}
|
|
1831
1560
|
if (jsonData[ATTR_PARENT]) {
|
|
1832
|
-
const
|
|
1833
|
-
const
|
|
1561
|
+
const parentDXN = DXN5.parse(jsonData[ATTR_PARENT]);
|
|
1562
|
+
const resolvedParent = await refResolver?.resolve(parentDXN);
|
|
1563
|
+
defineHiddenProperty(obj, ParentId, resolvedParent);
|
|
1564
|
+
} else if (parent) {
|
|
1834
1565
|
defineHiddenProperty(obj, ParentId, parent);
|
|
1835
1566
|
}
|
|
1836
1567
|
if (dxn) {
|
|
@@ -1840,60 +1571,12 @@ var objectFromJSON = async (jsonData, { refResolver, dxn, database } = {}) => {
|
|
|
1840
1571
|
defineHiddenProperty(obj, ObjectDatabaseId, database);
|
|
1841
1572
|
}
|
|
1842
1573
|
assertObjectModel(obj);
|
|
1843
|
-
invariant13(obj[ATTR_TYPE] === void 0, "Invalid object model", {
|
|
1844
|
-
|
|
1845
|
-
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
|
|
1849
|
-
"'Invalid object model'"
|
|
1850
|
-
]
|
|
1851
|
-
});
|
|
1852
|
-
invariant13(obj[ATTR_META] === void 0, "Invalid object model", {
|
|
1853
|
-
F: __dxlog_file13,
|
|
1854
|
-
L: 155,
|
|
1855
|
-
S: void 0,
|
|
1856
|
-
A: [
|
|
1857
|
-
"(obj as any)[ATTR_META] === undefined",
|
|
1858
|
-
"'Invalid object model'"
|
|
1859
|
-
]
|
|
1860
|
-
});
|
|
1861
|
-
invariant13(obj[ATTR_DELETED] === void 0, "Invalid object model", {
|
|
1862
|
-
F: __dxlog_file13,
|
|
1863
|
-
L: 156,
|
|
1864
|
-
S: void 0,
|
|
1865
|
-
A: [
|
|
1866
|
-
"(obj as any)[ATTR_DELETED] === undefined",
|
|
1867
|
-
"'Invalid object model'"
|
|
1868
|
-
]
|
|
1869
|
-
});
|
|
1870
|
-
invariant13(obj[ATTR_SELF_DXN] === void 0, "Invalid object model", {
|
|
1871
|
-
F: __dxlog_file13,
|
|
1872
|
-
L: 157,
|
|
1873
|
-
S: void 0,
|
|
1874
|
-
A: [
|
|
1875
|
-
"(obj as any)[ATTR_SELF_DXN] === undefined",
|
|
1876
|
-
"'Invalid object model'"
|
|
1877
|
-
]
|
|
1878
|
-
});
|
|
1879
|
-
invariant13(obj[ATTR_RELATION_SOURCE] === void 0, "Invalid object model", {
|
|
1880
|
-
F: __dxlog_file13,
|
|
1881
|
-
L: 158,
|
|
1882
|
-
S: void 0,
|
|
1883
|
-
A: [
|
|
1884
|
-
"(obj as any)[ATTR_RELATION_SOURCE] === undefined",
|
|
1885
|
-
"'Invalid object model'"
|
|
1886
|
-
]
|
|
1887
|
-
});
|
|
1888
|
-
invariant13(obj[ATTR_RELATION_TARGET] === void 0, "Invalid object model", {
|
|
1889
|
-
F: __dxlog_file13,
|
|
1890
|
-
L: 159,
|
|
1891
|
-
S: void 0,
|
|
1892
|
-
A: [
|
|
1893
|
-
"(obj as any)[ATTR_RELATION_TARGET] === undefined",
|
|
1894
|
-
"'Invalid object model'"
|
|
1895
|
-
]
|
|
1896
|
-
});
|
|
1574
|
+
invariant13(obj[ATTR_TYPE] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 96, S: void 0, A: ["obj[ATTR_TYPE] === undefined", "'Invalid object model'"] });
|
|
1575
|
+
invariant13(obj[ATTR_META] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 97, S: void 0, A: ["obj[ATTR_META] === undefined", "'Invalid object model'"] });
|
|
1576
|
+
invariant13(obj[ATTR_DELETED] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 98, S: void 0, A: ["obj[ATTR_DELETED] === undefined", "'Invalid object model'"] });
|
|
1577
|
+
invariant13(obj[ATTR_SELF_DXN] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 99, S: void 0, A: ["obj[ATTR_SELF_DXN] === undefined", "'Invalid object model'"] });
|
|
1578
|
+
invariant13(obj[ATTR_RELATION_SOURCE] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 100, S: void 0, A: ["obj[ATTR_RELATION_SOURCE] === undefined", "'Invalid object model'"] });
|
|
1579
|
+
invariant13(obj[ATTR_RELATION_TARGET] === void 0, "Invalid object model", { "~LogMeta": "~LogMeta", F: __dxlog_file13, L: 101, S: void 0, A: ["obj[ATTR_RELATION_TARGET] === undefined", "'Invalid object model'"] });
|
|
1897
1580
|
return obj;
|
|
1898
1581
|
};
|
|
1899
1582
|
var decodeGeneric = (jsonData, options) => {
|
|
@@ -1906,7 +1589,7 @@ var decodeGeneric = (jsonData, options) => {
|
|
|
1906
1589
|
});
|
|
1907
1590
|
};
|
|
1908
1591
|
var stripInternalJsonKeys = (jsonData) => {
|
|
1909
|
-
const { [ATTR_TYPE]: _type, [ATTR_META]: _meta, [ATTR_DELETED]: _deleted, [ATTR_SELF_DXN]:
|
|
1592
|
+
const { [ATTR_TYPE]: _type, [ATTR_META]: _meta, [ATTR_DELETED]: _deleted, [ATTR_SELF_DXN]: _selfDXN, [ATTR_RELATION_SOURCE]: _relationSource, [ATTR_RELATION_TARGET]: _relationTarget, ...props } = jsonData;
|
|
1910
1593
|
return props;
|
|
1911
1594
|
};
|
|
1912
1595
|
var setRefResolverOnData = (obj, refResolver) => {
|
|
@@ -1988,25 +1671,9 @@ import { getArrayElementType, getBaseType, getProperties as getProperties2, isAr
|
|
|
1988
1671
|
import { invariant as invariant14 } from "@dxos/invariant";
|
|
1989
1672
|
var __dxlog_file14 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Obj/set-value.ts";
|
|
1990
1673
|
var setValue = (obj, path, value2) => {
|
|
1991
|
-
invariant14(path.length > 0, "Path must not be empty", {
|
|
1992
|
-
F: __dxlog_file14,
|
|
1993
|
-
L: 27,
|
|
1994
|
-
S: void 0,
|
|
1995
|
-
A: [
|
|
1996
|
-
"path.length > 0",
|
|
1997
|
-
"'Path must not be empty'"
|
|
1998
|
-
]
|
|
1999
|
-
});
|
|
1674
|
+
invariant14(path.length > 0, "Path must not be empty", { "~LogMeta": "~LogMeta", F: __dxlog_file14, L: 14, S: void 0, A: ["path.length > 0", "'Path must not be empty'"] });
|
|
2000
1675
|
const schema = getSchema(obj);
|
|
2001
|
-
invariant14(schema != null, "Object must have a schema", {
|
|
2002
|
-
F: __dxlog_file14,
|
|
2003
|
-
L: 30,
|
|
2004
|
-
S: void 0,
|
|
2005
|
-
A: [
|
|
2006
|
-
"schema != null",
|
|
2007
|
-
"'Object must have a schema'"
|
|
2008
|
-
]
|
|
2009
|
-
});
|
|
1676
|
+
invariant14(schema != null, "Object must have a schema", { "~LogMeta": "~LogMeta", F: __dxlog_file14, L: 16, S: void 0, A: ["schema != null", "'Object must have a schema'"] });
|
|
2010
1677
|
let parent = obj;
|
|
2011
1678
|
let currentAST = schema.ast;
|
|
2012
1679
|
for (let i = 0; i < path.length - 1; i++) {
|
|
@@ -2148,15 +1815,7 @@ var __dxlog_file15 = "/__w/dxos/dxos/packages/core/echo/echo/src/internal/Obj/cl
|
|
|
2148
1815
|
var clone = (obj, opts) => {
|
|
2149
1816
|
const { id, ...data } = obj;
|
|
2150
1817
|
const schema = getSchema(obj);
|
|
2151
|
-
invariant15(schema != null, "Object should have a schema", {
|
|
2152
|
-
F: __dxlog_file15,
|
|
2153
|
-
L: 21,
|
|
2154
|
-
S: void 0,
|
|
2155
|
-
A: [
|
|
2156
|
-
"schema != null",
|
|
2157
|
-
"'Object should have a schema'"
|
|
2158
|
-
]
|
|
2159
|
-
});
|
|
1818
|
+
invariant15(schema != null, "Object should have a schema", { "~LogMeta": "~LogMeta", F: __dxlog_file15, L: 16, S: void 0, A: ["schema != null", "'Object should have a schema'"] });
|
|
2160
1819
|
const props = deepMapValues4(data, (value2, recurse) => {
|
|
2161
1820
|
if (Ref.isRef(value2)) {
|
|
2162
1821
|
if (opts?.deep) {
|
|
@@ -2185,6 +1844,9 @@ var clone = (obj, opts) => {
|
|
|
2185
1844
|
var prettyFilter = (filter) => {
|
|
2186
1845
|
switch (filter.type) {
|
|
2187
1846
|
case "object": {
|
|
1847
|
+
if (filter.typename === null && (filter.id === void 0 || filter.id.length === 0) && Object.keys(filter.props).length === 0 && (filter.foreignKeys === void 0 || filter.foreignKeys.length === 0) && filter.metaKey !== void 0) {
|
|
1848
|
+
return filter.metaVersion !== void 0 ? `Filter.key(${JSON.stringify(filter.metaKey)}, { version: ${JSON.stringify(filter.metaVersion)} })` : `Filter.key(${JSON.stringify(filter.metaKey)})`;
|
|
1849
|
+
}
|
|
2188
1850
|
const parts = [];
|
|
2189
1851
|
if (filter.typename !== null) {
|
|
2190
1852
|
parts.push(String(filter.typename));
|
|
@@ -2200,6 +1862,9 @@ var prettyFilter = (filter) => {
|
|
|
2200
1862
|
if (filter.foreignKeys !== void 0 && filter.foreignKeys.length > 0) {
|
|
2201
1863
|
parts.push(`foreignKeys: [${filter.foreignKeys.map((fk) => JSON.stringify(fk)).join(", ")}]`);
|
|
2202
1864
|
}
|
|
1865
|
+
if (filter.metaKey !== void 0) {
|
|
1866
|
+
parts.push(filter.metaVersion !== void 0 ? `metaKey: ${JSON.stringify(filter.metaKey)} (${filter.metaVersion})` : `metaKey: ${JSON.stringify(filter.metaKey)}`);
|
|
1867
|
+
}
|
|
2203
1868
|
return parts.length > 0 ? `Filter.type(${parts.join(", ")})` : "Filter.everything()";
|
|
2204
1869
|
}
|
|
2205
1870
|
case "compare":
|
|
@@ -2216,6 +1881,8 @@ var prettyFilter = (filter) => {
|
|
|
2216
1881
|
return filter.searchKind ? `Filter.textSearch(${JSON.stringify(filter.text)}, ${JSON.stringify(filter.searchKind)})` : `Filter.textSearch(${JSON.stringify(filter.text)})`;
|
|
2217
1882
|
case "timestamp":
|
|
2218
1883
|
return `Filter.${filter.field}.${filter.operator}(${filter.value})`;
|
|
1884
|
+
case "child-of":
|
|
1885
|
+
return `Filter.childOf([${filter.parents.map((p) => JSON.stringify(p)).join(", ")}], { transitive: ${filter.transitive} })`;
|
|
2219
1886
|
case "not":
|
|
2220
1887
|
return `Filter.not(${prettyFilter(filter.filter)})`;
|
|
2221
1888
|
case "and":
|
|
@@ -2273,6 +1940,9 @@ var prettyQuery = (query) => {
|
|
|
2273
1940
|
if (opts.deleted !== void 0) {
|
|
2274
1941
|
parts.push(`deleted: ${JSON.stringify(opts.deleted)}`);
|
|
2275
1942
|
}
|
|
1943
|
+
if (opts.debugLabel !== void 0) {
|
|
1944
|
+
parts.push(`debugLabel: ${JSON.stringify(opts.debugLabel)}`);
|
|
1945
|
+
}
|
|
2276
1946
|
return `${prettyQuery(query.query)}.options({ ${parts.join(", ")} })`;
|
|
2277
1947
|
}
|
|
2278
1948
|
case "from": {
|
|
@@ -2282,11 +1952,11 @@ var prettyQuery = (query) => {
|
|
|
2282
1952
|
if (scope.spaceIds !== void 0) {
|
|
2283
1953
|
parts.push(`spaceIds: [${scope.spaceIds.map((s) => JSON.stringify(s)).join(", ")}]`);
|
|
2284
1954
|
}
|
|
2285
|
-
if (scope.
|
|
2286
|
-
parts.push(`
|
|
1955
|
+
if (scope.feeds !== void 0) {
|
|
1956
|
+
parts.push(`feeds: [${scope.feeds.map(String).join(", ")}]`);
|
|
2287
1957
|
}
|
|
2288
|
-
if (scope.
|
|
2289
|
-
parts.push(`
|
|
1958
|
+
if (scope.allFeedsFromSpaces !== void 0) {
|
|
1959
|
+
parts.push(`allFeedsFromSpaces: ${scope.allFeedsFromSpaces}`);
|
|
2290
1960
|
}
|
|
2291
1961
|
return `${prettyQuery(query.query)}.from({ ${parts.join(", ")} })`;
|
|
2292
1962
|
}
|
|
@@ -2314,15 +1984,7 @@ var addFieldsToSchema = (schema, fields) => {
|
|
|
2314
1984
|
};
|
|
2315
1985
|
var updateFieldsInSchema = (schema, fields) => {
|
|
2316
1986
|
const ast = schema.ast;
|
|
2317
|
-
invariant16(SchemaAST7.isTypeLiteral(ast), void 0, {
|
|
2318
|
-
F: __dxlog_file16,
|
|
2319
|
-
L: 29,
|
|
2320
|
-
S: void 0,
|
|
2321
|
-
A: [
|
|
2322
|
-
"SchemaAST.isTypeLiteral(ast)",
|
|
2323
|
-
""
|
|
2324
|
-
]
|
|
2325
|
-
});
|
|
1987
|
+
invariant16(SchemaAST7.isTypeLiteral(ast), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file16, L: 16, S: void 0, A: ["SchemaAST.isTypeLiteral(ast)", ""] });
|
|
2326
1988
|
const updatedProperties = [
|
|
2327
1989
|
...ast.propertySignatures
|
|
2328
1990
|
];
|
|
@@ -2342,28 +2004,12 @@ var removeFieldsFromSchema = (schema, fieldNames) => {
|
|
|
2342
2004
|
};
|
|
2343
2005
|
var updateFieldNameInSchema = (schema, { before, after }) => {
|
|
2344
2006
|
const ast = schema.ast;
|
|
2345
|
-
invariant16(SchemaAST7.isTypeLiteral(ast), void 0, {
|
|
2346
|
-
F: __dxlog_file16,
|
|
2347
|
-
L: 57,
|
|
2348
|
-
S: void 0,
|
|
2349
|
-
A: [
|
|
2350
|
-
"SchemaAST.isTypeLiteral(ast)",
|
|
2351
|
-
""
|
|
2352
|
-
]
|
|
2353
|
-
});
|
|
2007
|
+
invariant16(SchemaAST7.isTypeLiteral(ast), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file16, L: 36, S: void 0, A: ["SchemaAST.isTypeLiteral(ast)", ""] });
|
|
2354
2008
|
return Schema11.make(new SchemaAST7.TypeLiteral(ast.propertySignatures.map((p) => p.name === before ? new SchemaAST7.PropertySignature(after, p.type, p.isOptional, p.isReadonly, p.annotations) : p), ast.indexSignatures, ast.annotations));
|
|
2355
2009
|
};
|
|
2356
2010
|
var setTypenameInSchema = (schema, typename) => {
|
|
2357
2011
|
const existingAnnotation = schema.ast.annotations[TypeAnnotationId];
|
|
2358
|
-
invariant16(existingAnnotation, `Missing ${String(TypeAnnotationId)}`, {
|
|
2359
|
-
F: __dxlog_file16,
|
|
2360
|
-
L: 77,
|
|
2361
|
-
S: void 0,
|
|
2362
|
-
A: [
|
|
2363
|
-
"existingAnnotation",
|
|
2364
|
-
"`Missing ${String(TypeAnnotationId)}`"
|
|
2365
|
-
]
|
|
2366
|
-
});
|
|
2012
|
+
invariant16(existingAnnotation, `Missing ${String(TypeAnnotationId)}`, { "~LogMeta": "~LogMeta", F: __dxlog_file16, L: 41, S: void 0, A: ["existingAnnotation", "`Missing ${String(TypeAnnotationId)}`"] });
|
|
2367
2013
|
return schema.annotations({
|
|
2368
2014
|
...schema.ast.annotations,
|
|
2369
2015
|
[TypeAnnotationId]: {
|
|
@@ -2404,15 +2050,7 @@ var ImmutableSchema = class {
|
|
|
2404
2050
|
constructor(_schema) {
|
|
2405
2051
|
this._schema = _schema;
|
|
2406
2052
|
this._objectAnnotation = getTypeAnnotation(this._schema);
|
|
2407
|
-
invariant17(this._objectAnnotation, void 0, {
|
|
2408
|
-
F: __dxlog_file17,
|
|
2409
|
-
L: 48,
|
|
2410
|
-
S: this,
|
|
2411
|
-
A: [
|
|
2412
|
-
"this._objectAnnotation",
|
|
2413
|
-
""
|
|
2414
|
-
]
|
|
2415
|
-
});
|
|
2053
|
+
invariant17(this._objectAnnotation, void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file17, L: 24, S: this, A: ["this._objectAnnotation", ""] });
|
|
2416
2054
|
}
|
|
2417
2055
|
//
|
|
2418
2056
|
// Effect Schema (push to abstract base class).
|
|
@@ -2566,15 +2204,7 @@ var EchoSchema = class extends EchoSchemaConstructor() {
|
|
|
2566
2204
|
* Returns a mutable schema.
|
|
2567
2205
|
*/
|
|
2568
2206
|
get mutable() {
|
|
2569
|
-
invariant17(!this.readonly, "Schema is not mutable", {
|
|
2570
|
-
F: __dxlog_file17,
|
|
2571
|
-
L: 278,
|
|
2572
|
-
S: this,
|
|
2573
|
-
A: [
|
|
2574
|
-
"!this.readonly",
|
|
2575
|
-
"'Schema is not mutable'"
|
|
2576
|
-
]
|
|
2577
|
-
});
|
|
2207
|
+
invariant17(!this.readonly, "Schema is not mutable", { "~LogMeta": "~LogMeta", F: __dxlog_file17, L: 203, S: this, A: ["!this.readonly", "'Schema is not mutable'"] });
|
|
2578
2208
|
return this;
|
|
2579
2209
|
}
|
|
2580
2210
|
//
|
|
@@ -2607,15 +2237,7 @@ var EchoSchema = class extends EchoSchemaConstructor() {
|
|
|
2607
2237
|
}
|
|
2608
2238
|
getProperties() {
|
|
2609
2239
|
const ast = this._getSchema().ast;
|
|
2610
|
-
invariant17(SchemaAST8.isTypeLiteral(ast), void 0, {
|
|
2611
|
-
F: __dxlog_file17,
|
|
2612
|
-
L: 313,
|
|
2613
|
-
S: this,
|
|
2614
|
-
A: [
|
|
2615
|
-
"SchemaAST.isTypeLiteral(ast)",
|
|
2616
|
-
""
|
|
2617
|
-
]
|
|
2618
|
-
});
|
|
2240
|
+
invariant17(SchemaAST8.isTypeLiteral(ast), void 0, { "~LogMeta": "~LogMeta", F: __dxlog_file17, L: 233, S: this, A: ["SchemaAST.isTypeLiteral(ast)", ""] });
|
|
2619
2241
|
return [
|
|
2620
2242
|
...ast.propertySignatures
|
|
2621
2243
|
].filter((p) => p.name !== "id").map(unwrapOptionality);
|
|
@@ -2675,7 +2297,7 @@ var EchoSchema = class extends EchoSchemaConstructor() {
|
|
|
2675
2297
|
});
|
|
2676
2298
|
}
|
|
2677
2299
|
/**
|
|
2678
|
-
* Wrapper for Obj.
|
|
2300
|
+
* Wrapper for Obj.update that handles the change context for the persistent schema.
|
|
2679
2301
|
*/
|
|
2680
2302
|
_change(callback) {
|
|
2681
2303
|
const changeFn = this._persistentSchema[ChangeId];
|
|
@@ -2827,4 +2449,4 @@ export {
|
|
|
2827
2449
|
getValue,
|
|
2828
2450
|
splitJsonPath
|
|
2829
2451
|
};
|
|
2830
|
-
//# sourceMappingURL=chunk-
|
|
2452
|
+
//# sourceMappingURL=chunk-G54OX4IX.mjs.map
|