@untemps/utils 4.0.0-beta.1 → 4.0.0-beta.3

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.
@@ -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 e in n)n[e]===void 0||n[e]===null?r?.removeAttribute(e):r?.setAttribute(e,n[e]);return r};exports.modifyElement=t;
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 in n) n[e] === void 0 || n[e] === null ? r?.removeAttribute(e) : r?.setAttribute(e, n[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
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./isObject.cjs`);var t=(n,r)=>{for(let i of Object.keys(n))e.isObject(n[i])&&i in r&&Object.assign(n[i],t(n[i],r[i]));return Object.assign(r||{},n),r};exports.deepMerge=t;
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))r in a&&e.isObject(n[r])&&e.isObject(a[r])?a[r]=t(n[r],a[r],i):a[r]=e.isObject(n[r])?structuredClone(n[r]):n[r];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
- * @returns The target object containing both source and target keys with source precedence.
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>) => 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;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,SAAS,GACrB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,MAAM,CAAC,MAAM,EAAE,OAAO,CAWxB,CAAA"}
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,CAcxB,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { isObject as e } from "./isObject.js";
2
2
  //#region src/object/deepMerge.ts
3
- var t = (n, r) => {
4
- for (let i of Object.keys(n)) e(n[i]) && i in r && Object.assign(n[i], t(n[i], r[i]));
5
- return Object.assign(r || {}, n), r;
3
+ var t = (n, r, i = !1) => {
4
+ let a = i ? r : structuredClone(r);
5
+ for (let r of Object.keys(n)) r in a && e(n[r]) && e(a[r]) ? a[r] = t(n[r], a[r], i) : a[r] = e(n[r]) ? structuredClone(n[r]) : n[r];
6
+ return a;
6
7
  };
7
8
  //#endregion
8
9
  export { t as deepMerge };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@untemps/utils",
3
- "version": "4.0.0-beta.1",
3
+ "version": "4.0.0-beta.3",
4
4
  "description": "Utils for @untemps packages",
5
5
  "repository": "git@github.com:untemps/utils.git",
6
6
  "keywords": [],