yummies 5.15.1 → 6.1.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 (236) 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 +130 -1
  10. package/complex.cjs.map +1 -1
  11. package/complex.d.ts +113 -0
  12. package/complex.js +43 -1
  13. package/complex.js.map +1 -1
  14. package/cookie.cjs +9 -1
  15. package/cookie.cjs.map +1 -1
  16. package/cookie.d.ts +5 -3
  17. package/cookie.js.map +1 -1
  18. package/css.cjs +45 -1
  19. package/css.cjs.map +1 -1
  20. package/css.d.ts +11 -8
  21. package/css.js.map +1 -1
  22. package/data.cjs +43 -1
  23. package/data.cjs.map +1 -1
  24. package/data.d.ts +5 -4
  25. package/data.js.map +1 -1
  26. package/date-time.cjs +395 -1
  27. package/date-time.cjs.map +1 -1
  28. package/date-time.d.ts +12 -10
  29. package/date-time.js.map +1 -1
  30. package/device.cjs +32 -1
  31. package/device.cjs.map +1 -1
  32. package/device.d.ts +9 -8
  33. package/encodings.cjs +270 -1
  34. package/encodings.cjs.map +1 -1
  35. package/encodings.d.ts +3 -2
  36. package/encodings.js.map +1 -1
  37. package/errors.cjs +23 -1
  38. package/errors.cjs.map +1 -1
  39. package/errors.d.ts +5 -4
  40. package/errors.js.map +1 -1
  41. package/file.cjs +28 -1
  42. package/file.cjs.map +1 -1
  43. package/file.d.ts +4 -3
  44. package/format.cjs +75 -1
  45. package/format.cjs.map +1 -1
  46. package/format.d.ts +74 -0
  47. package/format.js.map +1 -1
  48. package/html.cjs +167 -1
  49. package/html.cjs.map +1 -1
  50. package/html.d.ts +19 -17
  51. package/html.js.map +1 -1
  52. package/id.cjs +25 -1
  53. package/id.cjs.map +1 -1
  54. package/id.d.ts +9 -8
  55. package/imports.cjs +33 -1
  56. package/imports.cjs.map +1 -1
  57. package/imports.d.ts +6 -4
  58. package/math.cjs +14 -1
  59. package/math.cjs.map +1 -1
  60. package/math.d.ts +7 -5
  61. package/math.js.map +1 -1
  62. package/media.cjs +105 -1
  63. package/media.cjs.map +1 -1
  64. package/media.d.ts +11 -11
  65. package/mobx.cjs +184 -1
  66. package/mobx.cjs.map +1 -1
  67. package/mobx.d.ts +66 -0
  68. package/mobx.js.map +1 -1
  69. package/ms.cjs +13 -1
  70. package/ms.cjs.map +1 -1
  71. package/ms.d.ts +4 -3
  72. package/number.cjs +10 -1
  73. package/number.cjs.map +1 -1
  74. package/number.d.ts +3 -2
  75. package/package.json +97 -141
  76. package/parser.cjs +68 -1
  77. package/parser.cjs.map +1 -1
  78. package/parser.d.ts +41 -0
  79. package/parser.js.map +1 -1
  80. package/price.cjs +20 -1
  81. package/price.cjs.map +1 -1
  82. package/price.d.ts +5 -3
  83. package/random.cjs +24 -1
  84. package/random.cjs.map +1 -1
  85. package/random.d.ts +10 -9
  86. package/react.cjs +216 -1
  87. package/react.cjs.map +1 -1
  88. package/react.d.ts +113 -0
  89. package/react.js.map +1 -1
  90. package/sound.cjs +11 -1
  91. package/sound.cjs.map +1 -1
  92. package/sound.d.ts +3 -2
  93. package/text.cjs +37 -1
  94. package/text.cjs.map +1 -1
  95. package/text.d.ts +4 -3
  96. package/type-guard.cjs +75 -1
  97. package/type-guard.cjs.map +1 -1
  98. package/type-guard.d.ts +121 -0
  99. package/type-guard.js.map +1 -1
  100. package/{utils/types.d.ts → types.d.ts} +54 -53
  101. package/types.global.cjs +2 -0
  102. package/types.global.cjs.map +1 -0
  103. package/{utility-types.d.ts → types.global.d.ts} +1 -1
  104. package/types.global.js +2 -0
  105. package/types.global.js.map +1 -0
  106. package/vibrate.cjs +8 -1
  107. package/vibrate.cjs.map +1 -1
  108. package/vibrate.d.ts +3 -2
  109. package/async.d.ts.map +0 -1
  110. package/common.d.ts.map +0 -1
  111. package/complex/counter.d.ts +0 -15
  112. package/complex/counter.d.ts.map +0 -1
  113. package/complex/global-config.d.ts +0 -11
  114. package/complex/global-config.d.ts.map +0 -1
  115. package/complex/index.d.ts +0 -4
  116. package/complex/index.d.ts.map +0 -1
  117. package/complex/modules-factory.d.ts +0 -49
  118. package/complex/modules-factory.d.ts.map +0 -1
  119. package/cookie.d.ts.map +0 -1
  120. package/css.d.ts.map +0 -1
  121. package/data.d.ts.map +0 -1
  122. package/date-time.d.ts.map +0 -1
  123. package/device.d.ts.map +0 -1
  124. package/encodings.d.ts.map +0 -1
  125. package/errors.d.ts.map +0 -1
  126. package/file.d.ts.map +0 -1
  127. package/format/_exports.d.ts +0 -5
  128. package/format/_exports.d.ts.map +0 -1
  129. package/format/constants.d.ts +0 -4
  130. package/format/constants.d.ts.map +0 -1
  131. package/format/index.d.ts +0 -3
  132. package/format/index.d.ts.map +0 -1
  133. package/format/number.d.ts +0 -36
  134. package/format/number.d.ts.map +0 -1
  135. package/format/percent.d.ts +0 -15
  136. package/format/percent.d.ts.map +0 -1
  137. package/format/skip-spaces.d.ts +0 -5
  138. package/format/skip-spaces.d.ts.map +0 -1
  139. package/html.d.ts.map +0 -1
  140. package/id.d.ts.map +0 -1
  141. package/imports.d.ts.map +0 -1
  142. package/math.d.ts.map +0 -1
  143. package/media.d.ts.map +0 -1
  144. package/mobx/apply-observable.d.ts +0 -4
  145. package/mobx/apply-observable.d.ts.map +0 -1
  146. package/mobx/create-enhanced-atom.d.ts +0 -11
  147. package/mobx/create-enhanced-atom.d.ts.map +0 -1
  148. package/mobx/create-ref.d.ts +0 -28
  149. package/mobx/create-ref.d.ts.map +0 -1
  150. package/mobx/deep-observable-struct.d.ts +0 -7
  151. package/mobx/deep-observable-struct.d.ts.map +0 -1
  152. package/mobx/get-mobx-administration.d.ts +0 -6
  153. package/mobx/get-mobx-administration.d.ts.map +0 -1
  154. package/mobx/index.d.ts +0 -7
  155. package/mobx/index.d.ts.map +0 -1
  156. package/mobx/lazy-observe.d.ts +0 -14
  157. package/mobx/lazy-observe.d.ts.map +0 -1
  158. package/ms.d.ts.map +0 -1
  159. package/number.d.ts.map +0 -1
  160. package/parser/_exports.d.ts +0 -4
  161. package/parser/_exports.d.ts.map +0 -1
  162. package/parser/index.d.ts +0 -3
  163. package/parser/index.d.ts.map +0 -1
  164. package/parser/number.d.ts +0 -21
  165. package/parser/number.d.ts.map +0 -1
  166. package/parser/percent.d.ts +0 -4
  167. package/parser/percent.d.ts.map +0 -1
  168. package/parser/string.d.ts +0 -7
  169. package/parser/string.d.ts.map +0 -1
  170. package/price.d.ts.map +0 -1
  171. package/random.d.ts.map +0 -1
  172. package/react/hooks/index.d.ts +0 -22
  173. package/react/hooks/index.d.ts.map +0 -1
  174. package/react/hooks/use-abort-controller.d.ts +0 -2
  175. package/react/hooks/use-abort-controller.d.ts.map +0 -1
  176. package/react/hooks/use-abort-signal.d.ts +0 -2
  177. package/react/hooks/use-abort-signal.d.ts.map +0 -1
  178. package/react/hooks/use-click-outside.d.ts +0 -9
  179. package/react/hooks/use-click-outside.d.ts.map +0 -1
  180. package/react/hooks/use-constant.d.ts +0 -9
  181. package/react/hooks/use-constant.d.ts.map +0 -1
  182. package/react/hooks/use-define-ref.d.ts +0 -10
  183. package/react/hooks/use-define-ref.d.ts.map +0 -1
  184. package/react/hooks/use-element-ref.d.ts +0 -2
  185. package/react/hooks/use-element-ref.d.ts.map +0 -1
  186. package/react/hooks/use-event-listener.d.ts +0 -8
  187. package/react/hooks/use-event-listener.d.ts.map +0 -1
  188. package/react/hooks/use-event.d.ts +0 -3
  189. package/react/hooks/use-event.d.ts.map +0 -1
  190. package/react/hooks/use-flag.d.ts +0 -8
  191. package/react/hooks/use-flag.d.ts.map +0 -1
  192. package/react/hooks/use-force-update.d.ts +0 -2
  193. package/react/hooks/use-force-update.d.ts.map +0 -1
  194. package/react/hooks/use-initial-height.d.ts +0 -5
  195. package/react/hooks/use-initial-height.d.ts.map +0 -1
  196. package/react/hooks/use-instance.d.ts +0 -27
  197. package/react/hooks/use-instance.d.ts.map +0 -1
  198. package/react/hooks/use-intersection-observer.d.ts +0 -2
  199. package/react/hooks/use-intersection-observer.d.ts.map +0 -1
  200. package/react/hooks/use-last-defined-value.d.ts +0 -2
  201. package/react/hooks/use-last-defined-value.d.ts.map +0 -1
  202. package/react/hooks/use-last-value-ref.d.ts +0 -2
  203. package/react/hooks/use-last-value-ref.d.ts.map +0 -1
  204. package/react/hooks/use-life-cycle.d.ts +0 -5
  205. package/react/hooks/use-life-cycle.d.ts.map +0 -1
  206. package/react/hooks/use-resize-observer.d.ts +0 -2
  207. package/react/hooks/use-resize-observer.d.ts.map +0 -1
  208. package/react/hooks/use-sync-ref.d.ts +0 -2
  209. package/react/hooks/use-sync-ref.d.ts.map +0 -1
  210. package/react/hooks/use-toggle.d.ts +0 -2
  211. package/react/hooks/use-toggle.d.ts.map +0 -1
  212. package/react/hooks/use-value.d.ts +0 -5
  213. package/react/hooks/use-value.d.ts.map +0 -1
  214. package/react/hooks/use-visibility-state.d.ts +0 -2
  215. package/react/hooks/use-visibility-state.d.ts.map +0 -1
  216. package/react/index.d.ts +0 -2
  217. package/react/index.d.ts.map +0 -1
  218. package/sound.d.ts.map +0 -1
  219. package/storage.d.ts +0 -39
  220. package/storage.d.ts.map +0 -1
  221. package/text.d.ts.map +0 -1
  222. package/type-guard/_exports.d.ts +0 -86
  223. package/type-guard/_exports.d.ts.map +0 -1
  224. package/type-guard/index.d.ts +0 -3
  225. package/type-guard/index.d.ts.map +0 -1
  226. package/utility-types.cjs +0 -2
  227. package/utility-types.cjs.map +0 -1
  228. package/utility-types.d.ts.map +0 -1
  229. package/utility-types.js +0 -2
  230. package/utility-types.js.map +0 -1
  231. package/utils/types.d.ts.map +0 -1
  232. package/vibrate.d.ts.map +0 -1
  233. /package/{utils/types.cjs → types.cjs} +0 -0
  234. /package/{utils/types.cjs.map → types.cjs.map} +0 -0
  235. /package/{utils/types.js → types.js} +0 -0
  236. /package/{utils/types.js.map → types.js.map} +0 -0
