@dxos/echo-generator 0.8.4-main.70d3990 → 0.8.4-main.74a063c4e0
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 → neutral}/index.mjs +69 -61
- package/dist/lib/neutral/index.mjs.map +7 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/types/src/data.d.ts +4 -4
- package/dist/types/src/data.d.ts.map +1 -1
- package/dist/types/src/generator.d.ts +14 -14
- package/dist/types/src/generator.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +5 -8
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +20 -17
- package/src/data.ts +28 -29
- package/src/generator.test.ts +14 -12
- package/src/generator.ts +32 -33
- package/src/types.ts +5 -9
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/node-esm/index.mjs +0 -307
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
|
@@ -4,17 +4,16 @@ import "@dxos/node-std/globals";
|
|
|
4
4
|
import { next as A } from "@automerge/automerge";
|
|
5
5
|
import * as Schema from "effect/Schema";
|
|
6
6
|
import { Ref, Type } from "@dxos/echo";
|
|
7
|
-
import { EchoObjectSchema } from "@dxos/echo/internal";
|
|
8
7
|
import { createDocAccessor } from "@dxos/echo-db";
|
|
9
|
-
import {
|
|
8
|
+
import { random as random2 } from "@dxos/random";
|
|
10
9
|
|
|
11
10
|
// src/generator.ts
|
|
12
11
|
import { Filter } from "@dxos/client/echo";
|
|
13
12
|
import { Obj } from "@dxos/echo";
|
|
14
13
|
import { EchoSchema, getTypeAnnotation } from "@dxos/echo/internal";
|
|
14
|
+
import { isProxy } from "@dxos/echo/internal";
|
|
15
15
|
import { invariant } from "@dxos/invariant";
|
|
16
|
-
import {
|
|
17
|
-
import { faker } from "@dxos/random";
|
|
16
|
+
import { random } from "@dxos/random";
|
|
18
17
|
import { entries, range } from "@dxos/util";
|
|
19
18
|
var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo-generator/src/generator.ts";
|
|
20
19
|
var TestObjectGenerator = class {
|
|
@@ -37,13 +36,22 @@ var TestObjectGenerator = class {
|
|
|
37
36
|
this._schemas[type] = schema;
|
|
38
37
|
}
|
|
39
38
|
async createObject({ types } = {}) {
|
|
40
|
-
const type =
|
|
39
|
+
const type = random.helpers.arrayElement(types ?? Object.keys(this._schemas));
|
|
41
40
|
const data = await this._generators[type](this._provider);
|
|
42
|
-
if (
|
|
41
|
+
if (isProxy(data)) {
|
|
43
42
|
return data;
|
|
44
43
|
}
|
|
45
44
|
const schema = this.getSchema(type);
|
|
46
|
-
|
|
45
|
+
invariant(schema, `Schema is required for type: ${type}. Register a schema for this type.`, {
|
|
46
|
+
F: __dxlog_file,
|
|
47
|
+
L: 54,
|
|
48
|
+
S: this,
|
|
49
|
+
A: [
|
|
50
|
+
"schema",
|
|
51
|
+
"`Schema is required for type: ${type}. Register a schema for this type.`"
|
|
52
|
+
]
|
|
53
|
+
});
|
|
54
|
+
return Obj.make(schema, data);
|
|
47
55
|
}
|
|
48
56
|
// TODO(burdon): Based on dependencies (e.g., organization before contact).
|
|
49
57
|
async createObjects(map) {
|
|
@@ -71,7 +79,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
|
|
|
71
79
|
constructor(_space, schemaMap, generators, _mutations) {
|
|
72
80
|
super(schemaMap, generators, async (type) => {
|
|
73
81
|
const schema = this.getSchema(type);
|
|
74
|
-
const
|
|
82
|
+
const objects = await this._space.db.query(schema ? Filter.type(schema) : Filter.nothing()).run();
|
|
75
83
|
return objects;
|
|
76
84
|
}), this._space = _space, this._mutations = _mutations;
|
|
77
85
|
}
|
|
@@ -91,20 +99,20 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
|
|
|
91
99
|
}
|
|
92
100
|
async _maybeRegisterSchema(typename, schema) {
|
|
93
101
|
if (schema instanceof EchoSchema) {
|
|
94
|
-
const existingSchema = this._space.db.schemaRegistry.getSchema(typename);
|
|
102
|
+
const existingSchema = this._space.internal.db.schemaRegistry.getSchema(typename);
|
|
95
103
|
if (existingSchema != null) {
|
|
96
104
|
return existingSchema;
|
|
97
105
|
}
|
|
98
|
-
const [registeredSchema] = await this._space.db.schemaRegistry.register([
|
|
106
|
+
const [registeredSchema] = await this._space.internal.db.schemaRegistry.register([
|
|
99
107
|
schema
|
|
100
108
|
]);
|
|
101
109
|
return registeredSchema;
|
|
102
110
|
} else {
|
|
103
|
-
const existingSchema = this._space.db.graph.schemaRegistry.getSchema(typename);
|
|
111
|
+
const existingSchema = this._space.internal.db.graph.schemaRegistry.getSchema(typename);
|
|
104
112
|
if (existingSchema != null) {
|
|
105
113
|
return existingSchema;
|
|
106
114
|
}
|
|
107
|
-
this._space.db.graph.schemaRegistry.
|
|
115
|
+
await this._space.internal.db.graph.schemaRegistry.register([
|
|
108
116
|
schema
|
|
109
117
|
]);
|
|
110
118
|
return schema;
|
|
@@ -113,7 +121,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
|
|
|
113
121
|
async mutateObject(object, params) {
|
|
114
122
|
invariant(this._mutations, "Mutations not defined.", {
|
|
115
123
|
F: __dxlog_file,
|
|
116
|
-
L:
|
|
124
|
+
L: 130,
|
|
117
125
|
S: this,
|
|
118
126
|
A: [
|
|
119
127
|
"this._mutations",
|
|
@@ -123,7 +131,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
|
|
|
123
131
|
const type = getTypeAnnotation(Obj.getSchema(object)).typename;
|
|
124
132
|
invariant(type && this._mutations?.[type], "Invalid object type.", {
|
|
125
133
|
F: __dxlog_file,
|
|
126
|
-
L:
|
|
134
|
+
L: 132,
|
|
127
135
|
S: this,
|
|
128
136
|
A: [
|
|
129
137
|
"type && this._mutations?.[type]",
|
|
@@ -164,10 +172,10 @@ var Priority = [
|
|
|
164
172
|
5
|
|
165
173
|
];
|
|
166
174
|
var TestSchemaType = /* @__PURE__ */ (function(TestSchemaType2) {
|
|
167
|
-
TestSchemaType2["document"] = "example.
|
|
168
|
-
TestSchemaType2["organization"] = "example.
|
|
169
|
-
TestSchemaType2["contact"] = "example.
|
|
170
|
-
TestSchemaType2["project"] = "example.
|
|
175
|
+
TestSchemaType2["document"] = "com.example.type.document";
|
|
176
|
+
TestSchemaType2["organization"] = "com.example.type.organization";
|
|
177
|
+
TestSchemaType2["contact"] = "com.example.type.person";
|
|
178
|
+
TestSchemaType2["project"] = "com.example.type.project";
|
|
171
179
|
return TestSchemaType2;
|
|
172
180
|
})({});
|
|
173
181
|
var testSchemas = () => {
|
|
@@ -176,8 +184,8 @@ var testSchemas = () => {
|
|
|
176
184
|
description: "title of the document"
|
|
177
185
|
}),
|
|
178
186
|
content: Schema.String
|
|
179
|
-
}).pipe(
|
|
180
|
-
typename: "example.
|
|
187
|
+
}).pipe(Type.object({
|
|
188
|
+
typename: "com.example.type.document",
|
|
181
189
|
version: "0.1.0"
|
|
182
190
|
}));
|
|
183
191
|
const organization = Schema.Struct({
|
|
@@ -190,8 +198,8 @@ var testSchemas = () => {
|
|
|
190
198
|
description: Schema.String.annotations({
|
|
191
199
|
description: "short summary of the company"
|
|
192
200
|
})
|
|
193
|
-
}).pipe(
|
|
194
|
-
typename: "example.
|
|
201
|
+
}).pipe(Type.object({
|
|
202
|
+
typename: "com.example.type.organization",
|
|
195
203
|
version: "0.1.0"
|
|
196
204
|
}));
|
|
197
205
|
const contact = Schema.Struct({
|
|
@@ -199,11 +207,11 @@ var testSchemas = () => {
|
|
|
199
207
|
description: "name of the person"
|
|
200
208
|
}),
|
|
201
209
|
email: Schema.optional(Schema.String),
|
|
202
|
-
org: Schema.optional(
|
|
210
|
+
org: Schema.optional(Ref.Ref(organization)),
|
|
203
211
|
lat: Schema.optional(Schema.Number),
|
|
204
212
|
lng: Schema.optional(Schema.Number)
|
|
205
|
-
}).pipe(
|
|
206
|
-
typename: "example.
|
|
213
|
+
}).pipe(Type.object({
|
|
214
|
+
typename: "com.example.type.person",
|
|
207
215
|
version: "0.1.0"
|
|
208
216
|
}));
|
|
209
217
|
const project = Schema.Struct({
|
|
@@ -216,62 +224,62 @@ var testSchemas = () => {
|
|
|
216
224
|
status: Schema.String,
|
|
217
225
|
priority: Schema.Number,
|
|
218
226
|
active: Schema.Boolean,
|
|
219
|
-
org: Schema.optional(
|
|
220
|
-
}).pipe(
|
|
221
|
-
typename: "example.
|
|
227
|
+
org: Schema.optional(Ref.Ref(organization))
|
|
228
|
+
}).pipe(Type.object({
|
|
229
|
+
typename: "com.example.type.project",
|
|
222
230
|
version: "0.1.0"
|
|
223
231
|
}));
|
|
224
232
|
return {
|
|
225
|
-
["example.
|
|
226
|
-
["example.
|
|
227
|
-
["example.
|
|
228
|
-
["example.
|
|
233
|
+
["com.example.type.document"]: document,
|
|
234
|
+
["com.example.type.organization"]: organization,
|
|
235
|
+
["com.example.type.person"]: contact,
|
|
236
|
+
["com.example.type.project"]: project
|
|
229
237
|
};
|
|
230
238
|
};
|
|
231
239
|
var testObjectGenerators = {
|
|
232
|
-
["example.
|
|
233
|
-
title:
|
|
234
|
-
content:
|
|
240
|
+
["com.example.type.document"]: async () => ({
|
|
241
|
+
title: random2.lorem.sentence(3),
|
|
242
|
+
content: random2.lorem.sentences({
|
|
235
243
|
min: 1,
|
|
236
|
-
max:
|
|
244
|
+
max: random2.number.int({
|
|
237
245
|
min: 1,
|
|
238
246
|
max: 3
|
|
239
247
|
})
|
|
240
248
|
})
|
|
241
249
|
}),
|
|
242
|
-
["example.
|
|
243
|
-
name:
|
|
244
|
-
website:
|
|
250
|
+
["com.example.type.organization"]: async () => ({
|
|
251
|
+
name: random2.company.name(),
|
|
252
|
+
website: random2.datatype.boolean({
|
|
245
253
|
probability: 0.3
|
|
246
|
-
}) ?
|
|
247
|
-
description:
|
|
254
|
+
}) ? random2.internet.url() : void 0,
|
|
255
|
+
description: random2.lorem.sentences()
|
|
248
256
|
}),
|
|
249
|
-
["example.
|
|
250
|
-
const organizations = await provider?.("example.
|
|
251
|
-
const location =
|
|
257
|
+
["com.example.type.person"]: async (provider) => {
|
|
258
|
+
const organizations = await provider?.("com.example.type.organization");
|
|
259
|
+
const location = random2.datatype.boolean() ? random2.geo.airport() : {};
|
|
252
260
|
return {
|
|
253
|
-
name:
|
|
254
|
-
email:
|
|
261
|
+
name: random2.person.fullName(),
|
|
262
|
+
email: random2.datatype.boolean({
|
|
255
263
|
probability: 0.5
|
|
256
|
-
}) ?
|
|
257
|
-
org: organizations?.length &&
|
|
264
|
+
}) ? random2.internet.email() : void 0,
|
|
265
|
+
org: organizations?.length && random2.datatype.boolean({
|
|
258
266
|
probability: 0.8
|
|
259
|
-
}) ? Ref.make(
|
|
267
|
+
}) ? Ref.make(random2.helpers.arrayElement(organizations)) : void 0,
|
|
260
268
|
...location
|
|
261
269
|
};
|
|
262
270
|
},
|
|
263
|
-
["example.
|
|
264
|
-
name:
|
|
265
|
-
repo:
|
|
266
|
-
status:
|
|
267
|
-
description:
|
|
268
|
-
website:
|
|
269
|
-
priority:
|
|
270
|
-
active:
|
|
271
|
+
["com.example.type.project"]: async () => ({
|
|
272
|
+
name: random2.commerce.productName(),
|
|
273
|
+
repo: random2.internet.url(),
|
|
274
|
+
status: random2.helpers.arrayElement(Status),
|
|
275
|
+
description: random2.lorem.sentences(),
|
|
276
|
+
website: random2.internet.url(),
|
|
277
|
+
priority: random2.helpers.arrayElement(Priority),
|
|
278
|
+
active: random2.datatype.boolean()
|
|
271
279
|
})
|
|
272
280
|
};
|
|
273
281
|
var testObjectMutators = {
|
|
274
|
-
["example.
|
|
282
|
+
["com.example.type.document"]: async (object, params) => {
|
|
275
283
|
const accessor = createDocAccessor(object, [
|
|
276
284
|
"content"
|
|
277
285
|
]);
|
|
@@ -282,13 +290,13 @@ var testObjectMutators = {
|
|
|
282
290
|
});
|
|
283
291
|
}
|
|
284
292
|
},
|
|
285
|
-
["example.
|
|
293
|
+
["com.example.type.organization"]: async () => {
|
|
286
294
|
throw new Error("Method not implemented.");
|
|
287
295
|
},
|
|
288
|
-
["example.
|
|
296
|
+
["com.example.type.person"]: async () => {
|
|
289
297
|
throw new Error("Method not implemented.");
|
|
290
298
|
},
|
|
291
|
-
["example.
|
|
299
|
+
["com.example.type.project"]: async () => {
|
|
292
300
|
throw new Error("Method not implemented.");
|
|
293
301
|
}
|
|
294
302
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/data.ts", "../../../src/generator.ts", "../../../src/util.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { next as A } from '@automerge/automerge';\nimport * as Schema from 'effect/Schema';\n\nimport { type Space } from '@dxos/client/echo';\nimport { Ref, Type } from '@dxos/echo';\nimport { createDocAccessor } from '@dxos/echo-db';\nimport { random } from '@dxos/random';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestMutationsMap, type TestSchemaMap } from './types';\nimport { randomText } from './util';\n\n// TODO(burdon): Reconcile with @dxos/plugin-debug, @dxos/aurora/testing.\n// TODO(burdon): Bug when adding stale objects to space (e.g., static objects already added in previous story invocation).\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\n/**\n * @deprecated\n */\nexport enum TestSchemaType {\n document = 'com.example.type.document',\n organization = 'com.example.type.organization',\n contact = 'com.example.type.person',\n project = 'com.example.type.project',\n}\n\n/**\n * @deprecated\n */\nconst testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = Schema.Struct({\n title: Schema.String.annotations({ description: 'title of the document' }),\n content: Schema.String,\n }).pipe(Type.object({ typename: TestSchemaType.document, version: '0.1.0' }));\n\n const organization = Schema.Struct({\n name: Schema.String.annotations({ description: 'name of the company or organization' }),\n website: Schema.optional(Schema.String.annotations({ description: 'public website URL' })),\n description: Schema.String.annotations({ description: 'short summary of the company' }),\n }).pipe(Type.object({ typename: TestSchemaType.organization, version: '0.1.0' }));\n\n const contact = Schema.Struct({\n name: Schema.String.annotations({ description: 'name of the person' }),\n email: Schema.optional(Schema.String),\n org: Schema.optional(Ref.Ref(organization)),\n lat: Schema.optional(Schema.Number),\n lng: Schema.optional(Schema.Number),\n }).pipe(Type.object({ typename: TestSchemaType.contact, version: '0.1.0' }));\n\n const project = Schema.Struct({\n name: Schema.String.annotations({ description: 'name of the project' }),\n description: Schema.String,\n website: Schema.String,\n repo: Schema.String,\n status: Schema.String,\n priority: Schema.Number,\n active: Schema.Boolean,\n org: Schema.optional(Ref.Ref(organization)),\n }).pipe(Type.object({ typename: TestSchemaType.project, version: '0.1.0' }));\n\n return {\n [TestSchemaType.document]: document,\n [TestSchemaType.organization]: organization,\n [TestSchemaType.contact]: contact,\n [TestSchemaType.project]: project,\n };\n};\n\nconst testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n [TestSchemaType.document]: async () => ({\n title: random.lorem.sentence(3),\n content: random.lorem.sentences({ min: 1, max: random.number.int({ min: 1, max: 3 }) }),\n }),\n\n [TestSchemaType.organization]: async () => ({\n name: random.company.name(),\n website: random.datatype.boolean({ probability: 0.3 }) ? random.internet.url() : undefined,\n description: random.lorem.sentences(),\n }),\n\n [TestSchemaType.contact]: async (provider) => {\n const organizations = await provider?.(TestSchemaType.organization);\n const location = random.datatype.boolean() ? random.geo.airport() : {};\n\n return {\n name: random.person.fullName(),\n email: random.datatype.boolean({ probability: 0.5 }) ? random.internet.email() : undefined,\n org:\n organizations?.length && random.datatype.boolean({ probability: 0.8 })\n ? Ref.make(random.helpers.arrayElement(organizations))\n : undefined,\n ...location,\n };\n },\n\n [TestSchemaType.project]: async () => ({\n name: random.commerce.productName(),\n repo: random.internet.url(),\n status: random.helpers.arrayElement(Status),\n description: random.lorem.sentences(),\n website: random.internet.url(),\n priority: random.helpers.arrayElement(Priority),\n active: random.datatype.boolean(),\n }),\n};\n\nconst testObjectMutators: TestMutationsMap<TestSchemaType> = {\n [TestSchemaType.document]: async (object, params) => {\n const accessor = createDocAccessor(object, ['content']);\n for (let i = 0; i < params.count; i++) {\n const length = object.content?.content?.length ?? 0;\n accessor.handle.change((doc) => {\n A.splice(\n doc,\n accessor.path.slice(),\n 0,\n params.maxContentLength >= length ? 0 : params.mutationSize,\n randomText(params.mutationSize),\n );\n });\n }\n },\n [TestSchemaType.organization]: async () => {\n throw new Error('Method not implemented.');\n },\n [TestSchemaType.contact]: async () => {\n throw new Error('Method not implemented.');\n },\n [TestSchemaType.project]: async () => {\n throw new Error('Method not implemented.');\n },\n};\n\n/**\n * @deprecated Use generators in schema package.\n */\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\n/**\n * @deprecated Use generators in schema package.\n */\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators, testObjectMutators);\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Filter, type Space } from '@dxos/client/echo';\nimport { Obj, type Type } from '@dxos/echo';\nimport { EchoSchema, getTypeAnnotation } from '@dxos/echo/internal';\nimport { isProxy } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { random } from '@dxos/random';\nimport { entries, range } from '@dxos/util';\n\nimport { type TestSchemaType } from './data';\nimport {\n type MutationsProviderProps,\n type TestGeneratorMap,\n type TestMutationsMap,\n type TestObjectProvider,\n type TestSchemaMap,\n} from './types';\n\n/**\n * Typed object generator.\n * @deprecated\n */\nexport class TestObjectGenerator<T extends string = TestSchemaType> {\n // prettier-ignore\n constructor(\n\t\tprotected readonly _schemas: TestSchemaMap<T>,\n\t\tprivate readonly _generators: TestGeneratorMap<T>,\n\t\tprivate readonly _provider?: TestObjectProvider<T>,\n\t) {}\n\n get schemas(): Type.AnyObj[] {\n return Object.values(this._schemas);\n }\n\n getSchema(type: T): Type.AnyObj | undefined {\n return this.schemas.find((schema) => getTypeAnnotation(schema)!.typename === type);\n }\n\n protected setSchema(type: T, schema: Type.AnyObj): void {\n this._schemas[type] = schema;\n }\n\n async createObject({ types }: { types?: T[] } = {}): Promise<any> {\n const type = random.helpers.arrayElement(types ?? (Object.keys(this._schemas) as T[]));\n const data = await this._generators[type](this._provider);\n if (isProxy(data)) {\n return data;\n }\n\n const schema = this.getSchema(type);\n invariant(schema, `Schema is required for type: ${type}. Register a schema for this type.`);\n return Obj.make(schema, data);\n }\n\n // TODO(burdon): Based on dependencies (e.g., organization before contact).\n async createObjects(map: Partial<Record<T, number>>) {\n const results: any[] = [];\n for (const [type, count] of entries(map)) {\n results.push(...(await Promise.all(range(count ?? 0, () => this.createObject({ types: [type as T] })))));\n }\n\n const tasks = Object.entries<number>(map as any)\n .map(([type, count]) => {\n return range(count, () => this.createObject({ types: [type as T] }));\n })\n .flatMap((t) => t);\n\n return Promise.all(tasks);\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(\n private readonly _space: Space,\n schemaMap: TestSchemaMap<T>,\n generators: TestGeneratorMap<T>,\n private readonly _mutations?: TestMutationsMap<T>,\n ) {\n super(schemaMap, generators, async (type: T) => {\n const schema = this.getSchema(type);\n const objects = await this._space.db.query(schema ? Filter.type(schema) : Filter.nothing()).run();\n return objects;\n });\n }\n\n async addSchemas() {\n const result: Type.AnyObj[] = [];\n for (const [typename, schema] of Object.entries(this._schemas)) {\n const echoSchema = await this._maybeRegisterSchema(typename, schema as Type.AnyObj);\n this.setSchema(typename as T, echoSchema);\n result.push(echoSchema);\n }\n\n return result;\n }\n\n override async createObject({\n types,\n }: {\n types?: T[];\n } = {}): Promise<Obj.Any> {\n return this._space.db.add(await super.createObject({ types }));\n }\n\n private async _maybeRegisterSchema(typename: string, schema: Type.AnyObj): Promise<Type.AnyObj> {\n if (schema instanceof EchoSchema) {\n const existingSchema = this._space.internal.db.schemaRegistry.getSchema(typename);\n if (existingSchema != null) {\n return existingSchema;\n }\n const [registeredSchema] = await this._space.internal.db.schemaRegistry.register([schema]);\n return registeredSchema;\n } else {\n const existingSchema = this._space.internal.db.graph.schemaRegistry.getSchema(typename);\n if (existingSchema != null) {\n return existingSchema;\n }\n await this._space.internal.db.graph.schemaRegistry.register([schema]);\n return schema;\n }\n }\n\n async mutateObject(object: Obj.Any, params: MutationsProviderProps): Promise<void> {\n invariant(this._mutations, 'Mutations not defined.');\n const type = getTypeAnnotation(Obj.getSchema(object)!)!.typename as T;\n invariant(type && this._mutations?.[type], 'Invalid object type.');\n\n await this._mutations;\n }\n\n async mutateObjects(objects: Obj.Any[], params: MutationsProviderProps): Promise<void> {\n for (const object of objects) {\n await this.mutateObject(object, params);\n }\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nexport const randomText = (length: number) => {\n let result = '';\n const characters = 'abcdefghijklmnopqrstuvwxyz';\n const charactersLength = characters.length;\n for (let index = 0; index < length; index++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n\n return result;\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,QAAQC,SAAS;AAC1B,YAAYC,YAAY;AAGxB,SAASC,KAAKC,YAAY;AAC1B,SAASC,yBAAyB;AAClC,SAASC,UAAAA,eAAc;;;ACNvB,SAASC,cAA0B;AACnC,SAASC,WAAsB;AAC/B,SAASC,YAAYC,yBAAyB;AAC9C,SAASC,eAAe;AACxB,SAASC,iBAAiB;AAC1B,SAASC,cAAc;AACvB,SAASC,SAASC,aAAa;;AAexB,IAAMC,sBAAN,MAAMA;;;;;EAEX,YACmBC,UACFC,aACAC,WAChB;SAHkBF,WAAAA;SACFC,cAAAA;SACAC,YAAAA;EACf;EAEF,IAAIC,UAAyB;AAC3B,WAAOC,OAAOC,OAAO,KAAKL,QAAQ;EACpC;EAEAM,UAAUC,MAAkC;AAC1C,WAAO,KAAKJ,QAAQK,KAAK,CAACC,WAAWhB,kBAAkBgB,MAAAA,EAASC,aAAaH,IAAAA;EAC/E;EAEUI,UAAUJ,MAASE,QAA2B;AACtD,SAAKT,SAASO,IAAAA,IAAQE;EACxB;EAEA,MAAMG,aAAa,EAAEC,MAAK,IAAsB,CAAC,GAAiB;AAChE,UAAMN,OAAOX,OAAOkB,QAAQC,aAAaF,SAAUT,OAAOY,KAAK,KAAKhB,QAAQ,CAAA;AAC5E,UAAMiB,OAAO,MAAM,KAAKhB,YAAYM,IAAAA,EAAM,KAAKL,SAAS;AACxD,QAAIR,QAAQuB,IAAAA,GAAO;AACjB,aAAOA;IACT;AAEA,UAAMR,SAAS,KAAKH,UAAUC,IAAAA;AAC9BZ,cAAUc,QAAQ,gCAAgCF,IAAAA,sCAAwC;;;;;;;;;AAC1F,WAAOhB,IAAI2B,KAAKT,QAAQQ,IAAAA;EAC1B;;EAGA,MAAME,cAAcC,KAAiC;AACnD,UAAMC,UAAiB,CAAA;AACvB,eAAW,CAACd,MAAMe,KAAAA,KAAUzB,QAAQuB,GAAAA,GAAM;AACxCC,cAAQE,KAAI,GAAK,MAAMC,QAAQC,IAAI3B,MAAMwB,SAAS,GAAG,MAAM,KAAKV,aAAa;QAAEC,OAAO;UAACN;;MAAW,CAAA,CAAA,CAAA,CAAA;IACpG;AAEA,UAAMmB,QAAQtB,OAAOP,QAAgBuB,GAAAA,EAClCA,IAAI,CAAC,CAACb,MAAMe,KAAAA,MAAM;AACjB,aAAOxB,MAAMwB,OAAO,MAAM,KAAKV,aAAa;QAAEC,OAAO;UAACN;;MAAW,CAAA,CAAA;IACnE,CAAA,EACCoB,QAAQ,CAACC,MAAMA,CAAAA;AAElB,WAAOJ,QAAQC,IAAIC,KAAAA;EACrB;AACF;AAKO,IAAMG,uBAAN,cAAqD9B,oBAAAA;;;EAC1D,YACmB+B,QACjBC,WACAC,YACiBC,YACjB;AACA,UAAMF,WAAWC,YAAY,OAAOzB,SAAAA;AAClC,YAAME,SAAS,KAAKH,UAAUC,IAAAA;AAC9B,YAAM2B,UAAU,MAAM,KAAKJ,OAAOK,GAAGC,MAAM3B,SAASnB,OAAOiB,KAAKE,MAAAA,IAAUnB,OAAO+C,QAAO,CAAA,EAAIC,IAAG;AAC/F,aAAOJ;IACT,CAAA,GAAA,KATiBJ,SAAAA,QAAAA,KAGAG,aAAAA;EAOnB;EAEA,MAAMM,aAAa;AACjB,UAAMC,SAAwB,CAAA;AAC9B,eAAW,CAAC9B,UAAUD,MAAAA,KAAWL,OAAOP,QAAQ,KAAKG,QAAQ,GAAG;AAC9D,YAAMyC,aAAa,MAAM,KAAKC,qBAAqBhC,UAAUD,MAAAA;AAC7D,WAAKE,UAAUD,UAAe+B,UAAAA;AAC9BD,aAAOjB,KAAKkB,UAAAA;IACd;AAEA,WAAOD;EACT;EAEA,MAAe5B,aAAa,EAC1BC,MAAK,IAGH,CAAC,GAAqB;AACxB,WAAO,KAAKiB,OAAOK,GAAGQ,IAAI,MAAM,MAAM/B,aAAa;MAAEC;IAAM,CAAA,CAAA;EAC7D;EAEA,MAAc6B,qBAAqBhC,UAAkBD,QAA2C;AAC9F,QAAIA,kBAAkBjB,YAAY;AAChC,YAAMoD,iBAAiB,KAAKd,OAAOe,SAASV,GAAGW,eAAexC,UAAUI,QAAAA;AACxE,UAAIkC,kBAAkB,MAAM;AAC1B,eAAOA;MACT;AACA,YAAM,CAACG,gBAAAA,IAAoB,MAAM,KAAKjB,OAAOe,SAASV,GAAGW,eAAeE,SAAS;QAACvC;OAAO;AACzF,aAAOsC;IACT,OAAO;AACL,YAAMH,iBAAiB,KAAKd,OAAOe,SAASV,GAAGc,MAAMH,eAAexC,UAAUI,QAAAA;AAC9E,UAAIkC,kBAAkB,MAAM;AAC1B,eAAOA;MACT;AACA,YAAM,KAAKd,OAAOe,SAASV,GAAGc,MAAMH,eAAeE,SAAS;QAACvC;OAAO;AACpE,aAAOA;IACT;EACF;EAEA,MAAMyC,aAAaC,QAAiBC,QAA+C;AACjFzD,cAAU,KAAKsC,YAAY,0BAAA;;;;;;;;;AAC3B,UAAM1B,OAAOd,kBAAkBF,IAAIe,UAAU6C,MAAAA,CAAAA,EAAWzC;AACxDf,cAAUY,QAAQ,KAAK0B,aAAa1B,IAAAA,GAAO,wBAAA;;;;;;;;;AAE3C,UAAM,KAAK0B,WAAY1B,IAAAA,EAAM4C,QAAQC,MAAAA;EACvC;EAEA,MAAMC,cAAcnB,SAAoBkB,QAA+C;AACrF,eAAWD,UAAUjB,SAAS;AAC5B,YAAM,KAAKgB,aAAaC,QAAQC,MAAAA;IAClC;EACF;AACF;;;ACzIO,IAAME,aAAa,CAACC,WAAAA;AACzB,MAAIC,SAAS;AACb,QAAMC,aAAa;AACnB,QAAMC,mBAAmBD,WAAWF;AACpC,WAASI,QAAQ,GAAGA,QAAQJ,QAAQI,SAAS;AAC3CH,cAAUC,WAAWG,OAAOC,KAAKC,MAAMD,KAAKE,OAAM,IAAKL,gBAAAA,CAAAA;EACzD;AAEA,SAAOF;AACT;;;AFOO,IAAMQ,SAAS;EAAC;EAAW;EAAU;;AACrC,IAAMC,WAAW;EAAC;EAAG;EAAG;EAAG;EAAG;;AAK9B,IAAKC,iBAAAA,0BAAAA,iBAAAA;;;;;SAAAA;;AAUZ,IAAMC,cAAc,MAAA;AAClB,QAAMC,WAAkBC,cAAO;IAC7BC,OAAcC,cAAOC,YAAY;MAAEC,aAAa;IAAwB,CAAA;IACxEC,SAAgBH;EAClB,CAAA,EAAGI,KAAKC,KAAKC,OAAO;IAAEC,UAAQ;IAA2BC,SAAS;EAAQ,CAAA,CAAA;AAE1E,QAAMC,eAAsBX,cAAO;IACjCY,MAAaV,cAAOC,YAAY;MAAEC,aAAa;IAAsC,CAAA;IACrFS,SAAgBC,gBAAgBZ,cAAOC,YAAY;MAAEC,aAAa;IAAqB,CAAA,CAAA;IACvFA,aAAoBF,cAAOC,YAAY;MAAEC,aAAa;IAA+B,CAAA;EACvF,CAAA,EAAGE,KAAKC,KAAKC,OAAO;IAAEC,UAAQ;IAA+BC,SAAS;EAAQ,CAAA,CAAA;AAE9E,QAAMK,UAAiBf,cAAO;IAC5BY,MAAaV,cAAOC,YAAY;MAAEC,aAAa;IAAqB,CAAA;IACpEY,OAAcF,gBAAgBZ,aAAM;IACpCe,KAAYH,gBAASI,IAAIA,IAAIP,YAAAA,CAAAA;IAC7BQ,KAAYL,gBAAgBM,aAAM;IAClCC,KAAYP,gBAAgBM,aAAM;EACpC,CAAA,EAAGd,KAAKC,KAAKC,OAAO;IAAEC,UAAQ;IAA0BC,SAAS;EAAQ,CAAA,CAAA;AAEzE,QAAMY,UAAiBtB,cAAO;IAC5BY,MAAaV,cAAOC,YAAY;MAAEC,aAAa;IAAsB,CAAA;IACrEA,aAAoBF;IACpBW,SAAgBX;IAChBqB,MAAarB;IACbsB,QAAetB;IACfuB,UAAiBL;IACjBM,QAAeC;IACfV,KAAYH,gBAASI,IAAIA,IAAIP,YAAAA,CAAAA;EAC/B,CAAA,EAAGL,KAAKC,KAAKC,OAAO;IAAEC,UAAQ;IAA0BC,SAAS;EAAQ,CAAA,CAAA;AAEzE,SAAO;IACL,CAAA,2BAAA,GAA2BX;IAC3B,CAAA,+BAAA,GAA+BY;IAC/B,CAAA,yBAAA,GAA0BI;IAC1B,CAAA,0BAAA,GAA0BO;EAC5B;AACF;AAEA,IAAMM,uBAAyD;EAC7D,CAAA,2BAAA,GAA2B,aAAa;IACtC3B,OAAO4B,QAAOC,MAAMC,SAAS,CAAA;IAC7B1B,SAASwB,QAAOC,MAAME,UAAU;MAAEC,KAAK;MAAGC,KAAKL,QAAOM,OAAOC,IAAI;QAAEH,KAAK;QAAGC,KAAK;MAAE,CAAA;IAAG,CAAA;EACvF;EAEA,CAAA,+BAAA,GAA+B,aAAa;IAC1CtB,MAAMiB,QAAOQ,QAAQzB,KAAI;IACzBC,SAASgB,QAAOS,SAASC,QAAQ;MAAEC,aAAa;IAAI,CAAA,IAAKX,QAAOY,SAASC,IAAG,IAAKC;IACjFvC,aAAayB,QAAOC,MAAME,UAAS;EACrC;EAEA,CAAA,yBAAA,GAA0B,OAAOY,aAAAA;AAC/B,UAAMC,gBAAgB,MAAMD,WAAAA,+BAAAA;AAC5B,UAAME,WAAWjB,QAAOS,SAASC,QAAO,IAAKV,QAAOkB,IAAIC,QAAO,IAAK,CAAC;AAErE,WAAO;MACLpC,MAAMiB,QAAOoB,OAAOC,SAAQ;MAC5BlC,OAAOa,QAAOS,SAASC,QAAQ;QAAEC,aAAa;MAAI,CAAA,IAAKX,QAAOY,SAASzB,MAAK,IAAK2B;MACjF1B,KACE4B,eAAeM,UAAUtB,QAAOS,SAASC,QAAQ;QAAEC,aAAa;MAAI,CAAA,IAChEtB,IAAIkC,KAAKvB,QAAOwB,QAAQC,aAAaT,aAAAA,CAAAA,IACrCF;MACN,GAAGG;IACL;EACF;EAEA,CAAA,0BAAA,GAA0B,aAAa;IACrClC,MAAMiB,QAAO0B,SAASC,YAAW;IACjCjC,MAAMM,QAAOY,SAASC,IAAG;IACzBlB,QAAQK,QAAOwB,QAAQC,aAAa3D,MAAAA;IACpCS,aAAayB,QAAOC,MAAME,UAAS;IACnCnB,SAASgB,QAAOY,SAASC,IAAG;IAC5BjB,UAAUI,QAAOwB,QAAQC,aAAa1D,QAAAA;IACtC8B,QAAQG,QAAOS,SAASC,QAAO;EACjC;AACF;AAEA,IAAMkB,qBAAuD;EAC3D,CAAA,2BAAA,GAA2B,OAAOjD,QAAQkD,WAAAA;AACxC,UAAMC,WAAWC,kBAAkBpD,QAAQ;MAAC;KAAU;AACtD,aAASqD,IAAI,GAAGA,IAAIH,OAAOI,OAAOD,KAAK;AACrC,YAAMV,SAAS3C,OAAOH,SAASA,SAAS8C,UAAU;AAClDQ,eAASI,OAAOC,OAAO,CAACC,QAAAA;AACtBC,UAAEC,OACAF,KACAN,SAASS,KAAKC,MAAK,GACnB,GACAX,OAAOY,oBAAoBnB,SAAS,IAAIO,OAAOa,cAC/CC,WAAWd,OAAOa,YAAY,CAAA;MAElC,CAAA;IACF;EACF;EACA,CAAA,+BAAA,GAA+B,YAAA;AAC7B,UAAM,IAAIE,MAAM,yBAAA;EAClB;EACA,CAAA,yBAAA,GAA0B,YAAA;AACxB,UAAM,IAAIA,MAAM,yBAAA;EAClB;EACA,CAAA,0BAAA,GAA0B,YAAA;AACxB,UAAM,IAAIA,MAAM,yBAAA;EAClB;AACF;AAKO,IAAMC,4BAA4B,MAAM,IAAIC,oBAAoB7E,YAAAA,GAAe8B,oBAAAA;AAK/E,IAAMgD,6BAA6B,CAACC,UACzC,IAAIC,qBAAqBD,OAAO/E,YAAAA,GAAe8B,sBAAsB6B,kBAAAA;",
|
|
6
|
+
"names": ["next", "A", "Schema", "Ref", "Type", "createDocAccessor", "random", "Filter", "Obj", "EchoSchema", "getTypeAnnotation", "isProxy", "invariant", "random", "entries", "range", "TestObjectGenerator", "_schemas", "_generators", "_provider", "schemas", "Object", "values", "getSchema", "type", "find", "schema", "typename", "setSchema", "createObject", "types", "helpers", "arrayElement", "keys", "data", "make", "createObjects", "map", "results", "count", "push", "Promise", "all", "tasks", "flatMap", "t", "SpaceObjectGenerator", "_space", "schemaMap", "generators", "_mutations", "objects", "db", "query", "nothing", "run", "addSchemas", "result", "echoSchema", "_maybeRegisterSchema", "add", "existingSchema", "internal", "schemaRegistry", "registeredSchema", "register", "graph", "mutateObject", "object", "params", "mutateObjects", "randomText", "length", "result", "characters", "charactersLength", "index", "charAt", "Math", "floor", "random", "Status", "Priority", "TestSchemaType", "testSchemas", "document", "Struct", "title", "String", "annotations", "description", "content", "pipe", "Type", "object", "typename", "version", "organization", "name", "website", "optional", "contact", "email", "org", "Ref", "lat", "Number", "lng", "project", "repo", "status", "priority", "active", "Boolean", "testObjectGenerators", "random", "lorem", "sentence", "sentences", "min", "max", "number", "int", "company", "datatype", "boolean", "probability", "internet", "url", "undefined", "provider", "organizations", "location", "geo", "airport", "person", "fullName", "length", "make", "helpers", "arrayElement", "commerce", "productName", "testObjectMutators", "params", "accessor", "createDocAccessor", "i", "count", "handle", "change", "doc", "A", "splice", "path", "slice", "maxContentLength", "mutationSize", "randomText", "Error", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"inputs":{"src/generator.ts":{"bytes":16826,"imports":[{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/util.ts":{"bytes":1567,"imports":[],"format":"esm"},"src/data.ts":{"bytes":19647,"imports":[{"path":"@automerge/automerge","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"src/index.ts":{"bytes":661,"imports":[{"path":"src/data.ts","kind":"import-statement","original":"./data"},{"path":"src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18729},"dist/lib/neutral/index.mjs":{"imports":[{"path":"@automerge/automerge","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-db","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/random","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["Priority","SpaceObjectGenerator","Status","TestObjectGenerator","TestSchemaType","createSpaceObjectGenerator","createTestObjectGenerator","randomText"],"entryPoint":"src/index.ts","inputs":{"src/data.ts":{"bytesInOutput":4834},"src/generator.ts":{"bytesInOutput":4324},"src/util.ts":{"bytesInOutput":299},"src/index.ts":{"bytesInOutput":0}},"bytes":9765}}}
|
package/dist/types/src/data.d.ts
CHANGED
|
@@ -6,10 +6,10 @@ export declare const Priority: number[];
|
|
|
6
6
|
* @deprecated
|
|
7
7
|
*/
|
|
8
8
|
export declare enum TestSchemaType {
|
|
9
|
-
document = "example.
|
|
10
|
-
organization = "example.
|
|
11
|
-
contact = "example.
|
|
12
|
-
project = "example.
|
|
9
|
+
document = "com.example.type.document",
|
|
10
|
+
organization = "com.example.type.organization",
|
|
11
|
+
contact = "com.example.type.person",
|
|
12
|
+
project = "com.example.type.project"
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* @deprecated Use generators in schema package.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAQxE,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC;;GAEG;AACH,oBAAY,cAAc;IACxB,QAAQ,8BAA8B;IACtC,YAAY,kCAAkC;IAC9C,OAAO,4BAA4B;IACnC,OAAO,6BAA6B;CACrC;AA6GD;;GAEG;AACH,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,OAAO,KAAK,yCACmC,CAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import type * as Schema from 'effect/Schema';
|
|
2
1
|
import { type Space } from '@dxos/client/echo';
|
|
3
|
-
import {
|
|
4
|
-
import { type AnyLiveObject } from '@dxos/echo-db';
|
|
5
|
-
import { type Live } from '@dxos/live-object';
|
|
2
|
+
import { Obj, type Type } from '@dxos/echo';
|
|
6
3
|
import { type TestSchemaType } from './data';
|
|
7
|
-
import { type
|
|
4
|
+
import { type MutationsProviderProps, type TestGeneratorMap, type TestMutationsMap, type TestObjectProvider, type TestSchemaMap } from './types';
|
|
8
5
|
/**
|
|
9
6
|
* Typed object generator.
|
|
10
7
|
* @deprecated
|
|
@@ -14,12 +11,12 @@ export declare class TestObjectGenerator<T extends string = TestSchemaType> {
|
|
|
14
11
|
private readonly _generators;
|
|
15
12
|
private readonly _provider?;
|
|
16
13
|
constructor(_schemas: TestSchemaMap<T>, _generators: TestGeneratorMap<T>, _provider?: TestObjectProvider<T> | undefined);
|
|
17
|
-
get schemas():
|
|
18
|
-
getSchema(type: T):
|
|
19
|
-
protected setSchema(type: T, schema:
|
|
14
|
+
get schemas(): Type.AnyObj[];
|
|
15
|
+
getSchema(type: T): Type.AnyObj | undefined;
|
|
16
|
+
protected setSchema(type: T, schema: Type.AnyObj): void;
|
|
20
17
|
createObject({ types }?: {
|
|
21
18
|
types?: T[];
|
|
22
|
-
}): Promise<
|
|
19
|
+
}): Promise<any>;
|
|
23
20
|
createObjects(map: Partial<Record<T, number>>): Promise<any[]>;
|
|
24
21
|
}
|
|
25
22
|
/**
|
|
@@ -29,12 +26,15 @@ export declare class SpaceObjectGenerator<T extends string> extends TestObjectGe
|
|
|
29
26
|
private readonly _space;
|
|
30
27
|
private readonly _mutations?;
|
|
31
28
|
constructor(_space: Space, schemaMap: TestSchemaMap<T>, generators: TestGeneratorMap<T>, _mutations?: TestMutationsMap<T> | undefined);
|
|
32
|
-
addSchemas(): Promise<(Schema.Schema.AnyNoContext
|
|
33
|
-
|
|
29
|
+
addSchemas(): Promise<(import("effect/Schema").Schema.AnyNoContext & {
|
|
30
|
+
readonly typename: string;
|
|
31
|
+
readonly version: string;
|
|
32
|
+
})[]>;
|
|
33
|
+
createObject({ types, }?: {
|
|
34
34
|
types?: T[];
|
|
35
|
-
}): Promise<
|
|
35
|
+
}): Promise<Obj.Any>;
|
|
36
36
|
private _maybeRegisterSchema;
|
|
37
|
-
mutateObject(object:
|
|
38
|
-
mutateObjects(objects:
|
|
37
|
+
mutateObject(object: Obj.Any, params: MutationsProviderProps): Promise<void>;
|
|
38
|
+
mutateObjects(objects: Obj.Any[], params: MutationsProviderProps): Promise<void>;
|
|
39
39
|
}
|
|
40
40
|
//# sourceMappingURL=generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAO5C,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EACnB,MAAM,SAAS,CAAC;AAEjB;;;GAGG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM,GAAG,cAAc;IAGhE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAFR,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,YAAA;IAGlD,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAE3B;IAED,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS;IAI3C,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI;IAIjD,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC;IAa3D,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;CAcpD;AAED;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IAE9E,OAAO,CAAC,QAAQ,CAAC,MAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;gBAHX,MAAM,EAAE,KAAK,EAC9B,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACd,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,YAAA;IAS7C,UAAU;;;;IAWD,YAAY,CAAC,EAC1B,KAAK,GACN,GAAE;QACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;KACR,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAIX,oBAAoB;IAkB5B,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ5E,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;CAKvF"}
|
|
@@ -1,18 +1,15 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { type EchoSchema } from '@dxos/echo/internal';
|
|
3
|
-
import { type AnyLiveObject } from '@dxos/echo-db';
|
|
4
|
-
import { type Live } from '@dxos/live-object';
|
|
1
|
+
import { type Obj, type Type } from '@dxos/echo';
|
|
5
2
|
export type TestObject = {
|
|
6
3
|
id: string;
|
|
7
4
|
} & Record<string, any>;
|
|
8
|
-
export type TestSchemaMap<T extends string = string> = Record<T,
|
|
9
|
-
export type TestObjectProvider<T extends string = string> = (type: T) => Promise<
|
|
5
|
+
export type TestSchemaMap<T extends string = string> = Record<T, Type.AnyObj>;
|
|
6
|
+
export type TestObjectProvider<T extends string = string> = (type: T) => Promise<any[]>;
|
|
10
7
|
export type TestGeneratorMap<T extends string = string> = Record<T, (provider: TestObjectProvider<T> | undefined) => any>;
|
|
11
8
|
export type TestMutationsMap<T extends string = string> = Record<T, TestObjectMutators>;
|
|
12
|
-
export type
|
|
9
|
+
export type MutationsProviderProps = {
|
|
13
10
|
count: number;
|
|
14
11
|
mutationSize: number;
|
|
15
12
|
maxContentLength: number;
|
|
16
13
|
};
|
|
17
|
-
export type TestObjectMutators = (object:
|
|
14
|
+
export type TestObjectMutators = (object: Obj.Any, params: MutationsProviderProps) => Promise<void>;
|
|
18
15
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAGjD,MAAM,MAAM,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE9D,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAE9E,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAExF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAC9D,CAAC,EACD,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,SAAS,KAAK,GAAG,CACrD,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC;AAExF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
|