@verdant-web/store 3.5.0 → 3.5.2

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.
@@ -127,9 +127,10 @@ export declare class Entity<Init = any, KeyValue extends BaseEntityValue = any,
127
127
  keys: () => string[];
128
128
  entries: () => [string, Exclude<KeyValue[keyof KeyValue], undefined>][];
129
129
  values: () => Exclude<KeyValue[keyof KeyValue], undefined>[];
130
- update: (data: any, { merge, replaceSubObjects, }?: {
130
+ update: (data: any, { merge, replaceSubObjects, preserveUndefined, }?: {
131
131
  replaceSubObjects?: boolean | undefined;
132
132
  merge?: boolean | undefined;
133
+ preserveUndefined?: boolean | undefined;
133
134
  }) => void;
134
135
  get length(): number;
135
136
  push: (value: ListItemInit<Init>) => void;
@@ -403,7 +403,7 @@ export class Entity extends EventSubscriber {
403
403
  return [];
404
404
  return Object.values(this.view);
405
405
  };
406
- this.update = (data, { merge = true, replaceSubObjects = false, } = {}) => {
406
+ this.update = (data, { merge = true, replaceSubObjects = false, preserveUndefined = false, } = {}) => {
407
407
  if (!merge && this.schema.type !== 'any' && this.schema.type !== 'map') {
408
408
  throw new Error('Cannot use .update without merge if the field has a strict schema type. merge: false is only available on "any" or "map" types.');
409
409
  }
@@ -413,6 +413,9 @@ export class Entity extends EventSubscriber {
413
413
  if (this.readonlyKeys.includes(key)) {
414
414
  throw new Error(`Cannot set readonly key ${key.toString()}`);
415
415
  }
416
+ // ignore undefined values unless overridden
417
+ if (field === undefined && !preserveUndefined)
418
+ continue;
416
419
  const fieldSchema = getChildFieldSchema(this.schema, key);
417
420
  if (fieldSchema) {
418
421
  traverseCollectionFieldsAndApplyDefaults(field, fieldSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/entities/Entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.js","sourceRoot":"","sources":["../../../src/entities/Entity.ts"],"names":[],"mappings":"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"}
@@ -188,5 +188,24 @@ describe('Entity', () => {
188
188
  });
189
189
  });
190
190
  });
191
+ describe('changes', () => {
192
+ it('can apply partial updates including undefineds', () => {
193
+ const { entity, initialize } = createTestEntity();
194
+ initialize({
195
+ id: 'hi',
196
+ string: 'world',
197
+ number: 1,
198
+ nullable: null,
199
+ nonNullable: { first: { inner: 'foo' } },
200
+ map: {},
201
+ list: [20, { inner: 'yay' }],
202
+ });
203
+ entity.update({
204
+ string: 'new world',
205
+ number: undefined,
206
+ });
207
+ expect(entity.get('string')).toBe('new world');
208
+ });
209
+ });
191
210
  });
192
211
  //# sourceMappingURL=Entity.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Entity.test.js","sourceRoot":"","sources":["../../../src/entities/Entity.test.ts"],"names":[],"mappings":"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"}
@@ -21,3 +21,5 @@ export type { Query } from './queries/types.js';
21
21
  export type { QueryStatus } from './queries/BaseQuery.js';
22
22
  export type { CollectionQueries } from './queries/CollectionQueries.js';
23
23
  export { MigrationPathError } from './migration/errors.js';
24
+ export * from './utils/id.js';
25
+ export { UndoHistory } from './UndoHistory.js';
package/dist/esm/index.js CHANGED
@@ -12,4 +12,6 @@ export {
12
12
  /** @deprecated - use schema.collection */
13
13
  collection, schema, createDefaultMigration, migrate, createMigration, } from '@verdant-web/common';
14
14
  export { MigrationPathError } from './migration/errors.js';
15
+ export * from './utils/id.js';
16
+ export { UndoHistory } from './UndoHistory.js';
15
17
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,GAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,kBAAkB;AAClB,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,OAAO;AACN,0CAA0C;AAC1C,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,OAAO,EACP,eAAe,GACf,MAAM,qBAAqB,CAAC;AAsB7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,gBAAgB,GAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,CAAC;AAC5B,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,kBAAkB;AAClB,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,OAAO,EAAE,CAAC;AAG7B,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,UAAU,EAA2B,MAAM,uBAAuB,CAAC;AAC5E,OAAO;AACN,0CAA0C;AAC1C,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,OAAO,EACP,eAAe,GACf,MAAM,qBAAqB,CAAC;AAsB7B,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1 @@
1
+ export declare function id(short?: boolean): string;
@@ -0,0 +1,7 @@
1
+ import cuid from 'cuid';
2
+ export function id(short) {
3
+ if (short)
4
+ return cuid.slug();
5
+ return cuid();
6
+ }
7
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../../src/utils/id.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,EAAE,CAAC,KAAe;IACjC,IAAI,KAAK;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,IAAI,EAAE,CAAC;AACf,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@verdant-web/store",
3
- "version": "3.5.0",
3
+ "version": "3.5.2",
4
4
  "access": "public",
5
5
  "type": "module",
6
6
  "exports": {
@@ -215,4 +215,27 @@ describe('Entity', () => {
215
215
  });
216
216
  });
