@verdant-web/store 4.4.0 → 4.5.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityStore.js","sourceRoot":"","sources":["../../../src/entities/EntityStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityStore.js","sourceRoot":"","sources":["../../../src/entities/EntityStore.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,14 @@ export * from './authorization.js';
8
8
  export { Entity, getEntityClient } from './entities/Entity.js';
9
9
  export type { AccessibleEntityProperty, AnyEntity, EntityDestructured, EntityInit, EntityShape, ListEntity, ObjectEntity, } from './entities/types.js';
10
10
  export { EntityFile, type EntityFileSnapshot } from './files/EntityFile.js';
11
+ export * from './logger.js';
11
12
  export { IdbPersistence } from './persistence/idb/idbPersistence.js';
12
13
  export type * from './persistence/interfaces.js';
13
14
  export type { QueryStatus } from './queries/BaseQuery.js';
14
15
  export type { CollectionQueries } from './queries/CollectionQueries.js';
15
16
  export type { Query } from './queries/types.js';
16
17
  export * from './sync/cliSync.js';
17
- export { ServerSync } from './sync/Sync.js';
18
+ export { ServerSync, type ServerSyncOptions } from './sync/Sync.js';
18
19
  export type { SyncTransportMode } from './sync/Sync.js';
19
20
  export { UndoHistory } from './UndoHistory.js';
20
21
  export * from './utils/id.js';
package/dist/esm/index.js CHANGED
@@ -6,6 +6,7 @@ export { createMigration, schema } from '@verdant-web/common';
6
6
  export * from './authorization.js';
7
7
  export { Entity, getEntityClient } from './entities/Entity.js';
8
8
  export { EntityFile } from './files/EntityFile.js';
9
+ export * from './logger.js';
9
10
  export { IdbPersistence } from './persistence/idb/idbPersistence.js';
10
11
  export * from './sync/cliSync.js';
11
12
  export { ServerSync } from './sync/Sync.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACN,gBAAgB,GAEhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACpC,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyB9D,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAU/D,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EACN,gBAAgB,GAEhB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;AACpC,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAyB9D,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAU/D,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,cAAc,aAAa,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,UAAU,EAA0B,MAAM,gBAAgB,CAAC;AAEpE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,4 @@
1
+ export type VerdantLogger = (level: 'debug' | 'info' | 'warn' | 'error' | 'critical', ...args: any[]) => void;
2
+ export declare const noLogger: () => void;
3
+ export declare const makeLogger: (prefix?: string) => VerdantLogger;
4
+ export declare function debugLogger(prefix?: string): VerdantLogger;
@@ -0,0 +1,22 @@
1
+ export const noLogger = () => { };
2
+ export const makeLogger = (prefix) => (level, ...args) => {
3
+ if (level === 'critical') {
4
+ args.unshift('[CRITICAL]');
5
+ }
6
+ if (prefix) {
7
+ args.unshift(`[${prefix}]`);
8
+ }
9
+ if (level === 'critical') {
10
+ console.error(...args);
11
+ }
12
+ else {
13
+ console[level](...args);
14
+ }
15
+ };
16
+ export function debugLogger(prefix) {
17
+ if (!localStorage.getItem('DEBUG')) {
18
+ return noLogger;
19
+ }
20
+ return makeLogger(prefix);
21
+ }
22
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GACtB,CAAC,MAAe,EAAiB,EAAE,CACnC,CAAC,KAAK,EAAE,GAAG,IAAI,EAAE,EAAE;IAClB,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,GAAG,CAAC,CAAC;IAC7B,CAAC;IACD,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QAC1B,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,CAAC;AACF,CAAC,CAAC;AAEH,MAAM,UAAU,WAAW,CAAC,MAAe;IAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpC,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAC3B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdant-web/store",
3
- "version": "4.4.0",
3
+ "version": "4.5.0",
4
4
  "access": "public",
5
5
  "type": "module",
6
6
  "main": "dist/esm/index.js",
@@ -1,4 +1,4 @@
1
- import { describe, expect, it } from 'vitest';
1
+ import { describe, expect, it, vi } from 'vitest';
2
2
  import { createTestStorage } from './fixtures/testStorage.js';
3
3
 
