@nejs/basic-extensions 2.21.0 → 2.21.5

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 (36) hide show
  1. package/.idea/markdown.xml +8 -0
  2. package/.idea/modules.xml +8 -0
  3. package/.idea/ne-basic-extensions.iml +8 -0
  4. package/.idea/vcs.xml +6 -0
  5. package/CODE_STYLE.md +393 -0
  6. package/CODING_PHILOSOPHY.md +36 -0
  7. package/DOCUMENTATION_GUIDELINES.md +221 -0
  8. package/dist/@nejs/{basic-extensions.bundle.2.21.0.js → basic-extensions.bundle.2.21.5.js} +6 -6
  9. package/dist/@nejs/basic-extensions.bundle.2.21.5.js.map +7 -0
  10. package/dist/cjs/big.int.extension.js +153 -45
  11. package/dist/cjs/big.int.extension.js.map +1 -1
  12. package/dist/cjs/index.d.ts +1 -1
  13. package/dist/cjs/index.js +2 -0
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/math.extension.d.ts +14 -0
  16. package/dist/cjs/math.extension.js +71 -0
  17. package/dist/cjs/math.extension.js.map +1 -0
  18. package/dist/cjs/number.extension.js +17 -0
  19. package/dist/cjs/number.extension.js.map +1 -1
  20. package/dist/mjs/big.int.extension.js +153 -45
  21. package/dist/mjs/big.int.extension.js.map +1 -1
  22. package/dist/mjs/index.d.ts +1 -1
  23. package/dist/mjs/index.js +2 -0
  24. package/dist/mjs/index.js.map +1 -1
  25. package/dist/mjs/math.extension.d.ts +14 -0
  26. package/dist/mjs/math.extension.js +68 -0
  27. package/dist/mjs/math.extension.js.map +1 -0
  28. package/dist/mjs/number.extension.js +17 -0
  29. package/dist/mjs/number.extension.js.map +1 -1
  30. package/package.json +2 -2
  31. package/repl.history +30 -30
  32. package/src/big.int.extension.js +171 -45
  33. package/src/index.js +2 -0
  34. package/src/math.extension.js +73 -0
  35. package/src/number.extension.js +18 -0
  36. package/dist/@nejs/basic-extensions.bundle.2.21.0.js.map +0 -7
@@ -14,51 +14,117 @@ import { Patch } from '@nejs/extension';
14
14
  * // Now the `BigInt` class has additional methods available
15
15
  */