217
217
  });
218
+
219
+ describe('changes', () => {
220
+ it('can apply partial updates including undefineds', () => {
221
+ const { entity, initialize } = createTestEntity();
222
+
223
+ initialize({
224
+ id: 'hi',
225
+ string: 'world',
226
+ number: 1,
227
+ nullable: null,
228
+ nonNullable: { first: { inner: 'foo' } },
229
+ map: {},
230
+ list: [20, { inner: 'yay' }],
231
+ });
232
+
233
+ entity.update({
234
+ string: 'new world',
235
+ number: undefined,
236
+ });
237
+
238
+ expect(entity.get('string')).toBe('new world');
239
+ });
240
+ });
218
241
  });
@@ -786,7 +786,12 @@ export class Entity<
786
786
  {
787
787
  merge = true,
788
788
  replaceSubObjects = false,
789
- }: { replaceSubObjects?: boolean; merge?: boolean } = {},
789
+ preserveUndefined = false,
790
+ }: {
791
+ replaceSubObjects?: boolean;
792
+ merge?: boolean;
793
+ preserveUndefined?: boolean;
794
+ } = {},
790
795
  ): void => {
791
796
  if (!merge && this.schema.type !== 'any' && this.schema.type !== 'map') {
792
797
  throw new Error(
@@ -799,6 +804,9 @@ export class Entity<
799
804
  if (this.readonlyKeys.includes(key as any)) {
800
805
  throw new Error(`Cannot set readonly key ${key.toString()}`);
801
806
  }
807
+ // ignore undefined values unless overridden
808
+ if (field === undefined && !preserveUndefined) continue;
809
+
802
810
  const fieldSchema = getChildFieldSchema(this.schema, key);
803
811
  if (fieldSchema) {
804
812
  traverseCollectionFieldsAndApplyDefaults(field, fieldSchema);
package/src/index.ts CHANGED
@@ -53,3 +53,5 @@ export type { Query } from './queries/types.js';
53
53
  export type { QueryStatus } from './queries/BaseQuery.js';
54
54
  export type { CollectionQueries } from './queries/CollectionQueries.js';
55
55
  export { MigrationPathError } from './migration/errors.js';
56
+ export * from './utils/id.js';
57
+ export { UndoHistory } from './UndoHistory.js';
@@ -0,0 +1,6 @@
1
+ import cuid from 'cuid';
2
+
3
+ export function id(short?: boolean) {
4
+ if (short) return cuid.slug();
5
+ return cuid();
6
+ }