package/cookie.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cookie.js","sources":["../src/cookie.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/utils/types';\n\nexport const parseCookie = (cookiesString = document.cookie) => {\n return cookiesString\n .split(';')\n .map((cookieString) => cookieString.trim().split('='))\n .reduce<AnyObject>((acc, current) => {\n acc[current[0]] = current[1];\n return acc;\n }, {});\n};\n"],"names":[],"mappings":"AAEO,MAAM,cAAc,CAAC,gBAAgB,SAAS,WAAW;AAC9D,SAAO,cACJ,MAAM,GAAG,EACT,IAAI,CAAC,iBAAiB,aAAa,KAAA,EAAO,MAAM,GAAG,CAAC,EACpD,OAAkB,CAAC,KAAK,YAAY;AACnC,QAAI,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;AAC3B,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AACT;"}
1
+ {"version":3,"file":"cookie.js","sources":["../src/cookie.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/types';\n\nexport const parseCookie = (cookiesString = document.cookie) => {\n return cookiesString\n .split(';')\n .map((cookieString) => cookieString.trim().split('='))\n .reduce<AnyObject>((acc, current) => {\n acc[current[0]] = current[1];\n return acc;\n }, {});\n};\n"],"names":[],"mappings":"AAEO,MAAM,cAAc,CAAC,gBAAgB,SAAS,WAAW;AAC9D,SAAO,cACJ,MAAM,GAAG,EACT,IAAI,CAAC,iBAAiB,aAAa,KAAA,EAAO,MAAM,GAAG,CAAC,EACpD,OAAkB,CAAC,KAAK,YAAY;AACnC,QAAI,QAAQ,CAAC,CAAC,IAAI,QAAQ,CAAC;AAC3B,WAAO;AAAA,EACT,GAAG,CAAA,CAAE;AACT;"}
package/css.cjs CHANGED
@@ -1,2 +1,46 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("class-variance-authority"),t=require("clsx"),r=require("tailwind-merge");exports.cva=(...t)=>{const o=e.cva(...t);return(...e)=>r.twMerge(o(...e))},exports.cx=(...e)=>r.twMerge(t(...e)),exports.loadCssFile=(e,t)=>new Promise((r,o)=>{let n;t?.id&&(n=document.getElementById(t.id),n&&n.remove()),n=document.createElement("link");const i=()=>{r(void 0),n.removeEventListener("load",i),n.removeEventListener("error",s)},s=()=>{o(void 0),n.removeEventListener("load",i),n.removeEventListener("error",s)};n.addEventListener("load",i),n.addEventListener("error",s),n.setAttribute("href",e),t?.rel||n.setAttribute("rel","stylesheet"),Object.entries(t||{}).forEach(([e,t])=>{n.setAttribute(e,t)}),document.head.appendChild(n)}),exports.toRem=(e,t=16)=>e/t+"rem";
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const classVarianceAuthority = require("class-variance-authority");
4
+ const clsx = require("clsx");
5
+ const tailwindMerge = require("tailwind-merge");
6
+ const toRem = (px, remValue = 16) => `${px / remValue}rem`;
7
+ const cx = (...args) => tailwindMerge.twMerge(clsx(...args));
8
+ const cva = (...args) => {
9
+ const schema = classVarianceAuthority.cva(...args);
10
+ return (...inputArgs) => tailwindMerge.twMerge(schema(...inputArgs));
11
+ };
12
+ const loadCssFile = (url, attrubutes) => new Promise((resolve, reject) => {
13
+ let link;
14
+ if (attrubutes?.id) {
15
+ link = document.getElementById(attrubutes.id);
16
+ if (link) {
17
+ link.remove();
18
+ }
19
+ }
20
+ link = document.createElement("link");
21
+ const handleLoad = () => {
22
+ resolve(void 0);
23
+ link.removeEventListener("load", handleLoad);
24
+ link.removeEventListener("error", handleError);
25
+ };
26
+ const handleError = () => {
27
+ reject(void 0);
28
+ link.removeEventListener("load", handleLoad);
29
+ link.removeEventListener("error", handleError);
30
+ };
31
+ link.addEventListener("load", handleLoad);
32
+ link.addEventListener("error", handleError);
33
+ link.setAttribute("href", url);
34
+ if (!attrubutes?.rel) {
35
+ link.setAttribute("rel", "stylesheet");
36
+ }
37
+ Object.entries(attrubutes || {}).forEach(([key, value]) => {
38
+ link.setAttribute(key, value);
39
+ });
40
+ document.head.appendChild(link);
41
+ });
42
+ exports.cva = cva;
43
+ exports.cx = cx;
44
+ exports.loadCssFile = loadCssFile;
45
+ exports.toRem = toRem;
2
46
  //# sourceMappingURL=css.cjs.map
