@dxos/echo 0.8.4-main.406dc2a → 0.8.4-main.548089c
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/dist/lib/browser/chunk-3FCPYTWA.mjs +585 -0
- package/dist/lib/browser/chunk-3FCPYTWA.mjs.map +7 -0
- package/dist/lib/browser/{chunk-MB6MMNFP.mjs → chunk-5BNXQE6S.mjs} +106 -236
- package/dist/lib/browser/chunk-5BNXQE6S.mjs.map +7 -0
- package/dist/lib/browser/chunk-U43CXUCL.mjs +410 -0
- package/dist/lib/browser/chunk-U43CXUCL.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +9 -9
- package/dist/lib/browser/internal/index.mjs +5 -1
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/query/index.mjs +4 -6
- package/dist/lib/browser/testing/index.mjs +32 -63
- package/dist/lib/browser/testing/index.mjs.map +3 -3
- package/dist/lib/node-esm/{chunk-BQRA4VLX.mjs → chunk-3FGSPSYN.mjs} +106 -236
- package/dist/lib/node-esm/chunk-3FGSPSYN.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-C7LTTWRL.mjs +585 -0
- package/dist/lib/node-esm/chunk-C7LTTWRL.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs +410 -0
- package/dist/lib/node-esm/chunk-OHJ5WBB6.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +9 -9
- package/dist/lib/node-esm/internal/index.mjs +5 -1
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/query/index.mjs +4 -6
- package/dist/lib/node-esm/testing/index.mjs +32 -63
- package/dist/lib/node-esm/testing/index.mjs.map +3 -3
- package/dist/types/src/Obj.d.ts +4 -2
- package/dist/types/src/Obj.d.ts.map +1 -1
- package/dist/types/src/{query/tag.d.ts → Tag.d.ts} +7 -7
- package/dist/types/src/Tag.d.ts.map +1 -0
- package/dist/types/src/errors.d.ts +8 -16
- package/dist/types/src/errors.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -0
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/internal/ast/annotations.d.ts +6 -0
- package/dist/types/src/internal/ast/annotations.d.ts.map +1 -1
- package/dist/types/src/internal/index.d.ts +2 -2
- package/dist/types/src/internal/index.d.ts.map +1 -1
- package/dist/types/src/internal/object/create.d.ts +1 -1
- package/dist/types/src/internal/object/typename.d.ts +1 -1
- package/dist/types/src/internal/testing/types.d.ts +5 -79
- package/dist/types/src/internal/testing/types.d.ts.map +1 -1
- package/dist/types/src/query/index.d.ts +0 -1
- package/dist/types/src/query/index.d.ts.map +1 -1
- package/dist/types/src/testing/types.d.ts +161 -46
- package/dist/types/src/testing/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -12
- package/src/Obj.ts +21 -2
- package/src/{query/tag.ts → Tag.ts} +8 -6
- package/src/index.ts +1 -0
- package/src/internal/ast/annotations.ts +7 -0
- package/src/internal/index.ts +2 -2
- package/src/internal/json/json-schema.test.ts +27 -35
- package/src/internal/object/create.test.ts +11 -11
- package/src/internal/object/create.ts +1 -1
- package/src/internal/object/json-serializer.test.ts +11 -11
- package/src/internal/object/typename.ts +1 -1
- package/src/internal/proxy/typed-handler.test.ts +7 -7
- package/src/internal/proxy/typed-object.test.ts +1 -1
- package/src/internal/ref/ref.test.ts +1 -1
- package/src/internal/testing/types.ts +10 -77
- package/src/internal/testing/utils.ts +1 -1
- package/src/query/index.ts +1 -1
- package/src/testing/types.ts +39 -22
- package/dist/lib/browser/chunk-HKFCK2GL.mjs +0 -175
- package/dist/lib/browser/chunk-HKFCK2GL.mjs.map +0 -7
- package/dist/lib/browser/chunk-MAAYELT7.mjs +0 -830
- package/dist/lib/browser/chunk-MAAYELT7.mjs.map +0 -7
- package/dist/lib/browser/chunk-MB6MMNFP.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-5NWDGIBT.mjs +0 -830
- package/dist/lib/node-esm/chunk-5NWDGIBT.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-AUAH4E2J.mjs +0 -175
- package/dist/lib/node-esm/chunk-AUAH4E2J.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-BQRA4VLX.mjs.map +0 -7
- package/dist/types/src/query/tag.d.ts.map +0 -1
|
@@ -1,36 +1,22 @@
|
|
|
1
1
|
import "@dxos/node-std/globals";
|
|
2
|
-
import "../chunk-HKFCK2GL.mjs";
|
|
3
2
|
import {
|
|
4
3
|
Type_exports
|
|
5
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-3FCPYTWA.mjs";
|
|
5
|
+
import "../chunk-U43CXUCL.mjs";
|
|
6
6
|
import {
|
|
7
7
|
EchoObject,
|
|
8
8
|
EchoRelation,
|
|
9
9
|
EchoSchema,
|
|
10
|
-
Expando,
|
|
11
10
|
Ref,
|
|
12
11
|
StoredSchema,
|
|
13
12
|
TypedObject,
|
|
14
13
|
getSchemaTypename,
|
|
15
14
|
live,
|
|
16
15
|
toJsonSchema
|
|
17
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-5BNXQE6S.mjs";
|
|
18
17
|
|
|
19
18
|
// src/internal/testing/types.ts
|
|
20
19
|
import * as Schema from "effect/Schema";
|
|
21
|
-
function _define_property(obj, key, value) {
|
|
22
|
-
if (key in obj) {
|
|
23
|
-
Object.defineProperty(obj, key, {
|
|
24
|
-
value,
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: true
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
obj[key] = value;
|
|
31
|
-
}
|
|
32
|
-
return obj;
|
|
33
|
-
}
|
|
34
20
|
(function(Testing3) {
|
|
35
21
|
const Circle = Schema.Struct({
|
|
36
22
|
type: Schema.Literal("circle"),
|
|
@@ -82,21 +68,19 @@ function _define_property(obj, key, value) {
|
|
|
82
68
|
version: "0.1.0"
|
|
83
69
|
}));
|
|
84
70
|
class TestClass {
|
|
71
|
+
field = "value";
|
|
85
72
|
toJSON() {
|
|
86
73
|
return {
|
|
87
74
|
field: this.field
|
|
88
75
|
};
|
|
89
76
|
}
|
|
90
|
-
constructor() {
|
|
91
|
-
_define_property(this, "field", "value");
|
|
92
|
-
}
|
|
93
77
|
}
|
|
94
78
|
Testing3.TestClass = TestClass;
|
|
95
79
|
Testing3.TestSchemaWithClass = Schema.mutable(Schema.extend(Testing3.TestSchema, Schema.mutable(Schema.Struct({
|
|
96
80
|
classInstance: Schema.optional(Schema.instanceOf(TestClass))
|
|
97
81
|
}))));
|
|
98
|
-
class
|
|
99
|
-
typename: "example.com/type/
|
|
82
|
+
class Person extends TypedObject({
|
|
83
|
+
typename: "example.com/type/Person",
|
|
100
84
|
version: "0.1.0"
|
|
101
85
|
})({
|
|
102
86
|
name: Schema.String,
|
|
@@ -120,14 +104,14 @@ function _define_property(obj, key, value) {
|
|
|
120
104
|
partial: true
|
|
121
105
|
}) {
|
|
122
106
|
}
|
|
123
|
-
Testing3.
|
|
107
|
+
Testing3.Person = Person;
|
|
124
108
|
class Task extends TypedObject({
|
|
125
109
|
typename: "example.com/type/Task",
|
|
126
110
|
version: "0.1.0"
|
|
127
111
|
})({
|
|
128
112
|
title: Schema.optional(Schema.String),
|
|
129
113
|
completed: Schema.optional(Schema.Boolean),
|
|
130
|
-
assignee: Schema.optional(Ref(
|
|
114
|
+
assignee: Schema.optional(Ref(Person)),
|
|
131
115
|
previous: Schema.optional(Schema.suspend(() => Ref(Task))),
|
|
132
116
|
subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend(() => Ref(Task))))),
|
|
133
117
|
description: Schema.optional(Schema.String)
|
|
@@ -136,34 +120,13 @@ function _define_property(obj, key, value) {
|
|
|
136
120
|
}) {
|
|
137
121
|
}
|
|
138
122
|
Testing3.Task = Task;
|
|
139
|
-
(function(RecordType) {
|
|
140
|
-
RecordType[RecordType["UNDEFINED"] = 0] = "UNDEFINED";
|
|
141
|
-
RecordType[RecordType["PERSONAL"] = 1] = "PERSONAL";
|
|
142
|
-
RecordType[RecordType["WORK"] = 2] = "WORK";
|
|
143
|
-
})(Testing3.RecordType || (Testing3.RecordType = {}));
|
|
144
|
-
class Container extends TypedObject({
|
|
145
|
-
typename: "example.com/type/Container",
|
|
146
|
-
version: "0.1.0"
|
|
147
|
-
})({
|
|
148
|
-
objects: Schema.mutable(Schema.Array(Ref(Expando))),
|
|
149
|
-
records: Schema.mutable(Schema.Array(Schema.partial(Schema.Struct({
|
|
150
|
-
title: Schema.String,
|
|
151
|
-
description: Schema.String,
|
|
152
|
-
contacts: Schema.mutable(Schema.Array(Ref(Contact))),
|
|
153
|
-
type: Schema.Enums(Testing3.RecordType)
|
|
154
|
-
}))))
|
|
155
|
-
}, {
|
|
156
|
-
partial: true
|
|
157
|
-
}) {
|
|
158
|
-
}
|
|
159
|
-
Testing3.Container = Container;
|
|
160
123
|
Testing3.HasManager = Schema.Struct({
|
|
161
124
|
since: Schema.optional(Schema.String)
|
|
162
125
|
}).pipe(EchoRelation({
|
|
163
126
|
typename: "example.com/type/HasManager",
|
|
164
127
|
version: "0.1.0",
|
|
165
|
-
source:
|
|
166
|
-
target:
|
|
128
|
+
source: Person,
|
|
129
|
+
target: Person
|
|
167
130
|
}));
|
|
168
131
|
})(Testing || (Testing = {}));
|
|
169
132
|
var Testing;
|
|
@@ -187,7 +150,7 @@ var updateCounter = (touch) => {
|
|
|
187
150
|
}
|
|
188
151
|
};
|
|
189
152
|
};
|
|
190
|
-
var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse
|
|
153
|
+
var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse) => {
|
|
191
154
|
if (typeof value === "function") {
|
|
192
155
|
return null;
|
|
193
156
|
}
|
|
@@ -210,7 +173,7 @@ var prepareAstForCompare = (obj) => deepMapValues(obj, (value, recurse, key) =>
|
|
|
210
173
|
// src/testing/types.ts
|
|
211
174
|
import * as Schema2 from "effect/Schema";
|
|
212
175
|
(function(Testing3) {
|
|
213
|
-
|
|
176
|
+
Testing3.Person = Schema2.Struct({
|
|
214
177
|
name: Schema2.String,
|
|
215
178
|
username: Schema2.String,
|
|
216
179
|
email: Schema2.String,
|
|
@@ -225,14 +188,13 @@ import * as Schema2 from "effect/Schema";
|
|
|
225
188
|
})
|
|
226
189
|
})
|
|
227
190
|
}).pipe(Schema2.partial, Type_exports.Obj({
|
|
228
|
-
typename: "example.com/type/
|
|
191
|
+
typename: "example.com/type/Person",
|
|
229
192
|
version: "0.1.0"
|
|
230
193
|
}));
|
|
231
|
-
Testing3.
|
|
232
|
-
const _Task = Schema2.Struct({
|
|
194
|
+
Testing3.Task = Schema2.Struct({
|
|
233
195
|
title: Schema2.optional(Schema2.String),
|
|
234
196
|
completed: Schema2.optional(Schema2.Boolean),
|
|
235
|
-
assignee: Schema2.optional(Type_exports.Ref(Testing3.
|
|
197
|
+
assignee: Schema2.optional(Type_exports.Ref(Testing3.Person)),
|
|
236
198
|
previous: Schema2.optional(Schema2.suspend(() => Type_exports.Ref(Testing3.Task))),
|
|
237
199
|
subTasks: Schema2.optional(Schema2.mutable(Schema2.Array(Schema2.suspend(() => Type_exports.Ref(Testing3.Task))))),
|
|
238
200
|
description: Schema2.optional(Schema2.String)
|
|
@@ -240,7 +202,22 @@ import * as Schema2 from "effect/Schema";
|
|
|
240
202
|
typename: "example.com/type/Task",
|
|
241
203
|
version: "0.1.0"
|
|
242
204
|
}));
|
|
243
|
-
Testing3.
|
|
205
|
+
Testing3.WorksFor = Schema2.Struct({
|
|
206
|
+
since: Schema2.optional(Schema2.String)
|
|
207
|
+
}).pipe(Type_exports.Relation({
|
|
208
|
+
typename: "example.com/type/WorksFor",
|
|
209
|
+
version: "0.1.0",
|
|
210
|
+
source: Testing3.Person,
|
|
211
|
+
target: Testing3.Person
|
|
212
|
+
}));
|
|
213
|
+
Testing3.HasManager = Schema2.Struct({
|
|
214
|
+
since: Schema2.optional(Schema2.String)
|
|
215
|
+
}).pipe(Type_exports.Relation({
|
|
216
|
+
typename: "example.com/type/HasManager",
|
|
217
|
+
version: "0.1.0",
|
|
218
|
+
source: Testing3.Person,
|
|
219
|
+
target: Testing3.Person
|
|
220
|
+
}));
|
|
244
221
|
(function(RecordType) {
|
|
245
222
|
RecordType[RecordType["UNDEFINED"] = 0] = "UNDEFINED";
|
|
246
223
|
RecordType[RecordType["PERSONAL"] = 1] = "PERSONAL";
|
|
@@ -251,21 +228,13 @@ import * as Schema2 from "effect/Schema";
|
|
|
251
228
|
records: Schema2.mutable(Schema2.Array(Schema2.partial(Schema2.Struct({
|
|
252
229
|
title: Schema2.String,
|
|
253
230
|
description: Schema2.String,
|
|
254
|
-
contacts: Schema2.mutable(Schema2.Array(Type_exports.Ref(Testing3.
|
|
231
|
+
contacts: Schema2.mutable(Schema2.Array(Type_exports.Ref(Testing3.Person))),
|
|
255
232
|
type: Schema2.Enums(Testing3.RecordType)
|
|
256
233
|
}))))
|
|
257
234
|
}).pipe(Schema2.partial, Type_exports.Obj({
|
|
258
235
|
typename: "example.com/type/Container",
|
|
259
236
|
version: "0.1.0"
|
|
260
237
|
}));
|
|
261
|
-
Testing3.WorksFor = Schema2.Struct({
|
|
262
|
-
since: Schema2.optional(Schema2.String)
|
|
263
|
-
}).pipe(Type_exports.Relation({
|
|
264
|
-
typename: "example.com/type/WorksFor",
|
|
265
|
-
version: "0.1.0",
|
|
266
|
-
source: Testing3.Contact,
|
|
267
|
-
target: Testing3.Contact
|
|
268
|
-
}));
|
|
269
238
|
})(Testing2 || (Testing2 = {}));
|
|
270
239
|
var Testing2;
|
|
271
240
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/internal/testing/types.ts", "../../../../src/internal/testing/utils.ts", "../../../../src/testing/types.ts", "../../../../src/testing/echo-schema.ts"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EchoObject, EchoRelation, Expando, TypedObject } from '../object';\nimport { Ref, type Ref$ } from '../ref';\n\n// TODO(burdon): These are non-canonical test types, so we really shouldn't export and use in other classes (compare with @dxos/sdk/testing).\nexport namespace Testing {\n //\n // Primitives\n //\n\n const Circle = Schema.Struct({ type: Schema.Literal('circle'), radius: Schema.Number });\n const Square = Schema.Struct({ type: Schema.Literal('square'), side: Schema.Number });\n const Shape = Schema.Union(Circle, Square);\n\n //\n // Simple types\n //\n\n const TestNestedSchema = Schema.mutable(Schema.Struct({ field: Schema.String }));\n export type TestNestedSchema = Schema.Schema.Type<typeof TestNestedSchema>;\n export const TestNestedType = TestNestedSchema.pipe(\n EchoObject({ typename: 'example.com/type/TestNested', version: '0.1.0' }),\n );\n\n //\n // Complex types\n // TODO(burdon): Change to Type.Obj.\n //\n\n export class EmptySchemaType extends TypedObject({\n typename: 'example.com/type/Empty',\n version: '0.1.0',\n })({}) {}\n\n const fields = {\n string: Schema.String,\n number: Schema.Number,\n nullableShapeArray: Schema.mutable(Schema.Array(Schema.Union(Shape, Schema.Null))),\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.mutable(Schema.Array(Schema.String)),\n twoDimNumberArray: Schema.mutable(Schema.Array(Schema.mutable(Schema.Array(Schema.Number)))),\n object: TestNestedSchema,\n objectArray: Schema.mutable(Schema.Array(TestNestedSchema)),\n nested: Schema.optional(Ref(TestNestedType)),\n other: Schema.Any,\n };\n\n export const TestSchema = Schema.mutable(Schema.partial(Schema.Struct(fields)));\n export type TestSchema = Schema.Schema.Type<typeof TestSchema>;\n\n export class TestSchemaType extends TypedObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n })(fields, { partial: true }) {} // TODO(burdon): Partial?\n\n // TODO(burdon): Why do we use need this rather then TestSchemaType?\n export const TestType = TestSchema.pipe(\n EchoObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n }),\n );\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n // TODO(dmaretskyi): Another top-level Schema.mutable call as a workaround for the regression in the last minor.\n export const TestSchemaWithClass = Schema.mutable(\n Schema.extend(\n TestSchema,\n Schema.mutable(\n Schema.Struct({\n classInstance: Schema.optional(Schema.instanceOf(TestClass)),\n }),\n ),\n ),\n );\n\n export type TestSchemaWithClass = Schema.Schema.Type<typeof TestSchemaWithClass>;\n\n export class Contact extends TypedObject({\n typename: 'example.com/type/Contact',\n version: '0.1.0',\n })(\n {\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n phoneNumbers: Schema.optional(Schema.Array(Schema.Struct({ label: Schema.String, number: Schema.String }))),\n tasks: Schema.suspend((): Schema.mutable<Schema.Array$<Ref$<Task>>> => Schema.mutable(Schema.Array(Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n },\n { partial: true },\n ) {}\n\n export class Task extends TypedObject({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n })(\n {\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref(Contact)),\n previous: Schema.optional(Schema.suspend((): Ref$<Task> => Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n description: Schema.optional(Schema.String),\n },\n { partial: true },\n ) {}\n\n // TOOD(burdon): Ref$ breaks if using new syntax (since ID is not declared).\n\n // export const Task = Schema.Struct({\n // title: Schema.String,\n // completed: Schema.Boolean,\n // assignee: Schema.optional(Ref(Schema.suspend((): Ref$<Contact> => Ref(Contact)))),\n // previous: Schema.optional(Ref(Schema.suspend((): Ref$<Task> => Ref(Task)))),\n // subTasks: Schema.optional(Schema.Array(Ref(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n // description: Schema.optional(Schema.String),\n // }).pipe(\n // EchoObject({\n // typename: 'example.com/type/Task',\n // version: '0.1.0',\n // }),\n // );\n\n // export type Task = Schema.Schema.Type<typeof Task>;\n\n // export const Contact = Schema.Struct({\n // name: Schema.String,\n // username: Schema.String,\n // email: Schema.String,\n // // TOOD(burdon): Should model via relations?\n // // tasks: Schema.mutable(Schema.Array(Ref(Task))),\n // address: Schema.Struct({\n // city: Schema.optional(Schema.String),\n // state: Schema.optional(Schema.String),\n // zip: Schema.optional(Schema.String),\n // coordinates: Schema.Struct({\n // lat: Schema.optional(Schema.Number),\n // lng: Schema.optional(Schema.Number),\n // }),\n // }),\n // }).pipe(\n // EchoObject({\n // typename: 'example.com/type/Contact',\n // version: '0.1.0',\n // }),\n // );\n\n // export type Contact = Schema.Schema.Type<typeof Contact>;\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export class Container extends TypedObject({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n })(\n {\n objects: Schema.mutable(Schema.Array(Ref(Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Ref(Contact))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n },\n { partial: true },\n ) {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n EchoRelation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Contact,\n target: Contact,\n }),\n );\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { deepMapValues } from '@dxos/util';\n\nregisterSignalsRuntime();\n\n// TODO(burdon): Move to util.\nexport const updateCounter = (touch: () => void) => {\n let updateCount = -1;\n const unsubscribe = effect(() => {\n touch();\n updateCount++;\n });\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribe,\n get count() {\n return updateCount;\n },\n };\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse, key) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n return recurse(clone);\n }\n\n return recurse(value);\n });\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Type } from '..';\n\n// TODO(burdon): These are non-canonical test types, so we really shouldn't export and use in other classes (compare with @dxos/sdk/testing).\nexport namespace Testing {\n const _Contact = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n tasks: Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Contact',\n version: '0.1.0',\n }),\n );\n export interface Contact extends Schema.Schema.Type<typeof _Contact> {}\n export const Contact: Schema.Schema<Contact, Schema.Schema.Encoded<typeof _Contact>, never> = _Contact;\n\n const _Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Type.Ref(Contact)),\n previous: Schema.optional(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n }),\n );\n export interface Task extends Schema.Schema.Type<typeof _Task> {}\n export const Task: Schema.Schema<Task, Schema.Schema.Encoded<typeof _Task>, never> = _Task;\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.mutable(Schema.Array(Type.Ref(Type.Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Type.Ref(Contact))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n }),\n );\n\n export const WorksFor = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/WorksFor',\n version: '0.1.0',\n source: Contact,\n target: Contact,\n }),\n );\n export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as Schema from 'effect/Schema';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { EchoSchema, StoredSchema, getSchemaTypename, live, toJsonSchema } from '../internal';\n\n// NOTE: Registration is done here is this is the module that calls out to `effect`.\nregisterSignalsRuntime();\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext): EchoSchema => {\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n\n const echoSchema = new EchoSchema(\n live(StoredSchema, {\n typename,\n version: '0.1.0',\n jsonSchema: toJsonSchema(schema),\n }),\n );\n\n // TODO(burdon): Unsubscribe is never called.\n effect(() => {\n const _ = echoSchema.jsonSchema;\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n"],
|
|
5
|
-
"mappings": "
|
|
6
|
-
"names": ["Schema", "Testing", "Circle", "Struct", "type", "Literal", "radius", "Number", "Square", "side", "Shape", "Union", "TestNestedSchema", "mutable", "field", "String", "TestNestedType", "pipe", "EchoObject", "typename", "version", "EmptySchemaType", "TypedObject", "fields", "string", "number", "nullableShapeArray", "Array", "Null", "boolean", "Boolean", "null", "undefined", "Undefined", "stringArray", "twoDimNumberArray", "object", "objectArray", "nested", "optional", "Ref", "other", "Any", "TestSchema", "partial", "TestSchemaType", "TestType", "TestClass", "toJSON", "TestSchemaWithClass", "extend", "classInstance", "instanceOf", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { EchoObject, EchoRelation, TypedObject } from '../object';\nimport { Ref, type Ref$ } from '../ref';\n\n/**\n * @deprecated\n */\n// TOOD(burdon): Reconcile with ../testing (remove this).\nexport namespace Testing {\n //\n // Primitives\n //\n\n const Circle = Schema.Struct({ type: Schema.Literal('circle'), radius: Schema.Number });\n const Square = Schema.Struct({ type: Schema.Literal('square'), side: Schema.Number });\n const Shape = Schema.Union(Circle, Square);\n\n //\n // Simple types\n //\n\n const TestNestedSchema = Schema.mutable(Schema.Struct({ field: Schema.String }));\n export type TestNestedSchema = Schema.Schema.Type<typeof TestNestedSchema>;\n export const TestNestedType = TestNestedSchema.pipe(\n EchoObject({ typename: 'example.com/type/TestNested', version: '0.1.0' }),\n );\n\n //\n // Complex types\n // TODO(burdon): Change to Type.Obj.\n //\n\n export class EmptySchemaType extends TypedObject({\n typename: 'example.com/type/Empty',\n version: '0.1.0',\n })({}) {}\n\n const fields = {\n string: Schema.String,\n number: Schema.Number,\n nullableShapeArray: Schema.mutable(Schema.Array(Schema.Union(Shape, Schema.Null))),\n boolean: Schema.Boolean,\n null: Schema.Null,\n undefined: Schema.Undefined,\n stringArray: Schema.mutable(Schema.Array(Schema.String)),\n twoDimNumberArray: Schema.mutable(Schema.Array(Schema.mutable(Schema.Array(Schema.Number)))),\n object: TestNestedSchema,\n objectArray: Schema.mutable(Schema.Array(TestNestedSchema)),\n nested: Schema.optional(Ref(TestNestedType)),\n other: Schema.Any,\n };\n\n export const TestSchema = Schema.mutable(Schema.partial(Schema.Struct(fields)));\n export type TestSchema = Schema.Schema.Type<typeof TestSchema>;\n\n export class TestSchemaType extends TypedObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n })(fields, { partial: true }) {} // TODO(burdon): Partial?\n\n // TODO(burdon): Why do we use need this rather then TestSchemaType?\n export const TestType = TestSchema.pipe(\n EchoObject({\n typename: 'example.com/type/Test',\n version: '0.1.0',\n }),\n );\n\n export class TestClass {\n field = 'value';\n toJSON() {\n return { field: this.field };\n }\n }\n\n // TODO(dmaretskyi): Another top-level Schema.mutable call as a workaround for the regression in the last minor.\n export const TestSchemaWithClass = Schema.mutable(\n Schema.extend(\n TestSchema,\n Schema.mutable(\n Schema.Struct({\n classInstance: Schema.optional(Schema.instanceOf(TestClass)),\n }),\n ),\n ),\n );\n\n export type TestSchemaWithClass = Schema.Schema.Type<typeof TestSchemaWithClass>;\n\n export class Person extends TypedObject({\n typename: 'example.com/type/Person',\n version: '0.1.0',\n })(\n {\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n phoneNumbers: Schema.optional(Schema.Array(Schema.Struct({ label: Schema.String, number: Schema.String }))),\n tasks: Schema.suspend((): Schema.mutable<Schema.Array$<Ref$<Task>>> => Schema.mutable(Schema.Array(Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n },\n { partial: true },\n ) {}\n\n export class Task extends TypedObject({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n })(\n {\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Ref$<Task> => Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Ref$<Task> => Ref(Task))))),\n description: Schema.optional(Schema.String),\n },\n { partial: true },\n ) {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n EchoRelation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as SchemaAST from 'effect/SchemaAST';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { deepMapValues } from '@dxos/util';\n\nregisterSignalsRuntime();\n\n// TODO(burdon): Move to util.\nexport const updateCounter = (touch: () => void) => {\n let updateCount = -1;\n const unsubscribe = effect(() => {\n touch();\n updateCount++;\n });\n\n return {\n // https://github.com/tc39/proposal-explicit-resource-management\n [Symbol.dispose]: unsubscribe,\n get count() {\n return updateCount;\n },\n };\n};\n\n/**\n * Converts AST to a format that can be compared with test matchers.\n */\nexport const prepareAstForCompare = (obj: SchemaAST.AST): any =>\n deepMapValues(obj, (value: any, recurse) => {\n if (typeof value === 'function') {\n return null;\n }\n\n if (value instanceof RegExp) {\n return value;\n }\n\n // Convert symbols to strings.\n if (typeof value === 'object') {\n const clone = { ...value };\n for (const sym of Object.getOwnPropertySymbols(clone as any)) {\n clone[sym.toString()] = clone[sym];\n delete clone[sym];\n }\n return recurse(clone);\n }\n\n return recurse(value);\n });\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Type } from '..';\n\n/**\n * @deprecated\n */\n// TOOD(burdon): Reconcile with @dxos/schema.\nexport namespace Testing {\n export const Person = Schema.Struct({\n name: Schema.String,\n username: Schema.String,\n email: Schema.String,\n tasks: Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task)))),\n address: Schema.Struct({\n city: Schema.optional(Schema.String),\n state: Schema.optional(Schema.String),\n zip: Schema.optional(Schema.String),\n coordinates: Schema.Struct({\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }),\n }),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Person',\n version: '0.1.0',\n }),\n );\n\n export interface Person extends Schema.Schema.Type<typeof Person> {}\n\n export const Task = Schema.Struct({\n title: Schema.optional(Schema.String),\n completed: Schema.optional(Schema.Boolean),\n assignee: Schema.optional(Type.Ref(Person)),\n previous: Schema.optional(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))),\n subTasks: Schema.optional(Schema.mutable(Schema.Array(Schema.suspend((): Type.Ref<Task> => Type.Ref(Task))))),\n description: Schema.optional(Schema.String),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Task',\n version: '0.1.0',\n }),\n );\n\n export interface Task extends Schema.Schema.Type<typeof Task> {}\n\n export const WorksFor = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/WorksFor',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface WorksFor extends Schema.Schema.Type<typeof WorksFor> {}\n\n export const HasManager = Schema.Struct({\n since: Schema.optional(Schema.String),\n }).pipe(\n Type.Relation({\n typename: 'example.com/type/HasManager',\n version: '0.1.0',\n source: Person,\n target: Person,\n }),\n );\n\n export interface HasManager extends Schema.Schema.Type<typeof HasManager> {}\n\n export enum RecordType {\n UNDEFINED = 0,\n PERSONAL = 1,\n WORK = 2,\n }\n\n export const Container = Schema.Struct({\n objects: Schema.mutable(Schema.Array(Type.Ref(Type.Expando))),\n records: Schema.mutable(\n Schema.Array(\n Schema.partial(\n Schema.Struct({\n title: Schema.String,\n description: Schema.String,\n contacts: Schema.mutable(Schema.Array(Type.Ref(Person))),\n type: Schema.Enums(RecordType),\n }),\n ),\n ),\n ),\n }).pipe(\n Schema.partial,\n Type.Obj({\n typename: 'example.com/type/Container',\n version: '0.1.0',\n }),\n );\n}\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { effect } from '@preact/signals-core';\nimport type * as Schema from 'effect/Schema';\n\nimport { registerSignalsRuntime } from '@dxos/echo-signals';\nimport { assertArgument } from '@dxos/invariant';\n\nimport { EchoSchema, StoredSchema, getSchemaTypename, live, toJsonSchema } from '../internal';\n\n// NOTE: Registration is done here is this is the module that calls out to `effect`.\nregisterSignalsRuntime();\n\n/**\n * Create a reactive mutable schema that updates when the JSON schema is updated.\n */\n// TODO(dmaretskyi): Should be replaced by registration of typed object.\nexport const createEchoSchema = (schema: Schema.Schema.AnyNoContext): EchoSchema => {\n const typename = getSchemaTypename(schema);\n assertArgument(typename, 'typename', 'Schema does not have a typename.');\n\n const echoSchema = new EchoSchema(\n live(StoredSchema, {\n typename,\n version: '0.1.0',\n jsonSchema: toJsonSchema(schema),\n }),\n );\n\n // TODO(burdon): Unsubscribe is never called.\n effect(() => {\n const _ = echoSchema.jsonSchema;\n echoSchema._invalidate();\n });\n\n return echoSchema;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Schema", "Testing", "Circle", "Struct", "type", "Literal", "radius", "Number", "Square", "side", "Shape", "Union", "TestNestedSchema", "mutable", "field", "String", "TestNestedType", "pipe", "EchoObject", "typename", "version", "EmptySchemaType", "TypedObject", "fields", "string", "number", "nullableShapeArray", "Array", "Null", "boolean", "Boolean", "null", "undefined", "Undefined", "stringArray", "twoDimNumberArray", "object", "objectArray", "nested", "optional", "Ref", "other", "Any", "TestSchema", "partial", "TestSchemaType", "TestType", "TestClass", "toJSON", "TestSchemaWithClass", "extend", "classInstance", "instanceOf", "Person", "name", "username", "email", "phoneNumbers", "label", "tasks", "suspend", "Task", "address", "city", "state", "zip", "coordinates", "lat", "lng", "title", "completed", "assignee", "previous", "subTasks", "description", "HasManager", "since", "EchoRelation", "source", "target", "effect", "registerSignalsRuntime", "deepMapValues", "registerSignalsRuntime", "updateCounter", "touch", "updateCount", "unsubscribe", "effect", "Symbol", "dispose", "count", "prepareAstForCompare", "obj", "deepMapValues", "value", "recurse", "RegExp", "clone", "sym", "Object", "getOwnPropertySymbols", "toString", "Schema", "Testing", "Person", "Struct", "name", "String", "username", "email", "tasks", "mutable", "Array", "suspend", "Type", "Ref", "Task", "address", "city", "optional", "state", "zip", "coordinates", "lat", "Number", "lng", "pipe", "partial", "Obj", "typename", "version", "title", "completed", "Boolean", "assignee", "previous", "subTasks", "description", "WorksFor", "since", "Relation", "source", "target", "HasManager", "RecordType", "Container", "objects", "Expando", "records", "contacts", "type", "Enums", "effect", "registerSignalsRuntime", "assertArgument", "registerSignalsRuntime", "createEchoSchema", "schema", "typename", "getSchemaTypename", "assertArgument", "echoSchema", "EchoSchema", "live", "StoredSchema", "version", "jsonSchema", "toJsonSchema", "effect", "_", "_invalidate"]
|
|
7
7
|
}
|