@dxos/echo-generator 0.8.4-main.c4373fc → 0.8.4-main.cb12b3f963

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.
@@ -3,33 +3,29 @@ import "@dxos/node-std/globals";
3
3
  // src/data.ts
4
4
  import { next as A } from "@automerge/automerge";
5
5
  import * as Schema from "effect/Schema";
6
- import { createDocAccessor } from "@dxos/client/echo";
7
- import { EchoObject, Ref } from "@dxos/echo/internal";
8
- import { faker as faker2 } from "@dxos/random";
6
+ import { Ref, Type } from "@dxos/echo";
7
+ import { createDocAccessor } from "@dxos/echo-db";
8
+ import { random as random2 } from "@dxos/random";
9
9
 
10
10
  // src/generator.ts
11
11
  import { Filter } from "@dxos/client/echo";
12
12
  import { Obj } from "@dxos/echo";
13
- import { EchoSchema, getSchema, getTypeAnnotation } from "@dxos/echo/internal";
13
+ import { EchoSchema, getTypeAnnotation } from "@dxos/echo/internal";
14
+ import { isProxy } from "@dxos/echo/internal";
14
15
  import { invariant } from "@dxos/invariant";
15
- import { isLiveObject, live } from "@dxos/live-object";
16
- import { faker } from "@dxos/random";
16
+ import { random } from "@dxos/random";
17
17
  import { entries, range } from "@dxos/util";
18
- function _define_property(obj, key, value) {
19
- if (key in obj) {
20
- Object.defineProperty(obj, key, {
21
- value,
22
- enumerable: true,
23
- configurable: true,
24
- writable: true
25
- });
26
- } else {
27
- obj[key] = value;
28
- }
29
- return obj;
30
- }
31
18
  var __dxlog_file = "/__w/dxos/dxos/packages/core/echo/echo-generator/src/generator.ts";
32
19
  var TestObjectGenerator = class {
20
+ _schemas;
21
+ _generators;
22
+ _provider;
23
+ // prettier-ignore
24
+ constructor(_schemas, _generators, _provider) {
25
+ this._schemas = _schemas;
26
+ this._generators = _generators;
27
+ this._provider = _provider;
28
+ }
33
29
  get schemas() {
34
30
  return Object.values(this._schemas);
35
31
  }
@@ -40,13 +36,14 @@ var TestObjectGenerator = class {
40
36
  this._schemas[type] = schema;
41
37
  }
42
38
  async createObject({ types } = {}) {
43
- const type = faker.helpers.arrayElement(types ?? Object.keys(this._schemas));
39
+ const type = random.helpers.arrayElement(types ?? Object.keys(this._schemas));
44
40
  const data = await this._generators[type](this._provider);
45
- if (isLiveObject(data)) {
41
+ if (isProxy(data)) {
46
42
  return data;
47
43
  }
48
44
  const schema = this.getSchema(type);
49
- return schema ? Obj.make(schema, data) : live(data);
45
+ invariant(schema, `Schema is required for type: ${type}. Register a schema for this type.`, { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 40, S: this, A: ["schema", "`Schema is required for type: ${type}. Register a schema for this type.`"] });
46
+ return Obj.make(schema, data);
50
47
  }
51
48
  // TODO(burdon): Based on dependencies (e.g., organization before contact).
52
49
  async createObjects(map) {
@@ -67,17 +64,17 @@ var TestObjectGenerator = class {
67
64
  }).flatMap((t) => t);
68
65
  return Promise.all(tasks);
69
66
  }
70
- // prettier-ignore
71
- constructor(_schemas, _generators, _provider) {
72
- _define_property(this, "_schemas", void 0);
73
- _define_property(this, "_generators", void 0);
74
- _define_property(this, "_provider", void 0);
75
- this._schemas = _schemas;
76
- this._generators = _generators;
77
- this._provider = _provider;
78
- }
79
67
  };
