@startlibs/utils 1.1.1 → 1.2.0-rc.1

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 (87) hide show
  1. package/lib/animationKeyframes.mjs +11 -0
  2. package/lib/animationKeyframes.mjs.map +1 -0
  3. package/lib/fixMediaQuery.mjs +43 -17
  4. package/lib/fixMediaQuery.mjs.map +1 -1
  5. package/lib/fixMediaText.mjs +16 -0
  6. package/lib/fixMediaText.mjs.map +1 -0
  7. package/lib/formatDate.mjs +1 -1
  8. package/lib/formatDate.mjs.map +1 -1
  9. package/lib/index.cjs +212 -100
  10. package/lib/index.cjs.map +1 -1
  11. package/lib/index.mjs +3 -1
  12. package/lib/index.mjs.map +1 -1
  13. package/lib/insertKeyframes.mjs +68 -0
  14. package/lib/insertKeyframes.mjs.map +1 -0
  15. package/lib/styled.mjs +22 -141
  16. package/lib/styled.mjs.map +1 -1
  17. package/lib/styledShared.mjs +125 -0
  18. package/lib/styledShared.mjs.map +1 -0
  19. package/lib/timerUtils.mjs +0 -1
  20. package/lib/timerUtils.mjs.map +1 -1
  21. package/lib/yakDomTag.mjs +44 -0
  22. package/lib/yakDomTag.mjs.map +1 -0
  23. package/lib-yak/ActionUtils.mjs +117 -0
  24. package/lib-yak/ActionUtils.mjs.map +1 -0
  25. package/lib-yak/FetchUtils.mjs +100 -0
  26. package/lib-yak/FetchUtils.mjs.map +1 -0
  27. package/lib-yak/animationKeyframes.mjs +31 -0
  28. package/lib-yak/animationKeyframes.mjs.map +1 -0
  29. package/lib-yak/createPressEvent.mjs +74 -0
  30. package/lib-yak/createPressEvent.mjs.map +1 -0
  31. package/lib-yak/fixMediaQuery.mjs +90 -0
  32. package/lib-yak/fixMediaQuery.mjs.map +1 -0
  33. package/lib-yak/fixMediaText.mjs +16 -0
  34. package/lib-yak/fixMediaText.mjs.map +1 -0
  35. package/lib-yak/formatDate.mjs +110 -0
  36. package/lib-yak/formatDate.mjs.map +1 -0
  37. package/lib-yak/formatUtils.mjs +64 -0
  38. package/lib-yak/formatUtils.mjs.map +1 -0
  39. package/lib-yak/getClosestOffsetScroll.mjs +15 -0
  40. package/lib-yak/getClosestOffsetScroll.mjs.map +1 -0
  41. package/lib-yak/hooks/useEventListener.mjs +27 -0
  42. package/lib-yak/hooks/useEventListener.mjs.map +1 -0
  43. package/lib-yak/index.mjs +21 -0
  44. package/lib-yak/index.mjs.map +1 -0
  45. package/lib-yak/insertKeyframes.mjs +68 -0
  46. package/lib-yak/insertKeyframes.mjs.map +1 -0
  47. package/lib-yak/lodashUtils.mjs +131 -0
  48. package/lib-yak/lodashUtils.mjs.map +1 -0
  49. package/lib-yak/promiseUtils.mjs +92 -0
  50. package/lib-yak/promiseUtils.mjs.map +1 -0
  51. package/lib-yak/reactUtils.mjs +12 -0
  52. package/lib-yak/reactUtils.mjs.map +1 -0
  53. package/lib-yak/reduceUtils.mjs +14 -0
  54. package/lib-yak/reduceUtils.mjs.map +1 -0
  55. package/lib-yak/smoothScroll.mjs +59 -0
  56. package/lib-yak/smoothScroll.mjs.map +1 -0
  57. package/lib-yak/styled.mjs +23 -0
  58. package/lib-yak/styled.mjs.map +1 -0
  59. package/lib-yak/styledShared.mjs +129 -0
  60. package/lib-yak/styledShared.mjs.map +1 -0
  61. package/lib-yak/timeUtils.mjs +81 -0
  62. package/lib-yak/timeUtils.mjs.map +1 -0
  63. package/lib-yak/timerUtils.mjs +10 -0
  64. package/lib-yak/timerUtils.mjs.map +1 -0
  65. package/lib-yak/utils.mjs +386 -0
  66. package/lib-yak/utils.mjs.map +1 -0
  67. package/lib-yak/wrapLazy.mjs +132 -0
  68. package/lib-yak/wrapLazy.mjs.map +1 -0
  69. package/lib-yak/yakDomTag.mjs +44 -0
  70. package/lib-yak/yakDomTag.mjs.map +1 -0
  71. package/package.json +14 -3
  72. package/src/animationKeyframes.js +10 -0
  73. package/src/animationKeyframes.test.mjs +75 -0
  74. package/src/animationKeyframes.yak.js +30 -0
  75. package/src/fixMediaQuery.js +40 -19
  76. package/src/fixMediaText.js +18 -0
  77. package/src/fixMediaText.test.mjs +60 -0
  78. package/src/formatDate.js +1 -1
  79. package/src/index.js +1 -0
  80. package/src/insertKeyframes.js +73 -0
  81. package/src/insertKeyframes.test.mjs +144 -0
  82. package/src/styled.js +5 -97
  83. package/src/styled.yak.js +30 -0
  84. package/src/styledShared.js +96 -0
  85. package/src/timerUtils.jsx +0 -2
  86. package/src/yakDomTag.jsx +42 -0
  87. package/src/yakDomTag.test.mjs +49 -0
