@webkrafters/eagleeye 1.0.1 → 1.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.
Files changed (2) hide show
  1. package/dist/main/index.js +19 -2
  2. package/package.json +2 -4
@@ -125,7 +125,6 @@ var lodash_isboolean_1 = __importDefault(require("lodash.isboolean"));
125
125
  var lodash_isempty_1 = __importDefault(require("lodash.isempty"));
126
126
  var lodash_isequal_1 = __importDefault(require("lodash.isequal"));
127
127
  var lodash_isplainobject_1 = __importDefault(require("lodash.isplainobject"));
128
- var lodash_set_1 = __importDefault(require("lodash.set"));
129
128
  var get_property_1 = __importDefault(require("@webkrafters/get-property"));
130
129
  var path_dotize_1 = __importDefault(require("@webkrafters/path-dotize"));
131
130
  var auto_immutable_1 = __importDefault(require("@webkrafters/auto-immutable"));
@@ -1004,7 +1003,7 @@ function _getState(connection, propertyPaths) {
1004
1003
  var data = connection.get.apply(connection, _toConsumableArray(propertyPaths));
1005
1004
  var state = {};
1006
1005
  for (var d in data) {
1007
- (0, lodash_set_1["default"])(state, d, data[d]);
1006
+ set(state, d, data[d]);
1008
1007
  }
1009
1008
  return mkReadonly(state);
1010
1009
  }
@@ -1048,4 +1047,22 @@ function streamable(method, context) {
1048
1047
  return method.apply(this, args);
1049
1048
  }
1050
1049
  };
1050
+ }
1051
+ var OPEN_PTN = /^[[.]+/;
1052
+ var CLOSE_PTN = /[.\]]+$/;
1053
+ var SEP_PTN = /\]*[[\].]+/;
1054
+ var NUMERIC_PTN = /^[0-9]+$/;
1055
+ function set(obj, path, value) {
1056
+ if (!Array.isArray(path)) {
1057
+ path = path.replace(OPEN_PTN, '').replace(CLOSE_PTN, '').split(SEP_PTN);
1058
+ }
1059
+ var pLen = path.length - 1;
1060
+ for (var p = 0; p < pLen; p++) {
1061
+ var key = path[p];
1062
+ if (!(key in obj)) {
1063
+ obj[key] = NUMERIC_PTN.test(key) ? [] : {};
1064
+ }
1065
+ obj = obj[key];
1066
+ }
1067
+ obj[path[pLen]] = value;
1051
1068
  }
package/package.json CHANGED
@@ -46,7 +46,6 @@
46
46
  "lodash.isobject": "^3.0.2",
47
47
  "lodash.isplainobject": "^4.0.6",
48
48
  "lodash.omit": "^4.5.0",
49
- "lodash.set": "^4.3.2",
50
49
  "setimmediate": "^1.0.5",
51
50
  "ts-jest": "^29.1.2",
52
51
  "ts-node": "^10.9.2",
@@ -79,8 +78,7 @@
79
78
  "lodash.isempty": ">= 0.1.0",
80
79
  "lodash.isequal": ">= 0.1.0",
81
80
  "lodash.isplainobject": ">= 0.8.0",
82
- "lodash.omit": ">= 0.1.0",
83
- "lodash.set": ">= 0.1.0"
81
+ "lodash.omit": ">= 0.1.0"
84
82
  },
85
83
  "publishConfig": {
86
84
  "access": "public"
@@ -97,7 +95,7 @@
97
95
  "test:watch": "eslint --fix && jest --updateSnapshot --watchAll"
98
96
  },
99
97
  "types": "dist/index.d.ts",
100
- "version": "1.0.1",
98
+ "version": "1.0.2",
101
99
  "dependencies": {
102
100
  "@webkrafters/auto-immutable": "^2.0.5"
103
101
  }