package/css.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"css.cjs","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/utils/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n * Перевод значения в пикселях в rem строковое\n */\nexport const toRem = (px: number, remValue = 16) => `${px / remValue}rem`;\n\n/**\n * classNames/clsx но с примесями tailwind-merge\n */\nexport const cx = (...args: Parameters<typeof clsx>) => twMerge(clsx(...args));\n\ntype ConfigSchema = Record<string, Record<string, ClassValue>>;\ntype ConfigVariants<T extends ConfigSchema> = {\n [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;\n};\ntype ConfigVariantsMulti<T extends ConfigSchema> = {\n [Variant in keyof T]?:\n | StringToBoolean<keyof T[Variant]>\n | StringToBoolean<keyof T[Variant]>[]\n | undefined;\n};\ntype Config<T> = T extends ConfigSchema\n ? {\n variants?: T;\n defaultVariants?: ConfigVariants<T>;\n compoundVariants?: (T extends ConfigSchema\n ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & ClassProp\n : ClassProp)[];\n }\n : never;\n\ntype Props<T> = T extends ConfigSchema\n ? ConfigVariants<T> & ClassProp\n : ClassProp;\n\n/**\n * Class Variance Authority но с примесями tailwind-merge\n *\n * https://cva.style/docs\n */\nexport const cva = ((...args: any[]) => {\n const schema = cvaLib(...args);\n return (...inputArgs: any[]) => twMerge(schema(...inputArgs));\n}) as any as <T>(\n base?: ClassValue,\n config?: Config<T>,\n) => (props?: Props<T>) => string;\n\nexport type { VariantProps } from 'class-variance-authority';\nexport type { ClassValue } from 'clsx';\n\n/**\n * Load CSS file by providing `url`.\n *\n * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.\n */\nexport const loadCssFile = (url: string, attrubutes?: Record<string, any>) =>\n new Promise((resolve, reject) => {\n let link: Maybe<HTMLLinkElement>;\n\n if (attrubutes?.id) {\n link = document.getElementById(attrubutes.id) as HTMLLinkElement | null;\n\n if (link) {\n link.remove();\n }\n }\n\n link = document.createElement('link');\n\n const handleLoad = () => {\n resolve(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n const handleError = () => {\n reject(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n link.addEventListener('load', handleLoad);\n link.addEventListener('error', handleError);\n\n link.setAttribute('href', url);\n\n if (!attrubutes?.rel) {\n link.setAttribute('rel', 'stylesheet');\n }\n\n Object.entries(attrubutes || {}).forEach(([key, value]) => {\n link.setAttribute(key, value);\n });\n\n document.head.appendChild(link);\n });\n"],"names":["args","schema","cvaLib","inputArgs","twMerge","clsx","url","attrubutes","Promise","resolve","reject","link","id","document","getElementById","remove","createElement","handleLoad","removeEventListener","handleError","addEventListener","setAttribute","rel","Object","entries","forEach","key","value","head","appendChild","px","remValue"],"mappings":"sLAmDoB,IAAIA,KACtB,MAAMC,EAASC,SAAUF,GACzB,MAAO,IAAIG,IAAqBC,EAAAA,QAAQH,KAAUE,gBAjClC,IAAIH,IAAkCI,EAAAA,QAAQC,KAAQL,wBA+C7C,CAACM,EAAaC,IACvC,IAAIC,QAAQ,CAACC,EAASC,KACpB,IAAIC,EAEAJ,GAAYK,KACdD,EAAOE,SAASC,eAAeP,EAAWK,IAEtCD,GACFA,EAAKI,UAITJ,EAAOE,SAASG,cAAc,QAE9B,MAAMC,EAAa,KACjBR,OAAQ,GACRE,EAAMO,oBAAoB,OAAQD,GAClCN,EAAMO,oBAAoB,QAASC,IAG/BA,EAAc,KAClBT,OAAO,GACPC,EAAMO,oBAAoB,OAAQD,GAClCN,EAAMO,oBAAoB,QAASC,IAGrCR,EAAKS,iBAAiB,OAAQH,GAC9BN,EAAKS,iBAAiB,QAASD,GAE/BR,EAAKU,aAAa,OAAQf,GAErBC,GAAYe,KACfX,EAAKU,aAAa,MAAO,cAG3BE,OAAOC,QAAQjB,GAAc,CAAA,GAAIkB,QAAQ,EAAEC,EAAKC,MAC9ChB,EAAKU,aAAaK,EAAKC,KAGzBd,SAASe,KAAKC,YAAYlB,mBA3FT,CAACmB,EAAYC,EAAW,KAAUD,EAAKC,EAAR"}
1
+ {"version":3,"file":"css.cjs","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n * Перевод значения в пикселях в rem строковое\n */\nexport const toRem = (px: number, remValue = 16) => `${px / remValue}rem`;\n\n/**\n * classNames/clsx но с примесями tailwind-merge\n */\nexport const cx = (...args: Parameters<typeof clsx>) => twMerge(clsx(...args));\n\ntype ConfigSchema = Record<string, Record<string, ClassValue>>;\ntype ConfigVariants<T extends ConfigSchema> = {\n [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;\n};\ntype ConfigVariantsMulti<T extends ConfigSchema> = {\n [Variant in keyof T]?:\n | StringToBoolean<keyof T[Variant]>\n | StringToBoolean<keyof T[Variant]>[]\n | undefined;\n};\ntype Config<T> = T extends ConfigSchema\n ? {\n variants?: T;\n defaultVariants?: ConfigVariants<T>;\n compoundVariants?: (T extends ConfigSchema\n ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & ClassProp\n : ClassProp)[];\n }\n : never;\n\ntype Props<T> = T extends ConfigSchema\n ? ConfigVariants<T> & ClassProp\n : ClassProp;\n\n/**\n * Class Variance Authority но с примесями tailwind-merge\n *\n * https://cva.style/docs\n */\nexport const cva = ((...args: any[]) => {\n const schema = cvaLib(...args);\n return (...inputArgs: any[]) => twMerge(schema(...inputArgs));\n}) as any as <T>(\n base?: ClassValue,\n config?: Config<T>,\n) => (props?: Props<T>) => string;\n\nexport type { VariantProps } from 'class-variance-authority';\nexport type { ClassValue } from 'clsx';\n\n/**\n * Load CSS file by providing `url`.\n *\n * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.\n */\nexport const loadCssFile = (url: string, attrubutes?: Record<string, any>) =>\n new Promise((resolve, reject) => {\n let link: Maybe<HTMLLinkElement>;\n\n if (attrubutes?.id) {\n link = document.getElementById(attrubutes.id) as HTMLLinkElement | null;\n\n if (link) {\n link.remove();\n }\n }\n\n link = document.createElement('link');\n\n const handleLoad = () => {\n resolve(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n const handleError = () => {\n reject(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n link.addEventListener('load', handleLoad);\n link.addEventListener('error', handleError);\n\n link.setAttribute('href', url);\n\n if (!attrubutes?.rel) {\n link.setAttribute('rel', 'stylesheet');\n }\n\n Object.entries(attrubutes || {}).forEach(([key, value]) => {\n link.setAttribute(key, value);\n });\n\n document.head.appendChild(link);\n });\n"],"names":["twMerge","cvaLib"],"mappings":";;;;;AAeO,MAAM,QAAQ,CAAC,IAAY,WAAW,OAAO,GAAG,KAAK,QAAQ;AAK7D,MAAM,KAAK,IAAI,SAAkCA,cAAAA,QAAQ,KAAK,GAAG,IAAI,CAAC;AA+BtE,MAAM,MAAO,IAAI,SAAgB;AACtC,QAAM,SAASC,2BAAO,GAAG,IAAI;AAC7B,SAAO,IAAI,cAAqBD,cAAAA,QAAQ,OAAO,GAAG,SAAS,CAAC;AAC9D;AAaO,MAAM,cAAc,CAAC,KAAa,eACvC,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI;AAEJ,MAAI,YAAY,IAAI;AAClB,WAAO,SAAS,eAAe,WAAW,EAAE;AAE5C,QAAI,MAAM;AACR,WAAK,OAAA;AAAA,IACP;AAAA,EACF;AAEA,SAAO,SAAS,cAAc,MAAM;AAEpC,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAS;AACjB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,MAAS;AAChB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,OAAK,iBAAiB,QAAQ,UAAU;AACxC,OAAK,iBAAiB,SAAS,WAAW;AAE1C,OAAK,aAAa,QAAQ,GAAG;AAE7B,MAAI,CAAC,YAAY,KAAK;AACpB,SAAK,aAAa,OAAO,YAAY;AAAA,EACvC;AAEA,SAAO,QAAQ,cAAc,CAAA,CAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,SAAK,aAAa,KAAK,KAAK;AAAA,EAC9B,CAAC;AAED,WAAS,KAAK,YAAY,IAAI;AAChC,CAAC;;;;;"}
package/css.d.ts CHANGED
@@ -1,4 +1,7 @@
1
- import { default as clsx, ClassValue } from 'clsx';
1
+ import clsx, { ClassValue } from 'clsx';
2
+ export { ClassValue } from 'clsx';
3
+ export { VariantProps } from 'class-variance-authority';
4
+
2
5
  type ClassProp = {
3
6
  class?: ClassValue;
4
7
  className?: ClassValue;
@@ -7,11 +10,11 @@ type StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;
7
10
  /**
8
11
  * Перевод значения в пикселях в rem строковое
9
12
  */
10
- export declare const toRem: (px: number, remValue?: number) => string;
13
+ declare const toRem: (px: number, remValue?: number) => string;
11
14
  /**
12
15
  * classNames/clsx но с примесями tailwind-merge
13
16
  */
14
- export declare const cx: (...args: Parameters<typeof clsx>) => string;
17
+ declare const cx: (...args: Parameters<typeof clsx>) => string;
15
18
  type ConfigSchema = Record<string, Record<string, ClassValue>>;
16
19
  type ConfigVariants<T extends ConfigSchema> = {
17
20
  [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;
@@ -30,13 +33,13 @@ type Props<T> = T extends ConfigSchema ? ConfigVariants<T> & ClassProp : ClassPr
30
33
  *
31
34
  * https://cva.style/docs
32
35
  */
33
- export declare const cva: <T>(base?: ClassValue, config?: Config<T>) => (props?: Props<T>) => string;
34
- export type { VariantProps } from 'class-variance-authority';
35
- export type { ClassValue } from 'clsx';
36
+ declare const cva: <T>(base?: ClassValue, config?: Config<T>) => (props?: Props<T>) => string;
37
+
36
38
  /**
37
39
  * Load CSS file by providing `url`.
38
40
  *
39
41
  * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.
40
42
  */
41
- export declare const loadCssFile: (url: string, attrubutes?: Record<string, any>) => Promise<unknown>;
42
- //# sourceMappingURL=css.d.ts.map
43
+ declare const loadCssFile: (url: string, attrubutes?: Record<string, any>) => Promise<unknown>;
44
+
45
+ export { cva, cx, loadCssFile, toRem };
package/css.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/utils/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n * Перевод значения в пикселях в rem строковое\n */\nexport const toRem = (px: number, remValue = 16) => `${px / remValue}rem`;\n\n/**\n * classNames/clsx но с примесями tailwind-merge\n */\nexport const cx = (...args: Parameters<typeof clsx>) => twMerge(clsx(...args));\n\ntype ConfigSchema = Record<string, Record<string, ClassValue>>;\ntype ConfigVariants<T extends ConfigSchema> = {\n [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;\n};\ntype ConfigVariantsMulti<T extends ConfigSchema> = {\n [Variant in keyof T]?:\n | StringToBoolean<keyof T[Variant]>\n | StringToBoolean<keyof T[Variant]>[]\n | undefined;\n};\ntype Config<T> = T extends ConfigSchema\n ? {\n variants?: T;\n defaultVariants?: ConfigVariants<T>;\n compoundVariants?: (T extends ConfigSchema\n ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & ClassProp\n : ClassProp)[];\n }\n : never;\n\ntype Props<T> = T extends ConfigSchema\n ? ConfigVariants<T> & ClassProp\n : ClassProp;\n\n/**\n * Class Variance Authority но с примесями tailwind-merge\n *\n * https://cva.style/docs\n */\nexport const cva = ((...args: any[]) => {\n const schema = cvaLib(...args);\n return (...inputArgs: any[]) => twMerge(schema(...inputArgs));\n}) as any as <T>(\n base?: ClassValue,\n config?: Config<T>,\n) => (props?: Props<T>) => string;\n\nexport type { VariantProps } from 'class-variance-authority';\nexport type { ClassValue } from 'clsx';\n\n/**\n * Load CSS file by providing `url`.\n *\n * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.\n */\nexport const loadCssFile = (url: string, attrubutes?: Record<string, any>) =>\n new Promise((resolve, reject) => {\n let link: Maybe<HTMLLinkElement>;\n\n if (attrubutes?.id) {\n link = document.getElementById(attrubutes.id) as HTMLLinkElement | null;\n\n if (link) {\n link.remove();\n }\n }\n\n link = document.createElement('link');\n\n const handleLoad = () => {\n resolve(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n const handleError = () => {\n reject(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n link.addEventListener('load', handleLoad);\n link.addEventListener('error', handleError);\n\n link.setAttribute('href', url);\n\n if (!attrubutes?.rel) {\n link.setAttribute('rel', 'stylesheet');\n }\n\n Object.entries(attrubutes || {}).forEach(([key, value]) => {\n link.setAttribute(key, value);\n });\n\n document.head.appendChild(link);\n });\n"],"names":["cvaLib"],"mappings":";;;AAeO,MAAM,QAAQ,CAAC,IAAY,WAAW,OAAO,GAAG,KAAK,QAAQ;AAK7D,MAAM,KAAK,IAAI,SAAkC,QAAQ,KAAK,GAAG,IAAI,CAAC;AA+BtE,MAAM,MAAO,IAAI,SAAgB;AACtC,QAAM,SAASA,MAAO,GAAG,IAAI;AAC7B,SAAO,IAAI,cAAqB,QAAQ,OAAO,GAAG,SAAS,CAAC;AAC9D;AAaO,MAAM,cAAc,CAAC,KAAa,eACvC,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI;AAEJ,MAAI,YAAY,IAAI;AAClB,WAAO,SAAS,eAAe,WAAW,EAAE;AAE5C,QAAI,MAAM;AACR,WAAK,OAAA;AAAA,IACP;AAAA,EACF;AAEA,SAAO,SAAS,cAAc,MAAM;AAEpC,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAS;AACjB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,MAAS;AAChB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,OAAK,iBAAiB,QAAQ,UAAU;AACxC,OAAK,iBAAiB,SAAS,WAAW;AAE1C,OAAK,aAAa,QAAQ,GAAG;AAE7B,MAAI,CAAC,YAAY,KAAK;AACpB,SAAK,aAAa,OAAO,YAAY;AAAA,EACvC;AAEA,SAAO,QAAQ,cAAc,CAAA,CAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,SAAK,aAAa,KAAK,KAAK;AAAA,EAC9B,CAAC;AAED,WAAS,KAAK,YAAY,IAAI;AAChC,CAAC;"}
1
+ {"version":3,"file":"css.js","sources":["../src/css.ts"],"sourcesContent":["import { cva as cvaLib } from 'class-variance-authority';\nimport clsx, { type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\nimport type { Maybe } from 'yummies/types';\n\ntype ClassProp = {\n class?: ClassValue;\n className?: ClassValue;\n};\n\ntype StringToBoolean<T> = T extends 'true' | 'false' ? boolean : T;\n\n/**\n * Перевод значения в пикселях в rem строковое\n */\nexport const toRem = (px: number, remValue = 16) => `${px / remValue}rem`;\n\n/**\n * classNames/clsx но с примесями tailwind-merge\n */\nexport const cx = (...args: Parameters<typeof clsx>) => twMerge(clsx(...args));\n\ntype ConfigSchema = Record<string, Record<string, ClassValue>>;\ntype ConfigVariants<T extends ConfigSchema> = {\n [Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;\n};\ntype ConfigVariantsMulti<T extends ConfigSchema> = {\n [Variant in keyof T]?:\n | StringToBoolean<keyof T[Variant]>\n | StringToBoolean<keyof T[Variant]>[]\n | undefined;\n};\ntype Config<T> = T extends ConfigSchema\n ? {\n variants?: T;\n defaultVariants?: ConfigVariants<T>;\n compoundVariants?: (T extends ConfigSchema\n ? (ConfigVariants<T> | ConfigVariantsMulti<T>) & ClassProp\n : ClassProp)[];\n }\n : never;\n\ntype Props<T> = T extends ConfigSchema\n ? ConfigVariants<T> & ClassProp\n : ClassProp;\n\n/**\n * Class Variance Authority но с примесями tailwind-merge\n *\n * https://cva.style/docs\n */\nexport const cva = ((...args: any[]) => {\n const schema = cvaLib(...args);\n return (...inputArgs: any[]) => twMerge(schema(...inputArgs));\n}) as any as <T>(\n base?: ClassValue,\n config?: Config<T>,\n) => (props?: Props<T>) => string;\n\nexport type { VariantProps } from 'class-variance-authority';\nexport type { ClassValue } from 'clsx';\n\n/**\n * Load CSS file by providing `url`.\n *\n * **NOTE:** If `id` is provided, it will remove the existing link element with the same `id` before creating a new one.\n */\nexport const loadCssFile = (url: string, attrubutes?: Record<string, any>) =>\n new Promise((resolve, reject) => {\n let link: Maybe<HTMLLinkElement>;\n\n if (attrubutes?.id) {\n link = document.getElementById(attrubutes.id) as HTMLLinkElement | null;\n\n if (link) {\n link.remove();\n }\n }\n\n link = document.createElement('link');\n\n const handleLoad = () => {\n resolve(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n const handleError = () => {\n reject(undefined);\n link!.removeEventListener('load', handleLoad);\n link!.removeEventListener('error', handleError);\n };\n\n link.addEventListener('load', handleLoad);\n link.addEventListener('error', handleError);\n\n link.setAttribute('href', url);\n\n if (!attrubutes?.rel) {\n link.setAttribute('rel', 'stylesheet');\n }\n\n Object.entries(attrubutes || {}).forEach(([key, value]) => {\n link.setAttribute(key, value);\n });\n\n document.head.appendChild(link);\n });\n"],"names":["cvaLib"],"mappings":";;;AAeO,MAAM,QAAQ,CAAC,IAAY,WAAW,OAAO,GAAG,KAAK,QAAQ;AAK7D,MAAM,KAAK,IAAI,SAAkC,QAAQ,KAAK,GAAG,IAAI,CAAC;AA+BtE,MAAM,MAAO,IAAI,SAAgB;AACtC,QAAM,SAASA,MAAO,GAAG,IAAI;AAC7B,SAAO,IAAI,cAAqB,QAAQ,OAAO,GAAG,SAAS,CAAC;AAC9D;AAaO,MAAM,cAAc,CAAC,KAAa,eACvC,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC/B,MAAI;AAEJ,MAAI,YAAY,IAAI;AAClB,WAAO,SAAS,eAAe,WAAW,EAAE;AAE5C,QAAI,MAAM;AACR,WAAK,OAAA;AAAA,IACP;AAAA,EACF;AAEA,SAAO,SAAS,cAAc,MAAM;AAEpC,QAAM,aAAa,MAAM;AACvB,YAAQ,MAAS;AACjB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,QAAM,cAAc,MAAM;AACxB,WAAO,MAAS;AAChB,SAAM,oBAAoB,QAAQ,UAAU;AAC5C,SAAM,oBAAoB,SAAS,WAAW;AAAA,EAChD;AAEA,OAAK,iBAAiB,QAAQ,UAAU;AACxC,OAAK,iBAAiB,SAAS,WAAW;AAE1C,OAAK,aAAa,QAAQ,GAAG;AAE7B,MAAI,CAAC,YAAY,KAAK;AACpB,SAAK,aAAa,OAAO,YAAY;AAAA,EACvC;AAEA,SAAO,QAAQ,cAAc,CAAA,CAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AACzD,SAAK,aAAa,KAAK,KAAK;AAAA,EAC9B,CAAC;AAED,WAAS,KAAK,YAAY,IAAI;AAChC,CAAC;"}
package/data.cjs CHANGED
@@ -1,2 +1,44 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=(t,e)=>Array.isArray(t)?t.flatMap(t=>r(t,e)):[e(t,0,[t])];exports.flatMapDeep=r,exports.isShallowEqual=(r,t)=>{if(r===t)return!0;if("object"!=typeof r||"object"!=typeof t||null===r||null===t)return!1;if(r.constructor!==t.constructor)return!1;const e=Array.isArray(r);if(e!==Array.isArray(t))return!1;if(e){const e=r,n=t;if(e.length!==n.length)return!1;for(const[r,t]of e.entries())if(t!==n[r])return!1;return!0}if(r instanceof Date)return r.getTime()===t.getTime();if(r instanceof RegExp)return r.toString()===t.toString();const n=Object.keys(r),o=Object.keys(t);if(n.length!==o.length)return!1;const s=t;for(const i of n)if(!Object.hasOwn(s,i)||r[i]!==s[i])return!1;return!0},exports.safeJsonParse=r=>{try{return JSON.parse(r)}catch{return null}};
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const isShallowEqual = (a, b) => {
4
+ if (a === b) return true;
5
+ if (typeof a !== "object" || typeof b !== "object" || a === null || b === null) {
6
+ return false;
7
+ }
8
+ if (a.constructor !== b.constructor) return false;
9
+ const isArrayA = Array.isArray(a);
10
+ if (isArrayA !== Array.isArray(b)) return false;
11
+ if (isArrayA) {
12
+ const arrA = a;
13
+ const arrB = b;
14
+ if (arrA.length !== arrB.length) return false;
15
+ for (const [i, element] of arrA.entries()) {
16
+ if (element !== arrB[i]) return false;
17
+ }
18
+ return true;
19
+ }
20
+ if (a instanceof Date) return a.getTime() === b.getTime();
21
+ if (a instanceof RegExp) return a.toString() === b.toString();
22
+ const aKeys = Object.keys(a);
23
+ const bKeys = Object.keys(b);
24
+ if (aKeys.length !== bKeys.length) return false;
25
+ const bObj = b;
26
+ for (const key of aKeys) {
27
+ if (!Object.hasOwn(bObj, key) || a[key] !== bObj[key]) {
28
+ return false;
29
+ }
30
+ }
31
+ return true;
32
+ };
33
+ const flatMapDeep = (arr, fn) => Array.isArray(arr) ? arr.flatMap((c) => flatMapDeep(c, fn)) : [fn(arr, 0, [arr])];
34
+ const safeJsonParse = (json) => {
35
+ try {
36
+ return JSON.parse(json);
37
+ } catch {
38
+ return null;
39
+ }
40
+ };
41
+ exports.flatMapDeep = flatMapDeep;
42
+ exports.isShallowEqual = isShallowEqual;
43
+ exports.safeJsonParse = safeJsonParse;
2
44
  //# sourceMappingURL=data.cjs.map
package/data.cjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.cjs","sources":["../src/data.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/utils/types';\n\nexport const isShallowEqual = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n\n if (\n typeof a !== 'object' ||\n typeof b !== 'object' ||\n a === null ||\n b === null\n ) {\n return false;\n }\n\n if (a.constructor !== b.constructor) return false;\n\n const isArrayA = Array.isArray(a);\n\n if (isArrayA !== Array.isArray(b)) return false;\n\n if (isArrayA) {\n const arrA = a as unknown[];\n const arrB = b as unknown[];\n if (arrA.length !== arrB.length) return false;\n\n for (const [i, element] of arrA.entries()) {\n if (element !== arrB[i]) return false;\n }\n return true;\n }\n\n if (a instanceof Date) return a.getTime() === (b as Date).getTime();\n\n if (a instanceof RegExp) return a.toString() === (b as RegExp).toString();\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n const bObj = b as AnyObject;\n for (const key of aKeys) {\n if (!Object.hasOwn(bObj, key) || (a as AnyObject)[key] !== bObj[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const flatMapDeep = <TSource, TNewValue>(\n arr: TSource | TSource[],\n fn: (value: TSource, i: number, arr: TSource[]) => TNewValue,\n): TNewValue[] =>\n Array.isArray(arr)\n ? arr.flatMap((c: TSource): TNewValue[] => flatMapDeep(c, fn))\n : [fn(arr, 0, [arr])];\n\nexport const safeJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch {\n return null;\n }\n};\n"],"names":["flatMapDeep","arr","fn","Array","isArray","flatMap","c","a","b","constructor","isArrayA","arrA","arrB","length","i","element","entries","Date","getTime","RegExp","toString","aKeys","Object","keys","bKeys","bObj","key","hasOwn","json","JSON","parse"],"mappings":"gFAEO,MAgDMA,EAAc,CACzBC,EACAC,IAEAC,MAAMC,QAAQH,GACVA,EAAII,QAASC,GAA4BN,EAAYM,EAAGJ,IACxD,CAACA,EAAGD,EAAK,EAAG,CAACA,kDAtDW,CAACM,EAAYC,KACzC,GAAID,IAAMC,EAAG,OAAO,EAEpB,GACe,iBAAND,GACM,iBAANC,GACD,OAAND,GACM,OAANC,EAEA,OAAO,EAGT,GAAID,EAAEE,cAAgBD,EAAEC,YAAa,OAAO,EAE5C,MAAMC,EAAWP,MAAMC,QAAQG,GAE/B,GAAIG,IAAaP,MAAMC,QAAQI,GAAI,OAAO,EAE1C,GAAIE,EAAU,CACZ,MAAMC,EAAOJ,EACPK,EAAOJ,EACb,GAAIG,EAAKE,SAAWD,EAAKC,OAAQ,OAAO,EAExC,IAAA,MAAYC,EAAGC,KAAYJ,EAAKK,UAC9B,GAAID,IAAYH,EAAKE,GAAI,OAAO,EAElC,OAAO,CACT,CAEA,GAAIP,aAAaU,KAAM,OAAOV,EAAEW,YAAeV,EAAWU,UAE1D,GAAIX,aAAaY,OAAQ,OAAOZ,EAAEa,aAAgBZ,EAAaY,WAE/D,MAAMC,EAAQC,OAAOC,KAAKhB,GACpBiB,EAAQF,OAAOC,KAAKf,GAE1B,GAAIa,EAAMR,SAAWW,EAAMX,OAAQ,OAAO,EAE1C,MAAMY,EAAOjB,EACb,IAAA,MAAWkB,KAAOL,EAChB,IAAKC,OAAOK,OAAOF,EAAMC,IAASnB,EAAgBmB,KAASD,EAAKC,GAC9D,OAAO,EAIX,OAAO,yBAWqBE,IAC5B,IACE,OAAOC,KAAKC,MAAMF,EACpB,CAAA,MACE,OAAO,IACT"}
1
+ {"version":3,"file":"data.cjs","sources":["../src/data.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/types';\n\nexport const isShallowEqual = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n\n if (\n typeof a !== 'object' ||\n typeof b !== 'object' ||\n a === null ||\n b === null\n ) {\n return false;\n }\n\n if (a.constructor !== b.constructor) return false;\n\n const isArrayA = Array.isArray(a);\n\n if (isArrayA !== Array.isArray(b)) return false;\n\n if (isArrayA) {\n const arrA = a as unknown[];\n const arrB = b as unknown[];\n if (arrA.length !== arrB.length) return false;\n\n for (const [i, element] of arrA.entries()) {\n if (element !== arrB[i]) return false;\n }\n return true;\n }\n\n if (a instanceof Date) return a.getTime() === (b as Date).getTime();\n\n if (a instanceof RegExp) return a.toString() === (b as RegExp).toString();\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n const bObj = b as AnyObject;\n for (const key of aKeys) {\n if (!Object.hasOwn(bObj, key) || (a as AnyObject)[key] !== bObj[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const flatMapDeep = <TSource, TNewValue>(\n arr: TSource | TSource[],\n fn: (value: TSource, i: number, arr: TSource[]) => TNewValue,\n): TNewValue[] =>\n Array.isArray(arr)\n ? arr.flatMap((c: TSource): TNewValue[] => flatMapDeep(c, fn))\n : [fn(arr, 0, [arr])];\n\nexport const safeJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch {\n return null;\n }\n};\n"],"names":[],"mappings":";;AAEO,MAAM,iBAAiB,CAAC,GAAY,MAAwB;AACjE,MAAI,MAAM,EAAG,QAAO;AAEpB,MACE,OAAO,MAAM,YACb,OAAO,MAAM,YACb,MAAM,QACN,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,MAAI,EAAE,gBAAgB,EAAE,YAAa,QAAO;AAE5C,QAAM,WAAW,MAAM,QAAQ,CAAC;AAEhC,MAAI,aAAa,MAAM,QAAQ,CAAC,EAAG,QAAO;AAE1C,MAAI,UAAU;AACZ,UAAM,OAAO;AACb,UAAM,OAAO;AACb,QAAI,KAAK,WAAW,KAAK,OAAQ,QAAO;AAExC,eAAW,CAAC,GAAG,OAAO,KAAK,KAAK,WAAW;AACzC,UAAI,YAAY,KAAK,CAAC,EAAG,QAAO;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,KAAM,QAAO,EAAE,QAAA,MAAe,EAAW,QAAA;AAE1D,MAAI,aAAa,OAAQ,QAAO,EAAE,SAAA,MAAgB,EAAa,SAAA;AAE/D,QAAM,QAAQ,OAAO,KAAK,CAAC;AAC3B,QAAM,QAAQ,OAAO,KAAK,CAAC;AAE3B,MAAI,MAAM,WAAW,MAAM,OAAQ,QAAO;AAE1C,QAAM,OAAO;AACb,aAAW,OAAO,OAAO;AACvB,QAAI,CAAC,OAAO,OAAO,MAAM,GAAG,KAAM,EAAgB,GAAG,MAAM,KAAK,GAAG,GAAG;AACpE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,cAAc,CACzB,KACA,OAEA,MAAM,QAAQ,GAAG,IACb,IAAI,QAAQ,CAAC,MAA4B,YAAY,GAAG,EAAE,CAAC,IAC3D,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB,MAAM,gBAAgB,CAAC,SAAiB;AAC7C,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;;;;"}
package/data.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export declare const isShallowEqual: (a: unknown, b: unknown) => boolean;
2
- export declare const flatMapDeep: <TSource, TNewValue>(arr: TSource | TSource[], fn: (value: TSource, i: number, arr: TSource[]) => TNewValue) => TNewValue[];
3
- export declare const safeJsonParse: (json: string) => any;
4
- //# sourceMappingURL=data.d.ts.map
1
+ declare const isShallowEqual: (a: unknown, b: unknown) => boolean;
2
+ declare const flatMapDeep: <TSource, TNewValue>(arr: TSource | TSource[], fn: (value: TSource, i: number, arr: TSource[]) => TNewValue) => TNewValue[];
3
+ declare const safeJsonParse: (json: string) => any;
4
+
5
+ export { flatMapDeep, isShallowEqual, safeJsonParse };
package/data.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../src/data.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/utils/types';\n\nexport const isShallowEqual = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n\n if (\n typeof a !== 'object' ||\n typeof b !== 'object' ||\n a === null ||\n b === null\n ) {\n return false;\n }\n\n if (a.constructor !== b.constructor) return false;\n\n const isArrayA = Array.isArray(a);\n\n if (isArrayA !== Array.isArray(b)) return false;\n\n if (isArrayA) {\n const arrA = a as unknown[];\n const arrB = b as unknown[];\n if (arrA.length !== arrB.length) return false;\n\n for (const [i, element] of arrA.entries()) {\n if (element !== arrB[i]) return false;\n }\n return true;\n }\n\n if (a instanceof Date) return a.getTime() === (b as Date).getTime();\n\n if (a instanceof RegExp) return a.toString() === (b as RegExp).toString();\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n const bObj = b as AnyObject;\n for (const key of aKeys) {\n if (!Object.hasOwn(bObj, key) || (a as AnyObject)[key] !== bObj[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const flatMapDeep = <TSource, TNewValue>(\n arr: TSource | TSource[],\n fn: (value: TSource, i: number, arr: TSource[]) => TNewValue,\n): TNewValue[] =>\n Array.isArray(arr)\n ? arr.flatMap((c: TSource): TNewValue[] => flatMapDeep(c, fn))\n : [fn(arr, 0, [arr])];\n\nexport const safeJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch {\n return null;\n }\n};\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,CAAC,GAAY,MAAwB;AACjE,MAAI,MAAM,EAAG,QAAO;AAEpB,MACE,OAAO,MAAM,YACb,OAAO,MAAM,YACb,MAAM,QACN,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,MAAI,EAAE,gBAAgB,EAAE,YAAa,QAAO;AAE5C,QAAM,WAAW,MAAM,QAAQ,CAAC;AAEhC,MAAI,aAAa,MAAM,QAAQ,CAAC,EAAG,QAAO;AAE1C,MAAI,UAAU;AACZ,UAAM,OAAO;AACb,UAAM,OAAO;AACb,QAAI,KAAK,WAAW,KAAK,OAAQ,QAAO;AAExC,eAAW,CAAC,GAAG,OAAO,KAAK,KAAK,WAAW;AACzC,UAAI,YAAY,KAAK,CAAC,EAAG,QAAO;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,KAAM,QAAO,EAAE,QAAA,MAAe,EAAW,QAAA;AAE1D,MAAI,aAAa,OAAQ,QAAO,EAAE,SAAA,MAAgB,EAAa,SAAA;AAE/D,QAAM,QAAQ,OAAO,KAAK,CAAC;AAC3B,QAAM,QAAQ,OAAO,KAAK,CAAC;AAE3B,MAAI,MAAM,WAAW,MAAM,OAAQ,QAAO;AAE1C,QAAM,OAAO;AACb,aAAW,OAAO,OAAO;AACvB,QAAI,CAAC,OAAO,OAAO,MAAM,GAAG,KAAM,EAAgB,GAAG,MAAM,KAAK,GAAG,GAAG;AACpE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,cAAc,CACzB,KACA,OAEA,MAAM,QAAQ,GAAG,IACb,IAAI,QAAQ,CAAC,MAA4B,YAAY,GAAG,EAAE,CAAC,IAC3D,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB,MAAM,gBAAgB,CAAC,SAAiB;AAC7C,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}
1
+ {"version":3,"file":"data.js","sources":["../src/data.ts"],"sourcesContent":["import type { AnyObject } from 'yummies/types';\n\nexport const isShallowEqual = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n\n if (\n typeof a !== 'object' ||\n typeof b !== 'object' ||\n a === null ||\n b === null\n ) {\n return false;\n }\n\n if (a.constructor !== b.constructor) return false;\n\n const isArrayA = Array.isArray(a);\n\n if (isArrayA !== Array.isArray(b)) return false;\n\n if (isArrayA) {\n const arrA = a as unknown[];\n const arrB = b as unknown[];\n if (arrA.length !== arrB.length) return false;\n\n for (const [i, element] of arrA.entries()) {\n if (element !== arrB[i]) return false;\n }\n return true;\n }\n\n if (a instanceof Date) return a.getTime() === (b as Date).getTime();\n\n if (a instanceof RegExp) return a.toString() === (b as RegExp).toString();\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n\n if (aKeys.length !== bKeys.length) return false;\n\n const bObj = b as AnyObject;\n for (const key of aKeys) {\n if (!Object.hasOwn(bObj, key) || (a as AnyObject)[key] !== bObj[key]) {\n return false;\n }\n }\n\n return true;\n};\n\nexport const flatMapDeep = <TSource, TNewValue>(\n arr: TSource | TSource[],\n fn: (value: TSource, i: number, arr: TSource[]) => TNewValue,\n): TNewValue[] =>\n Array.isArray(arr)\n ? arr.flatMap((c: TSource): TNewValue[] => flatMapDeep(c, fn))\n : [fn(arr, 0, [arr])];\n\nexport const safeJsonParse = (json: string) => {\n try {\n return JSON.parse(json);\n } catch {\n return null;\n }\n};\n"],"names":[],"mappings":"AAEO,MAAM,iBAAiB,CAAC,GAAY,MAAwB;AACjE,MAAI,MAAM,EAAG,QAAO;AAEpB,MACE,OAAO,MAAM,YACb,OAAO,MAAM,YACb,MAAM,QACN,MAAM,MACN;AACA,WAAO;AAAA,EACT;AAEA,MAAI,EAAE,gBAAgB,EAAE,YAAa,QAAO;AAE5C,QAAM,WAAW,MAAM,QAAQ,CAAC;AAEhC,MAAI,aAAa,MAAM,QAAQ,CAAC,EAAG,QAAO;AAE1C,MAAI,UAAU;AACZ,UAAM,OAAO;AACb,UAAM,OAAO;AACb,QAAI,KAAK,WAAW,KAAK,OAAQ,QAAO;AAExC,eAAW,CAAC,GAAG,OAAO,KAAK,KAAK,WAAW;AACzC,UAAI,YAAY,KAAK,CAAC,EAAG,QAAO;AAAA,IAClC;AACA,WAAO;AAAA,EACT;AAEA,MAAI,aAAa,KAAM,QAAO,EAAE,QAAA,MAAe,EAAW,QAAA;AAE1D,MAAI,aAAa,OAAQ,QAAO,EAAE,SAAA,MAAgB,EAAa,SAAA;AAE/D,QAAM,QAAQ,OAAO,KAAK,CAAC;AAC3B,QAAM,QAAQ,OAAO,KAAK,CAAC;AAE3B,MAAI,MAAM,WAAW,MAAM,OAAQ,QAAO;AAE1C,QAAM,OAAO;AACb,aAAW,OAAO,OAAO;AACvB,QAAI,CAAC,OAAO,OAAO,MAAM,GAAG,KAAM,EAAgB,GAAG,MAAM,KAAK,GAAG,GAAG;AACpE,aAAO;AAAA,IACT;AAAA,EACF;AAEA,SAAO;AACT;AAEO,MAAM,cAAc,CACzB,KACA,OAEA,MAAM,QAAQ,GAAG,IACb,IAAI,QAAQ,CAAC,MAA4B,YAAY,GAAG,EAAE,CAAC,IAC3D,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;AAEjB,MAAM,gBAAgB,CAAC,SAAiB;AAC7C,MAAI;AACF,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB,QAAQ;AACN,WAAO;AAAA,EACT;AACF;"}