@dxos/echo-generator 0.3.5-main.927500d → 0.3.5-main.94a28b0

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.
@@ -51,6 +51,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
51
51
  }
52
52
  addSchemas() {
53
53
  this.schemas.forEach((schema) => this._space.db.add(schema));
54
+ return this.schemas;
54
55
  }
55
56
  createObject({ types } = {}) {
56
57
  return this._space.db.add(super.createObject({
@@ -86,6 +87,7 @@ var testSchemas = () => {
86
87
  ]
87
88
  });
88
89
  const organization = new Schema({
90
+ typename: "dxos.org/schema/organization",
89
91
  props: [
90
92
  // TODO(burdon): Add metadata for default label.
91
93
  {
@@ -103,6 +105,7 @@ var testSchemas = () => {
103
105
  ]
104
106
  });
105
107
  const person = new Schema({
108
+ typename: "dxos.org/schema/person",
106
109
  props: [
107
110
  {
108
111
  id: "name",
@@ -116,10 +119,20 @@ var testSchemas = () => {
116
119
  id: "org",
117
120
  type: Schema.PropType.REF,
118
121
  ref: organization
122
+ },
123
+ // TODO(burdon): Convert to object.
124
+ {
125
+ id: "lat",
126
+ type: Schema.PropType.NUMBER
127
+ },
128
+ {
129
+ id: "lng",
130
+ type: Schema.PropType.NUMBER
119
131
  }
120
132
  ]
121
133
  });
122
134
  const project = new Schema({
135
+ typename: "dxos.org/schema/project",
123
136
  props: [
124
137
  {
125
138
  id: "title",
@@ -166,6 +179,7 @@ var testObjectGenerators = {
166
179
  }),
167
180
  person: (provider) => {
168
181
  const organizations = provider?.("organization");
182
+ const location = faker2.datatype.boolean() ? faker2.helpers.arrayElement(locations) : void 0;
169
183
  return {
170
184
  name: faker2.person.fullName(),
171
185
  email: faker2.datatype.boolean({
@@ -173,7 +187,8 @@ var testObjectGenerators = {
173
187
  }) ? faker2.internet.email() : void 0,
174
188
  org: organizations?.length && faker2.datatype.boolean({
175
189
  probability: 0.3
176
- }) ? faker2.helpers.arrayElement(organizations) : void 0
190
+ }) ? faker2.helpers.arrayElement(organizations) : void 0,
191
+ ...location
177
192
  };
178
193
  },
179
194
  project: () => ({
@@ -187,6 +202,408 @@ var testObjectGenerators = {
187
202
  };
188
203
  var createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);
189
204
  var createSpaceObjectGenerator = (space) => new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);
205
+ var locations = [
206
+ {
207
+ lat: 139.74946157054467,
208
+ lng: 35.686962764371174
209
+ },
210
+ {
211
+ lat: -73.98196278740681,
212
+ lng: 40.75192492259464
213
+ },
214
+ {
215
+ lat: -99.1329340602939,
216
+ lng: 19.444388301415472
217
+ },
218
+ {
219
+ lat: 72.85504343876647,
220
+ lng: 19.0189362343566
221
+ },
222
+ {
223
+ lat: -46.62696583905523,
224
+ lng: -23.55673372837896
225
+ },
226
+ {
227
+ lat: 77.22805816860182,
228
+ lng: 28.671938757181522
229
+ },
230
+ {
231
+ lat: 121.43455881982015,
232
+ lng: 31.218398311228327
233
+ },
234
+ {
235
+ lat: 88.32272979950551,
236
+ lng: 22.49691515689642
237
+ },
238
+ {
239
+ lat: 90.40663360810754,
240
+ lng: 23.725005570312817
241
+ },
242
+ {
243
+ lat: -58.399477232331435,
244
+ lng: -34.600555749907414
245
+ },
246
+ {
247
+ lat: -118.18192636994041,
248
+ lng: 33.99192410876543
249
+ },
250
+ {
251
+ lat: 66.98806305137339,
252
+ lng: 24.87193814681484
253
+ },
254
+ {
255
+ lat: 31.248022361126118,
256
+ lng: 30.051906205103705
257
+ },
258
+ {
259
+ lat: -43.22696665284366,
260
+ lng: -22.923077315615956
261
+ },
262
+ {
263
+ lat: 135.4581989565952,
264
+ lng: 34.75198107491417
265
+ },
266
+ {
267
+ lat: 116.38633982565943,
268
+ lng: 39.93083808990906
269
+ },
270
+ {
271
+ lat: 120.9802713035424,
272
+ lng: 14.606104813440538
273
+ },
274
+ {
275
+ lat: 37.6135769672714,
276
+ lng: 55.75410998124818
277
+ },
278
+ {
279
+ lat: 29.008055727002613,
280
+ lng: 41.10694201243979
281
+ },
282
+ {
283
+ lat: 2.33138946713035,
284
+ lng: 48.86863878981461
285
+ },
286
+ {
287
+ lat: 126.99778513820195,
288
+ lng: 37.56829495838895
289
+ },
290
+ {
291
+ lat: 3.3895852125984334,
292
+ lng: 6.445207512093191
293
+ },
294
+ {
295
+ lat: 106.82749176247012,
296
+ lng: -6.172471846798885
297
+ },
298
+ {
299
+ lat: -87.75200083270931,
300
+ lng: 41.83193651927843
301
+ },
302
+ {
303
+ lat: 113.32306427226172,
304
+ lng: 23.14692716047989
305
+ },
306
+ {
307
+ lat: -0.11866770247593195,
308
+ lng: 51.5019405883275
309
+ },
310
+ {
311
+ lat: -77.05200795343472,
312
+ lng: -12.04606681752557
313
+ },
314
+ {
315
+ lat: 51.42239817500899,
316
+ lng: 35.673888627001304
317
+ },
318
+ {
319
+ lat: 15.313026023171744,
320
+ lng: -4.327778243275986
321
+ },
322
+ {
323
+ lat: -74.08528981377441,
324
+ lng: 4.598369421147822
325
+ },
326
+ {
327
+ lat: 114.1201772298325,
328
+ lng: 22.554316369677963
329
+ },
330
+ {
331
+ lat: 114.26807118958311,
332
+ lng: 30.581977209337822
333
+ },
334
+ {
335
+ lat: 114.18306345846304,
336
+ lng: 22.30692675357551
337
+ },
338
+ {
339
+ lat: 117.19807322410043,
340
+ lng: 39.13197212310894
341
+ },
342
+ {
343
+ lat: 80.27805287890033,
344
+ lng: 13.091933670856292
345
+ },
346
+ {
347
+ lat: 121.568333333333,
348
+ lng: 25.0358333333333
349
+ },
350
+ {
351
+ lat: 77.55806386521755,
352
+ lng: 12.97194099507442
353
+ },
354
+ {
355
+ lat: 100.51469879369489,
356
+ lng: 13.751945064087977
357
+ },
358
+ {
359
+ lat: 74.34807892054346,
360
+ lng: 31.56191739488844
361
+ },
362
+ {
363
+ lat: 106.59303578916195,
364
+ lng: 29.566922888044644
365
+ },
366
+ {
367
+ lat: 78.47800771287751,
368
+ lng: 17.401928991511454
369
+ },
370
+ {
371
+ lat: -70.66898671317483,
372
+ lng: -33.448067956934096
373
+ },
374
+ {
375
+ lat: -80.22605193945003,
376
+ lng: 25.789556555021534
377
+ },
378
+ {
379
+ lat: -43.916950376804834,
380
+ lng: -19.91308016391116
381
+ },
382
+ {
383
+ lat: -3.6852975446125242,
384
+ lng: 40.40197212311381
385
+ },
386
+ {
387
+ lat: -75.17194183200792,
388
+ lng: 40.001919022526465
389
+ },
390
+ {
391
+ lat: 72.57805776168215,
392
+ lng: 23.031998775062675
393
+ },
394
+ {
395
+ lat: 106.69308136207889,
396
+ lng: 10.781971309193409
397
+ },
398
+ {
399
+ lat: -79.42196665298843,
400
+ lng: 43.70192573640844
401
+ },
402
+ {
403
+ lat: 103.85387481909902,
404
+ lng: 1.2949793251059418
405
+ },
406
+ {
407
+ lat: 13.23248118266855,
408
+ lng: -8.836340255012658
409
+ },
410
+ {
411
+ lat: 44.391922914564134,
412
+ lng: 33.34059435615865
413
+ },
414
+ {
415
+ lat: 2.181424460619155,
416
+ lng: 41.385245438547486
417
+ },
418
+ {
419
+ lat: 88.32994665421205,
420
+ lng: 22.580390440861947
421
+ },
422
+ {
423
+ lat: -96.84196278749818,
424
+ lng: 32.82196968167733
425
+ },
426
+ {
427
+ lat: 123.44802765120869,
428
+ lng: 41.80692512604918
429
+ },
430
+ {
431
+ lat: 32.532233380011576,
432
+ lng: 15.590024084277673
433
+ },
434
+ {
435
+ lat: 73.84805776168719,
436
+ lng: 18.531963374654026
437
+ },
438
+ {
439
+ lat: 151.1832339501475,
440
+ lng: -33.91806510862875
441
+ },
442
+ {
443
+ lat: 30.314074200315076,
444
+ lng: 59.94096036375191
445
+ },
446
+ {
447
+ lat: 91.79802154756635,
448
+ lng: 22.33193814680459
449
+ },
450
+ {
451
+ lat: 113.74277634138707,
452
+ lng: 23.050834758613007
453
+ },
454
+ {
455
+ lat: -84.40189524187565,
456
+ lng: 33.83195971260585
457
+ },
458
+ {
459
+ lat: -71.07195953218684,
460
+ lng: 42.33190600170229
461
+ },
462
+ {
463
+ lat: 46.770795798688255,
464
+ lng: 24.642779007816443
465
+ },
466
+ {
467
+ lat: -95.341925149146,
468
+ lng: 29.821920243188856
469
+ },
470
+ {
471
+ lat: 105.8480683412422,
472
+ lng: 21.035273107737055
473
+ },
474
+ {
475
+ lat: -77.01136443943716,
476
+ lng: 38.901495235087054
477
+ },
478
+ {
479
+ lat: -103.33198008081848,
480
+ lng: 20.671961950508944
481
+ },
482
+ {
483
+ lat: 144.97307037590406,
484
+ lng: -37.81808545369631
485
+ },
486
+ {
487
+ lat: 29.948050030391755,
488
+ lng: 31.201965205759393
489
+ },
490
+ {
491
+ lat: 104.06807363094873,
492
+ lng: 30.671945877957796
493
+ },
494
+ {
495
+ lat: -83.0820016464927,
496
+ lng: 42.33190600170229
497
+ },
498
+ {
499
+ lat: 96.16473175266185,
500
+ lng: 16.785299963188777
501
+ },
502
+ {
503
+ lat: 108.89305043760862,
504
+ lng: 34.27697130928732
505
+ },
506
+ {
507
+ lat: -51.20195790450316,
508
+ lng: -30.048068770722466
509
+ },
510
+ {
511
+ lat: 121.465,
512
+ lng: 25.0127777777778
513
+ },
514
+ {
515
+ lat: 72.83809356897484,
516
+ lng: 21.20192960187819
517
+ },
518
+ {
519
+ lat: 109.60911291406296,
520
+ lng: 23.09653464659317
521
+ },
522
+ {
523
+ lat: -4.041994118507091,
524
+ lng: 5.321942826098564
525
+ },
526
+ {
527
+ lat: -47.91799814700306,
528
+ lng: -15.781394372878992
529
+ },
530
+ {
531
+ lat: 32.862445782356644,
532
+ lng: 39.929184444075474
533
+ },
534
+ {
535
+ lat: -100.33193064232995,
536
+ lng: 25.671940995125283
537
+ },
538
+ {
539
+ lat: 139.60202098994017,
540
+ lng: 35.43065615270891
541
+ },
542
+ {
543
+ lat: 118.77802846499208,
544
+ lng: 32.05196500231233
545
+ },
546
+ {
547
+ lat: -73.58524281670213,
548
+ lng: 45.50194506421502
549
+ },
550
+ {
551
+ lat: 106.7180927553083,
552
+ lng: 26.581988806001448
553
+ },
554
+ {
555
+ lat: -34.91755136960728,
556
+ lng: -8.073699467249241
557
+ },
558
+ {
559
+ lat: 126.64803904445057,
560
+ lng: 45.75192980542715
561
+ },
562
+ {
563
+ lat: -38.58192718342411,
564
+ lng: -3.7480720258257634
565
+ },
566
+ {
567
+ lat: -112.07193755969467,
568
+ lng: 33.5419257363676
569
+ },
570
+ {
571
+ lat: 117.67001623440774,
572
+ lng: 24.520375385531167
573
+ },
574
+ {
575
+ lat: -38.48193328693924,
576
+ lng: -12.968026046044827
577
+ },
578
+ {
579
+ lat: 129.00810170722048,
580
+ lng: 35.09699877511093
581
+ },
582
+ {
583
+ lat: -122.41716877355225,
584
+ lng: 37.76919562968743
585
+ },
586
+ {
587
+ lat: 28.028063865019476,
588
+ lng: -26.16809888138414
589
+ },
590
+ {
591
+ lat: 13.399602764700546,
592
+ lng: 52.523764522251156
593
+ },
594
+ {
595
+ lat: 3.048606670909237,
596
+ lng: 36.765010656628135
597
+ },
598
+ {
599
+ lat: 12.481312562873995,
600
+ lng: 41.89790148509894
601
+ },
602
+ {
603
+ lat: 125.75274485499392,
604
+ lng: 39.02138455800434
605
+ }
606
+ ];
190
607
  export {
191
608
  Priority,
192
609
  SpaceObjectGenerator,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/data.ts", "../../../src/generator.ts", "../../../src/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Schema, type Space, TextObject } from '@dxos/client/echo';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport type TestSchemaType = 'document' | 'organization' | 'person' | 'project';\n\nexport const testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'content',\n type: Schema.PropType.STRING, // TODO(burdon): Rich text.\n },\n ],\n });\n\n const organization = new Schema({\n props: [\n // TODO(burdon): Add metadata for default label.\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n },\n {\n id: 'active',\n type: Schema.PropType.BOOLEAN,\n },\n ],\n });\n\n const person = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'email',\n type: Schema.PropType.STRING,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n ],\n });\n\n const project = new Schema({\n props: [\n {\n id: 'title',\n type: Schema.PropType.STRING,\n },\n {\n id: 'repo',\n type: Schema.PropType.STRING,\n },\n {\n id: 'status',\n type: Schema.PropType.STRING,\n },\n {\n id: 'priority',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n return { document, organization, person, project };\n};\n\nexport const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n document: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n organization: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: new TextObject(faker.lorem.sentences()),\n }),\n\n person: (provider) => {\n const organizations = provider?.('organization');\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n };\n },\n\n project: () => ({\n title: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Expando, type Schema, type Space } from '@dxos/client/echo';\n\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string> {\n // prettier-ignore\n constructor(\n public readonly schema: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): Schema[] {\n return Object.values(this.schema);\n }\n\n createObject({ types }: { types?: T[] } = {}): Expando {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));\n const factory = this._generators[type];\n const data = factory(this._provider);\n return new Expando(data, { schema: this.schema[type] });\n }\n\n // TODO(burdon): Create batch.\n createObjects({ types, count }: { types?: T[]; count: number }): Expando[] {\n return range(() => this.createObject({ types }), count);\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(private readonly _space: Space, schema: TestSchemaMap<T>, generators: TestGeneratorMap<T>) {\n super(schema, generators, (type: T) => {\n // TODO(burdon): Query by schema.\n const { objects } = this._space.db.query((object) => {\n return object.__schema === schema[type];\n });\n\n return objects;\n });\n }\n\n addSchemas() {\n this.schemas.forEach((schema) => this._space.db.add(schema));\n }\n\n override createObject({ types }: { types?: T[] } = {}): Expando {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
- "mappings": "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",
6
- "names": ["faker", "Schema", "TextObject", "faker", "Expando", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "schema", "_generators", "_provider", "schemas", "Object", "values", "createObject", "types", "type", "faker", "helpers", "arrayElement", "keys", "factory", "data", "Expando", "createObjects", "count", "range", "SpaceObjectGenerator", "_space", "generators", "objects", "db", "query", "object", "__schema", "addSchemas", "forEach", "add", "Status", "Priority", "testSchemas", "document", "Schema", "props", "id", "type", "PropType", "STRING", "organization", "BOOLEAN", "person", "REF", "ref", "project", "NUMBER", "testObjectGenerators", "title", "faker", "lorem", "sentence", "content", "sentences", "min", "max", "number", "int", "name", "company", "website", "datatype", "boolean", "probability", "internet", "url", "undefined", "description", "TextObject", "provider", "organizations", "fullName", "email", "org", "length", "helpers", "arrayElement", "commerce", "productName", "repo", "status", "priority", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Schema, type Space, TextObject } from '@dxos/client/echo';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport type TestSchemaType = 'document' | 'organization' | 'person' | 'project';\n\nexport const testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'content',\n type: Schema.PropType.STRING, // TODO(burdon): Rich text.\n },\n ],\n });\n\n const organization = new Schema({\n typename: 'dxos.org/schema/organization',\n props: [\n // TODO(burdon): Add metadata for default label.\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n },\n {\n id: 'active',\n type: Schema.PropType.BOOLEAN,\n },\n ],\n });\n\n const person = new Schema({\n typename: 'dxos.org/schema/person',\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'email',\n type: Schema.PropType.STRING,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n // TODO(burdon): Convert to object.\n {\n id: 'lat',\n type: Schema.PropType.NUMBER,\n },\n {\n id: 'lng',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n const project = new Schema({\n typename: 'dxos.org/schema/project',\n props: [\n {\n id: 'title',\n type: Schema.PropType.STRING,\n },\n {\n id: 'repo',\n type: Schema.PropType.STRING,\n },\n {\n id: 'status',\n type: Schema.PropType.STRING,\n },\n {\n id: 'priority',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n return { document, organization, person, project };\n};\n\nexport const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n document: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n organization: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: new TextObject(faker.lorem.sentences()),\n }),\n\n person: (provider) => {\n const organizations = provider?.('organization');\n const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n ...location,\n };\n },\n\n project: () => ({\n title: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n\nconst locations = [\n { lat: 139.74946157054467, lng: 35.686962764371174 },\n { lat: -73.98196278740681, lng: 40.75192492259464 },\n { lat: -99.1329340602939, lng: 19.444388301415472 },\n { lat: 72.85504343876647, lng: 19.0189362343566 },\n { lat: -46.62696583905523, lng: -23.55673372837896 },\n { lat: 77.22805816860182, lng: 28.671938757181522 },\n { lat: 121.43455881982015, lng: 31.218398311228327 },\n { lat: 88.32272979950551, lng: 22.49691515689642 },\n { lat: 90.40663360810754, lng: 23.725005570312817 },\n { lat: -58.399477232331435, lng: -34.600555749907414 },\n { lat: -118.18192636994041, lng: 33.99192410876543 },\n { lat: 66.98806305137339, lng: 24.87193814681484 },\n { lat: 31.248022361126118, lng: 30.051906205103705 },\n { lat: -43.22696665284366, lng: -22.923077315615956 },\n { lat: 135.4581989565952, lng: 34.75198107491417 },\n { lat: 116.38633982565943, lng: 39.93083808990906 },\n { lat: 120.9802713035424, lng: 14.606104813440538 },\n { lat: 37.6135769672714, lng: 55.75410998124818 },\n { lat: 29.008055727002613, lng: 41.10694201243979 },\n { lat: 2.33138946713035, lng: 48.86863878981461 },\n { lat: 126.99778513820195, lng: 37.56829495838895 },\n { lat: 3.3895852125984334, lng: 6.445207512093191 },\n { lat: 106.82749176247012, lng: -6.172471846798885 },\n { lat: -87.75200083270931, lng: 41.83193651927843 },\n { lat: 113.32306427226172, lng: 23.14692716047989 },\n { lat: -0.11866770247593195, lng: 51.5019405883275 },\n { lat: -77.05200795343472, lng: -12.04606681752557 },\n { lat: 51.42239817500899, lng: 35.673888627001304 },\n { lat: 15.313026023171744, lng: -4.327778243275986 },\n { lat: -74.08528981377441, lng: 4.598369421147822 },\n { lat: 114.1201772298325, lng: 22.554316369677963 },\n { lat: 114.26807118958311, lng: 30.581977209337822 },\n { lat: 114.18306345846304, lng: 22.30692675357551 },\n { lat: 117.19807322410043, lng: 39.13197212310894 },\n { lat: 80.27805287890033, lng: 13.091933670856292 },\n { lat: 121.568333333333, lng: 25.0358333333333 },\n { lat: 77.55806386521755, lng: 12.97194099507442 },\n { lat: 100.51469879369489, lng: 13.751945064087977 },\n { lat: 74.34807892054346, lng: 31.56191739488844 },\n { lat: 106.59303578916195, lng: 29.566922888044644 },\n { lat: 78.47800771287751, lng: 17.401928991511454 },\n { lat: -70.66898671317483, lng: -33.448067956934096 },\n { lat: -80.22605193945003, lng: 25.789556555021534 },\n { lat: -43.916950376804834, lng: -19.91308016391116 },\n { lat: -3.6852975446125242, lng: 40.40197212311381 },\n { lat: -75.17194183200792, lng: 40.001919022526465 },\n { lat: 72.57805776168215, lng: 23.031998775062675 },\n { lat: 106.69308136207889, lng: 10.781971309193409 },\n { lat: -79.42196665298843, lng: 43.70192573640844 },\n { lat: 103.85387481909902, lng: 1.2949793251059418 },\n { lat: 13.23248118266855, lng: -8.836340255012658 },\n { lat: 44.391922914564134, lng: 33.34059435615865 },\n { lat: 2.181424460619155, lng: 41.385245438547486 },\n { lat: 88.32994665421205, lng: 22.580390440861947 },\n { lat: -96.84196278749818, lng: 32.82196968167733 },\n { lat: 123.44802765120869, lng: 41.80692512604918 },\n { lat: 32.532233380011576, lng: 15.590024084277673 },\n { lat: 73.84805776168719, lng: 18.531963374654026 },\n { lat: 151.1832339501475, lng: -33.91806510862875 },\n { lat: 30.314074200315076, lng: 59.94096036375191 },\n { lat: 91.79802154756635, lng: 22.33193814680459 },\n { lat: 113.74277634138707, lng: 23.050834758613007 },\n { lat: -84.40189524187565, lng: 33.83195971260585 },\n { lat: -71.07195953218684, lng: 42.33190600170229 },\n { lat: 46.770795798688255, lng: 24.642779007816443 },\n { lat: -95.341925149146, lng: 29.821920243188856 },\n { lat: 105.8480683412422, lng: 21.035273107737055 },\n { lat: -77.01136443943716, lng: 38.901495235087054 },\n { lat: -103.33198008081848, lng: 20.671961950508944 },\n { lat: 144.97307037590406, lng: -37.81808545369631 },\n { lat: 29.948050030391755, lng: 31.201965205759393 },\n { lat: 104.06807363094873, lng: 30.671945877957796 },\n { lat: -83.0820016464927, lng: 42.33190600170229 },\n { lat: 96.16473175266185, lng: 16.785299963188777 },\n { lat: 108.89305043760862, lng: 34.27697130928732 },\n { lat: -51.20195790450316, lng: -30.048068770722466 },\n { lat: 121.465, lng: 25.0127777777778 },\n { lat: 72.83809356897484, lng: 21.20192960187819 },\n { lat: 109.60911291406296, lng: 23.09653464659317 },\n { lat: -4.041994118507091, lng: 5.321942826098564 },\n { lat: -47.91799814700306, lng: -15.781394372878992 },\n { lat: 32.862445782356644, lng: 39.929184444075474 },\n { lat: -100.33193064232995, lng: 25.671940995125283 },\n { lat: 139.60202098994017, lng: 35.43065615270891 },\n { lat: 118.77802846499208, lng: 32.05196500231233 },\n { lat: -73.58524281670213, lng: 45.50194506421502 },\n { lat: 106.7180927553083, lng: 26.581988806001448 },\n { lat: -34.91755136960728, lng: -8.073699467249241 },\n { lat: 126.64803904445057, lng: 45.75192980542715 },\n { lat: -38.58192718342411, lng: -3.7480720258257634 },\n { lat: -112.07193755969467, lng: 33.5419257363676 },\n { lat: 117.67001623440774, lng: 24.520375385531167 },\n { lat: -38.48193328693924, lng: -12.968026046044827 },\n { lat: 129.00810170722048, lng: 35.09699877511093 },\n { lat: -122.41716877355225, lng: 37.76919562968743 },\n { lat: 28.028063865019476, lng: -26.16809888138414 },\n { lat: 13.399602764700546, lng: 52.523764522251156 },\n { lat: 3.048606670909237, lng: 36.765010656628135 },\n { lat: 12.481312562873995, lng: 41.89790148509894 },\n { lat: 125.75274485499392, lng: 39.02138455800434 },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Expando, type Schema, type Space } from '@dxos/client/echo';\n\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string> {\n // prettier-ignore\n constructor(\n public readonly schema: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): Schema[] {\n return Object.values(this.schema);\n }\n\n createObject({ types }: { types?: T[] } = {}): Expando {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));\n const factory = this._generators[type];\n const data = factory(this._provider);\n // TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).\n return new Expando(data, { schema: this.schema[type] });\n }\n\n // TODO(burdon): Create batch.\n createObjects({ types, count }: { types?: T[]; count: number }): Expando[] {\n return range(() => this.createObject({ types }), count);\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(private readonly _space: Space, schema: TestSchemaMap<T>, generators: TestGeneratorMap<T>) {\n super(schema, generators, (type: T) => {\n // TODO(burdon): Query by schema.\n const { objects } = this._space.db.query((object) => {\n return object.__schema === schema[type];\n });\n\n return objects;\n });\n }\n\n addSchemas() {\n this.schemas.forEach((schema) => this._space.db.add(schema));\n return this.schemas;\n }\n\n override createObject({ types }: { types?: T[] } = {}): Expando {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
+ "mappings": "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",
6
+ "names": ["faker", "Schema", "TextObject", "faker", "Expando", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "schema", "_generators", "_provider", "schemas", "Object", "values", "createObject", "types", "type", "faker", "helpers", "arrayElement", "keys", "factory", "data", "Expando", "createObjects", "count", "range", "SpaceObjectGenerator", "_space", "generators", "objects", "db", "query", "object", "__schema", "addSchemas", "forEach", "add", "Status", "Priority", "testSchemas", "document", "Schema", "props", "id", "type", "PropType", "STRING", "organization", "typename", "BOOLEAN", "person", "REF", "ref", "NUMBER", "project", "testObjectGenerators", "title", "faker", "lorem", "sentence", "content", "sentences", "min", "max", "number", "int", "name", "company", "website", "datatype", "boolean", "probability", "internet", "url", "undefined", "description", "TextObject", "provider", "organizations", "location", "helpers", "arrayElement", "locations", "fullName", "email", "org", "length", "commerce", "productName", "repo", "status", "priority", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator", "lat", "lng"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":7133,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":12999,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":634,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10350},"packages/core/echo/echo-generator/dist/lib/browser/index.mjs":{"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["Priority","SpaceObjectGenerator","Status","TestObjectGenerator","createSpaceObjectGenerator","createTestObjectGenerator","range","testObjectGenerators","testSchemas"],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":2847},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":1297},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":4750}}}
1
+ {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":7469,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":34831,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":634,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20365},"packages/core/echo/echo-generator/dist/lib/browser/index.mjs":{"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true}],"exports":["Priority","SpaceObjectGenerator","Status","TestObjectGenerator","createSpaceObjectGenerator","createTestObjectGenerator","range","testObjectGenerators","testSchemas"],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":9820},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":1322},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91},"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":0}},"bytes":11748}}}
@@ -83,6 +83,7 @@ var SpaceObjectGenerator = class extends TestObjectGenerator {
83
83
  }
