@visulima/object 2.0.4 → 3.0.0-alpha.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/CHANGELOG.md CHANGED
@@ -1,3 +1,115 @@
1
+ ## @visulima/object [3.0.0-alpha.10](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.9...@visulima/object@3.0.0-alpha.10) (2026-04-21)
2
+
3
+ ### Miscellaneous Chores
4
+
5
+ * **api-platform:** apply pending lint and source updates ([3fb0043](https://github.com/visulima/visulima/commit/3fb0043a4cf35f752ca89a09a077100ae0142da8))
6
+ * bump engines.node to ^22.14.0 || >=24.10.0 ([c3d0931](https://github.com/visulima/visulima/commit/c3d0931d1504e4f21ebf50ea680cfa7ce4ba15ce))
7
+ * fixed jsr.json ([5d85e51](https://github.com/visulima/visulima/commit/5d85e5179de38e284ec433b14d77c71a1619c8d6))
8
+ * **object:** apply pending changes ([0420964](https://github.com/visulima/visulima/commit/0420964a5ddbc16a02e5e2a80d65efaf0464fcca))
9
+
10
+ ## @visulima/object [3.0.0-alpha.9](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.8...@visulima/object@3.0.0-alpha.9) (2026-04-15)
11
+
12
+ ### Bug Fixes
13
+
14
+ * **data-manipulation:** resolve eslint and type-safety issues ([f1682c2](https://github.com/visulima/visulima/commit/f1682c2611cbcc6c85d4bbea520d43464b42e7ee))
15
+ * **object:** pass OmittedKeys/PickedKeys generics to recursive calls ([1943c39](https://github.com/visulima/visulima/commit/1943c3912844b133611fe5d207c52a0f78ef51dc))
16
+
17
+ ## @visulima/object [3.0.0-alpha.8](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.7...@visulima/object@3.0.0-alpha.8) (2026-04-08)
18
+
19
+ ### Bug Fixes
20
+
21
+ * **object:** suppress eslint rules for recursive utility type patterns ([f68ce68](https://github.com/visulima/visulima/commit/f68ce68b45c6d03cf072bdf9d632478e7c7cd8eb))
22
+
23
+ ### Miscellaneous Chores
24
+
25
+ * apply linting and formatting fixes across packages ([5d150a5](https://github.com/visulima/visulima/commit/5d150a578f9ce861c791843c683deeb849b774a9))
26
+ * **data-manipulation:** remove empty dependency objects from package.json ([c0e8f76](https://github.com/visulima/visulima/commit/c0e8f7689a2da413f771494f6ecb07babc4b5e06))
27
+ * **object:** add tsconfig.eslint.json for type-aware linting ([f22e998](https://github.com/visulima/visulima/commit/f22e998b368ad0de17cf8b71280a67c9d98070d0))
28
+ * **object:** apply auto-fix formatting ([2e94ac5](https://github.com/visulima/visulima/commit/2e94ac5afa7cf890d1f37a5fa7a7a0cf961087e4))
29
+ * **object:** apply prettier formatting ([893b38f](https://github.com/visulima/visulima/commit/893b38f86b7f22f9f65bb8a02812bf5b1de1e051))
30
+ * **object:** migrate .prettierrc.cjs to prettier.config.js ([6fd82bc](https://github.com/visulima/visulima/commit/6fd82bcb393bcc3e8f7223210dc18f421949ab17))
31
+
32
+ ## @visulima/object [3.0.0-alpha.7](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.6...@visulima/object@3.0.0-alpha.7) (2026-03-26)
33
+
34
+ ### Features
35
+
36
+ * **web:** auto-generate packages page from workspace metadata ([623e520](https://github.com/visulima/visulima/commit/623e5207693a7fe720f5f2f179593a3654c880e3))
37
+
38
+ ## @visulima/object [3.0.0-alpha.6](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.5...@visulima/object@3.0.0-alpha.6) (2026-03-26)
39
+
40
+ ### Bug Fixes
41
+
42
+ * **web:** improve build setup with incremental stats caching and prod install ([fe33e75](https://github.com/visulima/visulima/commit/fe33e75827586779b4b3a0c6d57b39f889ee6207))
43
+
44
+ ### Miscellaneous Chores
45
+
46
+ * **object:** migrate deps to pnpm catalogs ([690cca3](https://github.com/visulima/visulima/commit/690cca39fa4903d1538e830340c07392e4d358ae))
47
+ * **object:** update dependencies ([5ebd3d5](https://github.com/visulima/visulima/commit/5ebd3d5c6a7001877b4ad4f8e877f1dc78b60d1e))
48
+ * visulima website ([#591](https://github.com/visulima/visulima/issues/591)) ([59ab2e2](https://github.com/visulima/visulima/commit/59ab2e2befb03e51cd2088956f83d9b87de6d033))
49
+
50
+ ### Code Refactoring
51
+
52
+ * **docs:** migrate Nextra components to fumadocs-ui, remove Nextra stripping ([484878f](https://github.com/visulima/visulima/commit/484878f01879363ef5e9a0282904dc4627d6060c))
53
+
54
+ ## @visulima/object [3.0.0-alpha.5](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.4...@visulima/object@3.0.0-alpha.5) (2026-03-06)
55
+
56
+ ### Bug Fixes
57
+
58
+ * **object:** update packem to 2.0.0-alpha.54 ([a539ca7](https://github.com/visulima/visulima/commit/a539ca75ba8307c4402edc9e79d192dbb4aecf06))
59
+
60
+ ### Documentation
61
+
62
+ * **object,redact,colorize,path,fs:** add comprehensive Fumadocs documentation ([19c3840](https://github.com/visulima/visulima/commit/19c384041db855e1c2de41ce2067458b39737565))
63
+
64
+ ### Miscellaneous Chores
65
+
66
+ * **data-manipulation:** update dependencies ([49458ab](https://github.com/visulima/visulima/commit/49458ab8f8e17d875840b1b4fe8b5efe12ff3513))
67
+ * **object:** update dependencies ([173c843](https://github.com/visulima/visulima/commit/173c843f32aa8d019ba08fc6a2571a2bca22884e))
68
+ * **object:** update dependencies ([8a9ce76](https://github.com/visulima/visulima/commit/8a9ce763a67693643324f8c31850dcd88938fffc))
69
+ * update lock file maintenance ([d83e716](https://github.com/visulima/visulima/commit/d83e71697b75d24704185b66bb521a934d2db02d))
70
+ * year update ([47f4105](https://github.com/visulima/visulima/commit/47f410596ce7190cfea36a073db32e0cec50bbcd))
71
+
72
+ ## @visulima/object [3.0.0-alpha.4](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.3...@visulima/object@3.0.0-alpha.4) (2025-12-27)
73
+
74
+ ### Bug Fixes
75
+
76
+ * **object:** update package files ([5a8dad8](https://github.com/visulima/visulima/commit/5a8dad850ba0089bbd1dbd79070b49d42ea16b88))
77
+
78
+ ### Miscellaneous Chores
79
+
80
+ * fixed project.json names and schema path ([964722f](https://github.com/visulima/visulima/commit/964722f691db205c7edb9aa6db29e849a647500b))
81
+
82
+ ## @visulima/object [3.0.0-alpha.3](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.2...@visulima/object@3.0.0-alpha.3) (2025-12-11)
83
+
84
+ ### Bug Fixes
85
+
86
+ * update package OG images across multiple packages ([f08e4dd](https://github.com/visulima/visulima/commit/f08e4dd2b105ccb29c8412020a9c2be36d6c1e9e))
87
+
88
+ ## @visulima/object [3.0.0-alpha.2](https://github.com/visulima/visulima/compare/@visulima/object@3.0.0-alpha.1...@visulima/object@3.0.0-alpha.2) (2025-12-06)
89
+
90
+ ### Bug Fixes
91
+
92
+ * add new package image, fixed readme rendering on npm, fixed building of packages ([b790ba2](https://github.com/visulima/visulima/commit/b790ba253ea07fef83528fd822a678facf021b5f))
93
+
94
+ ### Miscellaneous Chores
95
+
96
+ * update @anolilab/semantic-release-pnpm and @anolilab/semantic-release-preset to versions 3.2.2 and 12.1.2 across multiple package.json files for improved compatibility ([3921626](https://github.com/visulima/visulima/commit/3921626141fe5da398749bf0ba675f1596f18afb))
97
+
98
+ ## @visulima/object [3.0.0-alpha.1](https://github.com/visulima/visulima/compare/@visulima/object@2.0.4...@visulima/object@3.0.0-alpha.1) (2025-12-04)
99
+
100
+ ### ⚠ BREAKING CHANGES
101
+
102
+ * change min node version to 22.13
103
+
104
+ ### Bug Fixes
105
+
106
+ * update Node.js engine version requirement to >=22.13 in multiple package.json files for improved compatibility ([b828e9a](https://github.com/visulima/visulima/commit/b828e9aeaebfc798eecddccd90e6ec7560c6d36a))
107
+
108
+ ### Miscellaneous Chores
109
+
110
+ * moved all packages into groups ([0615e9d](https://github.com/visulima/visulima/commit/0615e9d14a8a886e11da529ce150cf31ca973c10))
111
+ * update dependencies across multiple packages to improve compatibility and performance, including upgrading `@anolilab/semantic-release-pnpm` and `@anolilab/semantic-release-preset` to versions 3.2.0 and 12.1.0 respectively, and updating `react`, `react-dom`, and `next` versions to 19.2.1 and 16.0.7 in various package.json files ([aee8fcd](https://github.com/visulima/visulima/commit/aee8fcd796ae9b8d055903260e7150996ea9f53d))
112
+
1
113
  ## @visulima/object [2.0.4](https://github.com/visulima/visulima/compare/@visulima/object@2.0.3...@visulima/object@2.0.4) (2025-11-13)
2
114
 
3
115
  ### Bug Fixes
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 visulima
3
+ Copyright (c) 2026 visulima
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,21 +1,24 @@
1
- <div align="center">
2
- <h3>visulima object</h3>
3
- <p>
4
- Helper functions for working with objects, build on top of
1
+ <!-- START_PACKAGE_OG_IMAGE_PLACEHOLDER -->
5
2
 
6
- [is-plain-obj][is-plain-obj],
7
- [dot-prop][dot-prop],
8
- [deeks][deeks] and
9
- [type-fest][type-fest]
3
+ <a href="https://www.anolilab.com/open-source" align="center">
10
4
 
11
- </p>
12
- </div>
5
+ <img src="__assets__/package-og.svg" alt="object" />
6
+
7
+ </a>
8
+
9
+ <h3 align="center">Helper functions for working with objects and arrays.</h3>
10
+
11
+ <!-- END_PACKAGE_OG_IMAGE_PLACEHOLDER -->
13
12
 
14
13
  <br />
15
14
 
16
15
  <div align="center">
17
16
 
18
- [![typescript-image]][typescript-url] [![npm-image]][npm-url] [![license-image]][license-url]
17
+ [![typescript-image][typescript-badge]][typescript-url]
18
+ [![mit licence][license-badge]][license]
19
+ [![npm downloads][npm-downloads-badge]][npm-downloads]
20
+ [![Chat][chat-badge]][chat]
21
+ [![PRs Welcome][prs-welcome-badge]][prs-welcome]
19
22
 
20
23
  </div>
21
24
 
@@ -124,18 +127,23 @@ If you would like to help take a look at the [list of issues](https://github.com
124
127
  - [Daniel Bannert](https://github.com/prisis)
125
128
  - [All Contributors](https://github.com/visulima/visulima/graphs/contributors)
126
129
 
130
+ ## Made with ❤️ at Anolilab
131
+
132
+ This is an open source project and will always remain free to use. If you think it's cool, please star it 🌟. [Anolilab](https://www.anolilab.com/open-source) is a Development and AI Studio. Contact us at [hello@anolilab.com](mailto:hello@anolilab.com) if you need any help with these technologies or just want to say hi!
133
+
127
134
  ## License
128
135
 
129
- The visulima object is open-sourced software licensed under the [MIT][license-url]
136
+ The visulima object is open-sourced software licensed under the [MIT][license]
130
137
 
131
- [typescript-image]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
138
+ <!-- badges -->
132
139
 
133
- [typescript-url]: https://www.typescriptlang.org/ "TypeScript" "typescript"
134
- [license-image]: https://img.shields.io/npm/l/@visulima/object?color=blueviolet&style=for-the-badge
135
- [license-url]: LICENSE.md "license"
136
- [npm-image]: https://img.shields.io/npm/v/@visulima/object/latest.svg?style=for-the-badge&logo=npm
137
- [npm-url]: https://www.npmjs.com/package/@visulima/object/v/latest "npm"
138
- [is-plain-obj]: https://github.com/sindresorhus/is-plain-obj
139
- [dot-prop]: https://github.com/sindresorhus/dot-prop
140
- [deeks]: https://github.com/mrodrig/deeks
141
- [type-fest]: https://github.com/sindresorhus/type-fest
140
+ [license-badge]: https://img.shields.io/npm/l/@visulima/object?style=for-the-badge
141
+ [license]: https://github.com/visulima/visulima/blob/main/LICENSE
142
+ [npm-downloads-badge]: https://img.shields.io/npm/dm/@visulima/object?style=for-the-badge
143
+ [npm-downloads]: https://www.npmjs.com/package/@visulima/object
144
+ [prs-welcome-badge]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=for-the-badge
145
+ [prs-welcome]: https://github.com/visulima/visulima/blob/main/.github/CONTRIBUTING.md
146
+ [chat-badge]: https://img.shields.io/discord/932323359193186354.svg?style=for-the-badge
147
+ [chat]: https://discord.gg/TtFJY8xkFK
148
+ [typescript-badge]: https://img.shields.io/badge/Typescript-294E80.svg?style=for-the-badge&logo=typescript
149
+ [typescript-url]: https://www.typescriptlang.org/
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var F=Object.defineProperty;var s=(y,d)=>F(y,"name",{value:d,configurable:!0});import{default as J}from"./packem_shared/omit-BfV-sPAM.js";import{default as V}from"./packem_shared/pick-CT4qE7de.js";import{deleteProperty as Y,escapePath as Z,getProperty as $,hasProperty as ee,setProperty as te}from"./packem_shared/getProperty-DPNB_aKG.js";import{default as ne}from"./packem_shared/isPlainObject-CLTs8VdF.js";var c={},p={},w;function I(){if(w)return p;w=1;var y=Object.defineProperty,d=s((u,K)=>y(u,"name",{value:K,configurable:!0}),"t");Object.defineProperty(p,"__esModule",{value:!0}),p.isDocumentToRecurOn=p.flatten=p.unique=void 0;function i(u){return[...new Set(u)]}s(i,"unique"),d(i,"unique"),p.unique=i;function m(u){return[].concat(...u)}s(m,"flatten"),d(m,"flatten"),p.flatten=m;function j(u){return typeof u=="object"&&u!==null&&!Array.isArray(u)&&Object.keys(u).length}return s(j,"isDocumentToRecurOn"),d(j,"isDocumentToRecurOn"),p.isDocumentToRecurOn=j,p}s(I,"requireUtils");var x={},E;function W(){return E||(E=1,Object.defineProperty(x,"__esModule",{value:!0})),x}s(W,"requireTypes");var M;function B(){return M||(M=1,(function(y){var d=Object.defineProperty,i=s((e,t)=>d(e,"name",{value:t,configurable:!0}),"u"),m=c&&c.__createBinding||(Object.create?(function(e,t,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(t,r);(!a||("get"in a?!t.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:i(function(){return t[r]},"get")}),Object.defineProperty(e,n,a)}):(function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]})),j=c&&c.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),u=c&&c.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r in e)r!=="default"&&Object.prototype.hasOwnProperty.call(e,r)&&m(t,e,r);return j(t,e),t},K=c&&c.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&m(t,e,r)};Object.defineProperty(y,"__esModule",{value:!0}),y.deepKeysFromList=y.deepKeys=void 0;const O=u(I());K(W(),y);function S(e,t){const r=q(t);return typeof e=="object"&&e!==null?k("",e,r,new WeakSet):[]}s(S,"deepKeys"),i(S,"deepKeys"),y.deepKeys=S;function P(e,t,r){const n=q(t),a=r??new WeakSet;return e.map(f=>typeof f=="object"&&f!==null?a.has(f)?[]:k("",f,n,a):[])}s(P,"deepKeysFromList"),i(P,"deepKeysFromList"),y.deepKeysFromList=P;function k(e,t,r,n){const a=[],f=Object.keys(t);n.add(t);const l=[{obj:t,keys:f,i:0,basePath:e}];for(;l.length;){const g=l[l.length-1];if(g.i>=g.keys.length){l.pop();continue}const N=g.keys[g.i++],o=g.obj[N],_=v(g.basePath,D(N,r));if(r.expandNestedObjects&&O.isDocumentToRecurOn(o)||r.arrayIndexesAsKeys&&Array.isArray(o)&&o.length)if(r.arrayIndexesAsKeys&&Array.isArray(o)){const A=o;for(let h=A.length-1;h>=0;h--){const b=A[h],R=v(_,String(h));typeof b=="object"&&b!==null&&!Array.isArray(b)?n.has(b)||(n.add(b),l.push({obj:b,keys:Object.keys(b),i:0,basePath:R})):a.push(R)}}else n.has(o)||(n.add(o),l.push({obj:o,keys:Object.keys(o),i:0,basePath:_}));else if(r.expandArrayObjects&&Array.isArray(o)){const A=L(o,_,r,n);for(const h of A)a.push(h)}else{if(r.ignoreEmptyArrays&&Array.isArray(o)&&!o.length)continue;a.push(_)}}return O.unique(a)}s(k,"generateDeepKeysList"),i(k,"generateDeepKeysList");function L(e,t,r,n){let a=P(e,r,n);return e.length?e.length&&O.flatten(a).length===0?[t]:(a=a.map(f=>Array.isArray(f)&&f.length===0?[t]:f.map(l=>v(t,D(l,r)))),O.unique(O.flatten(a))):r.ignoreEmptyArraysWhenExpanding?[]:[t]}s(L,"processArrayKeys"),i(L,"processArrayKeys");function D(e,t){return t.escapeNestedDots?e.replace(/\./g,"\\."):e}s(D,"escapeNestedDotsIfSpecified"),i(D,"escapeNestedDotsIfSpecified");function v(e,t){return e?e+"."+t:t}s(v,"buildKeyName"),i(v,"buildKeyName");function q(e){return{arrayIndexesAsKeys:!1,expandNestedObjects:!0,expandArrayObjects:!1,ignoreEmptyArraysWhenExpanding:!1,escapeNestedDots:!1,ignoreEmptyArrays:!1,...e??{}}}s(q,"mergeOptions"),i(q,"mergeOptions")})(c)),c}s(B,"requireDeeks");var T=B();const z=T.deepKeys,C=T.deepKeysFromList;export{z as deepKeys,C as deepKeysFromList,Y as deleteProperty,Z as escapePath,$ as getProperty,ee as hasProperty,ne as isPlainObject,J as omit,V as pick,te as setProperty};
1
+ var T=Object.defineProperty;var a=(t,c)=>T(t,"name",{value:c,configurable:!0});import{default as $}from"./packem_shared/omit-B99pE0nL.js";import{default as te}from"./packem_shared/pick-DxtQt02k.js";import{deleteProperty as ne,escapePath as ae,getProperty as oe,hasProperty as se,setProperty as ue}from"./packem_shared/getProperty-DPNB_aKG.js";import{default as ie}from"./packem_shared/isPlainObject-CLTs8VdF.js";var W=Object.defineProperty,j=a((t,c)=>W(t,"name",{value:c,configurable:!0}),"t");function B(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}a(B,"getDefaultExportFromCjs");j(B,"getDefaultExportFromCjs");function C(t){return t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}a(C,"getDefaultExportFromNamespaceIfPresent");j(C,"getDefaultExportFromNamespaceIfPresent");function U(t){return t&&Object.prototype.hasOwnProperty.call(t,"default")&&Object.keys(t).length===1?t.default:t}a(U,"getDefaultExportFromNamespaceIfNotNamed");j(U,"getDefaultExportFromNamespaceIfNotNamed");function z(t){if(Object.prototype.hasOwnProperty.call(t,"__esModule"))return t;var c=t.default;if(typeof c=="function"){var u=j(a(function p(){var y=!1;try{y=this instanceof p}catch{}return y?Reflect.construct(c,arguments,this.constructor):c.apply(this,arguments)},"a"),"a");u.prototype=c.prototype}else u={};return Object.defineProperty(u,"__esModule",{value:!0}),Object.keys(t).forEach(function(p){var y=Object.getOwnPropertyDescriptor(t,p);Object.defineProperty(u,p,y.get?y:{enumerable:!0,get:j(function(){return t[p]},"get")})}),u}a(z,"getAugmentedNamespace");j(z,"getAugmentedNamespace");var l={},b={},S;function G(){if(S)return b;S=1;var t=Object.defineProperty,c=a((f,D)=>t(f,"name",{value:D,configurable:!0}),"t");Object.defineProperty(b,"__esModule",{value:!0}),b.isDocumentToRecurOn=b.flatten=b.unique=void 0;function u(f){return[...new Set(f)]}a(u,"unique"),c(u,"unique"),b.unique=u;function p(f){return[].concat(...f)}a(p,"flatten"),c(p,"flatten"),b.flatten=p;function y(f){return typeof f=="object"&&f!==null&&!Array.isArray(f)&&Object.keys(f).length}return a(y,"isDocumentToRecurOn"),c(y,"isDocumentToRecurOn"),b.isDocumentToRecurOn=y,b}a(G,"requireUtils");var E={},I;function H(){return I||(I=1,Object.defineProperty(E,"__esModule",{value:!0})),E}a(H,"requireTypes");var R;function J(){return R||(R=1,(function(t){var c=Object.defineProperty,u=a((e,r)=>c(e,"name",{value:r,configurable:!0}),"u"),p=l&&l.__createBinding||(Object.create?(function(e,r,n,o){o===void 0&&(o=n);var s=Object.getOwnPropertyDescriptor(r,n);(!s||("get"in s?!r.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:u(function(){return r[n]},"get")}),Object.defineProperty(e,o,s)}):(function(e,r,n,o){o===void 0&&(o=n),e[o]=r[n]})),y=l&&l.__setModuleDefault||(Object.create?(function(e,r){Object.defineProperty(e,"default",{enumerable:!0,value:r})}):function(e,r){e.default=r}),f=l&&l.__importStar||function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&p(r,e,n);return y(r,e),r},D=l&&l.__exportStar||function(e,r){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(r,n)&&p(r,e,n)};Object.defineProperty(t,"__esModule",{value:!0}),t.deepKeysFromList=t.deepKeys=void 0;const v=f(G());D(H(),t);function q(e,r){const n=N(r);return typeof e=="object"&&e!==null?k("",e,n,new WeakSet):[]}a(q,"deepKeys"),u(q,"deepKeys"),t.deepKeys=q;function K(e,r,n){const o=N(r),s=n??new WeakSet;return e.map(d=>typeof d=="object"&&d!==null?s.has(d)?[]:k("",d,o,s):[])}a(K,"deepKeysFromList"),u(K,"deepKeysFromList"),t.deepKeysFromList=K;function k(e,r,n,o){const s=[],d=Object.keys(r);o.add(r);const m=[{obj:r,keys:d,i:0,basePath:e}];for(;m.length;){const O=m[m.length-1];if(O.i>=O.keys.length){m.pop();continue}const F=O.keys[O.i++],i=O.obj[F],P=_(O.basePath,x(F,n));if(n.expandNestedObjects&&v.isDocumentToRecurOn(i)||n.arrayIndexesAsKeys&&Array.isArray(i)&&i.length)if(n.arrayIndexesAsKeys&&Array.isArray(i)){const A=i;for(let h=A.length-1;h>=0;h--){const g=A[h],M=_(P,String(h));typeof g=="object"&&g!==null&&!Array.isArray(g)?o.has(g)||(o.add(g),m.push({obj:g,keys:Object.keys(g),i:0,basePath:M})):s.push(M)}}else o.has(i)||(o.add(i),m.push({obj:i,keys:Object.keys(i),i:0,basePath:P}));else if(n.expandArrayObjects&&Array.isArray(i)){const A=w(i,P,n,o);for(const h of A)s.push(h)}else{if(n.ignoreEmptyArrays&&Array.isArray(i)&&!i.length)continue;s.push(P)}}return v.unique(s)}a(k,"generateDeepKeysList"),u(k,"generateDeepKeysList");function w(e,r,n,o){let s=K(e,n,o);return e.length?e.length&&v.flatten(s).length===0?[r]:(s=s.map(d=>Array.isArray(d)&&d.length===0?[r]:d.map(m=>_(r,x(m,n)))),v.unique(v.flatten(s))):n.ignoreEmptyArraysWhenExpanding?[]:[r]}a(w,"processArrayKeys"),u(w,"processArrayKeys");function x(e,r){return r.escapeNestedDots?e.replace(/\./g,"\\."):e}a(x,"escapeNestedDotsIfSpecified"),u(x,"escapeNestedDotsIfSpecified");function _(e,r){return e?e+"."+r:r}a(_,"buildKeyName"),u(_,"buildKeyName");function N(e){return{arrayIndexesAsKeys:!1,expandNestedObjects:!0,expandArrayObjects:!1,ignoreEmptyArraysWhenExpanding:!1,escapeNestedDots:!1,ignoreEmptyArrays:!1,...e??{}}}a(N,"mergeOptions"),u(N,"mergeOptions")})(l)),l}a(J,"requireDeeks");var L=J();const V=L.deepKeys,X=L.deepKeysFromList;export{V as deepKeys,X as deepKeysFromList,ne as deleteProperty,ae as escapePath,oe as getProperty,se as hasProperty,ie as isPlainObject,$ as omit,te as pick,ue as setProperty};
@@ -0,0 +1 @@
1
+ var v=Object.defineProperty;var i=(r,e)=>v(r,"name",{value:e,configurable:!0});import m from"./isPlainObject-CLTs8VdF.js";import{c as s}from"./paths-are-equal-BYur8Hqc.js";var b=Object.defineProperty,p=i((r,e)=>b(r,"name",{value:e,configurable:!0}),"u");const c=p((r,e,f="")=>m(r)?Object.entries(r).reduce((a,[t,u])=>{let o=f;return o&&(o+="."),o+=t,e.some(n=>s(o,n))?a:m(u)?(a[t]=c(r[t],e,o),a):(a[t]=u,a)},{}):r,"recursiveOmit");var y=Object.defineProperty,l=i((r,e)=>y(r,"name",{value:e,configurable:!0}),"r");const d=l(r=>Array.isArray(r)&&r.length>0,"isFullArray"),A=l((r,e)=>d(e)?c(r,e):r,"omit");export{A as default};
@@ -0,0 +1 @@
1
+ var d=Object.defineProperty;var a=(e,r)=>d(e,"name",{value:r,configurable:!0});import u from"./isPlainObject-CLTs8VdF.js";import{c as h}from"./paths-are-equal-BYur8Hqc.js";var j=Object.defineProperty,y=a((e,r)=>j(e,"name",{value:r,configurable:!0}),"a$1");const f=y((e,r,s="")=>u(e)?Object.entries(e).reduce((l,[i,c])=>{let t=s;if(t&&(t+="."),t+=i,r.length>0){let n=!1;if(r.forEach(o=>{const v=t.split(".").length,g=o.split(".").length,m=o.split(".").slice(0,v).join("."),b=t.split(".").slice(0,g).join(".");h(b,m)&&(n=!0)}),!n)return l}return u(c)?(l[i]=f(e[i],r,t),l):(l[i]=c,l)},{}):e,"recursivePick");var P=Object.defineProperty,p=a((e,r)=>P(e,"name",{value:r,configurable:!0}),"t");const A=p(e=>Array.isArray(e)&&e.length>0,"isFullArray"),E=p((e,r)=>A(r)?f(e,r):{},"pick");export{E as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visulima/object",
3
- "version": "2.0.4",
3
+ "version": "3.0.0-alpha.10",
4
4
  "description": "Helper functions for working with objects and arrays.",
5
5
  "keywords": [
6
6
  "visulima",
@@ -28,7 +28,7 @@
28
28
  "repository": {
29
29
  "type": "git",
30
30
  "url": "git+https://github.com/visulima/visulima.git",
31
- "directory": "packages/object"
31
+ "directory": "packages/data-manipulation/object"
32
32
  },
33
33
  "funding": [
34
34
  {
@@ -59,8 +59,11 @@
59
59
  "README.md",
60
60
  "CHANGELOG.md"
61
61
  ],
62
+ "dependencies": {
63
+ "type-fest": "5.6.0"
64
+ },
62
65
  "engines": {
63
- "node": ">=20.19 <=25.x"
66
+ "node": "^22.14.0 || >=24.10.0"
64
67
  },
65
68
  "publishConfig": {
66
69
  "access": "public",
@@ -1 +0,0 @@
1
- var v=Object.defineProperty;var i=(r,e)=>v(r,"name",{value:e,configurable:!0});import m from"./isPlainObject-CLTs8VdF.js";import{c as s}from"./paths-are-equal-BYur8Hqc.js";var b=Object.defineProperty,p=i((r,e)=>b(r,"name",{value:e,configurable:!0}),"m$1");const u=p((r,e,l="")=>m(r)?Object.entries(r).reduce((a,[o,n])=>{let t=l;return t&&(t+="."),t+=o,e.some(f=>s(t,f))?a:m(n)?(a[o]=u(r[o],e,t),a):(a[o]=n,a)},{}):r,"recursiveOmit");var y=Object.defineProperty,c=i((r,e)=>y(r,"name",{value:e,configurable:!0}),"r");const d=c(r=>Array.isArray(r)&&r.length>0,"isFullArray"),A=c((r,e)=>d(e)?u(r,e):r,"omit");export{A as default};
@@ -1 +0,0 @@
1
- var b=Object.defineProperty;var a=(e,r)=>b(e,"name",{value:r,configurable:!0});import u from"./isPlainObject-CLTs8VdF.js";import{c as d}from"./paths-are-equal-BYur8Hqc.js";var j=Object.defineProperty,y=a((e,r)=>j(e,"name",{value:r,configurable:!0}),"h");const s=y((e,r,p="")=>u(e)?Object.entries(e).reduce((i,[l,c])=>{let t=p;if(t&&(t+="."),t+=l,r.length>0){let n=!1;if(r.forEach(o=>{const v=t.split(".").length,g=o.split(".").length,h=o.split(".").slice(0,v).join("."),m=t.split(".").slice(0,g).join(".");d(m,h)&&(n=!0)}),!n)return i}return u(c)?(i[l]=s(e[l],r,t),i):(i[l]=c,i)},{}):e,"recursivePick");var P=Object.defineProperty,f=a((e,r)=>P(e,"name",{value:r,configurable:!0}),"t");const A=f(e=>Array.isArray(e)&&e.length>0,"isFullArray"),E=f((e,r)=>A(r)?s(e,r):{},"pick");export{E as default};