@develia/commons 0.3.19 → 0.3.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var Type;
5
+ /**
6
+ * Represents different types in JavaScript.
7
+ * @enum {string}
8
+ */
9
+ exports.Type = void 0;
6
10
  (function (Type) {
7
11
  Type["Undefined"] = "undefined";
8
12
  Type["Number"] = "number";
@@ -12,9 +16,15 @@ var Type;
12
16
  Type["Function"] = "function";
13
17
  Type["Symbol"] = "symbol";
14
18
  Type["BigInt"] = "bigint";
15
- })(Type || (Type = {}));
16
- var Type$1 = Type;
19
+ Type["Null"] = "null";
20
+ })(exports.Type || (exports.Type = {}));
17
21
 
22
+ /**
23
+ * Represents a pair of key and value.
24
+ *
25
+ * @template TKey The type of the key.
26
+ * @template TValue The type of the value.
27
+ */
18
28
  class Pair {
19
29
  get value() {
20
30
  return this._value;
@@ -29,55 +39,153 @@ class Pair {
29
39
  }
30
40
 
31
41
  // noinspection JSUnusedGlobalSymbols
42
+ /**
43
+ * Checks if an object is iterable.
44
+ *
45
+ * @param {any} obj - The object to check.
46
+ * @return {boolean} - Returns true if the object is iterable, otherwise false.
47
+ */
32
48
  function isIterable(obj) {
33
49
  return obj[Symbol.iterator] === 'function';
34
50
  }
51
+ /**
52
+ * Checks if a given value is a string.
53
+ *
54
+ * @param {*} value - The value to check.
55
+ * @return {boolean} - Returns true if the value is a string, otherwise returns false.
56
+ */
35
57
  function isString(value) {
36
58
  return typeof value === 'string';
37
59
  }
60
+ /**
61
+ * Checks if a value is a number.
62
+ *
63
+ * @param {any} value - The value to check.
64
+ * @return {boolean} - Returns true if the value is a number, otherwise false.
65
+ */
38
66
  function isNumber(value) {
39
67
  return typeof value === 'number';
40
68
  }
69
+ /**
70
+ * Checks if a given value is a boolean.
71
+ *
72
+ * @param {any} value - The value to be checked.
73
+ *
74
+ * @return {boolean} - Returns true if the value is a boolean, otherwise false.
75
+ */
41
76
  function isBoolean(value) {
42
77
  return typeof value === 'boolean';
43
78
  }
79
+ /**
80
+ * Checks if a value is an object.
81
+ * @param {any} value - The value to be checked.
82
+ * @returns {boolean} - Returns true if the value is an object, otherwise returns false.
83
+ */
44
84
  function isObject(value) {
45
- return value !== null && typeof value === 'object' && !Array.isArray(value);
85
+ return value != null && typeof value === 'object' && !Array.isArray(value);
46
86
  }
87
+ /**
88
+ * Determines if a value is an array.
89
+ *
90
+ * @param value - The value to be checked.
91
+ *
92
+ * @return Whether the value is an array.
93
+ */
47
94
  function isArray(value) {
48
95
  return Array.isArray(value);
49
96
  }
97
+ /**
98
+ * Checks if a value is a function.
99
+ *
100
+ * @param {any} value - The value to be checked.
101
+ * @return {boolean} - Returns true if the value is a function, otherwise returns false.
102
+ */
50
103
  function isFunction(value) {
51
104
  return typeof value === 'function';
52
105
  }
106
+ /**
107
+ * Checks if a value is undefined.
108
+ *
109
+ * @param {any} value - The value to check.
110
+ * @returns {boolean} - True if the value is undefined, false otherwise.
111
+ */
53
112
  function isUndefined(value) {
54
113
  return typeof value === 'undefined';
55
114
  }
115
+ /**
116
+ * Checks if a value is defined or not.
117
+ *
118
+ * @param {any} value - The value to be checked.
119
+ *
120
+ * @return {boolean} - True if the value is defined, false otherwise.
121
+ */
56
122
  function isDefined(value) {
57
123
  return typeof value !== 'undefined';
58
124
  }
125
+ /**
126
+ * Checks if a given value is null.
127
+ *
128
+ * @param {any} value - The value to check for null.
129
+ * @return {boolean} - Returns true if the value is null, otherwise returns false.
130
+ */
59
131
  function isNull(value) {
60
132
  return value === null;
61
133
  }
134
+ /**
135
+ * Determines whether the given value is of type bigint.
136
+ * @param {any} value - The value to be checked.
137
+ * @return {boolean} - Returns true if the value is of type bigint, false otherwise.
138
+ */
62
139
  function isBigInt(value) {
63
140
  return typeof value === 'bigint';
64
141
  }
142
+ /**
143
+ * Checks if a given value is a symbol.
144
+ *
145
+ * @param {any} value - The value to be checked.
146
+ * @return {boolean} - Returns true if the value is a symbol, false otherwise.
147
+ */
65
148
  function isSymbol(value) {
66
149
  return typeof value === 'symbol';
67
150
  }
151
+ /**
152
+ * Checks if a value is null or undefined.
153
+ *
154
+ * @param {any} value - The value to check.
155
+ * @return {boolean} - Returns true if the value is null or undefined, false otherwise.
156
+ */
68
157
  function isNullOrUndefined(value) {
69
158
  return value === null || typeof value === 'undefined';
70
159
  }
160
+ /**
161
+ * Checks if a given value is empty.
162
+ *
163
+ * @param {any} value - The value to check.
164
+ * @return {boolean} - Returns true if the value is empty, otherwise returns false.
165
+ */
71
166
  function isEmpty(value) {
72
167
  return (Array.isArray(value) && value.length === 0) ||
73
168
  (typeof value === 'string' && value === '') ||
74
169
  value === null || typeof value === 'undefined';
75
170
  }
171
+ /**
172
+ * Check if a value is empty or contains only whitespace characters.
173
+ *
174
+ * @param {any} value - The value to check.
175
+ * @return {boolean} Returns true if the value is empty or contains only whitespace characters, otherwise returns false.
176
+ */
76
177
  function isEmptyOrWhitespace(value) {
77
178
  return (Array.isArray(value) && value.length === 0) ||
78
179
  (typeof value === 'string' && value.trim() === '') ||
79
180
  value === null || typeof value === 'undefined';
80
181
  }
182
+ /**
183
+ * Submits a form via AJAX and returns a Promise that resolves to the Response object.
184
+ *
185
+ * @param {HTMLFormElement | string} selectorOrElement - The form element or selector.
186
+ * @return {Promise<Response>} A Promise that resolves to the Response object.
187
+ * @throws {Error} If the element is invalid.
188
+ */
81
189
  async function ajaxSubmit(selectorOrElement) {
82
190
  const form = typeof selectorOrElement === 'string'
83
191
  ? document.querySelector(selectorOrElement)
@@ -91,6 +199,12 @@ async function ajaxSubmit(selectorOrElement) {
91
199
  body: new FormData(form),
92
200
  });
93
201
  }
202
+ /**
203
+ * Converts an object into an array of key-value pairs.
204
+ *
205
+ * @param {Record<string, any>} obj - The object to convert.
206
+ * @return {Pair<string, any>[]} - The array of key-value pairs.
207
+ */
94
208
  function toPairs(obj) {
95
209
  let output = [];
96
210
  for (const key in obj) {
@@ -98,6 +212,12 @@ function toPairs(obj) {
98
212
  }
99
213
  return output;
100
214
  }
215
+ /**
216
+ * Converts a given thing into a Promise.
217
+ * @template T
218
+ * @param {any} thing - The thing to be converted into a Promise.
219
+ * @returns {Promise<T>} - A Promise representing the given thing.
220
+ */
101
221
  function promisify(thing) {
102
222
  if (thing instanceof Promise)
103
223
  return thing;
@@ -114,7 +234,7 @@ function promisify(thing) {
114
234
  }
115
235
  return Promise.resolve(thing);
116
236
  }
117
- function ajaxSubmission(selectorOrElement, onSuccess = null, onFailure = null) {
237
+ function ajaxSubmission(selectorOrElement, onSuccess = undefined, onFailure = undefined) {
118
238
  const form = typeof selectorOrElement === 'string'
119
239
  ? document.querySelector(selectorOrElement)
120
240
  : selectorOrElement;
@@ -132,6 +252,12 @@ function ajaxSubmission(selectorOrElement, onSuccess = null, onFailure = null) {
132
252
  }
133
253
  });
134
254
  }
255
+ /**
256
+ * Creates a deep clone of the given object.
257
+ * @template T
258
+ * @param {T} obj - The object to clone.
259
+ * @return {T} - The deep clone of the given object.
260
+ */
135
261
  function deepClone(obj) {
136
262
  if (obj === null || typeof obj !== 'object') {
137
263
  return obj;
@@ -151,6 +277,23 @@ function deepClone(obj) {
151
277
  }
152
278
  return copy;
153
279
  }
280
+ /**
281
+ * Returns the type of the given value.
282
+ *
283
+ * @param {any} value - The value to determine the type of.
284
+ * @return {Type} - The type of the given value.
285
+ */
286
+ function getType(value) {
287
+ return value === null ? exports.Type.Null : exports.Type[typeof value];
288
+ }
289
+ /**
290
+ * Converts an object to `FormData` format recursively.
291
+ *
292
+ * @param {Record<string, any>} data - The object data to convert.
293
+ * @param {FormData} formData - The `FormData` instance to append data to.
294
+ * @param {string} parentKey - The parent key to append to child keys in the `FormData`.
295
+ * @returns {FormData} - The `FormData` instance with the converted data.
296
+ */
154
297
  function _objectToFormData(data, formData, parentKey = '') {
155
298
  for (const key in data) {
156
299
  if (data.hasOwnProperty(key)) {
@@ -182,44 +325,84 @@ function _objectToFormData(data, formData, parentKey = '') {
182
325
  }
183
326
  return formData;
184
327
  }
328
+ /**
329
+ * Converts an object into FormData.
330
+ *
331
+ * @param {Record<string, any>} data - The object to be converted into FormData.
332
+ * @return {FormData} - The FormData object representing the converted data.
333
+ */
185
334
  function objectToFormData(data) {
186
335
  let formData = new FormData();
187
336
  return _objectToFormData(data, formData);
188
337
  }
189
338
 
190
339
  /**
191
- * Ensure prefix of a string
340
+ * Ensures that a given string has a specific prefix.
192
341
  *
193
- * @category String
342
+ * @param {string} str - The string to ensure the prefix on.
343
+ * @param {string} prefix - The prefix to ensure on the string.
344
+ * @return {string} - The resulting string with the ensured prefix.
194
345
  */
195
- function ensurePrefix(prefix, str) {
346
+ function ensurePrefix(str, prefix) {
196
347
  if (!str.startsWith(prefix))
197
348
  return prefix + str;
198
349
  return str;
199
350
  }
200
351
  /**
201
- * Ensure suffix of a string
352
+ * Ensures that a string ends with a specified suffix.
202
353
  *
203
- * @category String
354
+ * @param {string} str - The original string.
355
+ * @param {string} suffix - The suffix to ensure.
356
+ * @return {string} - The modified string with the suffix added if it was not already present.
204
357
  */
205
- function ensureSuffix(suffix, str) {
358
+ function ensureSuffix(str, suffix) {
206
359
  if (!str.endsWith(suffix))
207
360
  return str + suffix;
208
361
  return str;
209
362
  }
363
+ /**
364
+ * Formats a string using a template and provided arguments.
365
+ *
366
+ * @param {string} template - The template string containing placeholders.
367
+ * @param {any[]} args - Optional arguments to replace the placeholders in the template.
368
+ * @return {string} The formatted string.
369
+ */
370
+ function format(template, ...args) {
371
+ let regex;
372
+ if (args.length === 1 && typeof args[0] === 'object') {
373
+ args = args[0];
374
+ regex = /{(.+?)}/g;
375
+ }
376
+ else {
377
+ regex = /{(\d+?)}/g;
378
+ }
379
+ return template.replace(regex, (match, key) => {
380
+ return typeof args[key] !== 'undefined' ? args[key] : "";
381
+ });
382
+ }
210
383
 
211
384
  /**
212
- * Linearly remaps a value from its source range [`inMin`, `inMax`] to the destination range [`outMin`, `outMax`]
385
+ * Linearly interpolates a number between two ranges.
386
+ *
387
+ * @param {number} n - The number to interpolate.
388
+ * @param {number} inMin - The minimum value of the input range.
389
+ * @param {number} inMax - The maximum value of the input range.
390
+ * @param {number} outMin - The minimum value of the output range.
391
+ * @param {number} outMax - The maximum value of the output range.
213
392
  *
214
- * @category Math
215
- * @example
216
- * ```
217
- * const value = remap(0.5, 0, 1, 200, 400) // value will be 300
218
- * ```
393
+ * @return {number} - The interpolated value.
219
394
  */
220
395
  function lerp(n, inMin, inMax, outMin, outMax) {
221
396
  return outMin + (outMax - outMin) * ((n - inMin) / (inMax - inMin));
222
397
  }
398
+ /**
399
+ * Clamps a number between a minimum and maximum value.
400
+ *
401
+ * @param {number} n - The value to be clamped.
402
+ * @param {number} min - The minimum value.
403
+ * @param {number} max - The maximum value.
404
+ * @return {number} The clamped value.
405
+ */
223
406
  function clamp(n, min, max) {
224
407
  if (n <= min)
225
408
  return min;
@@ -735,6 +918,9 @@ class Grouping extends From {
735
918
  }
736
919
  }
737
920
 
921
+ /**
922
+ * A class representing a timer that executes a callback function at a specified interval.
923
+ */
738
924
  class Timer {
739
925
  /**
740
926
  * @param callback Callback
@@ -786,6 +972,9 @@ class Timer {
786
972
  }
787
973
  }
788
974
 
975
+ /**
976
+ * Represents a duration of time in milliseconds.
977
+ */
789
978
  class TimeSpan {
790
979
  constructor(milliseconds) {
791
980
  this.milliseconds = milliseconds;
@@ -954,6 +1143,10 @@ class TimeSpan {
954
1143
  TimeSpan.INFINITE = new TimeSpan(Number.POSITIVE_INFINITY);
955
1144
  TimeSpan.NEGATIVE_INFINITE = new TimeSpan(Number.NEGATIVE_INFINITY);
956
1145
 
1146
+ /**
1147
+ * Represents a lazy value that is created only when it is accessed for the first time.
1148
+ * @template T The type of the lazy value.
1149
+ */
957
1150
  class Lazy {
958
1151
  constructor(getter) {
959
1152
  this._valueCreated = false;
@@ -963,9 +1156,9 @@ class Lazy {
963
1156
  get valueCreated() {
964
1157
  return this._valueCreated;
965
1158
  }
966
- async getValue() {
1159
+ get value() {
967
1160
  if (!this._valueCreated) {
968
- this._value = await promisify(this._factoryMethod);
1161
+ this._value = this._factoryMethod();
969
1162
  this._valueCreated = true;
970
1163
  }
971
1164
  return this._value;
@@ -976,6 +1169,11 @@ class Lazy {
976
1169
  }
977
1170
  }
978
1171
 
1172
+ /**
1173
+ * Represents a class for manipulating an array of items.
1174
+ *
1175
+ * @template T - The type of items in the array.
1176
+ */
979
1177
  class ArrayManipulator {
980
1178
  constructor(array) {
981
1179
  this._array = array;
@@ -983,12 +1181,29 @@ class ArrayManipulator {
983
1181
  [Symbol.iterator]() {
984
1182
  return this._array[Symbol.iterator]();
985
1183
  }
1184
+ /**
1185
+ * Retrieves or sets the value at the specified index in the array.
1186
+ * If `item` is not provided, returns the value at index `n`.
1187
+ * If `item` is provided, sets the value at index `n` to the provided value.
1188
+ *
1189
+ * @param {number} n - The index at which to retrieve or set the value.
1190
+ * @param {T | undefined} [item] - The value to set at index `n`, if provided.
1191
+ *
1192
+ * @return {T | void} - If `item` is not provided, returns the value at index `n`.
1193
+ * - If `item` is provided, does not return anything.
1194
+ */
986
1195
  at(n, item = undefined) {
987
1196
  if (item === undefined)
988
1197
  return this._array[n];
989
1198
  else
990
1199
  this._array[n] = item;
991
1200
  }
1201
+ /**
1202
+ * Removes the specified item from the array.
1203
+ *
1204
+ * @param {T} item - The item to be removed.
1205
+ * @returns {ArrayManipulator<T>} - The updated ArrayManipulator instance.
1206
+ */
992
1207
  remove(item) {
993
1208
  const index = this._array.indexOf(item);
994
1209
  if (index !== -1) {
@@ -996,12 +1211,25 @@ class ArrayManipulator {
996
1211
  }
997
1212
  return this;
998
1213
  }
1214
+ /**
1215
+ * Applies a mapping function to each element in the array, transforming it into a new array.
1216
+ * @template R
1217
+ * @param {UnaryFunction<T, R>} mapFn - The function to be applied to each element.
1218
+ * @return {ArrayManipulator<R>} - The new ArrayManipulator instance with the mapped elements.
1219
+ */
999
1220
  map(mapFn) {
1000
1221
  for (let i = 0; i < this._array.length; i++) {
1001
1222
  this._array[i] = mapFn(this._array[i]);
1002
1223
  }
1003
1224
  return this;
1004
1225
  }
1226
+ /**
1227
+ * Filters the elements of the array based on a given filter function.
1228
+ * The filter function should return a boolean value, indicating whether the element should be included in the filtered array or not.
1229
+ *
1230
+ * @param {Predicate<T>} filterFn - The function that will be used to filter the elements. It should accept an element of type T and return a boolean value.
1231
+ * @returns {ArrayManipulator<T>} - The filtered ArrayManipulator instance with the elements that passed the filter.
1232
+ */
1005
1233
  filter(filterFn) {
1006
1234
  for (let i = 0; i < this._array.length; i++) {
1007
1235
  if (!filterFn(this._array[i])) {
@@ -1038,10 +1266,22 @@ class ArrayManipulator {
1038
1266
  this._array.splice(0, start);
1039
1267
  return this;
1040
1268
  }
1269
+ /**
1270
+ * Appends one or more items to the array.
1271
+ *
1272
+ * @param {...T} items - The items to be appended to the array.
1273
+ * @return {ArrayManipulator<T>} - The ArrayManipulator instance.
1274
+ */
1041
1275
  append(...items) {
1042
1276
  this._array.push(...items);
1043
1277
  return this;
1044
1278
  }
1279
+ /**
1280
+ * Prepend items to the beginning of the array.
1281
+ *
1282
+ * @param {...T} items - The items to be prepended.
1283
+ * @return {ArrayManipulator<T>} The ArrayManipulator instance.
1284
+ */
1045
1285
  prepend(...items) {
1046
1286
  this._array.unshift(...items);
1047
1287
  return this;
@@ -1050,6 +1290,12 @@ class ArrayManipulator {
1050
1290
  return this._array;
1051
1291
  }
1052
1292
  }
1293
+ /**
1294
+ * Creates an instance of ArrayManipulator with the given array.
1295
+ * @template T
1296
+ * @param {T[]} array - The input array.
1297
+ * @return {ArrayManipulator<T>} - An instance of the ArrayManipulator class.
1298
+ */
1053
1299
  function array(array) {
1054
1300
  return new ArrayManipulator(array);
1055
1301
  }
@@ -1061,7 +1307,6 @@ exports.Lazy = Lazy;
1061
1307
  exports.Pair = Pair;
1062
1308
  exports.TimeSpan = TimeSpan;
1063
1309
  exports.Timer = Timer;
1064
- exports.Type = Type$1;
1065
1310
  exports.ajaxSubmission = ajaxSubmission;
1066
1311
  exports.ajaxSubmit = ajaxSubmit;
1067
1312
  exports.array = array;
@@ -1069,7 +1314,9 @@ exports.clamp = clamp;
1069
1314
  exports.deepClone = deepClone;
1070
1315
  exports.ensurePrefix = ensurePrefix;
1071
1316
  exports.ensureSuffix = ensureSuffix;
1317
+ exports.format = format;
1072
1318
  exports.from = from;
1319
+ exports.getType = getType;
1073
1320
  exports.isArray = isArray;
1074
1321
  exports.isBigInt = isBigInt;
1075
1322
  exports.isBoolean = isBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../../src/type.ts","../../src/pair.ts","../../src/utilities.ts","../../src/strings.ts","../../src/math.ts","../../src/cache-dictionary.ts","../../src/from.ts","../../src/timer.ts","../../src/timespan.ts","../../src/lazy.ts","../../src/array-manipulator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../../src/typing.ts","../../src/pair.ts","../../src/utilities.ts","../../src/string.ts","../../src/math.ts","../../src/cache-dictionary.ts","../../src/from.ts","../../src/timer.ts","../../src/timespan.ts","../../src/lazy.ts","../../src/array-manipulator.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null],"names":["Type"],"mappings":"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"}