@@ -0,0 +1,11 @@
1
+ import createEmotion from 'create-emotion';
2
+
3
+ // Saída sc (lib/): o keyframes do emotion, como sempre foi. A saída yak (lib-yak/) usa
4
+ // animationKeyframes.yak.js no lugar deste arquivo (ver tools/rollup.base.mjs).
5
+ const emotion = createEmotion({
6
+ nonce: typeof document !== 'undefined' && (document.querySelector('meta[property="csp-nonce"]') || {}).content || 'animation_nonce'
7
+ });
8
+ const animationKeyframes = emotion.keyframes;
9
+
10
+ export { animationKeyframes };
11
+ //# sourceMappingURL=animationKeyframes.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"animationKeyframes.mjs","sources":["../src/animationKeyframes.js"],"sourcesContent":["import createEmotion from 'create-emotion'\n\n// Saída sc (lib/): o keyframes do emotion, como sempre foi. A saída yak (lib-yak/) usa\n// animationKeyframes.yak.js no lugar deste arquivo (ver tools/rollup.base.mjs).\nconst emotion = createEmotion({\n nonce: (typeof document !== 'undefined' &&\n (document.querySelector('meta[property=\"csp-nonce\"]') || {}).content) || 'animation_nonce'\n})\n\nexport const animationKeyframes = emotion.keyframes\n"],"names":["emotion","createEmotion","nonce","document","querySelector","content","animationKeyframes","keyframes"],"mappings":";;AAEA;AACA;AACA,MAAMA,OAAO,GAAGC,aAAa,CAAC;AAC5BC,EAAAA,KAAK,EAAG,OAAOC,QAAQ,KAAK,WAAW,IACrC,CAACA,QAAQ,CAACC,aAAa,CAAC,4BAA4B,CAAC,IAAI,EAAE,EAAEC,OAAO,IAAK,iBAAA;AAC7E,CAAC,CAAC,CAAA;AAEWC,MAAAA,kBAAkB,GAAGN,OAAO,CAACO;;;;"}
@@ -1,4 +1,8 @@
1
+ import { fixMediaText } from './fixMediaText.mjs';
2
+
1
3
  let fixed = false;
