@untemps/utils 4.0.0-beta.4 → 4.0.0-beta.6
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/async/debounce.cjs +1 -0
- package/dist/async/debounce.d.ts +25 -0
- package/dist/async/debounce.d.ts.map +1 -0
- package/dist/async/debounce.js +13 -0
- package/dist/async/throttle.cjs +1 -0
- package/dist/async/throttle.d.ts +23 -0
- package/dist/async/throttle.d.ts.map +1 -0
- package/dist/async/throttle.js +17 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -22
- package/dist/string/interpolate.cjs +1 -1
- package/dist/string/interpolate.d.ts.map +1 -1
- package/dist/string/interpolate.js +1 -4
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>{let n=null,r=((...r)=>{n!==null&&clearTimeout(n),n=setTimeout(()=>{n=null,e(...r)},t)});return r.cancel=()=>{n!==null&&(clearTimeout(n),n=null)},r};exports.debounce=e;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module async/debounce
|
|
3
|
+
*/
|
|
4
|
+
export interface DebouncedFunction<T extends (...args: never[]) => void> {
|
|
5
|
+
(...args: Parameters<T>): void;
|
|
6
|
+
cancel(): void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @function
|
|
10
|
+
* @example
|
|
11
|
+
* import { debounce } from '@untemps/utils/async/debounce'
|
|
12
|
+
*
|
|
13
|
+
* const handler = debounce((value: string) => console.log(value), 300)
|
|
14
|
+
* handler('a')
|
|
15
|
+
* handler('b')
|
|
16
|
+
* handler('c') // Only 'c' is logged after 300ms
|
|
17
|
+
*
|
|
18
|
+
* handler.cancel() // Cancel any pending invocation
|
|
19
|
+
*
|
|
20
|
+
* @param fn - The function to debounce.
|
|
21
|
+
* @param delay - The debounce delay in milliseconds.
|
|
22
|
+
* @returns A debounced version of the function with a `.cancel()` method.
|
|
23
|
+
*/
|
|
24
|
+
export declare const debounce: <T extends (...args: never[]) => void>(fn: T, delay: number) => DebouncedFunction<T>;
|
|
25
|
+
//# sourceMappingURL=debounce.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce.d.ts","sourceRoot":"","sources":["../../src/async/debounce.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI;IACtE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC9B,MAAM,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,MAAM,KAAG,iBAAiB,CAAC,CAAC,CAqBxG,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
//#region src/async/debounce.ts
|
|
2
|
+
var e = (e, t) => {
|
|
3
|
+
let n = null, r = ((...r) => {
|
|
4
|
+
n !== null && clearTimeout(n), n = setTimeout(() => {
|
|
5
|
+
n = null, e(...r);
|
|
6
|
+
}, t);
|
|
7
|
+
});
|
|
8
|
+
return r.cancel = () => {
|
|
9
|
+
n !== null && (clearTimeout(n), n = null);
|
|
10
|
+
}, r;
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { e as debounce };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>{let n=-1/0,r=null,i=null,a=((...a)=>{let o=Date.now(),s=t-(o-n);i=a,s<=0?(r!==null&&(clearTimeout(r),r=null),n=o,i=null,e(...a)):r===null&&(r=setTimeout(()=>{if(n=Date.now(),r=null,i!==null){let t=i;i=null,e(...t)}},s))});return a.cancel=()=>{r!==null&&(clearTimeout(r),r=null),i=null,n=-1/0},a};exports.throttle=e;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module async/throttle
|
|
3
|
+
*/
|
|
4
|
+
export interface ThrottledFunction<T extends (...args: never[]) => void> {
|
|
5
|
+
(...args: Parameters<T>): void;
|
|
6
|
+
cancel(): void;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* @function
|
|
10
|
+
* @example
|
|
11
|
+
* import { throttle } from '@untemps/utils/async/throttle'
|
|
12
|
+
*
|
|
13
|
+
* const handler = throttle((event: MouseEvent) => console.log(event), 200)
|
|
14
|
+
* window.addEventListener('scroll', handler)
|
|
15
|
+
*
|
|
16
|
+
* handler.cancel() // Cancel any pending trailing invocation
|
|
17
|
+
*
|
|
18
|
+
* @param fn - The function to throttle.
|
|
19
|
+
* @param interval - The minimum interval between invocations in milliseconds.
|
|
20
|
+
* @returns A throttled version of the function with a `.cancel()` method.
|
|
21
|
+
*/
|
|
22
|
+
export declare const throttle: <T extends (...args: never[]) => void>(fn: T, interval: number) => ThrottledFunction<T>;
|
|
23
|
+
//# sourceMappingURL=throttle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"throttle.d.ts","sourceRoot":"","sources":["../../src/async/throttle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,iBAAiB,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI;IACtE,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;IAC9B,MAAM,IAAI,IAAI,CAAA;CACd;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,IAAI,CAAC,EAAE,UAAU,MAAM,KAAG,iBAAiB,CAAC,CAAC,CA0C3G,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
//#region src/async/throttle.ts
|
|
2
|
+
var e = (e, t) => {
|
|
3
|
+
let n = -Infinity, r = null, i = null, a = ((...a) => {
|
|
4
|
+
let o = Date.now(), s = t - (o - n);
|
|
5
|
+
i = a, s <= 0 ? (r !== null && (clearTimeout(r), r = null), n = o, i = null, e(...a)) : r === null && (r = setTimeout(() => {
|
|
6
|
+
if (n = Date.now(), r = null, i !== null) {
|
|
7
|
+
let t = i;
|
|
8
|
+
i = null, e(...t);
|
|
9
|
+
}
|
|
10
|
+
}, s));
|
|
11
|
+
});
|
|
12
|
+
return a.cancel = () => {
|
|
13
|
+
r !== null && (clearTimeout(r), r = null), i = null, n = -Infinity;
|
|
14
|
+
}, a;
|
|
15
|
+
};
|
|
16
|
+
//#endregion
|
|
17
|
+
export { e as throttle };
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./array/extractByIndices.cjs`),t=require(`./async/
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./array/extractByIndices.cjs`),t=require(`./async/debounce.cjs`),n=require(`./async/standby.cjs`),r=require(`./async/throttle.cjs`),i=require(`./dom/createElement.cjs`),a=require(`./dom/doElementsOverlap.cjs`),o=require(`./dom/getCSSDeclaration.cjs`),s=require(`./dom/getElement.cjs`),c=require(`./dom/isElement.cjs`),l=require(`./string/isString.cjs`),u=require(`./dom/modifyElement.cjs`),d=require(`./dom/removeElement.cjs`),f=require(`./dom/resolveClassName.cjs`),p=require(`./function/isFunction.cjs`),m=require(`./lang/isNil.cjs`),h=require(`./number/normalizeMinMax.cjs`),g=require(`./number/clamp.cjs`),_=require(`./number/getRandomInteger.cjs`),v=require(`./object/isObject.cjs`),y=require(`./object/deepMerge.cjs`),b=require(`./string/generateText.cjs`),x=require(`./string/generateTokenizedText.cjs`),S=require(`./string/interpolate.cjs`),C=require(`./string/interpolateLiteral.cjs`);exports.clamp=g.clamp,exports.createElement=i.createElement,exports.debounce=t.debounce,exports.deepMerge=y.deepMerge,exports.doElementsOverlap=a.doElementsOverlap,exports.extractByIndices=e.extractByIndices,exports.generateText=b.generateText,exports.generateTokenizedText=x.generateTokenizedText,exports.getCSSDeclaration=o.getCSSDeclaration,exports.getElement=s.getElement,exports.getRandomInteger=_.getRandomInteger,exports.interpolate=S.interpolate,exports.interpolateLiteral=C.interpolateLiteral,exports.isElement=c.isElement,exports.isFunction=p.isFunction,exports.isNil=m.isNil,exports.isObject=v.isObject,exports.isString=l.isString,exports.modifyElement=u.modifyElement,exports.normalizeMinMax=h.normalizeMinMax,exports.removeElement=d.removeElement,exports.resolveClassName=f.resolveClassName,exports.standby=n.standby,exports.throttle=r.throttle;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export { extractByIndices } from './array/extractByIndices';
|
|
2
|
+
export { debounce } from './async/debounce';
|
|
3
|
+
export type { DebouncedFunction } from './async/debounce';
|
|
2
4
|
export { standby } from './async/standby';
|
|
5
|
+
export { throttle } from './async/throttle';
|
|
6
|
+
export type { ThrottledFunction } from './async/throttle';
|
|
3
7
|
export { createElement } from './dom/createElement';
|
|
4
8
|
export type { BoundingClientRectInit, CreateElementConfig } from './dom/createElement';
|
|
5
9
|
export { doElementsOverlap } from './dom/doElementsOverlap';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAA;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAA;AACtE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAA;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { extractByIndices as e } from "./array/extractByIndices.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
|
|
2
|
+
import { debounce as t } from "./async/debounce.js";
|
|
3
|
+
import { standby as n } from "./async/standby.js";
|
|
4
|
+
import { throttle as r } from "./async/throttle.js";
|
|
5
|
+
import { createElement as i } from "./dom/createElement.js";
|
|
6
|
+
import { doElementsOverlap as a } from "./dom/doElementsOverlap.js";
|
|
7
|
+
import { getCSSDeclaration as o } from "./dom/getCSSDeclaration.js";
|
|
8
|
+
import { getElement as s } from "./dom/getElement.js";
|
|
9
|
+
import { isElement as c } from "./dom/isElement.js";
|
|
10
|
+
import { isString as l } from "./string/isString.js";
|
|
11
|
+
import { modifyElement as u } from "./dom/modifyElement.js";
|
|
12
|
+
import { removeElement as d } from "./dom/removeElement.js";
|
|
13
|
+
import { resolveClassName as f } from "./dom/resolveClassName.js";
|
|
14
|
+
import { isFunction as p } from "./function/isFunction.js";
|
|
15
|
+
import { isNil as m } from "./lang/isNil.js";
|
|
16
|
+
import { normalizeMinMax as h } from "./number/normalizeMinMax.js";
|
|
17
|
+
import { clamp as g } from "./number/clamp.js";
|
|
18
|
+
import { getRandomInteger as _ } from "./number/getRandomInteger.js";
|
|
19
|
+
import { isObject as v } from "./object/isObject.js";
|
|
20
|
+
import { deepMerge as y } from "./object/deepMerge.js";
|
|
21
|
+
import { generateText as b } from "./string/generateText.js";
|
|
22
|
+
import { generateTokenizedText as x } from "./string/generateTokenizedText.js";
|
|
23
|
+
import { interpolate as S } from "./string/interpolate.js";
|
|
24
|
+
import { interpolateLiteral as C } from "./string/interpolateLiteral.js";
|
|
25
|
+
export { g as clamp, i as createElement, t as debounce, y as deepMerge, a as doElementsOverlap, e as extractByIndices, b as generateText, x as generateTokenizedText, o as getCSSDeclaration, s as getElement, _ as getRandomInteger, S as interpolate, C as interpolateLiteral, c as isElement, p as isFunction, m as isNil, v as isObject, l as isString, u as modifyElement, h as normalizeMinMax, d as removeElement, f as resolveClassName, n as standby, r as throttle };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../lang/isNil.cjs`);var t=e=>
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../lang/isNil.cjs`);var t=e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),n=e=>Object.keys(e).reduce((e,t,n)=>`${e}${n>0?`|`:``}${t}`,``),r=(r,i={},a=`%`)=>{let o=t(a),s=n(i),c=RegExp(`${o}(${s})${o}`,`g`);return r.replace(c,(t,n)=>e.isNil(i[n])?n:String(i[n]))};exports.interpolate=r;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolate.d.ts","sourceRoot":"","sources":["../../src/string/interpolate.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"interpolate.d.ts","sourceRoot":"","sources":["../../src/string/interpolate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,EAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAAE,gBAAa,KAAG,MAKhG,CAAA"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
import { isNil as e } from "../lang/isNil.js";
|
|
2
2
|
//#region src/string/interpolate.ts
|
|
3
|
-
var t = (e) => {
|
|
4
|
-
let t = /* @__PURE__ */ RegExp("([\\[\\^\\$\\.|\\?\\*\\+\\(\\)])+", "g");
|
|
5
|
-
return e.replace(t, (e) => e.split("").map((e) => "\\" + e).join(""));
|
|
6
|
-
}, n = (e) => Object.keys(e).reduce((e, t, n) => `${e}${n > 0 ? "|" : ""}${t}`, ""), r = (r, i = {}, a = "%") => {
|
|
3
|
+
var t = (e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), n = (e) => Object.keys(e).reduce((e, t, n) => `${e}${n > 0 ? "|" : ""}${t}`, ""), r = (r, i = {}, a = "%") => {
|
|
7
4
|
let o = t(a), s = n(i), c = RegExp(`${o}(${s})${o}`, "g");
|
|
8
5
|
return r.replace(c, (t, n) => e(i[n]) ? n : String(i[n]));
|
|
9
6
|
};
|