kyouka 1.3.3 → 1.3.4

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 (118) hide show
  1. package/build/kyouka.umd.js +1 -0
  2. package/dist/CSVToArray.js +5 -11
  3. package/dist/CSVToJSON.js +6 -9
  4. package/dist/JSONToCSV.js +5 -38
  5. package/dist/addDaysToDate.js +2 -4
  6. package/dist/addHoursToDate.js +2 -4
  7. package/dist/addMinutesToDate.js +2 -4
  8. package/dist/addSecondsToDate.js +2 -4
  9. package/dist/addWeeksToDate.js +2 -4
  10. package/dist/animateNumber.js +7 -9
  11. package/dist/arrayToCSV.js +6 -13
  12. package/dist/attempt.js +3 -34
  13. package/dist/average.js +2 -10
  14. package/dist/chunk.js +2 -8
  15. package/dist/chunkMultiSize.js +5 -7
  16. package/dist/clamp.js +2 -6
  17. package/dist/compact.js +2 -4
  18. package/dist/compose.js +2 -43
  19. package/dist/copyToClipboard.js +4 -6
  20. package/dist/countOccurrences.js +2 -6
  21. package/dist/curry.js +2 -36
  22. package/dist/dataURItoFile.js +7 -10
  23. package/dist/dateRange.js +7 -48
  24. package/dist/debounce.js +5 -13
  25. package/dist/deepClone.js +5 -9
  26. package/dist/deg2rad.js +2 -4
  27. package/dist/degreesAngle.js +3 -10
  28. package/dist/detectDeviceType.js +2 -4
  29. package/dist/disableTouchMove.js +4 -9
  30. package/dist/distance.js +2 -6
  31. package/dist/enableTouchMove.js +4 -9
  32. package/dist/equals.js +4 -6
  33. package/dist/factorial.js +3 -5
  34. package/dist/formatDuration.js +3 -5
  35. package/dist/frequencies.js +5 -9
  36. package/dist/fromTimestamp.js +2 -4
  37. package/dist/getCenterPointPos.js +6 -8
  38. package/dist/getMousePos.js +5 -7
  39. package/dist/getNormalizedMousePos.js +2 -4
  40. package/dist/getScrollPosition.js +7 -19
  41. package/dist/getTimeDeltaAsSeconds.js +6 -8
  42. package/dist/getTimeFromDate.js +2 -6
  43. package/dist/getTimestamp.js +3 -7
  44. package/dist/getURLParameters.js +2 -6
  45. package/dist/groupBy.js +7 -11
  46. package/dist/head.js +2 -4
  47. package/dist/includesAll.js +2 -6
  48. package/dist/includesAny.js +2 -6
  49. package/dist/initialize2DArray.js +2 -7
  50. package/dist/initializeArrayWithValues.js +2 -7
  51. package/dist/intersection.js +4 -31
  52. package/dist/iosInputScrollFix.js +6 -11
  53. package/dist/isBottomVisible.js +2 -7
  54. package/dist/isElBottomVisible.js +2 -7
  55. package/dist/isEmpty.js +2 -4
  56. package/dist/isEven.js +2 -4
  57. package/dist/isIdcard.js +2 -6
  58. package/dist/isOdd.js +2 -4
  59. package/dist/isPhoneNumber.js +2 -6
  60. package/dist/isUrl.js +2 -4
  61. package/dist/kyouka.d.ts +2 -2
  62. package/dist/kyouka.js +223 -228
  63. package/dist/last.js +2 -6
  64. package/dist/lerp.js +2 -4
  65. package/dist/loadImageAsBase64URL.js +5 -7
  66. package/dist/loadVideoAsBlob.js +7 -10
  67. package/dist/mapKeys.js +5 -9
  68. package/dist/mapObject.js +5 -9
  69. package/dist/mapValues.js +5 -9
  70. package/dist/mask.js +2 -8
  71. package/dist/maxBy.js +3 -30
  72. package/dist/maxN.js +2 -32
  73. package/dist/memorize.js +4 -6
  74. package/dist/minBy.js +3 -30
  75. package/dist/minN.js +2 -32
  76. package/dist/objectMap.js +2 -25
  77. package/dist/objectToQueryString.js +5 -24
  78. package/dist/omit.js +4 -8
  79. package/dist/orderBy.js +10 -41
  80. package/dist/padNumber.js +2 -4
  81. package/dist/partial.js +2 -41
  82. package/dist/pick.js +2 -6
  83. package/dist/pluck.js +2 -4
  84. package/dist/preventDefault.js +2 -4
  85. package/dist/previewImage.js +7 -12
  86. package/dist/promisify.js +2 -41
  87. package/dist/px2vh.js +2 -4
  88. package/dist/px2vw.js +2 -4
  89. package/dist/rad2deg.js +2 -4
  90. package/dist/radiansAngle.js +2 -6
  91. package/dist/randomHexColorCode.js +3 -5
  92. package/dist/randomIntArrayInRange.js +2 -7
  93. package/dist/randomIntegerInRange.js +2 -6
  94. package/dist/randomNumberInRange.js +2 -6
  95. package/dist/range.js +7 -48
  96. package/dist/reload.js +2 -4
  97. package/dist/repeatArray.js +2 -29
  98. package/dist/requestInterval.js +7 -9
  99. package/dist/reverseString.js +2 -29
  100. package/dist/sample.js +2 -4
  101. package/dist/sampleSize.d.ts +1 -1
  102. package/dist/sampleSize.js +5 -26
  103. package/dist/shuffle.d.ts +1 -1
  104. package/dist/shuffle.js +5 -25
  105. package/dist/sleep.js +2 -6
  106. package/dist/sum.js +2 -35
  107. package/dist/sumPower.js +5 -11
  108. package/dist/throttle.js +5 -6
  109. package/dist/timeTaken.js +3 -5
  110. package/dist/union.js +2 -29
  111. package/dist/uniq.js +2 -29
  112. package/dist/unzip.js +4 -33
  113. package/dist/vh2px.js +3 -5
  114. package/dist/vw2px.js +3 -5
  115. package/dist/yesNo.js +2 -7
  116. package/dist/zip.js +5 -36
  117. package/package.json +9 -3
  118. package/rollup.config.js +22 -0
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).kyouka=t()}(this,(function(){"use strict";const e=(t,n=t.length,...r)=>n<=r.length?t(...r):e.bind(null,t,n,...r),t=e=>{if(null===e)return null;let n=Object.assign({},e);return Object.keys(n).forEach((r=>n[r]="object"==typeof e[r]?t(e[r]):e[r])),Array.isArray(e)&&e.length?(n.length=e.length)&&Array.from(n):Array.isArray(e)?Array.from(e):n},n=e=>180*e/Math.PI,r=()=>/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?"Mobile":"Desktop",o=e=>{e.preventDefault()},i=(e,t)=>{if(e===t)return!0;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(!e||!t||"object"!=typeof e&&"object"!=typeof t)return e===t;if(e.prototype!==t.prototype)return!1;let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every((n=>i(e[n],t[n])))},a=e=>e<0?(()=>{throw new TypeError("Negative numbers are not allowed!")})():e<=1?1:e*a(e-1),l=e=>e/window.innerWidth*100,s=(e=null,t="px")=>{const n={x:void 0!==(e=e||window).pageXOffset?e.pageXOffset:e.scrollLeft,y:void 0!==e.pageYOffset?e.pageYOffset:e.scrollTop};return"vw"===t&&(n.x=l(n.x),n.y=l(n.y)),n},c=(e,t)=>{const n=new FileReader;n.readAsDataURL(e),n.addEventListener("load",(()=>{const e=n.result;t(e)}))},d={getCenterPointPos:e=>{const t=e.getBoundingClientRect();return{x:t.left+t.width/2,y:t.top+t.height/2}},getMousePos:e=>({x:e.clientX,y:e.clientY}),getTimeFromDate:e=>e.toTimeString().slice(0,8).split(":").join(""),randomIntArrayInRange:(e,t,n=1)=>Array.from({length:n},(()=>Math.floor(Math.random()*(t-e+1))+e)),randomNumberInRange:(e,t)=>Math.random()*(t-e)+e,randomIntegerInRange:(e,t)=>Math.floor(Math.random()*(t-e+1))+e,requestInterval:(e,t)=>{let n=(new Date).getTime(),r={value:0},o=()=>{r.value=requestAnimationFrame(o),(new Date).getTime()-n>=t&&(e(),n=(new Date).getTime())};return r.value=requestAnimationFrame(o),r},sample:e=>e[Math.floor(Math.random()*e.length)],shuffle:([...e])=>{let t=e.length;for(;t;){const n=Math.floor(Math.random()*t--);[e[t],e[n]]=[e[n],e[t]]}return e},sleep:e=>new Promise((t=>setTimeout(t,e))),vw2px:e=>e*Math.min(window.innerWidth,document.documentElement.clientWidth)/100,sum:(...e)=>[...e].reduce(((e,t)=>e+t),0),formatDuration:e=>{e<0&&(e=-e);return{day:Math.floor(e/864e5),hour:Math.floor(e/36e5)%24,minute:Math.floor(e/6e4)%60,second:Math.floor(e/1e3)%60,millisecond:Math.floor(e)%1e3}},getTimeDeltaAsSeconds:(e,t)=>{const n=e instanceof Date?e.getTime():e,r=(t instanceof Date?t.getTime():t)-n;return Math.floor(r)},isPhoneNumber:e=>/^(?:(?:\+|00)86)?1[3-9]\d{9}$/.test(e),isBottomVisible:(e=0)=>window.innerHeight+window.scrollY>=document.body.offsetHeight-e,getURLParameters:e=>(e.match(/([^?=&]+)(=([^&]*))/g)||[]).reduce(((e,t)=>(e[t.slice(0,t.indexOf("="))]=t.slice(t.indexOf("=")+1),e)),{}),average:(...e)=>e.reduce(((e,t)=>e+t),0)/e.length,previewImage:(e,t,n)=>{e.addEventListener("change",(e=>{const r=e.target.files,o=r?r[0]:null;c(o,(e=>{e&&(t.src=e,n(e))}))}))},getScrollPosition:s,getScrollPositionAsVw:(e=null)=>s(e,"vw"),px2vw:l,initialize2DArray:(e,t,n=null)=>Array.from({length:t}).map((()=>Array.from({length:e}).fill(n))),deepClone:t,initializeArrayWithValues:(e,t=0)=>Array(e).fill(t),CSVToArray:(e,t=",",n=!1)=>e.slice(n?e.indexOf("\n")+1:0).split("\n").map((e=>e.split(t))),arrayToCSV:(e,t=",")=>e.map((e=>e.map((e=>isNaN(e)?`"${e.replace(/"/g,'""')}"`:e)).join(t))).join("\n"),JSONToCSV:(e,t,n=",")=>[t.join(n),...e.map((e=>t.reduce(((t,r)=>`${t}${t.length?n:""}"${e[r]?e[r]:""}"`),"")))].join("\n"),CSVToJSON:(e,t=",")=>{const n=e.slice(0,e.indexOf("\n")).split(t);return e.slice(e.indexOf("\n")+1).split("\n").map((e=>{const r=e.split(t);return n.reduce(((e,t,n)=>(e[t]=r[n],e)),{})}))},uniq:e=>[...new Set(e)],omit:(e,t)=>Object.keys(e).filter((e=>!t.includes(e))).reduce(((t,n)=>(t[n]=e[n],t)),{}),pick:(e,t)=>t.reduce(((t,n)=>(n in e&&(t[n]=e[n]),t)),{}),iosInputScrollFix:()=>{"Mobile"===r()&&document.querySelectorAll("input, select, textarea").forEach((e=>{e.addEventListener("blur",(()=>{window.scrollBy(0,-1)}))}))},mapObject:(e,t)=>e.reduce(((n,r,o)=>(n[r]=t(r,o,e),n)),{}),mapKeys:(e,t)=>Object.keys(e).reduce(((n,r)=>(n[t(e[r],r,e)]=e[r],n)),{}),mapValues:(e,t)=>Object.keys(e).reduce(((n,r)=>(n[r]=t(e[r],r,e),n)),{}),isEmpty:e=>null==e||!(Object.keys(e)||e).length,debounce:(e,t=0)=>{let n;return function(...r){clearTimeout(n),n=setTimeout((()=>e.apply(this,r)),t)}},throttle:(e,t)=>{let n,r,o;return function(){const i=this,a=arguments;n?(clearTimeout(r),r=setTimeout((function(){Date.now()-o>=t&&(e.apply(i,a),o=Date.now())}),Math.max(t-(Date.now()-o),0))):(e.apply(i,a),o=Date.now(),n=!0)}},partial:(e,...t)=>(...n)=>e(...t,...n),compose:(...e)=>e.reduce(((e,t)=>(...n)=>e(t(...n)))),curry:e,memorize:e=>{const t=new Map,n=function(n){return(t.has(n)||t.set(n,e.call(this,n)))&&t.get(n)};return n.cache=t,n},attempt:(e,...t)=>{try{return e(...t)}catch(e){return e instanceof Error?e:new Error(e)}},compact:e=>e.filter(Boolean),promisify:e=>(...t)=>new Promise(((n,r)=>e(...t,((e,t)=>e?r(e):n(t))))),distance:(e,t)=>Math.hypot(t.x-e.x,t.y-e.y),zip:(...e)=>{const t=Math.max(...e.map((e=>e.length)));return Array.from({length:t}).map(((t,n)=>Array.from({length:e.length},((t,r)=>e[r][n]))))},range:function*(e,t,n=1){let r=e;for(;r<t;)yield r,r+=n},unzip:e=>e.reduce(((e,t)=>(t.forEach(((t,n)=>e[n].push(t))),e)),Array.from({length:Math.max(...e.map((e=>e.length)))}).map((e=>[]))),union:(e,t)=>Array.from(new Set([...e,...t])),pluck:(e,t)=>e.map((e=>e[t])),mask:(e,t=4,n="*")=>`${e}`.slice(-t).padStart(`${e}`.length,n),intersection:(e,t)=>{const n=new Set(t);return[...new Set(e)].filter((e=>n.has(e)))},animateNumber:(e,t,n,r)=>{let o=null,i=a=>{o=o||a;let l=a-o,s=Math.min(l/r,1);e(t+s*(n-t)),s<1&&window.requestAnimationFrame(i)};window.requestAnimationFrame(i)},detectDeviceType:r,deg2rad:e=>e*Math.PI/180,factorial:a,equals:i,includesAll:(e,t)=>t.every((t=>e.includes(t))),includesAny:(e,t)=>t.some((t=>e.includes(t))),rad2deg:n,randomHexColorCode:()=>"#"+(1048575*Math.random()*1e6).toString(16).slice(0,6),timeTaken:e=>{console.time("timeTaken");const t=e();return console.timeEnd("timeTaken"),t},sumPower:(e,t=2,n=1)=>Array(e+1-n).fill(0).map(((e,r)=>(r+n)**t)).reduce(((e,t)=>e+t),0),reverseString:e=>[...e].reverse().join(""),vh2px:e=>e*Math.min(window.innerHeight,document.documentElement.clientHeight)/100,px2vh:e=>e/window.innerHeight*100,loadImageAsBase64URL:c,sampleSize:([...e],t=1)=>{let n=e.length;for(;n;){const t=Math.floor(Math.random()*n--);[e[n],e[t]]=[e[t],e[n]]}return e.slice(0,t)},fromTimestamp:e=>new Date(1e3*e),getTimestamp:(e=new Date,t=!1)=>{const n=e.getTime()/1e3;return t?Math.floor(n):n},isOdd:e=>e%2==1,isEven:e=>e%2==0,copyToClipboard:e=>{const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t);const n=document.getSelection().rangeCount>0&&document.getSelection().getRangeAt(0);t.select(),document.execCommand("copy"),document.body.removeChild(t),n&&(document.getSelection().removeAllRanges(),document.getSelection().addRange(n))},yesNo:(e,t=!1)=>!!/^(y|yes)$/i.test(e)||!/^(n|no)$/i.test(e)&&t,loadVideoAsBlob:(e,t,n="mp4")=>{const r=new FileReader;r.readAsArrayBuffer(e),r.addEventListener("load",(()=>{const e=r.result,o=new Blob([new Uint8Array(e)],{type:`video/${n}`});t(o)}))},maxN:(e,t=1)=>[...e].sort(((e,t)=>t-e)).slice(0,t),minN:(e,t=1)=>[...e].sort(((e,t)=>e-t)).slice(0,t),padNumber:(e,t)=>`${e}`.padStart(t,"0"),addHoursToDate:(e,t)=>(e.setTime(e.getTime()+60*t*60*1e3),e),addMinutesToDate:(e,t)=>(e.setTime(e.getTime()+60*t*1e3),e),addSecondsToDate:(e,t)=>(e.setTime(e.getTime()+1e3*t),e),chunk:(e,t)=>Array.from({length:Math.ceil(e.length/t)},((n,r)=>e.slice(r*t,r*t+t))),isUrl:e=>/^http(s)?/.test(e),objectMap:(e,t)=>Object.fromEntries(Object.entries(e).map((([e,n],r)=>[e,t(n,e,r)]))),orderBy:(e,t,n)=>[...e].sort(((e,r)=>t.reduce(((t,o,i)=>{if(0===t){const[a,l]=n&&"desc"===n[i]?[r[o],e[o]]:[e[o],r[o]];t=a>l?1:a<l?-1:0}return t}),0))),head:e=>e&&e.length?e[0]:void 0,last:e=>e&&e.length?e[e.length-1]:void 0,objectToQueryString:e=>e?Object.entries(e).reduce(((e,[t,n])=>{const r=0===e.length?"?":"&";return e+="string"==typeof n?`${r}${t}=${n}`:""}),""):"",clamp:(e,t,n)=>Math.max(Math.min(Number(e),Math.max(t,n)),Math.min(t,n)),isElBottomVisible:(e,t=0)=>e.offsetHeight+e.scrollTop>=e.scrollHeight-t,isIdcard:e=>/(^\d{8}(0\d|10|11|12)([0-2]\d|30|31)\d{3}$)|(^\d{6}(18|19|20)\d{2}(0[1-9]|10|11|12)([0-2]\d|30|31)\d{3}(\d|X|x)$)/.test(e),lerp:(e,t,n)=>e+(t-e)*n,maxBy:(e,t)=>Math.max(...e.map("function"==typeof t?t:e=>e[t])),minBy:(e,t)=>Math.min(...e.map("function"==typeof t?t:e=>e[t])),reload:()=>location.reload(),repeatArray:(e,t)=>[].concat(...Array(t).fill(e)),degreesAngle:(e,t)=>n(Math.atan2(t.y-e.y,t.x-e.x)),radiansAngle:(e,t)=>Math.atan2(t.y-e.y,t.x-e.x),addDaysToDate:(e,t)=>(e.setTime(e.getTime()+60*t*60*1e3*24),e),addWeeksToDate:(e,t)=>(e.setTime(e.getTime()+60*t*60*1e3*24*7),e),groupBy:(e,t)=>e.map("function"==typeof t?t:e=>e[t]).reduce(((t,n,r)=>(t[n]=(t[n]||[]).concat(e[r]),t)),{}),chunkMultiSize:(e,t)=>{const n=[];let r=0,o=0;for(;o<e.length;){const i=t[r];n.push(e.slice(o,o+i)),r=(r+1)%t.length,o+=i}return n},disableTouchMove:()=>{document.body.addEventListener("touchmove",o,{passive:!1})},enableTouchMove:()=>{document.body.removeEventListener("touchmove",o)},getNormalizedMousePos:e=>({x:e.clientX/window.innerWidth*2-1,y:-e.clientY/window.innerHeight*2+1}),dataURItoFile:(e,t="1.jpg")=>{let n=e.split(",")[0].split(":")[1].split(";")[0],r=atob(e.split(",")[1]),o=new ArrayBuffer(r.length),i=new Uint8Array(o);for(let e=0;e<r.length;e++)i[e]=r.charCodeAt(e);return new File([i],t,{type:n})},dateRange:function*(e,t,n=1){let r=e;for(;r<t;)yield new Date(r),r.setDate(r.getDate()+n)},frequencies:e=>e.reduce(((e,t)=>(e[t]=e[t]?e[t]+1:1,e)),{}),countOccurrences:(e,t)=>e.reduce(((e,n)=>n===t?e+1:e),0)};return d}));
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Converts a CSV string to a 2D array.
5
3
  *
