smob 0.0.1 → 0.0.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.
package/README.MD CHANGED
@@ -4,7 +4,7 @@
4
4
  [![main](https://github.com/tada5hi/smob/actions/workflows/main.yml/badge.svg)](https://github.com/tada5hi/smob/actions/workflows/main.yml)
5
5
  [![codecov](https://codecov.io/gh/tada5hi/smob/branch/master/graph/badge.svg?token=0VL41WO0CG)](https://codecov.io/gh/tada5hi/smob)
6
6
 
7
- This is a library to **s**afe **m**erge **ob**jects and other data structures.
7
+ Zero dependency library to **s**afe **m**erge **ob**jects and other data structures.
8
8
 
9
9
  **Table of Contents**
10
10
 
@@ -29,7 +29,7 @@ const ob = merge(target, ...sources);
29
29
  The following merge options are set by default:
30
30
  - **priority**: `left`
31
31
  The source aka leftmost object has by **default** the highest priority.
32
- - **arrays**: `true`
32
+ - **array**: `true`
33
33
  Merge source and target arrays by priority order.
34
34
 
35
35
  The merge behaviour can be changed by creating a custom [merger](#merger).
@@ -59,16 +59,26 @@ console.log(merge({ a: 1 }, { a: 2 }, { a: 3 }));
59
59
  // => { a: 3 }
60
60
  ```
61
61
 
62
- **Arrays**
62
+ **Array**
63
63
  ```typescript
64
64
  import { createMerger } from 'smob';
65
65
 
66
- const merge = createMerger({ arrays: false });
66
+ const merge = createMerger({ array: false });
67
67
 
68
68
  console.log(merge({ a: [1,2,3] }, { a: [4,5,6] }));
69
69
  // => { a: [1,2,3] }
70
70
  ```
71
71
 
72
+ **ArrayDistinct**
73
+ ```typescript
74
+ import { createMerger } from 'smob';
75
+
76
+ const merge = createMerger({ arrayDistinct: true });
77
+
78
+ console.log(merge({ a: [1,2,3] }, { a: [3,4,5] }));
79
+ // => { a: [1,2,3,4,5] }
80
+ ```
81
+
72
82
  **Strategy**
73
83
  ```typescript
74
84
  import { createMerger } from 'smob';
package/dist/module.js CHANGED
@@ -5,38 +5,24 @@
5
5
  * For the full copyright and license information,
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
10
- if (ar || !(i in from)) {
11
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
12
- ar[i] = from[i];
13
- }
14
- }
15
- return to.concat(ar || Array.prototype.slice.call(from));
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.merge = exports.createMerger = exports.baseMerger = void 0;
19
- var utils_1 = require("./utils");
20
- function baseMerger(options, target) {
21
- var _a, _b, _c, _d;
22
- var sources = [];
23
- for (var _i = 2; _i < arguments.length; _i++) {
24
- sources[_i - 2] = arguments[_i];
25
- }
10
+ const utils_1 = require("./utils");
11
+ function baseMerger(options, target, ...sources) {
26
12
  if (!sources.length)
27
13
  return target;
28
- var source = sources.shift();
14
+ const source = sources.shift();
29
15
  if ((0, utils_1.isObject)(target) &&
30
16
  (0, utils_1.isObject)(source)) {
31
- var keys = Object.keys(source);
32
- for (var i = 0; i < keys.length; i++) {
33
- var key = keys[i];
17
+ const keys = Object.keys(source);
18
+ for (let i = 0; i < keys.length; i++) {
19
+ const key = keys[i];
34
20
  if (!(0, utils_1.isSafeKey)(key)) {
35
21
  continue;
36
22
  }
37
23
  if ((0, utils_1.hasOwnProperty)(target, key)) {
38
24
  if (options.strategy) {
39
- var applied = options.strategy(target, key, source[key]);
25
+ const applied = options.strategy(target, key, source[key]);
40
26
  if (typeof applied !== 'undefined') {
41
27
  continue;
42
28
  }
@@ -49,40 +35,38 @@ function baseMerger(options, target) {
49
35
  baseMerger(options, target[key], source[key]);
50
36
  continue;
51
37
  }
52
- if (options.arrays &&
38
+ if (options.array &&
53
39
  Array.isArray(target[key]) &&
54
40
  Array.isArray(source[key])) {
55
41
  switch (options.priority) {
56
42
  case 'left':
57
- Object.assign(target, (_a = {}, _a[key] = target[key].concat(source[key]), _a));
43
+ Object.assign(target, {
44
+ [key]: (0, utils_1.mergeArrays)(target[key], source[key], options.arrayDistinct),
45
+ });
58
46
  break;
59
47
  case 'right':
60
- Object.assign(target, (_b = {}, _b[key] = source[key].concat(target[key]), _b));
48
+ Object.assign(target, {
49
+ [key]: (0, utils_1.mergeArrays)(source[key], target[key], options.arrayDistinct),
50
+ });
61
51
  break;
62
52
  }
63
53
  continue;
64
54
  }
65
55
  if (options.priority === 'right') {
66
- Object.assign(target, (_c = {}, _c[key] = source[key], _c));
56
+ Object.assign(target, { [key]: source[key] });
67
57
  }
68
58
  }
69
59
  else {
70
- Object.assign(target, (_d = {}, _d[key] = source[key], _d));
60
+ Object.assign(target, { [key]: source[key] });
71
61
  }
72
62
  }
73
63
  }
74
- return baseMerger.apply(void 0, __spreadArray([options, target], sources, false));
64
+ return baseMerger(options, target, ...sources);
75
65
  }
76
66
  exports.baseMerger = baseMerger;
77
67
  function createMerger(input) {
78
- var options = (0, utils_1.buildOptions)(input);
79
- return function (target) {
80
- var sources = [];
81
- for (var _i = 1; _i < arguments.length; _i++) {
82
- sources[_i - 1] = arguments[_i];
83
- }
84
- return baseMerger.apply(void 0, __spreadArray([options, target], sources, false));
85
- };
68
+ const options = (0, utils_1.buildOptions)(input);
69
+ return (target, ...sources) => baseMerger(options, target, ...sources);
86
70
  }
87
71
  exports.createMerger = createMerger;
88
72
  exports.merge = createMerger();
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2022.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.mergeArrays = void 0;
10
+ function mergeArrays(first, second, arrayDistinct) {
11
+ if (arrayDistinct) {
12
+ return [...new Set(first.concat(second))];
13
+ }
14
+ return first.concat(second);
15
+ }
16
+ exports.mergeArrays = mergeArrays;
17
+ //# sourceMappingURL=array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/utils/array.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,SAAgB,WAAW,CACvB,KAAY,EACZ,MAAa,EACb,aAAsB;IAEtB,IAAI,aAAa,EAAE;QACf,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;KAC7C;IAED,OAAO,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAVD,kCAUC"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.isSafeKey = exports.isSafeObject = exports.isObjectDeeperThan = exports.isObject = void 0;
10
- var has_own_property_1 = require("./has-own-property");
10
+ const has_own_property_1 = require("./has-own-property");
11
11
  function isObject(item) {
12
12
  return (item &&
13
13
  typeof item === 'object' &&
@@ -21,9 +21,9 @@ function isObjectDeeperThan(value, depth) {
21
21
  if (typeof value !== 'object') {
22
22
  return false;
23
23
  }
24
- var nextDepth = depth - 1;
25
- var keys = Object.keys(value);
26
- for (var i = 0; i < keys.length; i++) {
24
+ const nextDepth = depth - 1;
25
+ const keys = Object.keys(value);
26
+ for (let i = 0; i < keys.length; i++) {
27
27
  if ((0, has_own_property_1.hasOwnProperty)(value, keys[i]) &&
28
28
  isObjectDeeperThan(value[keys[i]], nextDepth)) {
29
29
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/utils/check.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uDAAoD;AAEpD,SAAgB,QAAQ,CAAC,IAAa;IAClC,OAAO,CACH,IAAI;QACJ,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACvB,CAAC;AACN,CAAC;AAND,4BAMC;AAED,SAAgB,kBAAkB,CAAC,KAAc,EAAE,KAAa;IAC5D,IAAI,KAAK,IAAI,CAAC,EAAE;QACZ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,KAAK,CAAC;KAChB;IAED,IAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5B,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IACI,IAAA,iCAAc,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAC/C;YACE,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AArBD,gDAqBC;AAED,SAAgB,YAAY,CAAC,MAA2B;IACpD,IAAI;QACA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAPD,oCAOC;AAED,SAAgB,SAAS,CAAC,GAAW;IACjC,OAAO,GAAG,KAAK,WAAW;QACtB,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,aAAa,CAAC;AAC9B,CAAC;AAJD,8BAIC"}
1
+ {"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/utils/check.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,yDAAoD;AAEpD,SAAgB,QAAQ,CAAC,IAAa;IAClC,OAAO,CACH,IAAI;QACJ,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CACvB,CAAC;AACN,CAAC;AAND,4BAMC;AAED,SAAgB,kBAAkB,CAAC,KAAc,EAAE,KAAa;IAC5D,IAAI,KAAK,IAAI,CAAC,EAAE;QACZ,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC3B,OAAO,KAAK,CAAC;KAChB;IAED,MAAM,SAAS,GAAG,KAAK,GAAG,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IACI,IAAA,iCAAc,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9B,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,EAC/C;YACE,OAAO,IAAI,CAAC;SACf;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AArBD,gDAqBC;AAED,SAAgB,YAAY,CAAC,MAA2B;IACpD,IAAI;QACA,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACf;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAPD,oCAOC;AAED,SAAgB,SAAS,CAAC,GAAW;IACjC,OAAO,GAAG,KAAK,WAAW;QACtB,GAAG,KAAK,WAAW;QACnB,GAAG,KAAK,aAAa,CAAC;AAC9B,CAAC;AAJD,8BAIC"}
package/dist/utils/cut.js CHANGED
@@ -5,27 +5,16 @@
5
5
  * For the full copyright and license information,
6
6
  * view the LICENSE file that was distributed with this source code.
7
7
  */
8
- var __assign = (this && this.__assign) || function () {
9
- __assign = Object.assign || function(t) {
10
- for (var s, i = 1, n = arguments.length; i < n; i++) {
11
- s = arguments[i];
12
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
13
- t[p] = s[p];
14
- }
15
- return t;
16
- };
17
- return __assign.apply(this, arguments);
18
- };
19
8
  Object.defineProperty(exports, "__esModule", { value: true });
20
9
  exports.cutObject = void 0;
21
- var check_1 = require("./check");
10
+ const check_1 = require("./check");
22
11
  function cutObject(input, depth) {
23
12
  if (depth < 0) {
24
13
  return {};
25
14
  }
26
- var value = __assign({}, input);
27
- var keys = Object.keys(value);
28
- for (var i = 0; i < keys.length; i++) {
15
+ const value = Object.assign({}, input);
16
+ const keys = Object.keys(value);
17
+ for (let i = 0; i < keys.length; i++) {
29
18
  if ((0, check_1.isObject)(value[keys[i]])) {
30
19
  if (depth === 0) {
31
20
  value[keys[i]] = {};
@@ -1 +1 @@
1
- {"version":3,"file":"cut.js","sourceRoot":"","sources":["../../src/utils/cut.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;AAEH,iCAAmC;AAEnC,SAAgB,SAAS,CAAgC,KAAQ,EAAE,KAAa;IAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,EAAO,CAAC;KAClB;IAED,IAAM,KAAK,gBAAQ,KAAK,CAAE,CAAC;IAC3B,IAAM,IAAI,GAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAgB,CAAC;aACrC;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;aACzD;SACJ;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAnBD,8BAmBC"}
1
+ {"version":3,"file":"cut.js","sourceRoot":"","sources":["../../src/utils/cut.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,mCAAmC;AAEnC,SAAgB,SAAS,CAAgC,KAAQ,EAAE,KAAa;IAC5E,IAAI,KAAK,GAAG,CAAC,EAAE;QACX,OAAO,EAAO,CAAC;KAClB;IAED,MAAM,KAAK,qBAAQ,KAAK,CAAE,CAAC;IAC3B,MAAM,IAAI,GAAiB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAClC,IAAI,IAAA,gBAAQ,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1B,IAAI,KAAK,KAAK,CAAC,EAAE;gBACb,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAgB,CAAC;aACrC;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;aACzD;SACJ;KACJ;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAnBD,8BAmBC"}
@@ -20,6 +20,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
20
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
21
  };
22
22
  Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./array"), exports);
23
24
  __exportStar(require("./check"), exports);
24
25
  __exportStar(require("./cut"), exports);
25
26
  __exportStar(require("./has-own-property"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,wCAAsB;AACtB,qDAAmC;AACnC,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,0CAAwB;AACxB,0CAAwB;AACxB,wCAAsB;AACtB,qDAAmC;AACnC,4CAA0B"}
@@ -8,9 +8,10 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.buildOptions = void 0;
10
10
  function buildOptions(options) {
11
- var _a;
11
+ var _a, _b;
12
12
  options = options || {};
13
- options.arrays = (_a = options.arrays) !== null && _a !== void 0 ? _a : true;
13
+ options.array = (_a = options.array) !== null && _a !== void 0 ? _a : true;
14
+ options.arrayDistinct = (_b = options.arrayDistinct) !== null && _b !== void 0 ? _b : false;
14
15
  options.priority = options.priority || 'left';
15
16
  return options;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,SAAgB,YAAY,CAAC,OAA0B;;IACnD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,OAAO,CAAC,MAAM,GAAG,MAAA,OAAO,CAAC,MAAM,mCAAI,IAAI,CAAC;IACxC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAE9C,OAAO,OAAkB,CAAC;AAC9B,CAAC;AAPD,oCAOC"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../../src/utils/options.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAIH,SAAgB,YAAY,CAAC,OAA0B;;IACnD,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IAExB,OAAO,CAAC,KAAK,GAAG,MAAA,OAAO,CAAC,KAAK,mCAAI,IAAI,CAAC;IACtC,OAAO,CAAC,aAAa,GAAG,MAAA,OAAO,CAAC,aAAa,mCAAI,KAAK,CAAC;IACvD,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAE9C,OAAO,OAAkB,CAAC;AAC9B,CAAC;AARD,oCAQC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "smob",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "Safe merge objects.",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "dist/index.d.ts",