4
+ // Each rule may only get the scrollbar width added once, even if its sheet is seen again.
5
+ const patched = new WeakSet();
2
6
  const scrollWidth = function () {
3
7
  if (!window.document) return 0;
4
8
  const html = document.documentElement;
@@ -11,25 +15,47 @@ const scrollWidth = function () {
11
15
  const fixMediaQueryFn = function () {
12
16
  const fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size'));
13
17
  if (scrollWidth > 0) {
14
- [].slice.call(document.styleSheets).filter(styleSheet => isValidExternal(styleSheet) || isInline(styleSheet)).forEach(stylesheet => {
15
- try {
16
- [].slice.call(stylesheet.cssRules || stylesheet.media).filter(rule => rule.constructor === window.CSSMediaRule).forEach(rule => {
17
- rule.media.mediaText = rule.media.mediaText.replace(/m(in|ax)-width:\s*(\d|\.)+(px|em)/gi, function (strA) {
18
- if (strA.match('px')) {
19
- return strA.replace(/\d+px/gi, function (strB) {
20
- return parseInt(strB, 10) + scrollWidth + 'px';
21
- });
22
- } else {
23
- return strA.replace(/\d.+?em/gi, function (strB) {
24
- return (parseFloat(strB) * fontSize + scrollWidth) / fontSize + 'em';
25
- });
26
- }
27
- });
28
- });
29
- } catch (e) {}
30
- });
18
+ [].slice.call(document.styleSheets).forEach(fixStylesheet);
19
+ watchLateStylesheets();
31
20
  }
32
21
  fixed = true;
22
+ function fixStylesheet(stylesheet) {
23
+ if (!stylesheet || patched.has(stylesheet) || !(isValidExternal(stylesheet) || isInline(stylesheet))) {
24
+ return;
25
+ }
26
+ try {
27
+ [].slice.call(stylesheet.cssRules).filter(rule => rule.constructor === window.CSSMediaRule).forEach(rule => {
28
+ rule.media.mediaText = fixMediaText(rule.media.mediaText, scrollWidth, fontSize);
29
+ });
30
+ patched.add(stylesheet);
31
+ } catch (e) {}
32
+ }
33
+
34
+ // Lazy routes add <link>s, and Vite dev and HMR add or rewrite <style>s, after the first pass.
35
+ function watchLateStylesheets() {
36
+ new MutationObserver(mutations => mutations.forEach(_ref => {
37
+ let target = _ref.target,
38
+ addedNodes = _ref.addedNodes;
39
+ const owner = target.nodeType === Node.TEXT_NODE ? target.parentNode : target;
40
+ if (owner && owner.nodeName === 'STYLE') {
41
+ fixStylesheet(owner.sheet);
42
+ }
43
+ [].slice.call(addedNodes).forEach(node => {
44
+ if (node.nodeName === 'STYLE') {
45
+ fixStylesheet(node.sheet);
46
+ }
47
+ if (node.nodeName === 'LINK' && node.rel === 'stylesheet') {
48
+ // Not parsed yet when added; `load` also fires again if its href changes.
49
+ node.addEventListener('load', () => fixStylesheet(node.sheet));
50
+ fixStylesheet(node.sheet);
51
+ }
52
+ });
53
+ })).observe(document.head, {
54
+ childList: true,
55
+ subtree: true,
56
+ characterData: true
57
+ });
58
+ }
33
59
  function sameOrigin(url) {
34
60
  const loc = window.location,
35
61
  a = document.createElement('a');
@@ -1 +1 @@
1
- {"version":3,"file":"fixMediaQuery.mjs","sources":["../src/fixMediaQuery.js"],"sourcesContent":["let fixed = false\nexport const scrollWidth = (function() {\n if (!window.document) return 0\n const html = document.documentElement\n const oldOverflow = html.style.overflowY\n html.style.overflowY = 'scroll'\n const width = window.innerWidth - html.clientWidth\n html.style.overflowY = oldOverflow\n return width\n})()\n\nconst fixMediaQueryFn = function() {\n\n const fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size'))\n\n if (scrollWidth > 0) {\n\n [].slice.call(document.styleSheets).filter(styleSheet => isValidExternal(styleSheet) || isInline(styleSheet)).forEach(stylesheet => {\n try {\n [].slice.call(stylesheet.cssRules || stylesheet.media).filter(rule => rule.constructor === window.CSSMediaRule).forEach(rule => {\n rule.media.mediaText = rule.media.mediaText.replace(/m(in|ax)-width:\\s*(\\d|\\.)+(px|em)/gi, function(strA) {\n if (strA.match('px')) {\n return strA.replace(/\\d+px/gi, function(strB) {\n return parseInt(strB, 10) + scrollWidth + 'px'\n })\n }\n else {\n return strA.replace(/\\d.+?em/gi, function(strB) {\n return ((parseFloat(strB) * fontSize) + scrollWidth) / fontSize + 'em'\n })\n }\n })\n })\n } catch (e) {}\n })\n }\n\n fixed = true\n\n function sameOrigin(url) {\n const loc = window.location,\n a = document.createElement('a')\n a.href = url\n return (a.hostname === loc.hostname && a.protocol === loc.protocol)\n }\n\n function isInline(stylesheet) {\n try {\n return stylesheet.ownerNode.constructor === HTMLStyleElement && stylesheet.ownerNode.getAttribute(\"data-styled\") === null\n } catch (e) {\n return stylesheet.ownerNode.constructor === HTMLStyleElement\n }\n }\n\n function isValidExternal(stylesheet) {\n return stylesheet.href && (sameOrigin(stylesheet.href) || stylesheet.ownerNode?.crossOrigin === \"anonymous\")\n }\n\n}\n\n\nexport function fixMediaQuery() {\n if (fixed || !document || !document.readyState)\n return\n if (process.env.NODE_ENV === 'test') { return }\n if (document.readyState !== 'loading') {\n fixMediaQueryFn()\n } else {\n document.addEventListener('DOMContentLoaded', fixMediaQueryFn)\n }\n}"],"names":["fixed","scrollWidth","window","document","html","documentElement","oldOverflow","style","overflowY","width","innerWidth","clientWidth","fixMediaQueryFn","fontSize","parseFloat","getComputedStyle","body","getPropertyValue","slice","call","styleSheets","filter","styleSheet","isValidExternal","isInline","forEach","stylesheet","cssRules","media","rule","constructor","CSSMediaRule","mediaText","replace","strA","match","strB","parseInt","e","sameOrigin","url","loc","location","a","createElement","href","hostname","protocol","ownerNode","HTMLStyleElement","getAttribute","_stylesheet$ownerNode","crossOrigin","fixMediaQuery","readyState","process","env","NODE_ENV","addEventListener"],"mappings":"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"}
1
+ {"version":3,"file":"fixMediaQuery.mjs","sources":["../src/fixMediaQuery.js"],"sourcesContent":["import {fixMediaText} from './fixMediaText'\n\nlet fixed = false\n// Each rule may only get the scrollbar width added once, even if its sheet is seen again.\nconst patched = new WeakSet()\n\nexport const scrollWidth = (function() {\n if (!window.document) return 0\n const html = document.documentElement\n const oldOverflow = html.style.overflowY\n html.style.overflowY = 'scroll'\n const width = window.innerWidth - html.clientWidth\n html.style.overflowY = oldOverflow\n return width\n})()\n\nconst fixMediaQueryFn = function() {\n\n const fontSize = parseFloat(window.getComputedStyle(document.body).getPropertyValue('font-size'))\n\n if (scrollWidth > 0) {\n\n [].slice.call(document.styleSheets).forEach(fixStylesheet)\n watchLateStylesheets()\n }\n\n fixed = true\n\n function fixStylesheet(stylesheet) {\n if (!stylesheet || patched.has(stylesheet) || !(isValidExternal(stylesheet) || isInline(stylesheet))) {\n return\n }\n try {\n [].slice.call(stylesheet.cssRules).filter(rule => rule.constructor === window.CSSMediaRule).forEach(rule => {\n rule.media.mediaText = fixMediaText(rule.media.mediaText, scrollWidth, fontSize)\n })\n patched.add(stylesheet)\n } catch (e) {}\n }\n\n // Lazy routes add <link>s, and Vite dev and HMR add or rewrite <style>s, after the first pass.\n function watchLateStylesheets() {\n new MutationObserver(mutations => mutations.forEach(({target, addedNodes}) => {\n const owner = target.nodeType === Node.TEXT_NODE ? target.parentNode : target\n if (owner && owner.nodeName === 'STYLE') {\n fixStylesheet(owner.sheet)\n }\n [].slice.call(addedNodes).forEach(node => {\n if (node.nodeName === 'STYLE') {\n fixStylesheet(node.sheet)\n }\n if (node.nodeName === 'LINK' && node.rel === 'stylesheet') {\n // Not parsed yet when added; `load` also fires again if its href changes.\n node.addEventListener('load', () => fixStylesheet(node.sheet))\n fixStylesheet(node.sheet)\n }\n })\n })).observe(document.head, {childList: true, subtree: true, characterData: true})\n }\n\n function sameOrigin(url) {\n const loc = window.location,\n a = document.createElement('a')\n a.href = url\n return (a.hostname === loc.hostname && a.protocol === loc.protocol)\n }\n\n function isInline(stylesheet) {\n try {\n return stylesheet.ownerNode.constructor === HTMLStyleElement && stylesheet.ownerNode.getAttribute(\"data-styled\") === null\n } catch (e) {\n return stylesheet.ownerNode.constructor === HTMLStyleElement\n }\n }\n\n function isValidExternal(stylesheet) {\n return stylesheet.href && (sameOrigin(stylesheet.href) || stylesheet.ownerNode?.crossOrigin === \"anonymous\")\n }\n\n}\n\n\nexport function fixMediaQuery() {\n if (fixed || !document || !document.readyState)\n return\n if (process.env.NODE_ENV === 'test') { return }\n if (document.readyState !== 'loading') {\n fixMediaQueryFn()\n } else {\n document.addEventListener('DOMContentLoaded', fixMediaQueryFn)\n }\n}\n"],"names":["fixed","patched","WeakSet","scrollWidth","window","document","html","documentElement","oldOverflow","style","overflowY","width","innerWidth","clientWidth","fixMediaQueryFn","fontSize","parseFloat","getComputedStyle","body","getPropertyValue","slice","call","styleSheets","forEach","fixStylesheet","watchLateStylesheets","stylesheet","has","isValidExternal","isInline","cssRules","filter","rule","constructor","CSSMediaRule","media","mediaText","fixMediaText","add","e","MutationObserver","mutations","_ref","target","addedNodes","owner","nodeType","Node","TEXT_NODE","parentNode","nodeName","sheet","node","rel","addEventListener","observe","head","childList","subtree","characterData","sameOrigin","url","loc","location","a","createElement","href","hostname","protocol","ownerNode","HTMLStyleElement","getAttribute","_stylesheet$ownerNode","crossOrigin","fixMediaQuery","readyState","process","env","NODE_ENV"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ // Soma a largura da scrollbar aos limites de largura de um mediaText.
2
+ // Reconhece a forma antiga (`max-width: 600px`, `min-width: 37.5em`, que o sc emite) e a
3
+ // sintaxe de intervalo (`width <= 600px`, `width < 600px`, `600px <= width`,
4
+ // `400px < width < 600px`), que o Chromium devolve para o CSS estático do yak.
5
+ // Sem lookbehind de propósito: é erro de sintaxe no Safari < 16.4, e o browserslist do pacote
6
+ // ainda promete Safari 11. O caractere antes de `width` é capturado e devolvido igual, só pra
7
+ // não casar o `width` de `device-width`.
8
+ const LEGACY_OR_WIDTH_FIRST = /(m(?:in|ax)-width\s*:\s*|(?:^|[^-\w])width\s*[<>]=?\s*)([\d.]+)(px|em)/gi;
9
+ const VALUE_FIRST = /([\d.]+)(px|em)(\s*[<>]=?\s*width)(?![-\w])/gi;
10
+ function fixMediaText(mediaText, scrollWidth, fontSize) {
11
+ const grow = (value, unit) => unit.toLowerCase() === 'px' ? parseFloat(value) + scrollWidth + unit : (parseFloat(value) * fontSize + scrollWidth) / fontSize + unit;
12
+ return mediaText.replace(LEGACY_OR_WIDTH_FIRST, (match, prefix, value, unit) => prefix + grow(value, unit)).replace(VALUE_FIRST, (match, value, unit, suffix) => grow(value, unit) + suffix);
13
+ }
14
+
15
+ export { fixMediaText };
16
+ //# sourceMappingURL=fixMediaText.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixMediaText.mjs","sources":["../src/fixMediaText.js"],"sourcesContent":["// Soma a largura da scrollbar aos limites de largura de um mediaText.\n// Reconhece a forma antiga (`max-width: 600px`, `min-width: 37.5em`, que o sc emite) e a\n// sintaxe de intervalo (`width <= 600px`, `width < 600px`, `600px <= width`,\n// `400px < width < 600px`), que o Chromium devolve para o CSS estático do yak.\n// Sem lookbehind de propósito: é erro de sintaxe no Safari < 16.4, e o browserslist do pacote\n// ainda promete Safari 11. O caractere antes de `width` é capturado e devolvido igual, só pra\n// não casar o `width` de `device-width`.\nconst LEGACY_OR_WIDTH_FIRST = /(m(?:in|ax)-width\\s*:\\s*|(?:^|[^-\\w])width\\s*[<>]=?\\s*)([\\d.]+)(px|em)/gi\nconst VALUE_FIRST = /([\\d.]+)(px|em)(\\s*[<>]=?\\s*width)(?![-\\w])/gi\n\nexport function fixMediaText(mediaText, scrollWidth, fontSize) {\n const grow = (value, unit) => unit.toLowerCase() === 'px'\n ? parseFloat(value) + scrollWidth + unit\n : ((parseFloat(value) * fontSize) + scrollWidth) / fontSize + unit\n return mediaText\n .replace(LEGACY_OR_WIDTH_FIRST, (match, prefix, value, unit) => prefix + grow(value, unit))\n .replace(VALUE_FIRST, (match, value, unit, suffix) => grow(value, unit) + suffix)\n}\n"],"names":["LEGACY_OR_WIDTH_FIRST","VALUE_FIRST","fixMediaText","mediaText","scrollWidth","fontSize","grow","value","unit","toLowerCase","parseFloat","replace","match","prefix","suffix"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,qBAAqB,GAAG,0EAA0E,CAAA;AACxG,MAAMC,WAAW,GAAG,+CAA+C,CAAA;AAE5D,SAASC,YAAYA,CAACC,SAAS,EAAEC,WAAW,EAAEC,QAAQ,EAAE;AAC7D,EAAA,MAAMC,IAAI,GAAGA,CAACC,KAAK,EAAEC,IAAI,KAAKA,IAAI,CAACC,WAAW,EAAE,KAAK,IAAI,GACrDC,UAAU,CAACH,KAAK,CAAC,GAAGH,WAAW,GAAGI,IAAI,GACtC,CAAEE,UAAU,CAACH,KAAK,CAAC,GAAGF,QAAQ,GAAID,WAAW,IAAIC,QAAQ,GAAGG,IAAI,CAAA;EACpE,OAAOL,SAAS,CACbQ,OAAO,CAACX,qBAAqB,EAAE,CAACY,KAAK,EAAEC,MAAM,EAAEN,KAAK,EAAEC,IAAI,KAAKK,MAAM,GAAGP,IAAI,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAC,CAC1FG,OAAO,CAACV,WAAW,EAAE,CAACW,KAAK,EAAEL,KAAK,EAAEC,IAAI,EAAEM,MAAM,KAAKR,IAAI,CAACC,KAAK,EAAEC,IAAI,CAAC,GAAGM,MAAM,CAAC,CAAA;AACrF;;;;"}
@@ -71,7 +71,7 @@ function formatDateToPattern(format) {
71
71
  return format.replace(escapedValidParts, (_, _1, _2) => _1 + (_2 === 'yy' ? '##' : _2 === 'yyyy' ? '####' : '0#'));
72
72
  }
73
73
  function formatDate(date, format, messages, noUTC) {
74
- if (!date) return '';
74
+ if (!date && date !== 0) return '';
75
75
  const separators = format.replace(escapedValidParts, '\0').split('\0');
76
76
  const parts = format.match(escapedValidParts);
77
77
  const formattedDate = parts.reduce((acc, part) => acc.concat(separators.length ? [separators.shift()] : [], part.replace(validParts, ''), val[part.match(validParts)[0]][0](date, messages, noUTC)), []);
@@ -1 +1 @@
1
- {"version":3,"file":"formatDate.mjs","sources":["../src/formatDate.js"],"sourcesContent":["\nconst escapedValidParts = /(^|[^\\\\])(dd?|DD?|mm?|LL?|hh?|MM?|ss|SSS|yy(?:yy)?)/g\nconst validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy|ss|SSS)$/\nexport const addZero = (v) => (v < 10 ? '0' : '') + v\n\nconst getSet = (index, ttype, plus = 0, format = (v) => v, parse = (v, defaultDate) => (v === '0' ? '' : v)) => ([\n (date,_,noUTC) => format((typeof date === 'number' ? new Date(date) : date)['get'+(noUTC?'':'UTC') + ttype]() + plus),\n (unformatedStr, date, _, failOnFormat, noUTC) => {\n const str = parse(unformatedStr, date, failOnFormat)\n if (str === '' || isNaN(date.getTime()))\n return date\n if (str=== '\\0')\n return date.setTime(NaN)\n const utcSTR = noUTC ? '' : 'UTC'\n const v = parseInt(str, 10) - plus\n const prevDay = date['get'+utcSTR+'Date']()\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](1)\n }\n date['set'+ utcSTR + ttype](v)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set' + utcSTR + ttype](NaN)\n return date\n }\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](prevDay)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set'+utcSTR+'Date'](0)\n return date\n }\n }\n return date\n },\n index\n])\n\nconst getText = (type, total, slice = 99) => [\n (date, messages,noUTC) => messages(type.toLowerCase(),date['get'+(noUTC? '': 'UTC') + type]()).slice(0, slice)\n]\n\nconst yearParse = (y, date, failOnFormat) => {\n const formattedY = y.length === 2 && y !== '20' ? '20' + y : y.length === 4 ? y : ''\n if (formattedY === '') {\n if (failOnFormat) {\n const found = date.getUTCFullYear().toString().indexOf(y)\n return found === 0 || found === 2 ? date.getUTCFullYear() : '\\0'\n } else {\n return date.getUTCFullYear()\n }\n } else {\n return formattedY\n }\n}\n\nconst val = {\n yyyy: getSet(0,'FullYear', 0, (v) => v, yearParse),\n yy: getSet(0,'FullYear', 0, (v) => (v+\"\").slice(2,4), yearParse),\n M: getSet(1,'Month', 1),\n MM: getSet(1,'Month', 1, addZero),\n L: getText('Month',12,3),\n LL: getText('Month',12),\n d: getSet(2,'Date'),\n dd: getSet(2,'Date', 0, addZero),\n D: getText('Day', 7, 3),\n DD: getText('Day', 7),\n m: getSet(4,'Minutes'),\n mm: getSet(4,'Minutes', 0, addZero),\n h: getSet(5,'Hours'),\n hh: getSet(5,'Hours', 0, addZero),\n ss: getSet(6,'Seconds', 0, addZero),\n SSS: getSet(7,'Milliseconds', 0, addZero),\n\n}\n\nexport function formatDateToPattern(format) {\n return format.replace(escapedValidParts, (_, _1, _2) => _1 + (_2 === 'yy' ? '##' : _2 === 'yyyy' ? '####' : '0#'))\n}\n\nexport function formatDate(date, format, messages,noUTC) {\n if (!date)\n return ''\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const formattedDate = parts.reduce((acc, part) =>\n acc.concat(\n separators.length ? [separators.shift()] : [],\n part.replace(validParts, ''),\n val[part.match(validParts)[0]][0](date, messages,noUTC)\n ),\n []\n )\n return formattedDate.join('').replace(/\\\\([dDmLhMy])/g, '$1')\n}\n\nconst now = () => new Date()\n\nexport function parseDate(str, possibleDate, format, messages, failOnFormat, noUTC) {\n if (!str)\n return possibleDate\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const mutations = []\n parts.reduce((rest, part, i) => {\n const separator = (separators.length ? separators.shift() : '') + part.replace(validParts, '')\n const current = rest.slice(separator.length)\n if (current && separator === rest.slice(0, separator.length)) {\n const setType = part.match(validParts)[0]\n const nextSeparator = separators[0]\n const nextStrIndex = current.indexOf(nextSeparator + (parts[i + 1] || '').replace(validParts, ''))\n mutations[val[setType][2]] = [val[setType][1],nextStrIndex ? current.slice(0,nextStrIndex) : current]\n return current.slice(nextStrIndex)\n } else {\n return ''\n }\n },\n str\n )\n const date = possibleDate && possibleDate.getTime()!==-1 ? new Date(possibleDate) : now()\n mutations.forEach(([setter,text])=> setter(text,date,messages,failOnFormat,noUTC))\n return date\n}"],"names":["escapedValidParts","validParts","addZero","v","getSet","index","ttype","plus","arguments","length","undefined","format","parse","defaultDate","date","_","noUTC","Date","unformatedStr","failOnFormat","str","isNaN","getTime","setTime","NaN","utcSTR","parseInt","prevDay","getText","type","total","slice","messages","toLowerCase","yearParse","y","formattedY","found","getUTCFullYear","toString","indexOf","val","yyyy","yy","M","MM","L","LL","d","dd","D","DD","m","mm","h","hh","ss","SSS","formatDateToPattern","replace","_1","_2","formatDate","separators","split","parts","match","formattedDate","reduce","acc","part","concat","shift","join","now","parseDate","possibleDate","mutations","rest","i","separator","current","setType","nextSeparator","nextStrIndex","forEach","_ref","_ref2","_slicedToArray","setter","text"],"mappings":"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"}
1
+ {"version":3,"file":"formatDate.mjs","sources":["../src/formatDate.js"],"sourcesContent":["\nconst escapedValidParts = /(^|[^\\\\])(dd?|DD?|mm?|LL?|hh?|MM?|ss|SSS|yy(?:yy)?)/g\nconst validParts = /(dd?|DD?|mm?|LL?|hh?|MM?|yy(?:yy)|yy|ss|SSS)$/\nexport const addZero = (v) => (v < 10 ? '0' : '') + v\n\nconst getSet = (index, ttype, plus = 0, format = (v) => v, parse = (v, defaultDate) => (v === '0' ? '' : v)) => ([\n (date,_,noUTC) => format((typeof date === 'number' ? new Date(date) : date)['get'+(noUTC?'':'UTC') + ttype]() + plus),\n (unformatedStr, date, _, failOnFormat, noUTC) => {\n const str = parse(unformatedStr, date, failOnFormat)\n if (str === '' || isNaN(date.getTime()))\n return date\n if (str=== '\\0')\n return date.setTime(NaN)\n const utcSTR = noUTC ? '' : 'UTC'\n const v = parseInt(str, 10) - plus\n const prevDay = date['get'+utcSTR+'Date']()\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](1)\n }\n date['set'+ utcSTR + ttype](v)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set' + utcSTR + ttype](NaN)\n return date\n }\n if (ttype !== 'Date') {\n date['set'+utcSTR+'Date'](prevDay)\n if (date['get' + utcSTR + ttype]() !== v) {\n date['set'+utcSTR+'Date'](0)\n return date\n }\n }\n return date\n },\n index\n])\n\nconst getText = (type, total, slice = 99) => [\n (date, messages,noUTC) => messages(type.toLowerCase(),date['get'+(noUTC? '': 'UTC') + type]()).slice(0, slice)\n]\n\nconst yearParse = (y, date, failOnFormat) => {\n const formattedY = y.length === 2 && y !== '20' ? '20' + y : y.length === 4 ? y : ''\n if (formattedY === '') {\n if (failOnFormat) {\n const found = date.getUTCFullYear().toString().indexOf(y)\n return found === 0 || found === 2 ? date.getUTCFullYear() : '\\0'\n } else {\n return date.getUTCFullYear()\n }\n } else {\n return formattedY\n }\n}\n\nconst val = {\n yyyy: getSet(0,'FullYear', 0, (v) => v, yearParse),\n yy: getSet(0,'FullYear', 0, (v) => (v+\"\").slice(2,4), yearParse),\n M: getSet(1,'Month', 1),\n MM: getSet(1,'Month', 1, addZero),\n L: getText('Month',12,3),\n LL: getText('Month',12),\n d: getSet(2,'Date'),\n dd: getSet(2,'Date', 0, addZero),\n D: getText('Day', 7, 3),\n DD: getText('Day', 7),\n m: getSet(4,'Minutes'),\n mm: getSet(4,'Minutes', 0, addZero),\n h: getSet(5,'Hours'),\n hh: getSet(5,'Hours', 0, addZero),\n ss: getSet(6,'Seconds', 0, addZero),\n SSS: getSet(7,'Milliseconds', 0, addZero),\n\n}\n\nexport function formatDateToPattern(format) {\n return format.replace(escapedValidParts, (_, _1, _2) => _1 + (_2 === 'yy' ? '##' : _2 === 'yyyy' ? '####' : '0#'))\n}\n\nexport function formatDate(date, format, messages,noUTC) {\n if (!date && date !== 0)\n return ''\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const formattedDate = parts.reduce((acc, part) =>\n acc.concat(\n separators.length ? [separators.shift()] : [],\n part.replace(validParts, ''),\n val[part.match(validParts)[0]][0](date, messages,noUTC)\n ),\n []\n )\n return formattedDate.join('').replace(/\\\\([dDmLhMy])/g, '$1')\n}\n\nconst now = () => new Date()\n\nexport function parseDate(str, possibleDate, format, messages, failOnFormat, noUTC) {\n if (!str)\n return possibleDate\n const separators = format.replace(escapedValidParts, '\\0').split('\\0')\n const parts = format.match(escapedValidParts)\n const mutations = []\n parts.reduce((rest, part, i) => {\n const separator = (separators.length ? separators.shift() : '') + part.replace(validParts, '')\n const current = rest.slice(separator.length)\n if (current && separator === rest.slice(0, separator.length)) {\n const setType = part.match(validParts)[0]\n const nextSeparator = separators[0]\n const nextStrIndex = current.indexOf(nextSeparator + (parts[i + 1] || '').replace(validParts, ''))\n mutations[val[setType][2]] = [val[setType][1],nextStrIndex ? current.slice(0,nextStrIndex) : current]\n return current.slice(nextStrIndex)\n } else {\n return ''\n }\n },\n str\n )\n const date = possibleDate && possibleDate.getTime()!==-1 ? new Date(possibleDate) : now()\n mutations.forEach(([setter,text])=> setter(text,date,messages,failOnFormat,noUTC))\n return date\n}"],"names":["escapedValidParts","validParts","addZero","v","getSet","index","ttype","plus","arguments","length","undefined","format","parse","defaultDate","date","_","noUTC","Date","unformatedStr","failOnFormat","str","isNaN","getTime","setTime","NaN","utcSTR","parseInt","prevDay","getText","type","total","slice","messages","toLowerCase","yearParse","y","formattedY","found","getUTCFullYear","toString","indexOf","val","yyyy","yy","M","MM","L","LL","d","dd","D","DD","m","mm","h","hh","ss","SSS","formatDateToPattern","replace","_1","_2","formatDate","separators","split","parts","match","formattedDate","reduce","acc","part","concat","shift","join","now","parseDate","possibleDate","mutations","rest","i","separator","current","setType","nextSeparator","nextStrIndex","forEach","_ref","_ref2","_slicedToArray","setter","text"],"mappings":"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"}