80
68
  var SpaceObjectGenerator = class extends TestObjectGenerator {
69
+ _space;
70
+ _mutations;
71
+ constructor(_space, schemaMap, generators, _mutations) {
72
+ super(schemaMap, generators, async (type) => {
73
+ const schema = this.getSchema(type);
74
+ const objects = await this._space.db.query(schema ? Filter.type(schema) : Filter.nothing()).run();
75
+ return objects;
76
+ }), this._space = _space, this._mutations = _mutations;
77
+ }
81
78
  async addSchemas() {
82
79
  const result = [];
83
80
  for (const [typename, schema] of Object.entries(this._schemas)) {
@@ -94,45 +91,29 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
94
91
  }
95
92
  async _maybeRegisterSchema(typename, schema) {
96
93
  if (schema instanceof EchoSchema) {
97
- const existingSchema = this._space.db.schemaRegistry.getSchema(typename);
94
+ const existingSchema = this._space.internal.db.schemaRegistry.getSchema(typename);
98
95
  if (existingSchema != null) {
99
96
  return existingSchema;
100
97
  }
101
- const [registeredSchema] = await this._space.db.schemaRegistry.register([
98
+ const [registeredSchema] = await this._space.internal.db.schemaRegistry.register([
102
99
  schema
103
100
  ]);
104
101
  return registeredSchema;
105
102
  } else {
106
- const existingSchema = this._space.db.graph.schemaRegistry.getSchema(typename);
103
+ const existingSchema = this._space.internal.db.graph.schemaRegistry.getSchema(typename);
107
104
  if (existingSchema != null) {
108
105
  return existingSchema;
109
106
  }
110
- this._space.db.graph.schemaRegistry.addSchema([
107
+ await this._space.internal.db.graph.schemaRegistry.register([
111
108
  schema
112
109
  ]);
113
110
  return schema;
114
111
  }
115
112
  }
116
113
  async mutateObject(object, params) {
117
- invariant(this._mutations, "Mutations not defined.", {
118
- F: __dxlog_file,
119
- L: 131,
120
- S: this,
121
- A: [
122
- "this._mutations",
123
- "'Mutations not defined.'"
124
- ]
125
- });
126
- const type = getTypeAnnotation(getSchema(object)).typename;
127
- invariant(type && this._mutations?.[type], "Invalid object type.", {
128
- F: __dxlog_file,
129
- L: 133,
130
- S: this,
131
- A: [
132
- "type && this._mutations?.[type]",
133
- "'Invalid object type.'"
134
- ]
135
- });
114
+ invariant(this._mutations, "Mutations not defined.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 111, S: this, A: ["this._mutations", "'Mutations not defined.'"] });
115
+ const type = getTypeAnnotation(Obj.getSchema(object)).typename;
116
+ invariant(type && this._mutations?.[type], "Invalid object type.", { "~LogMeta": "~LogMeta", F: __dxlog_file, L: 113, S: this, A: ["type && this._mutations?.[type]", "'Invalid object type.'"] });
136
117
  await this._mutations[type](object, params);
137
118
  }
138
119
  async mutateObjects(objects, params) {
@@ -140,13 +121,6 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
140
121
  await this.mutateObject(object, params);
141
122
  }
142
123
  }
143
- constructor(_space, schemaMap, generators, _mutations) {
144
- super(schemaMap, generators, async (type) => {
145
- const schema = this.getSchema(type);
146
- const { objects } = await this._space.db.query(schema ? Filter.type(schema) : Filter.nothing()).run();
147
- return objects;
148
- }), _define_property(this, "_space", void 0), _define_property(this, "_mutations", void 0), this._space = _space, this._mutations = _mutations;
149
- }
150
124
  };
151
125
 
152
126
  // src/util.ts
@@ -174,10 +148,10 @@ var Priority = [
174
148
  5
175
149
  ];
176
150
  var TestSchemaType = /* @__PURE__ */ (function(TestSchemaType2) {
177
- TestSchemaType2["document"] = "example.com/type/Document";
178
- TestSchemaType2["organization"] = "example.com/type/Organization";
179
- TestSchemaType2["contact"] = "example.com/type/Contact";
180
- TestSchemaType2["project"] = "example.com/type/Project";
151
+ TestSchemaType2["document"] = "com.example.type.document";
152
+ TestSchemaType2["organization"] = "com.example.type.organization";
153
+ TestSchemaType2["contact"] = "com.example.type.person";
154
+ TestSchemaType2["project"] = "com.example.type.project";
181
155
  return TestSchemaType2;
182
156
  })({});
183
157
  var testSchemas = () => {
@@ -186,8 +160,8 @@ var testSchemas = () => {
186
160
  description: "title of the document"
187
161
  }),
188
162
  content: Schema.String
189
- }).pipe(EchoObject({
190
- typename: "example.com/type/Document",
163
+ }).pipe(Type.object({
164
+ typename: "com.example.type.document",
191
165
  version: "0.1.0"
192
166
  }));
193
167
  const organization = Schema.Struct({
@@ -200,8 +174,8 @@ var testSchemas = () => {
200
174
  description: Schema.String.annotations({
201
175
  description: "short summary of the company"
202
176
  })
203
- }).pipe(EchoObject({
204
- typename: "example.com/type/Organization",
177
+ }).pipe(Type.object({
178
+ typename: "com.example.type.organization",
205
179
  version: "0.1.0"
206
180
  }));
207
181
  const contact = Schema.Struct({
@@ -209,11 +183,11 @@ var testSchemas = () => {
209
183
  description: "name of the person"
210
184
  }),
211
185
  email: Schema.optional(Schema.String),
212
- org: Schema.optional(Ref(organization)),
186
+ org: Schema.optional(Ref.Ref(organization)),
213
187
  lat: Schema.optional(Schema.Number),
214
188
  lng: Schema.optional(Schema.Number)
215
- }).pipe(EchoObject({
216
- typename: "example.com/type/Contact",
189
+ }).pipe(Type.object({
190
+ typename: "com.example.type.person",
217
191
  version: "0.1.0"
218
192
  }));
219
193
  const project = Schema.Struct({
@@ -226,62 +200,62 @@ var testSchemas = () => {
226
200
  status: Schema.String,
227
201
  priority: Schema.Number,
228
202
  active: Schema.Boolean,
229
- org: Schema.optional(Ref(organization))
230
- }).pipe(EchoObject({
231
- typename: "example.com/type/Project",
203
+ org: Schema.optional(Ref.Ref(organization))
204
+ }).pipe(Type.object({
205
+ typename: "com.example.type.project",
232
206
  version: "0.1.0"
233
207
  }));
234
208
  return {
235
- ["example.com/type/Document"]: document,
236
- ["example.com/type/Organization"]: organization,
237
- ["example.com/type/Contact"]: contact,
238
- ["example.com/type/Project"]: project
209
+ ["com.example.type.document"]: document,
210
+ ["com.example.type.organization"]: organization,
211
+ ["com.example.type.person"]: contact,
212
+ ["com.example.type.project"]: project
239
213
  };
240
214
  };
241
215
  var testObjectGenerators = {
242
- ["example.com/type/Document"]: async () => ({
243
- title: faker2.lorem.sentence(3),
244
- content: faker2.lorem.sentences({
216
+ ["com.example.type.document"]: async () => ({
217
+ title: random2.lorem.sentence(3),
218
+ content: random2.lorem.sentences({
245
219
  min: 1,
246
- max: faker2.number.int({
220
+ max: random2.number.int({
247
221
  min: 1,
248
222
  max: 3
249
223
  })
250
224
  })
251
225
  }),
252
- ["example.com/type/Organization"]: async () => ({
253
- name: faker2.company.name(),
254
- website: faker2.datatype.boolean({
226
+ ["com.example.type.organization"]: async () => ({
227
+ name: random2.company.name(),
228
+ website: random2.datatype.boolean({
255
229
  probability: 0.3
256
- }) ? faker2.internet.url() : void 0,
257
- description: faker2.lorem.sentences()
230
+ }) ? random2.internet.url() : void 0,
231
+ description: random2.lorem.sentences()
258
232
  }),
259
- ["example.com/type/Contact"]: async (provider) => {
260
- const organizations = await provider?.("example.com/type/Organization");
261
- const location = faker2.datatype.boolean() ? faker2.geo.airport() : {};
233
+ ["com.example.type.person"]: async (provider) => {
234
+ const organizations = await provider?.("com.example.type.organization");
235
+ const location = random2.datatype.boolean() ? random2.geo.airport() : {};
262
236
  return {
263
- name: faker2.person.fullName(),
264
- email: faker2.datatype.boolean({
237
+ name: random2.person.fullName(),
238
+ email: random2.datatype.boolean({
265
239
  probability: 0.5
266
- }) ? faker2.internet.email() : void 0,
267
- org: organizations?.length && faker2.datatype.boolean({
240
+ }) ? random2.internet.email() : void 0,
241
+ org: organizations?.length && random2.datatype.boolean({
268
242
  probability: 0.8
269
- }) ? Ref.make(faker2.helpers.arrayElement(organizations)) : void 0,
243
+ }) ? Ref.make(random2.helpers.arrayElement(organizations)) : void 0,
270
244
  ...location
271
245
  };
272
246
  },
273
- ["example.com/type/Project"]: async () => ({
274
- name: faker2.commerce.productName(),
275
- repo: faker2.internet.url(),
276
- status: faker2.helpers.arrayElement(Status),
277
- description: faker2.lorem.sentences(),
278
- website: faker2.internet.url(),
279
- priority: faker2.helpers.arrayElement(Priority),
280
- active: faker2.datatype.boolean()
247
+ ["com.example.type.project"]: async () => ({
248
+ name: random2.commerce.productName(),
249
+ repo: random2.internet.url(),
250
+ status: random2.helpers.arrayElement(Status),
251
+ description: random2.lorem.sentences(),
252
+ website: random2.internet.url(),
253
+ priority: random2.helpers.arrayElement(Priority),
254
+ active: random2.datatype.boolean()
281
255
  })
282
256
  };
283
257
  var testObjectMutators = {
284
- ["example.com/type/Document"]: async (object, params) => {
258
+ ["com.example.type.document"]: async (object, params) => {
285
259
  const accessor = createDocAccessor(object, [
286
260
  "content"
287
261
  ]);
@@ -292,13 +266,13 @@ var testObjectMutators = {
292
266
  });
293
267
  }
294
268
  },
295
- ["example.com/type/Organization"]: async () => {
269
+ ["com.example.type.organization"]: async () => {
296
270
  throw new Error("Method not implemented.");
297
271
  },
298
- ["example.com/type/Contact"]: async () => {
272
+ ["com.example.type.person"]: async () => {
299
273
  throw new Error("Method not implemented.");
300
274
  },
301
- ["example.com/type/Project"]: async () => {
275
+ ["com.example.type.project"]: async () => {
302
276
  throw new Error("Method not implemented.");
303
277
  }
304
278
  };
@@ -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![type](object, params);\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": "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",
6
+ "names": ["next", "A", "Schema", "Ref", "Type", "createDocAccessor", "random", "Filter", "Obj", "EchoSchema", "getTypeAnnotation", "isProxy", "invariant", "random", "entries", "range", "_generators", "_provider", "schemas", "getSchema", "type", "setSchema", "schema", "createObject", "types", "data", "count", "results", "tasks", "t", "Promise", "objects", "_space", "query", "_mutations", "addSchemas", "typename", "echoSchema", "result", "_maybeRegisterSchema", "existingSchema", "internal", "registeredSchema", "object", "params", "mutateObjects", "mutateObject", "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":16516,"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":1484,"imports":[],"format":"esm"},"src/data.ts":{"bytes":19564,"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":577,"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":18270},"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":4240},"src/util.ts":{"bytesInOutput":299},"src/index.ts":{"bytesInOutput":0}},"bytes":9681}}}
@@ -6,10 +6,10 @@ export declare const Priority: number[];
6
6
  * @deprecated
7
7
  */
8
8
  export declare enum TestSchemaType {
9
- document = "example.com/type/Document",
10
- organization = "example.com/type/Organization",
11
- contact = "example.com/type/Contact",
12
- project = "example.com/type/Project"
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,EAAqB,MAAM,mBAAmB,CAAC;AAIlE,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,6BAA6B;IACpC,OAAO,6BAA6B;CACrC;AA6GD;;GAEG;AACH,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G;;GAEG;AACH,eAAO,MAAM,0BAA0B,GAAI,OAAO,KAAK,yCACmC,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,UAAW,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 { EchoSchema } from '@dxos/echo/internal';
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 MutationsProviderParams, type TestGeneratorMap, type TestMutationsMap, type TestObjectProvider, type TestSchemaMap } from './types';
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(): (EchoSchema | Schema.Schema.AnyNoContext)[];
18
- getSchema(type: T): EchoSchema | Schema.Schema.AnyNoContext | undefined;
19
- protected setSchema(type: T, schema: EchoSchema | Schema.Schema.AnyNoContext): void;
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<Live<any>>;
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 | EchoSchema<any, any>)[]>;
29
+ addSchemas(): Promise<(import("effect/Schema").Schema.AnyNoContext & {
30
+ readonly typename: string;
31
+ readonly version: string;
32
+ })[]>;
33
33
  createObject({ types }?: {
34
34
  types?: T[];
35
- }): Promise<AnyLiveObject<any>>;
35
+ }): Promise<Obj.Any>;
36
36
  private _maybeRegisterSchema;
37
- mutateObject(object: AnyLiveObject<any>, params: MutationsProviderParams): Promise<void>;
38
- mutateObjects(objects: AnyLiveObject<any>[], params: MutationsProviderParams): Promise<void>;
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,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAgC,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,KAAK,IAAI,EAAsB,MAAM,mBAAmB,CAAC;AAIlE,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,KAAK,uBAAuB,EAC5B,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;IAG9D,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;IAGpD,IAAI,OAAO,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAEzD;IAED,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,SAAS;IAIvE,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI;IAI7E,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAYjE,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,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;YAI3E,oBAAoB;IAqB5B,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxF,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAKnG"}
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;IAH3B,YACmB,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC,EAC5B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,EAAE,kBAAkB,CAAC,CAAC,CAAC,YAAA,EAC/C;IAEH,IAAI,OAAO,IAAI,IAAI,CAAC,MAAM,EAAE,CAE3B;IAED,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,SAAS,CAE1C;IAED,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAEtD;IAEK,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAUhE;IAGK,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,kBAalD;CACF;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;IAJ9B,YACmB,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,EAOlD;IAEK,UAAU;;;UASf;IAEc,YAAY,CAAC,EAC1B,KAAK,EACN,GAAE;QACD,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;KACR,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAExB;YAEa,oBAAoB;IAkB5B,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjF;IAEK,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAIrF;CACF"}
@@ -1,18 +1,15 @@
1
- import type * as Schema from 'effect/Schema';
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, EchoSchema | Schema.Schema.AnyNoContext>;
9
- export type TestObjectProvider<T extends string = string> = (type: T) => Promise<Live<any>[]>;
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 MutationsProviderParams = {
9
+ export type MutationsProviderProps = {
13
10
  count: number;
14
11
  mutationSize: number;
15
12
  maxContentLength: number;
16
13
  };
17
- export type TestObjectMutators = (object: AnyLiveObject<any>, params: MutationsProviderParams) => Promise<void>;
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,KAAK,KAAK,MAAM,MAAM,eAAe,CAAC;AAE7C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAG9C,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,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAE1G,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAE9F,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,uBAAuB,GAAG;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
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"}
@@ -1 +1 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,WASxC,CAAC"}
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/util.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,UAAU,WAAY,MAAM,WASxC,CAAC"}