@webkrafters/react-observable-context 4.1.0-rc.8.1 → 4.1.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.
package/dist/types.d.ts CHANGED
@@ -29,16 +29,6 @@ export type Prehooks<T extends State> = {
29
29
  }) => boolean;
30
30
  setState?: (newChanges: PartialState<T>) => boolean;
31
31
  };
32
- export type PropertyInfo<T extends any[] | State> = {
33
- _value: any;
34
- exists: boolean;
35
- index: number;
36
- isSelf: KeyType;
37
- key: KeyType;
38
- source: T;
39
- trail: Array<KeyType>;
40
- value: any;
41
- };
42
32
  export type State = {
43
33
  [x: string]: any;
44
34
  [x: number]: any;
@@ -5,8 +5,5 @@ export function mapPathsToObject<T extends {
5
5
  [x: string]: any;
6
6
  }>(source: T, propertyPaths: Array<string>): { [K in keyof T]?: any; };
7
7
  export function clonedeep<T, R>(value: T): R;
8
- export function getProperty(source: T, path: KeyType | Array<KeyType>, defaultValue: any): PropertyInfo<T>;
9
- export type GetProperty<T extends any[] | import("../types").State = any[] | import("../types").State> = (source: T, path?: KeyType | Array<KeyType>, defaultValue?: any) => PropertyInfo<T>;
10
- export type PropertyInfo<T extends any[] | import("../types").State> = import("../types").PropertyInfo<T>;
11
- export type State = import("../types").State;
12
- export type KeyType = import("../types").KeyType;
8
+ export const getProperty: typeof get;
9
+ import get from "@webkrafters/get-property";
@@ -10,6 +10,7 @@ exports.mapPathsToObject = mapPathsToObject;
10
10
  var _lodash = _interopRequireDefault(require("lodash.clonedeepwith"));
11
11
  var _lodash2 = _interopRequireDefault(require("lodash.isplainobject"));
12
12
  var _clonedeepEligibilityCheck = _interopRequireDefault(require("./clonedeep-eligibility-check"));
13
+ var _getProperty2 = _interopRequireDefault(require("@webkrafters/get-property"));
13
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
15
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
15
16
  function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
@@ -33,15 +34,16 @@ function arrangePropertyPaths(propertyPaths) {
33
34
  })) {
34
35
  return "break|L2";
35
36
  }
36
- } else {
37
- pathTokens.every(function (p, i) {
38
- return p === superPathTokens[i];
39
- }) && replacedSuperPaths.push(superPath);
37
+ return "continue";
40
38
  }
39
+ pathTokens.every(function (p, i) {
40
+ return p === superPathTokens[i];
41
+ }) && replacedSuperPaths.push(superPath);
41
42
  };
42
43
  for (var superPath in superPathTokensMap) {
43
44
  var _ret = _loop2(superPath);
44
45
  if (_ret === "break|L2") break L2;
46
+ if (_ret === "continue") continue;
45
47
  }
46
48
  superPathTokensMap[path] = pathTokens;
47
49
  for (var _i = 0, _replacedSuperPaths = replacedSuperPaths; _i < _replacedSuperPaths.length; _i++) {
@@ -87,84 +89,7 @@ var clonedeep = function () {
87
89
  return clonedeep;
88
90
  }();
89
91
  exports.clonedeep = clonedeep;
90
- var getProperty = function () {
91
- var RE_DELIMITER = /[\[\]|\.]+/g;
92
- var RE_END_BRACKET_LAST_CHAR = /\]$/;
93
- var RE_TYPE = /.*\s(\w+)\]$/;
94
- var toString = Object.prototype.toString;
95
- var hasEntry = function hasEntry(key, object) {
96
- try {
97
- return key in object;
98
- } catch (e) {
99
- return false;
100
- }
101
- };
102
- var get = function get(source, path, defaultValue) {
103
- var _path2, _value2;
104
- switch (toString.call(path).replace(RE_TYPE, '$1')) {
105
- case 'String':
106
- path = path.replace(RE_END_BRACKET_LAST_CHAR, '').split(RE_DELIMITER);
107
- break;
108
- case 'Array':
109
- break;
110
- case 'Undefined':
111
- path = [];
112
- break;
113
- default:
114
- path = [path];
115
- }
116
- var _value = source;
117
- var exists = true;
118
- var index = NaN;
119
- var trail = [];
120
- var _iterator2 = _createForOfIteratorHelper(path),
121
- _step2;
122
- try {
123
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
124
- var p = _step2.value;
125
- index = NaN;
126
- if (Array.isArray(_value)) {
127
- var _index = +p;
128
- if (Number.isInteger(_index)) {
129
- if (_index < 0) {
130
- _index = _value.length + _index;
131
- }
132
- index = _index;
133
- if (index in _value) {
134
- source = _value;
135
- _value = _value[index];
136
- trail.push(index);
137
- continue;
138
- }
139
- }
140
- }
141
- source = _value;
142
- if (!hasEntry(p, _value)) {
143
- exists = false;
144
- _value = undefined;
145
- break;
146
- }
147
- _value = _value[p];
148
- trail.push(p);
149
- }
150
- } catch (err) {
151
- _iterator2.e(err);
152
- } finally {
153
- _iterator2.f();
154
- }
155
- return {
156
- _value: _value,
157
- exists: exists,
158
- index: index,
159
- isSelf: !path.length,
160
- key: (_path2 = path) === null || _path2 === void 0 ? void 0 : _path2[path.length - 1],
161
- source: path.length && path.length - trail.length < 2 ? source : undefined,
162
- trail: trail,
163
- value: (_value2 = _value) !== null && _value2 !== void 0 ? _value2 : defaultValue
164
- };
165
- };
166
- return get;
167
- }();
92
+ var getProperty = _getProperty2["default"];
168
93
  exports.getProperty = getProperty;