84
84
  addSchemas() {
85
85
  this.schemas.forEach((schema) => this._space.db.add(schema));
86
+ return this.schemas;
86
87
  }
87
88
  createObject({ types } = {}) {
88
89
  return this._space.db.add(super.createObject({
@@ -118,6 +119,7 @@ var testSchemas = () => {
118
119
  ]
119
120
  });
120
121
  const organization = new import_echo2.Schema({
122
+ typename: "dxos.org/schema/organization",
121
123
  props: [
122
124
  // TODO(burdon): Add metadata for default label.
123
125
  {
@@ -135,6 +137,7 @@ var testSchemas = () => {
135
137
  ]
136
138
  });
137
139
  const person = new import_echo2.Schema({
140
+ typename: "dxos.org/schema/person",
138
141
  props: [
139
142
  {
140
143
  id: "name",
@@ -148,10 +151,20 @@ var testSchemas = () => {
148
151
  id: "org",
149
152
  type: import_echo2.Schema.PropType.REF,
150
153
  ref: organization
154
+ },
155
+ // TODO(burdon): Convert to object.
156
+ {
157
+ id: "lat",
158
+ type: import_echo2.Schema.PropType.NUMBER
159
+ },
160
+ {
161
+ id: "lng",
162
+ type: import_echo2.Schema.PropType.NUMBER
151
163
  }
152
164
  ]
153
165
  });
154
166
  const project = new import_echo2.Schema({
167
+ typename: "dxos.org/schema/project",
155
168
  props: [
156
169
  {
157
170
  id: "title",
@@ -198,6 +211,7 @@ var testObjectGenerators = {
198
211
  }),
199
212
  person: (provider) => {
200
213
  const organizations = provider?.("organization");
214
+ const location = import_faker2.faker.datatype.boolean() ? import_faker2.faker.helpers.arrayElement(locations) : void 0;
201
215
  return {
202
216
  name: import_faker2.faker.person.fullName(),
203
217
  email: import_faker2.faker.datatype.boolean({
@@ -205,7 +219,8 @@ var testObjectGenerators = {
205
219
  }) ? import_faker2.faker.internet.email() : void 0,
206
220
  org: organizations?.length && import_faker2.faker.datatype.boolean({
207
221
  probability: 0.3
208
- }) ? import_faker2.faker.helpers.arrayElement(organizations) : void 0
222
+ }) ? import_faker2.faker.helpers.arrayElement(organizations) : void 0,
223
+ ...location
209
224
  };
210
225
  },
211
226
  project: () => ({
@@ -219,6 +234,408 @@ var testObjectGenerators = {
219
234
  };
220
235
  var createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);
221
236
  var createSpaceObjectGenerator = (space) => new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);
237
+ var locations = [
238
+ {
239
+ lat: 139.74946157054467,
240
+ lng: 35.686962764371174
241
+ },
242
+ {
243
+ lat: -73.98196278740681,
244
+ lng: 40.75192492259464
245
+ },
246
+ {
247
+ lat: -99.1329340602939,
248
+ lng: 19.444388301415472
249
+ },
250
+ {
251
+ lat: 72.85504343876647,
252
+ lng: 19.0189362343566
253
+ },
254
+ {
255
+ lat: -46.62696583905523,
256
+ lng: -23.55673372837896
257
+ },
258
+ {
259
+ lat: 77.22805816860182,
260
+ lng: 28.671938757181522
261
+ },
262
+ {
263
+ lat: 121.43455881982015,
264
+ lng: 31.218398311228327
265
+ },
266
+ {
267
+ lat: 88.32272979950551,
268
+ lng: 22.49691515689642
269
+ },
270
+ {
271
+ lat: 90.40663360810754,
272
+ lng: 23.725005570312817
273
+ },
274
+ {
275
+ lat: -58.399477232331435,
276
+ lng: -34.600555749907414
277
+ },
278
+ {
279
+ lat: -118.18192636994041,
280
+ lng: 33.99192410876543
281
+ },
282
+ {
283
+ lat: 66.98806305137339,
284
+ lng: 24.87193814681484
285
+ },
286
+ {
287
+ lat: 31.248022361126118,
288
+ lng: 30.051906205103705
289
+ },
290
+ {
291
+ lat: -43.22696665284366,
292
+ lng: -22.923077315615956
293
+ },
294
+ {
295
+ lat: 135.4581989565952,
296
+ lng: 34.75198107491417
297
+ },
298
+ {
299
+ lat: 116.38633982565943,
300
+ lng: 39.93083808990906
301
+ },
302
+ {
303
+ lat: 120.9802713035424,
304
+ lng: 14.606104813440538
305
+ },
306
+ {
307
+ lat: 37.6135769672714,
308
+ lng: 55.75410998124818
309
+ },
310
+ {
311
+ lat: 29.008055727002613,
312
+ lng: 41.10694201243979
313
+ },
314
+ {
315
+ lat: 2.33138946713035,
316
+ lng: 48.86863878981461
317
+ },
318
+ {
319
+ lat: 126.99778513820195,
320
+ lng: 37.56829495838895
321
+ },
322
+ {
323
+ lat: 3.3895852125984334,
324
+ lng: 6.445207512093191
325
+ },
326
+ {
327
+ lat: 106.82749176247012,
328
+ lng: -6.172471846798885
329
+ },
330
+ {
331
+ lat: -87.75200083270931,
332
+ lng: 41.83193651927843
333
+ },
334
+ {
335
+ lat: 113.32306427226172,
336
+ lng: 23.14692716047989
337
+ },
338
+ {
339
+ lat: -0.11866770247593195,
340
+ lng: 51.5019405883275
341
+ },
342
+ {
343
+ lat: -77.05200795343472,
344
+ lng: -12.04606681752557
345
+ },
346
+ {
347
+ lat: 51.42239817500899,
348
+ lng: 35.673888627001304
349
+ },
350
+ {
351
+ lat: 15.313026023171744,
352
+ lng: -4.327778243275986
353
+ },
354
+ {
355
+ lat: -74.08528981377441,
356
+ lng: 4.598369421147822
357
+ },
358
+ {
359
+ lat: 114.1201772298325,
360
+ lng: 22.554316369677963
361
+ },
362
+ {
363
+ lat: 114.26807118958311,
364
+ lng: 30.581977209337822
365
+ },
366
+ {
367
+ lat: 114.18306345846304,
368
+ lng: 22.30692675357551
369
+ },
370
+ {
371
+ lat: 117.19807322410043,
372
+ lng: 39.13197212310894
373
+ },
374
+ {
375
+ lat: 80.27805287890033,
376
+ lng: 13.091933670856292
377
+ },
378
+ {
379
+ lat: 121.568333333333,
380
+ lng: 25.0358333333333
381
+ },
382
+ {
383
+ lat: 77.55806386521755,
384
+ lng: 12.97194099507442
385
+ },
386
+ {
387
+ lat: 100.51469879369489,
388
+ lng: 13.751945064087977
389
+ },
390
+ {
391
+ lat: 74.34807892054346,
392
+ lng: 31.56191739488844
393
+ },
394
+ {
395
+ lat: 106.59303578916195,
396
+ lng: 29.566922888044644
397
+ },
398
+ {
399
+ lat: 78.47800771287751,
400
+ lng: 17.401928991511454
401
+ },
402
+ {
403
+ lat: -70.66898671317483,
404
+ lng: -33.448067956934096
405
+ },
406
+ {
407
+ lat: -80.22605193945003,
408
+ lng: 25.789556555021534
409
+ },
410
+ {
411
+ lat: -43.916950376804834,
412
+ lng: -19.91308016391116
413
+ },
414
+ {
415
+ lat: -3.6852975446125242,
416
+ lng: 40.40197212311381
417
+ },
418
+ {
419
+ lat: -75.17194183200792,
420
+ lng: 40.001919022526465
421
+ },
422
+ {
423
+ lat: 72.57805776168215,
424
+ lng: 23.031998775062675
425
+ },
426
+ {
427
+ lat: 106.69308136207889,
428
+ lng: 10.781971309193409
429
+ },
430
+ {
431
+ lat: -79.42196665298843,
432
+ lng: 43.70192573640844
433
+ },
434
+ {
435
+ lat: 103.85387481909902,
436
+ lng: 1.2949793251059418
437
+ },
438
+ {
439
+ lat: 13.23248118266855,
440
+ lng: -8.836340255012658
441
+ },
442
+ {
443
+ lat: 44.391922914564134,
444
+ lng: 33.34059435615865
445
+ },
446
+ {
447
+ lat: 2.181424460619155,
448
+ lng: 41.385245438547486
449
+ },
450
+ {
451
+ lat: 88.32994665421205,
452
+ lng: 22.580390440861947
453
+ },
454
+ {
455
+ lat: -96.84196278749818,
456
+ lng: 32.82196968167733
457
+ },
458
+ {
459
+ lat: 123.44802765120869,
460
+ lng: 41.80692512604918
461
+ },
462
+ {
463
+ lat: 32.532233380011576,
464
+ lng: 15.590024084277673
465
+ },
466
+ {
467
+ lat: 73.84805776168719,
468
+ lng: 18.531963374654026
469
+ },
470
+ {
471
+ lat: 151.1832339501475,
472
+ lng: -33.91806510862875
473
+ },
474
+ {
475
+ lat: 30.314074200315076,
476
+ lng: 59.94096036375191
477
+ },
478
+ {
479
+ lat: 91.79802154756635,
480
+ lng: 22.33193814680459
481
+ },
482
+ {
483
+ lat: 113.74277634138707,
484
+ lng: 23.050834758613007
485
+ },
486
+ {
487
+ lat: -84.40189524187565,
488
+ lng: 33.83195971260585
489
+ },
490
+ {
491
+ lat: -71.07195953218684,
492
+ lng: 42.33190600170229
493
+ },
494
+ {
495
+ lat: 46.770795798688255,
496
+ lng: 24.642779007816443
497
+ },
498
+ {
499
+ lat: -95.341925149146,
500
+ lng: 29.821920243188856
501
+ },
502
+ {
503
+ lat: 105.8480683412422,
504
+ lng: 21.035273107737055
505
+ },
506
+ {
507
+ lat: -77.01136443943716,
508
+ lng: 38.901495235087054
509
+ },
510
+ {
511
+ lat: -103.33198008081848,
512
+ lng: 20.671961950508944
513
+ },
514
+ {
515
+ lat: 144.97307037590406,
516
+ lng: -37.81808545369631
517
+ },
518
+ {
519
+ lat: 29.948050030391755,
520
+ lng: 31.201965205759393
521
+ },
522
+ {
523
+ lat: 104.06807363094873,
524
+ lng: 30.671945877957796
525
+ },
526
+ {
527
+ lat: -83.0820016464927,
528
+ lng: 42.33190600170229
529
+ },
530
+ {
531
+ lat: 96.16473175266185,
532
+ lng: 16.785299963188777
533
+ },
534
+ {
535
+ lat: 108.89305043760862,
536
+ lng: 34.27697130928732
537
+ },
538
+ {
539
+ lat: -51.20195790450316,
540
+ lng: -30.048068770722466
541
+ },
542
+ {
543
+ lat: 121.465,
544
+ lng: 25.0127777777778
545
+ },
546
+ {
547
+ lat: 72.83809356897484,
548
+ lng: 21.20192960187819
549
+ },
550
+ {
551
+ lat: 109.60911291406296,
552
+ lng: 23.09653464659317
553
+ },
554
+ {
555
+ lat: -4.041994118507091,
556
+ lng: 5.321942826098564
557
+ },
558
+ {
559
+ lat: -47.91799814700306,
560
+ lng: -15.781394372878992
561
+ },
562
+ {
563
+ lat: 32.862445782356644,
564
+ lng: 39.929184444075474
565
+ },
566
+ {
567
+ lat: -100.33193064232995,
568
+ lng: 25.671940995125283
569
+ },
570
+ {
571
+ lat: 139.60202098994017,
572
+ lng: 35.43065615270891
573
+ },
574
+ {
575
+ lat: 118.77802846499208,
576
+ lng: 32.05196500231233
577
+ },
578
+ {
579
+ lat: -73.58524281670213,
580
+ lng: 45.50194506421502
581
+ },
582
+ {
583
+ lat: 106.7180927553083,
584
+ lng: 26.581988806001448
585
+ },
586
+ {
587
+ lat: -34.91755136960728,
588
+ lng: -8.073699467249241
589
+ },
590
+ {
591
+ lat: 126.64803904445057,
592
+ lng: 45.75192980542715
593
+ },
594
+ {
595
+ lat: -38.58192718342411,
596
+ lng: -3.7480720258257634
597
+ },
598
+ {
599
+ lat: -112.07193755969467,
600
+ lng: 33.5419257363676
601
+ },
602
+ {
603
+ lat: 117.67001623440774,
604
+ lng: 24.520375385531167
605
+ },
606
+ {
607
+ lat: -38.48193328693924,
608
+ lng: -12.968026046044827
609
+ },
610
+ {
611
+ lat: 129.00810170722048,
612
+ lng: 35.09699877511093
613
+ },
614
+ {
615
+ lat: -122.41716877355225,
616
+ lng: 37.76919562968743
617
+ },
618
+ {
619
+ lat: 28.028063865019476,
620
+ lng: -26.16809888138414
621
+ },
622
+ {
623
+ lat: 13.399602764700546,
624
+ lng: 52.523764522251156
625
+ },
626
+ {
627
+ lat: 3.048606670909237,
628
+ lng: 36.765010656628135
629
+ },
630
+ {
631
+ lat: 12.481312562873995,
632
+ lng: 41.89790148509894
633
+ },
634
+ {
635
+ lat: 125.75274485499392,
636
+ lng: 39.02138455800434
637
+ }
638
+ ];
222
639
  // Annotate the CommonJS export names for ESM import in node:
223
640
  0 && (module.exports = {
224
641
  Priority,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/index.ts", "../../../src/data.ts", "../../../src/generator.ts", "../../../src/util.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from './data';\nexport * from './generator';\nexport * from './util';\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Schema, type Space, TextObject } from '@dxos/client/echo';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport type TestSchemaType = 'document' | 'organization' | 'person' | 'project';\n\nexport const testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'content',\n type: Schema.PropType.STRING, // TODO(burdon): Rich text.\n },\n ],\n });\n\n const organization = new Schema({\n props: [\n // TODO(burdon): Add metadata for default label.\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n },\n {\n id: 'active',\n type: Schema.PropType.BOOLEAN,\n },\n ],\n });\n\n const person = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'email',\n type: Schema.PropType.STRING,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n ],\n });\n\n const project = new Schema({\n props: [\n {\n id: 'title',\n type: Schema.PropType.STRING,\n },\n {\n id: 'repo',\n type: Schema.PropType.STRING,\n },\n {\n id: 'status',\n type: Schema.PropType.STRING,\n },\n {\n id: 'priority',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n return { document, organization, person, project };\n};\n\nexport const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n document: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n organization: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: new TextObject(faker.lorem.sentences()),\n }),\n\n person: (provider) => {\n const organizations = provider?.('organization');\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n };\n },\n\n project: () => ({\n title: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Expando, type Schema, type Space } from '@dxos/client/echo';\n\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string> {\n // prettier-ignore\n constructor(\n public readonly schema: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): Schema[] {\n return Object.values(this.schema);\n }\n\n createObject({ types }: { types?: T[] } = {}): Expando {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));\n const factory = this._generators[type];\n const data = factory(this._provider);\n return new Expando(data, { schema: this.schema[type] });\n }\n\n // TODO(burdon): Create batch.\n createObjects({ types, count }: { types?: T[]; count: number }): Expando[] {\n return range(() => this.createObject({ types }), count);\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(private readonly _space: Space, schema: TestSchemaMap<T>, generators: TestGeneratorMap<T>) {\n super(schema, generators, (type: T) => {\n // TODO(burdon): Query by schema.\n const { objects } = this._space.db.query((object) => {\n return object.__schema === schema[type];\n });\n\n return objects;\n });\n }\n\n addSchemas() {\n this.schemas.forEach((schema) => this._space.db.add(schema));\n }\n\n override createObject({ types }: { types?: T[] } = {}): Expando {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
- "mappings": "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",
6
- "names": ["import_faker", "import_echo", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "schema", "_generators", "_provider", "schemas", "Object", "values", "createObject", "types", "type", "faker", "helpers", "arrayElement", "keys", "factory", "data", "Expando", "createObjects", "count", "range", "SpaceObjectGenerator", "_space", "generators", "objects", "db", "query", "object", "__schema", "addSchemas", "forEach", "add", "Status", "Priority", "testSchemas", "document", "Schema", "props", "id", "type", "PropType", "STRING", "organization", "BOOLEAN", "person", "REF", "ref", "project", "NUMBER", "testObjectGenerators", "title", "faker", "lorem", "sentence", "content", "sentences", "min", "max", "number", "int", "name", "company", "website", "datatype", "boolean", "probability", "internet", "url", "undefined", "description", "TextObject", "provider", "organizations", "fullName", "email", "org", "length", "helpers", "arrayElement", "commerce", "productName", "repo", "status", "priority", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator"]
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport * from './data';\nexport * from './generator';\nexport * from './util';\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Schema, type Space, TextObject } from '@dxos/client/echo';\n\nimport { SpaceObjectGenerator, TestObjectGenerator } from './generator';\nimport { type TestGeneratorMap, type TestSchemaMap } from './types';\n\n// TODO(burdon): Handle restricted values.\nexport const Status = ['pending', 'active', 'done'];\nexport const Priority = [1, 2, 3, 4, 5];\n\nexport type TestSchemaType = 'document' | 'organization' | 'person' | 'project';\n\nexport const testSchemas = (): TestSchemaMap<TestSchemaType> => {\n const document = new Schema({\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'content',\n type: Schema.PropType.STRING, // TODO(burdon): Rich text.\n },\n ],\n });\n\n const organization = new Schema({\n typename: 'dxos.org/schema/organization',\n props: [\n // TODO(burdon): Add metadata for default label.\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'website',\n type: Schema.PropType.STRING,\n },\n {\n id: 'active',\n type: Schema.PropType.BOOLEAN,\n },\n ],\n });\n\n const person = new Schema({\n typename: 'dxos.org/schema/person',\n props: [\n {\n id: 'name',\n type: Schema.PropType.STRING,\n },\n {\n id: 'email',\n type: Schema.PropType.STRING,\n },\n {\n id: 'org',\n type: Schema.PropType.REF,\n ref: organization,\n },\n // TODO(burdon): Convert to object.\n {\n id: 'lat',\n type: Schema.PropType.NUMBER,\n },\n {\n id: 'lng',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n const project = new Schema({\n typename: 'dxos.org/schema/project',\n props: [\n {\n id: 'title',\n type: Schema.PropType.STRING,\n },\n {\n id: 'repo',\n type: Schema.PropType.STRING,\n },\n {\n id: 'status',\n type: Schema.PropType.STRING,\n },\n {\n id: 'priority',\n type: Schema.PropType.NUMBER,\n },\n ],\n });\n\n return { document, organization, person, project };\n};\n\nexport const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {\n document: () => ({\n title: faker.lorem.sentence(3),\n content: faker.lorem.sentences({ min: 1, max: faker.number.int({ min: 1, max: 3 }) }),\n }),\n\n organization: () => ({\n name: faker.company.name(),\n website: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n description: new TextObject(faker.lorem.sentences()),\n }),\n\n person: (provider) => {\n const organizations = provider?.('organization');\n const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;\n return {\n name: faker.person.fullName(),\n email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,\n org:\n organizations?.length && faker.datatype.boolean({ probability: 0.3 })\n ? faker.helpers.arrayElement(organizations)\n : undefined,\n ...location,\n };\n },\n\n project: () => ({\n title: faker.commerce.productName(),\n repo: faker.datatype.boolean({ probability: 0.3 }) ? faker.internet.url() : undefined,\n status: faker.helpers.arrayElement(Status),\n priority: faker.helpers.arrayElement(Priority),\n }),\n};\n\nexport const createTestObjectGenerator = () => new TestObjectGenerator(testSchemas(), testObjectGenerators);\n\nexport const createSpaceObjectGenerator = (space: Space) =>\n new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);\n\nconst locations = [\n { lat: 139.74946157054467, lng: 35.686962764371174 },\n { lat: -73.98196278740681, lng: 40.75192492259464 },\n { lat: -99.1329340602939, lng: 19.444388301415472 },\n { lat: 72.85504343876647, lng: 19.0189362343566 },\n { lat: -46.62696583905523, lng: -23.55673372837896 },\n { lat: 77.22805816860182, lng: 28.671938757181522 },\n { lat: 121.43455881982015, lng: 31.218398311228327 },\n { lat: 88.32272979950551, lng: 22.49691515689642 },\n { lat: 90.40663360810754, lng: 23.725005570312817 },\n { lat: -58.399477232331435, lng: -34.600555749907414 },\n { lat: -118.18192636994041, lng: 33.99192410876543 },\n { lat: 66.98806305137339, lng: 24.87193814681484 },\n { lat: 31.248022361126118, lng: 30.051906205103705 },\n { lat: -43.22696665284366, lng: -22.923077315615956 },\n { lat: 135.4581989565952, lng: 34.75198107491417 },\n { lat: 116.38633982565943, lng: 39.93083808990906 },\n { lat: 120.9802713035424, lng: 14.606104813440538 },\n { lat: 37.6135769672714, lng: 55.75410998124818 },\n { lat: 29.008055727002613, lng: 41.10694201243979 },\n { lat: 2.33138946713035, lng: 48.86863878981461 },\n { lat: 126.99778513820195, lng: 37.56829495838895 },\n { lat: 3.3895852125984334, lng: 6.445207512093191 },\n { lat: 106.82749176247012, lng: -6.172471846798885 },\n { lat: -87.75200083270931, lng: 41.83193651927843 },\n { lat: 113.32306427226172, lng: 23.14692716047989 },\n { lat: -0.11866770247593195, lng: 51.5019405883275 },\n { lat: -77.05200795343472, lng: -12.04606681752557 },\n { lat: 51.42239817500899, lng: 35.673888627001304 },\n { lat: 15.313026023171744, lng: -4.327778243275986 },\n { lat: -74.08528981377441, lng: 4.598369421147822 },\n { lat: 114.1201772298325, lng: 22.554316369677963 },\n { lat: 114.26807118958311, lng: 30.581977209337822 },\n { lat: 114.18306345846304, lng: 22.30692675357551 },\n { lat: 117.19807322410043, lng: 39.13197212310894 },\n { lat: 80.27805287890033, lng: 13.091933670856292 },\n { lat: 121.568333333333, lng: 25.0358333333333 },\n { lat: 77.55806386521755, lng: 12.97194099507442 },\n { lat: 100.51469879369489, lng: 13.751945064087977 },\n { lat: 74.34807892054346, lng: 31.56191739488844 },\n { lat: 106.59303578916195, lng: 29.566922888044644 },\n { lat: 78.47800771287751, lng: 17.401928991511454 },\n { lat: -70.66898671317483, lng: -33.448067956934096 },\n { lat: -80.22605193945003, lng: 25.789556555021534 },\n { lat: -43.916950376804834, lng: -19.91308016391116 },\n { lat: -3.6852975446125242, lng: 40.40197212311381 },\n { lat: -75.17194183200792, lng: 40.001919022526465 },\n { lat: 72.57805776168215, lng: 23.031998775062675 },\n { lat: 106.69308136207889, lng: 10.781971309193409 },\n { lat: -79.42196665298843, lng: 43.70192573640844 },\n { lat: 103.85387481909902, lng: 1.2949793251059418 },\n { lat: 13.23248118266855, lng: -8.836340255012658 },\n { lat: 44.391922914564134, lng: 33.34059435615865 },\n { lat: 2.181424460619155, lng: 41.385245438547486 },\n { lat: 88.32994665421205, lng: 22.580390440861947 },\n { lat: -96.84196278749818, lng: 32.82196968167733 },\n { lat: 123.44802765120869, lng: 41.80692512604918 },\n { lat: 32.532233380011576, lng: 15.590024084277673 },\n { lat: 73.84805776168719, lng: 18.531963374654026 },\n { lat: 151.1832339501475, lng: -33.91806510862875 },\n { lat: 30.314074200315076, lng: 59.94096036375191 },\n { lat: 91.79802154756635, lng: 22.33193814680459 },\n { lat: 113.74277634138707, lng: 23.050834758613007 },\n { lat: -84.40189524187565, lng: 33.83195971260585 },\n { lat: -71.07195953218684, lng: 42.33190600170229 },\n { lat: 46.770795798688255, lng: 24.642779007816443 },\n { lat: -95.341925149146, lng: 29.821920243188856 },\n { lat: 105.8480683412422, lng: 21.035273107737055 },\n { lat: -77.01136443943716, lng: 38.901495235087054 },\n { lat: -103.33198008081848, lng: 20.671961950508944 },\n { lat: 144.97307037590406, lng: -37.81808545369631 },\n { lat: 29.948050030391755, lng: 31.201965205759393 },\n { lat: 104.06807363094873, lng: 30.671945877957796 },\n { lat: -83.0820016464927, lng: 42.33190600170229 },\n { lat: 96.16473175266185, lng: 16.785299963188777 },\n { lat: 108.89305043760862, lng: 34.27697130928732 },\n { lat: -51.20195790450316, lng: -30.048068770722466 },\n { lat: 121.465, lng: 25.0127777777778 },\n { lat: 72.83809356897484, lng: 21.20192960187819 },\n { lat: 109.60911291406296, lng: 23.09653464659317 },\n { lat: -4.041994118507091, lng: 5.321942826098564 },\n { lat: -47.91799814700306, lng: -15.781394372878992 },\n { lat: 32.862445782356644, lng: 39.929184444075474 },\n { lat: -100.33193064232995, lng: 25.671940995125283 },\n { lat: 139.60202098994017, lng: 35.43065615270891 },\n { lat: 118.77802846499208, lng: 32.05196500231233 },\n { lat: -73.58524281670213, lng: 45.50194506421502 },\n { lat: 106.7180927553083, lng: 26.581988806001448 },\n { lat: -34.91755136960728, lng: -8.073699467249241 },\n { lat: 126.64803904445057, lng: 45.75192980542715 },\n { lat: -38.58192718342411, lng: -3.7480720258257634 },\n { lat: -112.07193755969467, lng: 33.5419257363676 },\n { lat: 117.67001623440774, lng: 24.520375385531167 },\n { lat: -38.48193328693924, lng: -12.968026046044827 },\n { lat: 129.00810170722048, lng: 35.09699877511093 },\n { lat: -122.41716877355225, lng: 37.76919562968743 },\n { lat: 28.028063865019476, lng: -26.16809888138414 },\n { lat: 13.399602764700546, lng: 52.523764522251156 },\n { lat: 3.048606670909237, lng: 36.765010656628135 },\n { lat: 12.481312562873995, lng: 41.89790148509894 },\n { lat: 125.75274485499392, lng: 39.02138455800434 },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\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\nimport { faker } from '@faker-js/faker';\n\nimport { Expando, type Schema, type Space } from '@dxos/client/echo';\n\nimport { type TestGeneratorMap, type TestObjectProvider, type TestSchemaMap } from './types';\nimport { range } from './util';\n\n/**\n * Typed object generator.\n */\nexport class TestObjectGenerator<T extends string> {\n // prettier-ignore\n constructor(\n public readonly schema: TestSchemaMap<T>,\n private readonly _generators: TestGeneratorMap<T>,\n private readonly _provider?: TestObjectProvider<T>\n ) {}\n\n get schemas(): Schema[] {\n return Object.values(this.schema);\n }\n\n createObject({ types }: { types?: T[] } = {}): Expando {\n const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));\n const factory = this._generators[type];\n const data = factory(this._provider);\n // TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).\n return new Expando(data, { schema: this.schema[type] });\n }\n\n // TODO(burdon): Create batch.\n createObjects({ types, count }: { types?: T[]; count: number }): Expando[] {\n return range(() => this.createObject({ types }), count);\n }\n}\n\n/**\n * Typed object generator for a space.\n */\nexport class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {\n constructor(private readonly _space: Space, schema: TestSchemaMap<T>, generators: TestGeneratorMap<T>) {\n super(schema, generators, (type: T) => {\n // TODO(burdon): Query by schema.\n const { objects } = this._space.db.query((object) => {\n return object.__schema === schema[type];\n });\n\n return objects;\n });\n }\n\n addSchemas() {\n this.schemas.forEach((schema) => this._space.db.add(schema));\n return this.schemas;\n }\n\n override createObject({ types }: { types?: T[] } = {}): Expando {\n return this._space.db.add(super.createObject({ types }));\n }\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\n// TODO(burdon): Util.\nexport const range = <T>(fn: (i: number) => T | undefined, length: number): T[] =>\n Array.from({ length })\n .map((_, i) => fn(i))\n .filter(Boolean) as T[];\n"],
5
+ "mappings": "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",
6
+ "names": ["import_faker", "import_echo", "range", "fn", "length", "Array", "from", "map", "_", "i", "filter", "Boolean", "TestObjectGenerator", "constructor", "schema", "_generators", "_provider", "schemas", "Object", "values", "createObject", "types", "type", "faker", "helpers", "arrayElement", "keys", "factory", "data", "Expando", "createObjects", "count", "range", "SpaceObjectGenerator", "_space", "generators", "objects", "db", "query", "object", "__schema", "addSchemas", "forEach", "add", "Status", "Priority", "testSchemas", "document", "Schema", "props", "id", "type", "PropType", "STRING", "organization", "typename", "BOOLEAN", "person", "REF", "ref", "NUMBER", "project", "testObjectGenerators", "title", "faker", "lorem", "sentence", "content", "sentences", "min", "max", "number", "int", "name", "company", "website", "datatype", "boolean", "probability", "internet", "url", "undefined", "description", "TextObject", "provider", "organizations", "location", "helpers", "arrayElement", "locations", "fullName", "email", "org", "length", "commerce", "productName", "repo", "status", "priority", "createTestObjectGenerator", "TestObjectGenerator", "createSpaceObjectGenerator", "space", "SpaceObjectGenerator", "lat", "lng"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":7133,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":12999,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":634,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":10526},"packages/core/echo/echo-generator/dist/lib/node/index.cjs":{"imports":[{"path":"@faker-js/faker","kind":"require-call","external":true},{"path":"@dxos/client/echo","kind":"require-call","external":true},{"path":"@faker-js/faker","kind":"require-call","external":true},{"path":"@dxos/client/echo","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":481},"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":3279},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":1331},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91}},"bytes":6593}}}
1
+ {"inputs":{"packages/core/echo/echo-generator/src/util.ts":{"bytes":1057,"imports":[],"format":"esm"},"packages/core/echo/echo-generator/src/generator.ts":{"bytes":7469,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/core/echo/echo-generator/src/data.ts":{"bytes":34831,"imports":[{"path":"@faker-js/faker","kind":"import-statement","external":true},{"path":"@dxos/client/echo","kind":"import-statement","external":true},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"}],"format":"esm"},"packages/core/echo/echo-generator/src/index.ts":{"bytes":634,"imports":[{"path":"packages/core/echo/echo-generator/src/data.ts","kind":"import-statement","original":"./data"},{"path":"packages/core/echo/echo-generator/src/generator.ts","kind":"import-statement","original":"./generator"},{"path":"packages/core/echo/echo-generator/src/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"}},"outputs":{"packages/core/echo/echo-generator/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":20545},"packages/core/echo/echo-generator/dist/lib/node/index.cjs":{"imports":[{"path":"@faker-js/faker","kind":"require-call","external":true},{"path":"@dxos/client/echo","kind":"require-call","external":true},{"path":"@faker-js/faker","kind":"require-call","external":true},{"path":"@dxos/client/echo","kind":"require-call","external":true}],"exports":[],"entryPoint":"packages/core/echo/echo-generator/src/index.ts","inputs":{"packages/core/echo/echo-generator/src/index.ts":{"bytesInOutput":481},"packages/core/echo/echo-generator/src/data.ts":{"bytesInOutput":10304},"packages/core/echo/echo-generator/src/generator.ts":{"bytesInOutput":1356},"packages/core/echo/echo-generator/src/util.ts":{"bytesInOutput":91}},"bytes":13643}}}
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,KAAK,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhF,eAAO,MAAM,WAAW,QAAO,cAAc,cAAc,CAwE1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,cAAc,CA8BjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G,eAAO,MAAM,0BAA0B,UAAW,KAAK,yCACe,CAAC"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/data.ts"],"names":[],"mappings":"AASA,OAAO,EAAU,KAAK,KAAK,EAAc,MAAM,mBAAmB,CAAC;AAEnE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAGpE,eAAO,MAAM,MAAM,UAAgC,CAAC;AACpD,eAAO,MAAM,QAAQ,UAAkB,CAAC;AAExC,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEhF,eAAO,MAAM,WAAW,QAAO,cAAc,cAAc,CAoF1D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,gBAAgB,CAAC,cAAc,CAgCjE,CAAC;AAEF,eAAO,MAAM,yBAAyB,2CAAqE,CAAC;AAE5G,eAAO,MAAM,0BAA0B,UAAW,KAAK,yCACe,CAAC"}
@@ -23,7 +23,7 @@ export declare class TestObjectGenerator<T extends string> {
23
23
  export declare class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<T> {
24
24
  private readonly _space;
25
25
  constructor(_space: Space, schema: TestSchemaMap<T>, generators: TestGeneratorMap<T>);
26
- addSchemas(): void;
26
+ addSchemas(): Schema[];
27
27
  createObject({ types }?: {
28
28
  types?: T[];
29
29
  }): Expando;
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7F;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM;aAG7B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAFX,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,mCAAuB;IAGpD,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO;IAQtD,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,EAAE;CAG3E;AAED;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAWrG,UAAU;IAID,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO;CAGhE"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../../../src/generator.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7F;;GAEG;AACH,qBAAa,mBAAmB,CAAC,CAAC,SAAS,MAAM;aAG7B,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAFX,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EACvB,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAChC,SAAS,CAAC,mCAAuB;IAGpD,IAAI,OAAO,IAAI,MAAM,EAAE,CAEtB;IAED,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO;IAStD,aAAa,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,EAAE;CAG3E;AAED;;GAEG;AACH,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,mBAAmB,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAWrG,UAAU;IAKD,YAAY,CAAC,EAAE,KAAK,EAAE,GAAE;QAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAA;KAAO,GAAG,OAAO;CAGhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dxos/echo-generator",
3
- "version": "0.3.5-main.927500d",
3
+ "version": "0.3.5-main.94a28b0",
4
4
  "description": "ECHO data generator for testing.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
@@ -17,8 +17,8 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "@faker-js/faker": "^8.0.2",
20
- "@dxos/client": "0.3.5-main.927500d",
21
- "@dxos/node-std": "0.3.5-main.927500d"
20
+ "@dxos/client": "0.3.5-main.94a28b0",
21
+ "@dxos/node-std": "0.3.5-main.94a28b0"
22
22
  },
23
23
  "devDependencies": {},
24
24
  "publishConfig": {
package/src/data.ts CHANGED
@@ -33,6 +33,7 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
33
33
  });
34
34
 
35
35
  const organization = new Schema({
36
+ typename: 'dxos.org/schema/organization',
36
37
  props: [
37
38
  // TODO(burdon): Add metadata for default label.
38
39
  {
@@ -51,6 +52,7 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
51
52
  });
52
53
 
53
54
  const person = new Schema({
55
+ typename: 'dxos.org/schema/person',
54
56
  props: [
55
57
  {
56
58
  id: 'name',
@@ -65,10 +67,20 @@ export const testSchemas = (): TestSchemaMap<TestSchemaType> => {
65
67
  type: Schema.PropType.REF,
66
68
  ref: organization,
67
69
  },
70
+ // TODO(burdon): Convert to object.
71
+ {
72
+ id: 'lat',
73
+ type: Schema.PropType.NUMBER,
74
+ },
75
+ {
76
+ id: 'lng',
77
+ type: Schema.PropType.NUMBER,
78
+ },
68
79
  ],
69
80
  });
70
81
 
71
82
  const project = new Schema({
83
+ typename: 'dxos.org/schema/project',
72
84
  props: [
73
85
  {
74
86
  id: 'title',
@@ -106,6 +118,7 @@ export const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {
106
118
 
107
119
  person: (provider) => {
108
120
  const organizations = provider?.('organization');
121
+ const location = faker.datatype.boolean() ? faker.helpers.arrayElement(locations) : undefined;
109
122
  return {
110
123
  name: faker.person.fullName(),
111
124
  email: faker.datatype.boolean({ probability: 0.5 }) ? faker.internet.email() : undefined,
@@ -113,6 +126,7 @@ export const testObjectGenerators: TestGeneratorMap<TestSchemaType> = {
113
126
  organizations?.length && faker.datatype.boolean({ probability: 0.3 })
114
127
  ? faker.helpers.arrayElement(organizations)
115
128
  : undefined,
129
+ ...location,
116
130
  };
117
131
  },
118
132
 
@@ -128,3 +142,106 @@ export const createTestObjectGenerator = () => new TestObjectGenerator(testSchem
128
142
 
129
143
  export const createSpaceObjectGenerator = (space: Space) =>
130
144
  new SpaceObjectGenerator(space, testSchemas(), testObjectGenerators);
145
+
146
+ const locations = [
147
+ { lat: 139.74946157054467, lng: 35.686962764371174 },
148
+ { lat: -73.98196278740681, lng: 40.75192492259464 },
149
+ { lat: -99.1329340602939, lng: 19.444388301415472 },
150
+ { lat: 72.85504343876647, lng: 19.0189362343566 },
151
+ { lat: -46.62696583905523, lng: -23.55673372837896 },
152
+ { lat: 77.22805816860182, lng: 28.671938757181522 },
153
+ { lat: 121.43455881982015, lng: 31.218398311228327 },
154
+ { lat: 88.32272979950551, lng: 22.49691515689642 },
155
+ { lat: 90.40663360810754, lng: 23.725005570312817 },
156
+ { lat: -58.399477232331435, lng: -34.600555749907414 },
157
+ { lat: -118.18192636994041, lng: 33.99192410876543 },
158
+ { lat: 66.98806305137339, lng: 24.87193814681484 },
159
+ { lat: 31.248022361126118, lng: 30.051906205103705 },
160
+ { lat: -43.22696665284366, lng: -22.923077315615956 },
161
+ { lat: 135.4581989565952, lng: 34.75198107491417 },
162
+ { lat: 116.38633982565943, lng: 39.93083808990906 },
163
+ { lat: 120.9802713035424, lng: 14.606104813440538 },
164
+ { lat: 37.6135769672714, lng: 55.75410998124818 },
165
+ { lat: 29.008055727002613, lng: 41.10694201243979 },
166
+ { lat: 2.33138946713035, lng: 48.86863878981461 },
167
+ { lat: 126.99778513820195, lng: 37.56829495838895 },
168
+ { lat: 3.3895852125984334, lng: 6.445207512093191 },
169
+ { lat: 106.82749176247012, lng: -6.172471846798885 },
170
+ { lat: -87.75200083270931, lng: 41.83193651927843 },
171
+ { lat: 113.32306427226172, lng: 23.14692716047989 },
172
+ { lat: -0.11866770247593195, lng: 51.5019405883275 },
173
+ { lat: -77.05200795343472, lng: -12.04606681752557 },
174
+ { lat: 51.42239817500899, lng: 35.673888627001304 },
175
+ { lat: 15.313026023171744, lng: -4.327778243275986 },
176
+ { lat: -74.08528981377441, lng: 4.598369421147822 },
177
+ { lat: 114.1201772298325, lng: 22.554316369677963 },
178
+ { lat: 114.26807118958311, lng: 30.581977209337822 },
179
+ { lat: 114.18306345846304, lng: 22.30692675357551 },
180
+ { lat: 117.19807322410043, lng: 39.13197212310894 },
181
+ { lat: 80.27805287890033, lng: 13.091933670856292 },
182
+ { lat: 121.568333333333, lng: 25.0358333333333 },
183
+ { lat: 77.55806386521755, lng: 12.97194099507442 },
184
+ { lat: 100.51469879369489, lng: 13.751945064087977 },
185
+ { lat: 74.34807892054346, lng: 31.56191739488844 },
186
+ { lat: 106.59303578916195, lng: 29.566922888044644 },
187
+ { lat: 78.47800771287751, lng: 17.401928991511454 },
188
+ { lat: -70.66898671317483, lng: -33.448067956934096 },
189
+ { lat: -80.22605193945003, lng: 25.789556555021534 },
190
+ { lat: -43.916950376804834, lng: -19.91308016391116 },
191
+ { lat: -3.6852975446125242, lng: 40.40197212311381 },
192
+ { lat: -75.17194183200792, lng: 40.001919022526465 },
193
+ { lat: 72.57805776168215, lng: 23.031998775062675 },
194
+ { lat: 106.69308136207889, lng: 10.781971309193409 },
195
+ { lat: -79.42196665298843, lng: 43.70192573640844 },
196
+ { lat: 103.85387481909902, lng: 1.2949793251059418 },
197
+ { lat: 13.23248118266855, lng: -8.836340255012658 },
198
+ { lat: 44.391922914564134, lng: 33.34059435615865 },
199
+ { lat: 2.181424460619155, lng: 41.385245438547486 },
200
+ { lat: 88.32994665421205, lng: 22.580390440861947 },
201
+ { lat: -96.84196278749818, lng: 32.82196968167733 },
202
+ { lat: 123.44802765120869, lng: 41.80692512604918 },
203
+ { lat: 32.532233380011576, lng: 15.590024084277673 },
204
+ { lat: 73.84805776168719, lng: 18.531963374654026 },
205
+ { lat: 151.1832339501475, lng: -33.91806510862875 },
206
+ { lat: 30.314074200315076, lng: 59.94096036375191 },
207
+ { lat: 91.79802154756635, lng: 22.33193814680459 },
208
+ { lat: 113.74277634138707, lng: 23.050834758613007 },
209
+ { lat: -84.40189524187565, lng: 33.83195971260585 },
210
+ { lat: -71.07195953218684, lng: 42.33190600170229 },
211
+ { lat: 46.770795798688255, lng: 24.642779007816443 },
212
+ { lat: -95.341925149146, lng: 29.821920243188856 },
213
+ { lat: 105.8480683412422, lng: 21.035273107737055 },
214
+ { lat: -77.01136443943716, lng: 38.901495235087054 },
215
+ { lat: -103.33198008081848, lng: 20.671961950508944 },
216
+ { lat: 144.97307037590406, lng: -37.81808545369631 },
217
+ { lat: 29.948050030391755, lng: 31.201965205759393 },
218
+ { lat: 104.06807363094873, lng: 30.671945877957796 },
219
+ { lat: -83.0820016464927, lng: 42.33190600170229 },
220
+ { lat: 96.16473175266185, lng: 16.785299963188777 },
221
+ { lat: 108.89305043760862, lng: 34.27697130928732 },
222
+ { lat: -51.20195790450316, lng: -30.048068770722466 },
223
+ { lat: 121.465, lng: 25.0127777777778 },
224
+ { lat: 72.83809356897484, lng: 21.20192960187819 },
225
+ { lat: 109.60911291406296, lng: 23.09653464659317 },
226
+ { lat: -4.041994118507091, lng: 5.321942826098564 },
227
+ { lat: -47.91799814700306, lng: -15.781394372878992 },
228
+ { lat: 32.862445782356644, lng: 39.929184444075474 },
229
+ { lat: -100.33193064232995, lng: 25.671940995125283 },
230
+ { lat: 139.60202098994017, lng: 35.43065615270891 },
231
+ { lat: 118.77802846499208, lng: 32.05196500231233 },
232
+ { lat: -73.58524281670213, lng: 45.50194506421502 },
233
+ { lat: 106.7180927553083, lng: 26.581988806001448 },
234
+ { lat: -34.91755136960728, lng: -8.073699467249241 },
235
+ { lat: 126.64803904445057, lng: 45.75192980542715 },
236
+ { lat: -38.58192718342411, lng: -3.7480720258257634 },
237
+ { lat: -112.07193755969467, lng: 33.5419257363676 },
238
+ { lat: 117.67001623440774, lng: 24.520375385531167 },
239
+ { lat: -38.48193328693924, lng: -12.968026046044827 },
240
+ { lat: 129.00810170722048, lng: 35.09699877511093 },
241
+ { lat: -122.41716877355225, lng: 37.76919562968743 },
242
+ { lat: 28.028063865019476, lng: -26.16809888138414 },
243
+ { lat: 13.399602764700546, lng: 52.523764522251156 },
244
+ { lat: 3.048606670909237, lng: 36.765010656628135 },
245
+ { lat: 12.481312562873995, lng: 41.89790148509894 },
246
+ { lat: 125.75274485499392, lng: 39.02138455800434 },
247
+ ];
package/src/generator.ts CHANGED
@@ -31,6 +31,7 @@ export class TestObjectGenerator<T extends string> {
31
31
  const type = faker.helpers.arrayElement(types ?? (Object.keys(this.schema) as T[]));
32
32
  const factory = this._generators[type];
33
33
  const data = factory(this._provider);
34
+ // TODO(burdon): Runtime type check via: https://github.com/Effect-TS/schema (or zod).
34
35
  return new Expando(data, { schema: this.schema[type] });
35
36
  }
36
37
 
@@ -57,6 +58,7 @@ export class SpaceObjectGenerator<T extends string> extends TestObjectGenerator<
57
58
 
58
59
  addSchemas() {
59
60
  this.schemas.forEach((schema) => this._space.db.add(schema));
61
+ return this.schemas;
60
62
  }
61
63
 
62
64
  override createObject({ types }: { types?: T[] } = {}): Expando {