@voiceflow/common 7.19.3 → 7.20.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.
@@ -22,6 +22,10 @@ export declare type NonNullishRecord<T extends object> = Required<{
22
22
  [K in keyof T]: NonNullable<T[K]>;
23
23
  }>;
24
24
  export declare type Struct = Record<string, unknown>;
25
+ export declare type AnyRecord = Record<string, any>;
26
+ export declare type DeepPartial<T> = {
27
+ [P in keyof T]?: T extends object ? DeepPartial<T[P]> : T;
28
+ };
25
29
  /**
26
30
  * An object with no keys or values.
27
31
  * @see https://github.com/typescript-eslint/typescript-eslint/issues/2063#issuecomment-675156492
@@ -1,4 +1,4 @@
1
- import { ArrayUnionToIntersection } from "../types";
1
+ import { AnyRecord, ArrayUnionToIntersection } from "../types";
2
2
  export declare const unique: <T>(items: T[]) => T[];
3
3
  export declare const without: <T>(items: T[], index: number) => T[];
4
4
  export declare const withoutValue: <T>(items: T[], value: T) => T[];
@@ -12,6 +12,7 @@ export declare const head: <T>(items: T[]) => [T, T[]];
12
12
  export declare const tail: <T>(items: T[]) => [T[], T];
13
13
  export declare const reorder: <T>(items: T[], fromIndex: number, toIndex: number) => T[];
14
14
  export declare const separate: <T>(items: T[], predicate: (item: T, index: number) => boolean) => [T[], T[]];
15
+ export declare const createMap: <T extends AnyRecord, K extends string | number = string>(array: T[], getKey: (value: T) => string) => Record<K, T>;
15
16
  export declare const findUnion: <T>(lhs: T[], rhs: T[]) => {
16
17
  rhsOnly: T[];
17
18
  lhsOnly: T[];
@@ -24,5 +25,5 @@ export declare const isNullish: (value: unknown) => value is unknown;
24
25
  export declare const isNotNullish: <T>(value: T) => value is NonNullable<T>;
25
26
  /** @deprecated Use `array.filter(isNotNullish)` instead. */
26
27
  export declare const filterOutNullish: <T>(items: readonly T[]) => NonNullable<T>[];
27
- export declare const filterAndGetLastRemovedValue: <T>(list: T[], filterFunc: (item: T) => boolean) => [T[], T | null];
28
+ export declare const filterAndGetLastRemovedValue: <T>(list: T[], filter: (item: T) => boolean) => [T[], T | null];
28
29
  export declare const inferUnion: <T extends ArrayLike<unknown>>(array: T) => import("../types").SafeArray<T[number], T>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.inferUnion = exports.filterAndGetLastRemovedValue = exports.filterOutNullish = exports.isNotNullish = exports.isNullish = exports.asyncForEach = exports.hasIdenticalMembers = exports.diff = exports.findUnion = exports.separate = exports.reorder = exports.tail = exports.head = exports.toggleMembership = exports.append = exports.insertAll = exports.insert = exports.replace = exports.withoutValues = exports.withoutValue = exports.without = exports.unique = void 0;
3
+ exports.inferUnion = exports.filterAndGetLastRemovedValue = exports.filterOutNullish = exports.isNotNullish = exports.isNullish = exports.asyncForEach = exports.hasIdenticalMembers = exports.diff = exports.findUnion = exports.createMap = exports.separate = exports.reorder = exports.tail = exports.head = exports.toggleMembership = exports.append = exports.insertAll = exports.insert = exports.replace = exports.withoutValues = exports.withoutValue = exports.without = exports.unique = void 0;
4
4
  const unique = (items) => Array.from(new Set(items));
5
5
  exports.unique = unique;
6
6
  const without = (items, index) => (index < 0 ? items : [...items.slice(0, index), ...items.slice(index + 1)]);
@@ -53,6 +53,8 @@ const separate = (items, predicate) => items.reduce(([passAcc, failAcc], item, i
53
53
  return [passAcc, failAcc];
54
54
  }, [[], []]);
