@koine/utils 2.0.0-beta.1 → 2.0.0-beta.11

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 (331) hide show
  1. package/Defer.mjs +6 -5
  2. package/Emitter.d.ts +3 -1
  3. package/Emitter.mjs +16 -17
  4. package/README.md +6 -1
  5. package/accentSets.d.ts +3 -2
  6. package/accentSets.mjs +116 -31
  7. package/addOrReplaceAtIdx.d.ts +4 -0
  8. package/addOrReplaceAtIdx.mjs +13 -6
  9. package/areEqual.d.ts +1 -1
  10. package/areEqual.mjs +17 -23
  11. package/arrayOfAll.d.ts +1 -2
  12. package/arrayOfAll.mjs +2 -8
  13. package/arraySum.d.ts +2 -1
  14. package/arraySum.mjs +3 -5
  15. package/arrayToLookup.mjs +2 -4
  16. package/buildUrlQueryString.mjs +11 -14
  17. package/capitalize.d.ts +2 -1
  18. package/capitalize.mjs +5 -6
  19. package/changeUrlPath.mjs +2 -3
  20. package/chunkByChunks.d.ts +1 -1
  21. package/chunkByChunks.mjs +18 -21
  22. package/chunkBySize.mjs +3 -4
  23. package/clamp.mjs +1 -2
  24. package/clsx.d.ts +6 -2
  25. package/clsx.mjs +14 -15
  26. package/convertRange.d.ts +3 -1
  27. package/convertRange.mjs +5 -4
  28. package/cookie.d.ts +13 -1
  29. package/cookie.mjs +8 -3
  30. package/createPalette.d.ts +3 -1
  31. package/createPalette.mjs +17 -7
  32. package/debounce.mjs +9 -17
  33. package/debouncePromise.d.ts +22 -4
  34. package/debouncePromise.mjs +73 -3
  35. package/debounceRaf.d.ts +1 -1
  36. package/debounceRaf.mjs +6 -11
  37. package/decode.mjs +2 -3
  38. package/encode.mjs +2 -3
  39. package/ensureInt.mjs +1 -4
  40. package/env.mjs +0 -1
  41. package/errorToString.d.ts +2 -1
  42. package/errorToString.mjs +3 -5
  43. package/findDuplicatedIndexes.mjs +4 -5
  44. package/forin.d.ts +2 -1
  45. package/forin.mjs +4 -4
  46. package/gbToBytes.mjs +1 -2
  47. package/getEmptyArray.d.ts +0 -1
  48. package/getEmptyArray.mjs +4 -4
  49. package/getKeys.d.ts +2 -1
  50. package/getKeys.mjs +3 -3
  51. package/getMediaQueryWidthResolvers.d.ts +6 -0
  52. package/getMediaQueryWidthResolvers.mjs +49 -50
  53. package/getMediaQueryWidthTailwindScreens.d.ts +4 -0
  54. package/getMediaQueryWidthTailwindScreens.mjs +22 -15
  55. package/getNonce.mjs +1 -2
  56. package/getParamAmong.d.ts +3 -2
  57. package/getParamAmong.mjs +5 -6
  58. package/getParamAsInt.d.ts +2 -2
  59. package/getParamAsInt.mjs +4 -6
  60. package/getParamAsString.d.ts +1 -1
  61. package/getParamAsString.mjs +2 -3
  62. package/getType.d.ts +0 -3
  63. package/getType.mjs +2 -7
  64. package/getUrlHashParams.mjs +2 -4
  65. package/getUrlHashPathname.mjs +1 -3
  66. package/getUrlPathnameParts.mjs +2 -7
  67. package/getUrlQueryParams.d.ts +3 -4
  68. package/getUrlQueryParams.mjs +10 -22
  69. package/imgEmptyPixel.mjs +1 -2
  70. package/index.d.ts +5 -2
  71. package/index.mjs +2 -2
  72. package/invariant.mjs +6 -8
  73. package/isAnyObject.mjs +1 -2
  74. package/isArray.mjs +1 -2
  75. package/isBlob.mjs +1 -2
  76. package/isBoolean.mjs +1 -2
  77. package/isBrowser.mjs +1 -2
  78. package/isBrowserNow.mjs +1 -2
  79. package/isDate.mjs +1 -2
  80. package/isEmptyArray.mjs +1 -2
  81. package/isEmptyObject.mjs +1 -2
  82. package/isEmptyString.mjs +1 -2
  83. package/isError.mjs +1 -2
  84. package/isExternalUrl.mjs +4 -6
  85. package/isFile.mjs +1 -2
  86. package/isFloat.mjs +1 -2
  87. package/isFormData.mjs +1 -2
  88. package/isFullArray.mjs +1 -2
  89. package/isFullObject.mjs +1 -2
  90. package/isFullString.mjs +1 -2
  91. package/isFunction.mjs +1 -2
  92. package/isInt.mjs +1 -2
  93. package/isMap.mjs +1 -2
  94. package/isNaNValue.mjs +1 -2
  95. package/isNegativeNumber.mjs +1 -2
  96. package/isNull.mjs +1 -2
  97. package/isNullOrUndefined.mjs +1 -2
  98. package/isNumber.mjs +1 -2
  99. package/isObject.mjs +1 -2
  100. package/isObjectLike.mjs +1 -2
  101. package/isOneOf.mjs +1 -7
  102. package/isPlainObject.mjs +3 -6
  103. package/isPositiveNumber.mjs +1 -2
  104. package/isPrimitive.mjs +5 -11
  105. package/isPromise.mjs +1 -2
  106. package/isRegExp.mjs +1 -2
  107. package/isServer.mjs +1 -2
  108. package/isServerNow.mjs +1 -2
  109. package/isSet.mjs +1 -2
  110. package/isString.mjs +1 -2
  111. package/isSymbol.mjs +1 -2
  112. package/isType.mjs +3 -5
  113. package/isUndefined.mjs +1 -2
  114. package/isWeakMap.mjs +1 -2
  115. package/isWeakSet.mjs +1 -2
  116. package/kbToBytes.mjs +1 -2
  117. package/location.mjs +3 -1
  118. package/lowercase.mjs +1 -4
  119. package/mapListBy.mjs +2 -5
  120. package/matchSorter.mjs +110 -128
  121. package/mbToBytes.mjs +1 -2
  122. package/mergeObjects.d.ts +2 -2
  123. package/mergeObjects.mjs +13 -16
  124. package/mergeUrlQueryParams.d.ts +0 -1
  125. package/mergeUrlQueryParams.mjs +4 -9
  126. package/moveSortableArrayItemByKey.d.ts +1 -1
  127. package/moveSortableArrayItemByKey.mjs +9 -9
  128. package/noop.mjs +1 -2
  129. package/normaliseUrl.mjs +1 -3
  130. package/normaliseUrlPathname.mjs +1 -3
  131. package/objectOmit.d.ts +1 -1
  132. package/objectOmit.mjs +4 -6
  133. package/objectPick.d.ts +1 -1
  134. package/objectPick.mjs +5 -6
  135. package/package.json +7 -11
  136. package/parseCookie.mjs +11 -15
  137. package/parseURL.mjs +5 -6
  138. package/quaranteneProps.d.ts +1 -1
  139. package/quaranteneProps.mjs +7 -9
  140. package/randomInt.mjs +1 -2
  141. package/randomKey.mjs +3 -4
  142. package/readCookie.d.ts +5 -0
  143. package/readCookie.mjs +7 -8
  144. package/removeAccents.mjs +5 -8
  145. package/removeCookie.d.ts +0 -4
  146. package/removeCookie.mjs +6 -9
  147. package/removeDuplicates.mjs +0 -1
  148. package/removeDuplicatesByKey.mjs +5 -7
  149. package/removeDuplicatesComparing.mjs +3 -4
  150. package/removeIndexesFromArray.mjs +3 -4
  151. package/removeTrailingSlash.mjs +1 -3
  152. package/removeUrlQueryParams.d.ts +0 -1
  153. package/removeUrlQueryParams.mjs +5 -8
  154. package/render.d.ts +2 -1
  155. package/render.mjs +45 -99
  156. package/roundTo.mjs +15 -17
  157. package/serializeCookie.d.ts +1 -5
  158. package/serializeCookie.mjs +10 -20
  159. package/setCookie.d.ts +0 -4
  160. package/setCookie.mjs +13 -20
  161. package/shuffle.d.ts +7 -6
  162. package/shuffle.mjs +17 -16
  163. package/slugify.d.ts +2 -1
  164. package/slugify.mjs +15 -12
  165. package/split.d.ts +4 -0
  166. package/split.mjs +4 -1
  167. package/swapMap.d.ts +1 -1
  168. package/swapMap.mjs +4 -6
  169. package/throttle.d.ts +2 -1
  170. package/throttle.mjs +6 -12
  171. package/titleCase.d.ts +4 -3
  172. package/titleCase.mjs +5 -9
  173. package/toNumber.mjs +1 -2
  174. package/toRgba.mjs +3 -5
  175. package/transformToUrlPathname.mjs +2 -5
  176. package/truncate.d.ts +1 -1
  177. package/truncate.mjs +2 -9
  178. package/tryUntil.d.ts +4 -1
  179. package/tryUntil.mjs +11 -11
  180. package/types.mjs +2 -1
  181. package/typings.d.ts +1 -6
  182. package/uid.mjs +3 -5
  183. package/updateLinkParams.mjs +2 -3
  184. package/updateUrlQueryParams.d.ts +0 -1
  185. package/updateUrlQueryParams.mjs +3 -8
  186. package/uppercase.d.ts +1 -0
  187. package/uppercase.mjs +2 -4
  188. package/uuid.mjs +2 -5
  189. package/uuidNumeric.mjs +1 -2
  190. package/wait.mjs +1 -4
  191. package/without.mjs +1 -3
  192. package/Defer.js +0 -30
  193. package/Emitter.js +0 -42
  194. package/accentSets.js +0 -41
  195. package/addOrReplaceAtIdx.js +0 -23
  196. package/areEqual.js +0 -81
  197. package/arrayOfAll.js +0 -36
  198. package/arraySum.js +0 -13
  199. package/arrayToLookup.js +0 -17
  200. package/buildUrlQueryString.js +0 -36
  201. package/capitalize.js +0 -16
  202. package/changeUrlPath.js +0 -23
  203. package/chunkByChunks.js +0 -41
  204. package/chunkBySize.js +0 -16
  205. package/clamp.js +0 -14
  206. package/clsx.js +0 -53
  207. package/convertRange.js +0 -20
  208. package/cookie.js +0 -13
  209. package/createPalette.js +0 -26
  210. package/debounce.js +0 -33
  211. package/debouncePromise.js +0 -12
  212. package/debounceRaf.js +0 -31
  213. package/decode.js +0 -14
  214. package/encode.js +0 -14
  215. package/ensureInt.js +0 -13
  216. package/env.js +0 -3
  217. package/errorToString.js +0 -15
  218. package/findDuplicatedIndexes.js +0 -18
  219. package/forin.js +0 -15
  220. package/gbToBytes.js +0 -11
  221. package/getEmptyArray.js +0 -20
  222. package/getKeys.js +0 -12
  223. package/getMediaQueryWidthResolvers.js +0 -72
  224. package/getMediaQueryWidthTailwindScreens.js +0 -33
  225. package/getNonce.js +0 -13
  226. package/getParamAmong.js +0 -22
  227. package/getParamAsInt.js +0 -25
  228. package/getParamAsString.js +0 -19
  229. package/getType.js +0 -23
  230. package/getUrlHashParams.js +0 -20
  231. package/getUrlHashPathname.js +0 -17
  232. package/getUrlPathnameParts.js +0 -25
  233. package/getUrlQueryParams.js +0 -43
  234. package/imgEmptyPixel.js +0 -10
  235. package/index.js +0 -267
  236. package/invariant.js +0 -38
  237. package/isAnyObject.js +0 -15
  238. package/isArray.js +0 -15
  239. package/isBlob.js +0 -15
  240. package/isBoolean.js +0 -15
  241. package/isBrowser.js +0 -9
  242. package/isBrowserNow.js +0 -12
  243. package/isDate.js +0 -15
  244. package/isEmptyArray.js +0 -15
  245. package/isEmptyObject.js +0 -15
  246. package/isEmptyString.js +0 -13
  247. package/isError.js +0 -15
  248. package/isExternalUrl.js +0 -26
  249. package/isFile.js +0 -15
  250. package/isFloat.js +0 -15
  251. package/isFormData.js +0 -15
  252. package/isFullArray.js +0 -15
  253. package/isFullObject.js +0 -15
  254. package/isFullString.js +0 -15
  255. package/isFunction.js +0 -13
  256. package/isInt.js +0 -15
  257. package/isMap.js +0 -15
  258. package/isNaNValue.js +0 -15
  259. package/isNegativeNumber.js +0 -15
  260. package/isNull.js +0 -15
  261. package/isNullOrUndefined.js +0 -14
  262. package/isNumber.js +0 -17
  263. package/isObject.js +0 -15
  264. package/isObjectLike.js +0 -17
  265. package/isOneOf.js +0 -14
  266. package/isPlainObject.js +0 -18
  267. package/isPositiveNumber.js +0 -15
  268. package/isPrimitive.js +0 -25
  269. package/isPromise.js +0 -15
  270. package/isRegExp.js +0 -15
  271. package/isServer.js +0 -12
  272. package/isServerNow.js +0 -12
  273. package/isSet.js +0 -15
  274. package/isString.js +0 -15
  275. package/isSymbol.js +0 -15
  276. package/isType.js +0 -27
  277. package/isUndefined.js +0 -15
  278. package/isWeakMap.js +0 -15
  279. package/isWeakSet.js +0 -15
  280. package/kbToBytes.js +0 -11
  281. package/location.js +0 -2
  282. package/lowercase.js +0 -13
  283. package/mapListBy.js +0 -18
  284. package/matchSorter.js +0 -374
  285. package/mbToBytes.js +0 -11
  286. package/mergeObjects.js +0 -41
  287. package/mergeUrlQueryParams.js +0 -27
  288. package/moveSortableArrayItemByKey.js +0 -21
  289. package/noop.js +0 -11
  290. package/normaliseUrl.js +0 -20
  291. package/normaliseUrlPathname.js +0 -19
  292. package/objectOmit.js +0 -23
  293. package/objectPick.js +0 -19
  294. package/parseCookie.js +0 -52
  295. package/parseURL.js +0 -24
  296. package/quaranteneProps.js +0 -37
  297. package/randomInt.js +0 -13
  298. package/randomKey.js +0 -15
  299. package/readCookie.js +0 -38
  300. package/removeAccents.js +0 -19
  301. package/removeCookie.js +0 -19
  302. package/removeDuplicates.js +0 -13
  303. package/removeDuplicatesByKey.js +0 -24
  304. package/removeDuplicatesComparing.js +0 -14
  305. package/removeIndexesFromArray.js +0 -18
  306. package/removeTrailingSlash.js +0 -14
  307. package/removeUrlQueryParams.js +0 -26
  308. package/render.js +0 -169
  309. package/roundTo.js +0 -38
  310. package/serializeCookie.js +0 -108
  311. package/setCookie.js +0 -62
  312. package/shuffle.js +0 -36
  313. package/slugify.js +0 -27
  314. package/split.js +0 -8
  315. package/swapMap.js +0 -18
  316. package/throttle.js +0 -30
  317. package/titleCase.js +0 -15
  318. package/toNumber.js +0 -12
  319. package/toRgba.js +0 -20
  320. package/transformToUrlPathname.js +0 -21
  321. package/truncate.js +0 -17
  322. package/tryUntil.js +0 -31
  323. package/types.js +0 -2
  324. package/uid.js +0 -16
  325. package/updateLinkParams.js +0 -19
  326. package/updateUrlQueryParams.js +0 -23
  327. package/uppercase.js +0 -13
  328. package/uuid.js +0 -17
  329. package/uuidNumeric.js +0 -10
  330. package/wait.js +0 -13
  331. package/without.js +0 -56
