yummies 5.15.1 → 6.0.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 (234) hide show
  1. package/README.md +10 -4
  2. package/async.cjs +45 -1
  3. package/async.cjs.map +1 -1
  4. package/async.d.ts +7 -6
  5. package/common.cjs +11 -1
  6. package/common.cjs.map +1 -1
  7. package/common.d.ts +8 -5
  8. package/common.js.map +1 -1
  9. package/complex.cjs +88 -1
  10. package/complex.cjs.map +1 -1
  11. package/{complex/modules-factory.d.ts → complex.d.ts} +31 -4
  12. package/complex.js.map +1 -1
  13. package/cookie.cjs +9 -1
  14. package/cookie.cjs.map +1 -1
  15. package/cookie.d.ts +5 -3
  16. package/cookie.js.map +1 -1
  17. package/css.cjs +45 -1
  18. package/css.cjs.map +1 -1
  19. package/css.d.ts +11 -8
  20. package/css.js.map +1 -1
  21. package/data.cjs +43 -1
  22. package/data.cjs.map +1 -1
  23. package/data.d.ts +5 -4
  24. package/data.js.map +1 -1
  25. package/date-time.cjs +395 -1
  26. package/date-time.cjs.map +1 -1
  27. package/date-time.d.ts +12 -10
  28. package/date-time.js.map +1 -1
  29. package/device.cjs +32 -1
  30. package/device.cjs.map +1 -1
  31. package/device.d.ts +9 -8
  32. package/encodings.cjs +270 -1
  33. package/encodings.cjs.map +1 -1
  34. package/encodings.d.ts +3 -2
  35. package/encodings.js.map +1 -1
  36. package/errors.cjs +23 -1
  37. package/errors.cjs.map +1 -1
  38. package/errors.d.ts +5 -4
  39. package/errors.js.map +1 -1
  40. package/file.cjs +28 -1
  41. package/file.cjs.map +1 -1
  42. package/file.d.ts +4 -3
  43. package/format.cjs +75 -1
  44. package/format.cjs.map +1 -1
  45. package/format.d.ts +74 -0
  46. package/format.js.map +1 -1
  47. package/html.cjs +167 -1
  48. package/html.cjs.map +1 -1
  49. package/html.d.ts +19 -17
  50. package/html.js.map +1 -1
  51. package/id.cjs +25 -1
  52. package/id.cjs.map +1 -1
  53. package/id.d.ts +9 -8
  54. package/imports.cjs +33 -1
  55. package/imports.cjs.map +1 -1
  56. package/imports.d.ts +6 -4
  57. package/math.cjs +14 -1
  58. package/math.cjs.map +1 -1
  59. package/math.d.ts +7 -5
  60. package/math.js.map +1 -1
  61. package/media.cjs +105 -1
  62. package/media.cjs.map +1 -1
  63. package/media.d.ts +11 -11
  64. package/mobx.cjs +184 -1
  65. package/mobx.cjs.map +1 -1
  66. package/mobx.d.ts +66 -0
  67. package/mobx.js.map +1 -1
  68. package/ms.cjs +13 -1
  69. package/ms.cjs.map +1 -1
  70. package/ms.d.ts +4 -3
  71. package/number.cjs +10 -1
  72. package/number.cjs.map +1 -1
  73. package/number.d.ts +3 -2
  74. package/package.json +39 -113
  75. package/parser.cjs +68 -1
  76. package/parser.cjs.map +1 -1
  77. package/parser.d.ts +41 -0
  78. package/parser.js.map +1 -1
  79. package/price.cjs +20 -1
  80. package/price.cjs.map +1 -1
  81. package/price.d.ts +5 -3
  82. package/random.cjs +24 -1
  83. package/random.cjs.map +1 -1
  84. package/random.d.ts +10 -9
  85. package/react.cjs +216 -1
  86. package/react.cjs.map +1 -1
  87. package/react.d.ts +113 -0
  88. package/react.js.map +1 -1
  89. package/sound.cjs +11 -1
  90. package/sound.cjs.map +1 -1
  91. package/sound.d.ts +3 -2
  92. package/text.cjs +37 -1
  93. package/text.cjs.map +1 -1
  94. package/text.d.ts +4 -3
  95. package/type-guard.cjs +75 -1
  96. package/type-guard.cjs.map +1 -1
  97. package/type-guard.d.ts +121 -0
  98. package/type-guard.js.map +1 -1
  99. package/{utils/types.d.ts → types.d.ts} +54 -53
  100. package/types.global.cjs +2 -0
  101. package/types.global.cjs.map +1 -0
  102. package/{utility-types.d.ts → types.global.d.ts} +1 -1
  103. package/types.global.js +2 -0
  104. package/types.global.js.map +1 -0
  105. package/vibrate.cjs +8 -1
  106. package/vibrate.cjs.map +1 -1
  107. package/vibrate.d.ts +3 -2
  108. package/async.d.ts.map +0 -1
  109. package/common.d.ts.map +0 -1
  110. package/complex/counter.d.ts +0 -15
  111. package/complex/counter.d.ts.map +0 -1
  112. package/complex/global-config.d.ts +0 -11
  113. package/complex/global-config.d.ts.map +0 -1
  114. package/complex/index.d.ts +0 -4
  115. package/complex/index.d.ts.map +0 -1
  116. package/complex/modules-factory.d.ts.map +0 -1
  117. package/cookie.d.ts.map +0 -1
  118. package/css.d.ts.map +0 -1
  119. package/data.d.ts.map +0 -1
  120. package/date-time.d.ts.map +0 -1
  121. package/device.d.ts.map +0 -1
  122. package/encodings.d.ts.map +0 -1
  123. package/errors.d.ts.map +0 -1
  124. package/file.d.ts.map +0 -1
  125. package/format/_exports.d.ts +0 -5
  126. package/format/_exports.d.ts.map +0 -1
  127. package/format/constants.d.ts +0 -4
  128. package/format/constants.d.ts.map +0 -1
  129. package/format/index.d.ts +0 -3
  130. package/format/index.d.ts.map +0 -1
  131. package/format/number.d.ts +0 -36
  132. package/format/number.d.ts.map +0 -1
  133. package/format/percent.d.ts +0 -15
  134. package/format/percent.d.ts.map +0 -1
  135. package/format/skip-spaces.d.ts +0 -5
  136. package/format/skip-spaces.d.ts.map +0 -1
  137. package/html.d.ts.map +0 -1
  138. package/id.d.ts.map +0 -1
  139. package/imports.d.ts.map +0 -1
  140. package/math.d.ts.map +0 -1
  141. package/media.d.ts.map +0 -1
  142. package/mobx/apply-observable.d.ts +0 -4
  143. package/mobx/apply-observable.d.ts.map +0 -1
  144. package/mobx/create-enhanced-atom.d.ts +0 -11
  145. package/mobx/create-enhanced-atom.d.ts.map +0 -1
  146. package/mobx/create-ref.d.ts +0 -28
  147. package/mobx/create-ref.d.ts.map +0 -1
  148. package/mobx/deep-observable-struct.d.ts +0 -7
  149. package/mobx/deep-observable-struct.d.ts.map +0 -1
  150. package/mobx/get-mobx-administration.d.ts +0 -6
  151. package/mobx/get-mobx-administration.d.ts.map +0 -1
  152. package/mobx/index.d.ts +0 -7
  153. package/mobx/index.d.ts.map +0 -1
  154. package/mobx/lazy-observe.d.ts +0 -14
  155. package/mobx/lazy-observe.d.ts.map +0 -1
  156. package/ms.d.ts.map +0 -1
  157. package/number.d.ts.map +0 -1
  158. package/parser/_exports.d.ts +0 -4
  159. package/parser/_exports.d.ts.map +0 -1
  160. package/parser/index.d.ts +0 -3
  161. package/parser/index.d.ts.map +0 -1
  162. package/parser/number.d.ts +0 -21
  163. package/parser/number.d.ts.map +0 -1
  164. package/parser/percent.d.ts +0 -4
  165. package/parser/percent.d.ts.map +0 -1
  166. package/parser/string.d.ts +0 -7
  167. package/parser/string.d.ts.map +0 -1
  168. package/price.d.ts.map +0 -1
  169. package/random.d.ts.map +0 -1
  170. package/react/hooks/index.d.ts +0 -22
  171. package/react/hooks/index.d.ts.map +0 -1
  172. package/react/hooks/use-abort-controller.d.ts +0 -2
  173. package/react/hooks/use-abort-controller.d.ts.map +0 -1
  174. package/react/hooks/use-abort-signal.d.ts +0 -2
  175. package/react/hooks/use-abort-signal.d.ts.map +0 -1
  176. package/react/hooks/use-click-outside.d.ts +0 -9
  177. package/react/hooks/use-click-outside.d.ts.map +0 -1
  178. package/react/hooks/use-constant.d.ts +0 -9
  179. package/react/hooks/use-constant.d.ts.map +0 -1
  180. package/react/hooks/use-define-ref.d.ts +0 -10
  181. package/react/hooks/use-define-ref.d.ts.map +0 -1
  182. package/react/hooks/use-element-ref.d.ts +0 -2
  183. package/react/hooks/use-element-ref.d.ts.map +0 -1
  184. package/react/hooks/use-event-listener.d.ts +0 -8
  185. package/react/hooks/use-event-listener.d.ts.map +0 -1
  186. package/react/hooks/use-event.d.ts +0 -3
  187. package/react/hooks/use-event.d.ts.map +0 -1
  188. package/react/hooks/use-flag.d.ts +0 -8
  189. package/react/hooks/use-flag.d.ts.map +0 -1
  190. package/react/hooks/use-force-update.d.ts +0 -2
  191. package/react/hooks/use-force-update.d.ts.map +0 -1
  192. package/react/hooks/use-initial-height.d.ts +0 -5
  193. package/react/hooks/use-initial-height.d.ts.map +0 -1
  194. package/react/hooks/use-instance.d.ts +0 -27
  195. package/react/hooks/use-instance.d.ts.map +0 -1
  196. package/react/hooks/use-intersection-observer.d.ts +0 -2
  197. package/react/hooks/use-intersection-observer.d.ts.map +0 -1
  198. package/react/hooks/use-last-defined-value.d.ts +0 -2
  199. package/react/hooks/use-last-defined-value.d.ts.map +0 -1
  200. package/react/hooks/use-last-value-ref.d.ts +0 -2
  201. package/react/hooks/use-last-value-ref.d.ts.map +0 -1
  202. package/react/hooks/use-life-cycle.d.ts +0 -5
  203. package/react/hooks/use-life-cycle.d.ts.map +0 -1
  204. package/react/hooks/use-resize-observer.d.ts +0 -2
  205. package/react/hooks/use-resize-observer.d.ts.map +0 -1
  206. package/react/hooks/use-sync-ref.d.ts +0 -2
  207. package/react/hooks/use-sync-ref.d.ts.map +0 -1
  208. package/react/hooks/use-toggle.d.ts +0 -2
  209. package/react/hooks/use-toggle.d.ts.map +0 -1
  210. package/react/hooks/use-value.d.ts +0 -5
  211. package/react/hooks/use-value.d.ts.map +0 -1
  212. package/react/hooks/use-visibility-state.d.ts +0 -2
  213. package/react/hooks/use-visibility-state.d.ts.map +0 -1
  214. package/react/index.d.ts +0 -2
  215. package/react/index.d.ts.map +0 -1
  216. package/sound.d.ts.map +0 -1
  217. package/storage.d.ts +0 -39
  218. package/storage.d.ts.map +0 -1
  219. package/text.d.ts.map +0 -1
  220. package/type-guard/_exports.d.ts +0 -86
  221. package/type-guard/_exports.d.ts.map +0 -1
  222. package/type-guard/index.d.ts +0 -3
  223. package/type-guard/index.d.ts.map +0 -1
  224. package/utility-types.cjs +0 -2
  225. package/utility-types.cjs.map +0 -1
  226. package/utility-types.d.ts.map +0 -1
  227. package/utility-types.js +0 -2
  228. package/utility-types.js.map +0 -1
  229. package/utils/types.d.ts.map +0 -1
  230. package/vibrate.d.ts.map +0 -1
  231. /package/{utils/types.cjs → types.cjs} +0 -0
  232. /package/{utils/types.cjs.map → types.cjs.map} +0 -0
  233. /package/{utils/types.js → types.js} +0 -0
  234. /package/{utils/types.js.map → types.js.map} +0 -0