@@ -7,12 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
5
  * @param {string} [delimiter=',']
8
6
  * @param {boolean} [omitFirstRow=false]
9
7
  */
10
- var CSVToArray = function (data, delimiter, omitFirstRow) {
11
- if (delimiter === void 0) { delimiter = ","; }
12
- if (omitFirstRow === void 0) { omitFirstRow = false; }
13
- return data
14
- .slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
15
- .split("\n")
16
- .map(function (v) { return v.split(delimiter); });
17
- };
18
- exports.default = CSVToArray;
8
+ const CSVToArray = (data, delimiter = ",", omitFirstRow = false) => data
9
+ .slice(omitFirstRow ? data.indexOf("\n") + 1 : 0)
10
+ .split("\n")
11
+ .map((v) => v.split(delimiter));
12
+ export default CSVToArray;
package/dist/CSVToJSON.js CHANGED
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Converts a CSV string to a 2D array of objects, the first row of the string is used as the title row.
5
3
  *
@@ -7,16 +5,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
5
  * @param {string} [delimiter=',']
8
6
  * @returns
9
7
  */
10
- var CSVToJSON = function (data, delimiter) {
11
- if (delimiter === void 0) { delimiter = ","; }
12
- var titles = data.slice(0, data.indexOf("\n")).split(delimiter);
8
+ const CSVToJSON = (data, delimiter = ",") => {
9
+ const titles = data.slice(0, data.indexOf("\n")).split(delimiter);
13
10
  return data
14
11
  .slice(data.indexOf("\n") + 1)
15
12
  .split("\n")
16
- .map(function (v) {
17
- var values = v.split(delimiter);
13
+ .map((v) => {
14
+ const values = v.split(delimiter);
18
15
  // @ts-ignore
19
- return titles.reduce(function (obj, title, index) { return ((obj[title] = values[index]), obj); }, {});
16
+ return titles.reduce((obj, title, index) => ((obj[title] = values[index]), obj), {});
20
17
  });
21
18
  };
22
- exports.default = CSVToJSON;
19
+ export default CSVToJSON;
package/dist/JSONToCSV.js CHANGED
@@ -1,30 +1,3 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
1
  /**
29
2
  * Converts an array of objects to a CSV string that contains only the `columns` specified.
30
3
  *
@@ -32,14 +5,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
32
5
  * @param {string[]} columns
33
6
  * @param {string} [delimiter=',']
34
7
  */
35
- var JSONtoCSV = function (arr, columns, delimiter) {
36
- if (delimiter === void 0) { delimiter = ","; }
37
- return __spreadArray([
38
- columns.join(delimiter)
39
- ], __read(arr.map(function (obj) {
40
- return columns.reduce(function (acc, key) {
41
- return "".concat(acc).concat(!acc.length ? "" : delimiter, "\"").concat(!obj[key] ? "" : obj[key], "\"");
42
- }, "");
43
- })), false).join("\n");
44
- };
45
- exports.default = JSONtoCSV;
8
+ const JSONtoCSV = (arr, columns, delimiter = ",") => [
9
+ columns.join(delimiter),
10
+ ...arr.map((obj) => columns.reduce((acc, key) => `${acc}${!acc.length ? "" : delimiter}"${!obj[key] ? "" : obj[key]}"`, "")),
11
+ ].join("\n");
12
+ export default JSONtoCSV;
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Calculates the date of n days from the given date.
5
3
  * @param d
6
4
  * @param n
7
5
  * @returns
8
6
  */
9
- var addDaysToDate = function (d, n) {
7
+ const addDaysToDate = (d, n) => {
10
8
  d.setTime(d.getTime() + n * 60 * 60 * 1000 * 24);
11
9
  return d;
12
10
  };
13
- exports.default = addDaysToDate;
11
+ export default addDaysToDate;
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Calculates the date of n hours from the given date.
5
3
  * @param d
6
4
  * @param n
7
5
  * @returns
8
6
  */
9
- var addHoursToDate = function (d, n) {
7
+ const addHoursToDate = (d, n) => {
10
8
  d.setTime(d.getTime() + n * 60 * 60 * 1000);
11
9
  return d;
12
10
  };
13
- exports.default = addHoursToDate;
11
+ export default addHoursToDate;
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Calculates the date of n minutes from the given date.
5
3
  * @param d
6
4
  * @param n
7
5
  * @returns
8
6
  */
9
- var addMinutesToDate = function (d, n) {
7
+ const addMinutesToDate = (d, n) => {
10
8
  d.setTime(d.getTime() + n * 60 * 1000);
11
9
  return d;
12
10
  };
13
- exports.default = addMinutesToDate;
11
+ export default addMinutesToDate;
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Calculates the date of n seconds from the given date.
5
3
  * @param d
6
4
  * @param n
7
5
  * @returns
8
6
  */
9
- var addSecondsToDate = function (d, n) {
7
+ const addSecondsToDate = (d, n) => {
10
8
  d.setTime(d.getTime() + n * 1000);
11
9
  return d;
12
10
  };
13
- exports.default = addSecondsToDate;
11
+ export default addSecondsToDate;
@@ -1,13 +1,11 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Calculates the date of n weeks from the given date.
5
3
  * @param d
6
4
  * @param n
7
5
  * @returns
8
6
  */
9
- var addWeeksToDate = function (d, n) {
7
+ const addWeeksToDate = (d, n) => {
10
8
  d.setTime(d.getTime() + n * 60 * 60 * 1000 * 24 * 7);
11
9
  return d;
12
10
  };
13
- exports.default = addWeeksToDate;
11
+ export default addWeeksToDate;
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Animate a number.
5
3
  * @param cb
@@ -7,13 +5,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
5
  * @param to
8
6
  * @param duration
9
7
  */
10
- var animateNumber = function (cb, from, to, duration) {
11
- var start = null;
12
- var animate = function (timestamp) {
8
+ const animateNumber = (cb, from, to, duration) => {
9
+ let start = null;
10
+ let animate = (timestamp) => {
13
11
  start = start || timestamp;
14
- var elapsed = timestamp - start;
15
- var progress = Math.min(elapsed / duration, 1);
16
- var value = from + progress * (to - from);
12
+ let elapsed = timestamp - start;
13
+ let progress = Math.min(elapsed / duration, 1);
14
+ let value = from + progress * (to - from);
17
15
  cb(value);
18
16
  if (progress < 1) {
19
17
  window.requestAnimationFrame(animate);
@@ -21,4 +19,4 @@ var animateNumber = function (cb, from, to, duration) {
21
19
  };
22
20
  window.requestAnimationFrame(animate);
23
21
  };
24
- exports.default = animateNumber;
22
+ export default animateNumber;
@@ -1,19 +1,12 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Converts an array to an CSV string.
5
3
  *
6
4
  * @param {any[]} arr
7
5
  * @param {string} [delimiter=',']
8
6
  */
9
- var arrayToCSV = function (arr, delimiter) {
10
- if (delimiter === void 0) { delimiter = ","; }
11
- return arr
12
- .map(function (v) {
13
- return v
14
- .map(function (x) { return (isNaN(x) ? "\"".concat(x.replace(/"/g, '""'), "\"") : x); })
15
- .join(delimiter);
16
- })
17
- .join("\n");
18
- };
19
- exports.default = arrayToCSV;
7
+ const arrayToCSV = (arr, delimiter = ",") => arr
8
+ .map((v) => v
9
+ .map((x) => (isNaN(x) ? `"${x.replace(/"/g, '""')}"` : x))
10
+ .join(delimiter))
11
+ .join("\n");
12
+ export default arrayToCSV;
package/dist/attempt.js CHANGED
@@ -1,45 +1,14 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
1
  /**
29
2
  * Attempts to invoke a function with the provided arguments, returning either the result or the caught error object.
30
3
  * @param fn
31
4
  * @param args
32
5
  */
33
- var attempt = function (fn) {
34
- var args = [];
35
- for (var _i = 1; _i < arguments.length; _i++) {
36
- args[_i - 1] = arguments[_i];
37
- }
6
+ const attempt = (fn, ...args) => {
38
7
  try {
39
- return fn.apply(void 0, __spreadArray([], __read(args), false));
8
+ return fn(...args);
40
9
  }
41
10
  catch (e) {
42
11
  return e instanceof Error ? e : new Error(e);
43
12
  }
44
13
  };
45
- exports.default = attempt;
14
+ export default attempt;
package/dist/average.js CHANGED
@@ -1,16 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Return the average of the number array.
5
3
  *
6
4
  * @param {...number[]} nums
7
5
  * @returns {number}
8
6
  */
9
- var average = function () {
10
- var nums = [];
11
- for (var _i = 0; _i < arguments.length; _i++) {
12
- nums[_i] = arguments[_i];
13
- }
14
- return nums.reduce(function (acc, val) { return acc + val; }, 0) / nums.length;
15
- };
16
- exports.default = average;
7
+ const average = (...nums) => nums.reduce((acc, val) => acc + val, 0) / nums.length;
8
+ export default average;
package/dist/chunk.js CHANGED
@@ -1,14 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Chunks an array into smaller arrays of a specified size.
5
3
  * @param arr
6
4
  * @param size
7
5
  * @returns
8
6
  */
9
- var chunk = function (arr, size) {
10
- return Array.from({ length: Math.ceil(arr.length / size) }, function (v, i) {
11
- return arr.slice(i * size, i * size + size);
12
- });
13
- };
14
- exports.default = chunk;
7
+ const chunk = (arr, size) => Array.from({ length: Math.ceil(arr.length / size) }, (v, i) => arr.slice(i * size, i * size + size));
8
+ export default chunk;
@@ -1,20 +1,18 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Chunks an array into smaller arrays of multiple specified sizes.
5
3
  * @param arr
6
4
  * @param chunkSizes
7
5
  * @returns
8
6
  */
9
- var chunkMultiSize = function (arr, chunkSizes) {
10
- var chunkArray = [];
11
- var cc = 0, i = 0;
7
+ const chunkMultiSize = (arr, chunkSizes) => {
8
+ const chunkArray = [];
9
+ let cc = 0, i = 0;
12
10
  while (i < arr.length) {
13
- var csize = chunkSizes[cc];
11
+ const csize = chunkSizes[cc];
14
12
  chunkArray.push(arr.slice(i, i + csize));
15
13
  cc = (cc + 1) % chunkSizes.length;
16
14
  i += csize;
17
15
  }
18
16
  return chunkArray;
19
17
  };
20
- exports.default = chunkMultiSize;
18
+ export default chunkMultiSize;
package/dist/clamp.js CHANGED
@@ -1,5 +1,3 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Clamps `num` within the inclusive range specified by the boundary values `lower` and `upper`.
5
3
  * @param num
@@ -7,7 +5,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
5
  * @param upper
8
6
  * @returns
9
7
  */
10
- var clamp = function (num, lower, upper) {
11
- return Math.max(Math.min(Number(num), Math.max(lower, upper)), Math.min(lower, upper));
12
- };
13
- exports.default = clamp;
8
+ const clamp = (num, lower, upper) => Math.max(Math.min(Number(num), Math.max(lower, upper)), Math.min(lower, upper));
9
+ export default clamp;
package/dist/compact.js CHANGED
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Removes falsy values from an array.
5
3
  * @param arr
6
4
  */
7
- var compact = function (arr) { return arr.filter(Boolean); };
8
- exports.default = compact;
5
+ const compact = (arr) => arr.filter(Boolean);
6
+ export default compact;
package/dist/compose.js CHANGED
@@ -1,47 +1,6 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
1
  /**
29
2
  * Performs right-to-left function composition.
30
3
  * @param fns
31
4
  */
32
- var compose = function () {
33
- var fns = [];
34
- for (var _i = 0; _i < arguments.length; _i++) {
35
- fns[_i] = arguments[_i];
36
- }
37
- return fns.reduce(function (f, g) {
38
- return function () {
39
- var args = [];
40
- for (var _i = 0; _i < arguments.length; _i++) {
41
- args[_i] = arguments[_i];
42
- }
43
- return f(g.apply(void 0, __spreadArray([], __read(args), false)));
44
- };
45
- });
46
- };
47
- exports.default = compose;
5
+ const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)));
6
+ export default compose;
@@ -1,17 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Copies a string to the clipboard.
5
3
  * @param str
6
4
  */
7
- var copyToClipboard = function (str) {
8
- var el = document.createElement("textarea");
5
+ const copyToClipboard = (str) => {
6
+ const el = document.createElement("textarea");
9
7
  el.value = str;
10
8
  el.setAttribute("readonly", "");
11
9
  el.style.position = "absolute";
12
10
  el.style.left = "-9999px";
13
11
  document.body.appendChild(el);
14
- var selected = document.getSelection().rangeCount > 0
12
+ const selected = document.getSelection().rangeCount > 0
15
13
  ? document.getSelection().getRangeAt(0)
16
14
  : false;
17
15
  el.select();
@@ -22,4 +20,4 @@ var copyToClipboard = function (str) {
22
20
  document.getSelection().addRange(selected);
23
21
  }
24
22
  };
25
- exports.default = copyToClipboard;
23
+ export default copyToClipboard;
@@ -1,12 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Counts the occurrences of a value in an array.
5
3
  * @param arr
6
4
  * @param val
7
5
  * @returns
8
6
  */
9
- var countOccurrences = function (arr, val) {
10
- return arr.reduce(function (a, v) { return (v === val ? a + 1 : a); }, 0);
11
- };
12
- exports.default = countOccurrences;
7
+ const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0);
8
+ export default countOccurrences;
package/dist/curry.js CHANGED
@@ -1,42 +1,8 @@
1
- "use strict";
2
- var __read = (this && this.__read) || function (o, n) {
3
- var m = typeof Symbol === "function" && o[Symbol.iterator];
4
- if (!m) return o;
5
- var i = m.call(o), r, ar = [], e;
6
- try {
7
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
8
- }
9
- catch (error) { e = { error: error }; }
10
- finally {
11
- try {
12
- if (r && !r.done && (m = i["return"])) m.call(i);
13
- }
14
- finally { if (e) throw e.error; }
15
- }
16
- return ar;
17
- };
18
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
19
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
20
- if (ar || !(i in from)) {
21
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
22
- ar[i] = from[i];
23
- }
24
- }
25
- return to.concat(ar || Array.prototype.slice.call(from));
26
- };
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
1
  /**
29
2
  * Curries a function.
30
3
  * @param fn
31
4
  * @param arity
32
5
  * @param args
33
6
  */
34
- var curry = function (fn, arity) {
35
- if (arity === void 0) { arity = fn.length; }
36
- var args = [];
37
- for (var _i = 2; _i < arguments.length; _i++) {
38
- args[_i - 2] = arguments[_i];
39
- }
40
- return arity <= args.length ? fn.apply(void 0, __spreadArray([], __read(args), false)) : curry.bind.apply(curry, __spreadArray([null, fn, arity], __read(args), false));
41
- };
42
- exports.default = curry;
7
+ const curry = (fn, arity = fn.length, ...args) => arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
8
+ export default curry;
@@ -1,20 +1,17 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
1
  /**
4
2
  * Convert base64 dataURI to File object.
5
3
  * @param dataURI
6
4
  * @param filename
7
5
  * @returns
8
6
  */
9
- var dataURItoFile = function (dataURI, filename) {
10
- if (filename === void 0) { filename = "1.jpg"; }
11
- var mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0]; // mime类型
12
- var byteString = atob(dataURI.split(",")[1]); //base64 解码
13
- var arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
14
- var intArray = new Uint8Array(arrayBuffer); //创建视图
15
- for (var i = 0; i < byteString.length; i++) {
7
+ const dataURItoFile = (dataURI, filename = "1.jpg") => {
8
+ let mimeString = dataURI.split(",")[0].split(":")[1].split(";")[0]; // mime类型
9
+ let byteString = atob(dataURI.split(",")[1]); //base64 解码
10
+ let arrayBuffer = new ArrayBuffer(byteString.length); //创建缓冲数组
11
+ let intArray = new Uint8Array(arrayBuffer); //创建视图
12
+ for (let i = 0; i < byteString.length; i++) {
16
13
  intArray[i] = byteString.charCodeAt(i);
17
14
  }
18
15
  return new File([intArray], filename, { type: mimeString });
19
16
  };
20
- exports.default = dataURItoFile;
17
+ export default dataURItoFile;
package/dist/dateRange.js CHANGED
@@ -1,55 +1,14 @@
1
- "use strict";
2
- var __generator = (this && this.__generator) || function (thisArg, body) {
3
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
4
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
5
- function verb(n) { return function (v) { return step([n, v]); }; }
6
- function step(op) {
7
- if (f) throw new TypeError("Generator is already executing.");
8
- while (_) try {
9
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10
- if (y = 0, t) op = [op[0] & 2, t.value];
11
- switch (op[0]) {
12
- case 0: case 1: t = op; break;
13
- case 4: _.label++; return { value: op[1], done: false };
14
- case 5: _.label++; y = op[1]; op = [0]; continue;
15
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
16
- default:
17
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
18
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
19
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
20
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
21
- if (t[2]) _.ops.pop();
22
- _.trys.pop(); continue;
23
- }
24
- op = body.call(thisArg, _);
25
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
26
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
27
- }
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
1
  /**
31
2
  * Creates a generator, that generates all dates in the given range using the given step.
32
3
  * @param start
33
4
  * @param end
34
5
  * @param step
35
6
  */
36
- var dateRange = function (start, end, step) {
37
- var d;
38
- if (step === void 0) { step = 1; }
39
- return __generator(this, function (_a) {
40
- switch (_a.label) {
41
- case 0:
42
- d = start;
43
- _a.label = 1;
44
- case 1:
45
- if (!(d < end)) return [3 /*break*/, 3];
46
- return [4 /*yield*/, new Date(d)];
47
- case 2:
48
- _a.sent();
49
- d.setDate(d.getDate() + step);
50
- return [3 /*break*/, 1];
51
- case 3: return [2 /*return*/];
52
- }
53
- });
7
+ const dateRange = function* (start, end, step = 1) {
8
+ let d = start;
9
+ while (d < end) {
10
+ yield new Date(d);
11
+ d.setDate(d.getDate() + step);
12
+ }
54
13
  };
55
- exports.default = dateRange;
14
+ export default dateRange;