16
16
  export const BigIntExtensions = new Patch(BigInt, {
17
- /**
18
- * Determines if the supplied `value` is a `BigInt`. This check is
19
- * performed by first checking the `typeof` the `value` and then
20
- * checking to see if the `value` is an `instanceof` `BigInt`
21
- *
22
- * @param {*} value The value that needs to be checked to determine
23
- * if it is a `BigInt` or not
24
- * @returns {boolean} `true` if the supplied `value` is a `BigInt`,
25
- * `false` otherwise
26
- *
27
- * @example
28
- * const bigInt = 1234567890123456789012345678901234567890n
29
- * isBigInt(bigInt) // true
30
- * isBigInt(1234567890123456789012345678901234567890) // false
31
- * isBigInt('1234567890123456789012345678901234567890') // false
32
- * isBigInt(BigInt('1234567890123456789012345678901234567890')) // true
33
- */
34
- isBigInt(value) {
35
- return typeof value === 'bigint' || value instanceof BigInt;
36
- },
37
- /**
38
- * Conditionally returns a value based on whether the supplied
39
- * `value` is a `BigInt` or not. If the `value` is a `BigInt`,
40
- * the `thenValue` will be returned. If it is not a `BigInt`,
41
- * the `elseValue` will be returned instead.
42
- *
43
- * @param {any} value The value to check to determine if it is a
44
- * `BigInt`
45
- * @param {any} thenValue The value to return if the supplied
46
- * `value` is a `BigInt`
47
- * @param {any} elseValue The value to return if the supplied
48
- * `value` is not a `BigInt`
49
- * @returns {any} Either the `thenValue` or `elseValue` depending
50
- * on if the supplied `value` is a `BigInt`
51
- *
52
- * @example
53
- * const bigInt = 1234567890123456789012345678901234567890n
54
- * const num = 42
55
- * ifBigInt(bigInt, 'is a BigInt', 'not a BigInt')
56
- * // 'is a BigInt'
57
- * ifBigInt(num, 'is a BigInt', 'not a BigInt')
58
- * // 'not a BigInt'
59
- */
60
- ifBigInt(value, thenValue, elseValue) {
61
- return isThenElse(this.isBigInt(value), thenValue, elseValue);
17
+ [Patch.kMutablyHidden]: {
18
+ /**
19
+ * Checks if all or some of the supplied values are numbers.
20
+ *
21
+ * This method uses the `Array.prototype.every` or `Array.prototype.some`
22
+ * method to check if all or some of the supplied values are numbers,
23
+ * respectively. The method to use is determined by the `which` parameter.
24
+ *
25
+ * @param {string} [which='every'] - Determines the method to use for the
26
+ * check. Can be either 'every' or 'some'. Defaults to 'every'.
27
+ * @param {...*} values - The values to check.
28
+ * @returns {boolean} - Returns `true` if all or some of the values are
29
+ * numbers (based on the `which` parameter), `false` otherwise.
30
+ *
31
+ * @example
32
+ * areNumbers('every', 1, 2, 3) // true
33
+ * areNumbers('some', 1, '2', 3) // true
34
+ * areNumbers('every', 1, '2', 3) // false
35
+ */
36
+ areBigInts(which = ['every', 'some'][0], ...values) {
37
+ if (which !== 'every' && which !== 'some') {
38
+ return false;
39
+ }
40
+ return values[which](num => this.isBigInt(num));
41
+ },
42
+ /**
43
+ * Determines if the supplied `value` is a `BigInt`. This check is
44
+ * performed by first checking the `typeof` the `value` and then
45
+ * checking to see if the `value` is an `instanceof` `BigInt`
46
+ *
47
+ * @param {*} value The value that needs to be checked to determine
48
+ * if it is a `BigInt` or not
49
+ * @returns {boolean} `true` if the supplied `value` is a `BigInt`,
50
+ * `false` otherwise
51
+ *
52
+ * @example
53
+ * const bigInt = 1234567890123456789012345678901234567890n
54
+ * isBigInt(bigInt) // true
55
+ * isBigInt(1234567890123456789012345678901234567890) // false
56
+ * isBigInt('1234567890123456789012345678901234567890') // false
57
+ * isBigInt(BigInt('1234567890123456789012345678901234567890')) // true
58
+ */
59
+ isBigInt(value) {
60
+ return typeof value === 'bigint' || value instanceof BigInt;
61
+ },
62
+ /**
63
+ * Conditionally returns a value based on whether the supplied
64
+ * `value` is a `BigInt` or not. If the `value` is a `BigInt`,
65
+ * the `thenValue` will be returned. If it is not a `BigInt`,
66
+ * the `elseValue` will be returned instead.
67
+ *
68
+ * @param {any} value The value to check to determine if it is a
69
+ * `BigInt`
70
+ * @param {any} thenValue The value to return if the supplied
71
+ * `value` is a `BigInt`
72
+ * @param {any} elseValue The value to return if the supplied
73
+ * `value` is not a `BigInt`
74
+ * @returns {any} Either the `thenValue` or `elseValue` depending
75
+ * on if the supplied `value` is a `BigInt`
76
+ *
77
+ * @example
78
+ * const bigInt = 1234567890123456789012345678901234567890n
79
+ * const num = 42
80
+ * ifBigInt(bigInt, 'is a BigInt', 'not a BigInt')
81
+ * // 'is a BigInt'
82
+ * ifBigInt(num, 'is a BigInt', 'not a BigInt')
83
+ * // 'not a BigInt'
84
+ */
85
+ ifBigInt(value, thenValue, elseValue) {
86
+ return isThenElse(this.isBigInt(value), thenValue, elseValue);
87
+ },
88
+ /**
89
+ * The Math.min() static method returns the smallest of the numbers given
90
+ * as input parameters, or Infinity if there are no parameters.
91
+ *
92
+ * @param {bigint|number} values value1, …, valueN – Zero or more numbers
93
+ * among which the lowest value will be selected and returned.
94
+ * @returns {bigint|number|Infinity} The smallest of the given numbers.
95
+ * Returns Infinity if no parameters are provided.
96
+ */
97
+ min(...values) {
98
+ const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
99
+ if (!values.length)
100
+ return Infinity;
101
+ if (values.every(n => typeof n === 'bigint')) {
102
+ return values.toSorted(sorter).at(0);
103
+ }
104
+ else {
105
+ throw new TypeError('All supplied values must be of type bigint');
106
+ }
107
+ },
108
+ /**
109
+ * The Math.max() static method returns the largest of the numbers given
110
+ * as input parameters, or Infinity if there are no parameters.
111
+ *
112
+ * @param {bigint|number} values value1, …, valueN – Zero or more numbers
113
+ * among which the largest value will be selected and returned.
114
+ * @returns {bigint|number|Infinity} The largest of the given numbers.
115
+ * Returns Infinity if no parameters are provided.
116
+ */
117
+ max(...values) {
118
+ const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
119
+ if (!values.length)
120
+ return Infinity;
121
+ if (values.every(n => typeof n === 'bigint')) {
122
+ return values.toSorted(sorter).at(-1);
123
+ }
124
+ else {
125
+ throw new TypeError('All supplied values must be of type bigint');
126
+ }
127
+ },
62
128
  },
63
129
  });
64
130
  const { isBigInt: pIsBigInt, ifBigInt: pIfBigInt } = BigIntExtensions.patches;
@@ -77,6 +143,31 @@ const { isBigInt: pIsBigInt, ifBigInt: pIfBigInt } = BigIntExtensions.patches;
77
143
  * // Now the `BigInt` prototype has additional methods available
78
144
  */
79
145
  export const BigIntPrototypeExtensions = new Patch(BigInt.prototype, {
146
+ /**
147
+ * Clamps a value between a minimum and maximum value.
148
+ *
149
+ * This method checks if the provided value and the min and max bounds are
150
+ * numbers. If they are not, it returns the original value. If they are,
151
+ * it ensures that the value does not go below the minimum value or above
152
+ * the maximum value.
153
+ *
154
+ * @param {bigint} [minValue=BigInt(-Number.MAX_VALUE)] - The minimum value.
155
+ * Defaults to BigInt(-Number.MAX_VALUE).
156
+ * @param {bigint} [maxValue=BigInt(Number.MAX_VALUE)] - The maximum value.
157
+ * Defaults to BigInt(Number.MAX_VALUE).
158
+ * @returns {bigint} - Returns the clamped value if all parameters are
159
+ * big integers.
160
+ *
161
+ * @example
162
+ * (10n).clamp(1n, 5n) // returns 5n
163
+ * (-10n).clamp(1n, 5n) // returns 1n
164
+ * (3n).clamp(1n, 5n) // returns 3n
165
+ */
166
+ clamp(minValue = BigInt(-Number.MAX_VALUE), maxValue = BigInt(Number.MAX_VALUE)) {
167
+ if (typeof minValue !== 'bigint' || typeof maxValue !== 'bigint')
168
+ throw new TypeError('All values must be big integers');
169
+ return BigInt.max(minValue, BigInt.min(maxValue, this));
170
+ },
80
171
  /**
81
172
  * A getter method that returns an object representation of the BigInt
82
173
  * instance.
@@ -143,6 +234,23 @@ export const BigIntPrototypeExtensions = new Patch(BigInt.prototype, {
143
234
  ifBigInt(thenValue, elseValue) {
144
235
  return pIfBigInt(this, thenValue, elseValue);
145
236
  },
237
+ /**
238
+ * Provides a way when dealing with numbers to determine if
239
+ * a given number is within a range of values. By default, if
240
+ * no parameters are supplied, it always returns true since
241
+ * the default range is -Infinity to +Infinity. Additionally,
242
+ * by default, the number will always be less than the supplied
243
+ * max unless inclusive is set to true.
244
+ *
245
+ * @param min the lower range value, defaults to -Infinity
246
+ * @param max the upper range value, defaults to +Infinity
247
+ * @param inclusive defaults to false, set to true if you
248
+ * want the max value to less than and equals to
249
+ * @returns {boolean} true if within the range, false otherwise
250
+ */
251
+ within(min = BigInt(-Infinity), max = BigInt(Infinity), inclusive = false) {
252
+ return this >= min && (inclusive ? this <= max : this < max);
253
+ }
146
254
  });
147
255
  // NOTE to self; this is repeated here otherwise a circular reference from
148
256
  // Object<->Function<->Global occurs. See original source in global.this.js
@@ -1 +1 @@
1
- {"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;IAChD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,KAAK;QACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;IAC7D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;QAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/D,CAAC;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,SAAS,UAAU,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,CAAA,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrE,CAAC;QAAC,OAAO,EAAE,IAAI,KAAK,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"big.int.extension.js","sourceRoot":"","sources":["../../src/big.int.extension.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE;IAChD,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;;;;;;;;WAiBG;QACH,UAAU,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM;YAChD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAA;YACd,CAAC;YAED,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACjD,CAAC;QAED;;;;;;;;;;;;;;;;WAgBG;QACH,QAAQ,CAAC,KAAK;YACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,CAAA;QAC7D,CAAC;QAED;;;;;;;;;;;;;;;;;;;;;;WAsBG;QACH,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,SAAS;YAClC,OAAO,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;QAC/D,CAAC;QAED;;;;;;;;WAQG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtC,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;QAED;;;;;;;;WAQG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;iBACI,CAAC;gBACJ,MAAM,IAAI,SAAS,CAAC,4CAA4C,CAAC,CAAA;YACnE,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA;AAEF,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAA;AAE7E;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE;IACnE;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CACH,QAAQ,GAAG,MAAM,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EACpC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;QAEnC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9D,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAA;QAExD,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IACzD,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,MAAM,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,IAAI,QAAQ;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,CAAA;IACxB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS;QAC3B,OAAO,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC9C,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CACJ,GAAG,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC,EACvB,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EACtB,SAAS,GAAG,KAAK;QAEjB,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;IAC9D,CAAC;CACF,CAAC,CAAA;AAEF,0EAA0E;AAC1E,2EAA2E;AAC3E,+BAA+B;AAC/B,SAAS,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC5B,SAAS,UAAU,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,CAAA,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnE,IAAI,KAAK,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAA;QACrE,CAAC;QAAC,OAAO,EAAE,IAAI,KAAK,CAAC;IACvB,CAAC;IAAC,OAAO,EAAE,CAAA;AACb,CAAC"}
@@ -23,7 +23,7 @@ declare namespace results {
23
23
  }
24
24
  export const Extensions: {};
25
25
  export const Patches: Map<any, any>;
26
- export const StaticPatches: ((string | import("@nejs/extension").Patch | ArrayConstructor)[] | (string | import("@nejs/extension").Patch | BigIntConstructor)[] | (string | import("@nejs/extension").Patch | FunctionConstructor)[] | (string | import("@nejs/extension").Patch | JSON)[] | (string | import("@nejs/extension").Patch | MapConstructor)[] | (string | import("@nejs/extension").Patch | NumberConstructor)[] | (string | import("@nejs/extension").Patch | ObjectConstructor)[] | (string | import("@nejs/extension").Patch | typeof Reflect)[] | (string | import("@nejs/extension").Patch | RegExpConstructor)[] | (string | import("@nejs/extension").Patch | SetConstructor)[] | (string | import("@nejs/extension").Patch | StringConstructor)[] | (string | import("@nejs/extension").Patch | SymbolConstructor)[])[];
26
+ export const StaticPatches: ((string | import("@nejs/extension").Patch | ArrayConstructor)[] | (string | import("@nejs/extension").Patch | BigIntConstructor)[] | (string | import("@nejs/extension").Patch | FunctionConstructor)[] | (string | import("@nejs/extension").Patch | JSON)[] | (string | import("@nejs/extension").Patch | MapConstructor)[] | (string | import("@nejs/extension").Patch | Math)[] | (string | import("@nejs/extension").Patch | NumberConstructor)[] | (string | import("@nejs/extension").Patch | ObjectConstructor)[] | (string | import("@nejs/extension").Patch | typeof Reflect)[] | (string | import("@nejs/extension").Patch | RegExpConstructor)[] | (string | import("@nejs/extension").Patch | SetConstructor)[] | (string | import("@nejs/extension").Patch | StringConstructor)[] | (string | import("@nejs/extension").Patch | SymbolConstructor)[])[];
27
27
  export const InstancePatches: ((string | import("@nejs/extension").Patch | BigInt)[] | (string | Number | import("@nejs/extension").Patch)[] | (string | Object)[])[];
28
28
  export const Controls: {};
29
29
  import { GlobalFunctionsAndProps } from './global.this.js';
package/dist/mjs/index.js CHANGED
@@ -4,6 +4,7 @@ import { FunctionExtensions, FunctionPrototypeExtensions } from './function.exte
4
4
  import { GlobalFunctionsAndProps } from './global.this.js';
5
5
  import { JSONExtensions } from './json.extensions.js';
6
6
  import { MapExtensions, MapPrototypeExtensions } from './map.extensions.js';
7
+ import { MathExtensions } from './math.extension.js';
7
8
  import { NumberExtensions, NumberPrototypeExtensions } from './number.extension.js';
8
9
  import { ObjectExtensions, ObjectPrototypeExtensions } from './object.extensions.js';
9
10
  import { ReflectExtensions } from './reflect.extensions.js';
@@ -35,6 +36,7 @@ const StaticPatches = [
35
36
  [Function, FunctionExtensions, Function.name],
36
37
  [JSON, JSONExtensions, 'JSON'], // Missing a .name property
37
38
  [Map, MapExtensions, Map.name],
39
+ [Math, MathExtensions, 'Math'],
38
40
  [Number, NumberExtensions, Number.name],
39
41
  [Object, ObjectExtensions, Object.name],
40
42
  [Reflect, ReflectExtensions, 'Reflect'], // Missing a .name property
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `Math` extensions. Building better worlds...actually just
3
+ * providing some parity between Number and BigInt types for
4
+ * now, but later, better worlds.
5
+ *
6
+ * @type {Patch}
7
+ * @example
8
+ * import { MathExtensions } from 'math.extension.js'
9
+ *
10
+ * MathExtensions.apply()
11
+ * // Now the `Math` class has additional methods available
12
+ */
13
+ export const MathExtensions: Patch;
14
+ import { Patch } from '@nejs/extension';
@@ -0,0 +1,68 @@
1
+ import { Patch } from '@nejs/extension';
2
+ /**
3
+ * `Math` extensions. Building better worlds...actually just
4
+ * providing some parity between Number and BigInt types for
5
+ * now, but later, better worlds.
6
+ *
7
+ * @type {Patch}
8
+ * @example
9
+ * import { MathExtensions } from 'math.extension.js'
10
+ *
11
+ * MathExtensions.apply()
12
+ * // Now the `Math` class has additional methods available
13
+ */
14
+ export const MathExtensions = new Patch(Math, {
15
+ [Patch.kMutablyHidden]: {
16
+ /**
17
+ * The Math.min() static method returns the smallest of the numbers given
18
+ * as input parameters, or Infinity if there are no parameters.
19
+ *
20
+ * @param {bigint|number} values value1, …, valueN – Zero or more numbers
21
+ * among which the lowest value will be selected and returned.
22
+ * @returns {bigint|number|NaN|Infinity} The smallest of the given numbers.
23
+ * Returns NaN if any of the parameters is or is converted into NaN or if
24
+ * the types of numbers are mismatched (i.e., bigint vs. number types).
25
+ * Returns Infinity if no parameters are provided.
26
+ */
27
+ min(...values) {
28
+ const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
29
+ if (!values.length)
30
+ return Infinity;
31
+ if (values.every(n => typeof n === 'bigint')) {
32
+ return values.toSorted(sorter).at(0);
33
+ }
34
+ else if (values.every(n => typeof n === 'number')) {
35
+ return values.toSorted(sorter).at(0);
36
+ }
37
+ else {
38
+ return NaN;
39
+ }
40
+ },
41
+ /**
42
+ * The Math.max() static method returns the largest of the numbers given
43
+ * as input parameters, or Infinity if there are no parameters.
44
+ *
45
+ * @param {bigint|number} values value1, …, valueN – Zero or more numbers
46
+ * among which the largest value will be selected and returned.
47
+ * @returns {bigint|number|NaN|Infinity} The largest of the given numbers.
48
+ * Returns NaN if any of the parameters is or is converted into NaN or if
49
+ * the types of numbers are mismatched (i.e., bigint vs. number types).
50
+ * Returns Infinity if no parameters are provided.
51
+ */
52
+ max(...values) {
53
+ const sorter = (l, r) => l < r ? -1 : l > r ? 1 : 0;
54
+ if (!values.length)
55
+ return Infinity;
56
+ if (values.every(n => typeof n === 'bigint')) {
57
+ return values.toSorted(sorter).at(-1);
58
+ }
59
+ else if (values.every(n => typeof n === 'number')) {
60
+ return values.toSorted(sorter).at(-1);
61
+ }
62
+ else {
63
+ return NaN;
64
+ }
65
+ },
66
+ },
67
+ });
68
+ //# sourceMappingURL=math.extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"math.extension.js","sourceRoot":"","sources":["../../src/math.extension.js"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAEvC;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,KAAK,CAAC,IAAI,EAAE;IAC5C,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE;QACtB;;;;;;;;;;WAUG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtC,CAAC;iBACI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACtC,CAAC;iBACI,CAAC;gBACJ,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;QAED;;;;;;;;;;WAUG;QACH,GAAG,CAAC,GAAG,MAAM;YACX,MAAM,MAAM,GAAG,CAAC,CAAC,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAElD,IAAI,CAAC,MAAM,CAAC,MAAM;gBAChB,OAAO,QAAQ,CAAA;YAEjB,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;iBACI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAClD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;YACvC,CAAC;iBACI,CAAC;gBACJ,OAAO,GAAG,CAAA;YACZ,CAAC;QACH,CAAC;KACF;CACF,CAAC,CAAA"}
@@ -238,6 +238,23 @@ export const NumberPrototypeExtensions = new Patch(Number.prototype, {
238
238
  ifNumber(thenValue, elseValue) {
239
239
  return pIfNumber(this, thenValue, elseValue);
240
240
  },
241
+ /**
242
+ * Provides a way when dealing with numbers to determine if
243
+ * a given number is within a range of values. By default, if
244
+ * no parameters are supplied, it always returns true since
245
+ * the default range is -Infinity to +Infinity. Additionally,
246
+ * by default, the number will always be less than the supplied
247
+ * max unless inclusive is set to true.
248
+ *
249
+ * @param min the lower range value, defaults to -Infinity
250
+ * @param max the upper range value, defaults to +Infinity
251
+ * @param inclusive defaults to false, set to true if you
252
+ * want the max value to less than and equals to
253
+ * @returns {boolean} true if within the range, false otherwise
254
+ */
255
+ within(min = -Infinity, max = Infinity, inclusive = false) {
256
+ return this >= min && (inclusive ? this <= max : this < max);
257
+ }
241
258
  }
242
259
  });
243
260
  // NOTE to self; this is repeated here otherwise a circular reference from
@@ -1 +1 @@
1
- {"version":3,"file":"number.extension.js","sourceRoot":"","sources":["../../src/number.extension.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"number.extension.js","sourceRoot":"","sources":["../../src/number.extension.js"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "author": "Brielle Harrison <nyteshade at gmail.com>",
3
- "browser": "dist/@nejs/basic-extensions.bundle.2.21.0.js",
3
+ "browser": "dist/@nejs/basic-extensions.bundle.2.21.5.js",
4
4
  "description": "Basic but commonly used extensions",
5
5
  "dependencies": {
6
6
  "@nejs/extension": "^2.20.0",
@@ -52,5 +52,5 @@
52
52
  "test": "vitest"
53
53
  },
54
54
  "type": "module",
55
- "version": "2.21.0"
55
+ "version": "2.21.5"
56
56
  }
package/repl.history CHANGED
@@ -1,30 +1,30 @@
1
- /exit
2
- Object.setPrototypeOf(m, pop)
3
- pop[Symbol.toStringTag] = 'Map'
4
- pop[Symbol.toStringTag] = 'Map
5
- Object.setPrototypeOf(m, p)
6
- m2 = new Map()
7
- m.name
8
- Object.setPrototypeOf(m, pop)
9
- pop = new Proxy(p, { get(t,p,r) { if (t.has.call(m, p)) { return t.get.call(m, p) } return Reflect.get(t,p,r) }, has(t,p) { if (t.has.call(m, p)) { return true } return Reflect.has(t,p) } })
10
- p.has.call(m, 'name')
11
- p.has('name')
12
- Object.setPrototypeOf(m, pop)
13
- pop = new Proxy(p, { get(t,p,r) { if (m.has(p)) { return m.get(p) } return Reflect.get(t,p,r) }, has(t,p) { if (m.has(p)) { return true } return Reflect.has(t,p) } })
14
- Object.setPrototypeOf(m, pop)
15
- pop = new Proxy(p, { get(t,p,r) { if (t.has(p)) { return t.get(p) } return Reflect.get(t,p,r) }, has(t,p) { if (t.has(p)) { return true } return Reflect.has(t,p) } })
16
- np = Object.create(p)
17
- p = Object.getPrototypeOf(m)
18
- m.get('name')
19
- m = new Map([['name', 'Brielle']])
20
- ObjectPatches.patchesOwner
21
- ObjectPatches.patchsOwner
22
- ObjectPatches.patchCount
23
- [...ObjectPatches.patchEntries]
24
- ObjectPatches = Patches.get(Object)
25
- Patches.get(Object)
26
- [...Patches.keys()]
27
- Object.keys(Patches)
28
- Patches.keys()
29
- var { Extensions, Patches } = (await import ('./dist/cjs/index.js'))
30
- (await import ('./dist/cjs/index.js')).Patchest import ('./dist/cjs/index.js')).Extensionsex.js').Extensions.js').Patchesx.js').patchesndex.js')mport ('.')og','This is being logged'], ['error', 'But something terrible happened'])p('Fun', ['log','This is being logged'], ['error', 'But something terrible happened']).print()ics','underline']).print()int() { console.log(this) }brave new world', ['italics','underline']))['italics','underline'])
1
+ (20n).within(10n, 20n, false)
2
+ (20n).within(10n, 20n, true)
3
+ (30n).within(10n, 20n, true)
4
+ (33n).within(10n, 20n, true)
5
+ (-33n).within(10n, 20n, true)
6
+ (-33n).within(10n, 20n)
7
+ (-33n).clamp(10n, 30n)
8
+ BigInt.max(10n, BigInt.min(30n, -33n))
9
+ -33n.clamp(10n, 30n)
10
+ BigIntExtensions.apply(); BigIntPrototypeExtensions.apply()
11
+ var { BigIntExtensions, BigIntPrototypeExtensions } = await import('./dist/mjs/big.int.extension.js')
12
+ -33n.clamp(10n, 25n)
13
+ BigIntExtensions.apply(); BigIntPrototypeExtensions.apply()
14
+ var { BigIntExtensions, BigIntPrototypeExtensions } = await import('./dist/mjs/big.int.extension.js')
15
+ BigInt.max(10n, BigInt.min(25n, -33n))
16
+ BigInt.max(10n, -33n)
17
+ BigInt.min(25n, -33n)
18
+ -33n.clamp(10n, 25n)
19
+ 33n.clamp(10n, 25n)
20
+ BigIntExtensions.apply(); BigIntPrototypeExtensions.apply()
21
+ var { BigIntExtensions, BigIntPrototypeExtensions } = await import('./dist/mjs/big.int.extension.js')
22
+ BigInt(Number.MAX_VALUE + 1)
23
+ BigInt.max
24
+ Number.MAX_VALUE
25
+ BigInt(Number.MAX_VALUE)
26
+ BigInt(Infinity)
27
+ 33n.clamp(5n,25n)
28
+ BigIntPrototypeExtensions.apply()
29
+ BigIntExtensions.apply()
30
+ var { BigIntExtensions, BigIntPrototypeExtensions } = await import('./dist/mjs/big.int.extension.js')js/math.extension.js')p) } })get(p) } return Reflect.get(t,p,r) }, has(t,p) { if (t.has(p)) { return true } return Reflect.has(t,p) } })ypeOf(m)ame')ame', 'Brielle']])wner')mport ('.')og','This is being logged'], ['error', 'But something terrible happened'])p('Fun', ['log','This is being logged'], ['error', 'But something terrible happened']).print()ics','underline']).print()int() { console.log(this) }brave new world', ['italics','underline']))['italics','underline'])