package/ms.cjs CHANGED
@@ -1,2 +1,14 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e={ms:1,sec:1e3,min:6e4,hour:36e5,day:864e5,week:6048e5};exports.ms=(s,t="ms")=>s*e[t],exports.unitsToMs=e;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const unitsToMs = {
4
+ ms: 1,
5
+ sec: 1e3,
6
+ min: 1e3 * 60,
7
+ hour: 1e3 * 60 * 60,
8
+ day: 1e3 * 60 * 60 * 24,
9
+ week: 1e3 * 60 * 60 * 24 * 7
10
+ };
11
+ const ms = (value, unit = "ms") => value * unitsToMs[unit];
12
+ exports.ms = ms;
13
+ exports.unitsToMs = unitsToMs;
2
14
  //# sourceMappingURL=ms.cjs.map
package/ms.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"ms.cjs","sources":["../src/ms.ts"],"sourcesContent":["export const unitsToMs = {\n ms: 1,\n sec: 1000,\n min: 1000 * 60,\n hour: 1000 * 60 * 60,\n day: 1000 * 60 * 60 * 24,\n week: 1000 * 60 * 60 * 24 * 7,\n} as const;\n\n/**\n * Переводит значение в юнитах в миллисекунды\n *\n * @example\n * ```ts\n * ms(1, 'min') // 60_000\n * ms(30, 'sec') // 30_000\n * ```\n */\nexport const ms = (value: number, unit: keyof typeof unitsToMs = 'ms') =>\n value * unitsToMs[unit];\n"],"names":["unitsToMs","ms","sec","min","hour","day","week","value","unit"],"mappings":"gFAAO,MAAMA,EAAY,CACvBC,GAAI,EACJC,IAAK,IACLC,IAAK,IACLC,KAAM,KACNC,IAAK,MACLC,KAAM,mBAYU,CAACC,EAAeC,EAA+B,OAC/DD,EAAQP,EAAUQ"}
1
+ {"version":3,"file":"ms.cjs","sources":["../src/ms.ts"],"sourcesContent":["export const unitsToMs = {\n ms: 1,\n sec: 1000,\n min: 1000 * 60,\n hour: 1000 * 60 * 60,\n day: 1000 * 60 * 60 * 24,\n week: 1000 * 60 * 60 * 24 * 7,\n} as const;\n\n/**\n * Переводит значение в юнитах в миллисекунды\n *\n * @example\n * ```ts\n * ms(1, 'min') // 60_000\n * ms(30, 'sec') // 30_000\n * ```\n */\nexport const ms = (value: number, unit: keyof typeof unitsToMs = 'ms') =>\n value * unitsToMs[unit];\n"],"names":[],"mappings":";;AAAO,MAAM,YAAY;AAAA,EACvB,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,KAAK,MAAO;AAAA,EACZ,MAAM,MAAO,KAAK;AAAA,EAClB,KAAK,MAAO,KAAK,KAAK;AAAA,EACtB,MAAM,MAAO,KAAK,KAAK,KAAK;AAC9B;AAWO,MAAM,KAAK,CAAC,OAAe,OAA+B,SAC/D,QAAQ,UAAU,IAAI;;;"}
package/ms.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const unitsToMs: {
1
+ declare const unitsToMs: {
2
2
  readonly ms: 1;
3
3
  readonly sec: 1000;
4
4
  readonly min: number;
@@ -15,5 +15,6 @@ export declare const unitsToMs: {
15
15
  * ms(30, 'sec') // 30_000
16
16
  * ```
17
17
  */
18
- export declare const ms: (value: number, unit?: keyof typeof unitsToMs) => number;
19
- //# sourceMappingURL=ms.d.ts.map
18
+ declare const ms: (value: number, unit?: keyof typeof unitsToMs) => number;
19
+
20
+ export { ms, unitsToMs };
package/number.cjs CHANGED
@@ -1,2 +1,11 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"}),exports.round=function(t,r=0){if(!r)return Math.round(t);const e=10**r;return Math.round(t*e)/e};
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ function round(value, decimalPlaces = 0) {
4
+ if (!decimalPlaces) {
5
+ return Math.round(value);
6
+ }
7
+ const factor = 10 ** decimalPlaces;
8
+ return Math.round(value * factor) / factor;
9
+ }
10
+ exports.round = round;
2
11
  //# sourceMappingURL=number.cjs.map
package/number.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"number.cjs","sources":["../src/number.ts"],"sourcesContent":["/**\n * Works like `parseFloat(number.toFixed(4))` but performance better\n *\n * @example\n * round(191.212999999999999999999999, 4) // 191.213\n */\nexport function round(value: number, decimalPlaces: number = 0): number {\n if (!decimalPlaces) {\n return Math.round(value);\n }\n\n const factor = 10 ** decimalPlaces;\n return Math.round(value * factor) / factor;\n}\n"],"names":["value","decimalPlaces","Math","round","factor"],"mappings":"8FAMO,SAAeA,EAAeC,EAAwB,GAC3D,IAAKA,EACH,OAAOC,KAAKC,MAAMH,GAGpB,MAAMI,EAAS,IAAMH,EACrB,OAAOC,KAAKC,MAAMH,EAAQI,GAAUA,CACtC"}
1
+ {"version":3,"file":"number.cjs","sources":["../src/number.ts"],"sourcesContent":["/**\n * Works like `parseFloat(number.toFixed(4))` but performance better\n *\n * @example\n * round(191.212999999999999999999999, 4) // 191.213\n */\nexport function round(value: number, decimalPlaces: number = 0): number {\n if (!decimalPlaces) {\n return Math.round(value);\n }\n\n const factor = 10 ** decimalPlaces;\n return Math.round(value * factor) / factor;\n}\n"],"names":[],"mappings":";;AAMO,SAAS,MAAM,OAAe,gBAAwB,GAAW;AACtE,MAAI,CAAC,eAAe;AAClB,WAAO,KAAK,MAAM,KAAK;AAAA,EACzB;AAEA,QAAM,SAAS,MAAM;AACrB,SAAO,KAAK,MAAM,QAAQ,MAAM,IAAI;AACtC;;"}
package/number.d.ts CHANGED
@@ -4,5 +4,6 @@
4
4
  * @example
5
5
  * round(191.212999999999999999999999, 4) // 191.213
6
6
  */
7
- export declare function round(value: number, decimalPlaces?: number): number;
8
- //# sourceMappingURL=number.d.ts.map
7
+ declare function round(value: number, decimalPlaces?: number): number;
8
+
9
+ export { round };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yummies",
3
- "version": "5.15.1",
3
+ "version": "6.0.0",
4
4
  "keywords": [
5
5
  "javascript",
6
6
  "typescript",
@@ -38,234 +38,160 @@
38
38
  "nanoid": "^5.1.5",
39
39
  "tailwind-merge": "^3.3.1"
40
40
  },
41
- "devDependencies": {
42
- "@biomejs/biome": "2.2.2",
43
- "@changesets/changelog-github": "^0.5.1",
44
- "@changesets/cli": "^2.29.5",
45
- "@types/node": "^20.17.30",
46
- "@types/react": "^18",
47
- "@vitejs/plugin-react-swc": "^3.9.0",
48
- "@vitest/coverage-istanbul": "^3.1.2",
49
- "commitfmt": "^1.0.4",
50
- "js2me-biome-config": "^1.0.3",
51
- "jsdom": "^26.1.0",
52
- "lefthook": "^1.11.16",
53
- "nodemon": "^3.1.9",
54
- "rimraf": "^6.0.1",
55
- "sborshik": "^1.0.33",
56
- "tsx": "^4.20.5",
57
- "typescript": "^5.8.3",
58
- "vite": "^7.1.9",
59
- "vite-plugin-dts": "^4.5.4",
60
- "vitest": "^3.1.2",
61
- "zshy": "^0.4.2"
62
- },
63
41
  "type": "module",
64
42
  "exports": {
65
- "./LICENSE": "./LICENSE",
66
- "./README": "./README.md",
67
43
  "./async": {
44
+ "types": "./async.d.ts",
68
45
  "import": "./async.js",
69
- "default": "./async.js",
70
- "types": "./async/index.d.ts",
71
46
  "require": "./async.cjs"
72
47
  },
73
48
  "./common": {
49
+ "types": "./common.d.ts",
74
50
  "import": "./common.js",
75
- "default": "./common.js",
76
- "types": "./common/index.d.ts",
77
51
  "require": "./common.cjs"
78
52
  },
79
53
  "./complex": {
54
+ "types": "./complex.d.ts",
80
55
  "import": "./complex.js",
81
- "default": "./complex.js",
82
- "types": "./complex/index.d.ts",
83
56
  "require": "./complex.cjs"
84
57
  },
85
58
  "./cookie": {
59
+ "types": "./cookie.d.ts",
86
60
  "import": "./cookie.js",
87
- "default": "./cookie.js",
88
- "types": "./cookie/index.d.ts",
89
61
  "require": "./cookie.cjs"
90
62
  },
91
63
  "./css": {
64
+ "types": "./css.d.ts",
92
65
  "import": "./css.js",
93
- "default": "./css.js",
94
- "types": "./css/index.d.ts",
95
66
  "require": "./css.cjs"
96
67
  },
97
68
  "./data": {
69
+ "types": "./data.d.ts",
98
70
  "import": "./data.js",
99
- "default": "./data.js",
100
- "types": "./data/index.d.ts",
101
71
  "require": "./data.cjs"
102
72
  },
103
73
  "./date-time": {
74
+ "types": "./date-time.d.ts",
104
75
  "import": "./date-time.js",
105
- "default": "./date-time.js",
106
- "types": "./date-time/index.d.ts",
107
76
  "require": "./date-time.cjs"
108
77
  },
109
78
  "./device": {
79
+ "types": "./device.d.ts",
110
80
  "import": "./device.js",
111
- "default": "./device.js",
112
- "types": "./device/index.d.ts",
113
81
  "require": "./device.cjs"
114
82
  },
115
83
  "./encodings": {
84
+ "types": "./encodings.d.ts",
116
85
  "import": "./encodings.js",
117
- "default": "./encodings.js",
118
- "types": "./encodings/index.d.ts",
119
86
  "require": "./encodings.cjs"
120
87
  },
121
88
  "./errors": {
89
+ "types": "./errors.d.ts",
122
90
  "import": "./errors.js",
123
- "default": "./errors.js",
124
- "types": "./errors/index.d.ts",
125
91
  "require": "./errors.cjs"
126
92
  },
127
93
  "./file": {
94
+ "types": "./file.d.ts",
128
95
  "import": "./file.js",
129
- "default": "./file.js",
130
- "types": "./file/index.d.ts",
131
96
  "require": "./file.cjs"
132
97
  },
133
98
  "./format": {
99
+ "types": "./format.d.ts",
134
100
  "import": "./format.js",
135
- "default": "./format.js",
136
- "types": "./format/index.d.ts",
137
101
  "require": "./format.cjs"
138
102
  },
139
103
  "./html": {
104
+ "types": "./html.d.ts",
140
105
  "import": "./html.js",
141
- "default": "./html.js",
142
- "types": "./html/index.d.ts",
143
106
  "require": "./html.cjs"
144
107
  },
145
108
  "./id": {
109
+ "types": "./id.d.ts",
146
110
  "import": "./id.js",
147
- "default": "./id.js",
148
- "types": "./id/index.d.ts",
149
111
  "require": "./id.cjs"
150
112
  },
151
113
  "./imports": {
114
+ "types": "./imports.d.ts",
152
115
  "import": "./imports.js",
153
- "default": "./imports.js",
154
- "types": "./imports/index.d.ts",
155
116
  "require": "./imports.cjs"
156
117
  },
157
118
  "./math": {
119
+ "types": "./math.d.ts",
158
120
  "import": "./math.js",
159
- "default": "./math.js",
160
- "types": "./math/index.d.ts",
161
121
  "require": "./math.cjs"
162
122
  },
163
123
  "./media": {
124
+ "types": "./media.d.ts",
164
125
  "import": "./media.js",
165
- "default": "./media.js",
166
- "types": "./media/index.d.ts",
167
126
  "require": "./media.cjs"
168
127
  },
169
128
  "./mobx": {
129
+ "types": "./mobx.d.ts",
170
130
  "import": "./mobx.js",
171
- "default": "./mobx.js",
172
- "types": "./mobx/index.d.ts",
173
131
  "require": "./mobx.cjs"
174
132
  },
175
133
  "./ms": {
134
+ "types": "./ms.d.ts",
176
135
  "import": "./ms.js",
177
- "default": "./ms.js",
178
- "types": "./ms/index.d.ts",
179
136
  "require": "./ms.cjs"
180
137
  },
181
138
  "./number": {
139
+ "types": "./number.d.ts",
182
140
  "import": "./number.js",
183
- "default": "./number.js",
184
- "types": "./number/index.d.ts",
185
141
  "require": "./number.cjs"
186
142
  },
187
- "./package": "./package.json",
188
143
  "./parser": {
144
+ "types": "./parser.d.ts",
189
145
  "import": "./parser.js",
190
- "default": "./parser.js",
191
- "types": "./parser/index.d.ts",
192
146
  "require": "./parser.cjs"
193
147
  },
194
148
  "./price": {
149
+ "types": "./price.d.ts",
195
150
  "import": "./price.js",
196
- "default": "./price.js",
197
- "types": "./price/index.d.ts",
198
151
  "require": "./price.cjs"
199
152
  },
200
153
  "./random": {
154
+ "types": "./random.d.ts",
201
155
  "import": "./random.js",
202
- "default": "./random.js",
203
- "types": "./random/index.d.ts",
204
156
  "require": "./random.cjs"
205
157
  },
206
158
  "./react": {
159
+ "types": "./react.d.ts",
207
160
  "import": "./react.js",
208
- "default": "./react.js",
209
- "types": "./react/index.d.ts",
210
161
  "require": "./react.cjs"
211
162
  },
212
163
  "./sound": {
164
+ "types": "./sound.d.ts",
213
165
  "import": "./sound.js",
214
- "default": "./sound.js",
215
- "types": "./sound/index.d.ts",
216
166
  "require": "./sound.cjs"
217
167
  },
218
168
  "./text": {
169
+ "types": "./text.d.ts",
219
170
  "import": "./text.js",
220
- "default": "./text.js",
221
- "types": "./text/index.d.ts",
222
171
  "require": "./text.cjs"
223
172
  },
224
173
  "./type-guard": {
174
+ "types": "./type-guard.d.ts",
225
175
  "import": "./type-guard.js",
226
- "default": "./type-guard.js",
227
- "types": "./type-guard/index.d.ts",
228
176
  "require": "./type-guard.cjs"
229
177
  },
230
- "./utility-types": {
231
- "import": "./utility-types.js",
232
- "default": "./utility-types.js",
233
- "types": "./utility-types/index.d.ts",
234
- "require": "./utility-types.cjs"
178
+ "./types": {
179
+ "types": "./types.d.ts",
180
+ "import": "./types.js",
181
+ "require": "./types.cjs"
235
182
  },
236
- "./utils/types": {
237
- "import": "./utils/types.js",
238
- "default": "./utils/types.js",
239
- "types": "./utils/types/index.d.ts",
240
- "require": "./utils/types.cjs"
183
+ "./types.global": {
184
+ "types": "./types.global.d.ts",
185
+ "import": "./types.global.js",
186
+ "require": "./types.global.cjs"
241
187
  },
242
188
  "./vibrate": {
189
+ "types": "./vibrate.d.ts",
243
190
  "import": "./vibrate.js",
244
- "default": "./vibrate.js",
245
- "types": "./vibrate/index.d.ts",
246
191
  "require": "./vibrate.cjs"
247
- },
248
- "./package.json": "./package.json"
192
+ }
249
193
  },
250
194
  "files": [
251
195
  "*"
252
- ],
253
- "scripts": {
254
- "clean": "rm -rf dist",
255
- "lint:check": "pnpm exec biome check --write --no-errors-on-unmatched --files-ignore-unknown=true",
256
- "ts:check": "tsc --noEmit",
257
- "check": "npm run lint:check && npm run ts:check",
258
- "prebuild": "npm run clean && npm run check",
259
- "build:watch": "pnpm build && nodemon --watch src --ext ts --exec \"pnpm build\"",
260
- "build": "vite build && tsx scripts/generate-utility-types-file",
261
- "pub": "pnpm build && sborshik publish --useDistDir",
262
- "pub:patch": "PUBLISH_VERSION=patch pnpm pub",
263
- "pub:minor": "PUBLISH_VERSION=minor pnpm pub",
264
- "pub:major": "PUBLISH_VERSION=major pnpm pub",
265
- "test": "vitest run --config vitest.config.ts",
266
- "test:watch": "vitest watch --config vitest.config.ts",
267
- "test:coverage": "vitest run --config vitest.config.ts --coverage",
268
- "dev": "pnpm test:watch",
269
- "dev:install-hooks": "if [ -z \"$CI\" ]; then lefthook install; fi"
270
- }
196
+ ]
271
197
  }
package/parser.cjs CHANGED
@@ -1,2 +1,69 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("yummies/format"),t=require("yummies/type-guard"),r=(l,i)=>{const u={...r.defaultSettings,...i},a=u?.fallback??0;let n;if(t.typeGuard.isNumber(l))n=l;else if(t.typeGuard.isString(l)){const t=e.format.skipSpaces(l).replace(",",".");n=""===t?a:Number(t)}else n=a;return t.typeGuard.isNumber(n)?(null!=u?.clamped&&(n=Math.max(u.clamped[0]??-1/0,Math.min(n,u.clamped[1]??1/0))),null!=u?.ceil&&(n=Math.ceil(n)),null!=u?.floor&&(n=Math.floor(n)),null!=u?.digits&&(n=+n.toFixed(u.digits)),n):a};r.defaultSettings={};const l=Object.freeze(Object.defineProperty({__proto__:null,number:r,percent:(e,t,l)=>r(Number(e)/Number(t)*100,l),string:(e,r)=>{const l=r&&"fallback"in r?r.fallback:"";return null==e?l:t.typeGuard.isObject(e)?r?.prettyJson?JSON.stringify(e,null,2):JSON.stringify(e):String(e)}},Symbol.toStringTag,{value:"Module"}));exports.parser=l;
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const format = require("yummies/format");
4
+ const typeGuard = require("yummies/type-guard");
5
+ const number = (input, userSettings) => {
6
+ const settings = {
7
+ ...number.defaultSettings,
8
+ ...userSettings
9
+ };
10
+ const fallback = settings?.fallback ?? 0;
11
+ let result;
12
+ if (typeGuard.typeGuard.isNumber(input)) {
13
+ result = input;
14
+ } else if (typeGuard.typeGuard.isString(input)) {
15
+ const formattedInput = format.format.skipSpaces(input).replace(",", ".");
16
+ if (formattedInput === "") {
17
+ result = fallback;
18
+ } else {
19
+ result = Number(formattedInput);
20
+ }
21
+ } else {
22
+ result = fallback;
23
+ }
24
+ if (typeGuard.typeGuard.isNumber(result)) {
25
+ if (settings?.clamped != null) {
26
+ result = Math.max(
27
+ settings.clamped[0] ?? -Infinity,
28
+ Math.min(result, settings.clamped[1] ?? Infinity)
29
+ );
30
+ }
31
+ if (settings?.ceil != null) {
32
+ result = Math.ceil(result);
33
+ }
34
+ if (settings?.floor != null) {
35
+ result = Math.floor(result);
36
+ }
37
+ if (settings?.digits != null) {
38
+ result = +result.toFixed(settings.digits);
39
+ }
40
+ return result;
41
+ } else {
42
+ return fallback;
43
+ }
44
+ };
45
+ number.defaultSettings = {};
46
+ const percent = (value, maxValue, settings) => {
47
+ return number(Number(value) / Number(maxValue) * 100, settings);
48
+ };
49
+ const string = (input, settings) => {
50
+ const fallback = settings && "fallback" in settings ? settings.fallback : "";
51
+ if (input == null) {
52
+ return fallback;
53
+ }
54
+ if (typeGuard.typeGuard.isObject(input)) {
55
+ if (settings?.prettyJson) {
56
+ return JSON.stringify(input, null, 2);
57
+ }
58
+ return JSON.stringify(input);
59
+ }
60
+ return String(input);
61
+ };
62
+ const _exports = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
63
+ __proto__: null,
64
+ number,
65
+ percent,
66
+ string
67
+ }, Symbol.toStringTag, { value: "Module" }));
68
+ exports.parser = _exports;
2
69
  //# sourceMappingURL=parser.cjs.map
package/parser.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parser.cjs","sources":["../src/parser/number.ts","../src/parser/percent.ts","../src/parser/string.ts"],"sourcesContent":["import { format } from 'yummies/format';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/utils/types';\n\nexport interface NumberParserSettings<TFallback = number> {\n digits?: number;\n fallback?: TFallback;\n /**\n * Round to upper boundary\n * 5.1 -> 6\n */\n ceil?: boolean;\n /**\n * Round to bottom boundary\n * 5.9 -> 5\n */\n floor?: boolean;\n clamped?: [min?: Maybe<number>, max?: Maybe<number>];\n}\n\nexport const number = <TFallback = number>(\n input: Maybe<unknown>,\n userSettings?: Maybe<NumberParserSettings<TFallback>>,\n): number | TFallback => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const fallback = settings?.fallback ?? 0;\n\n let result: number;\n\n if (typeGuard.isNumber(input)) {\n result = input;\n } else if (typeGuard.isString(input)) {\n const formattedInput = format.skipSpaces(input).replace(',', '.');\n if (formattedInput === '') {\n result = fallback as any;\n } else {\n result = Number(formattedInput);\n }\n } else {\n result = fallback as any;\n }\n\n if (typeGuard.isNumber(result)) {\n if (settings?.clamped != null) {\n result = Math.max(\n settings.clamped[0] ?? -Infinity,\n Math.min(result, settings.clamped[1] ?? Infinity),\n );\n }\n\n if (settings?.ceil != null) {\n result = Math.ceil(result);\n }\n\n if (settings?.floor != null) {\n result = Math.floor(result);\n }\n\n if (settings?.digits != null) {\n result = +result.toFixed(settings.digits);\n }\n\n return result;\n } else {\n return fallback;\n }\n};\n\nnumber.defaultSettings = {} as NumberParserSettings;\n","import type { Maybe } from 'yummies/utils/types';\n\nimport { type NumberParserSettings, number } from './number.js';\n\nexport const percent = <TFallback = number>(\n value: Maybe<string | number>,\n maxValue?: Maybe<string | number>,\n settings?: Maybe<NumberParserSettings<TFallback>>,\n) => {\n return number<TFallback>((Number(value) / Number(maxValue)) * 100, settings);\n};\n","import { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/utils/types';\n\nexport interface StringParserSettings<TFallback = string> {\n fallback?: TFallback;\n prettyJson?: boolean;\n}\n\nexport const string = <TFallback = string>(\n input: Maybe<unknown>,\n settings?: Maybe<StringParserSettings<TFallback>>,\n): string | TFallback => {\n const fallback =\n settings && 'fallback' in settings ? (settings.fallback as TFallback) : '';\n\n if (input == null) {\n return fallback;\n }\n\n if (typeGuard.isObject(input)) {\n if (settings?.prettyJson) {\n return JSON.stringify(input, null, 2);\n }\n\n return JSON.stringify(input);\n }\n\n return String(input);\n};\n"],"names":["number","input","userSettings","settings","defaultSettings","fallback","result","typeGuard","isNumber","isString","formattedInput","format","skipSpaces","replace","Number","clamped","Math","max","Infinity","min","ceil","floor","digits","toFixed","value","maxValue","isObject","prettyJson","JSON","stringify","String"],"mappings":"kJAoBaA,EAAS,CACpBC,EACAC,KAEA,MAAMC,EAAW,IACZH,EAAOI,mBACPF,GAGCG,EAAWF,GAAUE,UAAY,EAEvC,IAAIC,EAEJ,GAAIC,EAAAA,UAAUC,SAASP,GACrBK,EAASL,OACX,GAAWM,EAAAA,UAAUE,SAASR,GAAQ,CACpC,MAAMS,EAAiBC,EAAAA,OAAOC,WAAWX,GAAOY,QAAQ,IAAK,KAE3DP,EADqB,KAAnBI,EACOL,EAEAS,OAAOJ,EAEpB,MACEJ,EAASD,EAGX,OAAIE,EAAAA,UAAUC,SAASF,IACI,MAArBH,GAAUY,UACZT,EAASU,KAAKC,IACZd,EAASY,QAAQ,KAAMG,IACvBF,KAAKG,IAAIb,EAAQH,EAASY,QAAQ,IAAMG,OAItB,MAAlBf,GAAUiB,OACZd,EAASU,KAAKI,KAAKd,IAGE,MAAnBH,GAAUkB,QACZf,EAASU,KAAKK,MAAMf,IAGE,MAApBH,GAAUmB,SACZhB,GAAUA,EAAOiB,QAAQpB,EAASmB,SAG7BhB,GAEAD,GAIXL,EAAOI,gBAAkB,CAAA,ECpElB,6EAAgB,CACrBoB,EACAC,EACAtB,IAEOH,EAAmBc,OAAOU,GAASV,OAAOW,GAAa,IAAKtB,UCD/C,CACpBF,EACAE,KAEA,MAAME,EACJF,GAAY,aAAcA,EAAYA,EAASE,SAAyB,GAE1E,OAAa,MAATJ,EACKI,EAGLE,EAAAA,UAAUmB,SAASzB,GACjBE,GAAUwB,WACLC,KAAKC,UAAU5B,EAAO,KAAM,GAG9B2B,KAAKC,UAAU5B,GAGjB6B,OAAO7B"}
1
+ {"version":3,"file":"parser.cjs","sources":["../src/parser/number.ts","../src/parser/percent.ts","../src/parser/string.ts"],"sourcesContent":["import { format } from 'yummies/format';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nexport interface NumberParserSettings<TFallback = number> {\n digits?: number;\n fallback?: TFallback;\n /**\n * Round to upper boundary\n * 5.1 -> 6\n */\n ceil?: boolean;\n /**\n * Round to bottom boundary\n * 5.9 -> 5\n */\n floor?: boolean;\n clamped?: [min?: Maybe<number>, max?: Maybe<number>];\n}\n\nexport const number = <TFallback = number>(\n input: Maybe<unknown>,\n userSettings?: Maybe<NumberParserSettings<TFallback>>,\n): number | TFallback => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const fallback = settings?.fallback ?? 0;\n\n let result: number;\n\n if (typeGuard.isNumber(input)) {\n result = input;\n } else if (typeGuard.isString(input)) {\n const formattedInput = format.skipSpaces(input).replace(',', '.');\n if (formattedInput === '') {\n result = fallback as any;\n } else {\n result = Number(formattedInput);\n }\n } else {\n result = fallback as any;\n }\n\n if (typeGuard.isNumber(result)) {\n if (settings?.clamped != null) {\n result = Math.max(\n settings.clamped[0] ?? -Infinity,\n Math.min(result, settings.clamped[1] ?? Infinity),\n );\n }\n\n if (settings?.ceil != null) {\n result = Math.ceil(result);\n }\n\n if (settings?.floor != null) {\n result = Math.floor(result);\n }\n\n if (settings?.digits != null) {\n result = +result.toFixed(settings.digits);\n }\n\n return result;\n } else {\n return fallback;\n }\n};\n\nnumber.defaultSettings = {} as NumberParserSettings;\n","import type { Maybe } from 'yummies/types';\n\nimport { type NumberParserSettings, number } from './number.js';\n\nexport const percent = <TFallback = number>(\n value: Maybe<string | number>,\n maxValue?: Maybe<string | number>,\n settings?: Maybe<NumberParserSettings<TFallback>>,\n) => {\n return number<TFallback>((Number(value) / Number(maxValue)) * 100, settings);\n};\n","import { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nexport interface StringParserSettings<TFallback = string> {\n fallback?: TFallback;\n prettyJson?: boolean;\n}\n\nexport const string = <TFallback = string>(\n input: Maybe<unknown>,\n settings?: Maybe<StringParserSettings<TFallback>>,\n): string | TFallback => {\n const fallback =\n settings && 'fallback' in settings ? (settings.fallback as TFallback) : '';\n\n if (input == null) {\n return fallback;\n }\n\n if (typeGuard.isObject(input)) {\n if (settings?.prettyJson) {\n return JSON.stringify(input, null, 2);\n }\n\n return JSON.stringify(input);\n }\n\n return String(input);\n};\n"],"names":["typeGuard","format"],"mappings":";;;;AAoBO,MAAM,SAAS,CACpB,OACA,iBACuB;AACvB,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG;AAAA,EAAA;AAGL,QAAM,WAAW,UAAU,YAAY;AAEvC,MAAI;AAEJ,MAAIA,UAAAA,UAAU,SAAS,KAAK,GAAG;AAC7B,aAAS;AAAA,EACX,WAAWA,UAAAA,UAAU,SAAS,KAAK,GAAG;AACpC,UAAM,iBAAiBC,OAAAA,OAAO,WAAW,KAAK,EAAE,QAAQ,KAAK,GAAG;AAChE,QAAI,mBAAmB,IAAI;AACzB,eAAS;AAAA,IACX,OAAO;AACL,eAAS,OAAO,cAAc;AAAA,IAChC;AAAA,EACF,OAAO;AACL,aAAS;AAAA,EACX;AAEA,MAAID,UAAAA,UAAU,SAAS,MAAM,GAAG;AAC9B,QAAI,UAAU,WAAW,MAAM;AAC7B,eAAS,KAAK;AAAA,QACZ,SAAS,QAAQ,CAAC,KAAK;AAAA,QACvB,KAAK,IAAI,QAAQ,SAAS,QAAQ,CAAC,KAAK,QAAQ;AAAA,MAAA;AAAA,IAEpD;AAEA,QAAI,UAAU,QAAQ,MAAM;AAC1B,eAAS,KAAK,KAAK,MAAM;AAAA,IAC3B;AAEA,QAAI,UAAU,SAAS,MAAM;AAC3B,eAAS,KAAK,MAAM,MAAM;AAAA,IAC5B;AAEA,QAAI,UAAU,UAAU,MAAM;AAC5B,eAAS,CAAC,OAAO,QAAQ,SAAS,MAAM;AAAA,IAC1C;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,OAAO,kBAAkB,CAAA;ACpElB,MAAM,UAAU,CACrB,OACA,UACA,aACG;AACH,SAAO,OAAmB,OAAO,KAAK,IAAI,OAAO,QAAQ,IAAK,KAAK,QAAQ;AAC7E;ACFO,MAAM,SAAS,CACpB,OACA,aACuB;AACvB,QAAM,WACJ,YAAY,cAAc,WAAY,SAAS,WAAyB;AAE1E,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAIA,UAAAA,UAAU,SAAS,KAAK,GAAG;AAC7B,QAAI,UAAU,YAAY;AACxB,aAAO,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,IACtC;AAEA,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B;AAEA,SAAO,OAAO,KAAK;AACrB;;;;;;;;"}
package/parser.d.ts ADDED
@@ -0,0 +1,41 @@
1
+ import { Maybe } from 'yummies/types';
2
+
3
+ interface NumberParserSettings<TFallback = number> {
4
+ digits?: number;
5
+ fallback?: TFallback;
6
+ /**
7
+ * Round to upper boundary
8
+ * 5.1 -> 6
9
+ */
10
+ ceil?: boolean;
11
+ /**
12
+ * Round to bottom boundary
13
+ * 5.9 -> 5
14
+ */
15
+ floor?: boolean;
16
+ clamped?: [min?: Maybe<number>, max?: Maybe<number>];
17
+ }
18
+ declare const number: {
19
+ <TFallback = number>(input: Maybe<unknown>, userSettings?: Maybe<NumberParserSettings<TFallback>>): number | TFallback;
20
+ defaultSettings: NumberParserSettings<number>;
21
+ };
22
+
23
+ declare const percent: <TFallback = number>(value: Maybe<string | number>, maxValue?: Maybe<string | number>, settings?: Maybe<NumberParserSettings<TFallback>>) => number | TFallback;
24
+
25
+ interface StringParserSettings<TFallback = string> {
26
+ fallback?: TFallback;
27
+ prettyJson?: boolean;
28
+ }
29
+ declare const string: <TFallback = string>(input: Maybe<unknown>, settings?: Maybe<StringParserSettings<TFallback>>) => string | TFallback;
30
+
31
+ type _exports_NumberParserSettings<TFallback = number> = NumberParserSettings<TFallback>;
32
+ type _exports_StringParserSettings<TFallback = string> = StringParserSettings<TFallback>;
33
+ declare const _exports_number: typeof number;
34
+ declare const _exports_percent: typeof percent;
35
+ declare const _exports_string: typeof string;
36
+ declare namespace _exports {
37
+ export { _exports_number as number, _exports_percent as percent, _exports_string as string };
38
+ export type { _exports_NumberParserSettings as NumberParserSettings, _exports_StringParserSettings as StringParserSettings };
39
+ }
40
+
41
+ export { _exports as parser };
package/parser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sources":["../src/parser/number.ts","../src/parser/percent.ts","../src/parser/string.ts"],"sourcesContent":["import { format } from 'yummies/format';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/utils/types';\n\nexport interface NumberParserSettings<TFallback = number> {\n digits?: number;\n fallback?: TFallback;\n /**\n * Round to upper boundary\n * 5.1 -> 6\n */\n ceil?: boolean;\n /**\n * Round to bottom boundary\n * 5.9 -> 5\n */\n floor?: boolean;\n clamped?: [min?: Maybe<number>, max?: Maybe<number>];\n}\n\nexport const number = <TFallback = number>(\n input: Maybe<unknown>,\n userSettings?: Maybe<NumberParserSettings<TFallback>>,\n): number | TFallback => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const fallback = settings?.fallback ?? 0;\n\n let result: number;\n\n if (typeGuard.isNumber(input)) {\n result = input;\n } else if (typeGuard.isString(input)) {\n const formattedInput = format.skipSpaces(input).replace(',', '.');\n if (formattedInput === '') {\n result = fallback as any;\n } else {\n result = Number(formattedInput);\n }\n } else {\n result = fallback as any;\n }\n\n if (typeGuard.isNumber(result)) {\n if (settings?.clamped != null) {\n result = Math.max(\n settings.clamped[0] ?? -Infinity,\n Math.min(result, settings.clamped[1] ?? Infinity),\n );\n }\n\n if (settings?.ceil != null) {\n result = Math.ceil(result);\n }\n\n if (settings?.floor != null) {\n result = Math.floor(result);\n }\n\n if (settings?.digits != null) {\n result = +result.toFixed(settings.digits);\n }\n\n return result;\n } else {\n return fallback;\n }\n};\n\nnumber.defaultSettings = {} as NumberParserSettings;\n","import type { Maybe } from 'yummies/utils/types';\n\nimport { type NumberParserSettings, number } from './number.js';\n\nexport const percent = <TFallback = number>(\n value: Maybe<string | number>,\n maxValue?: Maybe<string | number>,\n settings?: Maybe<NumberParserSettings<TFallback>>,\n) => {\n return number<TFallback>((Number(value) / Number(maxValue)) * 100, settings);\n};\n","import { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/utils/types';\n\nexport interface StringParserSettings<TFallback = string> {\n fallback?: TFallback;\n prettyJson?: boolean;\n}\n\nexport const string = <TFallback = string>(\n input: Maybe<unknown>,\n settings?: Maybe<StringParserSettings<TFallback>>,\n): string | TFallback => {\n const fallback =\n settings && 'fallback' in settings ? (settings.fallback as TFallback) : '';\n\n if (input == null) {\n return fallback;\n }\n\n if (typeGuard.isObject(input)) {\n if (settings?.prettyJson) {\n return JSON.stringify(input, null, 2);\n }\n\n return JSON.stringify(input);\n }\n\n return String(input);\n};\n"],"names":[],"mappings":";;AAoBO,MAAM,SAAS,CACpB,OACA,iBACuB;AACvB,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG;AAAA,EAAA;AAGL,QAAM,WAAW,UAAU,YAAY;AAEvC,MAAI;AAEJ,MAAI,UAAU,SAAS,KAAK,GAAG;AAC7B,aAAS;AAAA,EACX,WAAW,UAAU,SAAS,KAAK,GAAG;AACpC,UAAM,iBAAiB,OAAO,WAAW,KAAK,EAAE,QAAQ,KAAK,GAAG;AAChE,QAAI,mBAAmB,IAAI;AACzB,eAAS;AAAA,IACX,OAAO;AACL,eAAS,OAAO,cAAc;AAAA,IAChC;AAAA,EACF,OAAO;AACL,aAAS;AAAA,EACX;AAEA,MAAI,UAAU,SAAS,MAAM,GAAG;AAC9B,QAAI,UAAU,WAAW,MAAM;AAC7B,eAAS,KAAK;AAAA,QACZ,SAAS,QAAQ,CAAC,KAAK;AAAA,QACvB,KAAK,IAAI,QAAQ,SAAS,QAAQ,CAAC,KAAK,QAAQ;AAAA,MAAA;AAAA,IAEpD;AAEA,QAAI,UAAU,QAAQ,MAAM;AAC1B,eAAS,KAAK,KAAK,MAAM;AAAA,IAC3B;AAEA,QAAI,UAAU,SAAS,MAAM;AAC3B,eAAS,KAAK,MAAM,MAAM;AAAA,IAC5B;AAEA,QAAI,UAAU,UAAU,MAAM;AAC5B,eAAS,CAAC,OAAO,QAAQ,SAAS,MAAM;AAAA,IAC1C;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,OAAO,kBAAkB,CAAA;ACpElB,MAAM,UAAU,CACrB,OACA,UACA,aACG;AACH,SAAO,OAAmB,OAAO,KAAK,IAAI,OAAO,QAAQ,IAAK,KAAK,QAAQ;AAC7E;ACFO,MAAM,SAAS,CACpB,OACA,aACuB;AACvB,QAAM,WACJ,YAAY,cAAc,WAAY,SAAS,WAAyB;AAE1E,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAI,UAAU,SAAS,KAAK,GAAG;AAC7B,QAAI,UAAU,YAAY;AACxB,aAAO,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,IACtC;AAEA,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B;AAEA,SAAO,OAAO,KAAK;AACrB;;;;;;;"}
1
+ {"version":3,"file":"parser.js","sources":["../src/parser/number.ts","../src/parser/percent.ts","../src/parser/string.ts"],"sourcesContent":["import { format } from 'yummies/format';\nimport { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nexport interface NumberParserSettings<TFallback = number> {\n digits?: number;\n fallback?: TFallback;\n /**\n * Round to upper boundary\n * 5.1 -> 6\n */\n ceil?: boolean;\n /**\n * Round to bottom boundary\n * 5.9 -> 5\n */\n floor?: boolean;\n clamped?: [min?: Maybe<number>, max?: Maybe<number>];\n}\n\nexport const number = <TFallback = number>(\n input: Maybe<unknown>,\n userSettings?: Maybe<NumberParserSettings<TFallback>>,\n): number | TFallback => {\n const settings = {\n ...number.defaultSettings,\n ...userSettings,\n };\n\n const fallback = settings?.fallback ?? 0;\n\n let result: number;\n\n if (typeGuard.isNumber(input)) {\n result = input;\n } else if (typeGuard.isString(input)) {\n const formattedInput = format.skipSpaces(input).replace(',', '.');\n if (formattedInput === '') {\n result = fallback as any;\n } else {\n result = Number(formattedInput);\n }\n } else {\n result = fallback as any;\n }\n\n if (typeGuard.isNumber(result)) {\n if (settings?.clamped != null) {\n result = Math.max(\n settings.clamped[0] ?? -Infinity,\n Math.min(result, settings.clamped[1] ?? Infinity),\n );\n }\n\n if (settings?.ceil != null) {\n result = Math.ceil(result);\n }\n\n if (settings?.floor != null) {\n result = Math.floor(result);\n }\n\n if (settings?.digits != null) {\n result = +result.toFixed(settings.digits);\n }\n\n return result;\n } else {\n return fallback;\n }\n};\n\nnumber.defaultSettings = {} as NumberParserSettings;\n","import type { Maybe } from 'yummies/types';\n\nimport { type NumberParserSettings, number } from './number.js';\n\nexport const percent = <TFallback = number>(\n value: Maybe<string | number>,\n maxValue?: Maybe<string | number>,\n settings?: Maybe<NumberParserSettings<TFallback>>,\n) => {\n return number<TFallback>((Number(value) / Number(maxValue)) * 100, settings);\n};\n","import { typeGuard } from 'yummies/type-guard';\nimport type { Maybe } from 'yummies/types';\n\nexport interface StringParserSettings<TFallback = string> {\n fallback?: TFallback;\n prettyJson?: boolean;\n}\n\nexport const string = <TFallback = string>(\n input: Maybe<unknown>,\n settings?: Maybe<StringParserSettings<TFallback>>,\n): string | TFallback => {\n const fallback =\n settings && 'fallback' in settings ? (settings.fallback as TFallback) : '';\n\n if (input == null) {\n return fallback;\n }\n\n if (typeGuard.isObject(input)) {\n if (settings?.prettyJson) {\n return JSON.stringify(input, null, 2);\n }\n\n return JSON.stringify(input);\n }\n\n return String(input);\n};\n"],"names":[],"mappings":";;AAoBO,MAAM,SAAS,CACpB,OACA,iBACuB;AACvB,QAAM,WAAW;AAAA,IACf,GAAG,OAAO;AAAA,IACV,GAAG;AAAA,EAAA;AAGL,QAAM,WAAW,UAAU,YAAY;AAEvC,MAAI;AAEJ,MAAI,UAAU,SAAS,KAAK,GAAG;AAC7B,aAAS;AAAA,EACX,WAAW,UAAU,SAAS,KAAK,GAAG;AACpC,UAAM,iBAAiB,OAAO,WAAW,KAAK,EAAE,QAAQ,KAAK,GAAG;AAChE,QAAI,mBAAmB,IAAI;AACzB,eAAS;AAAA,IACX,OAAO;AACL,eAAS,OAAO,cAAc;AAAA,IAChC;AAAA,EACF,OAAO;AACL,aAAS;AAAA,EACX;AAEA,MAAI,UAAU,SAAS,MAAM,GAAG;AAC9B,QAAI,UAAU,WAAW,MAAM;AAC7B,eAAS,KAAK;AAAA,QACZ,SAAS,QAAQ,CAAC,KAAK;AAAA,QACvB,KAAK,IAAI,QAAQ,SAAS,QAAQ,CAAC,KAAK,QAAQ;AAAA,MAAA;AAAA,IAEpD;AAEA,QAAI,UAAU,QAAQ,MAAM;AAC1B,eAAS,KAAK,KAAK,MAAM;AAAA,IAC3B;AAEA,QAAI,UAAU,SAAS,MAAM;AAC3B,eAAS,KAAK,MAAM,MAAM;AAAA,IAC5B;AAEA,QAAI,UAAU,UAAU,MAAM;AAC5B,eAAS,CAAC,OAAO,QAAQ,SAAS,MAAM;AAAA,IAC1C;AAEA,WAAO;AAAA,EACT,OAAO;AACL,WAAO;AAAA,EACT;AACF;AAEA,OAAO,kBAAkB,CAAA;ACpElB,MAAM,UAAU,CACrB,OACA,UACA,aACG;AACH,SAAO,OAAmB,OAAO,KAAK,IAAI,OAAO,QAAQ,IAAK,KAAK,QAAQ;AAC7E;ACFO,MAAM,SAAS,CACpB,OACA,aACuB;AACvB,QAAM,WACJ,YAAY,cAAc,WAAY,SAAS,WAAyB;AAE1E,MAAI,SAAS,MAAM;AACjB,WAAO;AAAA,EACT;AAEA,MAAI,UAAU,SAAS,KAAK,GAAG;AAC7B,QAAI,UAAU,YAAY;AACxB,aAAO,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,IACtC;AAEA,WAAO,KAAK,UAAU,KAAK;AAAA,EAC7B;AAEA,SAAO,OAAO,KAAK;AACrB;;;;;;;"}
package/price.cjs CHANGED
@@ -1,2 +1,21 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});exports.formatPrice=(r,e,t,{withoutSymbol:o,customSymbol:c,...m}={})=>{const a=new Intl.NumberFormat(e,{style:"currency",currency:t,minimumFractionDigits:0,currencyDisplay:"narrowSymbol",...m}),l=a.format(0).replace("0",""),n=a.format(r).replace(l,"");return o?n:`${n} ${c??("RUB"===t?"р":l)}`.replace(/\s{2,}/," ")};
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const formatPrice = (price, locale, currency, { withoutSymbol, customSymbol, ...options } = {}) => {
4
+ const priceFormatter = new Intl.NumberFormat(locale, {
5
+ style: "currency",
6
+ currency,
7
+ minimumFractionDigits: 0,
8
+ currencyDisplay: "narrowSymbol",
9
+ ...options
10
+ });
11
+ const zeroPrice = priceFormatter.format(0);
12
+ const currencySymbol = zeroPrice.replace("0", "");
13
+ const rawPrice = priceFormatter.format(price);
14
+ const priceWithoutCurrency = rawPrice.replace(currencySymbol, "");
15
+ if (withoutSymbol) {
16
+ return priceWithoutCurrency;
17
+ }
18
+ return `${priceWithoutCurrency} ${customSymbol ?? (currency === "RUB" ? "р" : currencySymbol)}`.replace(/\s{2,}/, " ");
19
+ };
20
+ exports.formatPrice = formatPrice;
2
21
  //# sourceMappingURL=price.cjs.map
package/price.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"price.cjs","sources":["../src/price.ts"],"sourcesContent":["export interface PriceFormatOptions\n extends Partial<Omit<Intl.NumberFormatOptions, 'currency'>> {\n withoutSymbol?: boolean;\n customSymbol?: string;\n}\n\nexport const formatPrice = (\n price: number,\n locale: string,\n currency?: string,\n { withoutSymbol, customSymbol, ...options }: PriceFormatOptions = {},\n) => {\n const priceFormatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n minimumFractionDigits: 0,\n currencyDisplay: 'narrowSymbol',\n ...options,\n });\n\n const zeroPrice = priceFormatter.format(0);\n const currencySymbol = zeroPrice.replace('0', '');\n const rawPrice = priceFormatter.format(price);\n const priceWithoutCurrency = rawPrice.replace(currencySymbol, '');\n\n if (withoutSymbol) {\n return priceWithoutCurrency;\n }\n\n return `${priceWithoutCurrency} ${\n customSymbol ?? (currency === 'RUB' ? 'р' : currencySymbol)\n }`.replace(/\\s{2,}/, ' ');\n};\n"],"names":["price","locale","currency","withoutSymbol","customSymbol","options","priceFormatter","Intl","NumberFormat","style","minimumFractionDigits","currencyDisplay","currencySymbol","format","replace","priceWithoutCurrency"],"mappings":"oGAM2B,CACzBA,EACAC,EACAC,GACEC,gBAAeC,kBAAiBC,GAAgC,MAElE,MAAMC,EAAiB,IAAIC,KAAKC,aAAaP,EAAQ,CACnDQ,MAAO,WACPP,WACAQ,sBAAuB,EACvBC,gBAAiB,kBACdN,IAICO,EADYN,EAAeO,OAAO,GACPC,QAAQ,IAAK,IAExCC,EADWT,EAAeO,OAAOb,GACDc,QAAQF,EAAgB,IAE9D,OAAIT,EACKY,EAGF,GAAGA,KACRX,IAA8B,QAAbF,EAAqB,IAAMU,KAC3CE,QAAQ,SAAU"}
1
+ {"version":3,"file":"price.cjs","sources":["../src/price.ts"],"sourcesContent":["export interface PriceFormatOptions\n extends Partial<Omit<Intl.NumberFormatOptions, 'currency'>> {\n withoutSymbol?: boolean;\n customSymbol?: string;\n}\n\nexport const formatPrice = (\n price: number,\n locale: string,\n currency?: string,\n { withoutSymbol, customSymbol, ...options }: PriceFormatOptions = {},\n) => {\n const priceFormatter = new Intl.NumberFormat(locale, {\n style: 'currency',\n currency,\n minimumFractionDigits: 0,\n currencyDisplay: 'narrowSymbol',\n ...options,\n });\n\n const zeroPrice = priceFormatter.format(0);\n const currencySymbol = zeroPrice.replace('0', '');\n const rawPrice = priceFormatter.format(price);\n const priceWithoutCurrency = rawPrice.replace(currencySymbol, '');\n\n if (withoutSymbol) {\n return priceWithoutCurrency;\n }\n\n return `${priceWithoutCurrency} ${\n customSymbol ?? (currency === 'RUB' ? 'р' : currencySymbol)\n }`.replace(/\\s{2,}/, ' ');\n};\n"],"names":[],"mappings":";;AAMO,MAAM,cAAc,CACzB,OACA,QACA,UACA,EAAE,eAAe,cAAc,GAAG,QAAA,IAAgC,OAC/D;AACH,QAAM,iBAAiB,IAAI,KAAK,aAAa,QAAQ;AAAA,IACnD,OAAO;AAAA,IACP;AAAA,IACA,uBAAuB;AAAA,IACvB,iBAAiB;AAAA,IACjB,GAAG;AAAA,EAAA,CACJ;AAED,QAAM,YAAY,eAAe,OAAO,CAAC;AACzC,QAAM,iBAAiB,UAAU,QAAQ,KAAK,EAAE;AAChD,QAAM,WAAW,eAAe,OAAO,KAAK;AAC5C,QAAM,uBAAuB,SAAS,QAAQ,gBAAgB,EAAE;AAEhE,MAAI,eAAe;AACjB,WAAO;AAAA,EACT;AAEA,SAAO,GAAG,oBAAoB,IAC5B,iBAAiB,aAAa,QAAQ,MAAM,eAC9C,GAAG,QAAQ,UAAU,GAAG;AAC1B;;"}
package/price.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- export interface PriceFormatOptions extends Partial<Omit<Intl.NumberFormatOptions, 'currency'>> {
1
+ interface PriceFormatOptions extends Partial<Omit<Intl.NumberFormatOptions, 'currency'>> {
2
2
  withoutSymbol?: boolean;
3
3
  customSymbol?: string;
4
4
  }
5
- export declare const formatPrice: (price: number, locale: string, currency?: string, { withoutSymbol, customSymbol, ...options }?: PriceFormatOptions) => string;
6
- //# sourceMappingURL=price.d.ts.map
5
+ declare const formatPrice: (price: number, locale: string, currency?: string, { withoutSymbol, customSymbol, ...options }?: PriceFormatOptions) => string;
6
+
7
+ export { formatPrice };
8
+ export type { PriceFormatOptions };
package/random.cjs CHANGED
@@ -1,2 +1,25 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=(o=0,e=1)=>Math.random()*(e-o)+o,e=(e=0,t=1)=>e===t?e:Math.round(o(e,t)),t=()=>e(0,10)<=6;exports.getFrequencyValue=o=>Math.random()<o,exports.getMajorRandomBool=t,exports.getMinorRandomBool=()=>!t(),exports.getRandomBool=()=>1===e(0,1),exports.getRandomChoice=o=>o[e(0,o.length-1)],exports.getRandomFloat=o,exports.getRandomInt=e,exports.getRandomSizeArray=(o=0,t=10)=>Array.from({length:e(o,t)}).fill(null);
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const getRandomFloat = (min = 0, max = 1) => Math.random() * (max - min) + min;
4
+ const getRandomInt = (min = 0, max = 1) => min === max ? min : Math.round(getRandomFloat(min, max));
5
+ const getRandomChoice = (arr) => arr[getRandomInt(0, arr.length - 1)];
6
+ const getRandomSizeArray = (min = 0, max = 10) => Array.from({ length: getRandomInt(min, max) }).fill(null);
7
+ const getRandomBool = () => getRandomInt(0, 1) === 1;
8
+ const getMajorRandomBool = () => {
9
+ return getRandomInt(0, 10) <= 6;
10
+ };
11
+ const getMinorRandomBool = () => {
12
+ return !getMajorRandomBool();
13
+ };
14
+ const getFrequencyValue = (frequency) => {
15
+ return Math.random() < frequency;
16
+ };
17
+ exports.getFrequencyValue = getFrequencyValue;
18
+ exports.getMajorRandomBool = getMajorRandomBool;
19
+ exports.getMinorRandomBool = getMinorRandomBool;
20
+ exports.getRandomBool = getRandomBool;
21
+ exports.getRandomChoice = getRandomChoice;
22
+ exports.getRandomFloat = getRandomFloat;
23
+ exports.getRandomInt = getRandomInt;
24
+ exports.getRandomSizeArray = getRandomSizeArray;
2
25
  //# sourceMappingURL=random.cjs.map
package/random.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"random.cjs","sources":["../src/random.ts"],"sourcesContent":["export const getRandomFloat = <T extends number = number>(\n min = 0,\n max = 1,\n): T => (Math.random() * (max - min) + min) as T;\n\nexport const getRandomInt = <T extends number = number>(min = 0, max = 1): T =>\n min === max ? (min as T) : (Math.round(getRandomFloat(min, max)) as T);\n\nexport const getRandomChoice = <T>(arr: T[]): T =>\n arr[getRandomInt(0, arr.length - 1)];\n\nexport const getRandomSizeArray = (min = 0, max = 10) =>\n Array.from({ length: getRandomInt(min, max) }).fill(null);\n\nexport const getRandomBool = () => getRandomInt(0, 1) === 1;\n\nexport const getMajorRandomBool = () => {\n return getRandomInt(0, 10) <= 6;\n};\n\nexport const getMinorRandomBool = () => {\n return !getMajorRandomBool();\n};\n\nexport const getFrequencyValue = (frequency: number) => {\n return Math.random() < frequency;\n};\n"],"names":["getRandomFloat","min","max","Math","random","getRandomInt","round","getMajorRandomBool","frequency","arr","length","Array","from","fill"],"mappings":"gFAAO,MAAMA,EAAiB,CAC5BC,EAAM,EACNC,EAAM,IACCC,KAAKC,UAAYF,EAAMD,GAAOA,EAE1BI,EAAe,CAA4BJ,EAAM,EAAGC,EAAM,IACrED,IAAQC,EAAOD,EAAaE,KAAKG,MAAMN,EAAeC,EAAKC,IAUhDK,EAAqB,IACzBF,EAAa,EAAG,KAAO,4BAOEG,GACzBL,KAAKC,SAAWI,0DALS,KACxBD,0BAPmB,IAA6B,IAAvBF,EAAa,EAAG,2BANhBI,GACjCA,EAAIJ,EAAa,EAAGI,EAAIC,OAAS,+EAED,CAACT,EAAM,EAAGC,EAAM,KAChDS,MAAMC,KAAK,CAAEF,OAAQL,EAAaJ,EAAKC,KAAQW,KAAK"}
1
+ {"version":3,"file":"random.cjs","sources":["../src/random.ts"],"sourcesContent":["export const getRandomFloat = <T extends number = number>(\n min = 0,\n max = 1,\n): T => (Math.random() * (max - min) + min) as T;\n\nexport const getRandomInt = <T extends number = number>(min = 0, max = 1): T =>\n min === max ? (min as T) : (Math.round(getRandomFloat(min, max)) as T);\n\nexport const getRandomChoice = <T>(arr: T[]): T =>\n arr[getRandomInt(0, arr.length - 1)];\n\nexport const getRandomSizeArray = (min = 0, max = 10) =>\n Array.from({ length: getRandomInt(min, max) }).fill(null);\n\nexport const getRandomBool = () => getRandomInt(0, 1) === 1;\n\nexport const getMajorRandomBool = () => {\n return getRandomInt(0, 10) <= 6;\n};\n\nexport const getMinorRandomBool = () => {\n return !getMajorRandomBool();\n};\n\nexport const getFrequencyValue = (frequency: number) => {\n return Math.random() < frequency;\n};\n"],"names":[],"mappings":";;AAAO,MAAM,iBAAiB,CAC5B,MAAM,GACN,MAAM,MACC,KAAK,OAAA,KAAY,MAAM,OAAO;AAEhC,MAAM,eAAe,CAA4B,MAAM,GAAG,MAAM,MACrE,QAAQ,MAAO,MAAa,KAAK,MAAM,eAAe,KAAK,GAAG,CAAC;AAE1D,MAAM,kBAAkB,CAAI,QACjC,IAAI,aAAa,GAAG,IAAI,SAAS,CAAC,CAAC;AAE9B,MAAM,qBAAqB,CAAC,MAAM,GAAG,MAAM,OAChD,MAAM,KAAK,EAAE,QAAQ,aAAa,KAAK,GAAG,GAAG,EAAE,KAAK,IAAI;AAEnD,MAAM,gBAAgB,MAAM,aAAa,GAAG,CAAC,MAAM;AAEnD,MAAM,qBAAqB,MAAM;AACtC,SAAO,aAAa,GAAG,EAAE,KAAK;AAChC;AAEO,MAAM,qBAAqB,MAAM;AACtC,SAAO,CAAC,mBAAA;AACV;AAEO,MAAM,oBAAoB,CAAC,cAAsB;AACtD,SAAO,KAAK,WAAW;AACzB;;;;;;;;;"}
package/random.d.ts CHANGED
@@ -1,9 +1,10 @@
1
- export declare const getRandomFloat: <T extends number = number>(min?: number, max?: number) => T;
2
- export declare const getRandomInt: <T extends number = number>(min?: number, max?: number) => T;
3
- export declare const getRandomChoice: <T>(arr: T[]) => T;
4
- export declare const getRandomSizeArray: (min?: number, max?: number) => unknown[];
5
- export declare const getRandomBool: () => boolean;
6
- export declare const getMajorRandomBool: () => boolean;
7
- export declare const getMinorRandomBool: () => boolean;
8
- export declare const getFrequencyValue: (frequency: number) => boolean;
9
- //# sourceMappingURL=random.d.ts.map
1
+ declare const getRandomFloat: <T extends number = number>(min?: number, max?: number) => T;
2
+ declare const getRandomInt: <T extends number = number>(min?: number, max?: number) => T;
3
+ declare const getRandomChoice: <T>(arr: T[]) => T;
4
+ declare const getRandomSizeArray: (min?: number, max?: number) => unknown[];
5
+ declare const getRandomBool: () => boolean;
6
+ declare const getMajorRandomBool: () => boolean;
7
+ declare const getMinorRandomBool: () => boolean;
8
+ declare const getFrequencyValue: (frequency: number) => boolean;
9
+
10
+ export { getFrequencyValue, getMajorRandomBool, getMinorRandomBool, getRandomBool, getRandomChoice, getRandomFloat, getRandomInt, getRandomSizeArray };