@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
+ import{isDate as X}from"@fluixi/utils/primitive";import{isClass as xe,isObject as he}from"@fluixi/utils/object";import{isArray as Se}from"@fluixi/utils/array";import{isFunction as be}from"@fluixi/utils/functions";function _(e){let r=typeof e;return e===null||r==="string"||r==="number"||r==="boolean"||r==="symbol"||r==="bigint"||r==="undefined"||X(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 V=(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,V(i))}),t}if(e instanceof Set){let t=new Set;return e.forEach(i=>{t.add(V(i))}),t}if(Array.isArray(e))return Array.from(e).map(t=>V(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]=V(e[s]));let i=Object.getOwnPropertySymbols(e);for(let s of i)(!r||!r.some(l=>l.toString()===s.toString()))&&(t[s]=V(e[s]));return t}return e};var B=(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(!q(e[t],r[t]))return!1}else if(e[t]!==r[t])return!1;return!0},q=(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(!q(l,a))return!1}else if(l!==a)return!1}return!0},L=(e,r,t={})=>{let{includeDeleted:i=!1,includeAdded:s=!0,deepArrayComparison:l=!0,equalityFn:a=B,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=L(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=B}=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=L(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 Y(e){return!!(e&&(e.diff||e.changes)&&(e.modified||e.deleted||e.hasChanges))}var b=(e,r,t)=>{if(!Y(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 O=(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:ee(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})},ee=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 J=(e,r,t)=>{let i=O(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 $(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=$(e,g,{...t,preserveStructure:!1});p!==void 0&&J(u,g,p)}return u}else return r.map(u=>$(e,u,{...t,preserveStructure:!1}));let f=O(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 H(e,r,t,i,s){let l=V(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),_(l))return typeof r=="function"?r(l):r;if(a.length===1){if(typeof a[0]=="function")return ce(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"&&(te(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 re(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 ie(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 oe(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 z(l,r,t,i,s)}if(typeof r=="function"&&typeof t=="string"){if(a.length===3)return ae(l,r,t,i);if(a.length===4)return z(l,t,r,i,s)}if(Array.isArray(r)){if(a.length===2&&typeof t=="object"&&!Array.isArray(t))return Q(l,r,t);if(a.length===2)return Q(l,r,t)}throw new Error(`Invalid set parameters: ${JSON.stringify(a)}`)}function W(e,r,t,i=!1){let s=O(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 te(e){return Array.isArray(e)&&e.every(r=>typeof r=="string")}function k(e,r,t,i){let s=O(r),l=P(e,r,{paths:s,createMissing:!0}),a;i&&typeof t=="function"&&(a=$(l,i));let f=W(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=W(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 re=(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 ie=(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 We(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 ae(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 z(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 oe(e,r,t){let i=P(e,r,{createMissing:!0}),s=b(i||{},t,!0);return I(e,r,s,{createMissing:!0})}function Q(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=W(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=O(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 Z(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 Z(n)}function Z(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=O(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=G(o.join("."),t[g]),n[g]=typeof n[g]=="object"?b(n[g],u,!0):u):(u=G(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(V(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 G=(e,r)=>{let t=O(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},Ne=(e,r,t={})=>$(e,r,{...t,preserveStructure:!1}),le=(e,r,t={})=>{if(Array.isArray(r))return r.map(s=>le(e,s,t));let i=$(e,r,{...t,preserveStructure:!1});return Array.isArray(i)?i.length>0?i.every(s=>s!==void 0):!1:i!==void 0},fe=(e,r,t={})=>{let{throwOnError:i=!1}=t;if(Array.isArray(r))return r.map(n=>fe(e,n,t));let s=O(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=N(e,r,t),f=!1;for(let o of n)ye(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},ye=(e,r)=>{let t=O(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},N=(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=N(e,f,t);n.push(...o)}return n}if(r){let n=O(r,t);return F(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)},_e=(e,r)=>N(e).filter(i=>{let s=$(e,i);return r(i,s)}),ue=(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},Be=e=>{let r={};for(let t in e)H(r,t,e[t]);return r},qe=(...e)=>{let r={};for(let t of e){if(!m(t))continue;let i=ue(t);for(let s in i)H(r,s,i[s])}return r};function F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(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(...F(e[u],n,t+1,i,[...s,{type:"index",value:u,raw:`[${u}]`}],[...l,`[${u}]`]))}break}return f}var Le=(e,r,t)=>{let i=$(e,r),s=t(i);return k(e,r,s)},ce=(e,r)=>{let t=r(e);return b(e,t,!0)},Je=(e,r)=>{let t=$(e,r);if(t!==void 0)return t===null?"null":Array.isArray(t)?"array":typeof t};export{P as ValueOfKey,We as castProps,qe as deepMergeWithArrays,fe as deletePath,_e as findPaths,ue as flattenWithArrays,G as fromPath,$ as get,N as getPaths,Je as getTypeAtPath,le as has,ne as isRangeObject,oe as mergeUpdateAtPath,Ne as select,H as set,ae as setArrayValueWithFilter,I as setAtPath,E as setValueAtIndex,k as setValueAtPath,M as setValueBetweenRange,ie as setValueBetweenRangeWithSubPath,Q as setValueWithArraySelectors,D as setValueWithFilter,z as setValueWithFilterWithSubPath,F as traverseWithPaths,Be as unflattenWithArrays,Le as update,ce as updateWithCallBack};
@@ -0,0 +1,6 @@
1
+ "use strict";var ee=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var _e=Object.prototype.hasOwnProperty;var Be=(e,t)=>{for(var n in t)ee(e,n,{get:t[n],enumerable:!0})},Le=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of We(t))!_e.call(e,i)&&i!==n&&ee(e,i,{get:()=>t[i],enumerable:!(r=De(t,i))||r.enumerable});return e};var ze=e=>Le(ee({},"__esModule",{value:!0}),e);var qt={};Be(qt,{ValueOfKey:()=>$,applyDiff:()=>k,camelCaseKeys:()=>fe,castProps:()=>ut,clean:()=>Ae,createFilterFunction:()=>xe,createOmitter:()=>St,createSelector:()=>rt,deepClone:()=>K,deepFreeze:()=>te,deepMerge:()=>J,deepMergeKeepReference:()=>J,deepMergeStrict:()=>at,deepMergeWithArrays:()=>Tt,deepMergeWithOptions:()=>C,deepOmit:()=>le,deepOmitBy:()=>H,deepTransform:()=>It,defaults:()=>qe,deletePath:()=>N,detectSelectorType:()=>D,diffObject:()=>z,diffObjectDetailed:()=>U,filter:()=>Je,findPaths:()=>gt,flatten:()=>Ve,flattenWithArrays:()=>Fe,fromPath:()=>ae,fromQueryString:()=>Xe,get:()=>P,getChangedPaths:()=>nt,getPaths:()=>G,getTypeAtPath:()=>xt,groupBy:()=>Ge,has:()=>Re,hasObjectChanges:()=>et,invert:()=>L,isClass:()=>de,isEmptyObject:()=>pe,isNonNullObject:()=>Ye,isObject:()=>T,isPlainObject:()=>w,isRangeObject:()=>ke,kebabCaseKeys:()=>ce,mapKeys:()=>Pt,mapPath:()=>Ct,mapValues:()=>vt,merge:()=>ne,mergeArrays:()=>st,mergeIntoStructure:()=>re,mergeStrict:()=>at,mergeUpdateAtPath:()=>Pe,mergeWithOptions:()=>C,move:()=>Lt,omit:()=>ht,omitBy:()=>$e,omitNil:()=>Ot,omitPath:()=>kt,parseSelector:()=>v,pick:()=>Kt,pickBy:()=>bt,pickPath:()=>wt,reconcile:()=>Mt,renameKeys:()=>Ft,reorder:()=>Jt,select:()=>dt,set:()=>_,setArrayValueWithFilter:()=>ve,setAtPath:()=>I,setValueAtIndex:()=>q,setValueAtPath:()=>V,setValueBetweenRange:()=>Z,setValueBetweenRangeWithSubPath:()=>we,setValueWithArraySelectors:()=>ie,setValueWithFilter:()=>Q,setValueWithFilterWithSubPath:()=>se,size:()=>Ze,snakeCaseKeys:()=>ye,sort:()=>X,sortBy:()=>_t,sortKeys:()=>Bt,stringifySelector:()=>E,structureByKeys:()=>$t,swap:()=>zt,toJSONString:()=>ge,toQueryString:()=>He,transform:()=>Qe,transformKeysAtPath:()=>Ut,transformPath:()=>Vt,transformValues:()=>Rt,traverseWithPaths:()=>F,unflatten:()=>Ce,unflattenWithArrays:()=>At,update:()=>mt,updateWithCallBack:()=>Ie,validateSelector:()=>he});module.exports=ze(qt);var T=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";function w(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function de(e){return typeof e=="function"&&/^class\s/.test(Function.prototype.toString.call(e))}var pe=e=>T(e)?Object.keys(e).length===0:!1,R=(e,t,n,r)=>{if(n>r)return;if(t.length===0)return e;let i=t[0],a=t.slice(1);if(i.type==="descendant"){let o=R(e,a,n+1,r);if(o!==void 0)return o;if(e&&typeof e=="object")if(Array.isArray(e)){let s=[];for(let f=0;f<e.length;f++){let l=R(e[f],t,n+1,r);l!==void 0&&(s[f]=l)}return s.length>0?s:void 0}else{let s={};for(let f in e)if(e.hasOwnProperty(f)){let l=R(e[f],t,n+1,r);l!==void 0&&(s[f]=l)}return Object.keys(s).length>0?s:void 0}return}switch(i.type){case"property":if(T(e)&&i.value&&String(i.value)in e){let o=e[String(i.value)],s=R(o,a,n+1,r);if(s!==void 0)return{[String(i.value)]:s}}break;case"index":if(Array.isArray(e)){let o=i.value;if(o>=0&&o<e.length){let s=R(e[o],a,n+1,r);if(s!==void 0){let f=new Array(e.length).filter(l=>l!==void 0);return f[o]=s,f}}}else if(e&&typeof e=="object"){let o=String(i.value);if(o in e){let s=R(e[o],a,n+1,r);if(s!==void 0)return{[o]:s}}}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e)){let o=[],s=!1;for(let f=0;f<e.length;f++){let l=R(e[f],a,n+1,r);l!==void 0&&(o[f]=l,s=!0)}return s?o:void 0}else{let o={},s=!1;for(let f in e)if(e.hasOwnProperty(f)){let l=R(e[f],a,n+1,r);l!==void 0&&(o[f]=l,s=!0)}return s?o:void 0}break;case"slice":if(Array.isArray(e)){let[o,s]=i.value,f=Math.max(0,o),l=Math.min(e.length,s===1/0?e.length:s),y=[],c=!1;for(let u=f;u<l;u++){let d=R(e[u],a,n+1,r);d!==void 0&&(y[u]=d,c=!0)}return c?y:void 0}break;case"union":if(Array.isArray(e)){let o=i.value,s=[],f=!1;for(let l of o)if(l>=0&&l<e.length){let y=R(e[l],a,n+1,r);y!==void 0&&(s[l]=y,f=!0)}return f?s:void 0}break;case"filter":if(Array.isArray(e)){let o=i.value,s=[],f=!1;for(let l=0;l<e.length;l++)if(o(e[l])){let y=R(e[l],a,n+1,r);y!==void 0&&(s[l]=y,f=!0)}return f?s:void 0}break}};function ge(e,t=0){let n=new WeakSet,r=f=>t?" ".repeat(f):"",i=f=>t?`
2
+ ${" ".repeat(f)}`:"",a=f=>f.replace(/[\u0000-\u001F"\\]/g,l=>{switch(l){case'"':return'\\"';case"\\":return"\\\\";case"\b":return"\\b";case"\f":return"\\f";case`
3
+ `:return"\\n";case"\r":return"\\r";case" ":return"\\t";default:return`\\u${l.charCodeAt(0).toString(16).padStart(4,"0")}`}}),o=(f,l)=>{if(f===null)return"null";let y=typeof f;if(y==="number")return Number.isFinite(f)?String(f):"null";if(y==="boolean")return f?"true":"false";if(y==="bigint")return`"${String(f)}"`;if(!(y==="function"||y==="undefined"||y==="symbol")){if(Array.isArray(f)){if(n.has(f))throw new TypeError("Converting circular structure to JSON");n.add(f);let c=l+t,u=f.map(d=>{let p=o(d,c);return p===void 0?"null":p});return n.delete(f),t?`[${i(c)}${u.join(`,${i(c)}`)}${i(l)}]`:`[${u.join(",")}]`}if(y==="object"){if(n.has(f))throw new TypeError("Converting circular structure to JSON");n.add(f);let c=Object.keys(f),u=l+t,d=[];for(let p of c){let A=o(f[p],u);A!==void 0&&(t?d.push(`${r(u)}"${a(p)}": ${A}`):d.push(`"${a(p)}":${A}`))}return n.delete(f),t?`{
4
+ ${d.join(`,
5
+ `)}
6
+ ${r(l)}}`:`{${d.join(",")}}`}}},s=o(e,0);return s===void 0?void 0:s}var K=(e,t)=>{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 n=new Map;return e.forEach((r,i)=>{(!t||!t.some(a=>a.toString()===i.toString()))&&n.set(i,K(r))}),n}if(e instanceof Set){let n=new Set;return e.forEach(r=>{n.add(K(r))}),n}if(Array.isArray(e))return Array.from(e).map(n=>K(n));if(T(e)){let n={};for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(!t||!t.some(a=>a.toString()===i.toString()))&&(n[i]=K(e[i]));let r=Object.getOwnPropertySymbols(e);for(let i of r)(!t||!t.some(a=>a.toString()===i.toString()))&&(n[i]=K(e[i]));return n}return e};var L=(e,t=!1)=>{if(Array.isArray(e))return e.map(r=>L(r,t));if(!T(e))return{};let n={};for(let r in e){let i=e[r];typeof i=="string"||typeof i=="number"||typeof i=="symbol"?n[i]=r:T(i)?t&&(n[r]=L(i,t)):Array.isArray(i)&&t&&(n[r]=i.map(a=>L(a,t)))}return n},Je=(e,t)=>{if(Array.isArray(e))return e.filter(t);if(!T(e))return{};let n={};for(let r in e)t(e[r],r)&&(n[r]=e[r]);return n},Ae=(e,t=!1)=>{if(!T(e))return{};let n={};for(let r in e){let i=e[r];if(i!=null)if(t&&T(i)){let a=Ae(i,!0);Object.keys(a).length>0&&(n[r]=a)}else n[r]=i}return n},qe=(e,t)=>{if(Array.isArray(e))return Array.isArray(t)?[...e,...t]:[...e,t];let n=K(e);for(let r in t)n[r]===void 0&&(n[r]=t[r]);return n},Ze=e=>T(e)?Object.keys(e).length:0,Qe=(e,t)=>{if(Array.isArray(e))return e.map(t);if(!T(e))return{};let n={};for(let r in e){let[i,a]=t(r,e[r]);n[i]=a}return n},Ge=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>{let i=r[t];if(i==null)return n;let a=String(i);return n[a]||(n[a]=[]),n[a].push(r),n},{}):{},He=e=>{if(!T(e))return"";let t=[],n=(r,i)=>{i!=null&&(Array.isArray(i)?i.forEach(a=>{t.push(`${encodeURIComponent(r)}=${encodeURIComponent(a)}`)}):t.push(`${encodeURIComponent(r)}=${encodeURIComponent(i)}`))};for(let r in e)n(r,e[r]);return t.join("&")},Xe=e=>{if(!e||typeof e!="string")return{};let t=e.startsWith("?")?e.slice(1):e;if(!t)return{};let n={},r=t.split("&");for(let i of r){let[a,o]=i.split("=").map(decodeURIComponent);a&&(a in n?Array.isArray(n[a])?n[a].push(o||""):n[a]=[n[a],o||""]:n[a]=o||"")}return n},te=e=>{if(e==null||typeof e!="object")return e;Object.freeze(e);for(let n in e){let r=e[n];r!=null&&typeof r=="object"&&te(r)}let t=Object.getOwnPropertySymbols(e);for(let n of t){let r=e[n];r!=null&&typeof r=="object"&&te(r)}return e},Ye=e=>e!=null&&typeof e=="object"&&!Array.isArray(e);var Te=(e,t)=>e===t,j=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(Array.isArray(e[n])&&Array.isArray(t[n])){if(!j(e[n],t[n]))return!1}else if(T(e[n])&&T(t[n])){if(!me(e[n],t[n]))return!1}else if(e[n]!==t[n])return!1;return!0},me=(e,t)=>{let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n){if(!(i in t))return!1;let a=e[i],o=t[i];if(Array.isArray(a)&&Array.isArray(o)){if(!j(a,o))return!1}else if(T(a)&&T(o)){if(!me(a,o))return!1}else if(a!==o)return!1}return!0},z=(e,t,n={})=>{let{includeDeleted:r=!1,includeAdded:i=!0,deepArrayComparison:a=!0,equalityFn:o=Te,preserveStructure:s=!1}=n;if(e==null&&t==null)return{};if(e==null)return i?{...t}:{};if(t==null){if(r){let y={};for(let c in e)y[c]=void 0;return y}return{}}if(!T(e)||!T(t))return o(e,t)?{}:t;let f={},l=new Set;for(let y in t){l.add(y);let c=e[y],u=t[y];if(!(y in e)){i&&(f[y]=u);continue}if(Array.isArray(c)&&Array.isArray(u)){a?j(c,u)?s&&(f[y]=void 0):f[y]=u:c!==u?f[y]=u:s&&(f[y]=void 0);continue}if(T(c)&&T(u)){let d=z(c,u,n);Object.keys(d).length>0?f[y]=d:s&&(f[y]=void 0);continue}o(c,u)?s&&(f[y]=void 0):f[y]=u}if(r)for(let y in e)l.has(y)||(f[y]=void 0);return f},U=(e,t,n={})=>{let r=[],i=[],a=[],o={},{includeDeleted:s=!1,includeAdded:f=!0,deepArrayComparison:l=!0,equalityFn:y=Te}=n;if(Array.isArray(e)&&Array.isArray(t)){let d=Math.max(e.length,t.length),p=[],A=!1;for(let g=0;g<d;g++){let m=`[${g}]`;if(g>=e.length)r.push(m),p[g]=t[g],A=!0;else if(g>=t.length)i.push(m),A=!0;else{let x=e[g],h=t[g];T(x)&&T(h)||Array.isArray(x)&&Array.isArray(h)?U(x,h,n).hasChanges?(a.push(m),p[g]=h,A=!0):p[g]=x:y(x,h)?p[g]=x:(a.push(m),p[g]=h,A=!0)}}return{changes:A?p:{},added:r,deleted:i,modified:a,hasChanges:A||i.length>0}}let c=(d,p,A="")=>{let g={added:[],deleted:[],modified:[]};if(Array.isArray(d)&&Array.isArray(p)){let m=Math.max(d.length,p.length);for(let x=0;x<m;x++){let h=A?`${A}[${x}]`:`[${x}]`;if(x>=d.length)g.added.push(h);else if(x>=p.length)g.deleted.push(h);else{let S=d[x],b=p[x];if(T(S)&&T(b)){let O=c(S,b,h);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else if(Array.isArray(S)&&Array.isArray(b)){let O=c(S,b,h);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else S!==b&&g.modified.push(h)}}return g}if(T(d)&&T(p)){let m=new Set([...Object.keys(d||{}),...Object.keys(p||{})]);for(let x of m){let h=d?.[x],S=p?.[x],b=A?`${A}.${x}`:x;if(!(x in(d||{})))g.added.push(b);else if(!(x in(p||{})))g.deleted.push(b);else if(Array.isArray(h)&&Array.isArray(S)){if(!j(h,S)){let O=c(h,S,b);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}}else if(T(h)&&T(S)){let O=c(h,S,b);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else h!==S&&g.modified.push(b)}}return g};if(e==null&&t==null)return{changes:{},added:r,deleted:i,modified:a,hasChanges:!1};if(e==null){if(f&&t)for(let d in t)r.push(d),o[d]=t[d];return{changes:o,added:r,deleted:i,modified:a,hasChanges:r.length>0}}if(t==null){if(s)for(let d in e)i.push(d),o[d]=void 0;return{changes:o,added:r,deleted:i,modified:a,hasChanges:i.length>0}}let u=new Set;for(let d in t){u.add(d);let p=e[d],A=t[d];if(!(d in e)){f&&(r.push(d),o[d]=A);continue}let g=!1;if(Array.isArray(p)&&Array.isArray(A)){if(g=l?!j(p,A):p!==A,g){let m=c(p,A,d);r.push(...m.added),i.push(...m.deleted),a.push(...m.modified),o[d]=A}}else if(T(p)&&T(A)){let m=z(p,A,n);if(g=Object.keys(m).length>0,g){let x=c(p,A,d);r.push(...x.added),i.push(...x.deleted),a.push(...x.modified),o[d]=m}}else g=!y(p,A),g&&(a.push(d),o[d]=A)}for(let d in e)u.has(d)||(i.push(d),o[d]=void 0);return{changes:o,added:r,deleted:i,modified:a,hasChanges:r.length>0||i.length>0||a.length>0}},et=(e,t,n={})=>{let r=z(e,t,n);return Object.keys(r).length>0};function tt(e){return!!(e&&(e.diff||e.changes)&&(e.modified||e.deleted||e.hasChanges))}var k=(e,t,n)=>{if(!tt(t)){let g=t,m=n||!1;if(Array.isArray(e)&&Array.isArray(g)){let h=m?e:[...e];g.length<h.length&&(h.length=g.length);for(let S=0;S<g.length;S++){let b=g[S];b!==void 0&&(T(h[S])&&T(b)||Array.isArray(h[S])&&Array.isArray(b)?h[S]=k(h[S],b,m):h[S]=b)}return h}if(!T(e))return g;if(!T(g))return e;let x=m?e:{...e};for(let h in g){let S=g[h];S===void 0?delete x[h]:Array.isArray(x[h])&&Array.isArray(S)||T(x[h])&&T(S)?x[h]=k(x[h],S,m):x[h]=S}return x}let{diff:r,added:i=[],deleted:a=[],modified:o=[],changes:s,keepRef:f}=t,l=n!==void 0?n:f,y=s||r;if(!y)return e;let c=new Set(i),u=new Set(a),d=new Set(o),p=g=>{if(i.length===0&&a.length===0&&o.length===0)return!0;let m=g.split(/[.\[\]]+/).filter(Boolean);for(let x=0;x<=m.length;x++){let h=m.slice(0,x).join("."),S=m.slice(0,x).map((b,O)=>/^\d+$/.test(b)?`[${b}]`:O>0?`.${b}`:b).join("");if(c.has(h)||c.has(S)||u.has(h)||u.has(S)||d.has(h)||d.has(S))return!0}return!1};if(Array.isArray(e)&&Array.isArray(y)){let g=l?e:[...e];g.length=y.length;for(let m=0;m<y.length;m++){let x=`[${m}]`,h=y[m];h!==void 0&&p(x)&&(T(g[m])&&T(h)||Array.isArray(g[m])&&Array.isArray(h)?g[m]=k(g[m],h,l):g[m]=h)}return g}if(!T(e))return y;if(!T(y))return e;let A=l?e:{...e};for(let g of a)g.includes(".")||g.includes("[")||p(g)&&delete A[g];for(let g in y){let m=y[g];p(g)&&(m===void 0?delete A[g]:Array.isArray(A[g])&&Array.isArray(m)||T(A[g])&&T(m)?A[g]=k(A[g],m,l):A[g]=m)}return A},nt=(e,t,n={})=>{let r=[],i=(a,o,s="")=>{if(a===o)return;if(Array.isArray(a)&&Array.isArray(o)){let l=Math.max(a.length,o.length);for(let y=0;y<l;y++){let c=s?`${s}[${y}]`:`[${y}]`;if(y>=a.length)r.push(c);else if(y>=o.length)r.push(c);else{let u=a[y],d=o[y];T(u)&&T(d)||Array.isArray(u)&&Array.isArray(d)?i(u,d,c):u!==d&&r.push(c)}}return}if(!T(a)||!T(o)){s&&r.push(s);return}let f=new Set([...Object.keys(a||{}),...Object.keys(o||{})]);for(let l of f){let y=a?.[l],c=o?.[l],u=s?`${s}.${l}`:l;!(l in(a||{}))||!(l in(o||{}))?r.push(u):Array.isArray(y)&&Array.isArray(c)||T(y)&&T(c)?i(y,c,u):y!==c&&r.push(u)}};return i(e,t),r};var v=(e,t={})=>{let{type:n="auto",throwOnError:r=!1}=t;if(!e||typeof e!="string")return[];let i=[],a="",o=!1,s=!1,f="",l="",y=0,u=n==="auto"?(p=>p.includes("..")?"descendant":p.includes("[?(")?"filter":p.includes("[:")||p.includes("[0:")?"slice":p.includes("[,")||p.includes("[0,1]")?"union":p.includes("[*]")||p.includes(".*.")?"wildcard":p.includes("[]")?"array-wildcard":p.includes("[")&&p.includes("]")?"bracket":"dot")(e):n,d=p=>{let A=p.trim();if(A==="*"||A==="")return{type:"wildcard",value:A===""?"[]":"*",raw:A===""?"[]":p};if(A==="[]")return{type:"wildcard",value:"[]",raw:p};if(/^-?\d+$/.test(A))return{type:"index",value:parseInt(A,10),raw:p};if(A.includes(":")){let g=A.split(":").map(h=>h.trim()),m=g[0]===""?0:parseInt(g[0],10),x=g[1]===""?1/0:parseInt(g[1],10);if(isNaN(m)||isNaN(x)){if(r)throw new Error(`Invalid slice notation: ${p}`);return{type:"wildcard",value:"*",raw:p}}return{type:"slice",value:[m,x],raw:p}}if(A.includes(",")){let g=A.split(",").map(m=>{let x=parseInt(m.trim(),10);return isNaN(x)?-1:x}).filter(m=>m>=0);if(g.length===0){if(r)throw new Error(`Invalid union notation: ${p}`);return{type:"wildcard",value:"*",raw:p}}return{type:"union",value:g,raw:p}}if(A.startsWith("?(")&&A.endsWith(")")){let g=A.slice(2,-1);try{return{type:"filter",value:xe(g),raw:p}}catch(m){if(r)throw m;return{type:"wildcard",value:"*",raw:p}}}return A.startsWith('"')&&A.endsWith('"')||A.startsWith("'")&&A.endsWith("'")?{type:"property",value:A.slice(1,-1),raw:p}:{type:"property",value:A,raw:p}};for(let p=0;p<e.length;p++){let A=e[p],g=e[p+1];if((A==='"'||A==="'")&&!s){s=!0,f=A;continue}else if(A===f&&s){s=!1,f="",A==='"'||A==="'"||(o?l+=A:a+=A);continue}if(s){o?l+=A:a+=A;continue}if(A==="["&&!o){a&&(i.push({type:"property",value:a,raw:a}),a=""),o=!0,l="";continue}if(A==="]"&&o&&!s){o=!1;let x=d(l);i.push(x);continue}let m=i.length>0?i[i.length-1]:null;if(A==="."&&!o&&!s){if(g==="."){let x=e.split("..")[0];i.push({type:"property",value:x,raw:x}),i.push({type:"descendant",value:"..",raw:".."}),p++}else a&&(a==="*"?i.push({type:"wildcard",value:a,raw:a}):i.push({type:"property",value:a,raw:a}),a="");continue}if(o)l+=A;else if(m&&m.type!=="descendant")a+=A;else{let x=e.split(m?.raw)[1];x!==void 0?a=x:a+=A}}return a&&i.push({type:"property",value:a,raw:a}),i.map(p=>{if(p.type==="property"&&typeof p.value=="string"&&/^-?\d+$/.test(p.value)){let A=parseInt(p.value,10);if(!isNaN(A))return{...p,type:"index",value:A}}return p})},xe=e=>{let t=e.replace(/@\.([a-zA-Z_$][\w$]*)/g,(n,r)=>`item.${r}`).replace(/@/g,"item");try{return new Function("item",`return ${t}`)}catch{throw new Error(`Invalid filter expression: ${e}`)}},E=e=>{let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=n>0?e[n-1]:null;switch(r.type){case"property":/[\.\[\]\s]/.test(String(r.value))?t.push(`["${r.value}"]`):(i&&i.type!=="descendant"&&t.push("."),t.push(String(r.value)));break;case"index":t.push(`[${r.value}]`);break;case"wildcard":r.value==="[]"?t.push("[]"):t.push("[*]");break;case"slice":let[o,s]=r.value;t.push(`[${o}:${s===1/0?"":s}]`);break;case"union":let f=r.value;t.push(`[${f.join(",")}]`);break;case"filter":t.push(`[?(${r.raw?.slice(2,-1)||""})]`);break;case"descendant":t.push("..");break}}return t.join("").replace(/\.\[/g,"[")},he=(e,t={})=>{if(Array.isArray(e))return e.map(n=>he(n,t));if(!/^[a-zA-Z]/.test(e))return{valid:!1,error:"Selector starts with '.'",type:D(e)};if(!/[a-zA-Z]$/.test(e))return{valid:!1,error:"Selector end with '.'",type:D(e)};try{let n=v(e,{throwOnError:!0}),r=D(e);return t.allowedTypes&&!t.allowedTypes.includes(r)?{valid:!1,error:`Selector type ${r} not allowed. Allowed: ${t.allowedTypes.join(", ")}`,type:r}:{valid:!0,type:D(e)}}catch(n){return{valid:!1,error:n.message}}},D=e=>e.includes("..")?"descendant":e.includes("[?(")?"filter":e.includes("[:")||e.includes("[0:")?"slice":/\[[^\]]*,[^\]]*\]/.test(e)?"union":e.includes("[*]")||e.includes(".*.")?"wildcard":e.includes("[]")?"array-wildcard":e.includes("[")&&e.includes("]")?"bracket":"dot",rt=(e,t)=>e.replace(/\{(\w+)\}/g,(n,r)=>r in t?String(t[r]):`{${r}}`);function ne(...e){if(e.length===0)return{};let t=e[0],n=Array.isArray(t);for(let i of e)if(i&&Array.isArray(i)!==n)throw new Error("Cannot mix arrays and objects in deepMerge");let r=n?[]:{};for(let i of e)if(i!=null)if(n){let a=r,o=i;for(let s of o)a.push(K(s))}else{if(!w(i))continue;let a=r,o=i;for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f)){let l=o[f],y=a[f];y===void 0?a[f]=K(l):Array.isArray(l)&&Array.isArray(y)?a[f]=[...y,...l.map(c=>K(c))]:w(l)&&w(y)?a[f]=ne(y,l):a[f]=K(l)}let s=Object.getOwnPropertySymbols(o);for(let f of s){let l=o[f],y=a[f];y===void 0?a[f]=K(l):Array.isArray(l)&&Array.isArray(y)?a[f]=[...y,...l.map(c=>K(c))]:w(l)&&w(y)?a[f]=ne(y,l):a[f]=K(l)}}return r}function st(e,t,n){let{key:r,override:i=!0}=n||{};if(!r)return Array.from(new Set([...e,...t]));let a=new Map;for(let o of e)a.set(o[r],o);for(let o of t){let s=a.get(o[r]);s?a.set(o[r],i?{...s,...o}:{...o,...s}):a.set(o[r],o)}return Array.from(a.values())}function it(e,t){for(let n in t){let r=e[n],i=t[n],a=U(r,i);Array.isArray(r)&&Array.isArray(i)?(r.length=0,r.push(...i)):typeof r=="object"&&typeof i=="object"&&r&&i&&a.hasChanges?k(r,i):e[n]=i}}function C(e,...t){if(t.length===0)return K(e);let n={preserveTarget:!1,strict:!1},r=t,i=t[t.length-1];i&&typeof i=="object"&&("preserveTarget"in i||"strict"in i)&&(n={...n,...i},r=t.slice(0,-1));let a=n.preserveTarget?e:K(e),o=Array.isArray(a);for(let s of r)if(s&&Array.isArray(s)!==o)throw new Error("Cannot mix arrays and objects in deepMergeWithOptions");for(let s of r)if(s!=null)if(o){let f=a,l=s;if(n.strict)for(let y=0;y<f.length&&y<l.length;y++)w(f[y])&&w(l[y])?f[y]=C(f[y],l[y],n):typeof f[y]==typeof l[y]&&(f[y]=K(l[y]));else it(f,l)}else{if(!w(s))continue;let f=a,l=s;for(let c in l){if(!Object.prototype.hasOwnProperty.call(l,c))continue;let u=l[c];if(n.strict&&!(c in f))continue;let d=f[c];d===void 0?f[c]=K(u):Array.isArray(u)&&Array.isArray(d)?n.strict?f[c]=C(d,u,n):f[c]=[...d,...u.map(p=>K(p))]:w(u)&&w(d)?f[c]=C(d,u,n):f[c]=K(u)}let y=Object.getOwnPropertySymbols(l);for(let c of y){if(n.strict&&!(c in f))continue;let u=l[c],d=f[c];d===void 0?f[c]=K(u):Array.isArray(u)&&Array.isArray(d)?n.strict?f[c]=C(d,u,n):f[c]=[...d,...u.map(p=>K(p))]:w(u)&&w(d)?f[c]=C(d,u,n):f[c]=K(u)}}return a}function J(e,...t){return C(e,...t,{preserveTarget:!0})}function at(e,...t){let n=!1,r=t;return t.length>0&&typeof t[t.length-1]=="boolean"&&(n=t[t.length-1],r=t.slice(0,-1)),C(e,...r,{preserveTarget:n,strict:!0})}var re=(e,t,n)=>{let r=v(t),i=e;for(let a=0;a<r.length;a++){let o=r[a],s=a===r.length-1;switch(o.type){case"property":if(s)i[String(o.value)]=n;else{if(!i[String(o.value)]){let l=r[a+1];i[String(o.value)]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}i=i[String(o.value)]}break;case"index":Array.isArray(i)||(i=[]);let f=o.value;if(s){if(f>=i.length)for(let l=i.length;l<=f;l++)i.push(void 0);i[f]=n}else{if(!i[f]){let l=r[a+1];i[f]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}i=i[f]}break;case"wildcard":if(Array.isArray(i))if(s)for(let l=0;l<i.length;l++)i[l]=n;else{let l=r[a+1];for(let y=0;y<i.length;y++)i[y]||(i[y]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{});i.length>0&&(i=i[0])}break}}};var Se=require("@fluixi/utils/primitive"),Oe=require("@fluixi/utils/object"),ot=require("@fluixi/utils/array"),lt=require("@fluixi/utils/functions");function Ke(e){let t=typeof e;return e===null||t==="string"||t==="number"||t==="boolean"||t==="symbol"||t==="bigint"||t==="undefined"||(0,Se.isDate)(e)}function P(e,t,n={}){let{preserveStructure:r,multiple:i,throwOnError:a=!1,defaultValue:o,maxDepth:s=20}=n;if(!e||typeof e!="object")return o;if(!t)return e;if(Array.isArray(t))if(r){let y={};for(let c of t){let u=P(e,c,{...n,preserveStructure:!1});u!==void 0&&re(y,c,u)}return y}else return t.map(y=>P(e,y,{...n,preserveStructure:!1}));let f=v(t,{...n,throwOnError:a});if(f.length===0)return e;if(typeof r>"u"||r===!1){let y=$(e,t);return i===!1&&Array.isArray(y)?y[0]:y===void 0&&o!==void 0?o:y}let l=R(e,f,0,s);return l===void 0&&o!==void 0?o:l}function _(e,t,n,r,i){let a=K(e),o=[];if(typeof t<"u"&&o.push(t),typeof n<"u"&&o.push(n),typeof r<"u"&&o.push(r),typeof i<"u"&&o.push(i),Ke(a))return typeof t=="function"?t(a):t;if(o.length===1){if(typeof o[0]=="function")return Ie(a,o[0]);if(Array.isArray(o[0])){if(Array.isArray(a))if(t.length===0)for(let s=0;s<a.length;s++)a.pop();else return U([...a],[...o[0]]).hasChanges&&k(a,[...o[0]],!0),a}else typeof o[0]=="object"&&!Array.isArray(o[0])?typeof a=="object"&&!Array.isArray(a)&&k(a,o[0],!0):a=o[0];return a}if(Array.isArray(a)){if(typeof t=="string"&&(ft(n)||typeof n=="string")&&o.length===3){if(Array.isArray(n)){for(let s=0;s<n.length;s++)V(a,t,r,n[s]);return a}return V(a,t,r,n)}if(typeof t=="string"&&typeof n=="function"&&o.length===2)return V(a,t,n)}if((typeof t=="string"||typeof t=="number")&&(o.length===2||o.length===3))return ke(n)?Z(a,t,n,r):typeof t=="number"?typeof r<"u"?V(a,`[${t}].${n}`,r):V(a,`[${t}]`,n,r):typeof n=="number"&&typeof r<"u"?q(a,t,n,r):Array.isArray(n)&&n.length>0&&n.every(s=>typeof s=="number")?W(a,t,n,r):typeof r<"u"&&typeof n=="function"?Q(a,t,n,r):V(a,t,n,r);if(typeof t=="string"&&typeof n=="number"){if(o.length===3)return q(a,t,n,r);if(o.length===4)return yt(a,t,n,r,i)}if(typeof t=="string"&&Array.isArray(n)){if(o.length===3)return W(a,t,n,r);if(o.length===4)return ct(a,t,n,r,i)}if(typeof t=="string"&&typeof n=="object"&&!Array.isArray(n)&&n!==null){let s=n;if("from"in s||"to"in s){if(o.length===3)return Z(a,t,s,r);if(o.length===4)return we(a,t,s,r,i)}}if(typeof t=="object"&&!Array.isArray(t)&&o.length===1)return k(a,t,!0);if(typeof t=="string"&&typeof n=="object"&&!Array.isArray(n)&&o.length===2)return Pe(a,t,n);if(typeof t=="string"&&typeof n=="function"){if(o.length===3)return Q(a,t,n,r);if(o.length===4)return se(a,t,n,r,i)}if(typeof t=="function"&&typeof n=="string"){if(o.length===3)return ve(a,t,n,r);if(o.length===4)return se(a,n,t,r,i)}if(Array.isArray(t)){if(o.length===2&&typeof n=="object"&&!Array.isArray(n))return ie(a,t,n);if(o.length===2)return ie(a,t,n)}throw new Error(`Invalid set parameters: ${JSON.stringify(o)}`)}function oe(e,t,n,r=!1){let i=v(e);if(i.length===0)return n;let a=i[i.length-1].type==="wildcard",o=i.some(f=>f.type==="wildcard")&&Array.isArray(t),s;if((a||o&&r||o&&i.length===2)&&Array.isArray(t))for(let f=0;f<t.length;f++){let l=typeof n=="function"?n(t[f]):typeof t[f]=="object"?k(t[f],n,!0):n;s||(s=[]),s.push(l)}return!a&&!s&&(s=typeof n=="function"?n(t):n),s}function ke(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 ft(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function V(e,t,n,r){let i=v(t),a=$(e,t,{paths:i,createMissing:!0}),o;r&&typeof n=="function"&&(o=P(a,r));let f=oe(t,r?o:a,n,Array.isArray(e));return r?I(e,`${t}.${r}`,f,{createMissing:!0}):I(e,t,f,{createMissing:!0})}function q(e,t,n,r){let i=$(e,t,{createMissing:!0});if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array ${n}`);let a=structuredClone(i),o=oe(t,a[n],r);if(n<0){let s=i.length+n;if(s<0)throw new Error(`Index ${n} is out of bounds`);return I(e,`${t}[${s}]`,o,{createMissing:!0})}return I(e,`${t}[${n}]`,o,{createMissing:!0})}var yt=(e,t,n,r,i)=>typeof r=="function"?V(e,`${t}[${n}]`,r):typeof r=="string"?V(e,`${t}[${n}]`,i,r):null,W=(e,t,n,r)=>{let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);for(let a of n)typeof a=="number"?q(e,t,a,r):typeof a=="string"&&V(e,t,r,a);return e},ct=(e,t,n,r,i)=>W(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f});function Z(e,t,n,r){let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);let a=n.from??0,o=n.to??i.length-1,s=n.by??1,f=[];for(let l=a;l<=o;l+=s)l>=0&&l<i.length&&f.push(l);return W(e,t,f,r)}var we=(e,t,n,r,i)=>Z(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f});function ut(e,t){return Object.assign(e,t)}function Q(e,t,n,r){let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);let a=[],o=[...i];return i.forEach((s,f)=>{n(s,f)&&a.push(f)}),W(e,t,a,r)}function ve(e,t,n,r){let i=e;if(!Array.isArray(i))throw new Error(`Target at ${n} is not an array`);let a=[],o=[...i];return i.forEach((s,f)=>{s=I(s,n,r,{createMissing:!0})}),i}function se(e,t,n,r,i){return Q(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f})}function Pe(e,t,n){let r=$(e,t,{createMissing:!0}),i=k(r||{},n,!0);return I(e,t,i,{createMissing:!0})}function ie(e,t,n){if(typeof n=="object"&&!Array.isArray(n)&&n!==null)for(let[r,i]of Object.entries(n))t.includes(r)&&I(e,r,i,{createMissing:!0});else for(let r of t){let i=oe(r,$(e,r),n);I(e,r,i,{createMissing:!0})}return e}function $(e,t,n={}){let{createMissing:r=!1,add:i=!1,debug:a=!1}=n,o=v(t),s=e,f=!1,l="",y=t;if(typeof s=="object"&&!Array.isArray(s)&&y.length>0&&s[y])return s=s[y],s;for(let c=0;c<o.length;c++){let u=o[c],d=o.length>1?c===o.length-1:!1;if(s===null&&!r)return;let p=o[c+1];switch(u.type){case"property":if(s&&typeof s=="object")if(Array.isArray(s)){if(typeof u.value=="number"){let A=u.value;if(r&&A>=s.length)for(let g=s.length;g<=A;g++)s.push(void 0);if(r&&(s[A]===null||s[A]===void 0)&&(!d||f)&&(p?s[A]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{}:s[A]=null,f=!1),s=s[A],p){f=!0;continue}}else i?s.push({[String(u.value)]:null}):s=s.map(A=>A[String(u.value)]);if(p)continue;return be(s)}else{if(s[l]&&l.split(".").length>=2){s=s[l];continue}if(r&&(s[String(u.value)]===null||s[String(u.value)]===void 0)&&(!d||f)&&(p?s[String(u.value)]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{}:s[String(u.value)]=null,f=!1,s=s[String(u.value)],p)){f=!0;continue}if(s?(!s[String(u.value)]&&r&&(s[String(u.value)]=null),s=s[String(u.value)]):s={[String(u.value)]:null},p)continue}else if(r)s={},s[String(u.value)]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"||n.type==="array"?[]:{},s=s[String(u.value)];else return;break;case"index":case"wildcard":if(Array.isArray(s)){if(u.type==="index"){let A=u.value;if(A<0){s=s[s.length-Math.abs(A)];continue}if(r&&(A>=s.length||s[A]==null||s[A]==null)&&!d){for(let g=s.length;g<=A;g++)s.push(void 0);p&&(s[A]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{})}s=s[A]}else if(!d)continue}else if(r){let A=o[c+1];s=[];let g=u.value;for(let m=0;m<=g;m++)s.push(void 0);s[g]=A.type==="index"||A.type==="slice"||A.type==="union"||A.type==="wildcard"||n.type==="array"?[]:{},s=s[g]}else{if(u.type==="index"&&typeof s=="object"&&s&&s[String(u.value)]!==void 0){s=s[String(u.value)];continue}if(typeof s=="object"){s=Object.values(s);continue}return}break;default:return}}return be(s)}function be(e){return Array.isArray(e)?e.filter(t=>typeof t<"u"):e}var I=(e,t,n,r={})=>{if(t==="[*]")return k(e,n,!0);let{createMissing:i=!0}=r,a=v(t);if(a.length===0)return e;let o=a[a.length-1],s=e;for(let f=0;f<a.length-1;f++){let l=a[f];if(s==null){if(!i)return e;throw new Error(`Cannot navigate through null/undefined at segment ${f}`)}let y=a[f+1],c=y.type==="index"||y.type==="slice"||y.type==="union"||y.type==="wildcard";if(l.type==="property"){if(Array.isArray(s)&&typeof typeof l.value=="number"){let u=l.value;if(u<0)throw new Error(`Negative index ${u} not allowed`);if(u>=s.length&&i)for(let d=s.length;d<=u;d++)s.push(void 0);(s[u]===null||s[u]===void 0)&&i&&(s[u]=c?[]:{}),s=s[u]}else(s[String(l.value)]===null||s[String(l.value)]===void 0)&&i&&(s[String(l.value)]=c?[]:{}),typeof s=="object"&&!Array.isArray(s)&&(s=s[String(l.value)]);if(y)continue;break}else if(l.type==="index"||l.type==="wildcard"){if(!Array.isArray(s)){if(!i)return e;s=[]}if(l.type==="index"){let u=l.value;if(u<0)throw new Error(`Negative index ${u} not allowed`);if(u>=s.length&&i)for(let d=s.length;d<=u;d++)s.push(void 0);(s[u]===null||s[u]===void 0)&&i&&(s[u]=c?[]:void 0),s=s[u]}if(y)continue;break}else throw new Error(`Invalid segment type for set: ${l.type}`)}switch(o.type){case"property":if(Array.isArray(s)&&typeof o.value=="number"){let l=o.value;if(l<0)throw new Error(`Negative index ${l} not allowed`);if(l>=s.length)for(let y=s.length;y<=l;y++)s.push(void 0);Array.isArray(n)?s[l]=k(structuredClone(s[l]),n[l],!0):s[l]=n}else if(s||(s={}),Array.isArray(s)){let l=t.split("."),y;if(l.length>=2){l.shift();for(let c=0;c<s.length;c++)Array.isArray(n)?(y=ae(l.join("."),n[c]),s[c]=typeof s[c]=="object"?k(s[c],y,!0):y):(y=ae(l.join("."),n),s[c]=typeof s[c]=="object"?k(s[c],y,!0):y)}else y={[String(o.value)]:n}}else Array.isArray(n)&&n.length===0?typeof s[String(o.value)]>"u"?s[String(o.value)]=[]:s[String(o.value)]=[]:s[String(o.value)]=n;break;case"index":case"wildcard":if(!Array.isArray(s))throw new Error("Cannot use index on non-array for final segment");let f=o.value;if(o.type==="index"){if(f<0)throw new Error(`Negative index ${f} not allowed`);if(f>=s.length)for(let l=s.length;l<=f;l++)s.push(void 0);if(Array.isArray(n))if(typeof s[f]==typeof n[f])try{s[f]=k(K(s[f]),n[f],!0)}catch{throw Error("expected on array")}else s[f]=n;else s[f]=n}else if(o.type==="wildcard")if(Array.isArray(n))for(let l=0;l<s.length;l++)typeof s[l]=="object"?s[l]=k(s[l],n[l],!0):s[l]=n[l];else for(let l=0;l<s.length;l++)typeof s[l]=="object"?s[l]=k(s[l],n,!0):s[l]=n;break;default:throw new Error(`Invalid final segment type for set: ${o.type}`)}return e};var ae=(e,t)=>{let n=v(e);if(n.length===0)return t;let r=t;for(let i=n.length-1;i>=0;i--){let a=n[i];if(a.type==="property")r={[String(a.value)]:r};else if(a.type==="index"){let o=parseInt(String(a.value)),s=[];s[o]=r,r=s}else a.type==="wildcard"?Array.isArray(r)?r=r:r=[r]:a.type==="slice"?Array.isArray(r)||(r=[r]):a.type==="union"?Array.isArray(r)||(r=[r]):a.type==="filter"?Array.isArray(r)||(r=[r]):a.type==="descendant"&&(r=r)}return r},dt=(e,t,n={})=>P(e,t,{...n,preserveStructure:!1}),Re=(e,t,n={})=>{if(Array.isArray(t))return t.map(i=>Re(e,i,n));let r=P(e,t,{...n,preserveStructure:!1});return Array.isArray(r)?r.length>0?r.every(i=>i!==void 0):!1:r!==void 0},N=(e,t,n={})=>{let{throwOnError:r=!1}=n;if(Array.isArray(t))return t.map(s=>N(e,s,n));let i=v(t,{throwOnError:r});if(i.length===0)return!1;let a=i[i.length-1];if(i.some(s=>s.type==="wildcard"||s.type==="slice"||s.type==="union")){let s=G(e,t,n),f=!1;for(let l of s)pt(e,l)&&(f=!0);return f}let o=e;for(let s=0;s<i.length-1;s++){let f=i[s];if(o==null)return!1;switch(f.type){case"property":o=o[String(f.value)];break;case"index":if(!Array.isArray(o))return!1;let l=f.value;if(l<0||l>=o.length)return!1;o=o[l];break;default:return!1}}if(o==null)return!1;switch(a.type){case"property":if(String(a.value)in o)return delete o[String(a.value)],!0;break;case"index":if(!Array.isArray(o))return!1;let s=a.value;if(s>=0&&s<o.length)return o.splice(s,1),!0;break}return!1},pt=(e,t)=>{let n=v(t);if(n.length===0)return!1;let r=n[n.length-1],i=e;for(let a=0;a<n.length-1;a++){let o=n[a];if(i==null)return!1;switch(o.type){case"property":i=i[String(o.value)];break;case"index":if(!Array.isArray(i))return!1;let s=o.value;if(s<0||s>=i.length)return!1;i=i[s];break;default:return!1}}if(i==null)return!1;switch(r.type){case"property":if(String(r.value)in i)return delete i[String(r.value)],!0;break;case"index":if(!Array.isArray(i))return!1;let a=r.value;if(a>=0&&a<i.length)return i.splice(a,1),!0;break}return!1},G=(e,t,n={})=>{let{format:r="selector",maxDepth:i=20}=n;if(t&&Array.isArray(t)){let s=[];for(let f of t){let l=G(e,f,n);s.push(...l)}return s}if(t){let s=v(t,n);return F(e,s,0,i).map(l=>r==="selector"?l.path:l.stringPath)}let a=[],o=(s,f=[],l=[],y=0)=>{if(!(y>i)){if(f.length>0){let c=E(f);a.push({path:c,stringPath:l.join(".")})}if(s&&typeof s=="object")if(Array.isArray(s))for(let c=0;c<s.length;c++)o(s[c],[...f,{type:"index",value:c,raw:`[${c}]`}],[...l,`[${c}]`],y+1);else for(let c in s)s.hasOwnProperty(c)&&o(s[c],[...f,{type:"property",value:c,raw:c}],[...l,c],y+1)}};return o(e),a.map(s=>r==="selector"?s.path:s.stringPath)},gt=(e,t)=>G(e).filter(r=>{let i=P(e,r);return t(r,i)}),Fe=(e,t=".")=>{let n={},r=(i,a=[])=>{if(i==null)return;let o=R(i,a,0,20);if(o!==void 0){n[E(a)]=o;return}if(Array.isArray(i))for(let s=0;s<i.length;s++){let f=[...a,{type:"index",value:s,raw:`[${s}]`}];r(i[s],f)}else if(T(i)){for(let f in i)if(i.hasOwnProperty(f)){let l=[...a,{type:"property",value:f,raw:f}];r(i[f],l)}let s=Object.getOwnPropertySymbols(i);for(let f of s){let l=[...a,{type:"property",value:f.toString(),raw:f.toString()}];r(i[f],l)}}else{let s=E(a);n[s]=i}};return r(e),n},At=e=>{let t={};for(let n in e)_(t,n,e[n]);return t},Tt=(...e)=>{let t={};for(let n of e){if(!T(n))continue;let r=Fe(n);for(let i in r)_(t,i,r[i])}return t};function F(e,t,n,r,i=[],a=[]){if(n>r)return[];if(t.length===0)return[{value:e,path:E(i),stringPath:a.join(".")}];let o=t[0],s=t.slice(1),f=[];if(o.type==="descendant"){if(f.push(...F(e,s,n+1,r,i,a)),e&&typeof e=="object")if(Array.isArray(e))for(let l=0;l<e.length;l++)f.push(...F(e[l],t,n+1,r,[...i,{type:"index",value:l,raw:`[${l}]`}],[...a,`[${l}]`]));else for(let l in e)e.hasOwnProperty(l)&&f.push(...F(e[l],t,n+1,r,[...i,{type:"property",value:l,raw:l}],[...a,l]));return f}switch(o.type){case"property":if(e&&typeof e=="object"&&String(o.value)in e){let l=e[String(o.value)];f.push(...F(l,s,n+1,r,[...i,o],[...a,String(o.value)]))}break;case"index":if(Array.isArray(e)){let l=o.value;l>=0&&l<e.length&&f.push(...F(e[l],s,n+1,r,[...i,o],[...a,`[${l}]`]))}else if(e&&typeof e=="object"){let l=String(o.value);l in e&&f.push(...F(e[l],s,n+1,r,[...i,{...o,type:"property"}],[...a,l]))}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e))for(let l=0;l<e.length;l++)f.push(...F(e[l],s,n+1,r,[...i,{type:"index",value:l,raw:`[${l}]`}],[...a,`[${l}]`]));else for(let l in e)e.hasOwnProperty(l)&&f.push(...F(e[l],s,n+1,r,[...i,{type:"property",value:l,raw:l}],[...a,l]));break;case"slice":if(Array.isArray(e)){let[l,y]=o.value,c=Math.max(0,l),u=Math.min(e.length,y===1/0?e.length:y);for(let d=c;d<u;d++)f.push(...F(e[d],s,n+1,r,[...i,{type:"index",value:d,raw:`[${d}]`}],[...a,`[${d}]`]))}break;case"union":if(Array.isArray(e)){let l=o.value;for(let y of l)y>=0&&y<e.length&&f.push(...F(e[y],s,n+1,r,[...i,{type:"index",value:y,raw:`[${y}]`}],[...a,`[${y}]`]))}break;case"filter":if(Array.isArray(e)){let l=o.value;for(let y=0;y<e.length;y++)l(e[y])&&f.push(...F(e[y],s,n+1,r,[...i,{type:"index",value:y,raw:`[${y}]`}],[...a,`[${y}]`]))}break}return f}var mt=(e,t,n)=>{let r=P(e,t),i=n(r);return V(e,t,i)},Ie=(e,t)=>{let n=t(e);return k(e,n,!0)},xt=(e,t)=>{let n=P(e,t);if(n!==void 0)return n===null?"null":Array.isArray(n)?"array":typeof n};function ht(e,t){if(!T(e))return{};let n={...e};for(let r of t)delete n[r];return n}function le(e,t){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>le(r,t));let n={};for(let[r,i]of Object.entries(e))t.includes(r)||(n[r]=le(i,t));return n}function St(e){return t=>{if(!T(t))return{};let n={...t};for(let r of e)r in n&&delete n[r];return n}}function $e(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!t(e[r],r,e)&&(n[r]=e[r]);return n}function Ot(e){return $e(e,t=>t==null)}function Kt(e,t){if(!T(e))return{};let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function bt(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(e[r],r,e)&&(n[r]=e[r]);return n}function kt(e,t,n){if(!T(e))return{};let r=JSON.parse(JSON.stringify(e)),i=Array.isArray(t)?t:[t];for(let o=0;o<i.length;o++){let s=i[o],f=i[o+1];if(!s||s==="")continue;let l=v(s);if(s.includes("*")||s.includes("[")||l.length>1){let u=function(d,p=""){if(T(d)){if(Array.isArray(d)){d.forEach((A,g)=>{u(A,p?`${p}[${g}]`:`[${g}]`)});return}for(let A in d)if(Object.prototype.hasOwnProperty.call(d,A)){let g=p?`${p}.${A}`:A;c.push({fullPath:g,segments:v(g)}),u(d[A],g)}}};var a=u;let y=P(r,s,{preserveStructure:!0});if(y===void 0)continue;let c=[];u(y);for(let{fullPath:d,segments:p}of c){let A=[...p],g=A.pop();if(!g)continue;let m=A.map(O=>O.type==="index"?`[${O.value}]`:O.value).join(".").replace(/\.\[/g,"["),x=P(r,m.length>0?m:d,{preserveStructure:!0}),h=m?x:r;if(!h)continue;let S=String(g.value),b=h[S];if(n){let O=n(b,d,r);if(O===!0)if(g.type==="index"&&Array.isArray(h)){let Y=g.value;Y>=0&&Y<h.length&&h.splice(Y,1)}else N(r,i[o]);else O!==!1&&(h[S]=O)}else if(g.type==="index"&&Array.isArray(h)){let O=g.value;O>=0&&O<h.length&&h.splice(O,1)}else N(r,i[o])}}else{let y=s;if(typeof y=="string"&&y in r)if(n){let c=n(r[y],s,r);c===!0?delete r[y]:c!==!1&&(r[y]=c)}else N(r,i[o])}}return r}function wt(e,t,n){if(!T(e))return{};if(Array.isArray(t)){let a={};for(let o of t){let s=P(e,o,{preserveStructure:!0});if(s!==void 0)if(n){let f=(y,c)=>{if(T(y)){if(Array.isArray(y))return y.map((d,p)=>f(d,`${c}[${p}]`));let u={};for(let d in y)if(Object.prototype.hasOwnProperty.call(y,d)){let p=c?`${c}.${d}`:d;u[d]=f(y[d],p)}return u}return n(y,c,e)},l=f(s,o);J(a,l)}else Object.assign(a,J(a,s))}return a}let r=Array.isArray(t)?t[0]:t,i=P(e,r,{preserveStructure:!0});if(i===void 0)return{};if(n){let a=(o,s)=>{if(T(o)){if(Array.isArray(o))return o.map((l,y)=>a(l,`${s}[${y}]`));let f={};for(let l in o)if(Object.prototype.hasOwnProperty.call(o,l)){let y=s?`${s}.${l}`:l;f[l]=a(o[l],y)}return f}return n(o,s,e)};return a(i,r)}return i}function H(e,t){if(!T(e))return e;if(Array.isArray(e))return e.map(r=>H(r,t));let n={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=e[r];t(i,r,e)||(T(i)?n[r]=H(i,t):Array.isArray(i)?n[r]=i.map(a=>H(a,t)):n[r]=i)}return n}function vt(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=t(e[r],r,e));return n}function Pt(e,t){if(!T(e))return{};let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=t(r,e[r],e);n[i]=e[r]}return n}function fe(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>fe(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[-_]([a-z])/g,(o,s)=>s.toUpperCase()).replace(/^([A-Z])/,o=>o.toLowerCase());n[a]=t.deep&&T(i)?fe(i,t):i}return n}function ye(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>ye(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[-]([a-z])/g,(o,s)=>`_${s}`).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase();n[a]=t.deep&&T(i)?ye(i,t):i}return n}function ce(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>ce(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[_]([a-z])/g,(o,s)=>`-${s}`).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();n[a]=t.deep&&T(i)?ce(i,t):i}return n}var Ve=(e,t={})=>{let{delimiter:n=".",includeArrays:r=!1,maxDepth:i=9}=t;if(Array.isArray(e))return e.map(s=>Ve(s,t));let a={},o=(s,f="",l=0)=>{if(l>i){a[f]=s;return}if(!T(s)&&!Array.isArray(s)){f&&(a[f]=s);return}if(Array.isArray(s))for(let y=0;y<s.length;y++){let c=f?`${f}[${y}]`:`[${y}]`;o(s[y],c,l+1)}else{for(let c in s){let u=f?`${f}${n}${c}`:c;o(s[c],u,l+1)}let y=Object.getOwnPropertySymbols(s);for(let c of y){let u=f?`${f}${n}${c.toString()}`:c.toString();o(s[c],u,l+1)}}};return o(e),a};function Ce(e,t={}){let{delimiter:n=".",detectArrays:r=!0}=t,i={};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let o=e[a],s=a.split(n),f=i;for(let y=0;y<s.length-1;y++){let c=s[y],u=s[y+1],d=r&&/^\d+$/.test(u);if(!(c in f))f[c]=d?[]:{};else if(d&&!Array.isArray(f[c])){let p={...f[c]};f[c]=[],Object.assign(f[c],p)}f=f[c]}let l=s[s.length-1];f[l]=o}if(r){let a=o=>{if(!T(o))return o;if(Array.isArray(o))return o.map(a);let s=Object.keys(o);if(s.length>0&&s.every((y,c)=>String(c)===y))return Object.values(o).map(a);let l={};for(let y in o)Object.prototype.hasOwnProperty.call(o,y)&&(l[y]=a(o[y]));return l};return a(i)}return i}function Rt(e,...t){if(!T(e)||t.length===0)return e;let n={...e};for(let r in n)if(Object.prototype.hasOwnProperty.call(n,r)){let i=n[r];for(let a of t)i=a(i);n[r]=i}return n}function Ft(e,t,n={}){if(!T(e))return e;let{removeUnmapped:r=!1}=n,i={};for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(a in t?i[t[a]]=e[a]:r||(i[a]=e[a]));return i}function It(e,t={}){let{transformObject:n=s=>s,transformArray:r=s=>s,transformValue:i=s=>s,maxDepth:a=1/0}=t;function o(s,f=[],l=0){if(l>a)return s;if(Array.isArray(s)){let c=s.map((u,d)=>o(u,[...f,d.toString()],l+1));return r(c,f)}if(T(s)){let c={};for(let u in s)if(Object.prototype.hasOwnProperty.call(s,u)){let d=[...f,u];c[u]=o(s[u],d,l+1),!Array.isArray(s[u])&&!T(s[u])&&(c[u]=i(c[u],u,d))}return n(c,f)}let y=f.length>0?f[f.length-1]:"";return i(s,y,f)}return o(e)}function $t(e,t={}){return Ce(e,t)}function Vt(e,t,n,r={}){if(!T(e))return e;let i=JSON.parse(JSON.stringify(e)),{transformAll:a=!1}=r,o=Array.isArray(t)?t:[t];for(let l of o)if(l.includes("*")||l.includes("[")){let c=function(d,p=""){if(T(d)){if(Array.isArray(d)){d.forEach((A,g)=>{let m=p?`${p}[${g}]`:`[${g}]`;c(A,m)});return}for(let A in d)if(Object.prototype.hasOwnProperty.call(d,A)){let g=d[A],m=p?`${p}.${A}`:A;if(g===null||typeof g!="object"){let x=p?P(i,p):i,h=a?n(g,m,x):n(g,A,x);d[A]=h}else c(g,m)}}};var s=c;let y=P(i,l,{preserveStructure:!0});if(y===void 0)continue;c(y);let u=v(l);if(u.length>0){let d=u[0];d.type==="property"&&(i[String(d.value)]=y[String(d.value)])}}else{let c=function(u,d,p,A){if(p>=d.length)return u;let g=d[p];if(p===d.length-1){let x=p>0?c(u,d,p-1,d.slice(0,p).join(".")):u,h=a?n(x[g],A,x):n(x[g],g,x);return x[g]=h,x}let m=u[g]||{};return u[g]=c(m,d,p+1,A),u};var f=c;let y=l.split(".");c(i,y,0,l)}return i}function Ct(e,t,n,r={}){if(!T(e))return[];let{flatten:i=!0}=r,o=(Array.isArray(t)?t:[t]).map(s=>{let f=P(e,s);return f===void 0?[]:Array.isArray(f)?f.map((l,y)=>{let c=`${s}[${y}]`;return n(l,c,e)}):[n(f,s,e)]});return i?o.flat():o}function Ut(e,t,n,r={}){if(!T(e))return e;let i=JSON.parse(JSON.stringify(e)),{recursive:a=!1}=r,o=Array.isArray(t)?t:[t];for(let s of o){let f=s?P(i,s):i;if(!T(f))continue;let l=(y,c=s)=>{if(!T(y))return y;if(Array.isArray(y))return y.map((d,p)=>T(d)&&!Array.isArray(d)?l(d,`${c}[${p}]`):d);let u={};for(let d in y)if(Object.prototype.hasOwnProperty.call(y,d)){let p=n(d,y[d],c);a&&T(y[d])?u[p]=l(y[d],`${c}.${p}`):u[p]=y[d]}return u};if(Array.isArray(f))for(let y=0;y<f.length;y++)T(f[y])&&!Array.isArray(f[y])&&(f[y]=l(f[y],`${s}[${y}]`));else{let y=l(f);s?_(i,s,y):(Object.keys(i).forEach(c=>{delete i[c]}),Object.assign(i,y))}}return i}function Ue(e){if(e==null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function M(e,t,n){return e===t?t:Array.isArray(e)?Et(e,Array.isArray(t)?t:[],n):Ue(e)?Nt(e,Ue(t)?t:{},n):e}function Et(e,t,n){let{key:r,keepRef:i}=n,a=t.length,o=e.length,s=new Array(a);for(let c=0;c<a;c++)s[c]=t[c];if(r===!1){if(i){for(let d=0;d<o;d++){let p=M(e[d],s[d],n);p!==s[d]&&(t[d]=p)}return a>o&&t.splice(o),t}let c=o!==a,u=new Array(o);for(let d=0;d<o;d++)u[d]=M(e[d],s[d],n),u[d]!==s[d]&&(c=!0);return c?u:t}let f=new Map;for(let c=0;c<a;c++){let u=s[c];u!=null&&typeof u=="object"&&r in u&&f.set(u[r],u)}let l=new Array(o);for(let c=0;c<o;c++){let u=e[c];u!=null&&typeof u=="object"&&r in u?l[c]=M(u,f.get(u[r]),n):l[c]=M(u,s[c],n)}if(i){for(let c=0;c<o;c++)l[c]!==s[c]&&(t[c]=l[c]);return a>o&&t.splice(o),t}let y=o!==a;for(let c=0;!y&&c<o;c++)l[c]!==s[c]&&(y=!0);return y?l:t}function Nt(e,t,n){let{merge:r,keepRef:i}=n,a=Object.keys(e),o=Object.keys(t),s=Object.create(null);for(let y=0;y<o.length;y++)s[o[y]]=t[o[y]];let f=null,l=()=>(f||(f=i?t:{...s}),f);if(!r)for(let y=0;y<o.length;y++){let c=o[y];c in e||delete l()[c]}for(let y=0;y<a.length;y++){let c=a[y],u=s[c],d=M(e[c],u,n);(d!==u||!(c in s))&&(l()[c]=d)}return f??t}function Mt(e,t){let n={key:t?.key!==void 0?t.key:"id",merge:t?.merge??!1,keepRef:t?.keepRef??!1};return r=>r==null?e:M(e,r,n)}function Ee(e,t){if(e==null)return;let n=e;for(let r of t.split(".")){if(n==null)return;n=n[r]}return n}function Ne(e,t,n,r){let i=e==null,a=t==null;if(i&&a)return 0;if(i)return 1;if(a)return-1;let o=typeof e=="number"&&Number.isNaN(e),s=typeof t=="number"&&Number.isNaN(t);return o&&s?0:o?1:s?-1:e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():typeof e=="boolean"&&typeof t=="boolean"?e===t?0:e?1:-1:typeof e=="number"&&typeof t=="number"?e-t:typeof e=="string"&&typeof t=="string"?e.localeCompare(t,n,r):String(e).localeCompare(String(t),n,r)}function B(e,t){return(Array.isArray(e)?e[t]??"asc":e??"asc")==="desc"?-1:1}function jt(e,t){let{order:n,locale:r,localeOptions:i,nullsLast:a=!0}=t,o=B(n,0);return e.slice().sort((s,f)=>{let l=s==null,y=f==null;return l&&y?0:l?a?1:-1:y?a?-1:1:Ne(s,f,r,i)*o})}function Dt(e,t,n){let{order:r,locale:i,localeOptions:a,nullsLast:o=!0,comparator:s}=n;return s?e.slice().sort(s):e.slice().sort((f,l)=>{for(let y=0;y<t.length;y++){let c=Ee(f,t[y]),u=Ee(l,t[y]),d=c==null,p=u==null;if(d&&p)continue;if(d)return o?1:-1;if(p)return o?-1:1;let A=Ne(c,u,i,a);if(A!==0)return A*B(r,y)}return 0})}function Me(e,t){let{order:n,priorityKeys:r=[],locale:i,localeOptions:a,deep:o}=t,s=B(n,0),f=new Set(r),l=Object.keys(e).filter(u=>!f.has(u));l.sort((u,d)=>u.localeCompare(d,i,a)*s);let y=[...r.filter(u=>u in e),...l],c={};for(let u of y)c[u]=o?ue(e[u],t):e[u];return c}function ue(e,t){if(Array.isArray(e)){let n=e.map(r=>ue(r,t));return je(n,t)}return w(e)?Me(e,t):e}function Wt(e,t){let n=e.length,r=new Set,i=[];for(let a of t)a>=0&&a<n&&!r.has(a)&&(i.push(e[a]),r.add(a));for(let a=0;a<n;a++)r.has(a)||i.push(e[a]);return i}function je(e,t){let{by:n,comparator:r,indices:i,order:a}=t;if(i){let s=Wt(e,i);return B(a,0)===-1?s.reverse():s}if(r)return e.slice().sort(r);if(n){let s=Array.isArray(n)?n:[n];return Dt(e,s,t)}let o=e.find(s=>s!=null);return o!=null&&w(o)?B(a,0)===-1?e.slice().reverse():e.slice():jt(e,t)}function X(e,t={}){let{deep:n}=t;if(Array.isArray(e)){let r=n?e.map(i=>ue(i,t)):e;return je(r,t)}return w(e)?Me(e,t):e}function _t(e,t,n="asc",r={}){return X(e,{...r,by:t,order:n})}function Bt(e,t={}){return X(e,t)}function Lt(e,t,n){let r=e.length;if(r===0)return e.slice();let i=Math.max(0,Math.min(r-1,t)),a=Math.max(0,Math.min(r-1,n));if(i===a)return e.slice();let o=e.slice(),[s]=o.splice(i,1);return o.splice(a,0,s),o}function zt(e,t,n){let r=e.length;if(t<0||t>=r)throw new RangeError(`swap: index ${t} out of range`);if(n<0||n>=r)throw new RangeError(`swap: index ${n} out of range`);if(t===n)return e.slice();let i=e.slice();return i[t]=e[n],i[n]=e[t],i}function Jt(e,t,n="asc"){return X(e,{indices:t,order:n})}
@@ -0,0 +1,13 @@
1
+ export * from './object.js';
2
+ export * from './types.js';
3
+ export * from './diff.js';
4
+ export * from './selector.js';
5
+ export * from './merge.js';
6
+ export * from './clone.js';
7
+ export * from './getter-setter.js';
8
+ export * from './omit.js';
9
+ export * from './transform.js';
10
+ export * from './reconcile.js';
11
+ export * from './sort.js';
12
+ export { toJSONString, isEmptyObject, isObject, isClass, isPlainObject, } from './utils.js';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/object/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,aAAa,GACd,MAAM,YAAY,CAAC"}
@@ -0,0 +1,12 @@
1
+ export * from './object.js';
2
+ export * from './types.js';
3
+ export * from './diff.js';
4
+ export * from './selector.js';
5
+ export * from './merge.js';
6
+ export * from './clone.js';
7
+ export * from './getter-setter.js';
8
+ export * from './omit.js';
9
+ export * from './transform.js';
10
+ export * from './reconcile.js';
11
+ export * from './sort.js';
12
+ export { toJSONString, isEmptyObject, isObject, isClass, isPlainObject, } from './utils.js';
@@ -0,0 +1,6 @@
1
+ var T=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";function w(e){if(typeof e!="object"||e===null)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function Se(e){return typeof e=="function"&&/^class\s/.test(Function.prototype.toString.call(e))}var Oe=e=>T(e)?Object.keys(e).length===0:!1,R=(e,t,n,r)=>{if(n>r)return;if(t.length===0)return e;let i=t[0],a=t.slice(1);if(i.type==="descendant"){let o=R(e,a,n+1,r);if(o!==void 0)return o;if(e&&typeof e=="object")if(Array.isArray(e)){let s=[];for(let f=0;f<e.length;f++){let l=R(e[f],t,n+1,r);l!==void 0&&(s[f]=l)}return s.length>0?s:void 0}else{let s={};for(let f in e)if(e.hasOwnProperty(f)){let l=R(e[f],t,n+1,r);l!==void 0&&(s[f]=l)}return Object.keys(s).length>0?s:void 0}return}switch(i.type){case"property":if(T(e)&&i.value&&String(i.value)in e){let o=e[String(i.value)],s=R(o,a,n+1,r);if(s!==void 0)return{[String(i.value)]:s}}break;case"index":if(Array.isArray(e)){let o=i.value;if(o>=0&&o<e.length){let s=R(e[o],a,n+1,r);if(s!==void 0){let f=new Array(e.length).filter(l=>l!==void 0);return f[o]=s,f}}}else if(e&&typeof e=="object"){let o=String(i.value);if(o in e){let s=R(e[o],a,n+1,r);if(s!==void 0)return{[o]:s}}}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e)){let o=[],s=!1;for(let f=0;f<e.length;f++){let l=R(e[f],a,n+1,r);l!==void 0&&(o[f]=l,s=!0)}return s?o:void 0}else{let o={},s=!1;for(let f in e)if(e.hasOwnProperty(f)){let l=R(e[f],a,n+1,r);l!==void 0&&(o[f]=l,s=!0)}return s?o:void 0}break;case"slice":if(Array.isArray(e)){let[o,s]=i.value,f=Math.max(0,o),l=Math.min(e.length,s===1/0?e.length:s),y=[],c=!1;for(let u=f;u<l;u++){let d=R(e[u],a,n+1,r);d!==void 0&&(y[u]=d,c=!0)}return c?y:void 0}break;case"union":if(Array.isArray(e)){let o=i.value,s=[],f=!1;for(let l of o)if(l>=0&&l<e.length){let y=R(e[l],a,n+1,r);y!==void 0&&(s[l]=y,f=!0)}return f?s:void 0}break;case"filter":if(Array.isArray(e)){let o=i.value,s=[],f=!1;for(let l=0;l<e.length;l++)if(o(e[l])){let y=R(e[l],a,n+1,r);y!==void 0&&(s[l]=y,f=!0)}return f?s:void 0}break}};function Ke(e,t=0){let n=new WeakSet,r=f=>t?" ".repeat(f):"",i=f=>t?`
2
+ ${" ".repeat(f)}`:"",a=f=>f.replace(/[\u0000-\u001F"\\]/g,l=>{switch(l){case'"':return'\\"';case"\\":return"\\\\";case"\b":return"\\b";case"\f":return"\\f";case`
3
+ `:return"\\n";case"\r":return"\\r";case" ":return"\\t";default:return`\\u${l.charCodeAt(0).toString(16).padStart(4,"0")}`}}),o=(f,l)=>{if(f===null)return"null";let y=typeof f;if(y==="number")return Number.isFinite(f)?String(f):"null";if(y==="boolean")return f?"true":"false";if(y==="bigint")return`"${String(f)}"`;if(!(y==="function"||y==="undefined"||y==="symbol")){if(Array.isArray(f)){if(n.has(f))throw new TypeError("Converting circular structure to JSON");n.add(f);let c=l+t,u=f.map(d=>{let p=o(d,c);return p===void 0?"null":p});return n.delete(f),t?`[${i(c)}${u.join(`,${i(c)}`)}${i(l)}]`:`[${u.join(",")}]`}if(y==="object"){if(n.has(f))throw new TypeError("Converting circular structure to JSON");n.add(f);let c=Object.keys(f),u=l+t,d=[];for(let p of c){let A=o(f[p],u);A!==void 0&&(t?d.push(`${r(u)}"${a(p)}": ${A}`):d.push(`"${a(p)}":${A}`))}return n.delete(f),t?`{
4
+ ${d.join(`,
5
+ `)}
6
+ ${r(l)}}`:`{${d.join(",")}}`}}},s=o(e,0);return s===void 0?void 0:s}var K=(e,t)=>{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 n=new Map;return e.forEach((r,i)=>{(!t||!t.some(a=>a.toString()===i.toString()))&&n.set(i,K(r))}),n}if(e instanceof Set){let n=new Set;return e.forEach(r=>{n.add(K(r))}),n}if(Array.isArray(e))return Array.from(e).map(n=>K(n));if(T(e)){let n={};for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(!t||!t.some(a=>a.toString()===i.toString()))&&(n[i]=K(e[i]));let r=Object.getOwnPropertySymbols(e);for(let i of r)(!t||!t.some(a=>a.toString()===i.toString()))&&(n[i]=K(e[i]));return n}return e};var z=(e,t=!1)=>{if(Array.isArray(e))return e.map(r=>z(r,t));if(!T(e))return{};let n={};for(let r in e){let i=e[r];typeof i=="string"||typeof i=="number"||typeof i=="symbol"?n[i]=r:T(i)?t&&(n[r]=z(i,t)):Array.isArray(i)&&t&&(n[r]=i.map(a=>z(a,t)))}return n},et=(e,t)=>{if(Array.isArray(e))return e.filter(t);if(!T(e))return{};let n={};for(let r in e)t(e[r],r)&&(n[r]=e[r]);return n},be=(e,t=!1)=>{if(!T(e))return{};let n={};for(let r in e){let i=e[r];if(i!=null)if(t&&T(i)){let a=be(i,!0);Object.keys(a).length>0&&(n[r]=a)}else n[r]=i}return n},tt=(e,t)=>{if(Array.isArray(e))return Array.isArray(t)?[...e,...t]:[...e,t];let n=K(e);for(let r in t)n[r]===void 0&&(n[r]=t[r]);return n},nt=e=>T(e)?Object.keys(e).length:0,rt=(e,t)=>{if(Array.isArray(e))return e.map(t);if(!T(e))return{};let n={};for(let r in e){let[i,a]=t(r,e[r]);n[i]=a}return n},st=(e,t)=>Array.isArray(e)?e.reduce((n,r)=>{let i=r[t];if(i==null)return n;let a=String(i);return n[a]||(n[a]=[]),n[a].push(r),n},{}):{},it=e=>{if(!T(e))return"";let t=[],n=(r,i)=>{i!=null&&(Array.isArray(i)?i.forEach(a=>{t.push(`${encodeURIComponent(r)}=${encodeURIComponent(a)}`)}):t.push(`${encodeURIComponent(r)}=${encodeURIComponent(i)}`))};for(let r in e)n(r,e[r]);return t.join("&")},at=e=>{if(!e||typeof e!="string")return{};let t=e.startsWith("?")?e.slice(1):e;if(!t)return{};let n={},r=t.split("&");for(let i of r){let[a,o]=i.split("=").map(decodeURIComponent);a&&(a in n?Array.isArray(n[a])?n[a].push(o||""):n[a]=[n[a],o||""]:n[a]=o||"")}return n},ne=e=>{if(e==null||typeof e!="object")return e;Object.freeze(e);for(let n in e){let r=e[n];r!=null&&typeof r=="object"&&ne(r)}let t=Object.getOwnPropertySymbols(e);for(let n of t){let r=e[n];r!=null&&typeof r=="object"&&ne(r)}return e},ot=e=>e!=null&&typeof e=="object"&&!Array.isArray(e);var re=(e,t)=>e===t,N=(e,t)=>{if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(Array.isArray(e[n])&&Array.isArray(t[n])){if(!N(e[n],t[n]))return!1}else if(T(e[n])&&T(t[n])){if(!se(e[n],t[n]))return!1}else if(e[n]!==t[n])return!1;return!0},se=(e,t)=>{let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let i of n){if(!(i in t))return!1;let a=e[i],o=t[i];if(Array.isArray(a)&&Array.isArray(o)){if(!N(a,o))return!1}else if(T(a)&&T(o)){if(!se(a,o))return!1}else if(a!==o)return!1}return!0},J=(e,t,n={})=>{let{includeDeleted:r=!1,includeAdded:i=!0,deepArrayComparison:a=!0,equalityFn:o=re,preserveStructure:s=!1}=n;if(e==null&&t==null)return{};if(e==null)return i?{...t}:{};if(t==null){if(r){let y={};for(let c in e)y[c]=void 0;return y}return{}}if(!T(e)||!T(t))return o(e,t)?{}:t;let f={},l=new Set;for(let y in t){l.add(y);let c=e[y],u=t[y];if(!(y in e)){i&&(f[y]=u);continue}if(Array.isArray(c)&&Array.isArray(u)){a?N(c,u)?s&&(f[y]=void 0):f[y]=u:c!==u?f[y]=u:s&&(f[y]=void 0);continue}if(T(c)&&T(u)){let d=J(c,u,n);Object.keys(d).length>0?f[y]=d:s&&(f[y]=void 0);continue}o(c,u)?s&&(f[y]=void 0):f[y]=u}if(r)for(let y in e)l.has(y)||(f[y]=void 0);return f},U=(e,t,n={})=>{let r=[],i=[],a=[],o={},{includeDeleted:s=!1,includeAdded:f=!0,deepArrayComparison:l=!0,equalityFn:y=re}=n;if(Array.isArray(e)&&Array.isArray(t)){let d=Math.max(e.length,t.length),p=[],A=!1;for(let g=0;g<d;g++){let m=`[${g}]`;if(g>=e.length)r.push(m),p[g]=t[g],A=!0;else if(g>=t.length)i.push(m),A=!0;else{let x=e[g],h=t[g];T(x)&&T(h)||Array.isArray(x)&&Array.isArray(h)?U(x,h,n).hasChanges?(a.push(m),p[g]=h,A=!0):p[g]=x:y(x,h)?p[g]=x:(a.push(m),p[g]=h,A=!0)}}return{changes:A?p:{},added:r,deleted:i,modified:a,hasChanges:A||i.length>0}}let c=(d,p,A="")=>{let g={added:[],deleted:[],modified:[]};if(Array.isArray(d)&&Array.isArray(p)){let m=Math.max(d.length,p.length);for(let x=0;x<m;x++){let h=A?`${A}[${x}]`:`[${x}]`;if(x>=d.length)g.added.push(h);else if(x>=p.length)g.deleted.push(h);else{let S=d[x],b=p[x];if(T(S)&&T(b)){let O=c(S,b,h);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else if(Array.isArray(S)&&Array.isArray(b)){let O=c(S,b,h);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else S!==b&&g.modified.push(h)}}return g}if(T(d)&&T(p)){let m=new Set([...Object.keys(d||{}),...Object.keys(p||{})]);for(let x of m){let h=d?.[x],S=p?.[x],b=A?`${A}.${x}`:x;if(!(x in(d||{})))g.added.push(b);else if(!(x in(p||{})))g.deleted.push(b);else if(Array.isArray(h)&&Array.isArray(S)){if(!N(h,S)){let O=c(h,S,b);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}}else if(T(h)&&T(S)){let O=c(h,S,b);g.added.push(...O.added),g.deleted.push(...O.deleted),g.modified.push(...O.modified)}else h!==S&&g.modified.push(b)}}return g};if(e==null&&t==null)return{changes:{},added:r,deleted:i,modified:a,hasChanges:!1};if(e==null){if(f&&t)for(let d in t)r.push(d),o[d]=t[d];return{changes:o,added:r,deleted:i,modified:a,hasChanges:r.length>0}}if(t==null){if(s)for(let d in e)i.push(d),o[d]=void 0;return{changes:o,added:r,deleted:i,modified:a,hasChanges:i.length>0}}let u=new Set;for(let d in t){u.add(d);let p=e[d],A=t[d];if(!(d in e)){f&&(r.push(d),o[d]=A);continue}let g=!1;if(Array.isArray(p)&&Array.isArray(A)){if(g=l?!N(p,A):p!==A,g){let m=c(p,A,d);r.push(...m.added),i.push(...m.deleted),a.push(...m.modified),o[d]=A}}else if(T(p)&&T(A)){let m=J(p,A,n);if(g=Object.keys(m).length>0,g){let x=c(p,A,d);r.push(...x.added),i.push(...x.deleted),a.push(...x.modified),o[d]=m}}else g=!y(p,A),g&&(a.push(d),o[d]=A)}for(let d in e)u.has(d)||(i.push(d),o[d]=void 0);return{changes:o,added:r,deleted:i,modified:a,hasChanges:r.length>0||i.length>0||a.length>0}},yt=(e,t,n={})=>{let r=J(e,t,n);return Object.keys(r).length>0};function ke(e){return!!(e&&(e.diff||e.changes)&&(e.modified||e.deleted||e.hasChanges))}var k=(e,t,n)=>{if(!ke(t)){let g=t,m=n||!1;if(Array.isArray(e)&&Array.isArray(g)){let h=m?e:[...e];g.length<h.length&&(h.length=g.length);for(let S=0;S<g.length;S++){let b=g[S];b!==void 0&&(T(h[S])&&T(b)||Array.isArray(h[S])&&Array.isArray(b)?h[S]=k(h[S],b,m):h[S]=b)}return h}if(!T(e))return g;if(!T(g))return e;let x=m?e:{...e};for(let h in g){let S=g[h];S===void 0?delete x[h]:Array.isArray(x[h])&&Array.isArray(S)||T(x[h])&&T(S)?x[h]=k(x[h],S,m):x[h]=S}return x}let{diff:r,added:i=[],deleted:a=[],modified:o=[],changes:s,keepRef:f}=t,l=n!==void 0?n:f,y=s||r;if(!y)return e;let c=new Set(i),u=new Set(a),d=new Set(o),p=g=>{if(i.length===0&&a.length===0&&o.length===0)return!0;let m=g.split(/[.\[\]]+/).filter(Boolean);for(let x=0;x<=m.length;x++){let h=m.slice(0,x).join("."),S=m.slice(0,x).map((b,O)=>/^\d+$/.test(b)?`[${b}]`:O>0?`.${b}`:b).join("");if(c.has(h)||c.has(S)||u.has(h)||u.has(S)||d.has(h)||d.has(S))return!0}return!1};if(Array.isArray(e)&&Array.isArray(y)){let g=l?e:[...e];g.length=y.length;for(let m=0;m<y.length;m++){let x=`[${m}]`,h=y[m];h!==void 0&&p(x)&&(T(g[m])&&T(h)||Array.isArray(g[m])&&Array.isArray(h)?g[m]=k(g[m],h,l):g[m]=h)}return g}if(!T(e))return y;if(!T(y))return e;let A=l?e:{...e};for(let g of a)g.includes(".")||g.includes("[")||p(g)&&delete A[g];for(let g in y){let m=y[g];p(g)&&(m===void 0?delete A[g]:Array.isArray(A[g])&&Array.isArray(m)||T(A[g])&&T(m)?A[g]=k(A[g],m,l):A[g]=m)}return A},ct=(e,t,n={})=>{let r=[],i=(a,o,s="")=>{if(a===o)return;if(Array.isArray(a)&&Array.isArray(o)){let l=Math.max(a.length,o.length);for(let y=0;y<l;y++){let c=s?`${s}[${y}]`:`[${y}]`;if(y>=a.length)r.push(c);else if(y>=o.length)r.push(c);else{let u=a[y],d=o[y];T(u)&&T(d)||Array.isArray(u)&&Array.isArray(d)?i(u,d,c):u!==d&&r.push(c)}}return}if(!T(a)||!T(o)){s&&r.push(s);return}let f=new Set([...Object.keys(a||{}),...Object.keys(o||{})]);for(let l of f){let y=a?.[l],c=o?.[l],u=s?`${s}.${l}`:l;!(l in(a||{}))||!(l in(o||{}))?r.push(u):Array.isArray(y)&&Array.isArray(c)||T(y)&&T(c)?i(y,c,u):y!==c&&r.push(u)}};return i(e,t),r};var v=(e,t={})=>{let{type:n="auto",throwOnError:r=!1}=t;if(!e||typeof e!="string")return[];let i=[],a="",o=!1,s=!1,f="",l="",y=0,u=n==="auto"?(p=>p.includes("..")?"descendant":p.includes("[?(")?"filter":p.includes("[:")||p.includes("[0:")?"slice":p.includes("[,")||p.includes("[0,1]")?"union":p.includes("[*]")||p.includes(".*.")?"wildcard":p.includes("[]")?"array-wildcard":p.includes("[")&&p.includes("]")?"bracket":"dot")(e):n,d=p=>{let A=p.trim();if(A==="*"||A==="")return{type:"wildcard",value:A===""?"[]":"*",raw:A===""?"[]":p};if(A==="[]")return{type:"wildcard",value:"[]",raw:p};if(/^-?\d+$/.test(A))return{type:"index",value:parseInt(A,10),raw:p};if(A.includes(":")){let g=A.split(":").map(h=>h.trim()),m=g[0]===""?0:parseInt(g[0],10),x=g[1]===""?1/0:parseInt(g[1],10);if(isNaN(m)||isNaN(x)){if(r)throw new Error(`Invalid slice notation: ${p}`);return{type:"wildcard",value:"*",raw:p}}return{type:"slice",value:[m,x],raw:p}}if(A.includes(",")){let g=A.split(",").map(m=>{let x=parseInt(m.trim(),10);return isNaN(x)?-1:x}).filter(m=>m>=0);if(g.length===0){if(r)throw new Error(`Invalid union notation: ${p}`);return{type:"wildcard",value:"*",raw:p}}return{type:"union",value:g,raw:p}}if(A.startsWith("?(")&&A.endsWith(")")){let g=A.slice(2,-1);try{return{type:"filter",value:we(g),raw:p}}catch(m){if(r)throw m;return{type:"wildcard",value:"*",raw:p}}}return A.startsWith('"')&&A.endsWith('"')||A.startsWith("'")&&A.endsWith("'")?{type:"property",value:A.slice(1,-1),raw:p}:{type:"property",value:A,raw:p}};for(let p=0;p<e.length;p++){let A=e[p],g=e[p+1];if((A==='"'||A==="'")&&!s){s=!0,f=A;continue}else if(A===f&&s){s=!1,f="",A==='"'||A==="'"||(o?l+=A:a+=A);continue}if(s){o?l+=A:a+=A;continue}if(A==="["&&!o){a&&(i.push({type:"property",value:a,raw:a}),a=""),o=!0,l="";continue}if(A==="]"&&o&&!s){o=!1;let x=d(l);i.push(x);continue}let m=i.length>0?i[i.length-1]:null;if(A==="."&&!o&&!s){if(g==="."){let x=e.split("..")[0];i.push({type:"property",value:x,raw:x}),i.push({type:"descendant",value:"..",raw:".."}),p++}else a&&(a==="*"?i.push({type:"wildcard",value:a,raw:a}):i.push({type:"property",value:a,raw:a}),a="");continue}if(o)l+=A;else if(m&&m.type!=="descendant")a+=A;else{let x=e.split(m?.raw)[1];x!==void 0?a=x:a+=A}}return a&&i.push({type:"property",value:a,raw:a}),i.map(p=>{if(p.type==="property"&&typeof p.value=="string"&&/^-?\d+$/.test(p.value)){let A=parseInt(p.value,10);if(!isNaN(A))return{...p,type:"index",value:A}}return p})},we=e=>{let t=e.replace(/@\.([a-zA-Z_$][\w$]*)/g,(n,r)=>`item.${r}`).replace(/@/g,"item");try{return new Function("item",`return ${t}`)}catch{throw new Error(`Invalid filter expression: ${e}`)}},M=e=>{let t=[];for(let n=0;n<e.length;n++){let r=e[n],i=n>0?e[n-1]:null;switch(r.type){case"property":/[\.\[\]\s]/.test(String(r.value))?t.push(`["${r.value}"]`):(i&&i.type!=="descendant"&&t.push("."),t.push(String(r.value)));break;case"index":t.push(`[${r.value}]`);break;case"wildcard":r.value==="[]"?t.push("[]"):t.push("[*]");break;case"slice":let[o,s]=r.value;t.push(`[${o}:${s===1/0?"":s}]`);break;case"union":let f=r.value;t.push(`[${f.join(",")}]`);break;case"filter":t.push(`[?(${r.raw?.slice(2,-1)||""})]`);break;case"descendant":t.push("..");break}}return t.join("").replace(/\.\[/g,"[")},ve=(e,t={})=>{if(Array.isArray(e))return e.map(n=>ve(n,t));if(!/^[a-zA-Z]/.test(e))return{valid:!1,error:"Selector starts with '.'",type:_(e)};if(!/[a-zA-Z]$/.test(e))return{valid:!1,error:"Selector end with '.'",type:_(e)};try{let n=v(e,{throwOnError:!0}),r=_(e);return t.allowedTypes&&!t.allowedTypes.includes(r)?{valid:!1,error:`Selector type ${r} not allowed. Allowed: ${t.allowedTypes.join(", ")}`,type:r}:{valid:!0,type:_(e)}}catch(n){return{valid:!1,error:n.message}}},_=e=>e.includes("..")?"descendant":e.includes("[?(")?"filter":e.includes("[:")||e.includes("[0:")?"slice":/\[[^\]]*,[^\]]*\]/.test(e)?"union":e.includes("[*]")||e.includes(".*.")?"wildcard":e.includes("[]")?"array-wildcard":e.includes("[")&&e.includes("]")?"bracket":"dot",dt=(e,t)=>e.replace(/\{(\w+)\}/g,(n,r)=>r in t?String(t[r]):`{${r}}`);function ie(...e){if(e.length===0)return{};let t=e[0],n=Array.isArray(t);for(let i of e)if(i&&Array.isArray(i)!==n)throw new Error("Cannot mix arrays and objects in deepMerge");let r=n?[]:{};for(let i of e)if(i!=null)if(n){let a=r,o=i;for(let s of o)a.push(K(s))}else{if(!w(i))continue;let a=r,o=i;for(let f in o)if(Object.prototype.hasOwnProperty.call(o,f)){let l=o[f],y=a[f];y===void 0?a[f]=K(l):Array.isArray(l)&&Array.isArray(y)?a[f]=[...y,...l.map(c=>K(c))]:w(l)&&w(y)?a[f]=ie(y,l):a[f]=K(l)}let s=Object.getOwnPropertySymbols(o);for(let f of s){let l=o[f],y=a[f];y===void 0?a[f]=K(l):Array.isArray(l)&&Array.isArray(y)?a[f]=[...y,...l.map(c=>K(c))]:w(l)&&w(y)?a[f]=ie(y,l):a[f]=K(l)}}return r}function ht(e,t,n){let{key:r,override:i=!0}=n||{};if(!r)return Array.from(new Set([...e,...t]));let a=new Map;for(let o of e)a.set(o[r],o);for(let o of t){let s=a.get(o[r]);s?a.set(o[r],i?{...s,...o}:{...o,...s}):a.set(o[r],o)}return Array.from(a.values())}function Pe(e,t){for(let n in t){let r=e[n],i=t[n],a=U(r,i);Array.isArray(r)&&Array.isArray(i)?(r.length=0,r.push(...i)):typeof r=="object"&&typeof i=="object"&&r&&i&&a.hasChanges?k(r,i):e[n]=i}}function C(e,...t){if(t.length===0)return K(e);let n={preserveTarget:!1,strict:!1},r=t,i=t[t.length-1];i&&typeof i=="object"&&("preserveTarget"in i||"strict"in i)&&(n={...n,...i},r=t.slice(0,-1));let a=n.preserveTarget?e:K(e),o=Array.isArray(a);for(let s of r)if(s&&Array.isArray(s)!==o)throw new Error("Cannot mix arrays and objects in deepMergeWithOptions");for(let s of r)if(s!=null)if(o){let f=a,l=s;if(n.strict)for(let y=0;y<f.length&&y<l.length;y++)w(f[y])&&w(l[y])?f[y]=C(f[y],l[y],n):typeof f[y]==typeof l[y]&&(f[y]=K(l[y]));else Pe(f,l)}else{if(!w(s))continue;let f=a,l=s;for(let c in l){if(!Object.prototype.hasOwnProperty.call(l,c))continue;let u=l[c];if(n.strict&&!(c in f))continue;let d=f[c];d===void 0?f[c]=K(u):Array.isArray(u)&&Array.isArray(d)?n.strict?f[c]=C(d,u,n):f[c]=[...d,...u.map(p=>K(p))]:w(u)&&w(d)?f[c]=C(d,u,n):f[c]=K(u)}let y=Object.getOwnPropertySymbols(l);for(let c of y){if(n.strict&&!(c in f))continue;let u=l[c],d=f[c];d===void 0?f[c]=K(u):Array.isArray(u)&&Array.isArray(d)?n.strict?f[c]=C(d,u,n):f[c]=[...d,...u.map(p=>K(p))]:w(u)&&w(d)?f[c]=C(d,u,n):f[c]=K(u)}}return a}function q(e,...t){return C(e,...t,{preserveTarget:!0})}function St(e,...t){let n=!1,r=t;return t.length>0&&typeof t[t.length-1]=="boolean"&&(n=t[t.length-1],r=t.slice(0,-1)),C(e,...r,{preserveTarget:n,strict:!0})}var ae=(e,t,n)=>{let r=v(t),i=e;for(let a=0;a<r.length;a++){let o=r[a],s=a===r.length-1;switch(o.type){case"property":if(s)i[String(o.value)]=n;else{if(!i[String(o.value)]){let l=r[a+1];i[String(o.value)]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}i=i[String(o.value)]}break;case"index":Array.isArray(i)||(i=[]);let f=o.value;if(s){if(f>=i.length)for(let l=i.length;l<=f;l++)i.push(void 0);i[f]=n}else{if(!i[f]){let l=r[a+1];i[f]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}i=i[f]}break;case"wildcard":if(Array.isArray(i))if(s)for(let l=0;l<i.length;l++)i[l]=n;else{let l=r[a+1];for(let y=0;y<i.length;y++)i[y]||(i[y]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{});i.length>0&&(i=i[0])}break}}};import{isDate as Re}from"@fluixi/utils/primitive";import{isClass as Pt,isObject as Rt}from"@fluixi/utils/object";import{isArray as It}from"@fluixi/utils/array";import{isFunction as Vt}from"@fluixi/utils/functions";function oe(e){let t=typeof e;return e===null||t==="string"||t==="number"||t==="boolean"||t==="symbol"||t==="bigint"||t==="undefined"||Re(e)}function P(e,t,n={}){let{preserveStructure:r,multiple:i,throwOnError:a=!1,defaultValue:o,maxDepth:s=20}=n;if(!e||typeof e!="object")return o;if(!t)return e;if(Array.isArray(t))if(r){let y={};for(let c of t){let u=P(e,c,{...n,preserveStructure:!1});u!==void 0&&ae(y,c,u)}return y}else return t.map(y=>P(e,y,{...n,preserveStructure:!1}));let f=v(t,{...n,throwOnError:a});if(f.length===0)return e;if(typeof r>"u"||r===!1){let y=$(e,t);return i===!1&&Array.isArray(y)?y[0]:y===void 0&&o!==void 0?o:y}let l=R(e,f,0,s);return l===void 0&&o!==void 0?o:l}function B(e,t,n,r,i){let a=K(e),o=[];if(typeof t<"u"&&o.push(t),typeof n<"u"&&o.push(n),typeof r<"u"&&o.push(r),typeof i<"u"&&o.push(i),oe(a))return typeof t=="function"?t(a):t;if(o.length===1){if(typeof o[0]=="function")return De(a,o[0]);if(Array.isArray(o[0])){if(Array.isArray(a))if(t.length===0)for(let s=0;s<a.length;s++)a.pop();else return U([...a],[...o[0]]).hasChanges&&k(a,[...o[0]],!0),a}else typeof o[0]=="object"&&!Array.isArray(o[0])?typeof a=="object"&&!Array.isArray(a)&&k(a,o[0],!0):a=o[0];return a}if(Array.isArray(a)){if(typeof t=="string"&&(Ie(n)||typeof n=="string")&&o.length===3){if(Array.isArray(n)){for(let s=0;s<n.length;s++)V(a,t,r,n[s]);return a}return V(a,t,r,n)}if(typeof t=="string"&&typeof n=="function"&&o.length===2)return V(a,t,n)}if((typeof t=="string"||typeof t=="number")&&(o.length===2||o.length===3))return Fe(n)?Q(a,t,n,r):typeof t=="number"?typeof r<"u"?V(a,`[${t}].${n}`,r):V(a,`[${t}]`,n,r):typeof n=="number"&&typeof r<"u"?Z(a,t,n,r):Array.isArray(n)&&n.length>0&&n.every(s=>typeof s=="number")?j(a,t,n,r):typeof r<"u"&&typeof n=="function"?G(a,t,n,r):V(a,t,n,r);if(typeof t=="string"&&typeof n=="number"){if(o.length===3)return Z(a,t,n,r);if(o.length===4)return $e(a,t,n,r,i)}if(typeof t=="string"&&Array.isArray(n)){if(o.length===3)return j(a,t,n,r);if(o.length===4)return Ve(a,t,n,r,i)}if(typeof t=="string"&&typeof n=="object"&&!Array.isArray(n)&&n!==null){let s=n;if("from"in s||"to"in s){if(o.length===3)return Q(a,t,s,r);if(o.length===4)return Ce(a,t,s,r,i)}}if(typeof t=="object"&&!Array.isArray(t)&&o.length===1)return k(a,t,!0);if(typeof t=="string"&&typeof n=="object"&&!Array.isArray(n)&&o.length===2)return Ee(a,t,n);if(typeof t=="string"&&typeof n=="function"){if(o.length===3)return G(a,t,n,r);if(o.length===4)return le(a,t,n,r,i)}if(typeof t=="function"&&typeof n=="string"){if(o.length===3)return Ue(a,t,n,r);if(o.length===4)return le(a,n,t,r,i)}if(Array.isArray(t)){if(o.length===2&&typeof n=="object"&&!Array.isArray(n))return fe(a,t,n);if(o.length===2)return fe(a,t,n)}throw new Error(`Invalid set parameters: ${JSON.stringify(o)}`)}function H(e,t,n,r=!1){let i=v(e);if(i.length===0)return n;let a=i[i.length-1].type==="wildcard",o=i.some(f=>f.type==="wildcard")&&Array.isArray(t),s;if((a||o&&r||o&&i.length===2)&&Array.isArray(t))for(let f=0;f<t.length;f++){let l=typeof n=="function"?n(t[f]):typeof t[f]=="object"?k(t[f],n,!0):n;s||(s=[]),s.push(l)}return!a&&!s&&(s=typeof n=="function"?n(t):n),s}function Fe(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 Ie(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function V(e,t,n,r){let i=v(t),a=$(e,t,{paths:i,createMissing:!0}),o;r&&typeof n=="function"&&(o=P(a,r));let f=H(t,r?o:a,n,Array.isArray(e));return r?I(e,`${t}.${r}`,f,{createMissing:!0}):I(e,t,f,{createMissing:!0})}function Z(e,t,n,r){let i=$(e,t,{createMissing:!0});if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array ${n}`);let a=structuredClone(i),o=H(t,a[n],r);if(n<0){let s=i.length+n;if(s<0)throw new Error(`Index ${n} is out of bounds`);return I(e,`${t}[${s}]`,o,{createMissing:!0})}return I(e,`${t}[${n}]`,o,{createMissing:!0})}var $e=(e,t,n,r,i)=>typeof r=="function"?V(e,`${t}[${n}]`,r):typeof r=="string"?V(e,`${t}[${n}]`,i,r):null,j=(e,t,n,r)=>{let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);for(let a of n)typeof a=="number"?Z(e,t,a,r):typeof a=="string"&&V(e,t,r,a);return e},Ve=(e,t,n,r,i)=>j(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f});function Q(e,t,n,r){let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);let a=n.from??0,o=n.to??i.length-1,s=n.by??1,f=[];for(let l=a;l<=o;l+=s)l>=0&&l<i.length&&f.push(l);return j(e,t,f,r)}var Ce=(e,t,n,r,i)=>Q(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f});function _t(e,t){return Object.assign(e,t)}function G(e,t,n,r){let i=$(e,t);if(!Array.isArray(i))throw new Error(`Target at ${t} is not an array`);let a=[],o=[...i];return i.forEach((s,f)=>{n(s,f)&&a.push(f)}),j(e,t,a,r)}function Ue(e,t,n,r){let i=e;if(!Array.isArray(i))throw new Error(`Target at ${n} is not an array`);let a=[],o=[...i];return i.forEach((s,f)=>{s=I(s,n,r,{createMissing:!0})}),i}function le(e,t,n,r,i){return G(e,t,n,o=>{let s=typeof i=="function"?i(o?$(o,r):void 0):i,f=o?{...o}:{};return I(f,r,s),f})}function Ee(e,t,n){let r=$(e,t,{createMissing:!0}),i=k(r||{},n,!0);return I(e,t,i,{createMissing:!0})}function fe(e,t,n){if(typeof n=="object"&&!Array.isArray(n)&&n!==null)for(let[r,i]of Object.entries(n))t.includes(r)&&I(e,r,i,{createMissing:!0});else for(let r of t){let i=H(r,$(e,r),n);I(e,r,i,{createMissing:!0})}return e}function $(e,t,n={}){let{createMissing:r=!1,add:i=!1,debug:a=!1}=n,o=v(t),s=e,f=!1,l="",y=t;if(typeof s=="object"&&!Array.isArray(s)&&y.length>0&&s[y])return s=s[y],s;for(let c=0;c<o.length;c++){let u=o[c],d=o.length>1?c===o.length-1:!1;if(s===null&&!r)return;let p=o[c+1];switch(u.type){case"property":if(s&&typeof s=="object")if(Array.isArray(s)){if(typeof u.value=="number"){let A=u.value;if(r&&A>=s.length)for(let g=s.length;g<=A;g++)s.push(void 0);if(r&&(s[A]===null||s[A]===void 0)&&(!d||f)&&(p?s[A]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{}:s[A]=null,f=!1),s=s[A],p){f=!0;continue}}else i?s.push({[String(u.value)]:null}):s=s.map(A=>A[String(u.value)]);if(p)continue;return ye(s)}else{if(s[l]&&l.split(".").length>=2){s=s[l];continue}if(r&&(s[String(u.value)]===null||s[String(u.value)]===void 0)&&(!d||f)&&(p?s[String(u.value)]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{}:s[String(u.value)]=null,f=!1,s=s[String(u.value)],p)){f=!0;continue}if(s?(!s[String(u.value)]&&r&&(s[String(u.value)]=null),s=s[String(u.value)]):s={[String(u.value)]:null},p)continue}else if(r)s={},s[String(u.value)]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"||n.type==="array"?[]:{},s=s[String(u.value)];else return;break;case"index":case"wildcard":if(Array.isArray(s)){if(u.type==="index"){let A=u.value;if(A<0){s=s[s.length-Math.abs(A)];continue}if(r&&(A>=s.length||s[A]==null||s[A]==null)&&!d){for(let g=s.length;g<=A;g++)s.push(void 0);p&&(s[A]=p.type==="index"||p.type==="slice"||p.type==="union"||p.type==="wildcard"?[]:{})}s=s[A]}else if(!d)continue}else if(r){let A=o[c+1];s=[];let g=u.value;for(let m=0;m<=g;m++)s.push(void 0);s[g]=A.type==="index"||A.type==="slice"||A.type==="union"||A.type==="wildcard"||n.type==="array"?[]:{},s=s[g]}else{if(u.type==="index"&&typeof s=="object"&&s&&s[String(u.value)]!==void 0){s=s[String(u.value)];continue}if(typeof s=="object"){s=Object.values(s);continue}return}break;default:return}}return ye(s)}function ye(e){return Array.isArray(e)?e.filter(t=>typeof t<"u"):e}var I=(e,t,n,r={})=>{if(t==="[*]")return k(e,n,!0);let{createMissing:i=!0}=r,a=v(t);if(a.length===0)return e;let o=a[a.length-1],s=e;for(let f=0;f<a.length-1;f++){let l=a[f];if(s==null){if(!i)return e;throw new Error(`Cannot navigate through null/undefined at segment ${f}`)}let y=a[f+1],c=y.type==="index"||y.type==="slice"||y.type==="union"||y.type==="wildcard";if(l.type==="property"){if(Array.isArray(s)&&typeof typeof l.value=="number"){let u=l.value;if(u<0)throw new Error(`Negative index ${u} not allowed`);if(u>=s.length&&i)for(let d=s.length;d<=u;d++)s.push(void 0);(s[u]===null||s[u]===void 0)&&i&&(s[u]=c?[]:{}),s=s[u]}else(s[String(l.value)]===null||s[String(l.value)]===void 0)&&i&&(s[String(l.value)]=c?[]:{}),typeof s=="object"&&!Array.isArray(s)&&(s=s[String(l.value)]);if(y)continue;break}else if(l.type==="index"||l.type==="wildcard"){if(!Array.isArray(s)){if(!i)return e;s=[]}if(l.type==="index"){let u=l.value;if(u<0)throw new Error(`Negative index ${u} not allowed`);if(u>=s.length&&i)for(let d=s.length;d<=u;d++)s.push(void 0);(s[u]===null||s[u]===void 0)&&i&&(s[u]=c?[]:void 0),s=s[u]}if(y)continue;break}else throw new Error(`Invalid segment type for set: ${l.type}`)}switch(o.type){case"property":if(Array.isArray(s)&&typeof o.value=="number"){let l=o.value;if(l<0)throw new Error(`Negative index ${l} not allowed`);if(l>=s.length)for(let y=s.length;y<=l;y++)s.push(void 0);Array.isArray(n)?s[l]=k(structuredClone(s[l]),n[l],!0):s[l]=n}else if(s||(s={}),Array.isArray(s)){let l=t.split("."),y;if(l.length>=2){l.shift();for(let c=0;c<s.length;c++)Array.isArray(n)?(y=ce(l.join("."),n[c]),s[c]=typeof s[c]=="object"?k(s[c],y,!0):y):(y=ce(l.join("."),n),s[c]=typeof s[c]=="object"?k(s[c],y,!0):y)}else y={[String(o.value)]:n}}else Array.isArray(n)&&n.length===0?typeof s[String(o.value)]>"u"?s[String(o.value)]=[]:s[String(o.value)]=[]:s[String(o.value)]=n;break;case"index":case"wildcard":if(!Array.isArray(s))throw new Error("Cannot use index on non-array for final segment");let f=o.value;if(o.type==="index"){if(f<0)throw new Error(`Negative index ${f} not allowed`);if(f>=s.length)for(let l=s.length;l<=f;l++)s.push(void 0);if(Array.isArray(n))if(typeof s[f]==typeof n[f])try{s[f]=k(K(s[f]),n[f],!0)}catch{throw Error("expected on array")}else s[f]=n;else s[f]=n}else if(o.type==="wildcard")if(Array.isArray(n))for(let l=0;l<s.length;l++)typeof s[l]=="object"?s[l]=k(s[l],n[l],!0):s[l]=n[l];else for(let l=0;l<s.length;l++)typeof s[l]=="object"?s[l]=k(s[l],n,!0):s[l]=n;break;default:throw new Error(`Invalid final segment type for set: ${o.type}`)}return e};var ce=(e,t)=>{let n=v(e);if(n.length===0)return t;let r=t;for(let i=n.length-1;i>=0;i--){let a=n[i];if(a.type==="property")r={[String(a.value)]:r};else if(a.type==="index"){let o=parseInt(String(a.value)),s=[];s[o]=r,r=s}else a.type==="wildcard"?Array.isArray(r)?r=r:r=[r]:a.type==="slice"?Array.isArray(r)||(r=[r]):a.type==="union"?Array.isArray(r)||(r=[r]):a.type==="filter"?Array.isArray(r)||(r=[r]):a.type==="descendant"&&(r=r)}return r},Bt=(e,t,n={})=>P(e,t,{...n,preserveStructure:!1}),Ne=(e,t,n={})=>{if(Array.isArray(t))return t.map(i=>Ne(e,i,n));let r=P(e,t,{...n,preserveStructure:!1});return Array.isArray(r)?r.length>0?r.every(i=>i!==void 0):!1:r!==void 0},D=(e,t,n={})=>{let{throwOnError:r=!1}=n;if(Array.isArray(t))return t.map(s=>D(e,s,n));let i=v(t,{throwOnError:r});if(i.length===0)return!1;let a=i[i.length-1];if(i.some(s=>s.type==="wildcard"||s.type==="slice"||s.type==="union")){let s=X(e,t,n),f=!1;for(let l of s)Me(e,l)&&(f=!0);return f}let o=e;for(let s=0;s<i.length-1;s++){let f=i[s];if(o==null)return!1;switch(f.type){case"property":o=o[String(f.value)];break;case"index":if(!Array.isArray(o))return!1;let l=f.value;if(l<0||l>=o.length)return!1;o=o[l];break;default:return!1}}if(o==null)return!1;switch(a.type){case"property":if(String(a.value)in o)return delete o[String(a.value)],!0;break;case"index":if(!Array.isArray(o))return!1;let s=a.value;if(s>=0&&s<o.length)return o.splice(s,1),!0;break}return!1},Me=(e,t)=>{let n=v(t);if(n.length===0)return!1;let r=n[n.length-1],i=e;for(let a=0;a<n.length-1;a++){let o=n[a];if(i==null)return!1;switch(o.type){case"property":i=i[String(o.value)];break;case"index":if(!Array.isArray(i))return!1;let s=o.value;if(s<0||s>=i.length)return!1;i=i[s];break;default:return!1}}if(i==null)return!1;switch(r.type){case"property":if(String(r.value)in i)return delete i[String(r.value)],!0;break;case"index":if(!Array.isArray(i))return!1;let a=r.value;if(a>=0&&a<i.length)return i.splice(a,1),!0;break}return!1},X=(e,t,n={})=>{let{format:r="selector",maxDepth:i=20}=n;if(t&&Array.isArray(t)){let s=[];for(let f of t){let l=X(e,f,n);s.push(...l)}return s}if(t){let s=v(t,n);return F(e,s,0,i).map(l=>r==="selector"?l.path:l.stringPath)}let a=[],o=(s,f=[],l=[],y=0)=>{if(!(y>i)){if(f.length>0){let c=M(f);a.push({path:c,stringPath:l.join(".")})}if(s&&typeof s=="object")if(Array.isArray(s))for(let c=0;c<s.length;c++)o(s[c],[...f,{type:"index",value:c,raw:`[${c}]`}],[...l,`[${c}]`],y+1);else for(let c in s)s.hasOwnProperty(c)&&o(s[c],[...f,{type:"property",value:c,raw:c}],[...l,c],y+1)}};return o(e),a.map(s=>r==="selector"?s.path:s.stringPath)},Lt=(e,t)=>X(e).filter(r=>{let i=P(e,r);return t(r,i)}),je=(e,t=".")=>{let n={},r=(i,a=[])=>{if(i==null)return;let o=R(i,a,0,20);if(o!==void 0){n[M(a)]=o;return}if(Array.isArray(i))for(let s=0;s<i.length;s++){let f=[...a,{type:"index",value:s,raw:`[${s}]`}];r(i[s],f)}else if(T(i)){for(let f in i)if(i.hasOwnProperty(f)){let l=[...a,{type:"property",value:f,raw:f}];r(i[f],l)}let s=Object.getOwnPropertySymbols(i);for(let f of s){let l=[...a,{type:"property",value:f.toString(),raw:f.toString()}];r(i[f],l)}}else{let s=M(a);n[s]=i}};return r(e),n},zt=e=>{let t={};for(let n in e)B(t,n,e[n]);return t},Jt=(...e)=>{let t={};for(let n of e){if(!T(n))continue;let r=je(n);for(let i in r)B(t,i,r[i])}return t};function F(e,t,n,r,i=[],a=[]){if(n>r)return[];if(t.length===0)return[{value:e,path:M(i),stringPath:a.join(".")}];let o=t[0],s=t.slice(1),f=[];if(o.type==="descendant"){if(f.push(...F(e,s,n+1,r,i,a)),e&&typeof e=="object")if(Array.isArray(e))for(let l=0;l<e.length;l++)f.push(...F(e[l],t,n+1,r,[...i,{type:"index",value:l,raw:`[${l}]`}],[...a,`[${l}]`]));else for(let l in e)e.hasOwnProperty(l)&&f.push(...F(e[l],t,n+1,r,[...i,{type:"property",value:l,raw:l}],[...a,l]));return f}switch(o.type){case"property":if(e&&typeof e=="object"&&String(o.value)in e){let l=e[String(o.value)];f.push(...F(l,s,n+1,r,[...i,o],[...a,String(o.value)]))}break;case"index":if(Array.isArray(e)){let l=o.value;l>=0&&l<e.length&&f.push(...F(e[l],s,n+1,r,[...i,o],[...a,`[${l}]`]))}else if(e&&typeof e=="object"){let l=String(o.value);l in e&&f.push(...F(e[l],s,n+1,r,[...i,{...o,type:"property"}],[...a,l]))}break;case"wildcard":if(e&&typeof e=="object")if(Array.isArray(e))for(let l=0;l<e.length;l++)f.push(...F(e[l],s,n+1,r,[...i,{type:"index",value:l,raw:`[${l}]`}],[...a,`[${l}]`]));else for(let l in e)e.hasOwnProperty(l)&&f.push(...F(e[l],s,n+1,r,[...i,{type:"property",value:l,raw:l}],[...a,l]));break;case"slice":if(Array.isArray(e)){let[l,y]=o.value,c=Math.max(0,l),u=Math.min(e.length,y===1/0?e.length:y);for(let d=c;d<u;d++)f.push(...F(e[d],s,n+1,r,[...i,{type:"index",value:d,raw:`[${d}]`}],[...a,`[${d}]`]))}break;case"union":if(Array.isArray(e)){let l=o.value;for(let y of l)y>=0&&y<e.length&&f.push(...F(e[y],s,n+1,r,[...i,{type:"index",value:y,raw:`[${y}]`}],[...a,`[${y}]`]))}break;case"filter":if(Array.isArray(e)){let l=o.value;for(let y=0;y<e.length;y++)l(e[y])&&f.push(...F(e[y],s,n+1,r,[...i,{type:"index",value:y,raw:`[${y}]`}],[...a,`[${y}]`]))}break}return f}var qt=(e,t,n)=>{let r=P(e,t),i=n(r);return V(e,t,i)},De=(e,t)=>{let n=t(e);return k(e,n,!0)},Zt=(e,t)=>{let n=P(e,t);if(n!==void 0)return n===null?"null":Array.isArray(n)?"array":typeof n};function tn(e,t){if(!T(e))return{};let n={...e};for(let r of t)delete n[r];return n}function ue(e,t){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(r=>ue(r,t));let n={};for(let[r,i]of Object.entries(e))t.includes(r)||(n[r]=ue(i,t));return n}function nn(e){return t=>{if(!T(t))return{};let n={...t};for(let r of e)r in n&&delete n[r];return n}}function We(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&!t(e[r],r,e)&&(n[r]=e[r]);return n}function rn(e){return We(e,t=>t==null)}function sn(e,t){if(!T(e))return{};let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function an(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t(e[r],r,e)&&(n[r]=e[r]);return n}function on(e,t,n){if(!T(e))return{};let r=JSON.parse(JSON.stringify(e)),i=Array.isArray(t)?t:[t];for(let o=0;o<i.length;o++){let s=i[o],f=i[o+1];if(!s||s==="")continue;let l=v(s);if(s.includes("*")||s.includes("[")||l.length>1){let u=function(d,p=""){if(T(d)){if(Array.isArray(d)){d.forEach((A,g)=>{u(A,p?`${p}[${g}]`:`[${g}]`)});return}for(let A in d)if(Object.prototype.hasOwnProperty.call(d,A)){let g=p?`${p}.${A}`:A;c.push({fullPath:g,segments:v(g)}),u(d[A],g)}}};var a=u;let y=P(r,s,{preserveStructure:!0});if(y===void 0)continue;let c=[];u(y);for(let{fullPath:d,segments:p}of c){let A=[...p],g=A.pop();if(!g)continue;let m=A.map(O=>O.type==="index"?`[${O.value}]`:O.value).join(".").replace(/\.\[/g,"["),x=P(r,m.length>0?m:d,{preserveStructure:!0}),h=m?x:r;if(!h)continue;let S=String(g.value),b=h[S];if(n){let O=n(b,d,r);if(O===!0)if(g.type==="index"&&Array.isArray(h)){let L=g.value;L>=0&&L<h.length&&h.splice(L,1)}else D(r,i[o]);else O!==!1&&(h[S]=O)}else if(g.type==="index"&&Array.isArray(h)){let O=g.value;O>=0&&O<h.length&&h.splice(O,1)}else D(r,i[o])}}else{let y=s;if(typeof y=="string"&&y in r)if(n){let c=n(r[y],s,r);c===!0?delete r[y]:c!==!1&&(r[y]=c)}else D(r,i[o])}}return r}function ln(e,t,n){if(!T(e))return{};if(Array.isArray(t)){let a={};for(let o of t){let s=P(e,o,{preserveStructure:!0});if(s!==void 0)if(n){let f=(y,c)=>{if(T(y)){if(Array.isArray(y))return y.map((d,p)=>f(d,`${c}[${p}]`));let u={};for(let d in y)if(Object.prototype.hasOwnProperty.call(y,d)){let p=c?`${c}.${d}`:d;u[d]=f(y[d],p)}return u}return n(y,c,e)},l=f(s,o);q(a,l)}else Object.assign(a,q(a,s))}return a}let r=Array.isArray(t)?t[0]:t,i=P(e,r,{preserveStructure:!0});if(i===void 0)return{};if(n){let a=(o,s)=>{if(T(o)){if(Array.isArray(o))return o.map((l,y)=>a(l,`${s}[${y}]`));let f={};for(let l in o)if(Object.prototype.hasOwnProperty.call(o,l)){let y=s?`${s}.${l}`:l;f[l]=a(o[l],y)}return f}return n(o,s,e)};return a(i,r)}return i}function Y(e,t){if(!T(e))return e;if(Array.isArray(e))return e.map(r=>Y(r,t));let n={};for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;let i=e[r];t(i,r,e)||(T(i)?n[r]=Y(i,t):Array.isArray(i)?n[r]=i.map(a=>Y(a,t)):n[r]=i)}return n}function dn(e,t){if(!T(e))return{};let n={};for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=t(e[r],r,e));return n}function pn(e,t){if(!T(e))return{};let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=t(r,e[r],e);n[i]=e[r]}return n}function de(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>de(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[-_]([a-z])/g,(o,s)=>s.toUpperCase()).replace(/^([A-Z])/,o=>o.toLowerCase());n[a]=t.deep&&T(i)?de(i,t):i}return n}function pe(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>pe(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[-]([a-z])/g,(o,s)=>`_${s}`).replace(/([a-z0-9])([A-Z])/g,"$1_$2").toLowerCase();n[a]=t.deep&&T(i)?pe(i,t):i}return n}function ge(e,t={deep:!0}){if(!T(e))return e;if(Array.isArray(e))return t.deep?e.map(r=>ge(r,t)):e;let n={};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)){let i=e[r],a=r.replace(/[_]([a-z])/g,(o,s)=>`-${s}`).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();n[a]=t.deep&&T(i)?ge(i,t):i}return n}var _e=(e,t={})=>{let{delimiter:n=".",includeArrays:r=!1,maxDepth:i=9}=t;if(Array.isArray(e))return e.map(s=>_e(s,t));let a={},o=(s,f="",l=0)=>{if(l>i){a[f]=s;return}if(!T(s)&&!Array.isArray(s)){f&&(a[f]=s);return}if(Array.isArray(s))for(let y=0;y<s.length;y++){let c=f?`${f}[${y}]`:`[${y}]`;o(s[y],c,l+1)}else{for(let c in s){let u=f?`${f}${n}${c}`:c;o(s[c],u,l+1)}let y=Object.getOwnPropertySymbols(s);for(let c of y){let u=f?`${f}${n}${c.toString()}`:c.toString();o(s[c],u,l+1)}}};return o(e),a};function Be(e,t={}){let{delimiter:n=".",detectArrays:r=!0}=t,i={};for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)){let o=e[a],s=a.split(n),f=i;for(let y=0;y<s.length-1;y++){let c=s[y],u=s[y+1],d=r&&/^\d+$/.test(u);if(!(c in f))f[c]=d?[]:{};else if(d&&!Array.isArray(f[c])){let p={...f[c]};f[c]=[],Object.assign(f[c],p)}f=f[c]}let l=s[s.length-1];f[l]=o}if(r){let a=o=>{if(!T(o))return o;if(Array.isArray(o))return o.map(a);let s=Object.keys(o);if(s.length>0&&s.every((y,c)=>String(c)===y))return Object.values(o).map(a);let l={};for(let y in o)Object.prototype.hasOwnProperty.call(o,y)&&(l[y]=a(o[y]));return l};return a(i)}return i}function gn(e,...t){if(!T(e)||t.length===0)return e;let n={...e};for(let r in n)if(Object.prototype.hasOwnProperty.call(n,r)){let i=n[r];for(let a of t)i=a(i);n[r]=i}return n}function An(e,t,n={}){if(!T(e))return e;let{removeUnmapped:r=!1}=n,i={};for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&(a in t?i[t[a]]=e[a]:r||(i[a]=e[a]));return i}function Tn(e,t={}){let{transformObject:n=s=>s,transformArray:r=s=>s,transformValue:i=s=>s,maxDepth:a=1/0}=t;function o(s,f=[],l=0){if(l>a)return s;if(Array.isArray(s)){let c=s.map((u,d)=>o(u,[...f,d.toString()],l+1));return r(c,f)}if(T(s)){let c={};for(let u in s)if(Object.prototype.hasOwnProperty.call(s,u)){let d=[...f,u];c[u]=o(s[u],d,l+1),!Array.isArray(s[u])&&!T(s[u])&&(c[u]=i(c[u],u,d))}return n(c,f)}let y=f.length>0?f[f.length-1]:"";return i(s,y,f)}return o(e)}function mn(e,t={}){return Be(e,t)}function xn(e,t,n,r={}){if(!T(e))return e;let i=JSON.parse(JSON.stringify(e)),{transformAll:a=!1}=r,o=Array.isArray(t)?t:[t];for(let l of o)if(l.includes("*")||l.includes("[")){let c=function(d,p=""){if(T(d)){if(Array.isArray(d)){d.forEach((A,g)=>{let m=p?`${p}[${g}]`:`[${g}]`;c(A,m)});return}for(let A in d)if(Object.prototype.hasOwnProperty.call(d,A)){let g=d[A],m=p?`${p}.${A}`:A;if(g===null||typeof g!="object"){let x=p?P(i,p):i,h=a?n(g,m,x):n(g,A,x);d[A]=h}else c(g,m)}}};var s=c;let y=P(i,l,{preserveStructure:!0});if(y===void 0)continue;c(y);let u=v(l);if(u.length>0){let d=u[0];d.type==="property"&&(i[String(d.value)]=y[String(d.value)])}}else{let c=function(u,d,p,A){if(p>=d.length)return u;let g=d[p];if(p===d.length-1){let x=p>0?c(u,d,p-1,d.slice(0,p).join(".")):u,h=a?n(x[g],A,x):n(x[g],g,x);return x[g]=h,x}let m=u[g]||{};return u[g]=c(m,d,p+1,A),u};var f=c;let y=l.split(".");c(i,y,0,l)}return i}function hn(e,t,n,r={}){if(!T(e))return[];let{flatten:i=!0}=r,o=(Array.isArray(t)?t:[t]).map(s=>{let f=P(e,s);return f===void 0?[]:Array.isArray(f)?f.map((l,y)=>{let c=`${s}[${y}]`;return n(l,c,e)}):[n(f,s,e)]});return i?o.flat():o}function Sn(e,t,n,r={}){if(!T(e))return e;let i=JSON.parse(JSON.stringify(e)),{recursive:a=!1}=r,o=Array.isArray(t)?t:[t];for(let s of o){let f=s?P(i,s):i;if(!T(f))continue;let l=(y,c=s)=>{if(!T(y))return y;if(Array.isArray(y))return y.map((d,p)=>T(d)&&!Array.isArray(d)?l(d,`${c}[${p}]`):d);let u={};for(let d in y)if(Object.prototype.hasOwnProperty.call(y,d)){let p=n(d,y[d],c);a&&T(y[d])?u[p]=l(y[d],`${c}.${p}`):u[p]=y[d]}return u};if(Array.isArray(f))for(let y=0;y<f.length;y++)T(f[y])&&!Array.isArray(f[y])&&(f[y]=l(f[y],`${s}[${y}]`));else{let y=l(f);s?B(i,s,y):(Object.keys(i).forEach(c=>{delete i[c]}),Object.assign(i,y))}}return i}function Ae(e){if(e==null||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null}function E(e,t,n){return e===t?t:Array.isArray(e)?Le(e,Array.isArray(t)?t:[],n):Ae(e)?ze(e,Ae(t)?t:{},n):e}function Le(e,t,n){let{key:r,keepRef:i}=n,a=t.length,o=e.length,s=new Array(a);for(let c=0;c<a;c++)s[c]=t[c];if(r===!1){if(i){for(let d=0;d<o;d++){let p=E(e[d],s[d],n);p!==s[d]&&(t[d]=p)}return a>o&&t.splice(o),t}let c=o!==a,u=new Array(o);for(let d=0;d<o;d++)u[d]=E(e[d],s[d],n),u[d]!==s[d]&&(c=!0);return c?u:t}let f=new Map;for(let c=0;c<a;c++){let u=s[c];u!=null&&typeof u=="object"&&r in u&&f.set(u[r],u)}let l=new Array(o);for(let c=0;c<o;c++){let u=e[c];u!=null&&typeof u=="object"&&r in u?l[c]=E(u,f.get(u[r]),n):l[c]=E(u,s[c],n)}if(i){for(let c=0;c<o;c++)l[c]!==s[c]&&(t[c]=l[c]);return a>o&&t.splice(o),t}let y=o!==a;for(let c=0;!y&&c<o;c++)l[c]!==s[c]&&(y=!0);return y?l:t}function ze(e,t,n){let{merge:r,keepRef:i}=n,a=Object.keys(e),o=Object.keys(t),s=Object.create(null);for(let y=0;y<o.length;y++)s[o[y]]=t[o[y]];let f=null,l=()=>(f||(f=i?t:{...s}),f);if(!r)for(let y=0;y<o.length;y++){let c=o[y];c in e||delete l()[c]}for(let y=0;y<a.length;y++){let c=a[y],u=s[c],d=E(e[c],u,n);(d!==u||!(c in s))&&(l()[c]=d)}return f??t}function Kn(e,t){let n={key:t?.key!==void 0?t.key:"id",merge:t?.merge??!1,keepRef:t?.keepRef??!1};return r=>r==null?e:E(e,r,n)}function Te(e,t){if(e==null)return;let n=e;for(let r of t.split(".")){if(n==null)return;n=n[r]}return n}function me(e,t,n,r){let i=e==null,a=t==null;if(i&&a)return 0;if(i)return 1;if(a)return-1;let o=typeof e=="number"&&Number.isNaN(e),s=typeof t=="number"&&Number.isNaN(t);return o&&s?0:o?1:s?-1:e instanceof Date&&t instanceof Date?e.getTime()-t.getTime():typeof e=="boolean"&&typeof t=="boolean"?e===t?0:e?1:-1:typeof e=="number"&&typeof t=="number"?e-t:typeof e=="string"&&typeof t=="string"?e.localeCompare(t,n,r):String(e).localeCompare(String(t),n,r)}function W(e,t){return(Array.isArray(e)?e[t]??"asc":e??"asc")==="desc"?-1:1}function Je(e,t){let{order:n,locale:r,localeOptions:i,nullsLast:a=!0}=t,o=W(n,0);return e.slice().sort((s,f)=>{let l=s==null,y=f==null;return l&&y?0:l?a?1:-1:y?a?-1:1:me(s,f,r,i)*o})}function qe(e,t,n){let{order:r,locale:i,localeOptions:a,nullsLast:o=!0,comparator:s}=n;return s?e.slice().sort(s):e.slice().sort((f,l)=>{for(let y=0;y<t.length;y++){let c=Te(f,t[y]),u=Te(l,t[y]),d=c==null,p=u==null;if(d&&p)continue;if(d)return o?1:-1;if(p)return o?-1:1;let A=me(c,u,i,a);if(A!==0)return A*W(r,y)}return 0})}function xe(e,t){let{order:n,priorityKeys:r=[],locale:i,localeOptions:a,deep:o}=t,s=W(n,0),f=new Set(r),l=Object.keys(e).filter(u=>!f.has(u));l.sort((u,d)=>u.localeCompare(d,i,a)*s);let y=[...r.filter(u=>u in e),...l],c={};for(let u of y)c[u]=o?ee(e[u],t):e[u];return c}function ee(e,t){if(Array.isArray(e)){let n=e.map(r=>ee(r,t));return he(n,t)}return w(e)?xe(e,t):e}function Ze(e,t){let n=e.length,r=new Set,i=[];for(let a of t)a>=0&&a<n&&!r.has(a)&&(i.push(e[a]),r.add(a));for(let a=0;a<n;a++)r.has(a)||i.push(e[a]);return i}function he(e,t){let{by:n,comparator:r,indices:i,order:a}=t;if(i){let s=Ze(e,i);return W(a,0)===-1?s.reverse():s}if(r)return e.slice().sort(r);if(n){let s=Array.isArray(n)?n:[n];return qe(e,s,t)}let o=e.find(s=>s!=null);return o!=null&&w(o)?W(a,0)===-1?e.slice().reverse():e.slice():Je(e,t)}function te(e,t={}){let{deep:n}=t;if(Array.isArray(e)){let r=n?e.map(i=>ee(i,t)):e;return he(r,t)}return w(e)?xe(e,t):e}function wn(e,t,n="asc",r={}){return te(e,{...r,by:t,order:n})}function vn(e,t={}){return te(e,t)}function Pn(e,t,n){let r=e.length;if(r===0)return e.slice();let i=Math.max(0,Math.min(r-1,t)),a=Math.max(0,Math.min(r-1,n));if(i===a)return e.slice();let o=e.slice(),[s]=o.splice(i,1);return o.splice(a,0,s),o}function Rn(e,t,n){let r=e.length;if(t<0||t>=r)throw new RangeError(`swap: index ${t} out of range`);if(n<0||n>=r)throw new RangeError(`swap: index ${n} out of range`);if(t===n)return e.slice();let i=e.slice();return i[t]=e[n],i[n]=e[t],i}function Fn(e,t,n="asc"){return te(e,{indices:t,order:n})}export{$ as ValueOfKey,k as applyDiff,de as camelCaseKeys,_t as castProps,be as clean,we as createFilterFunction,nn as createOmitter,dt as createSelector,K as deepClone,ne as deepFreeze,q as deepMerge,q as deepMergeKeepReference,St as deepMergeStrict,Jt as deepMergeWithArrays,C as deepMergeWithOptions,ue as deepOmit,Y as deepOmitBy,Tn as deepTransform,tt as defaults,D as deletePath,_ as detectSelectorType,J as diffObject,U as diffObjectDetailed,et as filter,Lt as findPaths,_e as flatten,je as flattenWithArrays,ce as fromPath,at as fromQueryString,P as get,ct as getChangedPaths,X as getPaths,Zt as getTypeAtPath,st as groupBy,Ne as has,yt as hasObjectChanges,z as invert,Se as isClass,Oe as isEmptyObject,ot as isNonNullObject,T as isObject,w as isPlainObject,Fe as isRangeObject,ge as kebabCaseKeys,pn as mapKeys,hn as mapPath,dn as mapValues,ie as merge,ht as mergeArrays,ae as mergeIntoStructure,St as mergeStrict,Ee as mergeUpdateAtPath,C as mergeWithOptions,Pn as move,tn as omit,We as omitBy,rn as omitNil,on as omitPath,v as parseSelector,sn as pick,an as pickBy,ln as pickPath,Kn as reconcile,An as renameKeys,Fn as reorder,Bt as select,B as set,Ue as setArrayValueWithFilter,I as setAtPath,Z as setValueAtIndex,V as setValueAtPath,Q as setValueBetweenRange,Ce as setValueBetweenRangeWithSubPath,fe as setValueWithArraySelectors,G as setValueWithFilter,le as setValueWithFilterWithSubPath,nt as size,pe as snakeCaseKeys,te as sort,wn as sortBy,vn as sortKeys,M as stringifySelector,mn as structureByKeys,Rn as swap,Ke as toJSONString,it as toQueryString,rt as transform,Sn as transformKeysAtPath,xn as transformPath,gn as transformValues,F as traverseWithPaths,Be as unflatten,zt as unflattenWithArrays,qt as update,De as updateWithCallBack,ve as validateSelector};
@@ -0,0 +1 @@
1
+ "use strict";var E=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var N=Object.getOwnPropertyNames;var W=Object.prototype.hasOwnProperty;var q=(e,r)=>{for(var i in r)E(e,i,{get:r[i],enumerable:!0})},U=(e,r,i,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of N(r))!W.call(e,t)&&t!==i&&E(e,t,{get:()=>r[t],enumerable:!(f=F(r,t))||f.enumerable});return e};var L=e=>U(E({},"__esModule",{value:!0}),e);var G={};q(G,{deepMerge:()=>K,deepMergeKeepReference:()=>K,deepMergeStrict:()=>Q,deepMergeWithOptions:()=>R,merge:()=>D,mergeArrays:()=>B,mergeIntoStructure:()=>Z,mergeStrict:()=>Q,mergeWithOptions:()=>R});module.exports=L(G);var b=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";function $(e){if(typeof e!="object"||e===null)return!1;let r=Object.getPrototypeOf(e);return r===Object.prototype||r===null}var w=(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 i=new Map;return e.forEach((f,t)=>{(!r||!r.some(s=>s.toString()===t.toString()))&&i.set(t,w(f))}),i}if(e instanceof Set){let i=new Set;return e.forEach(f=>{i.add(w(f))}),i}if(Array.isArray(e))return Array.from(e).map(i=>w(i));if(b(e)){let i={};for(let t in e)Object.prototype.hasOwnProperty.call(e,t)&&(!r||!r.some(s=>s.toString()===t.toString()))&&(i[t]=w(e[t]));let f=Object.getOwnPropertySymbols(e);for(let t of f)(!r||!r.some(s=>s.toString()===t.toString()))&&(i[t]=w(e[t]));return i}return e};var P=(e,r)=>e===r,O=(e,r)=>{if(e.length!==r.length)return!1;for(let i=0;i<e.length;i++)if(Array.isArray(e[i])&&Array.isArray(r[i])){if(!O(e[i],r[i]))return!1}else if(b(e[i])&&b(r[i])){if(!j(e[i],r[i]))return!1}else if(e[i]!==r[i])return!1;return!0},j=(e,r)=>{let i=Object.keys(e),f=Object.keys(r);if(i.length!==f.length)return!1;for(let t of i){if(!(t in r))return!1;let s=e[t],d=r[t];if(Array.isArray(s)&&Array.isArray(d)){if(!O(s,d))return!1}else if(b(s)&&b(d)){if(!j(s,d))return!1}else if(s!==d)return!1}return!0},M=(e,r,i={})=>{let{includeDeleted:f=!1,includeAdded:t=!0,deepArrayComparison:s=!0,equalityFn:d=P,preserveStructure:m=!1}=i;if(e==null&&r==null)return{};if(e==null)return t?{...r}:{};if(r==null){if(f){let c={};for(let A in e)c[A]=void 0;return c}return{}}if(!b(e)||!b(r))return d(e,r)?{}:r;let u={},l=new Set;for(let c in r){l.add(c);let A=e[c],S=r[c];if(!(c in e)){t&&(u[c]=S);continue}if(Array.isArray(A)&&Array.isArray(S)){s?O(A,S)?m&&(u[c]=void 0):u[c]=S:A!==S?u[c]=S:m&&(u[c]=void 0);continue}if(b(A)&&b(S)){let h=M(A,S,i);Object.keys(h).length>0?u[c]=h:m&&(u[c]=void 0);continue}d(A,S)?m&&(u[c]=void 0):u[c]=S}if(f)for(let c in e)l.has(c)||(u[c]=void 0);return u},C=(e,r,i={})=>{let f=[],t=[],s=[],d={},{includeDeleted:m=!1,includeAdded:u=!0,deepArrayComparison:l=!0,equalityFn:c=P}=i;if(Array.isArray(e)&&Array.isArray(r)){let h=Math.max(e.length,r.length),o=[],a=!1;for(let n=0;n<h;n++){let y=`[${n}]`;if(n>=e.length)f.push(y),o[n]=r[n],a=!0;else if(n>=r.length)t.push(y),a=!0;else{let p=e[n],g=r[n];b(p)&&b(g)||Array.isArray(p)&&Array.isArray(g)?C(p,g,i).hasChanges?(s.push(y),o[n]=g,a=!0):o[n]=p:c(p,g)?o[n]=p:(s.push(y),o[n]=g,a=!0)}}return{changes:a?o:{},added:f,deleted:t,modified:s,hasChanges:a||t.length>0}}let A=(h,o,a="")=>{let n={added:[],deleted:[],modified:[]};if(Array.isArray(h)&&Array.isArray(o)){let y=Math.max(h.length,o.length);for(let p=0;p<y;p++){let g=a?`${a}[${p}]`:`[${p}]`;if(p>=h.length)n.added.push(g);else if(p>=o.length)n.deleted.push(g);else{let T=h[p],x=o[p];if(b(T)&&b(x)){let k=A(T,x,g);n.added.push(...k.added),n.deleted.push(...k.deleted),n.modified.push(...k.modified)}else if(Array.isArray(T)&&Array.isArray(x)){let k=A(T,x,g);n.added.push(...k.added),n.deleted.push(...k.deleted),n.modified.push(...k.modified)}else T!==x&&n.modified.push(g)}}return n}if(b(h)&&b(o)){let y=new Set([...Object.keys(h||{}),...Object.keys(o||{})]);for(let p of y){let g=h?.[p],T=o?.[p],x=a?`${a}.${p}`:p;if(!(p in(h||{})))n.added.push(x);else if(!(p in(o||{})))n.deleted.push(x);else if(Array.isArray(g)&&Array.isArray(T)){if(!O(g,T)){let k=A(g,T,x);n.added.push(...k.added),n.deleted.push(...k.deleted),n.modified.push(...k.modified)}}else if(b(g)&&b(T)){let k=A(g,T,x);n.added.push(...k.added),n.deleted.push(...k.deleted),n.modified.push(...k.modified)}else g!==T&&n.modified.push(x)}}return n};if(e==null&&r==null)return{changes:{},added:f,deleted:t,modified:s,hasChanges:!1};if(e==null){if(u&&r)for(let h in r)f.push(h),d[h]=r[h];return{changes:d,added:f,deleted:t,modified:s,hasChanges:f.length>0}}if(r==null){if(m)for(let h in e)t.push(h),d[h]=void 0;return{changes:d,added:f,deleted:t,modified:s,hasChanges:t.length>0}}let S=new Set;for(let h in r){S.add(h);let o=e[h],a=r[h];if(!(h in e)){u&&(f.push(h),d[h]=a);continue}let n=!1;if(Array.isArray(o)&&Array.isArray(a)){if(n=l?!O(o,a):o!==a,n){let y=A(o,a,h);f.push(...y.added),t.push(...y.deleted),s.push(...y.modified),d[h]=a}}else if(b(o)&&b(a)){let y=M(o,a,i);if(n=Object.keys(y).length>0,n){let p=A(o,a,h);f.push(...p.added),t.push(...p.deleted),s.push(...p.modified),d[h]=y}}else n=!c(o,a),n&&(s.push(h),d[h]=a)}for(let h in e)S.has(h)||(t.push(h),d[h]=void 0);return{changes:d,added:f,deleted:t,modified:s,hasChanges:f.length>0||t.length>0||s.length>0}};function _(e){return!!(e&&(e.diff||e.changes)&&(e.modified||e.deleted||e.hasChanges))}var v=(e,r,i)=>{if(!_(r)){let n=r,y=i||!1;if(Array.isArray(e)&&Array.isArray(n)){let g=y?e:[...e];n.length<g.length&&(g.length=n.length);for(let T=0;T<n.length;T++){let x=n[T];x!==void 0&&(b(g[T])&&b(x)||Array.isArray(g[T])&&Array.isArray(x)?g[T]=v(g[T],x,y):g[T]=x)}return g}if(!b(e))return n;if(!b(n))return e;let p=y?e:{...e};for(let g in n){let T=n[g];T===void 0?delete p[g]:Array.isArray(p[g])&&Array.isArray(T)||b(p[g])&&b(T)?p[g]=v(p[g],T,y):p[g]=T}return p}let{diff:f,added:t=[],deleted:s=[],modified:d=[],changes:m,keepRef:u}=r,l=i!==void 0?i:u,c=m||f;if(!c)return e;let A=new Set(t),S=new Set(s),h=new Set(d),o=n=>{if(t.length===0&&s.length===0&&d.length===0)return!0;let y=n.split(/[.\[\]]+/).filter(Boolean);for(let p=0;p<=y.length;p++){let g=y.slice(0,p).join("."),T=y.slice(0,p).map((x,k)=>/^\d+$/.test(x)?`[${x}]`:k>0?`.${x}`:x).join("");if(A.has(g)||A.has(T)||S.has(g)||S.has(T)||h.has(g)||h.has(T))return!0}return!1};if(Array.isArray(e)&&Array.isArray(c)){let n=l?e:[...e];n.length=c.length;for(let y=0;y<c.length;y++){let p=`[${y}]`,g=c[y];g!==void 0&&o(p)&&(b(n[y])&&b(g)||Array.isArray(n[y])&&Array.isArray(g)?n[y]=v(n[y],g,l):n[y]=g)}return n}if(!b(e))return c;if(!b(c))return e;let a=l?e:{...e};for(let n of s)n.includes(".")||n.includes("[")||o(n)&&delete a[n];for(let n in c){let y=c[n];o(n)&&(y===void 0?delete a[n]:Array.isArray(a[n])&&Array.isArray(y)||b(a[n])&&b(y)?a[n]=v(a[n],y,l):a[n]=y)}return a};var I=(e,r={})=>{let{type:i="auto",throwOnError:f=!1}=r;if(!e||typeof e!="string")return[];let t=[],s="",d=!1,m=!1,u="",l="",c=0,S=i==="auto"?(o=>o.includes("..")?"descendant":o.includes("[?(")?"filter":o.includes("[:")||o.includes("[0:")?"slice":o.includes("[,")||o.includes("[0,1]")?"union":o.includes("[*]")||o.includes(".*.")?"wildcard":o.includes("[]")?"array-wildcard":o.includes("[")&&o.includes("]")?"bracket":"dot")(e):i,h=o=>{let a=o.trim();if(a==="*"||a==="")return{type:"wildcard",value:a===""?"[]":"*",raw:a===""?"[]":o};if(a==="[]")return{type:"wildcard",value:"[]",raw:o};if(/^-?\d+$/.test(a))return{type:"index",value:parseInt(a,10),raw:o};if(a.includes(":")){let n=a.split(":").map(g=>g.trim()),y=n[0]===""?0:parseInt(n[0],10),p=n[1]===""?1/0:parseInt(n[1],10);if(isNaN(y)||isNaN(p)){if(f)throw new Error(`Invalid slice notation: ${o}`);return{type:"wildcard",value:"*",raw:o}}return{type:"slice",value:[y,p],raw:o}}if(a.includes(",")){let n=a.split(",").map(y=>{let p=parseInt(y.trim(),10);return isNaN(p)?-1:p}).filter(y=>y>=0);if(n.length===0){if(f)throw new Error(`Invalid union notation: ${o}`);return{type:"wildcard",value:"*",raw:o}}return{type:"union",value:n,raw:o}}if(a.startsWith("?(")&&a.endsWith(")")){let n=a.slice(2,-1);try{return{type:"filter",value:z(n),raw:o}}catch(y){if(f)throw y;return{type:"wildcard",value:"*",raw:o}}}return a.startsWith('"')&&a.endsWith('"')||a.startsWith("'")&&a.endsWith("'")?{type:"property",value:a.slice(1,-1),raw:o}:{type:"property",value:a,raw:o}};for(let o=0;o<e.length;o++){let a=e[o],n=e[o+1];if((a==='"'||a==="'")&&!m){m=!0,u=a;continue}else if(a===u&&m){m=!1,u="",a==='"'||a==="'"||(d?l+=a:s+=a);continue}if(m){d?l+=a:s+=a;continue}if(a==="["&&!d){s&&(t.push({type:"property",value:s,raw:s}),s=""),d=!0,l="";continue}if(a==="]"&&d&&!m){d=!1;let p=h(l);t.push(p);continue}let y=t.length>0?t[t.length-1]:null;if(a==="."&&!d&&!m){if(n==="."){let p=e.split("..")[0];t.push({type:"property",value:p,raw:p}),t.push({type:"descendant",value:"..",raw:".."}),o++}else s&&(s==="*"?t.push({type:"wildcard",value:s,raw:s}):t.push({type:"property",value:s,raw:s}),s="");continue}if(d)l+=a;else if(y&&y.type!=="descendant")s+=a;else{let p=e.split(y?.raw)[1];p!==void 0?s=p:s+=a}}return s&&t.push({type:"property",value:s,raw:s}),t.map(o=>{if(o.type==="property"&&typeof o.value=="string"&&/^-?\d+$/.test(o.value)){let a=parseInt(o.value,10);if(!isNaN(a))return{...o,type:"index",value:a}}return o})},z=e=>{let r=e.replace(/@\.([a-zA-Z_$][\w$]*)/g,(i,f)=>`item.${f}`).replace(/@/g,"item");try{return new Function("item",`return ${r}`)}catch{throw new Error(`Invalid filter expression: ${e}`)}};function D(...e){if(e.length===0)return{};let r=e[0],i=Array.isArray(r);for(let t of e)if(t&&Array.isArray(t)!==i)throw new Error("Cannot mix arrays and objects in deepMerge");let f=i?[]:{};for(let t of e)if(t!=null)if(i){let s=f,d=t;for(let m of d)s.push(w(m))}else{if(!$(t))continue;let s=f,d=t;for(let u in d)if(Object.prototype.hasOwnProperty.call(d,u)){let l=d[u],c=s[u];c===void 0?s[u]=w(l):Array.isArray(l)&&Array.isArray(c)?s[u]=[...c,...l.map(A=>w(A))]:$(l)&&$(c)?s[u]=D(c,l):s[u]=w(l)}let m=Object.getOwnPropertySymbols(d);for(let u of m){let l=d[u],c=s[u];c===void 0?s[u]=w(l):Array.isArray(l)&&Array.isArray(c)?s[u]=[...c,...l.map(A=>w(A))]:$(l)&&$(c)?s[u]=D(c,l):s[u]=w(l)}}return f}function B(e,r,i){let{key:f,override:t=!0}=i||{};if(!f)return Array.from(new Set([...e,...r]));let s=new Map;for(let d of e)s.set(d[f],d);for(let d of r){let m=s.get(d[f]);m?s.set(d[f],t?{...m,...d}:{...d,...m}):s.set(d[f],d)}return Array.from(s.values())}function J(e,r){for(let i in r){let f=e[i],t=r[i],s=C(f,t);Array.isArray(f)&&Array.isArray(t)?(f.length=0,f.push(...t)):typeof f=="object"&&typeof t=="object"&&f&&t&&s.hasChanges?v(f,t):e[i]=t}}function R(e,...r){if(r.length===0)return w(e);let i={preserveTarget:!1,strict:!1},f=r,t=r[r.length-1];t&&typeof t=="object"&&("preserveTarget"in t||"strict"in t)&&(i={...i,...t},f=r.slice(0,-1));let s=i.preserveTarget?e:w(e),d=Array.isArray(s);for(let m of f)if(m&&Array.isArray(m)!==d)throw new Error("Cannot mix arrays and objects in deepMergeWithOptions");for(let m of f)if(m!=null)if(d){let u=s,l=m;if(i.strict)for(let c=0;c<u.length&&c<l.length;c++)$(u[c])&&$(l[c])?u[c]=R(u[c],l[c],i):typeof u[c]==typeof l[c]&&(u[c]=w(l[c]));else J(u,l)}else{if(!$(m))continue;let u=s,l=m;for(let A in l){if(!Object.prototype.hasOwnProperty.call(l,A))continue;let S=l[A];if(i.strict&&!(A in u))continue;let h=u[A];h===void 0?u[A]=w(S):Array.isArray(S)&&Array.isArray(h)?i.strict?u[A]=R(h,S,i):u[A]=[...h,...S.map(o=>w(o))]:$(S)&&$(h)?u[A]=R(h,S,i):u[A]=w(S)}let c=Object.getOwnPropertySymbols(l);for(let A of c){if(i.strict&&!(A in u))continue;let S=l[A],h=u[A];h===void 0?u[A]=w(S):Array.isArray(S)&&Array.isArray(h)?i.strict?u[A]=R(h,S,i):u[A]=[...h,...S.map(o=>w(o))]:$(S)&&$(h)?u[A]=R(h,S,i):u[A]=w(S)}}return s}function K(e,...r){return R(e,...r,{preserveTarget:!0})}function Q(e,...r){let i=!1,f=r;return r.length>0&&typeof r[r.length-1]=="boolean"&&(i=r[r.length-1],f=r.slice(0,-1)),R(e,...f,{preserveTarget:i,strict:!0})}var Z=(e,r,i)=>{let f=I(r),t=e;for(let s=0;s<f.length;s++){let d=f[s],m=s===f.length-1;switch(d.type){case"property":if(m)t[String(d.value)]=i;else{if(!t[String(d.value)]){let l=f[s+1];t[String(d.value)]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}t=t[String(d.value)]}break;case"index":Array.isArray(t)||(t=[]);let u=d.value;if(m){if(u>=t.length)for(let l=t.length;l<=u;l++)t.push(void 0);t[u]=i}else{if(!t[u]){let l=f[s+1];t[u]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{}}t=t[u]}break;case"wildcard":if(Array.isArray(t))if(m)for(let l=0;l<t.length;l++)t[l]=i;else{let l=f[s+1];for(let c=0;c<t.length;c++)t[c]||(t[c]=l.type==="index"||l.type==="slice"||l.type==="union"||l.type==="wildcard"?[]:{});t.length>0&&(t=t[0])}break}}};
@@ -0,0 +1,93 @@
1
+ import { AnyObject, CreateMutable, RecordObject, UnionToIntersection } from './types.js';
2
+ /**
3
+ * Merges multiple objects or multiple arrays deeply without keeping references
4
+ * Creates a new instance with combined properties/items
5
+ *
6
+ * @param sources - Objects or arrays to merge (cannot mix objects and arrays)
7
+ * @returns Merged result (new instance, no references to source objects)
8
+ *
9
+ * @example
10
+ * // Merging objects
11
+ * const obj1 = { a: 1, b: { c: 2 } };
12
+ * const obj2 = { b: { d: 3 }, e: 4 };
13
+ * const result = merge(obj1, obj2);
14
+ * // result: { a: 1, b: { c: 2, d: 3 }, e: 4 }
15
+ *
16
+ * @example
17
+ * // Merging arrays
18
+ * const arr1 = [1, 2, { a: 1 }];
19
+ * const arr2 = [3, { a: 2, b: 3 }];
20
+ * const result = merge(arr1, arr2);
21
+ * // result: [1, 2, { a: 1 }, 3, { a: 2, b: 3 }]
22
+ */
23
+ export declare function merge<T extends AnyObject[]>(...sources: T): T extends (infer U)[] ? CreateMutable<UnionToIntersection<U>> : never;
24
+ export declare function merge<T extends any[][]>(...sources: T): T extends (infer U)[] ? CreateMutable<UnionToIntersection<U>> : never;
25
+ export declare function mergeArrays<T>(arr1: T[], arr2: T[], options?: {
26
+ key?: keyof T;
27
+ override?: boolean;
28
+ }): T[];
29
+ /**
30
+ * Merges objects or arrays with options for reference preservation and strict merging
31
+ *
32
+ * @param target - The target object/array to merge into (can be modified if preserveTarget is true)
33
+ * @param sources - The source objects/arrays to merge from
34
+ * @param options - Configuration options
35
+ * @returns The merged result
36
+ *
37
+ * @example
38
+ * // With reference preservation
39
+ * const obj1 = { a: 1, b: { c: 2 } };
40
+ * const result = deepMergeWithOptions(obj1, { b: { d: 3 }, e: 4 }, { preserveTarget: true });
41
+ * // result === obj1 (same reference)
42
+ * // result: { a: 1, b: { c: 2, d: 3 }, e: 4 }
43
+ *
44
+ * @example
45
+ * // With strict merging (only merge properties that exist in target)
46
+ * const obj1 = { a: 1, b: { c: 2 } };
47
+ * const result = deepMergeWithOptions(obj1, { b: { d: 3 }, e: 4 }, { strict: true });
48
+ * // result: { a: 1, b: { c: 2 } } - e is not added as it doesn't exist in obj1
49
+ */
50
+ export declare function deepMergeWithOptions<T extends object>(target: T, ...args: any[]): T;
51
+ /**
52
+ * Deep merges objects/arrays while preserving the reference to the first object/array
53
+ * Modifies the first object directly rather than creating a new one
54
+ *
55
+ * @param target - The target object that will be modified
56
+ * @param sources - The source objects to merge from
57
+ * @returns The modified target object (same reference)
58
+ *
59
+ * @example
60
+ * const obj1 = { a: 1, b: { c: 2 } };
61
+ * const result = deepMergeKeepReference(obj1, { b: { d: 3 }, e: 4 });
62
+ * // result === obj1 (same reference)
63
+ * // obj1 is now: { a: 1, b: { c: 2, d: 3 }, e: 4 }
64
+ */
65
+ export declare function deepMergeKeepReference<T extends object>(target: T, ...sources: object[]): T;
66
+ /**
67
+ * Strict deep merge - only merges properties that already exist in the target
68
+ * Does not add new properties that don't exist in the target
69
+ *
70
+ * @param target - The target object
71
+ * @param sources - The source objects to merge from
72
+ * @param preserveReference - Whether to preserve the reference to target (default: false)
73
+ * @returns The merged object
74
+ *
75
+ * @example
76
+ * const obj1 = { a: 1, b: { c: 2 } };
77
+ * const result = deepMergeStrict(obj1, { b: { d: 3 }, e: 4 });
78
+ * // result: { a: 1, b: { c: 2 } } - e is not added as it doesn't exist in obj1
79
+ * // d is not added as it doesn't exist in obj1.b
80
+ */
81
+ export declare function deepMergeStrict<T extends object>(target: T, ...args: any[]): T;
82
+ /**
83
+ * Helper to merge a value into a structure based on selector
84
+ * @param target - Target object to merge into
85
+ * @param selector - Selector string
86
+ * @param value - Value to merge
87
+ * @example
88
+ * mergeIntoStructure({ a: { b: { c: 1 } } }, 'a.b.c', 2);
89
+ * // { a: { b: { c: 2 } } }
90
+ */
91
+ export declare const mergeIntoStructure: (target: RecordObject, selector: string, value: any) => void;
92
+ export { deepMergeKeepReference as deepMerge, deepMergeStrict as mergeStrict, deepMergeWithOptions as mergeWithOptions, };
93
+ //# sourceMappingURL=merge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/lib/object/merge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAMpB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,SAAS,EAAE,EACzC,GAAG,OAAO,EAAE,CAAC,GACZ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACzE,wBAAgB,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,EACrC,GAAG,OAAO,EAAE,CAAC,GACZ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AA4GzE,wBAAgB,WAAW,CAAC,CAAC,EAC3B,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,CAAC,EAAE,EACT,OAAO,CAAC,EAAE;IACR,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GACA,CAAC,EAAE,CA+BL;AA2BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EACnD,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,CAAC,CA4KH;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EACrD,MAAM,EAAE,CAAC,EACT,GAAG,OAAO,EAAE,MAAM,EAAE,GACnB,CAAC,CAIH;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAC9C,MAAM,EAAE,CAAC,EACT,GAAG,IAAI,EAAE,GAAG,EAAE,GACb,CAAC,CAcH;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAC7B,QAAQ,YAAY,EACpB,UAAU,MAAM,EAChB,OAAO,GAAG,KACT,IAqFF,CAAC;AAGF,OAAO,EACL,sBAAsB,IAAI,SAAS,EACnC,eAAe,IAAI,WAAW,EAC9B,oBAAoB,IAAI,gBAAgB,GACzC,CAAC"}