169
94
  function isDataContainer(v) {
170
95
  return (0, _lodash2["default"])(v) || Array.isArray(v);
@@ -189,32 +114,32 @@ function makeReadonly(v) {
189
114
  ;
190
115
  function mapPathsToObject(source, propertyPaths) {
191
116
  var paths = [];
192
- var _iterator3 = _createForOfIteratorHelper(propertyPaths),
193
- _step3;
117
+ var _iterator2 = _createForOfIteratorHelper(propertyPaths),
118
+ _step2;
194
119
  try {
195
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
196
- var path = _step3.value;
120
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
121
+ var path = _step2.value;
197
122
  paths.push(path.replace(/\.?\[/g, '.').replace(/^\.|\]/g, ''));
198
123
  }
199
124
  } catch (err) {
200
- _iterator3.e(err);
125
+ _iterator2.e(err);
201
126
  } finally {
202
- _iterator3.f();
127
+ _iterator2.f();
203
128
  }
204
129
  var dest = {};
205
130
  var object = dest;
206
- var _iterator4 = _createForOfIteratorHelper(arrangePropertyPaths(paths)),
207
- _step4;
131
+ var _iterator3 = _createForOfIteratorHelper(arrangePropertyPaths(paths)),
132
+ _step3;
208
133
  try {
209
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
210
- var _path3 = _step4.value;
211
- var _getProperty = getProperty(source, _path3),
134
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
135
+ var _path2 = _step3.value;
136
+ var _getProperty = getProperty(source, _path2),
212
137
  exists = _getProperty.exists,
213
138
  value = _getProperty.value;
214
139
  if (!exists) {
215
140
  continue;
216
141
  }
217
- for (var tokens = _path3.split('.'), tLen = tokens.length, t = 0; t < tLen; t++) {
142
+ for (var tokens = _path2.split('.'), tLen = tokens.length, t = 0; t < tLen; t++) {
218
143
  var token = tokens[t];
219
144
  if (t + 1 === tLen) {
220
145
  object[token] = value;
@@ -228,9 +153,9 @@ function mapPathsToObject(source, propertyPaths) {
228
153
  }
229
154
  }
230
155
  } catch (err) {
231
- _iterator4.e(err);
156
+ _iterator3.e(err);
232
157
  } finally {
233
- _iterator4.f();
158
+ _iterator3.f();
234
159
  }
235
160
  return dest;
236
161
  }
package/package.json CHANGED
@@ -7,6 +7,7 @@
7
7
  "steveswork <stephen.isienyi@gmail.com> (https://github.com/steveswork)"
8
8
  ],
9
9
  "dependencies": {
10
+ "@webkrafters/get-property": "^1.0.1",
10
11
  "lodash.clonedeepwith": "^4.5.0",
11
12
  "lodash.isboolean": "^3.0.3",
12
13
  "lodash.isempty": "^4.4.0",
@@ -132,5 +133,5 @@
132
133
  "test:watch": "eslint --fix && jest --updateSnapshot --watchAll"
133
134
  },
134
135
  "types": "dist/main/index.d.ts",
135
- "version": "4.1.0-rc.8.1"
136
+ "version": "4.1.0"
136
137
  }