55
55
  exports.separate = separate;
56
+ const createMap = (array, getKey) => array.reduce((acc, item) => Object.assign(acc, { [getKey(item)]: item }), {});
57
+ exports.createMap = createMap;
56
58
  const findUnion = (lhs, rhs) => {
57
59
  const unique = new Set([...lhs, ...rhs]);
58
60
  return Array.from(unique).reduce((acc, item) => {
@@ -101,10 +103,10 @@ exports.isNotNullish = isNotNullish;
101
103
  const filterOutNullish = (items) => items.filter(exports.isNotNullish);
102
104
  exports.filterOutNullish = filterOutNullish;
103
105
  // mostly just saves us needing to traverse an array twice
104
- const filterAndGetLastRemovedValue = (list, filterFunc) => {
106
+ const filterAndGetLastRemovedValue = (list, filter) => {
105
107
  let lastItem = null;
106
108
  const filteredList = list.filter((a) => {
107
- if (filterFunc(a))
109
+ if (filter(a))
108
110
  return true;
109
111
  lastItem = a;
110
112
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
+ import { AnyRecord, DeepPartial, Struct } from "../types";
2
+ export declare const selectField: <K extends string | number>(field: K) => <T extends { [key in K]: any; }>(obj: T) => T[K];
3
+ export declare const selectID: <T extends {
4
+ id: any;
5
+ }>(obj: T) => T["id"];
6
+ export declare const selectKey: <T extends {
7
+ key: any;
8
+ }>(obj: T) => T["key"];
9
+ export declare const selectValue: <T extends {
10
+ value: any;
11
+ }>(obj: T) => T["value"];
12
+ export declare const isObject: (obj: unknown) => obj is Struct;
1
13
  export declare const getKeys: <T>(obj: T) => (keyof T)[];
2
14
  export declare const pick: <T, K extends keyof T>(obj: T, keys: K[]) => Pick<T, K>;
3
15
  export declare const hasProperty: <T, K extends string | keyof T>(obj: T, key: K) => obj is T & Record<K, unknown>;
4
16
  export declare const getIn: <T, K extends string | keyof T>(rawObj: T, key: K | K[], def?: any, index?: number) => rawObj is T & Record<K, unknown>;
5
- export declare const setIn: (obj: Record<string, unknown>, path: any, value: any) => any;
6
- export declare const filterEntries: (obj: Record<string, any>, predicate: any) => any;
7
- export declare const getDiff: (object: Record<string, any>, base: Record<string, any>) => unknown;
8
- export declare const getTopLevelDiff: (object: any, base: any) => unknown;
17
+ export declare const setIn: (obj: AnyRecord, path: any, value: any) => any;
18
+ export declare const filterEntries: <T extends AnyRecord>(obj: T, predicate: (key: keyof T, value: T[keyof T]) => boolean) => Partial<T>;
19
+ export declare const getDiff: <S extends AnyRecord>(object: S, base: S, compare?: <T>(left: T, right: T) => boolean) => DeepPartial<S>;
20
+ export declare const getTopLevelDiff: <S extends AnyRecord>(object: S, base: S, compare?: <T>(left: T, right: T) => boolean) => Partial<S>;
@@ -3,11 +3,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getTopLevelDiff = exports.getDiff = exports.filterEntries = exports.setIn = exports.getIn = exports.hasProperty = exports.pick = exports.getKeys = void 0;
6
+ exports.getTopLevelDiff = exports.getDiff = exports.filterEntries = exports.setIn = exports.getIn = exports.hasProperty = exports.pick = exports.getKeys = exports.isObject = exports.selectValue = exports.selectKey = exports.selectID = exports.selectField = void 0;
7
7
  const cloneDeep_1 = __importDefault(require("lodash/cloneDeep"));
8
8
  const isObject_1 = __importDefault(require("lodash/isObject"));
9
9
  const toPath_1 = __importDefault(require("lodash/toPath"));
10
10
  const transform_1 = __importDefault(require("lodash/transform"));
11
+ const selectField = (field) => (obj) => obj[field];
12
+ exports.selectField = selectField;
13
+ exports.selectID = (0, exports.selectField)('id');
14
+ exports.selectKey = (0, exports.selectField)('key');
15
+ exports.selectValue = (0, exports.selectField)('value');
16
+ const isObject = (obj) => obj !== null && typeof obj === 'object';
17
+ exports.isObject = isObject;
11
18
  const getKeys = (obj) => Object.keys(obj);
12
19
  exports.getKeys = getKeys;
13
20
  const pick = (obj, keys) => keys.reduce((acc, key) => Object.assign(acc, { [key]: obj[key] }), {});
@@ -71,19 +78,31 @@ const filterEntries = (obj, predicate) => Object.entries(obj).reduce((acc, [key,
71
78
  return acc;
72
79
  }, {});
73
80
  exports.filterEntries = filterEntries;
74
- const getDiff = (object, base) => {
81
+ const defaultCompare = (left, right) => left === right;
82
+ const getDiff = (object, base, compare = defaultCompare) => {
75
83
  const changes = (object, base) => (0, transform_1.default)(object, (result, value, key) => {
76
- if (value !== base[key]) {
77
- // eslint-disable-next-line no-param-reassign
78
- result[key] = (0, isObject_1.default)(value) && (0, isObject_1.default)(base[key]) ? changes(value, base[key]) : value;
84
+ var _a;
85
+ if (!compare(value, base[key])) {
86
+ if ((0, isObject_1.default)(value) && (0, isObject_1.default)(base[key])) {
87
+ // eslint-disable-next-line no-param-reassign
88
+ result[key] = changes(value, base[key]);
89
+ if (Object.keys((_a = result[key]) !== null && _a !== void 0 ? _a : {}).length === 0) {
90
+ // eslint-disable-next-line no-param-reassign
91
+ delete result[key];
92
+ }
93
+ }
94
+ else {
95
+ // eslint-disable-next-line no-param-reassign
96
+ result[key] = value;
97
+ }
79
98
  }
80
99
  });
81
100
  return changes(object, base);
82
101
  };
83
102
  exports.getDiff = getDiff;
84
- const getTopLevelDiff = (object, base) => {
103
+ const getTopLevelDiff = (object, base, compare = defaultCompare) => {
85
104
  const changes = (object, base) => (0, transform_1.default)(object, (result, value, key) => {
86
- if (value !== base[key]) {
105
+ if (!compare(value, base[key])) {
87
106
  // eslint-disable-next-line no-param-reassign
88
107
  result[key] = value;
89
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,10 @@ export declare type NonNullishRecord<T extends object> = Required<{
22
22
  [K in keyof T]: NonNullable<T[K]>;
23
23
  }>;
24
24
  export declare type Struct = Record<string, unknown>;
25
+ export declare type AnyRecord = Record<string, any>;
26
+ export declare type DeepPartial<T> = {
27
+ [P in keyof T]?: T extends object ? DeepPartial<T[P]> : T;
28
+ };
25
29
  /**
26
30
  * An object with no keys or values.
27
31
  * @see https://github.com/typescript-eslint/typescript-eslint/issues/2063#issuecomment-675156492
@@ -1,4 +1,4 @@
1
- import { ArrayUnionToIntersection } from "../types";
1
+ import { AnyRecord, ArrayUnionToIntersection } from "../types";
2
2
  export declare const unique: <T>(items: T[]) => T[];
3
3
  export declare const without: <T>(items: T[], index: number) => T[];
4
4
  export declare const withoutValue: <T>(items: T[], value: T) => T[];
@@ -12,6 +12,7 @@ export declare const head: <T>(items: T[]) => [T, T[]];
12
12
  export declare const tail: <T>(items: T[]) => [T[], T];
13
13
  export declare const reorder: <T>(items: T[], fromIndex: number, toIndex: number) => T[];
14
14
  export declare const separate: <T>(items: T[], predicate: (item: T, index: number) => boolean) => [T[], T[]];
15
+ export declare const createMap: <T extends AnyRecord, K extends string | number = string>(array: T[], getKey: (value: T) => string) => Record<K, T>;
15
16
  export declare const findUnion: <T>(lhs: T[], rhs: T[]) => {
16
17
  rhsOnly: T[];
17
18
  lhsOnly: T[];
@@ -24,5 +25,5 @@ export declare const isNullish: (value: unknown) => value is unknown;
24
25
  export declare const isNotNullish: <T>(value: T) => value is NonNullable<T>;
25
26
  /** @deprecated Use `array.filter(isNotNullish)` instead. */
26
27
  export declare const filterOutNullish: <T>(items: readonly T[]) => NonNullable<T>[];
27
- export declare const filterAndGetLastRemovedValue: <T>(list: T[], filterFunc: (item: T) => boolean) => [T[], T | null];
28
+ export declare const filterAndGetLastRemovedValue: <T>(list: T[], filter: (item: T) => boolean) => [T[], T | null];
28
29
  export declare const inferUnion: <T extends ArrayLike<unknown>>(array: T) => import("../types").SafeArray<T[number], T>;
@@ -37,6 +37,7 @@ export const separate = (items, predicate) => items.reduce(([passAcc, failAcc],
37
37
  }
38
38
  return [passAcc, failAcc];
39
39
  }, [[], []]);
40
+ export const createMap = (array, getKey) => array.reduce((acc, item) => Object.assign(acc, { [getKey(item)]: item }), {});
40
41
  export const findUnion = (lhs, rhs) => {
41
42
  const unique = new Set([...lhs, ...rhs]);
42
43
  return Array.from(unique).reduce((acc, item) => {
@@ -78,10 +79,10 @@ export const isNotNullish = (value) => value !== null && value !== undefined;
78
79
  /** @deprecated Use `array.filter(isNotNullish)` instead. */
79
80
  export const filterOutNullish = (items) => items.filter(isNotNullish);
80
81
  // mostly just saves us needing to traverse an array twice
81
- export const filterAndGetLastRemovedValue = (list, filterFunc) => {
82
+ export const filterAndGetLastRemovedValue = (list, filter) => {
82
83
  let lastItem = null;
83
84
  const filteredList = list.filter((a) => {
84
- if (filterFunc(a))
85
+ if (filter(a))
85
86
  return true;
86
87
  lastItem = a;
87
88
  return false;
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../../src/utils/array.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
+ import { AnyRecord, DeepPartial, Struct } from "../types";
2
+ export declare const selectField: <K extends string | number>(field: K) => <T extends { [key in K]: any; }>(obj: T) => T[K];
3
+ export declare const selectID: <T extends {
4
+ id: any;
5
+ }>(obj: T) => T["id"];
6
+ export declare const selectKey: <T extends {
7
+ key: any;
8
+ }>(obj: T) => T["key"];
9
+ export declare const selectValue: <T extends {
10
+ value: any;
11
+ }>(obj: T) => T["value"];
12
+ export declare const isObject: (obj: unknown) => obj is Struct;
1
13
  export declare const getKeys: <T>(obj: T) => (keyof T)[];
2
14
  export declare const pick: <T, K extends keyof T>(obj: T, keys: K[]) => Pick<T, K>;
3
15
  export declare const hasProperty: <T, K extends string | keyof T>(obj: T, key: K) => obj is T & Record<K, unknown>;
4
16
  export declare const getIn: <T, K extends string | keyof T>(rawObj: T, key: K | K[], def?: any, index?: number) => rawObj is T & Record<K, unknown>;
5
- export declare const setIn: (obj: Record<string, unknown>, path: any, value: any) => any;
6
- export declare const filterEntries: (obj: Record<string, any>, predicate: any) => any;
7
- export declare const getDiff: (object: Record<string, any>, base: Record<string, any>) => unknown;
8
- export declare const getTopLevelDiff: (object: any, base: any) => unknown;
17
+ export declare const setIn: (obj: AnyRecord, path: any, value: any) => any;
18
+ export declare const filterEntries: <T extends AnyRecord>(obj: T, predicate: (key: keyof T, value: T[keyof T]) => boolean) => Partial<T>;
19
+ export declare const getDiff: <S extends AnyRecord>(object: S, base: S, compare?: <T>(left: T, right: T) => boolean) => DeepPartial<S>;
20
+ export declare const getTopLevelDiff: <S extends AnyRecord>(object: S, base: S, compare?: <T>(left: T, right: T) => boolean) => Partial<S>;
@@ -2,6 +2,11 @@ import _cloneDeep from 'lodash/cloneDeep';
2
2
  import _isObject from 'lodash/isObject';
3
3
  import _toPath from 'lodash/toPath';
4
4
  import _transform from 'lodash/transform';
5
+ export const selectField = (field) => (obj) => obj[field];
6
+ export const selectID = selectField('id');
7
+ export const selectKey = selectField('key');
8
+ export const selectValue = selectField('value');
9
+ export const isObject = (obj) => obj !== null && typeof obj === 'object';
5
10
  export const getKeys = (obj) => Object.keys(obj);
6
11
  export const pick = (obj, keys) => keys.reduce((acc, key) => Object.assign(acc, { [key]: obj[key] }), {});
7
12
  export const hasProperty = (obj, key) => Object.prototype.hasOwnProperty.call(obj, key);
@@ -59,18 +64,30 @@ export const filterEntries = (obj, predicate) => Object.entries(obj).reduce((acc
59
64
  }
60
65
  return acc;
61
66
  }, {});
62
- export const getDiff = (object, base) => {
67
+ const defaultCompare = (left, right) => left === right;
68
+ export const getDiff = (object, base, compare = defaultCompare) => {
63
69
  const changes = (object, base) => _transform(object, (result, value, key) => {
64
- if (value !== base[key]) {
65
- // eslint-disable-next-line no-param-reassign
66
- result[key] = _isObject(value) && _isObject(base[key]) ? changes(value, base[key]) : value;
70
+ var _a;
71
+ if (!compare(value, base[key])) {
72
+ if (_isObject(value) && _isObject(base[key])) {
73
+ // eslint-disable-next-line no-param-reassign
74
+ result[key] = changes(value, base[key]);
75
+ if (Object.keys((_a = result[key]) !== null && _a !== void 0 ? _a : {}).length === 0) {
76
+ // eslint-disable-next-line no-param-reassign
77
+ delete result[key];
78
+ }
79
+ }
80
+ else {
81
+ // eslint-disable-next-line no-param-reassign
82
+ result[key] = value;
83
+ }
67
84
  }
68
85
  });
69
86
  return changes(object, base);
70
87
  };
71
- export const getTopLevelDiff = (object, base) => {
88
+ export const getTopLevelDiff = (object, base, compare = defaultCompare) => {
72
89
  const changes = (object, base) => _transform(object, (result, value, key) => {
73
- if (value !== base[key]) {
90
+ if (!compare(value, base[key])) {
74
91
  // eslint-disable-next-line no-param-reassign
75
92
  result[key] = value;
76
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/utils/object.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@voiceflow/common",
3
3
  "description": "Junk drawer of utility functions",
4
- "version": "7.19.3",
4
+ "version": "7.20.0",
5
5
  "author": "Voiceflow",
6
6
  "bugs": {
7
7
  "url": "https://github.com/voiceflow/libs/issues"
@@ -72,5 +72,5 @@
72
72
  "test:single": "NODE_ENV=test ts-mocha --paths --config config/tests/mocharc.yml",
73
73
  "test:unit": "NODE_ENV=test nyc --report-dir=nyc_coverage_unit ts-mocha --paths --config config/tests/mocharc.yml 'tests/**/*.unit.ts'"
74
74
  },
75
- "gitHead": "3278e6c57565c8f20e47350d667d29566e88a297"
75
+ "gitHead": "6ef213499ff07a7a36a7002f49ebc19d8454a44c"
76
76
  }