si-funciona 2.3.2 → 2.3.4
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 +1337 -1244
- package/browser/siFunciona.js +24205 -24282
- package/browser/siFunciona.min.js +1 -1
- package/dist/helpers/arrays/BasicQueue.d.ts +66 -61
- package/dist/helpers/arrays/BasicQueue.js +62 -60
- package/dist/helpers/arrays/BasicQueue.min.js +1 -1
- package/dist/helpers/arrays/addUniqueToArray.d.ts +1 -0
- package/dist/helpers/arrays/buildArray.d.ts +1 -0
- package/dist/helpers/arrays/buildArrayOfReferences.d.ts +1 -0
- package/dist/helpers/arrays/compareArrays.d.ts +1 -0
- package/dist/helpers/arrays/compareArrays.js +24 -30
- package/dist/helpers/arrays/compareArrays.min.js +1 -1
- package/dist/helpers/arrays/mergeArrays.d.ts +1 -0
- package/dist/helpers/arrays/mergeArrays.js +2 -7
- package/dist/helpers/arrays/mergeArrays.min.js +1 -1
- package/dist/helpers/arrays/uniqueArray.d.ts +1 -0
- package/dist/helpers/arrays.d.ts +22 -20
- package/dist/helpers/arrays.js +33 -32
- package/dist/helpers/descriptors/assignDescriptor.d.ts +15 -11
- package/dist/helpers/descriptors/assignDescriptor.js +58 -60
- package/dist/helpers/descriptors/assignDescriptor.min.js +1 -1
- package/dist/helpers/descriptors/assignDescriptorDetail.d.ts +15 -11
- package/dist/helpers/descriptors/assignDescriptorDetail.js +37 -38
- package/dist/helpers/descriptors/assignDescriptorDetail.min.js +1 -1
- package/dist/helpers/descriptors/checkClearValues.d.ts +13 -11
- package/dist/helpers/descriptors/checkClearValues.js +21 -23
- package/dist/helpers/descriptors/checkClearValues.min.js +1 -1
- package/dist/helpers/descriptors/checkDescriptorComplete.d.ts +12 -10
- package/dist/helpers/descriptors/checkDescriptorComplete.js +20 -19
- package/dist/helpers/descriptors/cloneDescriptor.d.ts +11 -10
- package/dist/helpers/descriptors/cloneDescriptor.js +36 -37
- package/dist/helpers/descriptors/cloneDescriptor.min.js +1 -1
- package/dist/helpers/descriptors/cloneDescriptorDetail.d.ts +11 -10
- package/dist/helpers/descriptors/cloneDescriptorDetail.js +27 -27
- package/dist/helpers/descriptors/compareDescriptor.d.ts +14 -11
- package/dist/helpers/descriptors/compareDescriptor.js +33 -32
- package/dist/helpers/descriptors/compareDescriptor.min.js +1 -1
- package/dist/helpers/descriptors/describeObject.d.ts +16 -13
- package/dist/helpers/descriptors/describeObject.js +53 -51
- package/dist/helpers/descriptors/describeObjectDetail.d.ts +15 -12
- package/dist/helpers/descriptors/describeObjectDetail.js +38 -38
- package/dist/helpers/descriptors/describeObjectDetail.min.js +1 -1
- package/dist/helpers/descriptors/describeObjectMap.d.ts +37 -20
- package/dist/helpers/descriptors/describeObjectMap.js +108 -97
- package/dist/helpers/descriptors/describeObjectMap.min.js +1 -1
- package/dist/helpers/descriptors/nextReference.d.ts +14 -11
- package/dist/helpers/descriptors/nextReference.js +31 -29
- package/dist/helpers/descriptors/sameDescriptor.d.ts +14 -11
- package/dist/helpers/descriptors/sameDescriptor.js +22 -20
- package/dist/helpers/descriptors/samples/descriptor.d.ts +35 -27
- package/dist/helpers/descriptors/samples/descriptorDetail.d.ts +43 -34
- package/dist/helpers/descriptors/samples/descriptorMap.d.ts +17 -12
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.d.ts +11 -7
- package/dist/helpers/descriptors/samples/mappedDescriptorMap.js +287 -284
- package/dist/helpers/descriptors.d.ts +45 -28
- package/dist/helpers/descriptors.js +58 -42
- package/dist/helpers/functions/callWithParams.d.ts +1 -0
- package/dist/helpers/functions/callWithParams.js +1 -6
- package/dist/helpers/functions/callWithParams.min.js +1 -1
- package/dist/helpers/functions/curry.d.ts +1 -0
- package/dist/helpers/functions/curry.js +1 -12
- package/dist/helpers/functions/curry.min.js +1 -1
- package/dist/helpers/functions/delay.d.ts +1 -0
- package/dist/helpers/functions/delay.js +4 -5
- package/dist/helpers/functions/delay.min.js +1 -1
- package/dist/helpers/functions/makeBasicQueue.d.ts +11 -10
- package/dist/helpers/functions/makeBasicQueue.js +19 -20
- package/dist/helpers/functions/makeBasicQueue.min.js +1 -1
- package/dist/helpers/functions/onBodyLoad.d.ts +1 -0
- package/dist/helpers/functions/onBodyLoad.js +1 -2
- package/dist/helpers/functions/onBodyLoad.min.js +1 -1
- package/dist/helpers/functions/pipe.d.ts +1 -0
- package/dist/helpers/functions/pipe.js +3 -6
- package/dist/helpers/functions/pipe.min.js +1 -1
- package/dist/helpers/functions/preloadParams.d.ts +1 -0
- package/dist/helpers/functions/preloadParams.js +3 -8
- package/dist/helpers/functions/preloadParams.min.js +1 -1
- package/dist/helpers/functions/queueManager.d.ts +50 -47
- package/dist/helpers/functions/queueManager.js +124 -132
- package/dist/helpers/functions/queueManager.min.js +1 -1
- package/dist/helpers/functions/queueTimeout.d.ts +1 -0
- package/dist/helpers/functions/queueTimeout.js +2 -10
- package/dist/helpers/functions/queueTimeout.min.js +1 -1
- package/dist/helpers/functions/relevancyFilter.d.ts +36 -35
- package/dist/helpers/functions/relevancyFilter.js +34 -36
- package/dist/helpers/functions/relevancyFilter.min.js +1 -1
- package/dist/helpers/functions/trace.d.ts +15 -12
- package/dist/helpers/functions/trace.js +25 -26
- package/dist/helpers/functions/trace.min.js +1 -1
- package/dist/helpers/functions.d.ts +1 -0
- package/dist/helpers/numbers/absoluteMax.d.ts +1 -0
- package/dist/helpers/numbers/absoluteMin.d.ts +1 -0
- package/dist/helpers/numbers/compare.d.ts +1 -0
- package/dist/helpers/numbers/greatestCommonDivisor.d.ts +1 -0
- package/dist/helpers/numbers/leastCommonMultiple.d.ts +1 -0
- package/dist/helpers/numbers/lowestCommonDenominator.d.ts +11 -10
- package/dist/helpers/numbers/lowestCommonDenominator.js +20 -23
- package/dist/helpers/numbers/lowestCommonDenominator.min.js +1 -1
- package/dist/helpers/numbers/randomInteger.d.ts +1 -0
- package/dist/helpers/numbers/randomInteger.js +1 -5
- package/dist/helpers/numbers/randomInteger.min.js +1 -1
- package/dist/helpers/numbers/randomNumber.d.ts +1 -0
- package/dist/helpers/numbers/randomNumber.js +1 -5
- package/dist/helpers/numbers/randomNumber.min.js +1 -1
- package/dist/helpers/numbers/simplestRatio.d.ts +1 -0
- package/dist/helpers/numbers/simplestRatio.js +4 -4
- package/dist/helpers/numbers/simplestRatio.min.js +1 -1
- package/dist/helpers/numbers.d.ts +1 -0
- package/dist/helpers/objects/cloneObject.d.ts +1 -0
- package/dist/helpers/objects/cloneObject.js +10 -15
- package/dist/helpers/objects/cloneObject.min.js +1 -1
- package/dist/helpers/objects/dotGet.d.ts +1 -0
- package/dist/helpers/objects/dotGet.js +1 -2
- package/dist/helpers/objects/dotGet.min.js +1 -1
- package/dist/helpers/objects/dotNotate.d.ts +1 -0
- package/dist/helpers/objects/dotNotate.js +6 -15
- package/dist/helpers/objects/dotNotate.min.js +1 -1
- package/dist/helpers/objects/dotSet.d.ts +1 -0
- package/dist/helpers/objects/dotSet.js +1 -2
- package/dist/helpers/objects/dotSet.min.js +1 -1
- package/dist/helpers/objects/dotUnset.d.ts +1 -0
- package/dist/helpers/objects/emptyObject.d.ts +1 -0
- package/dist/helpers/objects/filterObject.d.ts +1 -0
- package/dist/helpers/objects/filterObject.js +8 -11
- package/dist/helpers/objects/filterObject.min.js +1 -1
- package/dist/helpers/objects/isCloneable.d.ts +1 -0
- package/dist/helpers/objects/isInstanceObject.d.ts +1 -0
- package/dist/helpers/objects/isObject.d.ts +1 -0
- package/dist/helpers/objects/mapObject.d.ts +1 -0
- package/dist/helpers/objects/mapObject.js +1 -4
- package/dist/helpers/objects/mapObject.min.js +1 -1
- package/dist/helpers/objects/mergeObjects.d.ts +1 -0
- package/dist/helpers/objects/mergeObjectsBase.d.ts +1 -0
- package/dist/helpers/objects/mergeObjectsBase.js +58 -67
- package/dist/helpers/objects/mergeObjectsBase.min.js +1 -1
- package/dist/helpers/objects/mergeObjectsMutable.d.ts +1 -0
- package/dist/helpers/objects/objectKeys.d.ts +1 -0
- package/dist/helpers/objects/objectKeys.js +1 -2
- package/dist/helpers/objects/objectKeys.min.js +1 -1
- package/dist/helpers/objects/objectValues.d.ts +1 -0
- package/dist/helpers/objects/objectValues.js +1 -4
- package/dist/helpers/objects/objectValues.min.js +1 -1
- package/dist/helpers/objects/reduceObject.d.ts +1 -0
- package/dist/helpers/objects/reduceObject.js +1 -4
- package/dist/helpers/objects/reduceObject.min.js +1 -1
- package/dist/helpers/objects/setAndReturnValue.d.ts +1 -0
- package/dist/helpers/objects/setValue.d.ts +1 -0
- package/dist/helpers/objects.d.ts +5 -4
- package/dist/helpers/strings/camelCase.d.ts +10 -9
- package/dist/helpers/strings/camelCase.js +20 -20
- package/dist/helpers/strings/kabobCase.d.ts +10 -9
- package/dist/helpers/strings/kabobCase.js +19 -19
- package/dist/helpers/strings/makeFilepath.d.ts +10 -9
- package/dist/helpers/strings/makeFilepath.js +49 -50
- package/dist/helpers/strings/makeFilepath.min.js +1 -1
- package/dist/helpers/strings/makeRelativePath.d.ts +10 -9
- package/dist/helpers/strings/makeRelativePath.js +43 -43
- package/dist/helpers/strings/makeRelativePath.min.js +1 -1
- package/dist/helpers/strings/regexEscape.d.ts +9 -8
- package/dist/helpers/strings/regexEscape.js +15 -17
- package/dist/helpers/strings/regexEscape.min.js +1 -1
- package/dist/helpers/strings/snakeCase.d.ts +10 -9
- package/dist/helpers/strings/snakeCase.js +19 -19
- package/dist/helpers/strings/strAfter.d.ts +11 -10
- package/dist/helpers/strings/strAfter.js +19 -19
- package/dist/helpers/strings/strAfterLast.d.ts +11 -10
- package/dist/helpers/strings/strAfterLast.js +19 -19
- package/dist/helpers/strings/strBefore.d.ts +11 -10
- package/dist/helpers/strings/strBefore.js +19 -19
- package/dist/helpers/strings/strBeforeLast.d.ts +11 -10
- package/dist/helpers/strings/strBeforeLast.js +19 -19
- package/dist/helpers/strings/titleCase.d.ts +10 -9
- package/dist/helpers/strings/titleCase.js +20 -20
- package/dist/helpers/strings/ucFirst.d.ts +10 -9
- package/dist/helpers/strings/ucFirst.js +15 -15
- package/dist/helpers/strings/words.d.ts +11 -9
- package/dist/helpers/strings/words.js +16 -16
- package/dist/helpers/strings/words.min.js +1 -1
- package/dist/helpers/strings.d.ts +1 -0
- package/dist/main.d.ts +1 -0
- package/package.json +4 -4
|
@@ -1,60 +1,58 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
-
require('core-js/modules/esnext.iterator.every.js')
|
|
9
|
-
require('core-js/modules/esnext.iterator.filter.js')
|
|
10
|
-
require('core-js/modules/esnext.iterator.find.js')
|
|
11
|
-
require('core-js/modules/esnext.iterator.for-each.js')
|
|
12
|
-
require('core-js/modules/esnext.iterator.map.js')
|
|
13
|
-
require('core-js/modules/
|
|
14
|
-
require('core-js/stable')
|
|
15
|
-
var _assignDescriptorDetail = _interopRequireDefault(require('./assignDescriptorDetail'))
|
|
16
|
-
var _cloneDescriptor = _interopRequireDefault(require('./cloneDescriptor'))
|
|
17
|
-
var _compareArrays = _interopRequireDefault(require('../arrays/compareArrays'))
|
|
18
|
-
var _uniqueArray = _interopRequireDefault(require('../arrays/uniqueArray'))
|
|
19
|
-
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
20
|
-
/**
|
|
21
|
-
* Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
* @
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
60
|
-
var _default = exports.default = assignDescriptor
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.every.js')
|
|
9
|
+
require('core-js/modules/esnext.iterator.filter.js')
|
|
10
|
+
require('core-js/modules/esnext.iterator.find.js')
|
|
11
|
+
require('core-js/modules/esnext.iterator.for-each.js')
|
|
12
|
+
require('core-js/modules/esnext.iterator.map.js')
|
|
13
|
+
require('core-js/modules/esnext.iterator.reduce.js')
|
|
14
|
+
require('core-js/stable')
|
|
15
|
+
var _assignDescriptorDetail = _interopRequireDefault(require('./assignDescriptorDetail'))
|
|
16
|
+
var _cloneDescriptor = _interopRequireDefault(require('./cloneDescriptor'))
|
|
17
|
+
var _compareArrays = _interopRequireDefault(require('../arrays/compareArrays'))
|
|
18
|
+
var _uniqueArray = _interopRequireDefault(require('../arrays/uniqueArray'))
|
|
19
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
20
|
+
/**
|
|
21
|
+
* Apply one or more descriptors to an existing descriptor so that they represent a merged version of the descriptors.
|
|
22
|
+
* Used to widen a descriptor as more differently-shaped objects are described into it (e.g. array elements of
|
|
23
|
+
* different types), rather than replacing it outright.
|
|
24
|
+
* @memberOf module:objectDescriptors
|
|
25
|
+
* @param {module:objectDescriptors~descriptor} originalMap - The base descriptor to merge onto (not mutated - a
|
|
26
|
+
* clone is merged and returned).
|
|
27
|
+
* @param {...module:objectDescriptors~descriptor} descriptors - One or more further descriptors to merge in.
|
|
28
|
+
* @returns {module:objectDescriptors~descriptor} A new descriptor representing the merge of all of the above.
|
|
29
|
+
*/
|
|
30
|
+
const assignDescriptor = (originalMap, ...descriptors) => descriptors.reduce((assignedDescriptor, descriptor) => {
|
|
31
|
+
const detailsDiff = (0, _compareArrays.default)(assignedDescriptor.keys, descriptor.keys)
|
|
32
|
+
detailsDiff.forEach(diff => {
|
|
33
|
+
const existingDetail = assignedDescriptor.details.find(detail => detail.key === diff.value)
|
|
34
|
+
const newDetail = descriptor.details.find(detail => detail.key === diff.value)
|
|
35
|
+
if (diff.result.every(result => result === 0)) {
|
|
36
|
+
assignedDescriptor.details[existingDetail.index] = (0, _assignDescriptorDetail.default)(existingDetail, newDetail)
|
|
37
|
+
return assignedDescriptor
|
|
38
|
+
}
|
|
39
|
+
const useDetail = diff.result[0] > 0 ? existingDetail : newDetail
|
|
40
|
+
if (!useDetail) {
|
|
41
|
+
assignedDescriptor.details[existingDetail.index].optional = true
|
|
42
|
+
return assignedDescriptor
|
|
43
|
+
}
|
|
44
|
+
const useIndex = diff.result[0] > 0 ? useDetail.index : assignedDescriptor.length
|
|
45
|
+
assignedDescriptor.details[useIndex] = Object.assign({}, useDetail, {
|
|
46
|
+
index: useIndex,
|
|
47
|
+
optional: true
|
|
48
|
+
})
|
|
49
|
+
assignedDescriptor.length = assignedDescriptor.length < assignedDescriptor.details.length ? assignedDescriptor.details.length : assignedDescriptor.length
|
|
50
|
+
return assignedDescriptor
|
|
51
|
+
})
|
|
52
|
+
assignedDescriptor.keys = (0, _uniqueArray.default)(assignedDescriptor.details.map(detail => detail.key))
|
|
53
|
+
assignedDescriptor.references = (0, _uniqueArray.default)(assignedDescriptor.details.filter(detail => detail.isReference).map(detail => detail.index))
|
|
54
|
+
assignedDescriptor.isArray = assignedDescriptor.length ? assignedDescriptor.details.every(detail => typeof detail.key === 'number') : assignedDescriptor.isArray
|
|
55
|
+
assignedDescriptor.complete = !assignedDescriptor.references.length || assignedDescriptor.complete || descriptor.complete
|
|
56
|
+
return assignedDescriptor
|
|
57
|
+
}, (0, _cloneDescriptor.default)(originalMap))
|
|
58
|
+
var _default = exports.default = assignDescriptor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.every.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/esnext.iterator.for-each.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.every.js"),require("core-js/modules/esnext.iterator.filter.js"),require("core-js/modules/esnext.iterator.find.js"),require("core-js/modules/esnext.iterator.for-each.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/stable");var _assignDescriptorDetail=_interopRequireDefault(require("./assignDescriptorDetail")),_cloneDescriptor=_interopRequireDefault(require("./cloneDescriptor")),_compareArrays=_interopRequireDefault(require("../arrays/compareArrays")),_uniqueArray=_interopRequireDefault(require("../arrays/uniqueArray"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const assignDescriptor=(e,...r)=>r.reduce(((e,r)=>((0,_compareArrays.default)(e.keys,r.keys).forEach((t=>{const s=e.details.find((e=>e.key===t.value)),i=r.details.find((e=>e.key===t.value));if(t.result.every((e=>0===e)))return e.details[s.index]=(0,_assignDescriptorDetail.default)(s,i),e;const a=t.result[0]>0?s:i;if(!a)return e.details[s.index].optional=!0,e;const o=t.result[0]>0?a.index:e.length;return e.details[o]=Object.assign({},a,{index:o,optional:!0}),e.length=e.length<e.details.length?e.details.length:e.length,e})),e.keys=(0,_uniqueArray.default)(e.details.map((e=>e.key))),e.references=(0,_uniqueArray.default)(e.details.filter((e=>e.isReference)).map((e=>e.index))),e.isArray=e.length?e.details.every((e=>"number"==typeof e.key)):e.isArray,e.complete=!e.references.length||e.complete||r.complete,e)),(0,_cloneDescriptor.default)(e));var _default=exports.default=assignDescriptor;
|
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptorDetail } from './samples/descriptorDetail';
|
|
3
|
-
/**
|
|
4
|
-
* Assign properties from other details onto an existing detail.
|
|
5
|
-
*
|
|
6
|
-
* @
|
|
7
|
-
* @
|
|
8
|
-
* @
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptorDetail } from './samples/descriptorDetail';
|
|
3
|
+
/**
|
|
4
|
+
* Assign properties from other details onto an existing detail, widening it (e.g. combining `type`/`value` arrays,
|
|
5
|
+
* OR-ing boolean flags like `nullable`/`optional`) rather than overwriting it - the per-property counterpart to
|
|
6
|
+
* {@link module:objectDescriptors.assignDescriptor}.
|
|
7
|
+
* @memberOf module:objectDescriptors
|
|
8
|
+
* @param {module:objectDescriptors~descriptorDetail} originalDetail - The base detail to merge onto (not mutated -
|
|
9
|
+
* a clone is merged and returned).
|
|
10
|
+
* @param {...module:objectDescriptors~descriptorDetail} details - One or more further details to merge in.
|
|
11
|
+
* @returns {module:objectDescriptors~descriptorDetail} A new detail representing the merge of all of the above.
|
|
12
|
+
*/
|
|
13
|
+
declare const assignDescriptorDetail: (originalDetail: descriptorDetail, ...details: Array<descriptorDetail>) => descriptorDetail;
|
|
14
|
+
export default assignDescriptorDetail;
|
|
15
|
+
//# sourceMappingURL=assignDescriptorDetail.d.ts.map
|
|
@@ -1,38 +1,37 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/
|
|
8
|
-
require('core-js/
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
* @
|
|
17
|
-
* @
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
var _default = exports.default = assignDescriptorDetail
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.reduce.js')
|
|
9
|
+
require('core-js/stable')
|
|
10
|
+
var _cloneDescriptorDetail = _interopRequireDefault(require('./cloneDescriptorDetail'))
|
|
11
|
+
var _uniqueArray = _interopRequireDefault(require('../arrays/uniqueArray'))
|
|
12
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
13
|
+
/**
|
|
14
|
+
* Assign properties from other details onto an existing detail, widening it (e.g. combining `type`/`value` arrays,
|
|
15
|
+
* OR-ing boolean flags like `nullable`/`optional`) rather than overwriting it - the per-property counterpart to
|
|
16
|
+
* {@link module:objectDescriptors.assignDescriptor}.
|
|
17
|
+
* @memberOf module:objectDescriptors
|
|
18
|
+
* @param {module:objectDescriptors~descriptorDetail} originalDetail - The base detail to merge onto (not mutated -
|
|
19
|
+
* a clone is merged and returned).
|
|
20
|
+
* @param {...module:objectDescriptors~descriptorDetail} details - One or more further details to merge in.
|
|
21
|
+
* @returns {module:objectDescriptors~descriptorDetail} A new detail representing the merge of all of the above.
|
|
22
|
+
*/
|
|
23
|
+
const assignDescriptorDetail = (originalDetail, ...details) => details.reduce((existingDetail, newDetail) => {
|
|
24
|
+
existingDetail.type = (0, _uniqueArray.default)([...existingDetail.type, ...newDetail.type])
|
|
25
|
+
existingDetail.value = (0, _uniqueArray.default)([...existingDetail.value, ...newDetail.value])
|
|
26
|
+
existingDetail.nullable = existingDetail.nullable || newDetail.nullable
|
|
27
|
+
existingDetail.optional = existingDetail.optional || newDetail.optional
|
|
28
|
+
existingDetail.circular = existingDetail.circular || newDetail.circular
|
|
29
|
+
existingDetail.isReference = existingDetail.isReference || newDetail.isReference
|
|
30
|
+
existingDetail.isInstance = existingDetail.isInstance || newDetail.isInstance
|
|
31
|
+
existingDetail.arrayReference = [existingDetail.arrayReference, newDetail.arrayReference].find(ref => typeof ref === 'number')
|
|
32
|
+
existingDetail.objectReference = [existingDetail.objectReference, newDetail.objectReference].find(ref => typeof ref === 'number')
|
|
33
|
+
existingDetail.arrayReference = typeof existingDetail.arrayReference === 'undefined' ? null : existingDetail.arrayReference
|
|
34
|
+
existingDetail.objectReference = typeof existingDetail.objectReference === 'undefined' ? null : existingDetail.objectReference
|
|
35
|
+
return existingDetail
|
|
36
|
+
}, (0, _cloneDescriptorDetail.default)(originalDetail))
|
|
37
|
+
var _default = exports.default = assignDescriptorDetail
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.reduce.js"),require("core-js/stable");var _cloneDescriptorDetail=_interopRequireDefault(require("./cloneDescriptorDetail")),_uniqueArray=_interopRequireDefault(require("../arrays/uniqueArray"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const assignDescriptorDetail=(e,...r)=>r.reduce(((e,r)=>(e.type=(0,_uniqueArray.default)([...e.type,...r.type]),e.value=(0,_uniqueArray.default)([...e.value,...r.value]),e.nullable=e.nullable||r.nullable,e.optional=e.optional||r.optional,e.circular=e.circular||r.circular,e.isReference=e.isReference||r.isReference,e.isInstance=e.isInstance||r.isInstance,e.arrayReference=[e.arrayReference,r.arrayReference].find((e=>"number"==typeof e)),e.objectReference=[e.objectReference,r.objectReference].find((e=>"number"==typeof e)),e.arrayReference=void 0===e.arrayReference?null:e.arrayReference,e.objectReference=void 0===e.objectReference?null:e.objectReference,e)),(0,_cloneDescriptorDetail.default)(e));var _default=exports.default=assignDescriptorDetail;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptor } from './samples/descriptor';
|
|
3
|
-
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* @
|
|
7
|
-
* @param {
|
|
8
|
-
* @
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptor } from './samples/descriptor';
|
|
3
|
+
/**
|
|
4
|
+
* Once a descriptor is complete (all its references have been resolved), its details' actual `value` arrays are no
|
|
5
|
+
* longer needed to build the descriptor further - clear them to save memory, unless `keepValues` says otherwise.
|
|
6
|
+
* @memberOf module:objectDescriptors
|
|
7
|
+
* @param {module:objectDescriptors~descriptor} descriptor - The descriptor to check.
|
|
8
|
+
* @param {boolean} [keepValues=false] - Set true to keep the values even once the descriptor is complete.
|
|
9
|
+
* @returns {module:objectDescriptors~descriptor} The same descriptor, with `details[].value` cleared if applicable.
|
|
10
|
+
*/
|
|
11
|
+
declare const checkClearValues: (descriptor: descriptor, keepValues?: boolean) => descriptor;
|
|
12
|
+
export default checkClearValues;
|
|
13
|
+
//# sourceMappingURL=checkClearValues.d.ts.map
|
|
@@ -1,23 +1,21 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
-
require('core-js/modules/esnext.iterator.map.js')
|
|
9
|
-
require('core-js/stable')
|
|
10
|
-
var _setValue = _interopRequireDefault(require('../objects/setValue'))
|
|
11
|
-
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
16
|
-
* @param {
|
|
17
|
-
* @
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
var _default = exports.default = checkClearValues
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.map.js')
|
|
9
|
+
require('core-js/stable')
|
|
10
|
+
var _setValue = _interopRequireDefault(require('../objects/setValue'))
|
|
11
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
12
|
+
/**
|
|
13
|
+
* Once a descriptor is complete (all its references have been resolved), its details' actual `value` arrays are no
|
|
14
|
+
* longer needed to build the descriptor further - clear them to save memory, unless `keepValues` says otherwise.
|
|
15
|
+
* @memberOf module:objectDescriptors
|
|
16
|
+
* @param {module:objectDescriptors~descriptor} descriptor - The descriptor to check.
|
|
17
|
+
* @param {boolean} [keepValues=false] - Set true to keep the values even once the descriptor is complete.
|
|
18
|
+
* @returns {module:objectDescriptors~descriptor} The same descriptor, with `details[].value` cleared if applicable.
|
|
19
|
+
*/
|
|
20
|
+
const checkClearValues = (descriptor, keepValues = false) => (0, _setValue.default)('details', descriptor.complete && !keepValues ? descriptor.details.map(detail => (0, _setValue.default)('value', [], detail)) : descriptor.details, descriptor)
|
|
21
|
+
var _default = exports.default = checkClearValues
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/stable");var _setValue=_interopRequireDefault(require("../objects/setValue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const checkClearValues=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/stable");var _setValue=_interopRequireDefault(require("../objects/setValue"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const checkClearValues=(e,t=!1)=>(0,_setValue.default)("details",e.complete&&!t?e.details.map((e=>(0,_setValue.default)("value",[],e))):e.details,e);var _default=exports.default=checkClearValues;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptor } from './samples/descriptor';
|
|
3
|
-
/**
|
|
4
|
-
* Check if
|
|
5
|
-
*
|
|
6
|
-
* @
|
|
7
|
-
* @
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptor } from './samples/descriptor';
|
|
3
|
+
/**
|
|
4
|
+
* Check if every property this descriptor references (i.e. every nested object/array it points to) has actually
|
|
5
|
+
* had its own descriptor built yet, and set the descriptor's `complete` flag to true if so.
|
|
6
|
+
* @memberOf module:objectDescriptors
|
|
7
|
+
* @param {module:objectDescriptors~descriptor} descriptor - The descriptor to check.
|
|
8
|
+
* @returns {module:objectDescriptors~descriptor} The same descriptor, with `complete` updated.
|
|
9
|
+
*/
|
|
10
|
+
declare const checkDescriptorComplete: (descriptor: descriptor) => descriptor;
|
|
11
|
+
export default checkDescriptorComplete;
|
|
12
|
+
//# sourceMappingURL=checkDescriptorComplete.d.ts.map
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
-
require('core-js/modules/esnext.iterator.every.js')
|
|
9
|
-
require('core-js/stable')
|
|
10
|
-
var _setValue = _interopRequireDefault(require('../objects/setValue'))
|
|
11
|
-
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
12
|
-
/**
|
|
13
|
-
* Check if
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
16
|
-
* @
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.every.js')
|
|
9
|
+
require('core-js/stable')
|
|
10
|
+
var _setValue = _interopRequireDefault(require('../objects/setValue'))
|
|
11
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
12
|
+
/**
|
|
13
|
+
* Check if every property this descriptor references (i.e. every nested object/array it points to) has actually
|
|
14
|
+
* had its own descriptor built yet, and set the descriptor's `complete` flag to true if so.
|
|
15
|
+
* @memberOf module:objectDescriptors
|
|
16
|
+
* @param {module:objectDescriptors~descriptor} descriptor - The descriptor to check.
|
|
17
|
+
* @returns {module:objectDescriptors~descriptor} The same descriptor, with `complete` updated.
|
|
18
|
+
*/
|
|
19
|
+
const checkDescriptorComplete = descriptor => (0, _setValue.default)('complete', descriptor.references.every(refId => [descriptor.details[refId].arrayReference, descriptor.details[refId].objectReference].some(ref => typeof ref === 'number')), descriptor)
|
|
20
|
+
var _default = exports.default = checkDescriptorComplete
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptor } from './samples/descriptor';
|
|
3
|
-
/**
|
|
4
|
-
* Make a copy of an object descriptor so that the original will not be mutated.
|
|
5
|
-
* @memberOf module:objectDescriptors
|
|
6
|
-
* @param {module:objectDescriptors~descriptor} originalMap
|
|
7
|
-
* @returns {module:objectDescriptors~descriptor}
|
|
8
|
-
*/
|
|
9
|
-
declare const cloneDescriptor: (originalMap: descriptor) => descriptor;
|
|
10
|
-
export default cloneDescriptor;
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptor } from './samples/descriptor';
|
|
3
|
+
/**
|
|
4
|
+
* Make a copy of an object descriptor so that the original will not be mutated.
|
|
5
|
+
* @memberOf module:objectDescriptors
|
|
6
|
+
* @param {module:objectDescriptors~descriptor} originalMap - The descriptor to copy.
|
|
7
|
+
* @returns {module:objectDescriptors~descriptor} A new, independent copy.
|
|
8
|
+
*/
|
|
9
|
+
declare const cloneDescriptor: (originalMap: descriptor) => descriptor;
|
|
10
|
+
export default cloneDescriptor;
|
|
11
|
+
//# sourceMappingURL=cloneDescriptor.d.ts.map
|
|
@@ -1,37 +1,36 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
-
require('core-js/modules/esnext.iterator.map.js')
|
|
9
|
-
require('core-js/
|
|
10
|
-
require('
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
* @
|
|
16
|
-
* @
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
copyMap
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var _default = exports.default = cloneDescriptor
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.map.js')
|
|
9
|
+
require('core-js/stable')
|
|
10
|
+
var _cloneDescriptorDetail = _interopRequireDefault(require('./cloneDescriptorDetail'))
|
|
11
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
12
|
+
/**
|
|
13
|
+
* Make a copy of an object descriptor so that the original will not be mutated.
|
|
14
|
+
* @memberOf module:objectDescriptors
|
|
15
|
+
* @param {module:objectDescriptors~descriptor} originalMap - The descriptor to copy.
|
|
16
|
+
* @returns {module:objectDescriptors~descriptor} A new, independent copy.
|
|
17
|
+
*/
|
|
18
|
+
const cloneDescriptor = originalMap => {
|
|
19
|
+
const copyMap = {}
|
|
20
|
+
// @ts-ignore
|
|
21
|
+
copyMap.index = originalMap.index || 0
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
copyMap.details = originalMap.details.map(_cloneDescriptorDetail.default)
|
|
24
|
+
// @ts-ignore
|
|
25
|
+
copyMap.length = originalMap.length
|
|
26
|
+
// @ts-ignore
|
|
27
|
+
copyMap.keys = originalMap.keys.map(key => key)
|
|
28
|
+
// @ts-ignore
|
|
29
|
+
copyMap.references = originalMap.references.map(reference => reference)
|
|
30
|
+
// @ts-ignore
|
|
31
|
+
copyMap.isArray = originalMap.isArray
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
copyMap.complete = originalMap.complete
|
|
34
|
+
return copyMap
|
|
35
|
+
}
|
|
36
|
+
var _default = exports.default = cloneDescriptor
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,require("core-js/modules/esnext.iterator.constructor.js"),require("core-js/modules/esnext.iterator.map.js"),require("core-js/stable");var _cloneDescriptorDetail=_interopRequireDefault(require("./cloneDescriptorDetail"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}const cloneDescriptor=e=>{const r={};return r.index=e.index||0,r.details=e.details.map(_cloneDescriptorDetail.default),r.length=e.length,r.keys=e.keys.map((e=>e)),r.references=e.references.map((e=>e)),r.isArray=e.isArray,r.complete=e.complete,r};var _default=exports.default=cloneDescriptor;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptorDetail } from './samples/descriptorDetail';
|
|
3
|
-
/**
|
|
4
|
-
* Get a new copy of an existing
|
|
5
|
-
* @memberOf module:objectDescriptors
|
|
6
|
-
* @param {module:objectDescriptors~descriptorDetail} originalDetail
|
|
7
|
-
* @returns {module:objectDescriptors~descriptorDetail}
|
|
8
|
-
*/
|
|
9
|
-
declare const cloneDescriptorDetail: (originalDetail: descriptorDetail) => descriptorDetail;
|
|
10
|
-
export default cloneDescriptorDetail;
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptorDetail } from './samples/descriptorDetail';
|
|
3
|
+
/**
|
|
4
|
+
* Get a new copy of an existing descriptor detail so that the original will not be mutated.
|
|
5
|
+
* @memberOf module:objectDescriptors
|
|
6
|
+
* @param {module:objectDescriptors~descriptorDetail} originalDetail - The detail to copy.
|
|
7
|
+
* @returns {module:objectDescriptors~descriptorDetail} A new, independent copy.
|
|
8
|
+
*/
|
|
9
|
+
declare const cloneDescriptorDetail: (originalDetail: descriptorDetail) => descriptorDetail;
|
|
10
|
+
export default cloneDescriptorDetail;
|
|
11
|
+
//# sourceMappingURL=cloneDescriptorDetail.d.ts.map
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
'use strict'
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', {
|
|
4
|
-
value: true
|
|
5
|
-
})
|
|
6
|
-
exports.default = void 0
|
|
7
|
-
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
-
require('core-js/modules/esnext.iterator.for-each.js')
|
|
9
|
-
require('core-js/modules/esnext.iterator.map.js')
|
|
10
|
-
require('core-js/stable')
|
|
11
|
-
var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
|
|
12
|
-
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
13
|
-
/**
|
|
14
|
-
* Get a new copy of an existing
|
|
15
|
-
* @memberOf module:objectDescriptors
|
|
16
|
-
* @param {module:objectDescriptors~descriptorDetail} originalDetail
|
|
17
|
-
* @returns {module:objectDescriptors~descriptorDetail}
|
|
18
|
-
*/
|
|
19
|
-
const cloneDescriptorDetail = originalDetail => {
|
|
20
|
-
const copyDetail = {};
|
|
21
|
-
(0, _objectKeys.default)(originalDetail).forEach(key => {
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
copyDetail[key] = Array.isArray(originalDetail[key]) ? originalDetail[key].map(value => value) : originalDetail[key]
|
|
24
|
-
})
|
|
25
|
-
return copyDetail
|
|
26
|
-
}
|
|
27
|
-
var _default = exports.default = cloneDescriptorDetail
|
|
1
|
+
'use strict'
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', {
|
|
4
|
+
value: true
|
|
5
|
+
})
|
|
6
|
+
exports.default = void 0
|
|
7
|
+
require('core-js/modules/esnext.iterator.constructor.js')
|
|
8
|
+
require('core-js/modules/esnext.iterator.for-each.js')
|
|
9
|
+
require('core-js/modules/esnext.iterator.map.js')
|
|
10
|
+
require('core-js/stable')
|
|
11
|
+
var _objectKeys = _interopRequireDefault(require('../objects/objectKeys'))
|
|
12
|
+
function _interopRequireDefault (e) { return e && e.__esModule ? e : { default: e } }
|
|
13
|
+
/**
|
|
14
|
+
* Get a new copy of an existing descriptor detail so that the original will not be mutated.
|
|
15
|
+
* @memberOf module:objectDescriptors
|
|
16
|
+
* @param {module:objectDescriptors~descriptorDetail} originalDetail - The detail to copy.
|
|
17
|
+
* @returns {module:objectDescriptors~descriptorDetail} A new, independent copy.
|
|
18
|
+
*/
|
|
19
|
+
const cloneDescriptorDetail = originalDetail => {
|
|
20
|
+
const copyDetail = {};
|
|
21
|
+
(0, _objectKeys.default)(originalDetail).forEach(key => {
|
|
22
|
+
// @ts-ignore
|
|
23
|
+
copyDetail[key] = Array.isArray(originalDetail[key]) ? originalDetail[key].map(value => value) : originalDetail[key]
|
|
24
|
+
})
|
|
25
|
+
return copyDetail
|
|
26
|
+
}
|
|
27
|
+
var _default = exports.default = cloneDescriptorDetail
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import 'core-js/stable';
|
|
2
|
-
import { descriptor } from './samples/descriptor';
|
|
3
|
-
/**
|
|
4
|
-
* Check if two descriptors are the same or similar in that
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* @
|
|
8
|
-
* @
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import 'core-js/stable';
|
|
2
|
+
import { descriptor } from './samples/descriptor';
|
|
3
|
+
/**
|
|
4
|
+
* Check if two descriptors are the same or similar, in that the smaller one's keys are all present in the larger
|
|
5
|
+
* one and their types line up - used to detect when a newly-described value actually matches a descriptor already
|
|
6
|
+
* in the map, so it can be pointed at instead of creating a duplicate.
|
|
7
|
+
* @memberOf module:objectDescriptors
|
|
8
|
+
* @param {module:objectDescriptors~descriptor} descriptor1 - The first descriptor to compare.
|
|
9
|
+
* @param {module:objectDescriptors~descriptor} descriptor2 - The second descriptor to compare.
|
|
10
|
+
* @returns {boolean} True if the descriptors describe a compatible shape.
|
|
11
|
+
*/
|
|
12
|
+
declare const compareDescriptor: (descriptor1: descriptor, descriptor2: descriptor) => boolean;
|
|
13
|
+
export default compareDescriptor;
|
|
14
|
+
//# sourceMappingURL=compareDescriptor.d.ts.map
|