@nejs/basic-extensions 2.8.0 → 2.10.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/README.md +268 -147
- package/bin/version +100 -0
- package/dist/@nejs/basic-extensions.bundle.2.10.0.js +19 -0
- package/dist/@nejs/basic-extensions.bundle.2.10.0.js.map +7 -0
- package/dist/cjs/array.extensions.js +174 -0
- package/dist/cjs/array.extensions.js.map +1 -1
- package/dist/cjs/big.int.extension.js +1 -0
- package/dist/cjs/big.int.extension.js.map +1 -1
- package/dist/cjs/classes/descriptor.js +1 -1
- package/dist/cjs/classes/descriptor.js.map +1 -1
- package/dist/cjs/classes/index.d.ts +1 -0
- package/dist/cjs/classes/index.js +3 -0
- package/dist/cjs/classes/index.js.map +1 -1
- package/dist/cjs/classes/iterable.d.ts +44 -0
- package/dist/cjs/classes/iterable.js +64 -0
- package/dist/cjs/classes/iterable.js.map +1 -1
- package/dist/cjs/classes/param.parser.d.ts +10 -10
- package/dist/cjs/classes/property.d.ts +86 -0
- package/dist/cjs/classes/property.js +284 -0
- package/dist/cjs/classes/property.js.map +1 -0
- package/dist/cjs/classes/symkeys.d.ts +68 -11
- package/dist/cjs/classes/symkeys.js +103 -17
- package/dist/cjs/classes/symkeys.js.map +1 -1
- package/dist/cjs/classes/type.d.ts +4 -4
- package/dist/cjs/function.extensions.js +1 -0
- package/dist/cjs/function.extensions.js.map +1 -1
- package/dist/cjs/global.this.js +29 -0
- package/dist/cjs/global.this.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.js +18 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/json.extensions.js +22 -20
- package/dist/cjs/json.extensions.js.map +1 -1
- package/dist/cjs/map.extensions.js +1 -0
- package/dist/cjs/map.extensions.js.map +1 -1
- package/dist/cjs/number.extension.js +1 -0
- package/dist/cjs/number.extension.js.map +1 -1
- package/dist/cjs/object.extensions.d.ts +0 -29
- package/dist/cjs/object.extensions.js +218 -243
- package/dist/cjs/object.extensions.js.map +1 -1
- package/dist/cjs/set.extensions.js +1 -0
- package/dist/cjs/set.extensions.js.map +1 -1
- package/dist/cjs/string.extensions.js +478 -283
- package/dist/cjs/string.extensions.js.map +1 -1
- package/dist/cjs/symbol.extensions.js +500 -24
- package/dist/cjs/symbol.extensions.js.map +1 -1
- package/dist/cjs/utils/copy.object.d.ts +408 -0
- package/dist/cjs/utils/copy.object.js +720 -0
- package/dist/cjs/utils/copy.object.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +19 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/cjs/utils/toolkit.d.ts +1897 -0
- package/dist/cjs/utils/toolkit.js +1377 -0
- package/dist/cjs/utils/toolkit.js.map +1 -0
- package/dist/mjs/array.extensions.js +174 -0
- package/dist/mjs/array.extensions.js.map +1 -1
- package/dist/mjs/big.int.extension.js +1 -0
- package/dist/mjs/big.int.extension.js.map +1 -1
- package/dist/mjs/classes/descriptor.js +1 -1
- package/dist/mjs/classes/descriptor.js.map +1 -1
- package/dist/mjs/classes/index.d.ts +1 -0
- package/dist/mjs/classes/index.js +3 -0
- package/dist/mjs/classes/index.js.map +1 -1
- package/dist/mjs/classes/iterable.d.ts +44 -0
- package/dist/mjs/classes/iterable.js +64 -0
- package/dist/mjs/classes/iterable.js.map +1 -1
- package/dist/mjs/classes/param.parser.d.ts +10 -10
- package/dist/mjs/classes/property.d.ts +86 -0
- package/dist/mjs/classes/property.js +280 -0
- package/dist/mjs/classes/property.js.map +1 -0
- package/dist/mjs/classes/symkeys.d.ts +68 -11
- package/dist/mjs/classes/symkeys.js +103 -17
- package/dist/mjs/classes/symkeys.js.map +1 -1
- package/dist/mjs/classes/type.d.ts +4 -4
- package/dist/mjs/function.extensions.js +1 -0
- package/dist/mjs/function.extensions.js.map +1 -1
- package/dist/mjs/global.this.js +6 -0
- package/dist/mjs/global.this.js.map +1 -1
- package/dist/mjs/index.d.ts +2 -0
- package/dist/mjs/index.js +4 -0
- package/dist/mjs/index.js.map +1 -1
- package/dist/mjs/json.extensions.js +22 -20
- package/dist/mjs/json.extensions.js.map +1 -1
- package/dist/mjs/map.extensions.js +1 -0
- package/dist/mjs/map.extensions.js.map +1 -1
- package/dist/mjs/number.extension.js +1 -0
- package/dist/mjs/number.extension.js.map +1 -1
- package/dist/mjs/object.extensions.d.ts +0 -29
- package/dist/mjs/object.extensions.js +215 -239
- package/dist/mjs/object.extensions.js.map +1 -1
- package/dist/mjs/set.extensions.js +1 -0
- package/dist/mjs/set.extensions.js.map +1 -1
- package/dist/mjs/string.extensions.js +478 -283
- package/dist/mjs/string.extensions.js.map +1 -1
- package/dist/mjs/symbol.extensions.js +501 -25
- package/dist/mjs/symbol.extensions.js.map +1 -1
- package/dist/mjs/utils/copy.object.d.ts +408 -0
- package/dist/mjs/utils/copy.object.js +702 -0
- package/dist/mjs/utils/copy.object.js.map +1 -0
- package/dist/mjs/utils/index.d.ts +1 -0
- package/dist/mjs/utils/index.js +3 -0
- package/dist/mjs/utils/index.js.map +1 -0
- package/dist/mjs/utils/toolkit.d.ts +1897 -0
- package/dist/mjs/utils/toolkit.js +1372 -0
- package/dist/mjs/utils/toolkit.js.map +1 -0
- package/package.json +30 -38
- package/repl.bootstrap.js +12 -1
- package/src/array.extensions.js +191 -1
- package/src/big.int.extension.js +3 -1
- package/src/classes/descriptor.js +1 -1
- package/src/classes/index.js +4 -0
- package/src/classes/iterable.js +74 -0
- package/src/classes/property.js +333 -0
- package/src/classes/symkeys.js +120 -19
- package/src/function.extensions.js +2 -0
- package/src/global.this.js +8 -0
- package/src/index.js +5 -0
- package/src/json.extensions.js +21 -21
- package/src/map.extensions.js +3 -1
- package/src/number.extension.js +3 -1
- package/src/object.extensions.js +240 -262
- package/src/set.extensions.js +3 -1
- package/src/string.extensions.js +531 -306
- package/src/symbol.extensions.js +529 -25
- package/src/utils/copy.object.js +780 -0
- package/src/utils/index.js +2 -0
- package/src/utils/toolkit.js +1471 -0
- package/tests/arrayextensions.test.js +2 -0
- package/tests/index.test.js +1 -0
- package/tests/newClasses/asyncIterable.test.js +2 -0
- package/tests/newClasses/deferred.test.js +5 -3
- package/tests/newClasses/descriptor.test.js +2 -0
- package/tests/newClasses/iterable.test.js +2 -0
- package/tests/newClasses/refmap.test.js +2 -1
- package/tests/newClasses/refset.test.js +2 -0
- package/tests/objectextensions.test.js +2 -0
- package/tests/setextensions.test.js +2 -0
- package/tests/stringextensions.test.js +1 -0
- package/tests/utils/toolkit.test.js +223 -0
- package/tsconfig.base.json +1 -1
- package/vitest.config.js +7 -0
- package/dist/@nejs/basic-extensions.bundle.2.7.0.js +0 -19
- package/dist/@nejs/basic-extensions.bundle.2.7.0.js.map +0 -7
- package/docs/assets/anchor.js +0 -350
- package/docs/assets/bass-addons.css +0 -12
- package/docs/assets/bass.css +0 -544
- package/docs/assets/fonts/EOT/SourceCodePro-Bold.eot +0 -0
- package/docs/assets/fonts/EOT/SourceCodePro-Regular.eot +0 -0
- package/docs/assets/fonts/LICENSE.txt +0 -93
- package/docs/assets/fonts/OTF/SourceCodePro-Bold.otf +0 -0
- package/docs/assets/fonts/OTF/SourceCodePro-Regular.otf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Bold.ttf +0 -0
- package/docs/assets/fonts/TTF/SourceCodePro-Regular.ttf +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Bold.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/OTF/SourceCodePro-Regular.otf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Bold.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF/TTF/SourceCodePro-Regular.ttf.woff +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Bold.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/OTF/SourceCodePro-Regular.otf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Bold.ttf.woff2 +0 -0
- package/docs/assets/fonts/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2 +0 -0
- package/docs/assets/fonts/source-code-pro.css +0 -23
- package/docs/assets/github.css +0 -123
- package/docs/assets/site.js +0 -168
- package/docs/assets/split.css +0 -15
- package/docs/assets/split.js +0 -782
- package/docs/assets/style.css +0 -147
- package/docs/index.html +0 -34965
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
import { Patch } from '@nejs/extension';
|
|
2
2
|
import { SymbolExtensions } from './symbol.extensions.js';
|
|
3
3
|
import { Descriptor } from './classes/descriptor.js';
|
|
4
|
+
import { Property } from './classes/property.js';
|
|
5
|
+
import { as, has, is, si } from './utils/toolkit.js';
|
|
6
|
+
import { copyObject } from './utils/copy.object.js';
|
|
4
7
|
const { keys: symkeys } = SymbolExtensions.patches;
|
|
5
|
-
// Avoid circular dependencies; rewrite here for brevity
|
|
6
|
-
const isFn = o => typeof o === 'function' || o instanceof Function;
|
|
7
|
-
const isStr = o => typeof o === 'string' || o instanceof String;
|
|
8
|
-
const isBool = o => typeof o === 'boolean';
|
|
9
|
-
const isTrue = o => isBool(o) && o === true;
|
|
10
|
-
const isTruthy = o => isTrue(!!o);
|
|
11
|
-
const isFalse = o => isBool(o) && o === false;
|
|
12
|
-
const isFalsy = o => isFalse(!!o);
|
|
13
8
|
/**
|
|
14
9
|
* `ObjectExtensions` is a constant that applies a patch to the global
|
|
15
10
|
* `Object` constructor. This patch extends the `Object` with additional
|
|
@@ -24,6 +19,112 @@ const isFalsy = o => isFalse(!!o);
|
|
|
24
19
|
*/
|
|
25
20
|
export const ObjectExtensions = new Patch(Object, {
|
|
26
21
|
[Patch.kMutablyHidden]: {
|
|
22
|
+
add(...args) {
|
|
23
|
+
const { isDescriptor } = Descriptor;
|
|
24
|
+
const { isObject: isObj } = this;
|
|
25
|
+
const { kDescriptorStore } = this;
|
|
26
|
+
let obj, key, value, _get, _set, storage, storageKey;
|
|
27
|
+
let _type, _flag, _desc;
|
|
28
|
+
// Check to see if we received multiple arguments or an object
|
|
29
|
+
if (args.length && isObj(args[0])) {
|
|
30
|
+
({
|
|
31
|
+
to: obj,
|
|
32
|
+
key,
|
|
33
|
+
value,
|
|
34
|
+
get: _get,
|
|
35
|
+
set: _set,
|
|
36
|
+
storage,
|
|
37
|
+
storageKey,
|
|
38
|
+
type: _type = ['accessor', 'data'][1],
|
|
39
|
+
flag: _flag = undefined,
|
|
40
|
+
descriptorBase: _desc = undefined,
|
|
41
|
+
} = args[0]);
|
|
42
|
+
}
|
|
43
|
+
else if (args.length > 1) {
|
|
44
|
+
([
|
|
45
|
+
to,
|
|
46
|
+
_type,
|
|
47
|
+
key,
|
|
48
|
+
getOrValue,
|
|
49
|
+
_set,
|
|
50
|
+
storage,
|
|
51
|
+
storageKey,
|
|
52
|
+
_flag,
|
|
53
|
+
_desc,
|
|
54
|
+
] = args);
|
|
55
|
+
obj = to;
|
|
56
|
+
_type = (['accessor', 'data'].includes(_type.toLowerCase())
|
|
57
|
+
? _type.toLowerCase() : 'data');
|
|
58
|
+
_get = _type === 'accessor' ? getOrValue : undefined;
|
|
59
|
+
_value = _type === 'data' ? getOrValue : undefined;
|
|
60
|
+
}
|
|
61
|
+
if (!this.isObject(obj)) {
|
|
62
|
+
console.warn('Object.add() must receive an object for `toObject`');
|
|
63
|
+
return obj;
|
|
64
|
+
}
|
|
65
|
+
const more = isDescriptor(_desc) ? _desc : {};
|
|
66
|
+
const flag = _flag || Object.definitionType.mutablyVisible;
|
|
67
|
+
const props = { ...Patch.getDescriptorOverridesFromSymbol(flag), ...more };
|
|
68
|
+
const type = (['accessor', 'data'].includes(_type)
|
|
69
|
+
? String(_type).toLowerCase() : 'data');
|
|
70
|
+
switch (type) {
|
|
71
|
+
case 'accessor':
|
|
72
|
+
let store = storage;
|
|
73
|
+
let storeKey = storageKey || key;
|
|
74
|
+
let makeStore = false;
|
|
75
|
+
let get = _get;
|
|
76
|
+
let set = _set;
|
|
77
|
+
if (!is.truthy(get) && !is.function(get)) {
|
|
78
|
+
get = undefined;
|
|
79
|
+
}
|
|
80
|
+
if (!is.truthy(set) && !is.function(set)) {
|
|
81
|
+
set = undefined;
|
|
82
|
+
}
|
|
83
|
+
if (isObj(store) || is.true(store) || is.function(store)) {
|
|
84
|
+
makeStore = is.true(store);
|
|
85
|
+
store = is.fn(store) ? store() : store;
|
|
86
|
+
store = is.object(store) ? store : (makeStore && {} || undefined);
|
|
87
|
+
}
|
|
88
|
+
// store should be defined by here: object or undefined
|
|
89
|
+
if ((!get && !set) && makeStore) {
|
|
90
|
+
// being lazy here, someone has defined we make an accessor but
|
|
91
|
+
// wants the default accessor behaviors with an associated store
|
|
92
|
+
// made by us.
|
|
93
|
+
Object.defineProperty(obj, kDescriptorStore, {
|
|
94
|
+
value: symkeys.add('descriptor.store', store),
|
|
95
|
+
configurable: true,
|
|
96
|
+
enumerable: false,
|
|
97
|
+
writable: true,
|
|
98
|
+
});
|
|
99
|
+
get = () => this[kDescriptorStore]?.data?.[storeKey];
|
|
100
|
+
set = (value) => { this[kDescriptorStore].data[storeKey] = value; };
|
|
101
|
+
}
|
|
102
|
+
else if (get?.length && set?.length > 1 && store) {
|
|
103
|
+
// if we received a get or set that takes more arguments than
|
|
104
|
+
// expected, assume the last argument should be the store variable
|
|
105
|
+
// so we execute the supplied function with the storage and its
|
|
106
|
+
// results or byproducts are the result to the get/set we define
|
|
107
|
+
const innerGet = get;
|
|
108
|
+
const innerSet = set;
|
|
109
|
+
get = () => innerGet(store);
|
|
110
|
+
set = (value) => innerSet(value, store);
|
|
111
|
+
}
|
|
112
|
+
// get and set should be in their final state by here
|
|
113
|
+
Object.defineProperty(obj, key, { ...props, get, set });
|
|
114
|
+
break;
|
|
115
|
+
case 'data':
|
|
116
|
+
Object.defineProperty(obj, key, { ...props, value });
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
return obj;
|
|
120
|
+
},
|
|
121
|
+
addAccessor(to, key, getter, setter, storage) {
|
|
122
|
+
const store = storage ?? (!getter && !setter) ? true : undefined;
|
|
123
|
+
return this.add({ to, key, get: getter, set: setter, storage: store });
|
|
124
|
+
},
|
|
125
|
+
addData(to, key, value) {
|
|
126
|
+
return this.add({ to, key, value });
|
|
127
|
+
},
|
|
27
128
|
/**
|
|
28
129
|
* Creates a shallow copy of the provided object(s).
|
|
29
130
|
*
|
|
@@ -79,6 +180,33 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
79
180
|
deepCopy(destination, ...sources) {
|
|
80
181
|
return copyObject(true, destination, ...sources);
|
|
81
182
|
},
|
|
183
|
+
/**
|
|
184
|
+
* Defines a new property on an object with a specified value and
|
|
185
|
+
* visibility/mutability flag. The flag determines the visibility and
|
|
186
|
+
* mutability of the property. By default, the property is defined as
|
|
187
|
+
* mutably hidden.
|
|
188
|
+
*
|
|
189
|
+
* @param {object} object - The object on which to define the property.
|
|
190
|
+
* @param {string} key - The name of the property to be defined.
|
|
191
|
+
* @param {any} value - The value of the property to be defined.
|
|
192
|
+
* @param {symbol} [flag=Object.definitionType.mutablyHidden] - The
|
|
193
|
+
* visibility/mutability flag for the property. This should be one of the
|
|
194
|
+
* symbols available in `ObjectExtensions.definitionType`.
|
|
195
|
+
* @returns {object} The object with the newly defined property.
|
|
196
|
+
*
|
|
197
|
+
* @example
|
|
198
|
+
* // Define a new mutably hidden property on an object
|
|
199
|
+
* const myObject = {};
|
|
200
|
+
* const myValue = 'Hello, world!';
|
|
201
|
+
* const hiddenSymbol = Object.definitionType.mutablyHidden;
|
|
202
|
+
* Object.define(myObject, 'myProperty', myValue, hiddenSymbol);
|
|
203
|
+
* // myObject now has a mutably hidden property 'myProperty' with value
|
|
204
|
+
* // 'Hello, world!'
|
|
205
|
+
*/
|
|
206
|
+
define(object, key, value, flag = Object.definitionType.mutablyHidden) {
|
|
207
|
+
const properties = Patch.getDescriptorOverridesFromSymbol(flag);
|
|
208
|
+
return Object.defineProperty(object, key, { ...properties, value });
|
|
209
|
+
},
|
|
82
210
|
/**
|
|
83
211
|
* A getter property that provides access to the definition types used
|
|
84
212
|
* for object property definitions. These types are used to control the
|
|
@@ -110,33 +238,6 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
110
238
|
get immutablyVisible() { return Patch.kImmutablyVisible; },
|
|
111
239
|
};
|
|
112
240
|
},
|
|
113
|
-
/**
|
|
114
|
-
* Defines a new property on an object with a specified value and
|
|
115
|
-
* visibility/mutability flag. The flag determines the visibility and
|
|
116
|
-
* mutability of the property. By default, the property is defined as
|
|
117
|
-
* mutably hidden.
|
|
118
|
-
*
|
|
119
|
-
* @param {object} object - The object on which to define the property.
|
|
120
|
-
* @param {string} key - The name of the property to be defined.
|
|
121
|
-
* @param {any} value - The value of the property to be defined.
|
|
122
|
-
* @param {symbol} [flag=Object.definitionType.mutablyHidden] - The
|
|
123
|
-
* visibility/mutability flag for the property. This should be one of the
|
|
124
|
-
* symbols available in `ObjectExtensions.definitionType`.
|
|
125
|
-
* @returns {object} The object with the newly defined property.
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* // Define a new mutably hidden property on an object
|
|
129
|
-
* const myObject = {};
|
|
130
|
-
* const myValue = 'Hello, world!';
|
|
131
|
-
* const hiddenSymbol = Object.definitionType.mutablyHidden;
|
|
132
|
-
* Object.define(myObject, 'myProperty', myValue, hiddenSymbol);
|
|
133
|
-
* // myObject now has a mutably hidden property 'myProperty' with value
|
|
134
|
-
* // 'Hello, world!'
|
|
135
|
-
*/
|
|
136
|
-
define(object, key, value, flag = Object.definitionType.mutablyHidden) {
|
|
137
|
-
const properties = Patch.getDescriptorOverridesFromSymbol(flag);
|
|
138
|
-
return Object.defineProperty(object, key, { ...properties, value });
|
|
139
|
-
},
|
|
140
241
|
/**
|
|
141
242
|
* Defines a new accessor property on an object with specified getter and
|
|
142
243
|
* setter functions and a visibility/mutability flag. The flag determines
|
|
@@ -170,100 +271,6 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
170
271
|
const properties = Patch.getDescriptorOverridesFromSymbol(flag);
|
|
171
272
|
return Object.defineProperty(object, key, { ...properties, get, set });
|
|
172
273
|
},
|
|
173
|
-
add(...args) {
|
|
174
|
-
const { isDescriptor } = Descriptor;
|
|
175
|
-
const { isObject: isObj } = this;
|
|
176
|
-
const { kDescriptorStore } = this;
|
|
177
|
-
let toObject, key, value, _get, _set, storage, storageKey;
|
|
178
|
-
let _type, _flag, _desc;
|
|
179
|
-
// Check to see if we received multiple arguments or an object
|
|
180
|
-
if (args.length && isObj(args[0])) {
|
|
181
|
-
({
|
|
182
|
-
toObject: obj,
|
|
183
|
-
key,
|
|
184
|
-
value,
|
|
185
|
-
get: _get,
|
|
186
|
-
set: _set,
|
|
187
|
-
storage,
|
|
188
|
-
storageKey,
|
|
189
|
-
type: _type = ['accessor', 'data'][1],
|
|
190
|
-
flag: _flag = undefined,
|
|
191
|
-
descriptorBase: _desc = undefined,
|
|
192
|
-
} = args[0]);
|
|
193
|
-
}
|
|
194
|
-
else if (args.length > 1) {
|
|
195
|
-
([
|
|
196
|
-
toObject,
|
|
197
|
-
_type,
|
|
198
|
-
key,
|
|
199
|
-
getOrValue,
|
|
200
|
-
_set,
|
|
201
|
-
storage,
|
|
202
|
-
storageKey,
|
|
203
|
-
_flag,
|
|
204
|
-
_desc,
|
|
205
|
-
] = args);
|
|
206
|
-
_type = (['accessor', 'data'].includes(_type.toLowerCase())
|
|
207
|
-
? _type.toLowerCase() : 'data');
|
|
208
|
-
_get = _type === 'accessor' ? getOrValue : undefined;
|
|
209
|
-
_value = _type === 'data' ? getOrValue : undefined;
|
|
210
|
-
}
|
|
211
|
-
const more = isDescriptor(_desc) ? _desc : {};
|
|
212
|
-
const flag = _flag || Object.definitionType.mutablyVisible;
|
|
213
|
-
const props = { ...Patch.getDescriptorOverridesFromSymbol(flag), ...more };
|
|
214
|
-
const type = (['accessor', 'data'].includes(_type)
|
|
215
|
-
? String(_type).toLowerCase() : 'data');
|
|
216
|
-
switch (type) {
|
|
217
|
-
case 'accessor':
|
|
218
|
-
let store = storage;
|
|
219
|
-
let storeKey = storageKey || key;
|
|
220
|
-
let makeStore = false;
|
|
221
|
-
let get = _get;
|
|
222
|
-
let set = _set;
|
|
223
|
-
if (!isTruthy(get) && !isFn(get)) {
|
|
224
|
-
get = undefined;
|
|
225
|
-
}
|
|
226
|
-
if (!isTruthy(set) && !isFn(set)) {
|
|
227
|
-
set = undefined;
|
|
228
|
-
}
|
|
229
|
-
if (isObj(store) || isTrue(store) || isFn(store)) {
|
|
230
|
-
makeStore = isTrue(store);
|
|
231
|
-
store = isFn(store) ? store() : store;
|
|
232
|
-
store = isObj(store) ? store : (makeStore && {} || undefined);
|
|
233
|
-
}
|
|
234
|
-
// store should be defined by here: object or undefined
|
|
235
|
-
if (!get && !set && makeStore) {
|
|
236
|
-
// being lazy here, someone has defined we make an accessor but
|
|
237
|
-
// wants the default accessor behaviors with an associated store
|
|
238
|
-
// made by us.
|
|
239
|
-
Object.defineProperty(obj, kDescriptorStore, {
|
|
240
|
-
value: symkeys.add('descriptor.store', store),
|
|
241
|
-
configurable: true,
|
|
242
|
-
enumerable: false,
|
|
243
|
-
writable: true,
|
|
244
|
-
});
|
|
245
|
-
get = () => this[kDescriptorStore].data[storeKey];
|
|
246
|
-
set = (value) => { this[kDescriptorStore].data[storeKey] = value; };
|
|
247
|
-
}
|
|
248
|
-
else if (get.length && set.length > 1 && store) {
|
|
249
|
-
// if we received a get or set that takes more arguments than
|
|
250
|
-
// expected, assume the last argument should be the store variable
|
|
251
|
-
// so we execute the supplied function with the storage and its
|
|
252
|
-
// results or byproducts are the result to the get/set we define
|
|
253
|
-
const innerGet = get;
|
|
254
|
-
const innerSet = set;
|
|
255
|
-
get = () => innerGet(store);
|
|
256
|
-
set = (value) => innerSet(value, store);
|
|
257
|
-
}
|
|
258
|
-
// get and set should be in their final state by here
|
|
259
|
-
Object.defineProperty(obj, key, { ...props, get, set });
|
|
260
|
-
break;
|
|
261
|
-
case 'data':
|
|
262
|
-
Object.defineProperty(obj, key, { ...props, value });
|
|
263
|
-
break;
|
|
264
|
-
}
|
|
265
|
-
return obj;
|
|
266
|
-
},
|
|
267
274
|
/**
|
|
268
275
|
* Creates a new object from an array of key-value pairs (entries), with an
|
|
269
276
|
* optional prototype and reducer function. If no prototype is provided,
|
|
@@ -298,10 +305,10 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
298
305
|
* // with prototype { foo: 'bar' }
|
|
299
306
|
*/
|
|
300
307
|
fromEntriesUsing(entries, prototype = Object.prototype, reducer = undefined) {
|
|
301
|
-
if (!
|
|
308
|
+
if (!is.array(entries)) {
|
|
302
309
|
return undefined;
|
|
303
310
|
}
|
|
304
|
-
const entriesToUse = entries.filter(entry =>
|
|
311
|
+
const entriesToUse = entries.filter(entry => is.array(entry) && entry.length >= 2);
|
|
305
312
|
if (!entriesToUse.length) {
|
|
306
313
|
return undefined;
|
|
307
314
|
}
|
|
@@ -361,7 +368,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
361
368
|
* @returns {string} - The string tag of the object, indicating its type.
|
|
362
369
|
*/
|
|
363
370
|
getStringTag(value, strict = false) {
|
|
364
|
-
if (
|
|
371
|
+
if (has.stringTag(value)) {
|
|
365
372
|
return value[Symbol.toStringTag];
|
|
366
373
|
}
|
|
367
374
|
if (strict) {
|
|
@@ -410,7 +417,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
410
417
|
* @returns true if the symbol is defined, false otherwise
|
|
411
418
|
*/
|
|
412
419
|
hasStringTag(value) {
|
|
413
|
-
return
|
|
420
|
+
return has.stringTag(value);
|
|
414
421
|
},
|
|
415
422
|
/**
|
|
416
423
|
* The function checks if a value is either `undefined` or `null`.
|
|
@@ -421,7 +428,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
421
428
|
* and `false` otherwise.
|
|
422
429
|
*/
|
|
423
430
|
isNullDefined(value) {
|
|
424
|
-
return value
|
|
431
|
+
return is.nullish(value);
|
|
425
432
|
},
|
|
426
433
|
/**
|
|
427
434
|
* The `ifNullDefined` function checks if a given value is either `null` or
|
|
@@ -456,7 +463,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
456
463
|
* );
|
|
457
464
|
*/
|
|
458
465
|
ifNullDefined(value, thenValue, elseValue) {
|
|
459
|
-
return isThenElse(
|
|
466
|
+
return isThenElse(is.nullish(value), thenValue, elseValue);
|
|
460
467
|
},
|
|
461
468
|
/**
|
|
462
469
|
* Checks if the provided value is an object.
|
|
@@ -480,22 +487,31 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
480
487
|
* console.log(isObject(null)); // Output: false
|
|
481
488
|
*/
|
|
482
489
|
isObject(value) {
|
|
483
|
-
return value
|
|
490
|
+
return is.object(value);
|
|
484
491
|
},
|
|
485
492
|
/**
|
|
486
|
-
*
|
|
487
|
-
*
|
|
488
|
-
*
|
|
489
|
-
*
|
|
493
|
+
* Executes a conditional function based on whether the provided value
|
|
494
|
+
* is an object or not. This method first checks if the value is an
|
|
495
|
+
* object using the `is.object` method from the toolkit. If it is, it
|
|
496
|
+
* returns the `thenValue`, otherwise it returns the `elseValue`.
|
|
490
497
|
*
|
|
491
|
-
* @param {
|
|
492
|
-
* @
|
|
493
|
-
*
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
498
|
+
* @param {any} value - The value to be checked.
|
|
499
|
+
* @param {function | any} thenValue - The value to return if `value`
|
|
500
|
+
* is an object.
|
|
501
|
+
* @param {function | any} elseValue - The value to return if `value`
|
|
502
|
+
* is not an object.
|
|
503
|
+
* @returns {*} - Returns `thenValue` if the value is an object,
|
|
504
|
+
* otherwise `elseValue`.
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* // returns 'Is Object'
|
|
508
|
+
* ifObject({}, 'Is Object', 'Not Object')
|
|
509
|
+
* // returns 'Not Object'
|
|
510
|
+
* ifObject(42, 'Is Object', 'Not Object')
|
|
511
|
+
*/
|
|
512
|
+
ifObject(value, thenValue, elseValue) {
|
|
513
|
+
return isThenElse(is.object(value), thenValue, elseValue);
|
|
497
514
|
},
|
|
498
|
-
|
|
499
515
|
/**
|
|
500
516
|
* Checks to see if the supplied value is a primitive value.
|
|
501
517
|
*
|
|
@@ -504,23 +520,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
504
520
|
* false otherwise.
|
|
505
521
|
*/
|
|
506
522
|
isPrimitive(value) {
|
|
507
|
-
|
|
508
|
-
// is 'object'
|
|
509
|
-
if (value === null) {
|
|
510
|
-
return true;
|
|
511
|
-
}
|
|
512
|
-
// Check for other primitives
|
|
513
|
-
switch (typeof value) {
|
|
514
|
-
case 'string':
|
|
515
|
-
case 'number':
|
|
516
|
-
case 'bigint':
|
|
517
|
-
case 'boolean':
|
|
518
|
-
case 'undefined':
|
|
519
|
-
case 'symbol':
|
|
520
|
-
return true;
|
|
521
|
-
default:
|
|
522
|
-
return false;
|
|
523
|
-
}
|
|
523
|
+
return is.primitive(value);
|
|
524
524
|
},
|
|
525
525
|
/**
|
|
526
526
|
* Executes a conditional function based on whether the provided value is
|
|
@@ -543,7 +543,7 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
543
543
|
* ifPrimitive({a: 'hello'}, 1, 2)
|
|
544
544
|
*/
|
|
545
545
|
ifPrimitive(value, thenValue, elseValue) {
|
|
546
|
-
return isThenElse(
|
|
546
|
+
return isThenElse(is.primitive(value), thenValue, elseValue);
|
|
547
547
|
},
|
|
548
548
|
/**
|
|
549
549
|
* Checks if the given value is a valid key for an object. In JavaScript, a
|
|
@@ -715,6 +715,54 @@ export const ObjectExtensions = new Patch(Object, {
|
|
|
715
715
|
}
|
|
716
716
|
return result;
|
|
717
717
|
},
|
|
718
|
+
withProperties(prototype, ...properties) {
|
|
719
|
+
const props = properties.filter(p => p instanceof Property);
|
|
720
|
+
const possible = properties.filter(p => Array.isArray(p));
|
|
721
|
+
if (possible.length) {
|
|
722
|
+
for (const [key, descriptorOrDataOrAccessorArgs, ...rest] of possible) {
|
|
723
|
+
// if arg[1] is a descriptor
|
|
724
|
+
if (Property.is.descriptor(descriptorOrDataOrAccessorArgs)) {
|
|
725
|
+
props.push(new Property(key, descriptorOrDataOrAccessorArgs));
|
|
726
|
+
}
|
|
727
|
+
else {
|
|
728
|
+
const { get, set } = descriptorOrDataOrAccessorArgs;
|
|
729
|
+
const args = [key, descriptorOrDataOrAccessorArgs, ...rest];
|
|
730
|
+
if (get || set) {
|
|
731
|
+
props.push(Property.accessor(...args));
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
props.push(Property.data(...args));
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
}
|
|
739
|
+
const object = Object.create(prototype ?? Object.prototype);
|
|
740
|
+
const sorted = props.toSorted((a, b) => a.key < b.key ? -1 : (a.key > b.key ? 1 : 0));
|
|
741
|
+
for (const property of sorted) {
|
|
742
|
+
property.apply(object);
|
|
743
|
+
}
|
|
744
|
+
Property.data(Symbol.for('properties'), sorted).apply(object);
|
|
745
|
+
return object;
|
|
746
|
+
},
|
|
747
|
+
/**
|
|
748
|
+
* Retrieves a toolkit object containing various utility functions
|
|
749
|
+
* for type checking and introspection.
|
|
750
|
+
*
|
|
751
|
+
* The toolkit includes many functions. It was designed to read as
|
|
752
|
+
* though the toolkit were assigned to the variable `it`.
|
|
753
|
+
*
|
|
754
|
+
* @example
|
|
755
|
+
* const is = ObjectExtensions.patches.toolkit
|
|
756
|
+
* console.log(is.object({})) // Output: true
|
|
757
|
+
* console.log(is.string('hello')) // Output: true
|
|
758
|
+
* console.log(is.number(42)) // Output: true
|
|
759
|
+
*
|
|
760
|
+
* @returns {object} The toolkit object containing various utility
|
|
761
|
+
* functions for type checking and introspection.
|
|
762
|
+
*/
|
|
763
|
+
get toolkit() {
|
|
764
|
+
return { as, has, is, si };
|
|
765
|
+
},
|
|
718
766
|
},
|
|
719
767
|
});
|
|
720
768
|
const { isObject: pIsObject, ifObject: pIfObject, isNullDefined: pIsNullDefined, ifNullDefined: pIfNullDefined, isPrimitive: pIsPrimitive, ifPrimitive: pIfPrimitive, isValidKey: pIsValidKey, ifValidKey: pIfValidKey, hasStringTag: pHasStringTag, getStringTag: pGetStringTag, stripTo: pStripTo, } = ObjectExtensions.patches;
|
|
@@ -1028,85 +1076,13 @@ export const ObjectPrototypeExtensions = new Patch(Object.prototype, {
|
|
|
1028
1076
|
// {@see globalThis.isThenElse}
|
|
1029
1077
|
function isThenElse(bv, tv, ev) {
|
|
1030
1078
|
if (arguments.length > 1) {
|
|
1031
|
-
var _then =
|
|
1079
|
+
var _then = is.function(tv) ? tv(bv) : tv;
|
|
1032
1080
|
if (arguments.length > 2) {
|
|
1033
|
-
var _else =
|
|
1081
|
+
var _else = is.function(ev) ? tv(bv) : ev;
|
|
1034
1082
|
return bv ? _then : _else;
|
|
1035
1083
|
}
|
|
1036
1084
|
return bv || _then;
|
|
1037
1085
|
}
|
|
1038
1086
|
return bv;
|
|
1039
1087
|
}
|
|
1040
|
-
/**
|
|
1041
|
-
* Creates a deep or shallow copy of the provided source objects and merges
|
|
1042
|
-
* them into the destination object. The function uses a Set to keep track
|
|
1043
|
-
* of visited objects to avoid circular references.
|
|
1044
|
-
*
|
|
1045
|
-
* @function
|
|
1046
|
-
* @name copyObject
|
|
1047
|
-
* @param {boolean} deep - If true, performs a deep copy, otherwise performs
|
|
1048
|
-
* a shallow copy.
|
|
1049
|
-
* @param {object} destination - The object to which properties will be copied.
|
|
1050
|
-
* @param {...object} sources - The source object(s) from which properties
|
|
1051
|
-
* will be copied.
|
|
1052
|
-
* @returns {object} The destination object with the copied properties.
|
|
1053
|
-
*
|
|
1054
|
-
* @example
|
|
1055
|
-
* // Shallow copy
|
|
1056
|
-
* const obj1 = { a: 1, b: { c: 2 } };
|
|
1057
|
-
* const obj2 = { b: { d: 3 }, e: 4 };
|
|
1058
|
-
* const result = copyObject(false, obj1, obj2);
|
|
1059
|
-
* console.log(result); // Output: { a: 1, b: { d: 3 }, e: 4 }
|
|
1060
|
-
*
|
|
1061
|
-
* @example
|
|
1062
|
-
* // Deep copy
|
|
1063
|
-
* const obj1 = { a: 1, b: { c: 2 } };
|
|
1064
|
-
* const obj2 = { b: { d: 3 }, e: 4 };
|
|
1065
|
-
* const result = copyObject(true, obj1, obj2);
|
|
1066
|
-
* console.log(result); // Output: { a: 1, b: { c: 2, d: 3 }, e: 4 }
|
|
1067
|
-
*/
|
|
1068
|
-
export function copyObject(deep, destination, ...sources) {
|
|
1069
|
-
const visited = new Set();
|
|
1070
|
-
for (const source of sources) {
|
|
1071
|
-
if (source === null || typeof source !== 'object' || visited.has(source)) {
|
|
1072
|
-
continue;
|
|
1073
|
-
}
|
|
1074
|
-
visited.add(source);
|
|
1075
|
-
const keys = Reflect.ownKeys(source);
|
|
1076
|
-
for (const key of keys) {
|
|
1077
|
-
let descriptor;
|
|
1078
|
-
try {
|
|
1079
|
-
descriptor = Object.getOwnPropertyDescriptor(source, key);
|
|
1080
|
-
}
|
|
1081
|
-
catch (err) {
|
|
1082
|
-
console.warn(`Failed to get descriptor for key "${key}": ${err}`);
|
|
1083
|
-
continue;
|
|
1084
|
-
}
|
|
1085
|
-
const isDataDesc = Reflect.has(descriptor, 'value');
|
|
1086
|
-
const keyedValue = descriptor?.value;
|
|
1087
|
-
const conditionsMet = [
|
|
1088
|
-
isDataDesc,
|
|
1089
|
-
keyedValue,
|
|
1090
|
-
typeof keyedValue === 'object',
|
|
1091
|
-
!visited.has(keyedValue)
|
|
1092
|
-
].every(condition => condition);
|
|
1093
|
-
if (conditionsMet) {
|
|
1094
|
-
visited.add(keyedValue);
|
|
1095
|
-
const prototype = Object.getPrototypeOf(keyedValue);
|
|
1096
|
-
const descriptors = Object.getOwnPropertyDescriptors(keyedValue);
|
|
1097
|
-
const replacement = Object.create(prototype, descriptors);
|
|
1098
|
-
descriptor.value = deep
|
|
1099
|
-
? copyObject(deep, replacement, keyedValue)
|
|
1100
|
-
: replacement;
|
|
1101
|
-
}
|
|
1102
|
-
try {
|
|
1103
|
-
Object.defineProperty(destination, key, descriptor);
|
|
1104
|
-
}
|
|
1105
|
-
catch (err) {
|
|
1106
|
-
console.error(`Failed to define property "${key}": ${err}`);
|
|
1107
|
-
}
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1110
|
-
return destination;
|
|
1111
|
-
}
|
|
1112
1088
|
//# sourceMappingURL=object.extensions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.extensions.js","sourceRoot":"","sources":["../../src/object.extensions.js"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"object.extensions.js","sourceRoot":"","sources":["../../src/object.extensions.js"],"names":[],"mappings":"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"}
|
|
@@ -338,6 +338,7 @@ export const SetPrototypeExtensions = new Patch(Set.prototype, {
|
|
|
338
338
|
// Object<->Function<->Global occurs. See original source in global.this.js
|
|
339
339
|
// {@see globalThis.isThenElse}
|
|
340
340
|
function isThenElse(bv, tv, ev) {
|
|
341
|
+
function isFunction(value) { typeof value === 'function'; }
|
|
341
342
|
if (arguments.length > 1) {
|
|
342
343
|
var _then = isFunction(tv) ? tv(bv) : tv;
|
|
343
344
|
if (arguments.length > 2) {
|