@untemps/utils 4.0.0-beta.1 → 4.0.0-beta.10
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/dom/createElement.cjs +1 -1
- package/dist/dom/createElement.d.ts.map +1 -1
- package/dist/dom/createElement.js +14 -1
- package/dist/dom/modifyElement.cjs +1 -1
- package/dist/dom/modifyElement.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +25 -22
- package/dist/object/deepClone.cjs +1 -0
- package/dist/object/deepClone.d.ts +18 -0
- package/dist/object/deepClone.d.ts.map +1 -0
- package/dist/object/deepClone.js +4 -0
- package/dist/object/deepMerge.cjs +1 -1
- package/dist/object/deepMerge.d.ts +3 -2
- package/dist/object/deepMerge.d.ts.map +1 -1
- package/dist/object/deepMerge.js +8 -3
- package/dist/string/generateText.cjs +1 -1
- package/dist/string/generateText.d.ts.map +1 -1
- package/dist/string/generateText.js +1 -0
- package/dist/string/interpolate.cjs +1 -1
- package/dist/string/interpolate.d.ts.map +1 -1
- package/dist/string/interpolate.js +1 -4
- package/dist/string/interpolateLiteral.cjs +1 -1
- package/dist/string/interpolateLiteral.d.ts +2 -2
- package/dist/string/interpolateLiteral.d.ts.map +1 -1
- package/dist/string/interpolateLiteral.js +1 -1
- 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 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=({tag:e=`div`,attributes:t={},content:n=null,textContent:r=null,parent:i=null,parentSelector:a=null,boundingClientRect:o=null}={})=>{let s=document.createElement(e);if(t)for(let[e,n]of Object.entries(t))s.setAttribute(e,n);n&&s.appendChild(n),r&&!s.hasChildNodes()&&s.appendChild(document.createTextNode(r));let c=i||document.querySelector(a);
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=({tag:e=`div`,attributes:t={},content:n=null,textContent:r=null,parent:i=null,parentSelector:a=null,boundingClientRect:o=null}={})=>{let s=document.createElement(e);if(t)for(let[e,n]of Object.entries(t))s.setAttribute(e,n);n&&s.appendChild(n),r&&!s.hasChildNodes()&&s.appendChild(document.createTextNode(r));let c=i||document.querySelector(a);if(c&&c.appendChild(s),o){let{x:e,y:t,top:n,right:r,bottom:i,left:a,width:c,height:l}=o,u=e??a??0,d=t??n??0,f=a??u,p=n??d,m=c??(r===void 0?0:r-f),h=l??(i===void 0?0:i-p),g={x:u,y:d,width:m,height:h,top:p,right:r??u+m,bottom:i??d+h,left:f},_=Object.defineProperty({...g},`toJSON`,{value:()=>({...g})});s.getBoundingClientRect=()=>_}return s};exports.createElement=e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createElement.d.ts","sourceRoot":"","sources":["../../src/dom/createElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IAC1C,yEAAyE;IACzE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,6FAA6F;IAC7F,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAClD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,yFAQ3B,mBAAwB,KAAG,
|
|
1
|
+
{"version":3,"file":"createElement.d.ts","sourceRoot":"","sources":["../../src/dom/createElement.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,uFAAuF;IACvF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,qDAAqD;IACrD,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAA;IAC1C,yEAAyE;IACzE,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,6FAA6F;IAC7F,MAAM,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC9B,iFAAiF;IACjF,kBAAkB,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAA;CAClD;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,yFAQ3B,mBAAwB,KAAG,WAuC7B,CAAA"}
|
|
@@ -4,7 +4,20 @@ var e = ({ tag: e = "div", attributes: t = {}, content: n = null, textContent: r
|
|
|
4
4
|
if (t) for (let [e, n] of Object.entries(t)) s.setAttribute(e, n);
|
|
5
5
|
n && s.appendChild(n), r && !s.hasChildNodes() && s.appendChild(document.createTextNode(r));
|
|
6
6
|
let c = i || document.querySelector(a);
|
|
7
|
-
|
|
7
|
+
if (c && c.appendChild(s), o) {
|
|
8
|
+
let { x: e, y: t, top: n, right: r, bottom: i, left: a, width: c, height: l } = o, u = e ?? a ?? 0, d = t ?? n ?? 0, f = a ?? u, p = n ?? d, m = c ?? (r === void 0 ? 0 : r - f), h = l ?? (i === void 0 ? 0 : i - p), g = {
|
|
9
|
+
x: u,
|
|
10
|
+
y: d,
|
|
11
|
+
width: m,
|
|
12
|
+
height: h,
|
|
13
|
+
top: p,
|
|
14
|
+
right: r ?? u + m,
|
|
15
|
+
bottom: i ?? d + h,
|
|
16
|
+
left: f
|
|
17
|
+
}, _ = Object.defineProperty({ ...g }, "toJSON", { value: () => ({ ...g }) });
|
|
18
|
+
s.getBoundingClientRect = () => _;
|
|
19
|
+
}
|
|
20
|
+
return s;
|
|
8
21
|
};
|
|
9
22
|
//#endregion
|
|
10
23
|
export { e as createElement };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../string/isString.cjs`);var t=(t,n={})=>{let r=e.isString(t)?document.querySelector(t):t;for(let
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../string/isString.cjs`);var t=(t,n={})=>{let r=e.isString(t)?document.querySelector(t):t;for(let[e,t]of Object.entries(n))t==null?r?.removeAttribute(e):r?.setAttribute(e,t);return r};exports.modifyElement=t;
|
|
@@ -2,7 +2,7 @@ import { isString as e } from "../string/isString.js";
|
|
|
2
2
|
//#region src/dom/modifyElement.ts
|
|
3
3
|
var t = (t, n = {}) => {
|
|
4
4
|
let r = e(t) ? document.querySelector(t) : t;
|
|
5
|
-
for (let e
|
|
5
|
+
for (let [e, t] of Object.entries(n)) t == null ? r?.removeAttribute(e) : r?.setAttribute(e, t);
|
|
6
6
|
return r;
|
|
7
7
|
};
|
|
8
8
|
//#endregion
|
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/deepClone.cjs`),y=require(`./object/isObject.cjs`),b=require(`./object/deepMerge.cjs`),x=require(`./string/generateText.cjs`),S=require(`./string/generateTokenizedText.cjs`),C=require(`./string/interpolate.cjs`),w=require(`./string/interpolateLiteral.cjs`);exports.clamp=g.clamp,exports.createElement=i.createElement,exports.debounce=t.debounce,exports.deepClone=v.deepClone,exports.deepMerge=b.deepMerge,exports.doElementsOverlap=a.doElementsOverlap,exports.extractByIndices=e.extractByIndices,exports.generateText=x.generateText,exports.generateTokenizedText=S.generateTokenizedText,exports.getCSSDeclaration=o.getCSSDeclaration,exports.getElement=s.getElement,exports.getRandomInteger=_.getRandomInteger,exports.interpolate=C.interpolate,exports.interpolateLiteral=w.interpolateLiteral,exports.isElement=c.isElement,exports.isFunction=p.isFunction,exports.isNil=m.isNil,exports.isObject=y.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';
|
|
@@ -15,6 +19,7 @@ export { isNil } from './lang/isNil';
|
|
|
15
19
|
export { clamp } from './number/clamp';
|
|
16
20
|
export { getRandomInteger } from './number/getRandomInteger';
|
|
17
21
|
export { normalizeMinMax } from './number/normalizeMinMax';
|
|
22
|
+
export { deepClone } from './object/deepClone';
|
|
18
23
|
export { deepMerge } from './object/deepMerge';
|
|
19
24
|
export { isObject } from './object/isObject';
|
|
20
25
|
export { generateText } from './string/generateText';
|
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,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,26 @@
|
|
|
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 { deepClone as v } from "./object/deepClone.js";
|
|
20
|
+
import { isObject as y } from "./object/isObject.js";
|
|
21
|
+
import { deepMerge as b } from "./object/deepMerge.js";
|
|
22
|
+
import { generateText as x } from "./string/generateText.js";
|
|
23
|
+
import { generateTokenizedText as S } from "./string/generateTokenizedText.js";
|
|
24
|
+
import { interpolate as C } from "./string/interpolate.js";
|
|
25
|
+
import { interpolateLiteral as w } from "./string/interpolateLiteral.js";
|
|
26
|
+
export { g as clamp, i as createElement, t as debounce, v as deepClone, b as deepMerge, a as doElementsOverlap, e as extractByIndices, x as generateText, S as generateTokenizedText, o as getCSSDeclaration, s as getElement, _ as getRandomInteger, C as interpolate, w as interpolateLiteral, c as isElement, p as isFunction, m as isNil, y as isObject, l as isString, u as modifyElement, h as normalizeMinMax, d as removeElement, f as resolveClassName, n as standby, r as throttle };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=e=>structuredClone(e);exports.deepClone=e;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module object/deepClone
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @function
|
|
6
|
+
* @example
|
|
7
|
+
* import { deepClone } from '@untemps/utils/object/deepClone'
|
|
8
|
+
*
|
|
9
|
+
* const original = { a: 1, b: { c: [2, 3] } }
|
|
10
|
+
* const clone = deepClone(original)
|
|
11
|
+
* clone.b.c.push(4)
|
|
12
|
+
* console.log(original.b.c) // [2, 3]
|
|
13
|
+
*
|
|
14
|
+
* @param value - The value to deep clone. Must be serialisable by the structured clone algorithm (functions and DOM nodes are not supported).
|
|
15
|
+
* @returns A deep clone of the value.
|
|
16
|
+
*/
|
|
17
|
+
export declare const deepClone: <T>(value: T) => T;
|
|
18
|
+
//# sourceMappingURL=deepClone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepClone.d.ts","sourceRoot":"","sources":["../../src/object/deepClone.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,CAA2B,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./isObject.cjs`);var t=(n,r)=>{for(let
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./isObject.cjs`);var t=(n,r,i=!1)=>{let a=i?r:structuredClone(r);for(let r of Object.keys(n))if(r in a&&e.isObject(n[r])&&e.isObject(a[r]))a[r]=t(n[r],a[r],i);else{let e=n[r];a[r]=typeof e==`object`&&e?structuredClone(e):e}return a};exports.deepMerge=t;
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
*
|
|
13
13
|
* @param source - The object to merge into the target.
|
|
14
14
|
* @param target - The target object where source will be merged.
|
|
15
|
-
* @
|
|
15
|
+
* @param mutate - If true, merges directly into target without cloning. Defaults to false.
|
|
16
|
+
* @returns The merged object — a new object when mutate is false, target itself when mutate is true.
|
|
16
17
|
*/
|
|
17
|
-
export declare const deepMerge: (source: Record<string, unknown>, target: Record<string, unknown
|
|
18
|
+
export declare const deepMerge: (source: Record<string, unknown>, target: Record<string, unknown>, mutate?: boolean) => Record<string, unknown>;
|
|
18
19
|
//# sourceMappingURL=deepMerge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/object/deepMerge.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH
|
|
1
|
+
{"version":3,"file":"deepMerge.d.ts","sourceRoot":"","sources":["../../src/object/deepMerge.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,GACrB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,gBAAc,KACZ,MAAM,CAAC,MAAM,EAAE,OAAO,CAexB,CAAA"}
|
package/dist/object/deepMerge.js
CHANGED
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { isObject as e } from "./isObject.js";
|
|
2
2
|
//#region src/object/deepMerge.ts
|
|
3
|
-
var t = (n, r) => {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
var t = (n, r, i = !1) => {
|
|
4
|
+
let a = i ? r : structuredClone(r);
|
|
5
|
+
for (let r of Object.keys(n)) if (r in a && e(n[r]) && e(a[r])) a[r] = t(n[r], a[r], i);
|
|
6
|
+
else {
|
|
7
|
+
let e = n[r];
|
|
8
|
+
a[r] = typeof e == "object" && e ? structuredClone(e) : e;
|
|
9
|
+
}
|
|
10
|
+
return a;
|
|
6
11
|
};
|
|
7
12
|
//#endregion
|
|
8
13
|
export { t as deepMerge };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../number/normalizeMinMax.cjs`),t=require(`../number/getRandomInteger.cjs`);var n=`year.learn.key.cook.crosswalk.script.chief.plan.meat.vague.demonstrator.dictionary.visible.bomber.variation.leader.channel.litigation.royalty.impulse.package.oppose.privilege.begin.operation.herd.hemisphere.incongruous.horror.pipe.start.vertical.worry.reform.unlike.exhibition.disagree.allow.patrol.combine.impress.invisible.cage.log.snow.undertake.division.ethics.damage.responsible`.split(`.`),r=(t,n)=>{let{min:r,max:i}=e.normalizeMinMax(Math.abs(t),Math.abs(n)),a=Math.max(r,1);return{min:a,max:Math.max(i,a)}},i=({minWords:e=10,maxWords:i=50,dictionary:a=n}={})=>{let o=``,{min:s,max:c}=r(e,i),l=t.getRandomInteger(s,c);for(let e=0;e<l;e++){let t=a[Math.floor(Math.random()*a.length)];o+=`${e>0?` `:``}${t}`}return o};exports.generateText=i;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../number/normalizeMinMax.cjs`),t=require(`../number/getRandomInteger.cjs`);var n=`year.learn.key.cook.crosswalk.script.chief.plan.meat.vague.demonstrator.dictionary.visible.bomber.variation.leader.channel.litigation.royalty.impulse.package.oppose.privilege.begin.operation.herd.hemisphere.incongruous.horror.pipe.start.vertical.worry.reform.unlike.exhibition.disagree.allow.patrol.combine.impress.invisible.cage.log.snow.undertake.division.ethics.damage.responsible`.split(`.`),r=(t,n)=>{let{min:r,max:i}=e.normalizeMinMax(Math.abs(t),Math.abs(n)),a=Math.max(r,1);return{min:a,max:Math.max(i,a)}},i=({minWords:e=10,maxWords:i=50,dictionary:a=n}={})=>{if(!a?.length)throw RangeError(`dictionary must not be empty`);let o=``,{min:s,max:c}=r(e,i),l=t.getRandomInteger(s,c);for(let e=0;e<l;e++){let t=a[Math.floor(Math.random()*a.length)];o+=`${e>0?` `:``}${t}`}return o};exports.generateText=i;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/string/generateText.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,qCAAsD,kBAAuB,KAAG,
|
|
1
|
+
{"version":3,"file":"generateText.d.ts","sourceRoot":"","sources":["../../src/string/generateText.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmEH;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,YAAY,GAAI,qCAAsD,kBAAuB,KAAG,MAU5G,CAAA"}
|
|
@@ -8,6 +8,7 @@ var n = /* @__PURE__ */ "year.learn.key.cook.crosswalk.script.chief.plan.meat.va
|
|
|
8
8
|
max: Math.max(i, a)
|
|
9
9
|
};
|
|
10
10
|
}, i = ({ minWords: e = 10, maxWords: i = 50, dictionary: a = n } = {}) => {
|
|
11
|
+
if (!a?.length) throw RangeError("dictionary must not be empty");
|
|
11
12
|
let o = "", { min: s, max: c } = r(e, i), l = t(s, c);
|
|
12
13
|
for (let e = 0; e < l; e++) {
|
|
13
14
|
let t = a[Math.floor(Math.random() * a.length)];
|
|
@@ -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
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t)=>e.replace(/\$\{(\w+)\}/g,(e,n)=>{if(!Object.hasOwn(t,n))throw ReferenceError(`${n} is not defined`);return String(t[n])});exports.interpolateLiteral=e;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=(e,t={})=>e.replace(/\$\{(\w+)\}/g,(e,n)=>{if(!Object.hasOwn(t,n))throw ReferenceError(`${n} is not defined`);return String(t[n])});exports.interpolateLiteral=e;
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
* interpolateLiteral(value, tokens) // A bird with 3 "wings" and a lot of dignity
|
|
16
16
|
*
|
|
17
17
|
* @param value - The literal-like string value to interpolate.
|
|
18
|
-
* @param tokens - An object of key/value pairs to replace the tokens. Keys must be valid identifiers (`\w+`).
|
|
18
|
+
* @param tokens - An object of key/value pairs to replace the tokens. Keys must be valid identifiers (`\w+`). Defaults to `{}`.
|
|
19
19
|
* @returns The interpolated string.
|
|
20
20
|
*/
|
|
21
|
-
export declare const interpolateLiteral: (value: string, tokens
|
|
21
|
+
export declare const interpolateLiteral: (value: string, tokens?: Record<string, unknown>) => string;
|
|
22
22
|
//# sourceMappingURL=interpolateLiteral.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interpolateLiteral.d.ts","sourceRoot":"","sources":["../../src/string/interpolateLiteral.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"interpolateLiteral.d.ts","sourceRoot":"","sources":["../../src/string/interpolateLiteral.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,EAAE,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,KAAG,MAKxF,CAAA"}
|