4
4
  describe('mutations', () => {
@@ -55,6 +55,41 @@ describe('mutations', () => {
55
55
  expect(itemBExists === itemB).toBe(true);
56
56
  });
57
57
 
58
+ it('should not fire change events on deleted entities while deleting them', async () => {
59
+ const client = await createTestStorage({
60
+ // log: console.log,
61
+ });
62
+ const item = await client.todos.put({
63
+ id: '1',
64
+ content: 'itemA',
65
+ category: 'test',
66
+ attachments: [
67
+ {
68
+ name: 'foo',
69
+ },
70
+ ],
71
+ });
72
+ const watchRoot = vi.fn(() => {
73
+ console.trace('watchRoot called');
74
+ console.error(item.deleted);
75
+ });
76
+ const watchRootDeep = vi.fn(() => {
77
+ console.error('watchRootDeep called');
78
+ });
79
+ const watchItem = vi.fn(() => {
80
+ console.error('watchItem called');
81
+ console.error(item.get('attachments').get(0).deleted);
82
+ });
83
+ item.subscribe('change', watchRoot);
84
+ item.subscribe('changeDeep', watchRootDeep);
85
+ item.get('attachments').get(0).subscribe('change', watchItem);
86
+
87
+ await client.todos.delete('1');
88
+ expect(watchRoot).toHaveBeenCalledTimes(0);
89
+ expect(watchRootDeep).toHaveBeenCalledTimes(0);
90
+ expect(watchItem).toHaveBeenCalledTimes(0);
91
+ });
92
+
58
93
  describe('on entities', () => {
59
94
  it('should allow them to delete themselves (root level)', async () => {
60
95
  const client = await createTestStorage();
@@ -4,6 +4,7 @@ import {
4
4
  EventSubscriber,
5
5
  FileData,
6
6
  Operation,
7
+ VerdantError,
7
8
  } from '@verdant-web/common';
8
9
  import { Context } from '../context/context.js';
9
10
  import { DocumentManager } from '../entities/DocumentManager.js';
@@ -212,9 +213,11 @@ export class Client<Presence = any, Profile = any> extends EventSubscriber<{
212
213
  );
213
214
  this.emit(
214
215
  'developerError',
215
- new Error('Sync failed, see logs or cause', {
216
- cause: err,
217
- }),
216
+ new VerdantError(
217
+ VerdantError.Code.Unexpected,
218
+ err as any,
219
+ 'Sync failed. To avoid data corruption, the client will now shut down.',
220
+ ),
218
221
  );
219
222
  await this.close();
220
223
  throw err;
@@ -5,12 +5,12 @@ import {
5
5
  PatchCreator,
6
6
  StorageSchema,
7
7
  VerdantError,
8
- noop,
9
8
  } from '@verdant-web/common';
10
9
  import { FileConfig, InitialContext, QueryConfig } from '../context/context.js';
11
10
  import { ShutdownHandler } from '../context/ShutdownHandler.js';
12
11
  import { Time } from '../context/Time.js';
13
12
  import { FakeWeakRef } from '../FakeWeakRef.js';
13
+ import { debugLogger, noLogger, VerdantLogger } from '../logger.js';
14
14
  import { IdbPersistence } from '../persistence/idb/idbPersistence.js';
15
15
  import { deleteAllDatabases } from '../persistence/idb/util.js';
16
16
  import { PersistenceImplementation } from '../persistence/interfaces.js';
@@ -39,10 +39,7 @@ export interface ClientDescriptorOptions<Presence = any, Profile = any> {
39
39
  /**
40
40
  * Provide a log function to log internal debug messages
41
41
  */
42
- log?: (
43
- level: 'debug' | 'info' | 'warn' | 'error' | 'critical',
44
- ...args: any[]
45
- ) => void;
42
+ log?: VerdantLogger | false;
46
43
  disableRebasing?: boolean;
47
44
  rebaseTimeout?: number;
48
45
  /**
@@ -136,12 +133,14 @@ export class ClientDescriptor<
136
133
  init.schema.version,
137
134
  );
138
135
  const environment = init.environment || defaultBrowserEnvironment;
136
+ const logger =
137
+ init.log === false ? noLogger : init.log || debugLogger('🌿');
139
138
  let ctx: InitialContext = {
140
139
  closing: false,
141
140
  entityEvents: new EventSubscriber(),
142
141
  globalEvents: new EventSubscriber(),
143
142
  internalEvents: new EventSubscriber(),
144
- log: init.log || noop,
143
+ log: logger,
145
144
  migrations: init.migrations,
146
145
  namespace: init.namespace,
147
146
  originalNamespace: init.namespace,
@@ -166,7 +165,7 @@ export class ClientDescriptor<
166
165
  persistence:
167
166
  init.persistence || new IdbPersistence(environment.indexedDB),
168
167
  environment,
169
- persistenceShutdownHandler: new ShutdownHandler(init.log),
168
+ persistenceShutdownHandler: new ShutdownHandler(logger),
170
169
  pauseRebasing: false,
171
170
  getClient() {
172
171
  throw new VerdantError(
@@ -11,6 +11,7 @@ import {
11
11
  } from '@verdant-web/common';
12
12
  import { UndoHistory } from '../UndoHistory.js';
13
13
  import type { Client } from '../client/Client.js';
14
+ import { VerdantLogger } from '../logger.js';
14
15
  import { PersistenceFiles } from '../persistence/PersistenceFiles.js';
15
16
  import type { PersistenceMetadata } from '../persistence/PersistenceMetadata.js';
16
17
  import type { PersistenceDocuments } from '../persistence/PersistenceQueries.js';
@@ -41,10 +42,7 @@ export interface Context {
41
42
  undoHistory: UndoHistory;
42
43
  schema: StorageSchema;
43
44
  oldSchemas: StorageSchema[];
44
- log: (
45
- level: 'debug' | 'info' | 'warn' | 'error' | 'critical',
46
- ...args: any[]
47
- ) => void;
45
+ log: VerdantLogger;
48
46
  entityEvents: EventSubscriber<{
49
47
  collectionsChanged: (names: string[]) => void;
50
48
  documentChanged: (oid: ObjectIdentifier) => void;
@@ -334,6 +334,14 @@ export class Entity<
334
334
  return this.viewData.deleted || this.view === null;
335
335
  }
336
336
 
337
+ /**
338
+ * Doesn't compute view data; simply uses available cached
339
+ * view info to determine deletion status.
340
+ */
341
+ private get quickDeleted() {
342
+ return this._viewData?.deleted || this.cachedView === null;
343
+ }
344
+
337
345
  get invalid() {
338
346
  return !!this.validate();
339
347
  }
@@ -648,6 +656,21 @@ export class Entity<
648
656
  this.cachedView = undefined;
649
657
  };
650
658
 
659
+ // invalidates cached view of any entity targetted by change. this can
660
+ // be called by any member of the tree and will automatically target
661
+ // the correct entity.
662
+ private invalidate = (ev: EntityChange) => {
663
+ if (ev.oid === this.oid) {
664
+ this.invalidateCachedView();
665
+ } else {
666
+ const other = this.entityFamily.getCached(ev.oid);
667
+ if (other && other instanceof Entity) {
668
+ // forward the invalidation to the correct family member.
669
+ other.invalidate(ev);
670
+ }
671
+ }
672
+ };
673
+
651
674
  private change = (ev: EntityChange) => {
652
675
  if (ev.oid === this.oid) {
653
676
  // reset cached view
@@ -674,8 +697,14 @@ export class Entity<
674
697
  this.ctx.log('debug', 'Entity deleted', this.oid);
675
698
  this.emit('delete', { isLocal: ev.isLocal });
676
699
  this.wasDeletedLastChange = true;
700
+ } else {
701
+ this.ctx.log(
702
+ 'debug',
703
+ 'Entity already deleted, not emitting delete or change events',
704
+ this.oid,
705
+ );
706
+ // already deleted, do nothing.
677
707
  }
678
- // already deleted, do nothing.
679
708
  } else {
680
709
  if (this.wasDeletedLastChange) {
681
710
  this.ctx.log('debug', 'Entity restored', this.oid);
@@ -689,12 +718,25 @@ export class Entity<
689
718
  }
690
719
  };
691
720
  private changeNested = (ev: EntityChange) => {
721
+ // do not emit changes when deleted
722
+ if (this.deleted) {
723
+ this.ctx.log('debug', 'Entity deleted, not emitting change', this.oid);
724
+ return;
725
+ }
692
726
  // chain deepChanges to parents
693
727
  this.deepChange(this, ev);
694
728
  // emit the change, it's for us
695
729
  this.emit('change', { isLocal: ev.isLocal });
696
730
  };
697
731
  protected deepChange = (target: Entity, ev: EntityChange) => {
732
+ if (this.deleted) {
733
+ this.ctx.log(
734
+ 'debug',
735
+ 'Entity deleted, not emitting deep change',
736
+ this.oid,
737
+ );
738
+ return;
739
+ }
698
740
  // reset cached deep updated at timestamp; either this
699
741
  // entity or children have changed
700
742
  this.cachedDeepUpdatedAt = null;
@@ -878,7 +920,7 @@ export class Entity<
878
920
  );
879
921
  const changes = this.metadataFamily.addEphemeralData(pruneDiff);
880
922
  for (const change of changes) {
881
- this.change(change);
923
+ this.invalidate(change);
882
924
  }
883
925
  return child as any;
884
926
  };
@@ -5,6 +5,7 @@ import {
5
5
  ObjectIdentifier,
6
6
  Operation,
7
7
  StorageObjectFieldSchema,
8
+ VerdantError,
8
9
  assert,
9
10
  assignOid,
10
11
  decomposeOid,
@@ -280,11 +281,11 @@ export class EntityStore extends Disposable {
280
281
  const entity = cached.deref();
281
282
  if (entity) {
282
283
  if (entity.deleted) {
283
- this.ctx.log('debug', 'Hydrated entity is deleted', oid);
284
+ this.ctx.log('debug', 'Cached entity is deleted', oid);
284
285
  // debugger;
285
286
  return null;
286
287
  }
287
- this.ctx.log('debug', 'Hydrating entity from cache', oid);
288
+ this.ctx.log('debug', 'Using cached hydrated entity', oid);
288
289
  return entity;
289
290
  } else {
290
291
  this.ctx.log('debug', "Removing GC'd entity from cache", oid);
@@ -307,6 +308,7 @@ export class EntityStore extends Disposable {
307
308
  const pendingPromise = this.loadEntity(entity, opts);
308
309
  pendingPromise.finally(() => {
309
310
  this.pendingEntityPromises.delete(oid);
311
+ this.ctx.log('debug', 'Hydration complete', oid);
310
312
  });
311
313
  this.pendingEntityPromises.set(oid, pendingPromise);
312
314
  return pendingPromise;
@@ -341,15 +343,11 @@ export class EntityStore extends Disposable {
341
343
 
342
344
  assignOid(processed, oid);
343
345
 
344
- // creating a new Entity with no data, then preloading the operations
345
- const entity = this.constructEntity(oid);
346
- if (!entity) {
347
- throw new Error(
348
- `Could not put new document: no schema exists for collection ${collection}`,
349
- );
346
+ // validate that schema exists
347
+ const { schema } = this.getCollectionSchema(collection);
348
+ if (!schema) {
349
+ throw new Error(`Collection schema not found for ${collection}`);
350
350
  }
351
- // add files with entity as parent
352
- fileRefs.forEach((file) => this.files.add(file, entity));
353
351
 
354
352
  const operations = this.ctx.patchCreator.createInitialize(
355
353
  processed,
@@ -358,24 +356,39 @@ export class EntityStore extends Disposable {
358
356
  );
359
357
  await this.batcher.commitOperations(operations, {
360
358
  undoable: !!undoable,
361
- source: entity,
362
359
  });
363
360
 
364
361
  // TODONE: what happens if you create an entity with an OID that already
365
362
  // exists?
366
363
  // A: it will overwrite the existing entity
367
364
 
368
- // we still need to synchronously add the initial operations to the Entity
369
- // even though they are flowing through the system
370
- // FIXME: this could be better aligned to avoid grouping here
371
- const operationsGroupedByOid = groupPatchesByOid(operations);
372
- this.events.add.invoke(this, {
373
- operations: operationsGroupedByOid,
374
- isLocal: true,
365
+ // wait for the entity to load and cache before returning
366
+ const entity = await this.hydrate(oid);
367
+ if (!entity) {
368
+ // something failed when creating the entity
369
+ this.ctx.log(
370
+ 'error',
371
+ 'Failed to create entity; hydrated entity is null. Hopefully an error is logged above.',
372
+ oid,
373
+ );
374
+ throw new VerdantError(
375
+ VerdantError.Code.Unexpected,
376
+ undefined,
377
+ `Failed to create document ${oid}`,
378
+ );
379
+ }
380
+ // add files with entity as parent
381
+ // note: these .add invocations have async behavior -- it should upload any files to the
382
+ // server if sync is active. but we don't need to wait for it to make the entity usable as file
383
+ // data should already be locally available.
384
+ this.ctx.log(
385
+ 'debug',
386
+ 'Associating',
387
+ fileRefs.length,
388
+ 'files to new entity',
375
389
  oid,
376
- });
377
- this.cache.set(oid, this.ctx.weakRef(entity));
378
-
390
+ );
391
+ fileRefs.forEach((file) => this.files.add(file, entity));
379
392
  return entity;
380
393
  };
381
394
 
@@ -391,12 +404,6 @@ export class EntityStore extends Disposable {
391
404
 
392
405
  const entities = await Promise.all(oids.map((oid) => this.hydrate(oid)));
393
406
 
394
- // remove the entities from cache
395
- oids.forEach((oid) => {
396
- this.cache.delete(oid);
397
- this.ctx.log('debug', 'Deleted document from cache', oid);
398
- });
399
-
400
407
  const operations: Operation[] = [];
401
408
  for (const entity of entities) {
402
409
  if (entity) {
@@ -412,6 +419,12 @@ export class EntityStore extends Disposable {
412
419
  await this.batcher.commitOperations(operations, {
413
420
  undoable: options?.undoable === undefined ? true : options.undoable,
414
421
  });
422
+
423
+ // remove the entities from cache
424
+ oids.forEach((oid) => {
425
+ this.cache.delete(oid);
426
+ this.ctx.log('debug', 'Deleted document from cache', oid);
427
+ });
415
428
  };
416
429
 
417
430
  delete = async (oid: ObjectIdentifier, options?: { undoable?: boolean }) => {
@@ -444,7 +457,7 @@ export class EntityStore extends Disposable {
444
457
  };
445
458
 
446
459
  /**
447
- * Constructs an entity from an OID, but does not load it.
460
+ * Constructs an entity from an OID, but does not load it or add it to the cache.
448
461
  */
449
462
  private constructEntity = (oid: string): Entity | null => {
450
463
  assert(!!oid, 'Cannot construct entity without OID');
package/src/index.ts CHANGED
@@ -43,13 +43,14 @@ export type {
43
43
  ObjectEntity,
44
44
  } from './entities/types.js';
45
45
  export { EntityFile, type EntityFileSnapshot } from './files/EntityFile.js';
46
+ export * from './logger.js';
46
47
  export { IdbPersistence } from './persistence/idb/idbPersistence.js';
47
48
  export type * from './persistence/interfaces.js';
48
49
  export type { QueryStatus } from './queries/BaseQuery.js';
49
50
  export type { CollectionQueries } from './queries/CollectionQueries.js';
50
51
  export type { Query } from './queries/types.js';
51
52
  export * from './sync/cliSync.js';
52
- export { ServerSync } from './sync/Sync.js';
53
+ export { ServerSync, type ServerSyncOptions } from './sync/Sync.js';
53
54
  export type { SyncTransportMode } from './sync/Sync.js';
54
55
  export { UndoHistory } from './UndoHistory.js';
55
56
  export * from './utils/id.js';
package/src/logger.ts ADDED
@@ -0,0 +1,29 @@
1
+ export type VerdantLogger = (
2
+ level: 'debug' | 'info' | 'warn' | 'error' | 'critical',
3
+ ...args: any[]
4
+ ) => void;
5
+
6
+ export const noLogger = () => {};
7
+
8
+ export const makeLogger =
9
+ (prefix?: string): VerdantLogger =>
10
+ (level, ...args) => {
11
+ if (level === 'critical') {
12
+ args.unshift('[CRITICAL]');
13
+ }
14
+ if (prefix) {
15
+ args.unshift(`[${prefix}]`);
16
+ }
17
+ if (level === 'critical') {
18
+ console.error(...args);
19
+ } else {
20
+ console[level](...args);
21
+ }
22
+ };
23
+
24
+ export function debugLogger(prefix?: string): VerdantLogger {
25
+ if (!localStorage.getItem('DEBUG')) {
26
+ return noLogger;
27
+ }
28
+ return makeLogger(prefix);
29
+ }