@fluixi/utils 1.0.0-alpha.53

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.
Files changed (354) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +73 -0
  3. package/dist/index.cjs +1 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +1 -0
  7. package/dist/index.mjs +1 -0
  8. package/dist/lib/array/advanced.cjs +1 -0
  9. package/dist/lib/array/advanced.d.ts +1116 -0
  10. package/dist/lib/array/advanced.d.ts.map +1 -0
  11. package/dist/lib/array/advanced.js +2429 -0
  12. package/dist/lib/array/advanced.mjs +1 -0
  13. package/dist/lib/array/array.cjs +1 -0
  14. package/dist/lib/array/array.d.ts +6 -0
  15. package/dist/lib/array/array.d.ts.map +1 -0
  16. package/dist/lib/array/array.js +31 -0
  17. package/dist/lib/array/array.mjs +1 -0
  18. package/dist/lib/array/index.cjs +1 -0
  19. package/dist/lib/array/index.d.ts +4 -0
  20. package/dist/lib/array/index.d.ts.map +1 -0
  21. package/dist/lib/array/index.js +3 -0
  22. package/dist/lib/array/index.mjs +1 -0
  23. package/dist/lib/array/utils.cjs +1 -0
  24. package/dist/lib/array/utils.d.ts +100 -0
  25. package/dist/lib/array/utils.d.ts.map +1 -0
  26. package/dist/lib/array/utils.js +165 -0
  27. package/dist/lib/array/utils.mjs +1 -0
  28. package/dist/lib/color/color.cjs +1 -0
  29. package/dist/lib/color/color.d.ts +366 -0
  30. package/dist/lib/color/color.d.ts.map +1 -0
  31. package/dist/lib/color/color.js +722 -0
  32. package/dist/lib/color/color.mjs +1 -0
  33. package/dist/lib/color/constants.cjs +1 -0
  34. package/dist/lib/color/constants.d.ts +361 -0
  35. package/dist/lib/color/constants.d.ts.map +1 -0
  36. package/dist/lib/color/constants.js +358 -0
  37. package/dist/lib/color/constants.mjs +1 -0
  38. package/dist/lib/color/conversions.cjs +1 -0
  39. package/dist/lib/color/conversions.d.ts +166 -0
  40. package/dist/lib/color/conversions.d.ts.map +1 -0
  41. package/dist/lib/color/conversions.js +766 -0
  42. package/dist/lib/color/conversions.mjs +1 -0
  43. package/dist/lib/color/helpers.cjs +1 -0
  44. package/dist/lib/color/helpers.d.ts +75 -0
  45. package/dist/lib/color/helpers.d.ts.map +1 -0
  46. package/dist/lib/color/helpers.js +419 -0
  47. package/dist/lib/color/helpers.mjs +1 -0
  48. package/dist/lib/color/index.cjs +1 -0
  49. package/dist/lib/color/index.d.ts +12 -0
  50. package/dist/lib/color/index.d.ts.map +1 -0
  51. package/dist/lib/color/index.js +15 -0
  52. package/dist/lib/color/index.mjs +1 -0
  53. package/dist/lib/color/types.cjs +1 -0
  54. package/dist/lib/color/types.d.ts +179 -0
  55. package/dist/lib/color/types.d.ts.map +1 -0
  56. package/dist/lib/color/types.js +1 -0
  57. package/dist/lib/color/types.mjs +0 -0
  58. package/dist/lib/color/utils.cjs +1 -0
  59. package/dist/lib/color/utils.d.ts +199 -0
  60. package/dist/lib/color/utils.d.ts.map +1 -0
  61. package/dist/lib/color/utils.js +858 -0
  62. package/dist/lib/color/utils.mjs +1 -0
  63. package/dist/lib/compare/comparators.cjs +1 -0
  64. package/dist/lib/compare/comparators.d.ts +65 -0
  65. package/dist/lib/compare/comparators.d.ts.map +1 -0
  66. package/dist/lib/compare/comparators.js +210 -0
  67. package/dist/lib/compare/comparators.mjs +1 -0
  68. package/dist/lib/compare/index.cjs +1 -0
  69. package/dist/lib/compare/index.d.ts +2 -0
  70. package/dist/lib/compare/index.d.ts.map +1 -0
  71. package/dist/lib/compare/index.js +1 -0
  72. package/dist/lib/compare/index.mjs +1 -0
  73. package/dist/lib/crypto/hash.cjs +1 -0
  74. package/dist/lib/crypto/hash.d.ts +6 -0
  75. package/dist/lib/crypto/hash.d.ts.map +1 -0
  76. package/dist/lib/crypto/hash.js +53 -0
  77. package/dist/lib/crypto/hash.mjs +1 -0
  78. package/dist/lib/crypto/index.cjs +1 -0
  79. package/dist/lib/crypto/index.d.ts +2 -0
  80. package/dist/lib/crypto/index.d.ts.map +1 -0
  81. package/dist/lib/crypto/index.js +1 -0
  82. package/dist/lib/crypto/index.mjs +1 -0
  83. package/dist/lib/dom/events.cjs +1 -0
  84. package/dist/lib/dom/events.d.ts +159 -0
  85. package/dist/lib/dom/events.d.ts.map +1 -0
  86. package/dist/lib/dom/events.js +50 -0
  87. package/dist/lib/dom/events.mjs +1 -0
  88. package/dist/lib/dom/index.cjs +1 -0
  89. package/dist/lib/dom/index.d.ts +3 -0
  90. package/dist/lib/dom/index.d.ts.map +1 -0
  91. package/dist/lib/dom/index.js +2 -0
  92. package/dist/lib/dom/index.mjs +1 -0
  93. package/dist/lib/dom/utils.cjs +1 -0
  94. package/dist/lib/dom/utils.d.ts +6 -0
  95. package/dist/lib/dom/utils.d.ts.map +1 -0
  96. package/dist/lib/dom/utils.js +37 -0
  97. package/dist/lib/dom/utils.mjs +1 -0
  98. package/dist/lib/functions/functions.cjs +1 -0
  99. package/dist/lib/functions/functions.d.ts +329 -0
  100. package/dist/lib/functions/functions.d.ts.map +1 -0
  101. package/dist/lib/functions/functions.js +585 -0
  102. package/dist/lib/functions/functions.mjs +1 -0
  103. package/dist/lib/functions/index.cjs +1 -0
  104. package/dist/lib/functions/index.d.ts +3 -0
  105. package/dist/lib/functions/index.d.ts.map +1 -0
  106. package/dist/lib/functions/index.js +1 -0
  107. package/dist/lib/functions/index.mjs +1 -0
  108. package/dist/lib/functions/types.cjs +1 -0
  109. package/dist/lib/functions/types.d.ts +2 -0
  110. package/dist/lib/functions/types.d.ts.map +1 -0
  111. package/dist/lib/functions/types.js +1 -0
  112. package/dist/lib/functions/types.mjs +0 -0
  113. package/dist/lib/helpers.cjs +1 -0
  114. package/dist/lib/helpers.d.ts +13 -0
  115. package/dist/lib/helpers.d.ts.map +1 -0
  116. package/dist/lib/helpers.js +66 -0
  117. package/dist/lib/helpers.mjs +1 -0
  118. package/dist/lib/index.cjs +1 -0
  119. package/dist/lib/index.d.ts +6 -0
  120. package/dist/lib/index.d.ts.map +1 -0
  121. package/dist/lib/index.js +8 -0
  122. package/dist/lib/index.mjs +1 -0
  123. package/dist/lib/maths/constants.cjs +1 -0
  124. package/dist/lib/maths/constants.d.ts +84 -0
  125. package/dist/lib/maths/constants.d.ts.map +1 -0
  126. package/dist/lib/maths/constants.js +79 -0
  127. package/dist/lib/maths/constants.mjs +1 -0
  128. package/dist/lib/maths/fn/advanced.cjs +1 -0
  129. package/dist/lib/maths/fn/advanced.d.ts +149 -0
  130. package/dist/lib/maths/fn/advanced.d.ts.map +1 -0
  131. package/dist/lib/maths/fn/advanced.js +264 -0
  132. package/dist/lib/maths/fn/advanced.mjs +1 -0
  133. package/dist/lib/maths/fn/basic.cjs +1 -0
  134. package/dist/lib/maths/fn/basic.d.ts +182 -0
  135. package/dist/lib/maths/fn/basic.d.ts.map +1 -0
  136. package/dist/lib/maths/fn/basic.js +343 -0
  137. package/dist/lib/maths/fn/basic.mjs +1 -0
  138. package/dist/lib/maths/fn/complex.cjs +1 -0
  139. package/dist/lib/maths/fn/complex.d.ts +153 -0
  140. package/dist/lib/maths/fn/complex.d.ts.map +1 -0
  141. package/dist/lib/maths/fn/complex.js +383 -0
  142. package/dist/lib/maths/fn/complex.mjs +1 -0
  143. package/dist/lib/maths/fn/index.cjs +1 -0
  144. package/dist/lib/maths/fn/index.d.ts +10 -0
  145. package/dist/lib/maths/fn/index.d.ts.map +1 -0
  146. package/dist/lib/maths/fn/index.js +9 -0
  147. package/dist/lib/maths/fn/index.mjs +1 -0
  148. package/dist/lib/maths/fn/trigo.cjs +1 -0
  149. package/dist/lib/maths/fn/trigo.d.ts +147 -0
  150. package/dist/lib/maths/fn/trigo.d.ts.map +1 -0
  151. package/dist/lib/maths/fn/trigo.js +227 -0
  152. package/dist/lib/maths/fn/trigo.mjs +1 -0
  153. package/dist/lib/maths/fn/vector.cjs +1 -0
  154. package/dist/lib/maths/fn/vector.d.ts +512 -0
  155. package/dist/lib/maths/fn/vector.d.ts.map +1 -0
  156. package/dist/lib/maths/fn/vector.js +1136 -0
  157. package/dist/lib/maths/fn/vector.mjs +1 -0
  158. package/dist/lib/maths/formatter.cjs +1 -0
  159. package/dist/lib/maths/formatter.d.ts +35 -0
  160. package/dist/lib/maths/formatter.d.ts.map +1 -0
  161. package/dist/lib/maths/formatter.js +56 -0
  162. package/dist/lib/maths/formatter.mjs +1 -0
  163. package/dist/lib/maths/guards.cjs +1 -0
  164. package/dist/lib/maths/guards.d.ts +166 -0
  165. package/dist/lib/maths/guards.d.ts.map +1 -0
  166. package/dist/lib/maths/guards.js +315 -0
  167. package/dist/lib/maths/guards.mjs +1 -0
  168. package/dist/lib/maths/index.cjs +1 -0
  169. package/dist/lib/maths/index.d.ts +24 -0
  170. package/dist/lib/maths/index.d.ts.map +1 -0
  171. package/dist/lib/maths/index.js +29 -0
  172. package/dist/lib/maths/index.mjs +1 -0
  173. package/dist/lib/maths/parser.cjs +1 -0
  174. package/dist/lib/maths/parser.d.ts +20 -0
  175. package/dist/lib/maths/parser.d.ts.map +1 -0
  176. package/dist/lib/maths/parser.js +78 -0
  177. package/dist/lib/maths/parser.mjs +1 -0
  178. package/dist/lib/maths/random.cjs +1 -0
  179. package/dist/lib/maths/random.d.ts +27 -0
  180. package/dist/lib/maths/random.d.ts.map +1 -0
  181. package/dist/lib/maths/random.js +49 -0
  182. package/dist/lib/maths/random.mjs +1 -0
  183. package/dist/lib/maths/types/advanced.cjs +1 -0
  184. package/dist/lib/maths/types/advanced.d.ts +357 -0
  185. package/dist/lib/maths/types/advanced.d.ts.map +1 -0
  186. package/dist/lib/maths/types/advanced.js +5 -0
  187. package/dist/lib/maths/types/advanced.mjs +0 -0
  188. package/dist/lib/maths/types/basic.cjs +1 -0
  189. package/dist/lib/maths/types/basic.d.ts +95 -0
  190. package/dist/lib/maths/types/basic.d.ts.map +1 -0
  191. package/dist/lib/maths/types/basic.js +5 -0
  192. package/dist/lib/maths/types/basic.mjs +0 -0
  193. package/dist/lib/maths/types/index.cjs +1 -0
  194. package/dist/lib/maths/types/index.d.ts +4 -0
  195. package/dist/lib/maths/types/index.d.ts.map +1 -0
  196. package/dist/lib/maths/types/index.js +3 -0
  197. package/dist/lib/maths/types/index.mjs +0 -0
  198. package/dist/lib/maths/types/negative.cjs +1 -0
  199. package/dist/lib/maths/types/negative.d.ts +51 -0
  200. package/dist/lib/maths/types/negative.d.ts.map +1 -0
  201. package/dist/lib/maths/types/negative.js +5 -0
  202. package/dist/lib/maths/types/negative.mjs +0 -0
  203. package/dist/lib/maths/types/operations.cjs +1 -0
  204. package/dist/lib/maths/types/operations.d.ts +188 -0
  205. package/dist/lib/maths/types/operations.d.ts.map +1 -0
  206. package/dist/lib/maths/types/operations.js +6 -0
  207. package/dist/lib/maths/types/operations.mjs +0 -0
  208. package/dist/lib/object/clone.cjs +1 -0
  209. package/dist/lib/object/clone.d.ts +46 -0
  210. package/dist/lib/object/clone.d.ts.map +1 -0
  211. package/dist/lib/object/clone.js +104 -0
  212. package/dist/lib/object/clone.mjs +1 -0
  213. package/dist/lib/object/diff.cjs +1 -0
  214. package/dist/lib/object/diff.d.ts +203 -0
  215. package/dist/lib/object/diff.d.ts.map +1 -0
  216. package/dist/lib/object/diff.js +805 -0
  217. package/dist/lib/object/diff.mjs +1 -0
  218. package/dist/lib/object/getter-setter.cjs +1 -0
  219. package/dist/lib/object/getter-setter.d.ts +361 -0
  220. package/dist/lib/object/getter-setter.d.ts.map +1 -0
  221. package/dist/lib/object/getter-setter.js +1771 -0
  222. package/dist/lib/object/getter-setter.mjs +1 -0
  223. package/dist/lib/object/index.cjs +6 -0
  224. package/dist/lib/object/index.d.ts +13 -0
  225. package/dist/lib/object/index.d.ts.map +1 -0
  226. package/dist/lib/object/index.js +12 -0
  227. package/dist/lib/object/index.mjs +6 -0
  228. package/dist/lib/object/merge.cjs +1 -0
  229. package/dist/lib/object/merge.d.ts +93 -0
  230. package/dist/lib/object/merge.d.ts.map +1 -0
  231. package/dist/lib/object/merge.js +474 -0
  232. package/dist/lib/object/merge.mjs +1 -0
  233. package/dist/lib/object/object.cjs +1 -0
  234. package/dist/lib/object/object.d.ts +128 -0
  235. package/dist/lib/object/object.d.ts.map +1 -0
  236. package/dist/lib/object/object.js +432 -0
  237. package/dist/lib/object/object.mjs +1 -0
  238. package/dist/lib/object/omit.cjs +1 -0
  239. package/dist/lib/object/omit.d.ts +351 -0
  240. package/dist/lib/object/omit.d.ts.map +1 -0
  241. package/dist/lib/object/omit.js +656 -0
  242. package/dist/lib/object/omit.mjs +1 -0
  243. package/dist/lib/object/reconcile.cjs +1 -0
  244. package/dist/lib/object/reconcile.d.ts +7 -0
  245. package/dist/lib/object/reconcile.d.ts.map +1 -0
  246. package/dist/lib/object/reconcile.js +122 -0
  247. package/dist/lib/object/reconcile.mjs +1 -0
  248. package/dist/lib/object/selector.cjs +1 -0
  249. package/dist/lib/object/selector.d.ts +50 -0
  250. package/dist/lib/object/selector.d.ts.map +1 -0
  251. package/dist/lib/object/selector.js +371 -0
  252. package/dist/lib/object/selector.mjs +1 -0
  253. package/dist/lib/object/sort.cjs +1 -0
  254. package/dist/lib/object/sort.d.ts +149 -0
  255. package/dist/lib/object/sort.d.ts.map +1 -0
  256. package/dist/lib/object/sort.js +298 -0
  257. package/dist/lib/object/sort.mjs +1 -0
  258. package/dist/lib/object/transform.cjs +1 -0
  259. package/dist/lib/object/transform.d.ts +620 -0
  260. package/dist/lib/object/transform.d.ts.map +1 -0
  261. package/dist/lib/object/transform.js +1058 -0
  262. package/dist/lib/object/transform.mjs +1 -0
  263. package/dist/lib/object/types.cjs +1 -0
  264. package/dist/lib/object/types.d.ts +250 -0
  265. package/dist/lib/object/types.d.ts.map +1 -0
  266. package/dist/lib/object/types.js +1 -0
  267. package/dist/lib/object/types.mjs +0 -0
  268. package/dist/lib/object/utils.cjs +6 -0
  269. package/dist/lib/object/utils.d.ts +165 -0
  270. package/dist/lib/object/utils.d.ts.map +1 -0
  271. package/dist/lib/object/utils.js +444 -0
  272. package/dist/lib/object/utils.mjs +6 -0
  273. package/dist/lib/primitive/boolean/boolean.cjs +1 -0
  274. package/dist/lib/primitive/boolean/boolean.d.ts +276 -0
  275. package/dist/lib/primitive/boolean/boolean.d.ts.map +1 -0
  276. package/dist/lib/primitive/boolean/boolean.js +615 -0
  277. package/dist/lib/primitive/boolean/boolean.mjs +1 -0
  278. package/dist/lib/primitive/boolean/index.cjs +1 -0
  279. package/dist/lib/primitive/boolean/index.d.ts +3 -0
  280. package/dist/lib/primitive/boolean/index.d.ts.map +1 -0
  281. package/dist/lib/primitive/boolean/index.js +2 -0
  282. package/dist/lib/primitive/boolean/index.mjs +1 -0
  283. package/dist/lib/primitive/boolean/types.cjs +1 -0
  284. package/dist/lib/primitive/boolean/types.d.ts +14 -0
  285. package/dist/lib/primitive/boolean/types.d.ts.map +1 -0
  286. package/dist/lib/primitive/boolean/types.js +1 -0
  287. package/dist/lib/primitive/boolean/types.mjs +0 -0
  288. package/dist/lib/primitive/date/date.cjs +1 -0
  289. package/dist/lib/primitive/date/date.d.ts +641 -0
  290. package/dist/lib/primitive/date/date.d.ts.map +1 -0
  291. package/dist/lib/primitive/date/date.js +1998 -0
  292. package/dist/lib/primitive/date/date.mjs +1 -0
  293. package/dist/lib/primitive/date/index.cjs +1 -0
  294. package/dist/lib/primitive/date/index.d.ts +3 -0
  295. package/dist/lib/primitive/date/index.d.ts.map +1 -0
  296. package/dist/lib/primitive/date/index.js +2 -0
  297. package/dist/lib/primitive/date/index.mjs +1 -0
  298. package/dist/lib/primitive/date/types.cjs +1 -0
  299. package/dist/lib/primitive/date/types.d.ts +205 -0
  300. package/dist/lib/primitive/date/types.d.ts.map +1 -0
  301. package/dist/lib/primitive/date/types.js +7 -0
  302. package/dist/lib/primitive/date/types.mjs +0 -0
  303. package/dist/lib/primitive/index.cjs +5 -0
  304. package/dist/lib/primitive/index.d.ts +5 -0
  305. package/dist/lib/primitive/index.d.ts.map +1 -0
  306. package/dist/lib/primitive/index.js +4 -0
  307. package/dist/lib/primitive/index.mjs +5 -0
  308. package/dist/lib/primitive/string/index.cjs +5 -0
  309. package/dist/lib/primitive/string/index.d.ts +3 -0
  310. package/dist/lib/primitive/string/index.d.ts.map +1 -0
  311. package/dist/lib/primitive/string/index.js +2 -0
  312. package/dist/lib/primitive/string/index.mjs +5 -0
  313. package/dist/lib/primitive/string/parser-2.cjs +8 -0
  314. package/dist/lib/primitive/string/parser-2.d.ts +17 -0
  315. package/dist/lib/primitive/string/parser-2.d.ts.map +1 -0
  316. package/dist/lib/primitive/string/parser-2.js +656 -0
  317. package/dist/lib/primitive/string/parser-2.mjs +8 -0
  318. package/dist/lib/primitive/string/parser.cjs +3 -0
  319. package/dist/lib/primitive/string/parser.d.ts +9 -0
  320. package/dist/lib/primitive/string/parser.d.ts.map +1 -0
  321. package/dist/lib/primitive/string/parser.js +775 -0
  322. package/dist/lib/primitive/string/parser.mjs +3 -0
  323. package/dist/lib/primitive/string/string.cjs +5 -0
  324. package/dist/lib/primitive/string/string.d.ts +535 -0
  325. package/dist/lib/primitive/string/string.d.ts.map +1 -0
  326. package/dist/lib/primitive/string/string.js +1301 -0
  327. package/dist/lib/primitive/string/string.mjs +5 -0
  328. package/dist/lib/primitive/string/types.cjs +1 -0
  329. package/dist/lib/primitive/string/types.d.ts +318 -0
  330. package/dist/lib/primitive/string/types.d.ts.map +1 -0
  331. package/dist/lib/primitive/string/types.js +5 -0
  332. package/dist/lib/primitive/string/types.mjs +0 -0
  333. package/dist/lib/primitive/types.cjs +1 -0
  334. package/dist/lib/primitive/types.d.ts +27 -0
  335. package/dist/lib/primitive/types.d.ts.map +1 -0
  336. package/dist/lib/primitive/types.js +1 -0
  337. package/dist/lib/primitive/types.mjs +0 -0
  338. package/dist/lib/url/index.cjs +1 -0
  339. package/dist/lib/url/index.d.ts +3 -0
  340. package/dist/lib/url/index.d.ts.map +1 -0
  341. package/dist/lib/url/index.js +2 -0
  342. package/dist/lib/url/index.mjs +1 -0
  343. package/dist/lib/url/parser.cjs +1 -0
  344. package/dist/lib/url/parser.d.ts +216 -0
  345. package/dist/lib/url/parser.d.ts.map +1 -0
  346. package/dist/lib/url/parser.js +488 -0
  347. package/dist/lib/url/parser.mjs +1 -0
  348. package/dist/lib/url/types.cjs +1 -0
  349. package/dist/lib/url/types.d.ts +18 -0
  350. package/dist/lib/url/types.d.ts.map +1 -0
  351. package/dist/lib/url/types.js +1 -0
  352. package/dist/lib/url/types.mjs +0 -0
  353. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  354. package/package.json +150 -0
