tsu 2.1.1 → 2.2.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.
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +32 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var f=Object.defineProperty;var
|
|
1
|
+
"use strict";var f=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var j=Object.getOwnPropertyNames;var k=Object.prototype.hasOwnProperty;var N=(n,e)=>{for(var t in e)f(n,t,{get:e[t],enumerable:!0})},A=(n,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of j(e))!k.call(n,o)&&o!==t&&f(n,o,{get:()=>e[o],enumerable:!(r=O(e,o))||r.enumerable});return n};var F=n=>A(f({},"__esModule",{value:!0}),n);var jn={};N(jn,{capitalise:()=>bn,ceil:()=>en,chars:()=>dn,debounce:()=>G,deepMerge:()=>w,drop:()=>S,floor:()=>tn,groupsOf:()=>E,head:()=>M,init:()=>q,isArray:()=>s,isBlank:()=>xn,isBoolean:()=>L,isBrowser:()=>g,isDefined:()=>P,isEmpty:()=>Tn,isEmptyObject:()=>W,isEven:()=>rn,isFunction:()=>H,isNull:()=>_,isNumber:()=>p,isObject:()=>l,isOdd:()=>on,isString:()=>c,isTouchDevice:()=>$,isWindow:()=>z,last:()=>C,max:()=>un,memoize:()=>Q,min:()=>ln,noop:()=>an,once:()=>X,partition:()=>U,randomChance:()=>sn,randomNumber:()=>y,range:()=>I,round:()=>cn,scroll:()=>J,sleep:()=>pn,splitAt:()=>V,splitStrAt:()=>gn,sum:()=>fn,tail:()=>B,take:()=>R,throttle:()=>nn,toArray:()=>D,toCamel:()=>yn,toKebab:()=>hn,toNumber:()=>wn,toOrdinal:()=>vn,truncate:()=>On,uniq:()=>a,uuid:()=>mn});module.exports=F(jn);function S(n,e){return n<=0?[...e]:e.slice(n)}function E(n,e){if(n<=0)throw new Error("[tsu] Invalid group size. Is it greater than 0?");if(n>=e.length)return[[...e]];let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}function M(n){return n[0]}function q(n){return n.slice(0,n.length-1)}function C(n){return n[n.length-1]}function U(n,e){return e.reduce(([t,r],o,i,u)=>n(o,i,u)?[[...t,o],r]:[t,[...r,o]],[[],[]])}function I(...n){let e,t,r;n.length===1?(t=n[0],e=0,r=1):(e=n[0],t=n[1],r=n[2]||1),r<=0&&(console.warn("[tsu] warning: a step less than or equal to 0 will be set to 1."),r=1);let o=[],i=e;for(;i<t;)o.push(i),i+=r||1;return o}function V(n,e){return n<=0?[[],[...e]]:n>e.length?[[...e],[]]:[e.slice(0,n),e.slice(n)]}function B(n){return n.slice(1)}function R(n,e){return n<=0?[]:e.slice(0,n)}function D(n){return n?Array.isArray(n)?n:[n]:[]}function a(n){return Array.from(new Set(n))}function s(n){return Array.isArray(n)}function L(n){return typeof n=="boolean"}function g(){return typeof window<"u"}function P(n){return typeof n<"u"}function W(n){if(!l(n))return!1;for(let e in n)return!1;return!0}function H(n){return typeof n=="function"}function _(n){return Object.prototype.toString.call(n)==="[object Null]"}function p(n){return typeof n=="number"}function l(n){return Object.prototype.toString.call(n)==="[object Object]"}function c(n){return typeof n=="string"}function $(){return"ontouchstart"in window||navigator.maxTouchPoints>0}function z(n){return g()&&Object.prototype.toString.call(n)==="[object Window]"}function J({to:n,offset:e=0,duration:t=1e3,container:r=null}){let o=c(n)?document.querySelector(n):n,i=c(r)?document.querySelector(r):r,u=i?.scrollTop||window?.pageYOffset||0,m=(p(o)?o:Z(o,u))+e,v=Date.now();function b(){let d=Date.now()-v,x=d<t,T=x?Y(u,m,d,t):m;x&&requestAnimationFrame(b),i?i.scrollTop=T:window.scrollTo(0,T)}b()}function K(n){return n<.5?4*Math.pow(n,3):(n-1)*(2*n-2)*(2*n-2)+1}function Y(n,e,t,r){return n+(e-n)*K(t/r)}function Z(n,e){return n.nodeName==="HTML"?-e:n.getBoundingClientRect().top+e}function G(n,e){e<0&&console.warn("[tsu] warning: a debounce delay less than 0ms will be treated as 0ms.");let t;return function(...r){clearTimeout(t),t=setTimeout(()=>{clearTimeout(t),n(...r)},e)}}function Q(n){let e={};return function(...t){let r=JSON.stringify(t);if(r in e)return e[r];let o=n(...t);return e[r]=o,o}}function X(n){let e=!1;return(...t)=>{e||(n(...t),e=!0)}}function nn(n,e){e<0&&console.warn("[tsu] warning: a throttle limit less than 0ms will be treated as 0ms.");let t=!1;return function(...r){t||(n(...r),t=!0,setTimeout(()=>{t=!1},e))}}function en(n,e=1){let t=n/e;return Math.ceil(t)*e}function tn(n,e=1){let t=n/e;return Math.floor(t)*e}function rn(n){return n%2===0}function on(n){return n%2!==0}function un(n){if(n.length)return Math.max(...n)}function ln(n){if(n.length)return Math.min(...n)}function sn(n){return y(n)===0}function y(...n){let e,t;return n.length===1?(e=0,t=n[0]):(e=n[0],t=n[1]),Math.floor(Math.random()*(t-e))+e}function cn(n,e=1){let t=n/e;return Math.round(t)*e}function fn(n){let e=0;for(let t=0;t<n.length;t++)e+=n[t];return e}function an(){}async function pn(n){return n<0&&console.warn("[tsu] warning: a sleep duration less than 0ms will be treated as 0ms."),new Promise(e=>{setTimeout(e,n)})}var h="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";function mn(n=16){let e=h.length,t=n,r="";for(;t--;)r+=h[Math.random()*e|0];return r}function w(...n){let e={};for(let t=0;t<n.length;t++){let r=n[t],o=Object.keys(r);for(let i=0;i<o.length;i++){let u=o[i];s(e[u])&&s(r[u])?e[u]=a(e[u].concat(r[u])):l(e[u])&&l(r[u])?e[u]=w(e[u],r[u]):e[u]=r[u]}}return e}function bn(n,e=!1,t=" "){return e?n.split(t).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(t):n.charAt(0).toUpperCase()+n.slice(1)}function dn(n){return n.split("")}function xn(n){return n.trim().length===0}function Tn(n){return n.length===0}function gn(n,e){return n<=0?["",e]:n>e.length?[e,""]:[e.slice(0,n),e.slice(n)]}function yn(n){let e=/-(\w)/g;return n.replace(e,(t,r)=>r?r.toUpperCase():"")}function hn(n){let e=/\B([A-Z])/g;return n.replace(e,"-$1").toLowerCase()}function wn(n){return n.length?Number(n.replace(/[#£€$,%]/g,"")):NaN}function vn(n){let t=["st","nd","rd"][(n/10%10^1&&n%10)-1]||"th";return`${n}${t}`}function On(n,e,t="..."){return e<=0?t:n.slice(0,e)+t}0&&(module.exports={capitalise,ceil,chars,debounce,deepMerge,drop,floor,groupsOf,head,init,isArray,isBlank,isBoolean,isBrowser,isDefined,isEmpty,isEmptyObject,isEven,isFunction,isNull,isNumber,isObject,isOdd,isString,isTouchDevice,isWindow,last,max,memoize,min,noop,once,partition,randomChance,randomNumber,range,round,scroll,sleep,splitAt,splitStrAt,sum,tail,take,throttle,toArray,toCamel,toKebab,toNumber,toOrdinal,truncate,uniq,uuid});
|
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ declare function groupsOf<T>(s: number, array: readonly T[]): T[][];
|
|
|
26
26
|
* @param array - The array.
|
|
27
27
|
* @returns The first item.
|
|
28
28
|
*/
|
|
29
|
+
declare function head(array: readonly []): undefined;
|
|
29
30
|
declare function head<T>(array: readonly T[]): T;
|
|
30
31
|
/**
|
|
31
32
|
* Returns all but the last item of an array.
|
|
@@ -40,6 +41,7 @@ declare function init<T>(array: readonly T[]): T[];
|
|
|
40
41
|
* @param array - The array.
|
|
41
42
|
* @returns The last item.
|
|
42
43
|
*/
|
|
44
|
+
declare function last(array: readonly []): undefined;
|
|
43
45
|
declare function last<T>(array: readonly T[]): T;
|
|
44
46
|
/**
|
|
45
47
|
* Splits an array into two based on a predicate function.
|
|
@@ -50,7 +52,17 @@ declare function last<T>(array: readonly T[]): T;
|
|
|
50
52
|
*/
|
|
51
53
|
declare function partition<T>(filter: (x: T, idx: number, a: readonly T[]) => boolean, array: readonly T[]): [T[], T[]];
|
|
52
54
|
/**
|
|
53
|
-
*
|
|
55
|
+
* Generates a range of numbers.
|
|
56
|
+
*
|
|
57
|
+
* @param start - The inclusive start value.
|
|
58
|
+
* @param stop - The exlusive stop value.
|
|
59
|
+
* @param step - The step to increment by.
|
|
60
|
+
* @returns The range of numbers.
|
|
61
|
+
*/
|
|
62
|
+
declare function range(stop: number): number[];
|
|
63
|
+
declare function range(start: number, stop: number, step?: number): number[];
|
|
64
|
+
/**
|
|
65
|
+
* Splits an array into two at a specified index.
|
|
54
66
|
*
|
|
55
67
|
* @param i - The position to split at.
|
|
56
68
|
* @param array - The array.
|
|
@@ -105,7 +117,7 @@ interface ScrollConfig {
|
|
|
105
117
|
declare function scroll({ to, offset, duration, container }: ScrollConfig): void;
|
|
106
118
|
|
|
107
119
|
/**
|
|
108
|
-
* Prevents function execution until it hasn't been called for a
|
|
120
|
+
* Prevents function execution until it hasn't been called for a specified time period.
|
|
109
121
|
*
|
|
110
122
|
* @param fn - The function.
|
|
111
123
|
* @param delay - The time period (in ms).
|
|
@@ -127,7 +139,7 @@ declare function memoize<T>(fn: Fn<T>): Fn<T>;
|
|
|
127
139
|
*/
|
|
128
140
|
declare function once(fn: VoidFn): VoidFn;
|
|
129
141
|
/**
|
|
130
|
-
* Prevents function execution for a
|
|
142
|
+
* Prevents function execution for a specified time period after it was last called.
|
|
131
143
|
*
|
|
132
144
|
* @param fn - The function.
|
|
133
145
|
* @param limit - The time period.
|
|
@@ -303,12 +315,19 @@ declare function sum(ns: readonly number[]): number;
|
|
|
303
315
|
*/
|
|
304
316
|
declare function noop(): void;
|
|
305
317
|
/**
|
|
306
|
-
* Halts thread execution for a
|
|
318
|
+
* Halts thread execution for a specified time period.
|
|
307
319
|
*
|
|
308
320
|
* @param duration - The time period (in ms).
|
|
309
321
|
* @returns The halting promise.
|
|
310
322
|
*/
|
|
311
323
|
declare function sleep(duration: number): Promise<void>;
|
|
324
|
+
/**
|
|
325
|
+
* Generates a random string of a specified length.
|
|
326
|
+
*
|
|
327
|
+
* @param length - The length of the randomly generated string.
|
|
328
|
+
* @returns The randomly generated string.
|
|
329
|
+
*/
|
|
330
|
+
declare function uuid(length?: number): string;
|
|
312
331
|
|
|
313
332
|
type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
314
333
|
/**
|
|
@@ -349,6 +368,14 @@ declare function isBlank(str: string): boolean;
|
|
|
349
368
|
* @returns If the string is empty.
|
|
350
369
|
*/
|
|
351
370
|
declare function isEmpty(str: string): boolean;
|
|
371
|
+
/**
|
|
372
|
+
* Splits a string into two at a specified index.
|
|
373
|
+
*
|
|
374
|
+
* @param i - The position to split at.
|
|
375
|
+
* @param array - The string.
|
|
376
|
+
* @returns The tuple of strings before and after the split.
|
|
377
|
+
*/
|
|
378
|
+
declare function splitStrAt(i: number, s: string): [string, string];
|
|
352
379
|
/**
|
|
353
380
|
* Converts a kebab case string to camel case.
|
|
354
381
|
*
|
|
@@ -387,4 +414,4 @@ declare function toOrdinal(n: number): string;
|
|
|
387
414
|
*/
|
|
388
415
|
declare function truncate(str: string, length: number, suffix?: string): string;
|
|
389
416
|
|
|
390
|
-
export { Arrayable, Fn, Nullable, Obj, VoidFn, capitalise, ceil, chars, debounce, deepMerge, drop, floor, groupsOf, head, init, isArray, isBlank, isBoolean, isBrowser, isDefined, isEmpty, isEmptyObject, isEven, isFunction, isNull, isNumber, isObject, isOdd, isString, isTouchDevice, isWindow, last, max, memoize, min, noop, once, partition, randomChance, randomNumber, round, scroll, sleep, splitAt, sum, tail, take, throttle, toArray, toCamel, toKebab, toNumber, toOrdinal, truncate, uniq };
|
|
417
|
+
export { Arrayable, Fn, Nullable, Obj, VoidFn, capitalise, ceil, chars, debounce, deepMerge, drop, floor, groupsOf, head, init, isArray, isBlank, isBoolean, isBrowser, isDefined, isEmpty, isEmptyObject, isEven, isFunction, isNull, isNumber, isObject, isOdd, isString, isTouchDevice, isWindow, last, max, memoize, min, noop, once, partition, randomChance, randomNumber, range, round, scroll, sleep, splitAt, splitStrAt, sum, tail, take, throttle, toArray, toCamel, toKebab, toNumber, toOrdinal, truncate, uniq, uuid };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function k(n,e){return n<=0?[...e]:e.slice(n)}function N(n,e){if(n<=0)throw new Error("[tsu] Invalid group size. Is it greater than 0?");if(n>=e.length)return[[...e]];let t=[];for(let r=0;r<e.length;r+=n)t.push(e.slice(r,r+n));return t}function A(n){return n[0]}function F(n){return n.slice(0,n.length-1)}function S(n){return n[n.length-1]}function E(n,e){return e.reduce(([t,r],u,i,o)=>n(u,i,o)?[[...t,u],r]:[t,[...r,u]],[[],[]])}function M(...n){let e,t,r;n.length===1?(t=n[0],e=0,r=1):(e=n[0],t=n[1],r=n[2]||1),r<=0&&(console.warn("[tsu] warning: a step less than or equal to 0 will be set to 1."),r=1);let u=[],i=e;for(;i<t;)u.push(i),i+=r||1;return u}function q(n,e){return n<=0?[[],[...e]]:n>e.length?[[...e],[]]:[e.slice(0,n),e.slice(n)]}function C(n){return n.slice(1)}function U(n,e){return n<=0?[]:e.slice(0,n)}function I(n){return n?Array.isArray(n)?n:[n]:[]}function d(n){return Array.from(new Set(n))}function s(n){return Array.isArray(n)}function B(n){return typeof n=="boolean"}function y(){return typeof window<"u"}function R(n){return typeof n<"u"}function D(n){if(!l(n))return!1;for(let e in n)return!1;return!0}function L(n){return typeof n=="function"}function P(n){return Object.prototype.toString.call(n)==="[object Null]"}function x(n){return typeof n=="number"}function l(n){return Object.prototype.toString.call(n)==="[object Object]"}function c(n){return typeof n=="string"}function W(){return"ontouchstart"in window||navigator.maxTouchPoints>0}function H(n){return y()&&Object.prototype.toString.call(n)==="[object Window]"}function z({to:n,offset:e=0,duration:t=1e3,container:r=null}){let u=c(n)?document.querySelector(n):n,i=c(r)?document.querySelector(r):r,o=i?.scrollTop||window?.pageYOffset||0,f=(x(u)?u:v(u,o))+e,g=Date.now();function a(){let p=Date.now()-g,m=p<t,b=m?w(o,f,p,t):f;m&&requestAnimationFrame(a),i?i.scrollTop=b:window.scrollTo(0,b)}a()}function h(n){return n<.5?4*Math.pow(n,3):(n-1)*(2*n-2)*(2*n-2)+1}function w(n,e,t,r){return n+(e-n)*h(t/r)}function v(n,e){return n.nodeName==="HTML"?-e:n.getBoundingClientRect().top+e}function K(n,e){e<0&&console.warn("[tsu] warning: a debounce delay less than 0ms will be treated as 0ms.");let t;return function(...r){clearTimeout(t),t=setTimeout(()=>{clearTimeout(t),n(...r)},e)}}function Y(n){let e={};return function(...t){let r=JSON.stringify(t);if(r in e)return e[r];let u=n(...t);return e[r]=u,u}}function Z(n){let e=!1;return(...t)=>{e||(n(...t),e=!0)}}function G(n,e){e<0&&console.warn("[tsu] warning: a throttle limit less than 0ms will be treated as 0ms.");let t=!1;return function(...r){t||(n(...r),t=!0,setTimeout(()=>{t=!1},e))}}function X(n,e=1){let t=n/e;return Math.ceil(t)*e}function nn(n,e=1){let t=n/e;return Math.floor(t)*e}function en(n){return n%2===0}function tn(n){return n%2!==0}function rn(n){if(n.length)return Math.max(...n)}function on(n){if(n.length)return Math.min(...n)}function un(n){return O(n)===0}function O(...n){let e,t;return n.length===1?(e=0,t=n[0]):(e=n[0],t=n[1]),Math.floor(Math.random()*(t-e))+e}function ln(n,e=1){let t=n/e;return Math.round(t)*e}function sn(n){let e=0;for(let t=0;t<n.length;t++)e+=n[t];return e}function fn(){}async function an(n){return n<0&&console.warn("[tsu] warning: a sleep duration less than 0ms will be treated as 0ms."),new Promise(e=>{setTimeout(e,n)})}var T="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";function pn(n=16){let e=T.length,t=n,r="";for(;t--;)r+=T[Math.random()*e|0];return r}function j(...n){let e={};for(let t=0;t<n.length;t++){let r=n[t],u=Object.keys(r);for(let i=0;i<u.length;i++){let o=u[i];s(e[o])&&s(r[o])?e[o]=d(e[o].concat(r[o])):l(e[o])&&l(r[o])?e[o]=j(e[o],r[o]):e[o]=r[o]}}return e}function Tn(n,e=!1,t=" "){return e?n.split(t).map(r=>r.charAt(0).toUpperCase()+r.slice(1)).join(t):n.charAt(0).toUpperCase()+n.slice(1)}function gn(n){return n.split("")}function yn(n){return n.trim().length===0}function hn(n){return n.length===0}function wn(n,e){return n<=0?["",e]:n>e.length?[e,""]:[e.slice(0,n),e.slice(n)]}function vn(n){let e=/-(\w)/g;return n.replace(e,(t,r)=>r?r.toUpperCase():"")}function On(n){let e=/\B([A-Z])/g;return n.replace(e,"-$1").toLowerCase()}function jn(n){return n.length?Number(n.replace(/[#£€$,%]/g,"")):NaN}function kn(n){let t=["st","nd","rd"][(n/10%10^1&&n%10)-1]||"th";return`${n}${t}`}function Nn(n,e,t="..."){return e<=0?t:n.slice(0,e)+t}export{Tn as capitalise,X as ceil,gn as chars,K as debounce,j as deepMerge,k as drop,nn as floor,N as groupsOf,A as head,F as init,s as isArray,yn as isBlank,B as isBoolean,y as isBrowser,R as isDefined,hn as isEmpty,D as isEmptyObject,en as isEven,L as isFunction,P as isNull,x as isNumber,l as isObject,tn as isOdd,c as isString,W as isTouchDevice,H as isWindow,S as last,rn as max,Y as memoize,on as min,fn as noop,Z as once,E as partition,un as randomChance,O as randomNumber,M as range,ln as round,z as scroll,an as sleep,q as splitAt,wn as splitStrAt,sn as sum,C as tail,U as take,G as throttle,I as toArray,vn as toCamel,On as toKebab,jn as toNumber,kn as toOrdinal,Nn as truncate,d as uniq,pn as uuid};
|