package/Defer.mjs CHANGED
@@ -1,4 +1,6 @@
1
1
  /**
2
+ * @category async
3
+ */ /**
2
4
  * @category async
3
5
  * @see https://stackoverflow.com/a/37673534/1938970
4
6
  * @example
@@ -8,14 +10,13 @@
8
10
  * deferred.resolve();
9
11
  * deferred.then(handleSuccess, handleError);
10
12
  * ```
11
- */
12
- export function Defer() {
13
+ */ export function Defer() /* : PromiseConstructor */ {
13
14
  // @ts-expect-error nevermind
14
- var self = this || {};
15
- var p = (self.promise = new Promise(function (resolve, reject) {
15
+ const self = this || {};
16
+ const p = self.promise = new Promise((resolve, reject)=>{
16
17
  self.resolve = resolve;
17
18
  self.reject = reject;
18
- }));
19
+ });
19
20
  self.then = p.then.bind(p);
20
21
  self.catch = p.catch.bind(p);
21
22
  // if (p.finally) {
package/Emitter.d.ts CHANGED
@@ -6,9 +6,11 @@
6
6
  *
7
7
  * Adapted from https://github.com/developit/mitt
8
8
  *
9
- * Regarding typescript support @see:
9
+ * Regarding typescript support see:
10
10
  * - https://stackoverflow.com/q/53299743/1938970
11
11
  * - https://github.com/Microsoft/TypeScript/pull/26349
12
+ *
13
+ * @category impl
12
14
  */
13
15
  export declare function Emitter<EventMap extends {
14
16
  [key: string]: any;
package/Emitter.mjs CHANGED
@@ -6,33 +6,32 @@
6
6
  *
7
7
  * Adapted from https://github.com/developit/mitt
8
8
  *
9
- * Regarding typescript support @see:
9
+ * Regarding typescript support see:
10
10
  * - https://stackoverflow.com/q/53299743/1938970
11
11
  * - https://github.com/Microsoft/TypeScript/pull/26349
12
- */
13
- export function Emitter(namespace) {
14
- var all = new Map();
12
+ *
13
+ * @category impl
14
+ */ export function Emitter(namespace) {
15
+ const all = new Map();
15
16
  return {
16
17
  /**
17
- * Register an event handler for the given type.
18
- */
19
- on: function (name, handler) {
20
- var handlers = all.get("".concat(namespace, ".").concat(String(name)));
21
- var added = handlers && handlers.push(handler);
18
+ * Register an event handler for the given type.
19
+ */ on (name, handler) {
20
+ const handlers = all.get(`${namespace}.${String(name)}`);
21
+ const added = handlers && handlers.push(handler);
22
22
  if (!added) {
23
- all.set("".concat(namespace, ".").concat(String(name)), [handler]);
23
+ all.set(`${namespace}.${String(name)}`, [
24
+ handler
25
+ ]);
24
26
  }
25
27
  },
26
28
  /**
27
- * Invoke all handlers for the given type.
28
- */
29
- emit: function (name, data) {
30
- (all.get("".concat(namespace, ".").concat(String(name))) || [])
31
- .slice()
32
- .map(function (handler) {
29
+ * Invoke all handlers for the given type.
30
+ */ emit (name, data) {
31
+ (all.get(`${namespace}.${String(name)}`) || []).slice().map((handler)=>{
33
32
  handler(data);
34
33
  });
35
- },
34
+ }
36
35
  };
37
36
  }
38
37
  export default Emitter;
package/README.md CHANGED
@@ -11,11 +11,16 @@ Libraries to encapsulate and re-export from here, the selection is based on:
11
11
  - [mesqueeb/filter-anything](https://github.com/mesqueeb/filter-anything)
12
12
  - [mesqueeb/case-anything](https://github.com/mesqueeb/case-anything)
13
13
  - [mesqueeb/nestify-anything](https://github.com/mesqueeb/nestify-anything)
14
- - [mesqueeb/fast-sort (fork)](https://github.com/mesqueeb/fast-sort (fork))
14
+ - [mesqueeb/fast-sort (fork)](https://github.com/mesqueeb/fast-sort "fork")
15
15
  - [mesqueeb/compare-anything](https://github.com/mesqueeb/compare-anything)
16
16
  - [mesqueeb/copy-anything](https://github.com/mesqueeb/copy-anything)
17
17
  - [mesqueeb/flatten-anything](https://github.com/mesqueeb/flatten-anything)
18
18
 
19
+ To considerç
20
+
21
+ - [dlv](https://www.npmjs.com/package/dlv)
22
+ - [dset](https://github.com/lukeed/dset)
23
+
19
24
  About ts utilities types @see:
20
25
 
21
26
  - [sindresorhus/type-fest](https://github.com/sindresorhus/type-fest)
package/accentSets.d.ts CHANGED
@@ -8,8 +8,9 @@ export type AccentsSet = [string, string];
8
8
  * Accent sets
9
9
  *
10
10
  * @category text
11
- * @see https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
12
- * @see https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
11
+ * @resources
12
+ * - https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
13
+ * - https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
13
14
  * of [normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)
14
15
  */
15
16
  export declare const accentsSets: AccentsSet[];
package/accentSets.mjs CHANGED
@@ -1,38 +1,123 @@
1
1
  /**
2
+ * First value is the `to`, second is `from`, from *which* chars do we translates *to*
3
+ *
4
+ * @category text
5
+ */ /**
2
6
  * Accent sets
3
7
  *
4
8
  * @category text
5
- * @see https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
6
- * @see https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
9
+ * @resources
10
+ * - https://gist.github.com/mathewbyrne/1280286#gistcomment-3498021
11
+ * - https://gist.github.com/eek/9c4887e80b3ede05c0e39fee4dce3747 for usage
7
12
  * of [normalize](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize)
8
- */
9
- export var accentsSets = [
10
- ["a", "ÀÁÂÃÅÆĀĂĄẠẢẤẦẨẪẬẮẰẲẴẶ"],
11
- ["ae", "Ä"],
12
- ["c", "ÇĆĈČ"],
13
- ["d", "ÐĎĐÞ"],
14
- ["e", "ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ"],
15
- ["g", "ĜĞĢǴ"],
16
- ["h", "ĤḦ"],
17
- ["i", "ÌÍÎÏĨĪĮİỈỊ"],
18
- ["j", "Ĵ"],
19
- ["ij", "IJ"],
20
- ["k", "Ķ"],
21
- ["l", "ĹĻĽŁ"],
22
- ["m", "Ḿ"],
23
- ["n", "ÑŃŅŇ"],
24
- ["o", "ÒÓÔÕØŌŎŐỌỎỐỒỔỖỘỚỜỞỠỢǪǬƠ"],
25
- ["oe", "΅"],
26
- ["p", "ṕ"],
27
- ["r", "ŔŖŘ"],
28
- ["s", "ŚŜŞŠ"],
29
- ["ss", "ß"],
30
- ["t", "ŢŤ"],
31
- ["u", "ÙÚÛŨŪŬŮŰŲỤỦỨỪỬỮỰƯ"],
32
- ["ue", "Ü"],
33
- ["w", "ẂŴẀẄ"],
34
- ["x", "ẍ"],
35
- ["y", "ÝŶŸỲỴỶỸ"],
36
- ["z", "ŹŻŽ"],
13
+ */ export const accentsSets = [
14
+ [
15
+ "a",
16
+ "ÀÁÂÃÅÆĀĂĄẠẢẤẦẨẪẬẮẰẲẴẶ"
17
+ ],
18
+ [
19
+ "ae",
20
+ "Ä"
21
+ ],
22
+ [
23
+ "c",
24
+ "ÇĆĈČ"
25
+ ],
26
+ [
27
+ "d",
28
+ "ÐĎĐÞ"
29
+ ],
30
+ [
31
+ "e",
32
+ "ÈÉÊËĒĔĖĘĚẸẺẼẾỀỂỄỆ"
33
+ ],
34
+ [
35
+ "g",
36
+ "ĜĞĢǴ"
37
+ ],
38
+ [
39
+ "h",
40
+ "ĤḦ"
41
+ ],
42
+ [
43
+ "i",
44
+ "ÌÍÎÏĨĪĮİỈỊ"
45
+ ],
46
+ [
47
+ "j",
48
+ "Ĵ"
49
+ ],
50
+ [
51
+ "ij",
52
+ "IJ"
53
+ ],
54
+ [
55
+ "k",
56
+ "Ķ"
57
+ ],
58
+ [
59
+ "l",
60
+ "ĹĻĽŁ"
61
+ ],
62
+ [
63
+ "m",
64
+ "Ḿ"
65
+ ],
66
+ [
67
+ "n",
68
+ "ÑŃŅŇ"
69
+ ],
70
+ [
71
+ "o",
72
+ "ÒÓÔÕØŌŎŐỌỎỐỒỔỖỘỚỜỞỠỢǪǬƠ"
73
+ ],
74
+ [
75
+ "oe",
76
+ "΅"
77
+ ],
78
+ [
79
+ "p",
80
+ "ṕ"
81
+ ],
82
+ [
83
+ "r",
84
+ "ŔŖŘ"
85
+ ],
86
+ [
87
+ "s",
88
+ "ŚŜŞŠ"
89
+ ],
90
+ [
91
+ "ss",
92
+ "ß"
93
+ ],
94
+ [
95
+ "t",
96
+ "ŢŤ"
97
+ ],
98
+ [
99
+ "u",
100
+ "ÙÚÛŨŪŬŮŰŲỤỦỨỪỬỮỰƯ"
101
+ ],
102
+ [
103
+ "ue",
104
+ "Ü"
105
+ ],
106
+ [
107
+ "w",
108
+ "ẂŴẀẄ"
109
+ ],
110
+ [
111
+ "x",
112
+ "ẍ"
113
+ ],
114
+ [
115
+ "y",
116
+ "ÝŶŸỲỴỶỸ"
117
+ ],
118
+ [
119
+ "z",
120
+ "ŹŻŽ"
121
+ ]
37
122
  ];
38
123
  export default accentsSets;
@@ -1,4 +1,8 @@
1
1
  /**
2
+ * Add or replace an item in the given array, it returns a new array (immutable).
3
+ * Typescript wise this is meant to keep the same type on the newly returned
4
+ * array, therefore the `newItem` must match the type of the `list` items.
5
+ *
2
6
  * @category array
3
7
  */
4
8
  export declare function addOrReplaceAtIdx<T>(list: T[], newItem: T, newIdx?: number): T[];
@@ -1,15 +1,22 @@
1
- import { __spreadArray } from "tslib";
2
1
  /**
2
+ * Add or replace an item in the given array, it returns a new array (immutable).
3
+ * Typescript wise this is meant to keep the same type on the newly returned
4
+ * array, therefore the `newItem` must match the type of the `list` items.
5
+ *
3
6
  * @category array
4
- */
5
- export function addOrReplaceAtIdx(list, newItem, newIdx) {
7
+ */ export function addOrReplaceAtIdx(list, newItem, newIdx) {
6
8
  if (list.length === 0) {
7
- return [newItem];
9
+ return [
10
+ newItem
11
+ ];
8
12
  }
9
13
  if (typeof newIdx === "undefined" || list.length - 1 < newIdx) {
10
- return __spreadArray(__spreadArray([], list, true), [newItem], false);
14
+ return [
15
+ ...list,
16
+ newItem
17
+ ];
11
18
  }
12
- return list.map(function (item, idx) {
19
+ return list.map((item, idx)=>{
13
20
  if (idx === newIdx) {
14
21
  return newItem;
15
22
  }
package/areEqual.d.ts CHANGED
@@ -13,7 +13,7 @@ type Comparable = ComparablePrimitive | object | Record<string, ComparablePrimit
13
13
  * According to very rudimentary tests this function takes on average between
14
14
  * 0.15 ms and 2ms to compare two averaged sizes requet body payloads.
15
15
  *
16
- * @category objects
16
+ * @category object
17
17
  */
18
18
  export declare function areEqual(a: Comparable, b?: Comparable): boolean;
19
19
  export default areEqual;
package/areEqual.mjs CHANGED
@@ -1,31 +1,26 @@
1
1
  import { isArray } from "./isArray";
2
2
  import { isObject } from "./isObject";
3
3
  function areEqualArrays(a, b) {
4
- if (!b)
5
- return false;
6
- if (a.length !== b.length)
7
- return false;
8
- for (var i = 0; i < a.length; i++) {
9
- var aValue = a[i];
10
- var bValue = b[i];
11
- if (!areEqual(aValue, bValue))
12
- return false;
4
+ if (!b) return false;
5
+ if (a.length !== b.length) return false;
6
+ for(let i = 0; i < a.length; i++){
7
+ const aValue = a[i];
8
+ const bValue = b[i];
9
+ if (!areEqual(aValue, bValue)) return false;
13
10
  }
14
11
  return true;
15
12
  }
16
13
  function areEqualObjects(a, b) {
17
- if (!b)
18
- return false;
19
- var aKeys = Object.keys(a);
20
- var bKeys = Object.keys(b);
14
+ if (!b) return false;
15
+ const aKeys = Object.keys(a);
16
+ const bKeys = Object.keys(b);
21
17
  if (aKeys.length !== bKeys.length) {
22
18
  return false;
23
19
  }
24
- for (var _i = 0, aKeys_1 = aKeys; _i < aKeys_1.length; _i++) {
25
- var _key = aKeys_1[_i];
26
- var key = _key;
27
- var aValue = a[key];
28
- var bValue = b[key];
20
+ for (const _key of aKeys){
21
+ const key = _key;
22
+ const aValue = a[key];
23
+ const bValue = b[key];
29
24
  if (!areEqual(aValue, bValue)) {
30
25
  return false;
31
26
  }
@@ -45,9 +40,8 @@ function areEqualObjects(a, b) {
45
40
  * According to very rudimentary tests this function takes on average between
46
41
  * 0.15 ms and 2ms to compare two averaged sizes requet body payloads.
47
42
  *
48
- * @category objects
49
- */
50
- export function areEqual(a, b) {
43
+ * @category object
44
+ */ export function areEqual(a, b) {
51
45
  if (!a && !b) {
52
46
  // console.log(`areEqual took ${performance.now() - t0} ms`);
53
47
  return true;
@@ -57,12 +51,12 @@ export function areEqual(a, b) {
57
51
  // console.log(`areEqual took ${performance.now() - t0} ms`);
58
52
  return false;
59
53
  }
60
- var areObjects = isObject(a) && isObject(b);
54
+ const areObjects = isObject(a) && isObject(b);
61
55
  if (areObjects && !areEqualObjects(a, b)) {
62
56
  // console.log(`areEqual took ${performance.now() - t0} ms`);
63
57
  return false;
64
58
  }
65
- var areArrays = isArray(a) && isArray(b);
59
+ const areArrays = isArray(a) && isArray(b);
66
60
  if (areArrays && !areEqualArrays(a, b)) {
67
61
  // console.log(`areEqual took ${performance.now() - t0} ms`);
68
62
  return false;
package/arrayOfAll.d.ts CHANGED
@@ -5,8 +5,7 @@
5
5
  * @borrows [SO comment by `CertainPerformance`](https://stackoverflow.com/a/60132060/1938970)
6
6
  *
7
7
  * @usage
8
- *
9
- * ```
8
+ * ```ts
10
9
  * type Fruit = "pear" | "apple" | "orange";
11
10
  *
12
11
  * const arrayOfAllFruits = arrayOfAll<Fruit>();
package/arrayOfAll.mjs CHANGED
@@ -5,8 +5,7 @@
5
5
  * @borrows [SO comment by `CertainPerformance`](https://stackoverflow.com/a/60132060/1938970)
6
6
  *
7
7
  * @usage
8
- *
9
- * ```
8
+ * ```ts
10
9
  * type Fruit = "pear" | "apple" | "orange";
11
10
  *
12
11
  * const arrayOfAllFruits = arrayOfAll<Fruit>();
@@ -23,10 +22,5 @@
23
22
  * ]); // ts compiler fails
24
23
  * ```
25
24
  *
26
- */
27
- export var arrayOfAll = function () {
28
- return function (array) {
29
- return array;
30
- };
31
- };
25
+ */ export const arrayOfAll = ()=>(array)=>array;
32
26
  export default arrayOfAll;
package/arraySum.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Sum array of numbers
3
3
  *
4
- * @category array | math
4
+ * @category array
5
+ * @category math
5
6
  */
6
7
  export declare const arraySum: (numbers: number[]) => number;
7
8
  export default arraySum;
package/arraySum.mjs CHANGED
@@ -1,9 +1,7 @@
1
1
  /**
2
2
  * Sum array of numbers
3
3
  *
4
- * @category array | math
5
- */
6
- export var arraySum = function (numbers) {
7
- return numbers.reduce(function (sum, current) { return sum + current; }, 0);
8
- };
4
+ * @category array
5
+ * @category math
6
+ */ export const arraySum = (numbers)=>numbers.reduce((sum, current)=>sum + current, 0);
9
7
  export default arraySum;
package/arrayToLookup.mjs CHANGED
@@ -2,10 +2,8 @@
2
2
  * Maps a simple flat array to a lookup dictionary object
3
3
  *
4
4
  * @category array
5
- */
6
- export function arrayToLookup(array) {
7
- if (array === void 0) { array = []; }
8
- return array.reduce(function (obj, item) {
5
+ */ export function arrayToLookup(array = []) {
6
+ return array.reduce((obj, item)=>{
9
7
  obj[item] = 1;
10
8
  return obj;
11
9
  }, {});
@@ -1,6 +1,6 @@
1
+ import isArray from "./isArray";
1
2
  import isNull from "./isNull";
2
3
  import isUndefined from "./isUndefined";
3
- import isArray from "./isArray";
4
4
  /**
5
5
  * Get clean query string for URL
6
6
  *
@@ -9,23 +9,20 @@ import isArray from "./isArray";
9
9
  * TODO: at some point replace with `URLSearchParams`, @see [caniuse](https://caniuse.com/?search=URLSearchParams)
10
10
  *
11
11
  * @category location
12
- */
13
- export function buildUrlQueryString(params) {
14
- var output = "";
15
- if (!params)
16
- return output;
17
- for (var key in params) {
18
- var value = params[key];
12
+ */ export function buildUrlQueryString(params) {
13
+ let output = "";
14
+ if (!params) return output;
15
+ for(const key in params){
16
+ const value = params[key];
19
17
  if (isArray(value)) {
20
- for (var i = 0; i < value.length; i++) {
21
- output += "".concat(key, "=").concat(encodeURIComponent(value[i] + ""), "&");
18
+ for(let i = 0; i < value.length; i++){
19
+ output += `${key}=${encodeURIComponent(value[i] + "")}&`;
22
20
  }
23
- }
24
- else if (!isNull(value) && !isUndefined(value)) {
25
- output += "".concat(key, "=").concat(encodeURIComponent(value + ""), "&");
21
+ } else if (!isNull(value) && !isUndefined(value)) {
22
+ output += `${key}=${encodeURIComponent(value + "")}&`;
26
23
  }
27
24
  }
28
25
  // removes the last &
29
- return output ? "?".concat(output.replace(/&+$/, "")) : "";
26
+ return output ? `?${output.replace(/&+$/, "")}` : "";
30
27
  }
31
28
  export default buildUrlQueryString;
package/capitalize.d.ts CHANGED
@@ -2,7 +2,8 @@
2
2
  * Capitalize first letter of the given string.
3
3
  *
4
4
  * @category text
5
- * @see https://stackoverflow.com/a/11409944/1938970
5
+ * @resources
6
+ * - https://stackoverflow.com/a/11409944/1938970
6
7
  */
7
8
  export declare function capitalize<T extends string>(string?: null | T): Capitalize<T>;
8
9
  export default capitalize;
package/capitalize.mjs CHANGED
@@ -2,11 +2,10 @@
2
2
  * Capitalize first letter of the given string.
3
3
  *
4
4
  * @category text
5
- * @see https://stackoverflow.com/a/11409944/1938970
6
- */
7
- export function capitalize(string) {
8
- var ensuredString = string || "";
9
- return (ensuredString.charAt(0).toUpperCase() +
10
- ensuredString.slice(1));
5
+ * @resources
6
+ * - https://stackoverflow.com/a/11409944/1938970
7
+ */ export function capitalize(string) {
8
+ const ensuredString = string || "";
9
+ return ensuredString.charAt(0).toUpperCase() + ensuredString.slice(1);
11
10
  }
12
11
  export default capitalize;
package/changeUrlPath.mjs CHANGED
@@ -7,9 +7,8 @@ import normaliseUrlPathname from "./normaliseUrlPathname";
7
7
  * @category location
8
8
  * @param replace Replace URL instead of pushing it in the history stack. By default it pushes it.
9
9
  * @returns {string} The new cleaned pathname
10
- */
11
- export function changeUrlPath(pathname, state, replace) {
12
- var path = normaliseUrlPathname("/".concat(pathname, "/"));
10
+ */ export function changeUrlPath(pathname, state, replace) {
11
+ const path = normaliseUrlPathname(`/${pathname}/`);
13
12
  if (isBrowser) {
14
13
  history[replace ? "replaceState" : "pushState"](state, "", path);
15
14
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
- * TODO: untested
3
2
  * @category array
4
3
  * @see https://stackoverflow.com/a/8189268/1938970
4
+ * @experimental TODO: untested
5
5
  */
6
6
  export declare function chunkByChunks<T>(arr: T[], nrOfChunks: number, balanced?: boolean): T[][];
7
7
  export default chunkByChunks;
package/chunkByChunks.mjs CHANGED
@@ -1,34 +1,31 @@
1
1
  /**
2
- * TODO: untested
3
2
  * @category array
4
3
  * @see https://stackoverflow.com/a/8189268/1938970
5
- */
6
- export function chunkByChunks(arr, nrOfChunks, balanced) {
7
- if (nrOfChunks < 2)
8
- return [arr];
9
- var len = arr.length;
10
- var output = [];
11
- var i = 0;
12
- var size;
4
+ * @experimental TODO: untested
5
+ */ export function chunkByChunks(arr, nrOfChunks, balanced) {
6
+ if (nrOfChunks < 2) return [
7
+ arr
8
+ ];
9
+ const len = arr.length;
10
+ const output = [];
11
+ let i = 0;
12
+ let size;
13
13
  if (len % nrOfChunks === 0) {
14
14
  size = Math.floor(len / nrOfChunks);
15
- while (i < len) {
16
- output.push(arr.slice(i, (i += size)));
15
+ while(i < len){
16
+ output.push(arr.slice(i, i += size));
17
17
  }
18
- }
19
- else if (balanced) {
20
- while (i < len) {
18
+ } else if (balanced) {
19
+ while(i < len){
21
20
  size = Math.ceil((len - i) / nrOfChunks--);
22
- output.push(arr.slice(i, (i += size)));
21
+ output.push(arr.slice(i, i += size));
23
22
  }
24
- }
25
- else {
23
+ } else {
26
24
  nrOfChunks--;
27
25
  size = Math.floor(len / nrOfChunks);
28
- if (len % size === 0)
29
- size--;
30
- while (i < size * nrOfChunks) {
31
- output.push(arr.slice(i, (i += size)));
26
+ if (len % size === 0) size--;
27
+ while(i < size * nrOfChunks){
28
+ output.push(arr.slice(i, i += size));
32
29
  }
33
30
  output.push(arr.slice(size * nrOfChunks));
34
31
  }
package/chunkBySize.mjs CHANGED
@@ -1,10 +1,9 @@
1
1
  /**
2
2
  * @category array
3
3
  * @see https://stackoverflow.com/a/40682136/1938970
4
- */
5
- export function chunkBySize(arr, size) {
6
- var output = [];
7
- for (var i = 0; i < arr.length; i += size) {
4
+ */ export function chunkBySize(arr, size) {
5
+ const output = [];
6
+ for(let i = 0; i < arr.length; i += size){
8
7
  output.push(arr.slice(i, i + size));
9
8
  }
10
9
  return output;
package/clamp.mjs CHANGED
@@ -3,8 +3,7 @@
3
3
  *
4
4
  * @category math
5
5
  * @see https://stackoverflow.com/a/11409944/1938970
6
- */
7
- export function clamp(num, min, max) {
6
+ */ export function clamp(num, min, max) {
8
7
  return Math.min(Math.max(num, min), max);
9
8
  }
10
9
  export default clamp;