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