@@ -0,0 +1 @@
1
+ var o=n=>n==null||Array.isArray(n)||typeof n=="function"||n instanceof Date||n instanceof RegExp||n instanceof Map||n instanceof Set||n instanceof Error?!1:typeof n=="object";var E=(n,a)=>n===a,C=(n,a)=>{if(n.length!==a.length)return!1;for(let c=0;c<n.length;c++)if(Array.isArray(n[c])&&Array.isArray(a[c])){if(!C(n[c],a[c]))return!1}else if(o(n[c])&&o(a[c])){if(!P(n[c],a[c]))return!1}else if(n[c]!==a[c])return!1;return!0},P=(n,a)=>{let c=Object.keys(n),g=Object.keys(a);if(c.length!==g.length)return!1;for(let p of c){if(!(p in a))return!1;let d=n[p],y=a[p];if(Array.isArray(d)&&Array.isArray(y)){if(!C(d,y))return!1}else if(o(d)&&o(y)){if(!P(d,y))return!1}else if(d!==y)return!1}return!0},D=(n,a,c={})=>{let{includeDeleted:g=!1,includeAdded:p=!0,deepArrayComparison:d=!0,equalityFn:y=E,preserveStructure:R=!1}=c;if(n==null&&a==null)return{};if(n==null)return p?{...a}:{};if(a==null){if(g){let s={};for(let h in n)s[h]=void 0;return s}return{}}if(!o(n)||!o(a))return y(n,a)?{}:a;let S={},T=new Set;for(let s in a){T.add(s);let h=n[s],m=a[s];if(!(s in n)){p&&(S[s]=m);continue}if(Array.isArray(h)&&Array.isArray(m)){d?C(h,m)?R&&(S[s]=void 0):S[s]=m:h!==m?S[s]=m:R&&(S[s]=void 0);continue}if(o(h)&&o(m)){let i=D(h,m,c);Object.keys(i).length>0?S[s]=i:R&&(S[s]=void 0);continue}y(h,m)?R&&(S[s]=void 0):S[s]=m}if(g)for(let s in n)T.has(s)||(S[s]=void 0);return S},b=(n,a,c={})=>{let g=[],p=[],d=[],y={},{includeDeleted:R=!1,includeAdded:S=!0,deepArrayComparison:T=!0,equalityFn:s=E}=c;if(Array.isArray(n)&&Array.isArray(a)){let i=Math.max(n.length,a.length),A=[],u=!1;for(let e=0;e<i;e++){let r=`[${e}]`;if(e>=n.length)g.push(r),A[e]=a[e],u=!0;else if(e>=a.length)p.push(r),u=!0;else{let f=n[e],t=a[e];o(f)&&o(t)||Array.isArray(f)&&Array.isArray(t)?b(f,t,c).hasChanges?(d.push(r),A[e]=t,u=!0):A[e]=f:s(f,t)?A[e]=f:(d.push(r),A[e]=t,u=!0)}}return{changes:u?A:{},added:g,deleted:p,modified:d,hasChanges:u||p.length>0}}let h=(i,A,u="")=>{let e={added:[],deleted:[],modified:[]};if(Array.isArray(i)&&Array.isArray(A)){let r=Math.max(i.length,A.length);for(let f=0;f<r;f++){let t=u?`${u}[${f}]`:`[${f}]`;if(f>=i.length)e.added.push(t);else if(f>=A.length)e.deleted.push(t);else{let l=i[f],k=A[f];if(o(l)&&o(k)){let $=h(l,k,t);e.added.push(...$.added),e.deleted.push(...$.deleted),e.modified.push(...$.modified)}else if(Array.isArray(l)&&Array.isArray(k)){let $=h(l,k,t);e.added.push(...$.added),e.deleted.push(...$.deleted),e.modified.push(...$.modified)}else l!==k&&e.modified.push(t)}}return e}if(o(i)&&o(A)){let r=new Set([...Object.keys(i||{}),...Object.keys(A||{})]);for(let f of r){let t=i?.[f],l=A?.[f],k=u?`${u}.${f}`:f;if(!(f in(i||{})))e.added.push(k);else if(!(f in(A||{})))e.deleted.push(k);else if(Array.isArray(t)&&Array.isArray(l)){if(!C(t,l)){let $=h(t,l,k);e.added.push(...$.added),e.deleted.push(...$.deleted),e.modified.push(...$.modified)}}else if(o(t)&&o(l)){let $=h(t,l,k);e.added.push(...$.added),e.deleted.push(...$.deleted),e.modified.push(...$.modified)}else t!==l&&e.modified.push(k)}}return e};if(n==null&&a==null)return{changes:{},added:g,deleted:p,modified:d,hasChanges:!1};if(n==null){if(S&&a)for(let i in a)g.push(i),y[i]=a[i];return{changes:y,added:g,deleted:p,modified:d,hasChanges:g.length>0}}if(a==null){if(R)for(let i in n)p.push(i),y[i]=void 0;return{changes:y,added:g,deleted:p,modified:d,hasChanges:p.length>0}}let m=new Set;for(let i in a){m.add(i);let A=n[i],u=a[i];if(!(i in n)){S&&(g.push(i),y[i]=u);continue}let e=!1;if(Array.isArray(A)&&Array.isArray(u)){if(e=T?!C(A,u):A!==u,e){let r=h(A,u,i);g.push(...r.added),p.push(...r.deleted),d.push(...r.modified),y[i]=u}}else if(o(A)&&o(u)){let r=D(A,u,c);if(e=Object.keys(r).length>0,e){let f=h(A,u,i);g.push(...f.added),p.push(...f.deleted),d.push(...f.modified),y[i]=r}}else e=!s(A,u),e&&(d.push(i),y[i]=u)}for(let i in n)m.has(i)||(p.push(i),y[i]=void 0);return{changes:y,added:g,deleted:p,modified:d,hasChanges:g.length>0||p.length>0||d.length>0}},M=(n,a,c={})=>{let g=D(n,a,c);return Object.keys(g).length>0};function F(n){return!!(n&&(n.diff||n.changes)&&(n.modified||n.deleted||n.hasChanges))}var x=(n,a,c)=>{if(!F(a)){let e=a,r=c||!1;if(Array.isArray(n)&&Array.isArray(e)){let t=r?n:[...n];e.length<t.length&&(t.length=e.length);for(let l=0;l<e.length;l++){let k=e[l];k!==void 0&&(o(t[l])&&o(k)||Array.isArray(t[l])&&Array.isArray(k)?t[l]=x(t[l],k,r):t[l]=k)}return t}if(!o(n))return e;if(!o(e))return n;let f=r?n:{...n};for(let t in e){let l=e[t];l===void 0?delete f[t]:Array.isArray(f[t])&&Array.isArray(l)||o(f[t])&&o(l)?f[t]=x(f[t],l,r):f[t]=l}return f}let{diff:g,added:p=[],deleted:d=[],modified:y=[],changes:R,keepRef:S}=a,T=c!==void 0?c:S,s=R||g;if(!s)return n;let h=new Set(p),m=new Set(d),i=new Set(y),A=e=>{if(p.length===0&&d.length===0&&y.length===0)return!0;let r=e.split(/[.\[\]]+/).filter(Boolean);for(let f=0;f<=r.length;f++){let t=r.slice(0,f).join("."),l=r.slice(0,f).map((k,$)=>/^\d+$/.test(k)?`[${k}]`:$>0?`.${k}`:k).join("");if(h.has(t)||h.has(l)||m.has(t)||m.has(l)||i.has(t)||i.has(l))return!0}return!1};if(Array.isArray(n)&&Array.isArray(s)){let e=T?n:[...n];e.length=s.length;for(let r=0;r<s.length;r++){let f=`[${r}]`,t=s[r];t!==void 0&&A(f)&&(o(e[r])&&o(t)||Array.isArray(e[r])&&Array.isArray(t)?e[r]=x(e[r],t,T):e[r]=t)}return e}if(!o(n))return s;if(!o(s))return n;let u=T?n:{...n};for(let e of d)e.includes(".")||e.includes("[")||A(e)&&delete u[e];for(let e in s){let r=s[e];A(e)&&(r===void 0?delete u[e]:Array.isArray(u[e])&&Array.isArray(r)||o(u[e])&&o(r)?u[e]=x(u[e],r,T):u[e]=r)}return u},N=(n,a,c={})=>{let g=[],p=(d,y,R="")=>{if(d===y)return;if(Array.isArray(d)&&Array.isArray(y)){let T=Math.max(d.length,y.length);for(let s=0;s<T;s++){let h=R?`${R}[${s}]`:`[${s}]`;if(s>=d.length)g.push(h);else if(s>=y.length)g.push(h);else{let m=d[s],i=y[s];o(m)&&o(i)||Array.isArray(m)&&Array.isArray(i)?p(m,i,h):m!==i&&g.push(h)}}return}if(!o(d)||!o(y)){R&&g.push(R);return}let S=new Set([...Object.keys(d||{}),...Object.keys(y||{})]);for(let T of S){let s=d?.[T],h=y?.[T],m=R?`${R}.${T}`:T;!(T in(d||{}))||!(T in(y||{}))?g.push(m):Array.isArray(s)&&Array.isArray(h)||o(s)&&o(h)?p(s,h,m):s!==h&&g.push(m)}};return p(n,a),g};export{x as applyDiff,D as diffObject,b as diffObjectDetailed,N as getChangedPaths,M as hasObjectChanges};
@@ -0,0 +1 @@
1
+ "use strict";var N=Object.defineProperty;var fe=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ue=Object.prototype.hasOwnProperty;var ce=(e,r)=>{for(var t in r)N(e,t,{get:r[t],enumerable:!0})},de=(e,r,t,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let s of ye(r))!ue.call(e,s)&&s!==t&&N(e,s,{get:()=>r[s],enumerable:!(i=fe(r,s))||i.enumerable});return e};var pe=e=>de(N({},"__esModule",{value:!0}),e);var ke={};ce(ke,{ValueOfKey:()=>P,castProps:()=>Ke,deepMergeWithArrays:()=>Fe,deletePath:()=>ae,findPaths:()=>we,flattenWithArrays:()=>oe,fromPath:()=>q,get:()=>V,getPaths:()=>W,getTypeAtPath:()=>Pe,has:()=>ie,isRangeObject:()=>ne,mergeUpdateAtPath:()=>se,select:()=>be,set:()=>L,setArrayValueWithFilter:()=>re,setAtPath:()=>I,setValueAtIndex:()=>E,setValueAtPath:()=>k,setValueBetweenRange:()=>M,setValueBetweenRangeWithSubPath:()=>te,setValueWithArraySelectors:()=>B,setValueWithFilter:()=>D,setValueWithFilterWithSubPath:()=>_,traverseWithPaths:()=>O,unflattenWithArrays:()=>Oe,update:()=>Ie,updateWithCallBack:()=>le});module.exports=pe(ke);var z=require("@fluixi/utils/primitive"),Q=require("@fluixi/utils/object"),ge=require("@fluixi/utils/array"),Ae=require("@fluixi/utils/functions");function Z(e){let r=typeof e;return e===null||r==="string"||r==="number"||r==="boolean"||r==="symbol"||r==="bigint"||r==="undefined"||(0,z.isDate)(e)}var m=e=>e==null||Array.isArray(e)||typeof e=="function"||e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof Error?!1:typeof e=="object";var w=(e,r,t,i)=>{if(t>i)return;if(r.length===0)return e;let s=r[0],l=r.slice(1);if(s.type==="descendant"){let a=w(e,l,t+1,i);if(a!==void 0)return a;if(e&&typeof e=="object")if(Array.isArray(e)){let n=[];for(let f=0;f<e.length;f++){let o=w(e[f],r,t+1,i);o!==void 0&&(n[f]=o)}return n.length>0?n:void 0}else{let n={};for(let f in e)if(e.hasOwnProperty(f)){let o=w(e[f],r,t+1,i);o!==void 0&&(n[f]=o)}return Object.keys(n).length>0?n:void 0}return}switch(s.type){case"property":if(m(e)&&s.value&&String(s.value)in e){let a=e[String(s.value)],n=w(a,l,t+1,i);if(n!==void 0)return{[String(s.value)]:n}}break;case"index":if(Array.isArray(e)){let a=s.value;if(a>=0&&a<e.length){let n=w(e[a],l,t+1,i);if(n!==void 0){let f=new Array(e.length).filter(o=>o!==void 0);return f[a]=n,f}}}else if(e&&typeof e=="object"){let a=String(s.value);if(a in e){let n=w(e[a],l,t+1,i);if(n!==void 0)return{[a]:n}}}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e)){let a=[],n=!1;for(let f=0;f<e.length;f++){let o=w(e[f],l,t+1,i);o!==void 0&&(a[f]=o,n=!0)}return n?a:void 0}else{let a={},n=!1;for(let f in e)if(e.hasOwnProperty(f)){let o=w(e[f],l,t+1,i);o!==void 0&&(a[f]=o,n=!0)}return n?a:void 0}break;case"slice":if(Array.isArray(e)){let[a,n]=s.value,f=Math.max(0,a),o=Math.min(e.length,n===1/0?e.length:n),u=[],g=!1;for(let p=f;p<o;p++){let A=w(e[p],l,t+1,i);A!==void 0&&(u[p]=A,g=!0)}return g?u:void 0}break;case"union":if(Array.isArray(e)){let a=s.value,n=[],f=!1;for(let o of a)if(o>=0&&o<e.length){let u=w(e[o],l,t+1,i);u!==void 0&&(n[o]=u,f=!0)}return f?n:void 0}break;case"filter":if(Array.isArray(e)){let a=s.value,n=[],f=!1;for(let o=0;o<e.length;o++)if(a(e[o])){let u=w(e[o],l,t+1,i);u!==void 0&&(n[o]=u,f=!0)}return f?n:void 0}break}};var $=(e,r)=>{if(e==null||typeof e!="object")return e;if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e.source,e.flags);if(e instanceof Map){let t=new Map;return e.forEach((i,s)=>{(!r||!r.some(l=>l.toString()===s.toString()))&&t.set(s,$(i))}),t}if(e instanceof Set){let t=new Set;return e.forEach(i=>{t.add($(i))}),t}if(Array.isArray(e))return Array.from(e).map(t=>$(t));if(m(e)){let t={};for(let s in e)Object.prototype.hasOwnProperty.call(e,s)&&(!r||!r.some(l=>l.toString()===s.toString()))&&(t[s]=$(e[s]));let i=Object.getOwnPropertySymbols(e);for(let s of i)(!r||!r.some(l=>l.toString()===s.toString()))&&(t[s]=$(e[s]));return t}return e};var G=(e,r)=>e===r,j=(e,r)=>{if(e.length!==r.length)return!1;for(let t=0;t<e.length;t++)if(Array.isArray(e[t])&&Array.isArray(r[t])){if(!j(e[t],r[t]))return!1}else if(m(e[t])&&m(r[t])){if(!H(e[t],r[t]))return!1}else if(e[t]!==r[t])return!1;return!0},H=(e,r)=>{let t=Object.keys(e),i=Object.keys(r);if(t.length!==i.length)return!1;for(let s of t){if(!(s in r))return!1;let l=e[s],a=r[s];if(Array.isArray(l)&&Array.isArray(a)){if(!j(l,a))return!1}else if(m(l)&&m(a)){if(!H(l,a))return!1}else if(l!==a)return!1}return!0},X=(e,r,t={})=>{let{includeDeleted:i=!1,includeAdded:s=!0,deepArrayComparison:l=!0,equalityFn:a=G,preserveStructure:n=!1}=t;if(e==null&&r==null)return{};if(e==null)return s?{...r}:{};if(r==null){if(i){let u={};for(let g in e)u[g]=void 0;return u}return{}}if(!m(e)||!m(r))return a(e,r)?{}:r;let f={},o=new Set;for(let u in r){o.add(u);let g=e[u],p=r[u];if(!(u in e)){s&&(f[u]=p);continue}if(Array.isArray(g)&&Array.isArray(p)){l?j(g,p)?n&&(f[u]=void 0):f[u]=p:g!==p?f[u]=p:n&&(f[u]=void 0);continue}if(m(g)&&m(p)){let A=X(g,p,t);Object.keys(A).length>0?f[u]=A:n&&(f[u]=void 0);continue}a(g,p)?n&&(f[u]=void 0):f[u]=p}if(i)for(let u in e)o.has(u)||(f[u]=void 0);return f},U=(e,r,t={})=>{let i=[],s=[],l=[],a={},{includeDeleted:n=!1,includeAdded:f=!0,deepArrayComparison:o=!0,equalityFn:u=G}=t;if(Array.isArray(e)&&Array.isArray(r)){let A=Math.max(e.length,r.length),d=[],c=!1;for(let y=0;y<A;y++){let T=`[${y}]`;if(y>=e.length)i.push(T),d[y]=r[y],c=!0;else if(y>=r.length)s.push(T),c=!0;else{let x=e[y],h=r[y];m(x)&&m(h)||Array.isArray(x)&&Array.isArray(h)?U(x,h,t).hasChanges?(l.push(T),d[y]=h,c=!0):d[y]=x:u(x,h)?d[y]=x:(l.push(T),d[y]=h,c=!0)}}return{changes:c?d:{},added:i,deleted:s,modified:l,hasChanges:c||s.length>0}}let g=(A,d,c="")=>{let y={added:[],deleted:[],modified:[]};if(Array.isArray(A)&&Array.isArray(d)){let T=Math.max(A.length,d.length);for(let x=0;x<T;x++){let h=c?`${c}[${x}]`:`[${x}]`;if(x>=A.length)y.added.push(h);else if(x>=d.length)y.deleted.push(h);else{let S=A[x],K=d[x];if(m(S)&&m(K)){let v=g(S,K,h);y.added.push(...v.added),y.deleted.push(...v.deleted),y.modified.push(...v.modified)}else if(Array.isArray(S)&&Array.isArray(K)){let v=g(S,K,h);y.added.push(...v.added),y.deleted.push(...v.deleted),y.modified.push(...v.modified)}else S!==K&&y.modified.push(h)}}return y}if(m(A)&&m(d)){let T=new Set([...Object.keys(A||{}),...Object.keys(d||{})]);for(let x of T){let h=A?.[x],S=d?.[x],K=c?`${c}.${x}`:x;if(!(x in(A||{})))y.added.push(K);else if(!(x in(d||{})))y.deleted.push(K);else if(Array.isArray(h)&&Array.isArray(S)){if(!j(h,S)){let v=g(h,S,K);y.added.push(...v.added),y.deleted.push(...v.deleted),y.modified.push(...v.modified)}}else if(m(h)&&m(S)){let v=g(h,S,K);y.added.push(...v.added),y.deleted.push(...v.deleted),y.modified.push(...v.modified)}else h!==S&&y.modified.push(K)}}return y};if(e==null&&r==null)return{changes:{},added:i,deleted:s,modified:l,hasChanges:!1};if(e==null){if(f&&r)for(let A in r)i.push(A),a[A]=r[A];return{changes:a,added:i,deleted:s,modified:l,hasChanges:i.length>0}}if(r==null){if(n)for(let A in e)s.push(A),a[A]=void 0;return{changes:a,added:i,deleted:s,modified:l,hasChanges:s.length>0}}let p=new Set;for(let A in r){p.add(A);let d=e[A],c=r[A];if(!(A in e)){f&&(i.push(A),a[A]=c);continue}let y=!1;if(Array.isArray(d)&&Array.isArray(c)){if(y=o?!j(d,c):d!==c,y){let T=g(d,c,A);i.push(...T.added),s.push(...T.deleted),l.push(...T.modified),a[A]=c}}else if(m(d)&&m(c)){let T=X(d,c,t);if(y=Object.keys(T).length>0,y){let x=g(d,c,A);i.push(...x.added),s.push(...x.deleted),l.push(...x.modified),a[A]=T}}else y=!u(d,c),y&&(l.push(A),a[A]=c)}for(let A in e)p.has(A)||(s.push(A),a[A]=void 0);return{changes:a,added:i,deleted:s,modified:l,hasChanges:i.length>0||s.length>0||l.length>0}};function Te(e){return!!(e&&(e.diff||e.changes)&&(e.modified||e.deleted||e.hasChanges))}var b=(e,r,t)=>{if(!Te(r)){let y=r,T=t||!1;if(Array.isArray(e)&&Array.isArray(y)){let h=T?e:[...e];y.length<h.length&&(h.length=y.length);for(let S=0;S<y.length;S++){let K=y[S];K!==void 0&&(m(h[S])&&m(K)||Array.isArray(h[S])&&Array.isArray(K)?h[S]=b(h[S],K,T):h[S]=K)}return h}if(!m(e))return y;if(!m(y))return e;let x=T?e:{...e};for(let h in y){let S=y[h];S===void 0?delete x[h]:Array.isArray(x[h])&&Array.isArray(S)||m(x[h])&&m(S)?x[h]=b(x[h],S,T):x[h]=S}return x}let{diff:i,added:s=[],deleted:l=[],modified:a=[],changes:n,keepRef:f}=r,o=t!==void 0?t:f,u=n||i;if(!u)return e;let g=new Set(s),p=new Set(l),A=new Set(a),d=y=>{if(s.length===0&&l.length===0&&a.length===0)return!0;let T=y.split(/[.\[\]]+/).filter(Boolean);for(let x=0;x<=T.length;x++){let h=T.slice(0,x).join("."),S=T.slice(0,x).map((K,v)=>/^\d+$/.test(K)?`[${K}]`:v>0?`.${K}`:K).join("");if(g.has(h)||g.has(S)||p.has(h)||p.has(S)||A.has(h)||A.has(S))return!0}return!1};if(Array.isArray(e)&&Array.isArray(u)){let y=o?e:[...e];y.length=u.length;for(let T=0;T<u.length;T++){let x=`[${T}]`,h=u[T];h!==void 0&&d(x)&&(m(y[T])&&m(h)||Array.isArray(y[T])&&Array.isArray(h)?y[T]=b(y[T],h,o):y[T]=h)}return y}if(!m(e))return u;if(!m(u))return e;let c=o?e:{...e};for(let y of l)y.includes(".")||y.includes("[")||d(y)&&delete c[y];for(let y in u){let T=u[y];d(y)&&(T===void 0?delete c[y]:Array.isArray(c[y])&&Array.isArray(T)||m(c[y])&&m(T)?c[y]=b(c[y],T,o):c[y]=T)}return c};var F=(e,r={})=>{let{type:t="auto",throwOnError:i=!1}=r;if(!e||typeof e!="string")return[];let s=[],l="",a=!1,n=!1,f="",o="",u=0,p=t==="auto"?(d=>d.includes("..")?"descendant":d.includes("[?(")?"filter":d.includes("[:")||d.includes("[0:")?"slice":d.includes("[,")||d.includes("[0,1]")?"union":d.includes("[*]")||d.includes(".*.")?"wildcard":d.includes("[]")?"array-wildcard":d.includes("[")&&d.includes("]")?"bracket":"dot")(e):t,A=d=>{let c=d.trim();if(c==="*"||c==="")return{type:"wildcard",value:c===""?"[]":"*",raw:c===""?"[]":d};if(c==="[]")return{type:"wildcard",value:"[]",raw:d};if(/^-?\d+$/.test(c))return{type:"index",value:parseInt(c,10),raw:d};if(c.includes(":")){let y=c.split(":").map(h=>h.trim()),T=y[0]===""?0:parseInt(y[0],10),x=y[1]===""?1/0:parseInt(y[1],10);if(isNaN(T)||isNaN(x)){if(i)throw new Error(`Invalid slice notation: ${d}`);return{type:"wildcard",value:"*",raw:d}}return{type:"slice",value:[T,x],raw:d}}if(c.includes(",")){let y=c.split(",").map(T=>{let x=parseInt(T.trim(),10);return isNaN(x)?-1:x}).filter(T=>T>=0);if(y.length===0){if(i)throw new Error(`Invalid union notation: ${d}`);return{type:"wildcard",value:"*",raw:d}}return{type:"union",value:y,raw:d}}if(c.startsWith("?(")&&c.endsWith(")")){let y=c.slice(2,-1);try{return{type:"filter",value:xe(y),raw:d}}catch(T){if(i)throw T;return{type:"wildcard",value:"*",raw:d}}}return c.startsWith('"')&&c.endsWith('"')||c.startsWith("'")&&c.endsWith("'")?{type:"property",value:c.slice(1,-1),raw:d}:{type:"property",value:c,raw:d}};for(let d=0;d<e.length;d++){let c=e[d],y=e[d+1];if((c==='"'||c==="'")&&!n){n=!0,f=c;continue}else if(c===f&&n){n=!1,f="",c==='"'||c==="'"||(a?o+=c:l+=c);continue}if(n){a?o+=c:l+=c;continue}if(c==="["&&!a){l&&(s.push({type:"property",value:l,raw:l}),l=""),a=!0,o="";continue}if(c==="]"&&a&&!n){a=!1;let x=A(o);s.push(x);continue}let T=s.length>0?s[s.length-1]:null;if(c==="."&&!a&&!n){if(y==="."){let x=e.split("..")[0];s.push({type:"property",value:x,raw:x}),s.push({type:"descendant",value:"..",raw:".."}),d++}else l&&(l==="*"?s.push({type:"wildcard",value:l,raw:l}):s.push({type:"property",value:l,raw:l}),l="");continue}if(a)o+=c;else if(T&&T.type!=="descendant")l+=c;else{let x=e.split(T?.raw)[1];x!==void 0?l=x:l+=c}}return l&&s.push({type:"property",value:l,raw:l}),s.map(d=>{if(d.type==="property"&&typeof d.value=="string"&&/^-?\d+$/.test(d.value)){let c=parseInt(d.value,10);if(!isNaN(c))return{...d,type:"index",value:c}}return d})},xe=e=>{let r=e.replace(/@\.([a-zA-Z_$][\w$]*)/g,(t,i)=>`item.${i}`).replace(/@/g,"item");try{return new Function("item",`return ${r}`)}catch{throw new Error(`Invalid filter expression: ${e}`)}},C=e=>{let r=[];for(let t=0;t<e.length;t++){let i=e[t],s=t>0?e[t-1]:null;switch(i.type){case"property":/[\.\[\]\s]/.test(String(i.value))?r.push(`["${i.value}"]`):(s&&s.type!=="descendant"&&r.push("."),r.push(String(i.value)));break;case"index":r.push(`[${i.value}]`);break;case"wildcard":i.value==="[]"?r.push("[]"):r.push("[*]");break;case"slice":let[a,n]=i.value;r.push(`[${a}:${n===1/0?"":n}]`);break;case"union":let f=i.value;r.push(`[${f.join(",")}]`);break;case"filter":r.push(`[?(${i.raw?.slice(2,-1)||""})]`);break;case"descendant":r.push("..");break}}return r.join("").replace(/\.\[/g,"[")};var Y=(e,r,t)=>{let i=F(r),s=e;for(let l=0;l<i.length;l++){let a=i[l],n=l===i.length-1;switch(a.type){case"property":if(n)s[String(a.value)]=t;else{if(!s[String(a.value)]){let o=i[l+1];s[String(a.value)]=o.type==="index"||o.type==="slice"||o.type==="union"||o.type==="wildcard"?[]:{}}s=s[String(a.value)]}break;case"index":Array.isArray(s)||(s=[]);let f=a.value;if(n){if(f>=s.length)for(let o=s.length;o<=f;o++)s.push(void 0);s[f]=t}else{if(!s[f]){let o=i[l+1];s[f]=o.type==="index"||o.type==="slice"||o.type==="union"||o.type==="wildcard"?[]:{}}s=s[f]}break;case"wildcard":if(Array.isArray(s))if(n)for(let o=0;o<s.length;o++)s[o]=t;else{let o=i[l+1];for(let u=0;u<s.length;u++)s[u]||(s[u]=o.type==="index"||o.type==="slice"||o.type==="union"||o.type==="wildcard"?[]:{});s.length>0&&(s=s[0])}break}}};function V(e,r,t={}){let{preserveStructure:i,multiple:s,throwOnError:l=!1,defaultValue:a,maxDepth:n=20}=t;if(!e||typeof e!="object")return a;if(!r)return e;if(Array.isArray(r))if(i){let u={};for(let g of r){let p=V(e,g,{...t,preserveStructure:!1});p!==void 0&&Y(u,g,p)}return u}else return r.map(u=>V(e,u,{...t,preserveStructure:!1}));let f=F(r,{...t,throwOnError:l});if(f.length===0)return e;if(typeof i>"u"||i===!1){let u=P(e,r);return s===!1&&Array.isArray(u)?u[0]:u===void 0&&a!==void 0?a:u}let o=w(e,f,0,n);return o===void 0&&a!==void 0?a:o}function L(e,r,t,i,s){let l=$(e),a=[];if(typeof r<"u"&&a.push(r),typeof t<"u"&&a.push(t),typeof i<"u"&&a.push(i),typeof s<"u"&&a.push(s),Z(l))return typeof r=="function"?r(l):r;if(a.length===1){if(typeof a[0]=="function")return le(l,a[0]);if(Array.isArray(a[0])){if(Array.isArray(l))if(r.length===0)for(let n=0;n<l.length;n++)l.pop();else return U([...l],[...a[0]]).hasChanges&&b(l,[...a[0]],!0),l}else typeof a[0]=="object"&&!Array.isArray(a[0])?typeof l=="object"&&!Array.isArray(l)&&b(l,a[0],!0):l=a[0];return l}if(Array.isArray(l)){if(typeof r=="string"&&(he(t)||typeof t=="string")&&a.length===3){if(Array.isArray(t)){for(let n=0;n<t.length;n++)k(l,r,i,t[n]);return l}return k(l,r,i,t)}if(typeof r=="string"&&typeof t=="function"&&a.length===2)return k(l,r,t)}if((typeof r=="string"||typeof r=="number")&&(a.length===2||a.length===3))return ne(t)?M(l,r,t,i):typeof r=="number"?typeof i<"u"?k(l,`[${r}].${t}`,i):k(l,`[${r}]`,t,i):typeof t=="number"&&typeof i<"u"?E(l,r,t,i):Array.isArray(t)&&t.length>0&&t.every(n=>typeof n=="number")?R(l,r,t,i):typeof i<"u"&&typeof t=="function"?D(l,r,t,i):k(l,r,t,i);if(typeof r=="string"&&typeof t=="number"){if(a.length===3)return E(l,r,t,i);if(a.length===4)return me(l,r,t,i,s)}if(typeof r=="string"&&Array.isArray(t)){if(a.length===3)return R(l,r,t,i);if(a.length===4)return Se(l,r,t,i,s)}if(typeof r=="string"&&typeof t=="object"&&!Array.isArray(t)&&t!==null){let n=t;if("from"in n||"to"in n){if(a.length===3)return M(l,r,n,i);if(a.length===4)return te(l,r,n,i,s)}}if(typeof r=="object"&&!Array.isArray(r)&&a.length===1)return b(l,r,!0);if(typeof r=="string"&&typeof t=="object"&&!Array.isArray(t)&&a.length===2)return se(l,r,t);if(typeof r=="string"&&typeof t=="function"){if(a.length===3)return D(l,r,t,i);if(a.length===4)return _(l,r,t,i,s)}if(typeof r=="function"&&typeof t=="string"){if(a.length===3)return re(l,r,t,i);if(a.length===4)return _(l,t,r,i,s)}if(Array.isArray(r)){if(a.length===2&&typeof t=="object"&&!Array.isArray(t))return B(l,r,t);if(a.length===2)return B(l,r,t)}throw new Error(`Invalid set parameters: ${JSON.stringify(a)}`)}function J(e,r,t,i=!1){let s=F(e);if(s.length===0)return t;let l=s[s.length-1].type==="wildcard",a=s.some(f=>f.type==="wildcard")&&Array.isArray(r),n;if((l||a&&i||a&&s.length===2)&&Array.isArray(r))for(let f=0;f<r.length;f++){let o=typeof t=="function"?t(r[f]):typeof r[f]=="object"?b(r[f],t,!0):t;n||(n=[]),n.push(o)}return!l&&!n&&(n=typeof t=="function"?t(r):t),n}function ne(e){return typeof e=="object"&&e!==null&&"from"in e&&"to"in e&&typeof e.from=="number"&&typeof e.to=="number"&&e.from<e.to&&e.from>=0&&e.to>0}function he(e){return Array.isArray(e)&&e.every(r=>typeof r=="string")}function k(e,r,t,i){let s=F(r),l=P(e,r,{paths:s,createMissing:!0}),a;i&&typeof t=="function"&&(a=V(l,i));let f=J(r,i?a:l,t,Array.isArray(e));return i?I(e,`${r}.${i}`,f,{createMissing:!0}):I(e,r,f,{createMissing:!0})}function E(e,r,t,i){let s=P(e,r,{createMissing:!0});if(!Array.isArray(s))throw new Error(`Target at ${r} is not an array ${t}`);let l=structuredClone(s),a=J(r,l[t],i);if(t<0){let n=s.length+t;if(n<0)throw new Error(`Index ${t} is out of bounds`);return I(e,`${r}[${n}]`,a,{createMissing:!0})}return I(e,`${r}[${t}]`,a,{createMissing:!0})}var me=(e,r,t,i,s)=>typeof i=="function"?k(e,`${r}[${t}]`,i):typeof i=="string"?k(e,`${r}[${t}]`,s,i):null,R=(e,r,t,i)=>{let s=P(e,r);if(!Array.isArray(s))throw new Error(`Target at ${r} is not an array`);for(let l of t)typeof l=="number"?E(e,r,l,i):typeof l=="string"&&k(e,r,i,l);return e},Se=(e,r,t,i,s)=>R(e,r,t,a=>{let n=typeof s=="function"?s(a?P(a,i):void 0):s,f=a?{...a}:{};return I(f,i,n),f});function M(e,r,t,i){let s=P(e,r);if(!Array.isArray(s))throw new Error(`Target at ${r} is not an array`);let l=t.from??0,a=t.to??s.length-1,n=t.by??1,f=[];for(let o=l;o<=a;o+=n)o>=0&&o<s.length&&f.push(o);return R(e,r,f,i)}var te=(e,r,t,i,s)=>M(e,r,t,a=>{let n=typeof s=="function"?s(a?P(a,i):void 0):s,f=a?{...a}:{};return I(f,i,n),f});function Ke(e,r){return Object.assign(e,r)}function D(e,r,t,i){let s=P(e,r);if(!Array.isArray(s))throw new Error(`Target at ${r} is not an array`);let l=[],a=[...s];return s.forEach((n,f)=>{t(n,f)&&l.push(f)}),R(e,r,l,i)}function re(e,r,t,i){let s=e;if(!Array.isArray(s))throw new Error(`Target at ${t} is not an array`);let l=[],a=[...s];return s.forEach((n,f)=>{n=I(n,t,i,{createMissing:!0})}),s}function _(e,r,t,i,s){return D(e,r,t,a=>{let n=typeof s=="function"?s(a?P(a,i):void 0):s,f=a?{...a}:{};return I(f,i,n),f})}function se(e,r,t){let i=P(e,r,{createMissing:!0}),s=b(i||{},t,!0);return I(e,r,s,{createMissing:!0})}function B(e,r,t){if(typeof t=="object"&&!Array.isArray(t)&&t!==null)for(let[i,s]of Object.entries(t))r.includes(i)&&I(e,i,s,{createMissing:!0});else for(let i of r){let s=J(i,P(e,i),t);I(e,i,s,{createMissing:!0})}return e}function P(e,r,t={}){let{createMissing:i=!1,add:s=!1,debug:l=!1}=t,a=F(r),n=e,f=!1,o="",u=r;if(typeof n=="object"&&!Array.isArray(n)&&u.length>0&&n[u])return n=n[u],n;for(let g=0;g<a.length;g++){let p=a[g],A=a.length>1?g===a.length-1:!1;if(n===null&&!i)return;let d=a[g+1];switch(p.type){case"property":if(n&&typeof n=="object")if(Array.isArray(n)){if(typeof p.value=="number"){let c=p.value;if(i&&c>=n.length)for(let y=n.length;y<=c;y++)n.push(void 0);if(i&&(n[c]===null||n[c]===void 0)&&(!A||f)&&(d?n[c]=d.type==="index"||d.type==="slice"||d.type==="union"||d.type==="wildcard"?[]:{}:n[c]=null,f=!1),n=n[c],d){f=!0;continue}}else s?n.push({[String(p.value)]:null}):n=n.map(c=>c[String(p.value)]);if(d)continue;return ee(n)}else{if(n[o]&&o.split(".").length>=2){n=n[o];continue}if(i&&(n[String(p.value)]===null||n[String(p.value)]===void 0)&&(!A||f)&&(d?n[String(p.value)]=d.type==="index"||d.type==="slice"||d.type==="union"||d.type==="wildcard"?[]:{}:n[String(p.value)]=null,f=!1,n=n[String(p.value)],d)){f=!0;continue}if(n?(!n[String(p.value)]&&i&&(n[String(p.value)]=null),n=n[String(p.value)]):n={[String(p.value)]:null},d)continue}else if(i)n={},n[String(p.value)]=d.type==="index"||d.type==="slice"||d.type==="union"||d.type==="wildcard"||t.type==="array"?[]:{},n=n[String(p.value)];else return;break;case"index":case"wildcard":if(Array.isArray(n)){if(p.type==="index"){let c=p.value;if(c<0){n=n[n.length-Math.abs(c)];continue}if(i&&(c>=n.length||n[c]==null||n[c]==null)&&!A){for(let y=n.length;y<=c;y++)n.push(void 0);d&&(n[c]=d.type==="index"||d.type==="slice"||d.type==="union"||d.type==="wildcard"?[]:{})}n=n[c]}else if(!A)continue}else if(i){let c=a[g+1];n=[];let y=p.value;for(let T=0;T<=y;T++)n.push(void 0);n[y]=c.type==="index"||c.type==="slice"||c.type==="union"||c.type==="wildcard"||t.type==="array"?[]:{},n=n[y]}else{if(p.type==="index"&&typeof n=="object"&&n&&n[String(p.value)]!==void 0){n=n[String(p.value)];continue}if(typeof n=="object"){n=Object.values(n);continue}return}break;default:return}}return ee(n)}function ee(e){return Array.isArray(e)?e.filter(r=>typeof r<"u"):e}var I=(e,r,t,i={})=>{if(r==="[*]")return b(e,t,!0);let{createMissing:s=!0}=i,l=F(r);if(l.length===0)return e;let a=l[l.length-1],n=e;for(let f=0;f<l.length-1;f++){let o=l[f];if(n==null){if(!s)return e;throw new Error(`Cannot navigate through null/undefined at segment ${f}`)}let u=l[f+1],g=u.type==="index"||u.type==="slice"||u.type==="union"||u.type==="wildcard";if(o.type==="property"){if(Array.isArray(n)&&typeof typeof o.value=="number"){let p=o.value;if(p<0)throw new Error(`Negative index ${p} not allowed`);if(p>=n.length&&s)for(let A=n.length;A<=p;A++)n.push(void 0);(n[p]===null||n[p]===void 0)&&s&&(n[p]=g?[]:{}),n=n[p]}else(n[String(o.value)]===null||n[String(o.value)]===void 0)&&s&&(n[String(o.value)]=g?[]:{}),typeof n=="object"&&!Array.isArray(n)&&(n=n[String(o.value)]);if(u)continue;break}else if(o.type==="index"||o.type==="wildcard"){if(!Array.isArray(n)){if(!s)return e;n=[]}if(o.type==="index"){let p=o.value;if(p<0)throw new Error(`Negative index ${p} not allowed`);if(p>=n.length&&s)for(let A=n.length;A<=p;A++)n.push(void 0);(n[p]===null||n[p]===void 0)&&s&&(n[p]=g?[]:void 0),n=n[p]}if(u)continue;break}else throw new Error(`Invalid segment type for set: ${o.type}`)}switch(a.type){case"property":if(Array.isArray(n)&&typeof a.value=="number"){let o=a.value;if(o<0)throw new Error(`Negative index ${o} not allowed`);if(o>=n.length)for(let u=n.length;u<=o;u++)n.push(void 0);Array.isArray(t)?n[o]=b(structuredClone(n[o]),t[o],!0):n[o]=t}else if(n||(n={}),Array.isArray(n)){let o=r.split("."),u;if(o.length>=2){o.shift();for(let g=0;g<n.length;g++)Array.isArray(t)?(u=q(o.join("."),t[g]),n[g]=typeof n[g]=="object"?b(n[g],u,!0):u):(u=q(o.join("."),t),n[g]=typeof n[g]=="object"?b(n[g],u,!0):u)}else u={[String(a.value)]:t}}else Array.isArray(t)&&t.length===0?typeof n[String(a.value)]>"u"?n[String(a.value)]=[]:n[String(a.value)]=[]:n[String(a.value)]=t;break;case"index":case"wildcard":if(!Array.isArray(n))throw new Error("Cannot use index on non-array for final segment");let f=a.value;if(a.type==="index"){if(f<0)throw new Error(`Negative index ${f} not allowed`);if(f>=n.length)for(let o=n.length;o<=f;o++)n.push(void 0);if(Array.isArray(t))if(typeof n[f]==typeof t[f])try{n[f]=b($(n[f]),t[f],!0)}catch{throw Error("expected on array")}else n[f]=t;else n[f]=t}else if(a.type==="wildcard")if(Array.isArray(t))for(let o=0;o<n.length;o++)typeof n[o]=="object"?n[o]=b(n[o],t[o],!0):n[o]=t[o];else for(let o=0;o<n.length;o++)typeof n[o]=="object"?n[o]=b(n[o],t,!0):n[o]=t;break;default:throw new Error(`Invalid final segment type for set: ${a.type}`)}return e};var q=(e,r)=>{let t=F(e);if(t.length===0)return r;let i=r;for(let s=t.length-1;s>=0;s--){let l=t[s];if(l.type==="property")i={[String(l.value)]:i};else if(l.type==="index"){let a=parseInt(String(l.value)),n=[];n[a]=i,i=n}else l.type==="wildcard"?Array.isArray(i)?i=i:i=[i]:l.type==="slice"?Array.isArray(i)||(i=[i]):l.type==="union"?Array.isArray(i)||(i=[i]):l.type==="filter"?Array.isArray(i)||(i=[i]):l.type==="descendant"&&(i=i)}return i},be=(e,r,t={})=>V(e,r,{...t,preserveStructure:!1}),ie=(e,r,t={})=>{if(Array.isArray(r))return r.map(s=>ie(e,s,t));let i=V(e,r,{...t,preserveStructure:!1});return Array.isArray(i)?i.length>0?i.every(s=>s!==void 0):!1:i!==void 0},ae=(e,r,t={})=>{let{throwOnError:i=!1}=t;if(Array.isArray(r))return r.map(n=>ae(e,n,t));let s=F(r,{throwOnError:i});if(s.length===0)return!1;let l=s[s.length-1];if(s.some(n=>n.type==="wildcard"||n.type==="slice"||n.type==="union")){let n=W(e,r,t),f=!1;for(let o of n)ve(e,o)&&(f=!0);return f}let a=e;for(let n=0;n<s.length-1;n++){let f=s[n];if(a==null)return!1;switch(f.type){case"property":a=a[String(f.value)];break;case"index":if(!Array.isArray(a))return!1;let o=f.value;if(o<0||o>=a.length)return!1;a=a[o];break;default:return!1}}if(a==null)return!1;switch(l.type){case"property":if(String(l.value)in a)return delete a[String(l.value)],!0;break;case"index":if(!Array.isArray(a))return!1;let n=l.value;if(n>=0&&n<a.length)return a.splice(n,1),!0;break}return!1},ve=(e,r)=>{let t=F(r);if(t.length===0)return!1;let i=t[t.length-1],s=e;for(let l=0;l<t.length-1;l++){let a=t[l];if(s==null)return!1;switch(a.type){case"property":s=s[String(a.value)];break;case"index":if(!Array.isArray(s))return!1;let n=a.value;if(n<0||n>=s.length)return!1;s=s[n];break;default:return!1}}if(s==null)return!1;switch(i.type){case"property":if(String(i.value)in s)return delete s[String(i.value)],!0;break;case"index":if(!Array.isArray(s))return!1;let l=i.value;if(l>=0&&l<s.length)return s.splice(l,1),!0;break}return!1},W=(e,r,t={})=>{let{format:i="selector",maxDepth:s=20}=t;if(r&&Array.isArray(r)){let n=[];for(let f of r){let o=W(e,f,t);n.push(...o)}return n}if(r){let n=F(r,t);return O(e,n,0,s).map(o=>i==="selector"?o.path:o.stringPath)}let l=[],a=(n,f=[],o=[],u=0)=>{if(!(u>s)){if(f.length>0){let g=C(f);l.push({path:g,stringPath:o.join(".")})}if(n&&typeof n=="object")if(Array.isArray(n))for(let g=0;g<n.length;g++)a(n[g],[...f,{type:"index",value:g,raw:`[${g}]`}],[...o,`[${g}]`],u+1);else for(let g in n)n.hasOwnProperty(g)&&a(n[g],[...f,{type:"property",value:g,raw:g}],[...o,g],u+1)}};return a(e),l.map(n=>i==="selector"?n.path:n.stringPath)},we=(e,r)=>W(e).filter(i=>{let s=V(e,i);return r(i,s)}),oe=(e,r=".")=>{let t={},i=(s,l=[])=>{if(s==null)return;let a=w(s,l,0,20);if(a!==void 0){t[C(l)]=a;return}if(Array.isArray(s))for(let n=0;n<s.length;n++){let f=[...l,{type:"index",value:n,raw:`[${n}]`}];i(s[n],f)}else if(m(s)){for(let f in s)if(s.hasOwnProperty(f)){let o=[...l,{type:"property",value:f,raw:f}];i(s[f],o)}let n=Object.getOwnPropertySymbols(s);for(let f of n){let o=[...l,{type:"property",value:f.toString(),raw:f.toString()}];i(s[f],o)}}else{let n=C(l);t[n]=s}};return i(e),t},Oe=e=>{let r={};for(let t in e)L(r,t,e[t]);return r},Fe=(...e)=>{let r={};for(let t of e){if(!m(t))continue;let i=oe(t);for(let s in i)L(r,s,i[s])}return r};function O(e,r,t,i,s=[],l=[]){if(t>i)return[];if(r.length===0)return[{value:e,path:C(s),stringPath:l.join(".")}];let a=r[0],n=r.slice(1),f=[];if(a.type==="descendant"){if(f.push(...O(e,n,t+1,i,s,l)),e&&typeof e=="object")if(Array.isArray(e))for(let o=0;o<e.length;o++)f.push(...O(e[o],r,t+1,i,[...s,{type:"index",value:o,raw:`[${o}]`}],[...l,`[${o}]`]));else for(let o in e)e.hasOwnProperty(o)&&f.push(...O(e[o],r,t+1,i,[...s,{type:"property",value:o,raw:o}],[...l,o]));return f}switch(a.type){case"property":if(e&&typeof e=="object"&&String(a.value)in e){let o=e[String(a.value)];f.push(...O(o,n,t+1,i,[...s,a],[...l,String(a.value)]))}break;case"index":if(Array.isArray(e)){let o=a.value;o>=0&&o<e.length&&f.push(...O(e[o],n,t+1,i,[...s,a],[...l,`[${o}]`]))}else if(e&&typeof e=="object"){let o=String(a.value);o in e&&f.push(...O(e[o],n,t+1,i,[...s,{...a,type:"property"}],[...l,o]))}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e))for(let o=0;o<e.length;o++)f.push(...O(e[o],n,t+1,i,[...s,{type:"index",value:o,raw:`[${o}]`}],[...l,`[${o}]`]));else for(let o in e)e.hasOwnProperty(o)&&f.push(...O(e[o],n,t+1,i,[...s,{type:"property",value:o,raw:o}],[...l,o]));break;case"slice":if(Array.isArray(e)){let[o,u]=a.value,g=Math.max(0,o),p=Math.min(e.length,u===1/0?e.length:u);for(let A=g;A<p;A++)f.push(...O(e[A],n,t+1,i,[...s,{type:"index",value:A,raw:`[${A}]`}],[...l,`[${A}]`]))}break;case"union":if(Array.isArray(e)){let o=a.value;for(let u of o)u>=0&&u<e.length&&f.push(...O(e[u],n,t+1,i,[...s,{type:"index",value:u,raw:`[${u}]`}],[...l,`[${u}]`]))}break;case"filter":if(Array.isArray(e)){let o=a.value;for(let u=0;u<e.length;u++)o(e[u])&&f.push(...O(e[u],n,t+1,i,[...s,{type:"index",value:u,raw:`[${u}]`}],[...l,`[${u}]`]))}break}return f}var Ie=(e,r,t)=>{let i=V(e,r),s=t(i);return k(e,r,s)},le=(e,r)=>{let t=r(e);return b(e,t,!0)},Pe=(e,r)=>{let t=V(e,r);if(t!==void 0)return t===null?"null":Array.isArray(t)?"array":typeof t};
@@ -0,0 +1,361 @@
1
+ import type { AnyObject, ArrayFnParam, Callback, Compare, CompareWithProperty, DataParam, FilteredFnPropertyKey, Flattened, FnPropertyKey, Indices, IValueOfKey, KeyOf, ParamUpdateValue, PropertyOrArrayValue, PropertyValue, RangeCompare, SelectorFor, SelectorForIfIndices, SelectorOptions, SelectorSegment, SetterRange } from './types.js';
2
+ type A<T> = T extends AnyObject ? T : never;
3
+ /**
4
+ * Setter interface for advanced object manipulation
5
+ *
6
+ */
7
+ export interface SetterType<T> {
8
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never), V extends DataParam<A<T>, K> | (A<T> extends any[] ? SelectorForIfIndices<A<T>, K> : never)>(obj: A<T>, key: K, value?: V): any;
9
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never), I extends A<T> extends any[] ? K extends SelectorFor<A<T>> ? 'K' : SelectorForIfIndices<A<T>, 0> : Indices | Compare<A<T>, K> | RangeCompare | (K extends Indices ? SelectorFor<A<T>> : SelectorFor<Flattened<KeyOf<A<T>, K>>>[]), V extends PropertyOrArrayValue<A<T>, K, I extends Indices ? I : never> | Flattened<DataParam<A<T>, K, I>>>(obj: A<T>, key: K, index: I, value: V): any;
10
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never), I extends Indices | SelectorFor<Flattened<KeyOf<A<T>, K>>>[], P extends FnPropertyKey<A<T>, K> | PropertyValue<A<T>, K, I extends Indices ? I : never>, V extends PropertyOrArrayValue<A<T>, K, I extends Indices ? I : never, P> | CompareWithProperty<A<T>, K, P>>(obj: A<T>, key: K, indices: I, property: P, value: V): any;
11
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never), KK extends SelectorFor<Flattened<KeyOf<A<T>, K>>>[], P extends FilteredFnPropertyKey<A<T>, K, KK>, V extends PropertyValue<A<T>, K, never, P>>(obj: A<T>, key: K, stringKeys: KK, property: P, value: V): any;
12
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never), R extends RangeCompare | SelectorFor<Flattened<KeyOf<A<T>, K>>>[], P extends FnPropertyKey<A<T>, K>, V extends PropertyValue<A<T>, K, never, P>>(obj: A<T>, key: K, range: R, property: P, value: V): any;
13
+ }
14
+ type S<T, K> = SelectorFor<Flattened<Flattened<IValueOfKey<A<T>, K>>>>;
15
+ export interface SetterParamsType<T> {
16
+ <V extends ParamUpdateValue<T>>(value: V): any;
17
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never) | SelectorFor<Flattened<KeyOf<T, K>>>[], V extends DataParam<A<T>, K> | (A<T> extends any[] ? SelectorForIfIndices<A<T>, K> : never)>(key: K, value: V): any;
18
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never) | SelectorFor<Flattened<KeyOf<T, K>>>[], I extends A<T> extends any[] ? K extends SelectorFor<A<T>> ? S<A<T>, K>[] : SelectorForIfIndices<A<T>, 0> : Indices | Compare<A<T>, K> | RangeCompare | (K extends Indices ? SelectorFor<A<T>> : S<A<T>, K>[]), V extends PropertyOrArrayValue<A<T>, K, I extends Indices ? I : never> | (I extends S<A<T>, K>[] ? Flattened<ArrayFnParam<A<T>, K, I>> : Flattened<DataParam<A<T>, K, I>>)>(key: K, index: I, value: V): any;
19
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never) | SelectorFor<Flattened<KeyOf<T, K>>>[], I extends Indices | S<A<T>, K>[], P extends FnPropertyKey<A<T>, K> | PropertyValue<A<T>, K, I extends Indices ? I : never>, V extends PropertyOrArrayValue<A<T>, K, I extends Indices ? I : never, P> | CompareWithProperty<A<T>, K, P>>(key: K, indices: I, property: P, value: V): any;
20
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never) | S<A<T>, K>[], KK extends S<A<T>, K>[], P extends FilteredFnPropertyKey<A<T>, K, KK>, V extends PropertyValue<A<T>, K, never, P>>(key: K, stringKeys: KK, property: P, value: V): any;
21
+ <K extends SelectorFor<A<T>> | (A<T> extends any[] ? Indices : never) | S<A<T>, K>[], R extends RangeCompare | SelectorFor<Flattened<KeyOf<A<T>, K>>>[], P extends FnPropertyKey<A<T>, K>, V extends PropertyValue<A<T>, K, never, P>>(key: K, range: R, property: P, value: V): any;
22
+ }
23
+ /**
24
+ * Gets values from an object while preserving structure
25
+ * @param obj - Source object
26
+ * @param selector - Selector string or array
27
+ * @param options - Selector options
28
+ * @returns Structured object with selected paths
29
+ * @example
30
+ * get({users: [{name: 'Alice'}, {name: 'Bob'}]}, 'users[*].name')
31
+ * // Returns: {users: [{name: 'Alice'}, {name: 'Bob'}]}
32
+ *
33
+ * get({a: {b: 1}, c: {b: 2}}, ['a.b', 'c.b'])
34
+ * // Returns: {a: {b: 1}, c: {b: 2}}
35
+ */
36
+ export declare function get<T extends AnyObject, S extends SelectorFor<T>>(obj: T, selector?: S, options?: SelectorOptions & {
37
+ preserveStructure?: boolean;
38
+ multiple?: boolean;
39
+ }): T | undefined;
40
+ /**
41
+ * Enhanced setter method with multiple patterns
42
+ * @param obj - Target object
43
+ * @param params - Parameters for setting values
44
+ * @returns Modified object
45
+ * @example
46
+ * // Pattern 1: Simple value set
47
+ * set(obj, 'users[0].name', 'Alice')
48
+ *
49
+ * // Pattern 2: Update function
50
+ * set(obj, 'count', prev => prev + 1)
51
+ *
52
+ * // Pattern 3: Index with value
53
+ * set(obj, 'users', 0, {name: 'Alice'})
54
+ *
55
+ * // Pattern 4: Index with sub-path
56
+ * set(obj, 'users', 0, 'name', 'Alice')
57
+ *
58
+ * // Pattern 5: Multiple indices
59
+ * set(obj, 'users', [0, 2, 4], 'active', true)
60
+ *
61
+ * // Pattern 6: Multiple keys
62
+ * set(obj, 'settings', ['theme', 'language'], 'dark')
63
+ *
64
+ * // Pattern 7: Range
65
+ * set(obj, 'users', {from: 0, to: 5, by: 2}, 'active', false)
66
+ *
67
+ * // Pattern 8: Filter function
68
+ * set(obj, 'users', user => user.age > 18, 'eligible', true)
69
+ *
70
+ * // Pattern 9: Update object
71
+ * set(obj, {users: [{name: 'Alice'}], count: 1})
72
+ *
73
+ * // Pattern 10: Multiple selectors
74
+ * set(obj, ['users[0].name', 'users[1].name'], ['Alice', 'Bob'])
75
+ */
76
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), V extends DataParam<T, K> | (T extends any[] ? SelectorForIfIndices<T, K> : never)>(obj: T, key: K, value?: V): any;
77
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), I extends T extends any[] ? K extends SelectorFor<T> ? 'K' : SelectorForIfIndices<T, 0> : Indices | Compare<T, K> | RangeCompare | (K extends Indices ? SelectorFor<T> : SelectorFor<Flattened<KeyOf<T, K>>>[]), V extends PropertyOrArrayValue<T, K, I extends Indices ? I : never> | Flattened<DataParam<T, K, I>>>(obj: T, key: K, index: I, value: V): any;
78
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), I extends Indices | SelectorFor<Flattened<KeyOf<T, K>>>[], P extends FnPropertyKey<T, K> | PropertyValue<T, K, I extends Indices ? I : never>, V extends PropertyOrArrayValue<T, K, I extends Indices ? I : never, P> | CompareWithProperty<T, K, P>>(obj: T, key: K, indices: I, property: P, value: V): any;
79
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), KK extends SelectorFor<Flattened<KeyOf<T, K>>>[], P extends FilteredFnPropertyKey<T, K, KK>, V extends PropertyValue<T, K, never, P>>(obj: T, key: K, stringKeys: KK, property: P, value: V): any;
80
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), R extends RangeCompare | SelectorFor<Flattened<KeyOf<T, K>>>[], P extends FnPropertyKey<T, K>, V extends PropertyValue<T, K, never, P>>(obj: T, key: K, range: R, property: P, value: V): any;
81
+ export declare function set<T extends AnyObject, K extends SelectorFor<T> | (T extends any[] ? Indices : never), Fn extends Compare<T, K> | Indices, P extends FnPropertyKey<T, K>, V extends PropertyValue<T, K, never, P>>(obj: T, key: K, filterFn: Fn, property: P, value: V): any;
82
+ /**
83
+ * utility function to check if an object is a range object
84
+ * @param obj - The Object to check
85
+ * @example
86
+ * isRangeObject({ from: 0, to: 10 }); // true
87
+ * isRangeObject({ from: 0, to: 10, by: 1 }); // true
88
+ * isRangeObject({ from: 0, to: 10, by: '1' }); // true
89
+ * isRangeObject({ by: 2 }); // false
90
+ */
91
+ export declare function isRangeObject(obj: any): obj is SetterRange;
92
+ /**
93
+ * Sets a value at a path
94
+ * @param obj - The Object to set the value at
95
+ * @param selector - The path to set the value at
96
+ * @param value - The value to set
97
+ * @param subPath - The subpath to set the value at
98
+ * @returns The updated object
99
+ * @example
100
+ * setValueAtPath({ a: { b: { c: 1 } } }, 'a.b.c', 2); // { a: { b: { c: 2 } } }
101
+ * setValueAtPath({ a: { b: { c: 1 } } }, 'a.b.c', (prev) => prev + 1); // { a: { b: { c: 2 } } }
102
+ * setValueAtPath({ a: { b: { c: 1 } } }, 'a.b.c', 2, 'd'); // { a: { b: { c: { d: 2 } } } }
103
+ * setValueAtPath({ a: { b: { c: 1 } } }, 'a.b.c', (prev) => prev + 1, 'd'); // { a: { b: { c: { d: 2 } } } }
104
+ */
105
+ export declare function setValueAtPath<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, value: IValueOfKey<T, K> | ((prev: IValueOfKey<T, K>) => IValueOfKey<T, K>), subPath?: string): T;
106
+ /**
107
+ * Sets value at index
108
+ * @param obj - The Object to set the value at
109
+ * @param selector - The path to set the value at
110
+ * @param index - The index to set the value at
111
+ * @param value - The value to set
112
+ * @returns The updated object
113
+ * @example
114
+ * setValueAtIndex({ a: { b: [1, 2, 3] } }, 'a.b', 1, 4); // { a: { b: [1, 4, 3] } }
115
+ * setValueAtIndex({ a: { b: [1, 2, 3] } }, 'a.b', 1, (prev) => prev + 1); // { a: { b: [1, 3, 3] } }
116
+ * setValueAtIndex({ a: { b: [1, 2, 3] } }, 'a.b', 1, (prev) => prev + 1); // { a: { b: [1, 3, 3] } }
117
+ */
118
+ export declare function setValueAtIndex<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, index: number, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): T;
119
+ /**
120
+ * Sets value in a range
121
+ * @param obj - The object to set the value on
122
+ * @param selector - The selector to set the value at
123
+ * @param range - The range to set the value in
124
+ * @param value - The value to set
125
+ * @example
126
+ * const obj = { a: [1, 2, 3] };
127
+ * setValueBetweenRange(obj, 'a', { from: 1, to: 2 }, 4);
128
+ * console.log(obj); // { a: [1, 4, 4] }
129
+ */
130
+ export declare function setValueBetweenRange<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, range: SetterRange, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): T;
131
+ /**
132
+ * Sets value in a range with sub-path
133
+ * @param obj - The object to set the value on
134
+ * @param selector - The selector to set the value at
135
+ * @param range - The range to set the value in
136
+ * @param subPath - The sub-path to set the value at
137
+ * @param value - The value to set
138
+ * @example
139
+ * const obj = { a: [1, 2, 3] };
140
+ * setValueBetweenRangeWithSubPath(obj, 'a', { from: 1, to: 2 }, 'b', 4);
141
+ * console.log(obj); // { a: [1, { b: 4 }, { b: 4 }] }
142
+ */
143
+ export declare const setValueBetweenRangeWithSubPath: <T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, range: SetterRange, subPath: string, value: any) => T;
144
+ /**
145
+ * Casts properties to a given type
146
+ */
147
+ export declare function castProps<T>(arr: any, props: any): T;
148
+ /**
149
+ * Sets value for filtered items
150
+ * @param obj - The object to modify.
151
+ * @param selector - The selector for the property to modify.
152
+ * @param filterFn - The filter function to apply to the items.
153
+ * @param value - The value to set for the filtered items.
154
+ * @example
155
+ * const arr = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
156
+ * setValueWithFilter(arr, 'id', id => id === 1, { name: 'John Doe' });
157
+ * console.log(arr); // [{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane' }]
158
+ */
159
+ export declare function setValueWithFilter<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, filterFn: (item: IValueOfKey<T, K> extends (infer U)[] ? U : any, index: number) => boolean, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): T;
160
+ export declare function setArrayValueWithFilter<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, filterFn: (item: IValueOfKey<T, K> extends (infer U)[] ? U : any, index: number) => boolean, selector: K, value: IValueOfKey<T, K> extends (infer U)[] ? U | Partial<U> | ((prev: U) => U | Partial<U>) : any): T;
161
+ /**
162
+ * Sets value for filtered items with sub-path
163
+ * @param obj - The object to modify.
164
+ * @param selector - The selector for the property to modify.
165
+ * @param filterFn - The filter function to apply to the items.
166
+ * @param subPath - The sub-path to modify.
167
+ * @param value - The value to set for the filtered items.
168
+ * @example
169
+ * const arr = [{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }];
170
+ * setValueWithFilterWithSubPath(arr, 'id', id => id === 1, 'name', 'John Doe');
171
+ * console.log(arr); // [{ id: 1, name: 'John Doe' }, { id: 2, name: 'Jane' }]
172
+ */
173
+ export declare function setValueWithFilterWithSubPath<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, filterFn: (item: IValueOfKey<T, K> extends (infer U)[] ? U : any, index: number) => boolean, subPath: string, value: any): T;
174
+ /**
175
+ * Merge update object at path
176
+ * @param obj - The object to update
177
+ * @param selector - The path to the object to update
178
+ * @param updates - The object to merge with the existing object
179
+ * @example
180
+ * const obj = { a: { b: { c: 1 } } };
181
+ * mergeUpdateAtPath(obj, 'a.b', { c: 2 });
182
+ * console.log(obj); // { a: { b: { c: 2 } } }
183
+ */
184
+ export declare function mergeUpdateAtPath<T extends AnyObject | any[], K extends SelectorFor<T> = SelectorFor<T>>(obj: T, selector: K, updates: IValueOfKey<T, K> extends AnyObject ? Partial<IValueOfKey<T, K>> : any): T;
185
+ /**
186
+ * Set with array selectors
187
+ * @param obj - The object to update
188
+ * @param selectors - The array of paths to update
189
+ * @param value - The value to set for each path
190
+ * @example
191
+ * const obj = { a: { b: { c: 1 } } };
192
+ * setValueWithArraySelectors(obj, ['a.b', 'a.c'], { d: 2 });
193
+ * console.log(obj); // { a: { b: { d: 2 }, c: { d: 2 } } }
194
+ */
195
+ export declare function setValueWithArraySelectors<T extends AnyObject | any[]>(obj: T, selectors: string[], value: any): T;
196
+ /**
197
+ * Gets value at path with createMissing option
198
+ * @param obj - The object to get the value from.
199
+ * @param selector - The path to the value.
200
+ * @param options - Options for the operation.
201
+ * @returns The value at the path.
202
+ * @example
203
+ * const a = { b: { c: 1 } };
204
+ * ValueOfKey(a, 'b.c', { createMissing: true });
205
+ * console.log(a); // 1
206
+ */
207
+ export declare function ValueOfKey<T extends AnyObject | any[], K extends SelectorFor<T> | string>(obj: T, selector: K, options?: {
208
+ createMissing?: boolean;
209
+ type?: 'array';
210
+ add?: boolean;
211
+ debug?: boolean;
212
+ }): any;
213
+ /**
214
+ * Sets value at path (internal)
215
+ */
216
+ export declare const setAtPath: <T extends AnyObject | any[], K extends string = string>(obj: T, selector: K, value: any, options?: {
217
+ createMissing?: boolean;
218
+ }) => T;
219
+ /**
220
+ * Creates a nested object structure from a path string
221
+ *
222
+ * This function generates an object hierarchy based on a path selector and assigns
223
+ * a value at the deepest level. It builds the structure from the inside out,
224
+ * handling properties, array indices, wildcards, and other selector types.
225
+ *
226
+ * @template T - The expected return type
227
+ * @param path - The path string describing the structure to create
228
+ * @param value - The value to place at the end of the path (optional)
229
+ * @returns The generated object/array structure, or undefined if no segments
230
+ *
231
+ * @example
232
+ * // Simple nested object
233
+ * fromPath('user.profile.name', 'John')
234
+ * // Returns: { user: { profile: { name: 'John' } } }
235
+ *
236
+ * @example
237
+ * // Array with specific index
238
+ * fromPath('users[0].name', 'Alice')
239
+ * // Returns: { users: [{ name: 'Alice' }] }
240
+ *
241
+ * @example
242
+ * // Array with wildcard
243
+ * fromPath('items[*].active', true)
244
+ * // Returns: { items: [true] }
245
+ *
246
+ * @example
247
+ * // Deep nested with arrays
248
+ * fromPath('company.departments[2].manager.name', 'Bob')
249
+ * // Returns: { company: { departments: [undefined, undefined, { manager: { name: 'Bob' } }] } }
250
+ *
251
+ * @example
252
+ * // Single property
253
+ * fromPath('count', 42)
254
+ * // Returns: { count: 42 }
255
+ */
256
+ export declare const fromPath: <T extends AnyObject>(path: string, value?: any) => T | T[] | (T | T[])[] | undefined;
257
+ /**
258
+ * Selects values from an object (legacy method, uses get internally)
259
+ * @deprecated Use get() instead
260
+ */
261
+ export declare const select: <T extends AnyObject, S extends SelectorFor<T>>(obj: T, selector: S, options?: SelectorOptions) => T | T[] | (T | T[])[] | undefined;
262
+ /**
263
+ * Checks if a selector matches any value in object
264
+ * @param obj - Source object
265
+ * @param selector - Selector string or array
266
+ * @param options - Selector options
267
+ * @returns True if selector matches at least one value (or array of booleans for array selector)
268
+ */
269
+ export declare const has: <T extends AnyObject, S extends SelectorFor<T>, O extends SelectorOptions>(obj: T, selector: S, options?: O) => boolean | boolean[];
270
+ /**
271
+ * Deletes values from object using selector
272
+ * @param obj - Target object
273
+ * @param selector - Selector string or array
274
+ * @param options - Selector options
275
+ * @returns True if any values were deleted (or array of booleans for array selector)
276
+ */
277
+ export declare const deletePath: <T extends AnyObject, S extends SelectorFor<T>, O extends SelectorOptions>(obj: T, selector: S, options?: O) => boolean | boolean[];
278
+ /**
279
+ * Gets all matching paths from an object
280
+ * @param obj - Source object
281
+ * @param selector - Selector string or array (optional, if not provided returns all paths)
282
+ * @param options - Selector options
283
+ * @returns Array of path strings
284
+ */
285
+ export declare const getPaths: <T extends AnyObject, S extends SelectorFor<T>, O extends SelectorOptions & {
286
+ format?: "selector" | "string";
287
+ }>(obj: T, selector?: S, options?: O) => SelectorFor<T>[];
288
+ /**
289
+ * Finds all paths that match a predicate
290
+ * @param obj - Source object
291
+ * @param predicate - Function to test each path/value pair
292
+ * @returns Array of matching path strings
293
+ * @example
294
+ * findPaths({a: 1, b: {c: 2}}, (path, value) => value === 2) // ['b.c']
295
+ */
296
+ export declare const findPaths: <T extends AnyObject, P extends <P_1 extends SelectorFor<T>, V extends IValueOfKey<T, P_1>>(path: P_1, value: V) => boolean>(obj: T, predicate: P) => string[];
297
+ /**
298
+ * Flattens an object with array notation in keys
299
+ * @param obj - Source object
300
+ * @param separator - Separator for nested keys (default: '.')
301
+ * @returns Flattened object with array notation
302
+ * @example
303
+ * flattenWithArrays({a: [{b: 1}, {b: 2}]}) // {'a[0].b': 1, 'a[1].b': 2}
304
+ */
305
+ export declare const flattenWithArrays: (obj: AnyObject, separator?: string) => AnyObject;
306
+ /**
307
+ * Unflattens an object with array notation in keys
308
+ * @param obj - Source object
309
+ * @returns Unflattened object
310
+ * @example
311
+ * unflattenWithArrays({'a[0].b': 1, 'a[1].b': 2}) // {a: [{b: 1}, {b: 2}]}
312
+ */
313
+ export declare const unflattenWithArrays: (obj: AnyObject) => AnyObject;
314
+ /**
315
+ * Merges objects with array notation support for paths
316
+ * @param objects - Objects to merge
317
+ * @returns Merged object
318
+ */
319
+ export declare const deepMergeWithArrays: <T extends AnyObject[]>(...objects: T) => AnyObject;
320
+ /**
321
+ * Traverse with path tracking
322
+ * @param current - Current value
323
+ * @param segments - Selector segments
324
+ * @param depth - Current depth
325
+ * @param maxDepth - Maximum depth
326
+ * @param currentPath - Current path array
327
+ * @param currentStringPath - Current string path array
328
+ * @returns Array of values with paths
329
+ * @example
330
+ * traverseWithPaths({ a: { b: 1 } }, ['a', 'b'], 0, 2);
331
+ * // [{ value: 1, path: 'a.b', stringPath: 'a.b' }]
332
+ */
333
+ export declare function traverseWithPaths(current: any, segments: SelectorSegment[], depth: number, maxDepth: number, currentPath?: SelectorSegment[], currentStringPath?: string[]): Array<{
334
+ value: any;
335
+ path: string;
336
+ stringPath: string;
337
+ }>;
338
+ /**
339
+ * Updates a value at a path using a transformation function
340
+ * @param obj - Target object
341
+ * @param path - Path string
342
+ * @param updater - Function to transform the current value
343
+ * @returns Modified object
344
+ * @example
345
+ * update({a: {b: 1}}, 'a.b', (val) => val + 1) // {a: {b: 2}}
346
+ * update({items: [{count: 1}]}, 'items[0].count', (count) => count * 2) // {items: [{count: 2}]}
347
+ */
348
+ export declare const update: <T extends AnyObject, K extends SelectorFor<T>>(obj: T, path: K, updater: Callback<IValueOfKey<T, K>>) => T;
349
+ export declare const updateWithCallBack: <T extends AnyObject, K extends SelectorFor<T>>(obj: T, updater: Callback<T>) => T;
350
+ /**
351
+ * Gets the type of value at a path
352
+ * @param obj - Source object
353
+ * @param path - Path string
354
+ * @returns Type string or undefined
355
+ * @example
356
+ * getTypeAtPath({a: [{b: 1}]}, 'a[0].b') // 'number'
357
+ * getTypeAtPath({a: null}, 'a.b') // undefined
358
+ */
359
+ export declare const getTypeAtPath: (obj: AnyObject, path: string) => string | undefined;
360
+ export {};
361
+ //# sourceMappingURL=getter-setter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getter-setter.d.ts","sourceRoot":"","sources":["../../../src/lib/object/getter-setter.ts"],"names":[],"mappings":"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"}