@derivesome/core 1.0.0

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 (217) hide show
  1. package/.README.md.~undo-tree~ +4 -0
  2. package/.package.json.~undo-tree~ +30 -0
  3. package/.tsconfig.cjs.json.~undo-tree~ +8 -0
  4. package/.tsconfig.json.~undo-tree~ +14 -0
  5. package/README.md +355 -0
  6. package/README.md~ +355 -0
  7. package/dist/cjs/array-proxy.d.ts +56 -0
  8. package/dist/cjs/array-proxy.d.ts.map +1 -0
  9. package/dist/cjs/array-proxy.js +72 -0
  10. package/dist/cjs/array-proxy.js.map +1 -0
  11. package/dist/cjs/common/array.d.ts +11 -0
  12. package/dist/cjs/common/array.d.ts.map +1 -0
  13. package/dist/cjs/common/array.js +57 -0
  14. package/dist/cjs/common/array.js.map +1 -0
  15. package/dist/cjs/common/compare.d.ts +2 -0
  16. package/dist/cjs/common/compare.d.ts.map +1 -0
  17. package/dist/cjs/common/compare.js +8 -0
  18. package/dist/cjs/common/compare.js.map +1 -0
  19. package/dist/cjs/common/diff.d.ts +9 -0
  20. package/dist/cjs/common/diff.d.ts.map +1 -0
  21. package/dist/cjs/common/diff.js +63 -0
  22. package/dist/cjs/common/diff.js.map +1 -0
  23. package/dist/cjs/common/has.d.ts +4 -0
  24. package/dist/cjs/common/has.d.ts.map +1 -0
  25. package/dist/cjs/common/has.js +11 -0
  26. package/dist/cjs/common/has.js.map +1 -0
  27. package/dist/cjs/common/index.d.ts +12 -0
  28. package/dist/cjs/common/index.d.ts.map +1 -0
  29. package/dist/cjs/common/index.js +28 -0
  30. package/dist/cjs/common/index.js.map +1 -0
  31. package/dist/cjs/common/is.d.ts +5 -0
  32. package/dist/cjs/common/is.d.ts.map +1 -0
  33. package/dist/cjs/common/is.js +18 -0
  34. package/dist/cjs/common/is.js.map +1 -0
  35. package/dist/cjs/common/match.d.ts +23 -0
  36. package/dist/cjs/common/match.d.ts.map +1 -0
  37. package/dist/cjs/common/match.js +49 -0
  38. package/dist/cjs/common/match.js.map +1 -0
  39. package/dist/cjs/common/patch.d.ts +3 -0
  40. package/dist/cjs/common/patch.d.ts.map +1 -0
  41. package/dist/cjs/common/patch.js +44 -0
  42. package/dist/cjs/common/patch.js.map +1 -0
  43. package/dist/cjs/common/stack.d.ts +8 -0
  44. package/dist/cjs/common/stack.d.ts.map +1 -0
  45. package/dist/cjs/common/stack.js +24 -0
  46. package/dist/cjs/common/stack.js.map +1 -0
  47. package/dist/cjs/common/string.d.ts +2 -0
  48. package/dist/cjs/common/string.d.ts.map +1 -0
  49. package/dist/cjs/common/string.js +36 -0
  50. package/dist/cjs/common/string.js.map +1 -0
  51. package/dist/cjs/common/types.d.ts +27 -0
  52. package/dist/cjs/common/types.d.ts.map +1 -0
  53. package/dist/cjs/common/types.js +3 -0
  54. package/dist/cjs/common/types.js.map +1 -0
  55. package/dist/cjs/common/unique-array.d.ts +17 -0
  56. package/dist/cjs/common/unique-array.d.ts.map +1 -0
  57. package/dist/cjs/common/unique-array.js +73 -0
  58. package/dist/cjs/common/unique-array.js.map +1 -0
  59. package/dist/cjs/context.d.ts +15 -0
  60. package/dist/cjs/context.d.ts.map +1 -0
  61. package/dist/cjs/context.js +33 -0
  62. package/dist/cjs/context.js.map +1 -0
  63. package/dist/cjs/derived.d.ts +11 -0
  64. package/dist/cjs/derived.d.ts.map +1 -0
  65. package/dist/cjs/derived.js +26 -0
  66. package/dist/cjs/derived.js.map +1 -0
  67. package/dist/cjs/effect.d.ts +7 -0
  68. package/dist/cjs/effect.d.ts.map +1 -0
  69. package/dist/cjs/effect.js +7 -0
  70. package/dist/cjs/effect.js.map +1 -0
  71. package/dist/cjs/index.d.ts +8 -0
  72. package/dist/cjs/index.d.ts.map +1 -0
  73. package/dist/cjs/index.js +24 -0
  74. package/dist/cjs/index.js.map +1 -0
  75. package/dist/cjs/observable.d.ts +12 -0
  76. package/dist/cjs/observable.d.ts.map +1 -0
  77. package/dist/cjs/observable.js +24 -0
  78. package/dist/cjs/observable.js.map +1 -0
  79. package/dist/cjs/pubsub.d.ts +11 -0
  80. package/dist/cjs/pubsub.d.ts.map +1 -0
  81. package/dist/cjs/pubsub.js +50 -0
  82. package/dist/cjs/pubsub.js.map +1 -0
  83. package/dist/cjs/reference.d.ts +15 -0
  84. package/dist/cjs/reference.d.ts.map +1 -0
  85. package/dist/cjs/reference.js +49 -0
  86. package/dist/cjs/reference.js.map +1 -0
  87. package/dist/cjs/utils/findRefs.d.ts +3 -0
  88. package/dist/cjs/utils/findRefs.d.ts.map +1 -0
  89. package/dist/cjs/utils/findRefs.js +23 -0
  90. package/dist/cjs/utils/findRefs.js.map +1 -0
  91. package/dist/cjs/utils/index.d.ts +2 -0
  92. package/dist/cjs/utils/index.d.ts.map +1 -0
  93. package/dist/cjs/utils/index.js +18 -0
  94. package/dist/cjs/utils/index.js.map +1 -0
  95. package/dist/esm/array-proxy.d.ts +56 -0
  96. package/dist/esm/array-proxy.d.ts.map +1 -0
  97. package/dist/esm/array-proxy.js +68 -0
  98. package/dist/esm/array-proxy.js.map +1 -0
  99. package/dist/esm/common/array.d.ts +11 -0
  100. package/dist/esm/common/array.d.ts.map +1 -0
  101. package/dist/esm/common/array.js +48 -0
  102. package/dist/esm/common/array.js.map +1 -0
  103. package/dist/esm/common/compare.d.ts +2 -0
  104. package/dist/esm/common/compare.d.ts.map +1 -0
  105. package/dist/esm/common/compare.js +4 -0
  106. package/dist/esm/common/compare.js.map +1 -0
  107. package/dist/esm/common/diff.d.ts +9 -0
  108. package/dist/esm/common/diff.d.ts.map +1 -0
  109. package/dist/esm/common/diff.js +59 -0
  110. package/dist/esm/common/diff.js.map +1 -0
  111. package/dist/esm/common/has.d.ts +4 -0
  112. package/dist/esm/common/has.d.ts.map +1 -0
  113. package/dist/esm/common/has.js +8 -0
  114. package/dist/esm/common/has.js.map +1 -0
  115. package/dist/esm/common/index.d.ts +12 -0
  116. package/dist/esm/common/index.d.ts.map +1 -0
  117. package/dist/esm/common/index.js +12 -0
  118. package/dist/esm/common/index.js.map +1 -0
  119. package/dist/esm/common/is.d.ts +5 -0
  120. package/dist/esm/common/is.d.ts.map +1 -0
  121. package/dist/esm/common/is.js +13 -0
  122. package/dist/esm/common/is.js.map +1 -0
  123. package/dist/esm/common/match.d.ts +23 -0
  124. package/dist/esm/common/match.d.ts.map +1 -0
  125. package/dist/esm/common/match.js +46 -0
  126. package/dist/esm/common/match.js.map +1 -0
  127. package/dist/esm/common/patch.d.ts +3 -0
  128. package/dist/esm/common/patch.d.ts.map +1 -0
  129. package/dist/esm/common/patch.js +40 -0
  130. package/dist/esm/common/patch.js.map +1 -0
  131. package/dist/esm/common/stack.d.ts +8 -0
  132. package/dist/esm/common/stack.d.ts.map +1 -0
  133. package/dist/esm/common/stack.js +20 -0
  134. package/dist/esm/common/stack.js.map +1 -0
  135. package/dist/esm/common/string.d.ts +2 -0
  136. package/dist/esm/common/string.d.ts.map +1 -0
  137. package/dist/esm/common/string.js +32 -0
  138. package/dist/esm/common/string.js.map +1 -0
  139. package/dist/esm/common/types.d.ts +27 -0
  140. package/dist/esm/common/types.d.ts.map +1 -0
  141. package/dist/esm/common/types.js +2 -0
  142. package/dist/esm/common/types.js.map +1 -0
  143. package/dist/esm/common/unique-array.d.ts +17 -0
  144. package/dist/esm/common/unique-array.d.ts.map +1 -0
  145. package/dist/esm/common/unique-array.js +69 -0
  146. package/dist/esm/common/unique-array.js.map +1 -0
  147. package/dist/esm/context.d.ts +15 -0
  148. package/dist/esm/context.d.ts.map +1 -0
  149. package/dist/esm/context.js +28 -0
  150. package/dist/esm/context.js.map +1 -0
  151. package/dist/esm/derived.d.ts +11 -0
  152. package/dist/esm/derived.d.ts.map +1 -0
  153. package/dist/esm/derived.js +21 -0
  154. package/dist/esm/derived.js.map +1 -0
  155. package/dist/esm/effect.d.ts +7 -0
  156. package/dist/esm/effect.d.ts.map +1 -0
  157. package/dist/esm/effect.js +3 -0
  158. package/dist/esm/effect.js.map +1 -0
  159. package/dist/esm/index.d.ts +8 -0
  160. package/dist/esm/index.d.ts.map +1 -0
  161. package/dist/esm/index.js +8 -0
  162. package/dist/esm/index.js.map +1 -0
  163. package/dist/esm/observable.d.ts +12 -0
  164. package/dist/esm/observable.d.ts.map +1 -0
  165. package/dist/esm/observable.js +19 -0
  166. package/dist/esm/observable.js.map +1 -0
  167. package/dist/esm/package.json +1 -0
  168. package/dist/esm/pubsub.d.ts +11 -0
  169. package/dist/esm/pubsub.d.ts.map +1 -0
  170. package/dist/esm/pubsub.js +47 -0
  171. package/dist/esm/pubsub.js.map +1 -0
  172. package/dist/esm/reference.d.ts +15 -0
  173. package/dist/esm/reference.d.ts.map +1 -0
  174. package/dist/esm/reference.js +44 -0
  175. package/dist/esm/reference.js.map +1 -0
  176. package/dist/esm/utils/findRefs.d.ts +3 -0
  177. package/dist/esm/utils/findRefs.d.ts.map +1 -0
  178. package/dist/esm/utils/findRefs.js +19 -0
  179. package/dist/esm/utils/findRefs.js.map +1 -0
  180. package/dist/esm/utils/index.d.ts +2 -0
  181. package/dist/esm/utils/index.d.ts.map +1 -0
  182. package/dist/esm/utils/index.js +2 -0
  183. package/dist/esm/utils/index.js.map +1 -0
  184. package/package.json +41 -0
  185. package/package.json~ +42 -0
  186. package/src/array-proxy.ts +94 -0
  187. package/src/common/array.ts +72 -0
  188. package/src/common/compare.ts +3 -0
  189. package/src/common/diff.test.ts +114 -0
  190. package/src/common/diff.ts +85 -0
  191. package/src/common/has.ts +7 -0
  192. package/src/common/index.ts +11 -0
  193. package/src/common/is.ts +14 -0
  194. package/src/common/match.ts +90 -0
  195. package/src/common/patch.test.ts +118 -0
  196. package/src/common/patch.ts +47 -0
  197. package/src/common/stack.ts +22 -0
  198. package/src/common/string.test.ts +46 -0
  199. package/src/common/string.ts +35 -0
  200. package/src/common/types.ts +61 -0
  201. package/src/common/unique-array.ts +80 -0
  202. package/src/context.ts +36 -0
  203. package/src/derived.test.ts +45 -0
  204. package/src/derived.ts +35 -0
  205. package/src/effect.ts +9 -0
  206. package/src/index.ts +7 -0
  207. package/src/observable.ts +40 -0
  208. package/src/pubsub.test.ts +29 -0
  209. package/src/pubsub.ts +71 -0
  210. package/src/reference.test.ts +32 -0
  211. package/src/reference.ts +63 -0
  212. package/src/utils/findRefs.ts +22 -0
  213. package/src/utils/index.ts +1 -0
  214. package/tsconfig.cjs.json +8 -0
  215. package/tsconfig.cjs.json~ +0 -0
  216. package/tsconfig.json +24 -0
  217. package/tsconfig.json~ +24 -0
@@ -0,0 +1,4 @@
1
+ (undo-tree-save-format-version . 1)
2
+ "4b6bddd8ef37753f51a8572a3732934031f8da75"
3
+ [nil current nil nil (27032 59351 52322 692000) 0 nil]
4
+ nil
@@ -0,0 +1,30 @@
1
+ (undo-tree-save-format-version . 1)
2
+ "49d6265d86c5af4409b3d35ac0c64ad95d224a4d"
3
+ [nil nil nil nil (27032 58754 770434 840000) 0 nil]
4
+ ([nil nil ((159 . 164) (t 27022 26469 975131 717000)) nil (27032 58754 770434 388000) 0 nil])
5
+ ([nil nil ((nil rear-nonsticky nil 284 . 285) (nil fontified nil 164 . 285) (164 . 285) 163) nil (27032 58754 770434 101000) 0 nil])
6
+ ([nil nil ((#(" \"build\": \"tsc -p ./tsconfig.json\",
7
+ " 0 4 (fontified t) 4 11 (face font-lock-string-face fontified t) 11 13 (fontified t) 13 37 (face font-lock-string-face fontified t) 37 39 (fontified t)) . 286) (undo-tree-id88 . -38) (undo-tree-id89 . -39)) nil (27032 58754 770433 687000) 0 nil])
8
+ ([nil nil ((#(" " 0 1 (fontified t)) . 160) (undo-tree-id86 . -1) (undo-tree-id87 . -1)) nil (27032 58754 770433 49000) 0 nil])
9
+ ([nil nil ((#(" " 0 1 (fontified t)) . 160) (undo-tree-id84 . -1) (undo-tree-id85 . -1)) nil (27032 58754 770432 392000) 0 nil])
10
+ ([nil nil ((#(" " 0 1 (fontified t)) . 160) (undo-tree-id75 . -1) (undo-tree-id76 . -1) (undo-tree-id77 . -1) (undo-tree-id78 . -1) (undo-tree-id79 . -1) (undo-tree-id80 . -1) (undo-tree-id81 . -1) (undo-tree-id82 . -1) (undo-tree-id83 . -1)) nil (27032 58754 770431 584000) 0 nil])
11
+ ([nil nil ((#(" " 0 1 (fontified t)) . 160) (undo-tree-id52 . -1) (undo-tree-id53 . -1) (undo-tree-id54 . -1) (undo-tree-id55 . -1) (undo-tree-id56 . -1) (undo-tree-id57 . -1) (undo-tree-id58 . -1) (undo-tree-id59 . -1) (undo-tree-id60 . -1) (undo-tree-id61 . -1) (undo-tree-id62 . -1) (undo-tree-id63 . -1) (undo-tree-id64 . -1) (undo-tree-id65 . -1) (undo-tree-id66 . -1) (undo-tree-id67 . -1) (undo-tree-id68 . -1) (undo-tree-id69 . -1) (undo-tree-id70 . -1) (undo-tree-id71 . -1) (undo-tree-id72 . -1) (undo-tree-id73 . -1) (undo-tree-id74 . -1)) nil (27032 58754 770428 558000) 0 nil])
12
+ ([nil nil ((#("
13
+ " 0 1 (fontified t)) . 281) (undo-tree-id0 . -1) (undo-tree-id1 . -1) (undo-tree-id2 . -1) (undo-tree-id3 . -1) (undo-tree-id4 . -1) (undo-tree-id5 . -1) (undo-tree-id6 . -1) (undo-tree-id7 . -1) (undo-tree-id8 . -1) (undo-tree-id9 . -1) (undo-tree-id10 . 1) (undo-tree-id11 . -1) (undo-tree-id12 . -1) (undo-tree-id13 . -1) (undo-tree-id14 . -1) (undo-tree-id15 . -1) (undo-tree-id16 . -1) (undo-tree-id17 . -1) (undo-tree-id18 . -1) (undo-tree-id19 . -1) (undo-tree-id20 . -1) (undo-tree-id21 . -1) (undo-tree-id22 . -1) (undo-tree-id23 . -1) (undo-tree-id24 . -1) (undo-tree-id25 . -1) (undo-tree-id26 . -1) (undo-tree-id27 . -1) (undo-tree-id28 . -1) (undo-tree-id29 . -1) (undo-tree-id30 . -1) (undo-tree-id31 . -1) (undo-tree-id32 . -1) (undo-tree-id33 . -1) (undo-tree-id34 . -1) (undo-tree-id35 . -1) (undo-tree-id36 . -1) (undo-tree-id37 . -1) (undo-tree-id38 . -1) (undo-tree-id39 . -1) (undo-tree-id40 . -1) (undo-tree-id41 . -1) (undo-tree-id42 . -1) (undo-tree-id43 . -1) (undo-tree-id44 . -1) (undo-tree-id45 . -1) (undo-tree-id46 . -1) (undo-tree-id47 . -1) (undo-tree-id48 . -1) (undo-tree-id49 . -1) (undo-tree-id50 . -1) (undo-tree-id51 . -1)) nil (27032 58754 770421 3000) 0 nil])
14
+ ([nil nil ((462 . 465) (t 27032 58756 177510 535000)) nil (27032 59023 518176 151000) 0 nil])
15
+ ([nil nil ((nil rear-nonsticky nil 829 . 830) (nil fontified nil 465 . 830) (465 . 830) 464) nil (27032 59023 518174 972000) 0 nil])
16
+ ([nil nil ((829 . 830) (830 . 831)) nil (27032 59023 518172 482000) 0 nil])
17
+ ([nil nil ((122 . 125) (t 27032 59023 515664 597000)) nil (27032 59035 587014 133000) 0 nil])
18
+ ([nil nil ((nil rear-nonsticky nil 195 . 196) (nil fontified nil 125 . 196) (125 . 196) 124) nil (27032 59035 587011 603000) 0 nil])
19
+ ([nil nil ((122 . 125) (t 27032 59036 875440 372000)) nil (27032 59085 970050 379000) 0 nil])
20
+ ([nil nil ((nil rear-nonsticky nil 157 . 158) (nil fontified nil 125 . 158) (125 . 158) 124) nil (27032 59085 970050 125000) 0 nil])
21
+ ([nil nil ((#("
22
+ " 0 1 (fontified t)) . 158) (undo-tree-id668 . 1)) nil (27032 59085 970049 826000) 0 nil])
23
+ ([nil nil ((#(" " 0 1 (fontified t)) . 123)) nil (27032 59085 970049 397000) 0 nil])
24
+ ([nil nil ((#(" " 0 1 (fontified t)) . 123) (undo-tree-id667 . -1)) nil (27032 59085 970049 121000) 0 nil])
25
+ ([nil nil ((108 . 113) (#("s" 0 1 (face font-lock-string-face fontified t)) . -108) (undo-tree-id472 . -1) (undo-tree-id473 . -1) (undo-tree-id474 . -1) (undo-tree-id475 . -1) (undo-tree-id476 . -1) (undo-tree-id477 . -1) (undo-tree-id478 . -1) (undo-tree-id479 . -1) (undo-tree-id480 . -1) (undo-tree-id481 . -1) (undo-tree-id482 . -1) (undo-tree-id483 . -1) (undo-tree-id484 . -1) (undo-tree-id485 . -1) (undo-tree-id486 . -1) (undo-tree-id487 . -1) (undo-tree-id488 . -1) (undo-tree-id489 . -1) (undo-tree-id490 . -1) (undo-tree-id491 . -1) (undo-tree-id492 . -1) (undo-tree-id493 . -1) (undo-tree-id494 . -1) (undo-tree-id495 . -1) (undo-tree-id496 . -1) (undo-tree-id497 . -1) (undo-tree-id498 . -1) (undo-tree-id499 . -1) (undo-tree-id500 . -1) (undo-tree-id501 . -1) (undo-tree-id502 . -1) (undo-tree-id503 . -1) (undo-tree-id504 . -1) (undo-tree-id505 . -1) (undo-tree-id506 . -1) (undo-tree-id507 . -1) (undo-tree-id508 . -1) (undo-tree-id509 . -1) (undo-tree-id510 . -1) (undo-tree-id511 . -1) (undo-tree-id512 . -1) (undo-tree-id513 . -1) (undo-tree-id514 . -1) (undo-tree-id515 . -1) (undo-tree-id516 . -1) (undo-tree-id517 . -1) (undo-tree-id518 . -1) (undo-tree-id519 . -1) (undo-tree-id520 . -1) (undo-tree-id521 . -1) (undo-tree-id522 . -1) (undo-tree-id523 . -1) (undo-tree-id524 . -1) (undo-tree-id525 . -1) (undo-tree-id526 . -1) (undo-tree-id527 . -1) (undo-tree-id528 . -1) (undo-tree-id529 . -1) (undo-tree-id530 . -1) (undo-tree-id531 . -1) (undo-tree-id532 . -1) (undo-tree-id533 . -1) (undo-tree-id534 . -1) (undo-tree-id535 . -1) (undo-tree-id536 . -1) (undo-tree-id537 . -1) (undo-tree-id538 . -1) (undo-tree-id539 . -1) (undo-tree-id540 . -1) (undo-tree-id541 . -1) (undo-tree-id542 . -1) (undo-tree-id543 . -1) (undo-tree-id544 . -1) (undo-tree-id545 . -1) (undo-tree-id546 . -1) (undo-tree-id547 . -1) (undo-tree-id548 . -1) (undo-tree-id549 . -1) (undo-tree-id550 . -1) (undo-tree-id551 . -1) (undo-tree-id552 . -1) (undo-tree-id553 . -1) (undo-tree-id554 . -1) (undo-tree-id555 . -1) (undo-tree-id556 . -1) (undo-tree-id557 . -1) (undo-tree-id558 . -1) (undo-tree-id559 . -1) (undo-tree-id560 . -1) (undo-tree-id561 . -1) (undo-tree-id562 . -1) (#("r" 0 1 (face font-lock-string-face fontified t)) . -109) (undo-tree-id563 . -1) (undo-tree-id564 . -1) (undo-tree-id565 . -1) (undo-tree-id566 . -1) (undo-tree-id567 . -1) (undo-tree-id568 . -1) (undo-tree-id569 . -1) (undo-tree-id570 . -1) (undo-tree-id571 . -1) (undo-tree-id572 . -1) (undo-tree-id573 . -1) (undo-tree-id574 . -1) (undo-tree-id575 . -1) (undo-tree-id576 . -1) (undo-tree-id577 . -1) (undo-tree-id578 . -1) (undo-tree-id579 . -1) (undo-tree-id580 . -1) (undo-tree-id581 . -1) (undo-tree-id582 . -1) (undo-tree-id583 . -1) (undo-tree-id584 . -1) (undo-tree-id585 . -1) (undo-tree-id586 . -1) (undo-tree-id587 . -1) (undo-tree-id588 . -1) (undo-tree-id589 . -1) (undo-tree-id590 . -1) (undo-tree-id591 . -1) (undo-tree-id592 . -1) (undo-tree-id593 . -1) (undo-tree-id594 . -1) (undo-tree-id595 . -1) (undo-tree-id596 . -1) (undo-tree-id597 . -1) (undo-tree-id598 . -1) (undo-tree-id599 . -1) (undo-tree-id600 . -1) (undo-tree-id601 . -1) (undo-tree-id602 . -1) (undo-tree-id603 . -1) (undo-tree-id604 . -1) (undo-tree-id605 . -1) (undo-tree-id606 . -1) (undo-tree-id607 . -1) (undo-tree-id608 . -1) (undo-tree-id609 . -1) (undo-tree-id610 . -1) (undo-tree-id611 . -1) (undo-tree-id612 . -1) (undo-tree-id613 . -1) (undo-tree-id614 . -1) (undo-tree-id615 . -1) (undo-tree-id616 . -1) (undo-tree-id617 . -1) (undo-tree-id618 . -1) (undo-tree-id619 . -1) (undo-tree-id620 . -1) (undo-tree-id621 . -1) (undo-tree-id622 . -1) (undo-tree-id623 . -1) (undo-tree-id624 . -1) (undo-tree-id625 . -1) (undo-tree-id626 . -1) (undo-tree-id627 . -1) (#("c" 0 1 (face font-lock-string-face fontified t)) . -110) (undo-tree-id628 . -1) (undo-tree-id629 . -1) (undo-tree-id630 . -1) (undo-tree-id631 . -1) (undo-tree-id632 . -1) (undo-tree-id633 . -1) (undo-tree-id634 . -1) (undo-tree-id635 . -1) (undo-tree-id636 . -1) (undo-tree-id637 . -1) (undo-tree-id638 . -1) (undo-tree-id639 . -1) (undo-tree-id640 . -1) (undo-tree-id641 . -1) (undo-tree-id642 . -1) (undo-tree-id643 . -1) (undo-tree-id644 . -1) (undo-tree-id645 . -1) (undo-tree-id646 . -1) (undo-tree-id647 . -1) (undo-tree-id648 . -1) (undo-tree-id649 . -1) (undo-tree-id650 . -1) (undo-tree-id651 . -1) (undo-tree-id652 . -1) (undo-tree-id653 . -1) (undo-tree-id654 . -1) (undo-tree-id655 . -1) (undo-tree-id656 . -1) (undo-tree-id657 . -1) (undo-tree-id658 . -1) (undo-tree-id659 . -1) (undo-tree-id660 . -1) (undo-tree-id661 . -1) (undo-tree-id662 . -1) (undo-tree-id663 . -1) (undo-tree-id664 . -1) (undo-tree-id665 . -1) (undo-tree-id666 . -1) 111) nil (27032 59085 970046 612000) 0 nil])
26
+ ([nil nil ((#(" \"main\": \"./dist//index.ts\",
27
+ " 0 2 (fontified t) 2 8 (face font-lock-string-face fontified t) 8 10 (fontified t) 10 28 (face font-lock-string-face fontified t) 28 30 (fontified t)) . 95) (undo-tree-id90 . -18) (undo-tree-id91 . 12) (undo-tree-id92 . -30) (undo-tree-id93 . -29) (undo-tree-id94 . -6) (undo-tree-id95 . -6) (undo-tree-id96 . -6) (undo-tree-id97 . -6) (undo-tree-id98 . -6) (undo-tree-id99 . -6) (undo-tree-id100 . -6) (undo-tree-id101 . -6) (undo-tree-id102 . -6) (undo-tree-id103 . -6) (undo-tree-id104 . -6) (undo-tree-id105 . -6) (undo-tree-id106 . -6) (undo-tree-id107 . -6) (undo-tree-id108 . -6) (undo-tree-id109 . -6) (undo-tree-id110 . -6) (undo-tree-id111 . -6) (undo-tree-id112 . -6) (undo-tree-id113 . -6) (undo-tree-id114 . -6) (undo-tree-id115 . -6) (undo-tree-id116 . -6) (undo-tree-id117 . -6) (undo-tree-id118 . -6) (undo-tree-id119 . -6) (undo-tree-id120 . -6) (undo-tree-id121 . -6) (undo-tree-id122 . -6) (undo-tree-id123 . -6) (undo-tree-id124 . -6) (undo-tree-id125 . -6) (undo-tree-id126 . -6) (undo-tree-id127 . -6) (undo-tree-id128 . -6) (undo-tree-id129 . -7) (undo-tree-id130 . -7) (undo-tree-id131 . -7) (undo-tree-id132 . -7) (undo-tree-id133 . -7) (undo-tree-id134 . -7) (undo-tree-id135 . -7) (undo-tree-id136 . -7) (undo-tree-id137 . -7) (undo-tree-id138 . -7) (undo-tree-id139 . -7) (undo-tree-id140 . -7) (undo-tree-id141 . -7) (undo-tree-id142 . -7) (undo-tree-id143 . -7) (undo-tree-id144 . -8) (undo-tree-id145 . -8) (undo-tree-id146 . -8) (undo-tree-id147 . -8) (undo-tree-id148 . -8) (undo-tree-id149 . -8) (undo-tree-id150 . -8) (undo-tree-id151 . -8) (undo-tree-id152 . -8) (undo-tree-id153 . -8) (undo-tree-id154 . -9) (undo-tree-id155 . -9) (undo-tree-id156 . -9) (undo-tree-id157 . -9) (undo-tree-id158 . -9) (undo-tree-id159 . -9) (undo-tree-id160 . -9) (undo-tree-id161 . -9) (undo-tree-id162 . -9) (undo-tree-id163 . -9) (undo-tree-id164 . -10) (undo-tree-id165 . -10) (undo-tree-id166 . -10) (undo-tree-id167 . -10) (undo-tree-id168 . -10) (undo-tree-id169 . -10) (undo-tree-id170 . -10) (undo-tree-id171 . -10) (undo-tree-id172 . -10) (undo-tree-id173 . -10) (undo-tree-id174 . -11) (undo-tree-id175 . -11) (undo-tree-id176 . -11) (undo-tree-id177 . -11) (undo-tree-id178 . -11) (undo-tree-id179 . -11) (undo-tree-id180 . -11) (undo-tree-id181 . -11) (undo-tree-id182 . -11) (undo-tree-id183 . -11) (undo-tree-id184 . -12) (undo-tree-id185 . -12) (undo-tree-id186 . -12) (undo-tree-id187 . -12) (undo-tree-id188 . -12) (undo-tree-id189 . -12) (undo-tree-id190 . -12) (undo-tree-id191 . -12) (undo-tree-id192 . -12) (undo-tree-id193 . -12) (undo-tree-id194 . -13) (undo-tree-id195 . -13) (undo-tree-id196 . -13) (undo-tree-id197 . -13) (undo-tree-id198 . -13) (undo-tree-id199 . -13) (undo-tree-id200 . -13) (undo-tree-id201 . -13) (undo-tree-id202 . -13) (undo-tree-id203 . -13) (undo-tree-id204 . -13) (undo-tree-id205 . -13) (undo-tree-id206 . -13) (undo-tree-id207 . -13) (undo-tree-id208 . -13) (undo-tree-id209 . -13) (undo-tree-id210 . -13) (undo-tree-id211 . -13) (undo-tree-id212 . -13) (undo-tree-id213 . -13) (undo-tree-id214 . -13) (undo-tree-id215 . -13) (undo-tree-id216 . -13) (undo-tree-id217 . -13) (undo-tree-id218 . -13) (undo-tree-id219 . -13) (undo-tree-id220 . -13) (undo-tree-id221 . -13) (undo-tree-id222 . -13) (undo-tree-id223 . -13) (undo-tree-id224 . -13) (undo-tree-id225 . -13) (undo-tree-id226 . -13) (undo-tree-id227 . -13) (undo-tree-id228 . -13) (undo-tree-id229 . -13) (undo-tree-id230 . -13) (undo-tree-id231 . -13) (undo-tree-id232 . -13) (undo-tree-id233 . -13) (undo-tree-id234 . -13) (undo-tree-id235 . -13) (undo-tree-id236 . -13) (undo-tree-id237 . -13) (undo-tree-id238 . -13) (undo-tree-id239 . -13) (undo-tree-id240 . -13) (undo-tree-id241 . -13) (undo-tree-id242 . -13) (undo-tree-id243 . -13) (undo-tree-id244 . -13) (undo-tree-id245 . -13) (undo-tree-id246 . -13) (undo-tree-id247 . -13) (undo-tree-id248 . -13) (undo-tree-id249 . -13) (undo-tree-id250 . -13) (undo-tree-id251 . -13) (undo-tree-id252 . -13) (undo-tree-id253 . -13) (undo-tree-id254 . -13) (undo-tree-id255 . -13) (undo-tree-id256 . -13) (undo-tree-id257 . -13) (undo-tree-id258 . -13) (undo-tree-id259 . -13) (undo-tree-id260 . -13) (undo-tree-id261 . -13) (undo-tree-id262 . -13) (undo-tree-id263 . -13) (undo-tree-id264 . -13) (undo-tree-id265 . -13) (undo-tree-id266 . -13) (undo-tree-id267 . -13) (undo-tree-id268 . -13) (undo-tree-id269 . -13) (undo-tree-id270 . -13) (undo-tree-id271 . -13) (undo-tree-id272 . -13) (undo-tree-id273 . -13) (undo-tree-id274 . -13) (undo-tree-id275 . -13) (undo-tree-id276 . -13) (undo-tree-id277 . -13) (undo-tree-id278 . -13) (undo-tree-id279 . -13) (undo-tree-id280 . -13) (undo-tree-id281 . -13) (undo-tree-id282 . -13) (undo-tree-id283 . -13) (undo-tree-id284 . -13) (undo-tree-id285 . -13) (undo-tree-id286 . -13) (undo-tree-id287 . -13) (undo-tree-id288 . -13) (undo-tree-id289 . -13) (undo-tree-id290 . -13) (undo-tree-id291 . -13) (undo-tree-id292 . -13) (undo-tree-id293 . -13) (undo-tree-id294 . -13) (undo-tree-id295 . -13) (undo-tree-id296 . -13) (undo-tree-id297 . -13) (undo-tree-id298 . -13) (undo-tree-id299 . -13) (undo-tree-id300 . -13) (undo-tree-id301 . -13) (undo-tree-id302 . -13) (undo-tree-id303 . -13) (undo-tree-id304 . -14) (undo-tree-id305 . -14) (undo-tree-id306 . -14) (undo-tree-id307 . -14) (undo-tree-id308 . -14) (undo-tree-id309 . -14) (undo-tree-id310 . -14) (undo-tree-id311 . -14) (undo-tree-id312 . -14) (undo-tree-id313 . -14) (undo-tree-id314 . -14) (undo-tree-id315 . -14) (undo-tree-id316 . -14) (undo-tree-id317 . -14) (undo-tree-id318 . -14) (undo-tree-id319 . -14) (undo-tree-id320 . -14) (undo-tree-id321 . -14) (undo-tree-id322 . -14) (undo-tree-id323 . -14) (undo-tree-id324 . -14) (undo-tree-id325 . -14) (undo-tree-id326 . -14) (undo-tree-id327 . -14) (undo-tree-id328 . -14) (undo-tree-id329 . -14) (undo-tree-id330 . -15) (undo-tree-id331 . -15) (undo-tree-id332 . -15) (undo-tree-id333 . -15) (undo-tree-id334 . -15) (undo-tree-id335 . -15) (undo-tree-id336 . -15) (undo-tree-id337 . -15) (undo-tree-id338 . -15) (undo-tree-id339 . -15) (undo-tree-id340 . -15) (undo-tree-id341 . -15) (undo-tree-id342 . -15) (undo-tree-id343 . -15) (undo-tree-id344 . -15) (undo-tree-id345 . -15) (undo-tree-id346 . -16) (undo-tree-id347 . -16) (undo-tree-id348 . -16) (undo-tree-id349 . -16) (undo-tree-id350 . -16) (undo-tree-id351 . -16) (undo-tree-id352 . -16) (undo-tree-id353 . -16) (undo-tree-id354 . -16) (undo-tree-id355 . -16) (undo-tree-id356 . -16) (undo-tree-id357 . -17) (undo-tree-id358 . -17) (undo-tree-id359 . -17) (undo-tree-id360 . -17) (undo-tree-id361 . -17) (undo-tree-id362 . -17) (undo-tree-id363 . -17) (undo-tree-id364 . -17) (undo-tree-id365 . -17) (undo-tree-id366 . -17) (undo-tree-id367 . -17) (undo-tree-id368 . -17) (undo-tree-id369 . -17) (undo-tree-id370 . -17) (undo-tree-id371 . -17) (undo-tree-id372 . -17) (undo-tree-id373 . -18) (undo-tree-id374 . -18) (undo-tree-id375 . -18) (undo-tree-id376 . -18) (undo-tree-id377 . -18) (undo-tree-id378 . -18) (undo-tree-id379 . -18) (undo-tree-id380 . -18) (undo-tree-id381 . -18) (undo-tree-id382 . -18) (undo-tree-id383 . -18) (undo-tree-id384 . -18) (undo-tree-id385 . -18) (undo-tree-id386 . -18) (undo-tree-id387 . -18) (undo-tree-id388 . -18) (undo-tree-id389 . -18) (undo-tree-id390 . -18) (undo-tree-id391 . -18) (undo-tree-id392 . -18) (undo-tree-id393 . -18) (undo-tree-id394 . -18) (undo-tree-id395 . -18) (undo-tree-id396 . -18) (undo-tree-id397 . -18) (undo-tree-id398 . -18) (undo-tree-id399 . -18) (undo-tree-id400 . -18) (undo-tree-id401 . -18) (undo-tree-id402 . -18) (undo-tree-id403 . -18) (undo-tree-id404 . -18) (undo-tree-id405 . -18) (undo-tree-id406 . -18) (undo-tree-id407 . -18) (undo-tree-id408 . -18) (undo-tree-id409 . -18) (undo-tree-id410 . -18) (undo-tree-id411 . -18) (undo-tree-id412 . -18) (undo-tree-id413 . -18) (undo-tree-id414 . -18) (undo-tree-id415 . -18) (undo-tree-id416 . -18) (undo-tree-id417 . -18) (undo-tree-id418 . -18) (undo-tree-id419 . -18) (undo-tree-id420 . -18) (undo-tree-id421 . -18) (undo-tree-id422 . -18) (undo-tree-id423 . -18) (undo-tree-id424 . -18) (undo-tree-id425 . -18) (undo-tree-id426 . -18) (undo-tree-id427 . -18) (undo-tree-id428 . -18) (undo-tree-id429 . -18) (undo-tree-id430 . -18) (undo-tree-id431 . -18) (undo-tree-id432 . -18) (undo-tree-id433 . -18) (undo-tree-id434 . -17) (undo-tree-id435 . -17) (undo-tree-id436 . -17) (undo-tree-id437 . -17) (undo-tree-id438 . -17) (undo-tree-id439 . -17) (undo-tree-id440 . -17) (undo-tree-id441 . -17) (undo-tree-id442 . -17) (undo-tree-id443 . -17) (undo-tree-id444 . -17) (undo-tree-id445 . -17) (undo-tree-id446 . -17) (undo-tree-id447 . -17) (undo-tree-id448 . -17) (undo-tree-id449 . -17) (undo-tree-id450 . -17) (undo-tree-id451 . -17) (undo-tree-id452 . -17) (undo-tree-id453 . -17) (undo-tree-id454 . -17) (undo-tree-id455 . -17) (undo-tree-id456 . -17) (undo-tree-id457 . -17) (undo-tree-id458 . -17) (undo-tree-id459 . -17) (undo-tree-id460 . -17) (undo-tree-id461 . -17) (undo-tree-id462 . -17) (undo-tree-id463 . -17) (undo-tree-id464 . -17) (undo-tree-id465 . -17) (undo-tree-id466 . -17) (undo-tree-id467 . -18) (undo-tree-id468 . -17) (undo-tree-id469 . -17) (undo-tree-id470 . -17) (undo-tree-id471 . -30) 112) nil (27032 59085 969996 914000) 0 nil])
28
+ ([nil current ((#(" \"private\": true,
29
+ " 0 2 (fontified t) 2 11 (face font-lock-string-face fontified t) 11 13 (fontified t) 13 17 (face font-lock-constant-face fontified t) 17 19 (fontified t)) . 55) (undo-tree-id669 . -18) (undo-tree-id670 . -17) (undo-tree-id671 . -17) (undo-tree-id672 . -17) (undo-tree-id673 . -17) (undo-tree-id674 . -17) (undo-tree-id675 . -17) (undo-tree-id676 . -17) (undo-tree-id677 . -17) (undo-tree-id678 . -17) (undo-tree-id679 . -17) (undo-tree-id680 . -17) (undo-tree-id681 . -17) (undo-tree-id682 . -17) (undo-tree-id683 . -17) (undo-tree-id684 . -17) (undo-tree-id685 . -17) (undo-tree-id686 . -17) (undo-tree-id687 . -17) (undo-tree-id688 . -17) (undo-tree-id689 . -17) (undo-tree-id690 . -17) (undo-tree-id691 . -17) (undo-tree-id692 . -17) (undo-tree-id693 . -17) (undo-tree-id694 . -19) 72 (t 27032 59087 190626 386000)) nil (27032 59392 249638 163000) 0 nil])
30
+ nil
@@ -0,0 +1,8 @@
1
+ (undo-tree-save-format-version . 1)
2
+ "9c2c82f612122cccd843a880ce857e85134d7a8d"
3
+ [nil nil nil nil (27032 58671 268493 258000) 0 nil]
4
+ ([nil nil ((nil rear-nonsticky nil 150 . 151) (nil fontified nil 1 . 151) (1 . 151) (t 27032 58666 129988 937000)) nil (27032 58671 268492 758000) 0 nil])
5
+ ([nil nil ((#("
6
+ " 0 1 (rear-nonsticky t fontified t)) . -150) (undo-tree-id0 . -1) (undo-tree-id1 . -1) (undo-tree-id2 . -1) (undo-tree-id3 . -1) (undo-tree-id4 . -1) (undo-tree-id5 . -1) (undo-tree-id6 . -1) (undo-tree-id7 . -1) (undo-tree-id8 . -1) (undo-tree-id9 . -1) (undo-tree-id10 . -1) (undo-tree-id11 . -1) (undo-tree-id12 . -1) (undo-tree-id13 . -1) (undo-tree-id14 . -1) (undo-tree-id15 . -1) (undo-tree-id16 . -1) (undo-tree-id17 . -1) (undo-tree-id18 . -1) (undo-tree-id19 . -1) (undo-tree-id20 . -1) (undo-tree-id21 . -1) (undo-tree-id22 . -1) (undo-tree-id23 . -1) (undo-tree-id24 . -1) (undo-tree-id25 . -1) (undo-tree-id26 . -1) (undo-tree-id27 . -1) (undo-tree-id28 . -1) (undo-tree-id29 . -1) (undo-tree-id30 . -1) (undo-tree-id31 . -1) (undo-tree-id32 . -1) (undo-tree-id33 . -1) (undo-tree-id34 . -1) (undo-tree-id35 . -1) (undo-tree-id36 . -1) (undo-tree-id37 . -1) (undo-tree-id38 . -1) (undo-tree-id39 . -1) (undo-tree-id40 . -1) (undo-tree-id41 . -1) (undo-tree-id42 . -1) (undo-tree-id43 . -1) (undo-tree-id44 . -1) (undo-tree-id45 . -1) (undo-tree-id46 . -1) (undo-tree-id47 . -1) (undo-tree-id48 . -1) (undo-tree-id49 . -1) (undo-tree-id50 . -1) (undo-tree-id51 . -1) (undo-tree-id52 . -1) (undo-tree-id53 . -1) (undo-tree-id54 . -1) (undo-tree-id55 . -1) (undo-tree-id56 . -1) (undo-tree-id57 . -1) (undo-tree-id58 . -1) (undo-tree-id59 . -1) (undo-tree-id60 . -1) (undo-tree-id61 . -1) (undo-tree-id62 . -1) (undo-tree-id63 . -1) (undo-tree-id64 . -1) (undo-tree-id65 . -1) (undo-tree-id66 . -1) (undo-tree-id67 . -1) (undo-tree-id68 . -1) (undo-tree-id69 . -1) (undo-tree-id70 . -1) (undo-tree-id71 . -1) (undo-tree-id72 . -1) (undo-tree-id73 . -1) (undo-tree-id74 . -1) (undo-tree-id75 . -1) (undo-tree-id76 . -1) (undo-tree-id77 . -1) (undo-tree-id78 . -1) (undo-tree-id79 . -1) (undo-tree-id80 . -1) (undo-tree-id81 . -1) (undo-tree-id82 . -1) 151) nil (27032 58671 268491 443000) 0 nil])
7
+ ([nil current ((150 . 151)) nil (27032 58671 268382 627000) 0 nil])
8
+ nil
@@ -0,0 +1,14 @@
1
+ (undo-tree-save-format-version . 1)
2
+ "e72cba7416b4e9cad945b1fef0ff20e8a4d43172"
3
+ [nil nil nil nil (27032 58676 906962 458000) 0 nil]
4
+ ([nil nil ((71 . 75) (t 27022 26469 975131 717000)) nil (27032 58676 906959 657000) 0 nil])
5
+ ([nil nil ((103 . 108) (t 27032 58676 905931 681000)) nil (27032 58719 87912 792000) 0 nil])
6
+ ([nil nil ((nil rear-nonsticky nil 142 . 143) (nil fontified nil 108 . 143) (108 . 143) 107) nil (27032 58719 87912 136000) 0 nil])
7
+ ([nil nil ((#("
8
+ " 0 1 (fontified t)) . 143) (undo-tree-id36 . 1) (undo-tree-id37 . -1)) nil (27032 58719 87911 695000) 0 nil])
9
+ ([nil nil ((#(" " 0 1 (fontified t)) . 104) (undo-tree-id34 . -1) (undo-tree-id35 . -1)) nil (27032 58719 87910 960000) 0 nil])
10
+ ([nil nil ((#(" " 0 1 (fontified t)) . 104) (undo-tree-id32 . -1) (undo-tree-id33 . -1)) nil (27032 58719 87909 789000) 0 nil])
11
+ ([nil nil ((#(" " 0 1 (fontified t)) . 104) (undo-tree-id23 . -1) (undo-tree-id24 . -1) (undo-tree-id25 . -1) (undo-tree-id26 . -1) (undo-tree-id27 . -1) (undo-tree-id28 . -1) (undo-tree-id29 . -1) (undo-tree-id30 . -1) (undo-tree-id31 . -1)) nil (27032 58719 87908 741000) 0 nil])
12
+ ([nil nil ((#(" " 0 1 (fontified t)) . 104) (undo-tree-id0 . -1) (undo-tree-id1 . -1) (undo-tree-id2 . -1) (undo-tree-id3 . -1) (undo-tree-id4 . -1) (undo-tree-id5 . -1) (undo-tree-id6 . -1) (undo-tree-id7 . -1) (undo-tree-id8 . -1) (undo-tree-id9 . -1) (undo-tree-id10 . -1) (undo-tree-id11 . -1) (undo-tree-id12 . -1) (undo-tree-id13 . -1) (undo-tree-id14 . -1) (undo-tree-id15 . -1) (undo-tree-id16 . -1) (undo-tree-id17 . -1) (undo-tree-id18 . -1) (undo-tree-id19 . -1) (undo-tree-id20 . -1) (undo-tree-id21 . -1) (undo-tree-id22 . -1)) nil (27032 58719 87812 768000) 0 nil])
13
+ ([nil current ((93 . 99) (#("n" 0 1 (face font-lock-string-face fontified t)) . -93) (undo-tree-id38 . -1) (undo-tree-id39 . -1) (undo-tree-id40 . -1) (undo-tree-id41 . -1) (undo-tree-id42 . -1) (undo-tree-id43 . -1) (undo-tree-id44 . -1) (undo-tree-id45 . -1) (undo-tree-id46 . -1) (undo-tree-id47 . -1) (undo-tree-id48 . -1) (undo-tree-id49 . -1) (undo-tree-id50 . -1) (undo-tree-id51 . -1) (undo-tree-id52 . -1) (undo-tree-id53 . -1) (undo-tree-id54 . -1) (undo-tree-id55 . -1) (undo-tree-id56 . -1) (undo-tree-id57 . -1) (undo-tree-id58 . -1) (undo-tree-id59 . -1) (undo-tree-id60 . -1) (undo-tree-id61 . -1) (undo-tree-id62 . -1) (undo-tree-id63 . -1) (undo-tree-id64 . -1) (undo-tree-id65 . -1) (undo-tree-id66 . -1) (undo-tree-id67 . -1) (undo-tree-id68 . -1) (undo-tree-id69 . -1) (undo-tree-id70 . -1) (undo-tree-id71 . -1) (undo-tree-id72 . -1) (undo-tree-id73 . -1) (undo-tree-id74 . -1) (undo-tree-id75 . -1) (undo-tree-id76 . -1) (undo-tree-id77 . -1) (undo-tree-id78 . -1) (undo-tree-id79 . -1) (undo-tree-id80 . -1) (undo-tree-id81 . -1) (undo-tree-id82 . -1) (undo-tree-id83 . -1) (undo-tree-id84 . -1) (undo-tree-id85 . -1) (undo-tree-id86 . -1) (undo-tree-id87 . -1) (undo-tree-id88 . -1) (undo-tree-id89 . -1) (undo-tree-id90 . -1) (undo-tree-id91 . -1) (undo-tree-id92 . -1) (undo-tree-id93 . -1) (undo-tree-id94 . -1) (undo-tree-id95 . -1) (undo-tree-id96 . -1) (undo-tree-id97 . -1) (undo-tree-id98 . -1) (undo-tree-id99 . -1) (undo-tree-id100 . -1) (undo-tree-id101 . -1) (undo-tree-id102 . -1) (undo-tree-id103 . -1) (undo-tree-id104 . -1) (undo-tree-id105 . -1) (undo-tree-id106 . -1) (undo-tree-id107 . -1) (undo-tree-id108 . -1) (undo-tree-id109 . -1) (undo-tree-id110 . -1) (undo-tree-id111 . -1) (undo-tree-id112 . -1) (undo-tree-id113 . -1) (undo-tree-id114 . -1) (undo-tree-id115 . -1) (undo-tree-id116 . -1) (undo-tree-id117 . -1) (undo-tree-id118 . -1) (undo-tree-id119 . -1) (undo-tree-id120 . -1) (undo-tree-id121 . -1) (undo-tree-id122 . -1) (undo-tree-id123 . -1) (undo-tree-id124 . -1) (undo-tree-id125 . -1) (undo-tree-id126 . -1) (undo-tree-id127 . -1) (undo-tree-id128 . -1) (undo-tree-id129 . -1) (undo-tree-id130 . -1) (undo-tree-id131 . -1) (undo-tree-id132 . -1) (undo-tree-id133 . -1) (undo-tree-id134 . -1) (undo-tree-id135 . -1) (undo-tree-id136 . -1) (undo-tree-id137 . -1) (undo-tree-id138 . -1) (#("o" 0 1 (face font-lock-string-face fontified t)) . -94) (undo-tree-id139 . -1) (undo-tree-id140 . -1) (undo-tree-id141 . -1) (undo-tree-id142 . -1) (undo-tree-id143 . -1) (undo-tree-id144 . -1) (undo-tree-id145 . -1) (undo-tree-id146 . -1) (undo-tree-id147 . -1) (undo-tree-id148 . -1) (undo-tree-id149 . -1) (undo-tree-id150 . -1) (undo-tree-id151 . -1) (undo-tree-id152 . -1) (undo-tree-id153 . -1) (undo-tree-id154 . -1) (undo-tree-id155 . -1) (undo-tree-id156 . -1) (undo-tree-id157 . -1) (undo-tree-id158 . -1) (undo-tree-id159 . -1) (undo-tree-id160 . -1) (undo-tree-id161 . -1) (undo-tree-id162 . -1) (undo-tree-id163 . -1) (undo-tree-id164 . -1) (undo-tree-id165 . -1) (undo-tree-id166 . -1) (undo-tree-id167 . -1) (undo-tree-id168 . -1) (undo-tree-id169 . -1) (undo-tree-id170 . -1) (undo-tree-id171 . -1) (undo-tree-id172 . -1) (undo-tree-id173 . -1) (undo-tree-id174 . -1) (undo-tree-id175 . -1) (undo-tree-id176 . -1) (undo-tree-id177 . -1) (undo-tree-id178 . -1) (undo-tree-id179 . -1) (undo-tree-id180 . -1) (undo-tree-id181 . -1) (undo-tree-id182 . -1) (undo-tree-id183 . -1) (undo-tree-id184 . -1) (undo-tree-id185 . -1) (undo-tree-id186 . -1) (undo-tree-id187 . -1) (undo-tree-id188 . -1) (undo-tree-id189 . -1) (undo-tree-id190 . -1) (undo-tree-id191 . -1) (undo-tree-id192 . -1) (undo-tree-id193 . -1) (undo-tree-id194 . -1) (undo-tree-id195 . -1) (undo-tree-id196 . -1) (undo-tree-id197 . -1) (undo-tree-id198 . -1) (undo-tree-id199 . -1) (undo-tree-id200 . -1) (undo-tree-id201 . -1) (undo-tree-id202 . -1) (undo-tree-id203 . -1) (undo-tree-id204 . -1) (undo-tree-id205 . -1) (undo-tree-id206 . -1) (undo-tree-id207 . -1) (undo-tree-id208 . -1) (undo-tree-id209 . -1) (undo-tree-id210 . -1) (undo-tree-id211 . -1) (undo-tree-id212 . -1) (undo-tree-id213 . -1) (undo-tree-id214 . -1) (undo-tree-id215 . -1) (undo-tree-id216 . -1) (undo-tree-id217 . -1) (undo-tree-id218 . -1) (undo-tree-id219 . -1) (undo-tree-id220 . -1) (undo-tree-id221 . -1) (undo-tree-id222 . -1) (undo-tree-id223 . -1) (undo-tree-id224 . -1) (undo-tree-id225 . -1) (undo-tree-id226 . -1) (undo-tree-id227 . -1) (undo-tree-id228 . -1) (#("d" 0 1 (face font-lock-string-face fontified t)) . -95) (undo-tree-id229 . -1) (undo-tree-id230 . -1) (undo-tree-id231 . -1) (undo-tree-id232 . -1) (undo-tree-id233 . -1) (undo-tree-id234 . -1) (undo-tree-id235 . -1) (undo-tree-id236 . -1) (undo-tree-id237 . -1) (undo-tree-id238 . -1) (undo-tree-id239 . -1) (undo-tree-id240 . -1) (undo-tree-id241 . -1) (undo-tree-id242 . -1) (undo-tree-id243 . -1) (undo-tree-id244 . -1) (undo-tree-id245 . -1) (undo-tree-id246 . -1) (undo-tree-id247 . -1) (undo-tree-id248 . -1) (undo-tree-id249 . -1) (undo-tree-id250 . -1) (undo-tree-id251 . -1) (undo-tree-id252 . -1) (undo-tree-id253 . -1) (undo-tree-id254 . -1) (undo-tree-id255 . -1) (undo-tree-id256 . -1) (undo-tree-id257 . -1) (undo-tree-id258 . -1) (undo-tree-id259 . -1) (undo-tree-id260 . -1) (undo-tree-id261 . -1) (undo-tree-id262 . -1) (undo-tree-id263 . -1) (undo-tree-id264 . -1) (undo-tree-id265 . -1) (undo-tree-id266 . -1) (undo-tree-id267 . -1) (undo-tree-id268 . -1) (undo-tree-id269 . -1) (undo-tree-id270 . -1) (undo-tree-id271 . -1) (undo-tree-id272 . -1) (undo-tree-id273 . -1) (undo-tree-id274 . -1) (undo-tree-id275 . -1) (undo-tree-id276 . -1) (undo-tree-id277 . -1) (undo-tree-id278 . -1) (undo-tree-id279 . -1) (undo-tree-id280 . -1) (undo-tree-id281 . -1) (undo-tree-id282 . -1) (undo-tree-id283 . -1) (undo-tree-id284 . -1) (undo-tree-id285 . -1) (undo-tree-id286 . -1) (undo-tree-id287 . -1) (undo-tree-id288 . -1) (undo-tree-id289 . -1) (undo-tree-id290 . -1) (undo-tree-id291 . -1) (undo-tree-id292 . -1) (undo-tree-id293 . -1) (undo-tree-id294 . -1) (undo-tree-id295 . -1) (undo-tree-id296 . -1) (undo-tree-id297 . -1) (undo-tree-id298 . -1) (undo-tree-id299 . -1) (undo-tree-id300 . -1) (undo-tree-id301 . -1) (undo-tree-id302 . -1) (undo-tree-id303 . -1) (undo-tree-id304 . -1) (undo-tree-id305 . -1) (undo-tree-id306 . -1) (undo-tree-id307 . -1) (undo-tree-id308 . -1) (undo-tree-id309 . -1) (undo-tree-id310 . -1) (undo-tree-id311 . -1) (undo-tree-id312 . -1) (#("e" 0 1 (face font-lock-string-face fontified t)) . -96) (undo-tree-id313 . -1) (undo-tree-id314 . -1) (undo-tree-id315 . -1) (undo-tree-id316 . -1) (undo-tree-id317 . -1) (undo-tree-id318 . -1) (undo-tree-id319 . -1) (undo-tree-id320 . -1) (undo-tree-id321 . -1) (undo-tree-id322 . -1) (undo-tree-id323 . -1) (undo-tree-id324 . -1) (undo-tree-id325 . -1) (undo-tree-id326 . -1) (undo-tree-id327 . -1) (undo-tree-id328 . -1) (undo-tree-id329 . -1) (undo-tree-id330 . -1) (undo-tree-id331 . -1) (undo-tree-id332 . -1) (undo-tree-id333 . -1) (undo-tree-id334 . -1) (undo-tree-id335 . -1) (undo-tree-id336 . -1) (undo-tree-id337 . -1) (undo-tree-id338 . -1) (undo-tree-id339 . -1) (undo-tree-id340 . -1) (undo-tree-id341 . -1) (undo-tree-id342 . -1) (undo-tree-id343 . -1) (undo-tree-id344 . -1) (undo-tree-id345 . -1) (undo-tree-id346 . -1) (undo-tree-id347 . -1) (undo-tree-id348 . -1) (undo-tree-id349 . -1) (undo-tree-id350 . -1) (undo-tree-id351 . -1) (undo-tree-id352 . -1) (undo-tree-id353 . -1) (undo-tree-id354 . -1) (undo-tree-id355 . -1) (undo-tree-id356 . -1) (undo-tree-id357 . -1) (undo-tree-id358 . -1) (undo-tree-id359 . -1) (undo-tree-id360 . -1) (undo-tree-id361 . -1) (undo-tree-id362 . -1) (undo-tree-id363 . -1) (undo-tree-id364 . -1) (undo-tree-id365 . -1) (undo-tree-id366 . -1) (undo-tree-id367 . -1) (undo-tree-id368 . -1) (undo-tree-id369 . -1) (undo-tree-id370 . -1) (undo-tree-id371 . -1) (undo-tree-id372 . -1) (undo-tree-id373 . -1) (undo-tree-id374 . -1) (undo-tree-id375 . -1) (undo-tree-id376 . -1) (undo-tree-id377 . -1) (undo-tree-id378 . -1) (undo-tree-id379 . -1) (undo-tree-id380 . -1) (undo-tree-id381 . -1) (undo-tree-id382 . -1) (undo-tree-id383 . -1) (undo-tree-id384 . -1) (undo-tree-id385 . -1) (undo-tree-id386 . -1) (undo-tree-id387 . -1) (undo-tree-id388 . -1) (undo-tree-id389 . -1) (undo-tree-id390 . -1) (#("n" 0 1 (face font-lock-string-face fontified t)) . -97) (undo-tree-id391 . -1) (undo-tree-id392 . -1) (undo-tree-id393 . -1) (undo-tree-id394 . -1) (undo-tree-id395 . -1) (undo-tree-id396 . -1) (undo-tree-id397 . -1) (undo-tree-id398 . -1) (undo-tree-id399 . -1) (undo-tree-id400 . -1) (undo-tree-id401 . -1) (undo-tree-id402 . -1) (undo-tree-id403 . -1) (undo-tree-id404 . -1) (undo-tree-id405 . -1) (undo-tree-id406 . -1) (undo-tree-id407 . -1) (undo-tree-id408 . -1) (undo-tree-id409 . -1) (undo-tree-id410 . -1) (undo-tree-id411 . -1) (undo-tree-id412 . -1) (undo-tree-id413 . -1) (undo-tree-id414 . -1) (undo-tree-id415 . -1) (undo-tree-id416 . -1) (undo-tree-id417 . -1) (undo-tree-id418 . -1) (undo-tree-id419 . -1) (undo-tree-id420 . -1) (undo-tree-id421 . -1) (undo-tree-id422 . -1) (undo-tree-id423 . -1) (undo-tree-id424 . -1) (undo-tree-id425 . -1) (undo-tree-id426 . -1) (undo-tree-id427 . -1) (undo-tree-id428 . -1) (undo-tree-id429 . -1) (undo-tree-id430 . -1) (undo-tree-id431 . -1) (undo-tree-id432 . -1) (undo-tree-id433 . -1) (undo-tree-id434 . -1) (undo-tree-id435 . -1) (undo-tree-id436 . -1) (undo-tree-id437 . -1) (undo-tree-id438 . -1) (undo-tree-id439 . -1) (undo-tree-id440 . -1) (undo-tree-id441 . -1) (undo-tree-id442 . -1) (undo-tree-id443 . -1) (undo-tree-id444 . -1) (undo-tree-id445 . -1) (undo-tree-id446 . -1) (undo-tree-id447 . -1) (undo-tree-id448 . -1) (undo-tree-id449 . -1) (undo-tree-id450 . -1) (undo-tree-id451 . -1) (undo-tree-id452 . -1) (undo-tree-id453 . -1) (undo-tree-id454 . -1) (undo-tree-id455 . -1) (undo-tree-id456 . -1) (undo-tree-id457 . -1) (undo-tree-id458 . -1) (undo-tree-id459 . -1) (undo-tree-id460 . -1) (undo-tree-id461 . -1) (undo-tree-id462 . -1) (#("e" 0 1 (face font-lock-string-face fontified t)) . -98) (undo-tree-id463 . -1) (undo-tree-id464 . -1) (undo-tree-id465 . -1) (undo-tree-id466 . -1) (undo-tree-id467 . -1) (undo-tree-id468 . -1) (undo-tree-id469 . -1) (undo-tree-id470 . -1) (undo-tree-id471 . -1) (undo-tree-id472 . -1) (undo-tree-id473 . -1) (undo-tree-id474 . -1) (undo-tree-id475 . -1) (undo-tree-id476 . -1) (undo-tree-id477 . -1) (undo-tree-id478 . -1) (undo-tree-id479 . -1) (undo-tree-id480 . -1) (undo-tree-id481 . -1) (undo-tree-id482 . -1) (undo-tree-id483 . -1) (undo-tree-id484 . -1) (undo-tree-id485 . -1) (undo-tree-id486 . -1) (undo-tree-id487 . -1) (undo-tree-id488 . -1) (undo-tree-id489 . -1) (undo-tree-id490 . -1) (undo-tree-id491 . -1) (undo-tree-id492 . -1) (undo-tree-id493 . -1) (undo-tree-id494 . -1) (undo-tree-id495 . -1) (undo-tree-id496 . -1) (undo-tree-id497 . -1) (undo-tree-id498 . -1) (undo-tree-id499 . -1) (undo-tree-id500 . -1) (undo-tree-id501 . -1) (undo-tree-id502 . -1) (undo-tree-id503 . -1) (undo-tree-id504 . -1) (undo-tree-id505 . -1) (undo-tree-id506 . -1) (undo-tree-id507 . -1) (undo-tree-id508 . -1) (undo-tree-id509 . -1) (undo-tree-id510 . -1) (undo-tree-id511 . -1) (undo-tree-id512 . -1) (undo-tree-id513 . -1) (undo-tree-id514 . -1) (undo-tree-id515 . -1) (undo-tree-id516 . -1) (undo-tree-id517 . -1) (undo-tree-id518 . -1) (undo-tree-id519 . -1) (undo-tree-id520 . -1) (undo-tree-id521 . -1) (undo-tree-id522 . -1) (undo-tree-id523 . -1) (undo-tree-id524 . -1) (undo-tree-id525 . -1) (undo-tree-id526 . -1) (undo-tree-id527 . -1) (undo-tree-id528 . -1) (#("x" 0 1 (face font-lock-string-face fontified t)) . -99) (undo-tree-id529 . -1) (undo-tree-id530 . -1) (undo-tree-id531 . -1) (undo-tree-id532 . -1) (undo-tree-id533 . -1) (undo-tree-id534 . -1) (undo-tree-id535 . -1) (undo-tree-id536 . -1) (undo-tree-id537 . -1) (undo-tree-id538 . -1) (undo-tree-id539 . -1) (undo-tree-id540 . -1) (undo-tree-id541 . -1) (undo-tree-id542 . -1) (undo-tree-id543 . -1) (undo-tree-id544 . -1) (undo-tree-id545 . -1) (undo-tree-id546 . -1) (undo-tree-id547 . -1) (undo-tree-id548 . -1) (undo-tree-id549 . -1) (undo-tree-id550 . -1) (undo-tree-id551 . -1) (undo-tree-id552 . -1) (undo-tree-id553 . -1) (undo-tree-id554 . -1) (undo-tree-id555 . -1) (undo-tree-id556 . -1) (undo-tree-id557 . -1) (undo-tree-id558 . -1) (undo-tree-id559 . -1) (undo-tree-id560 . -1) (undo-tree-id561 . -1) (undo-tree-id562 . -1) (undo-tree-id563 . -1) (undo-tree-id564 . -1) (undo-tree-id565 . -1) (undo-tree-id566 . -1) (undo-tree-id567 . -1) (undo-tree-id568 . -1) (undo-tree-id569 . -1) (undo-tree-id570 . -1) (undo-tree-id571 . -1) (undo-tree-id572 . -1) (undo-tree-id573 . -1) (undo-tree-id574 . -1) (undo-tree-id575 . -1) (undo-tree-id576 . -1) (undo-tree-id577 . -1) (undo-tree-id578 . -1) (undo-tree-id579 . -1) (undo-tree-id580 . -1) (undo-tree-id581 . -1) (undo-tree-id582 . -1) (undo-tree-id583 . -1) (undo-tree-id584 . -1) (undo-tree-id585 . -1) (undo-tree-id586 . -1) (undo-tree-id587 . -1) (undo-tree-id588 . -1) (#("t" 0 1 (face font-lock-string-face fontified t)) . -100) (undo-tree-id589 . -1) (undo-tree-id590 . -1) (undo-tree-id591 . -1) (undo-tree-id592 . -1) (undo-tree-id593 . -1) (undo-tree-id594 . -1) (undo-tree-id595 . -1) (undo-tree-id596 . -1) (undo-tree-id597 . -1) (undo-tree-id598 . -1) (undo-tree-id599 . -1) (undo-tree-id600 . -1) (undo-tree-id601 . -1) (undo-tree-id602 . -1) (undo-tree-id603 . -1) (undo-tree-id604 . -1) (undo-tree-id605 . -1) (undo-tree-id606 . -1) (undo-tree-id607 . -1) (undo-tree-id608 . -1) (undo-tree-id609 . -1) (undo-tree-id610 . -1) 101 (t 27032 58732 149638 183000)) nil (27032 58790 178483 167000) 0 nil])
14
+ nil
package/README.md ADDED
@@ -0,0 +1,355 @@
1
+ # @derivesome/core
2
+
3
+ A lightweight reactive state management library with automatic dependency tracking.
4
+
5
+ ## Table of Contents
6
+
7
+ - [Core Concepts](#core-concepts)
8
+ - [ref](#ref)
9
+ - [derived](#derived)
10
+ - [effect](#effect)
11
+ - [Observable / observe](#observable--observe)
12
+ - [PubSub](#pubsub)
13
+ - [ArrayProxy](#arrayproxy)
14
+ - [Utilities](#utilities)
15
+ - [findRefs](#findrefs)
16
+ - [match](#match)
17
+ - [diff / patch](#diff--patch)
18
+ - [Stack](#stack)
19
+
20
+ ---
21
+
22
+ ## Core Concepts
23
+
24
+ Reactivity is built on **automatic dependency tracking**. When a `ref.get()` is called inside an `effect` or `derived`, that ref registers the running effect as a subscriber. When the ref's value changes, all subscribed effects re-run automatically. This means you never manually declare dependencies — the system infers them at runtime.
25
+
26
+ ---
27
+
28
+ ## ref
29
+
30
+ `ref(value)` creates a reactive reference holding a single value.
31
+
32
+ ```ts
33
+ import { ref } from '@derivesome/core';
34
+
35
+ const count = ref(0);
36
+
37
+ count.get(); // read and subscribe (inside an effect/derived)
38
+ count.peek(); // read without subscribing
39
+ count.set(1); // update value — notifies subscribers only if value changed
40
+ count.set(n => n + 1); // functional update
41
+ ```
42
+
43
+ Values are compared with strict equality (`===`). If the new value is the same as the previous one, no notification is sent.
44
+
45
+ `ref` also supports `dispose()` to remove all subscribers and effects:
46
+
47
+ ```ts
48
+ count.dispose(); // tears down all subscriptions
49
+ ```
50
+
51
+ ### isReference
52
+
53
+ ```ts
54
+ import { isReference } from '@derivesome/core';
55
+
56
+ isReference(count); // true
57
+ isReference(42); // false
58
+ ```
59
+
60
+ ---
61
+
62
+ ## derived
63
+
64
+ `derived(fn)` creates a computed value that re-evaluates automatically when its reactive dependencies change. It is itself a `Reference`, so it can be used anywhere a ref can.
65
+
66
+ ```ts
67
+ import { ref, derived } from '@derivesome/core';
68
+
69
+ const count = ref(0);
70
+ const doubled = derived(() => count.get() * 2);
71
+ const label = derived(() => `Count is: ${doubled.get()}`);
72
+
73
+ doubled.peek(); // 0
74
+ count.set(5);
75
+ doubled.peek(); // 10
76
+ label.peek(); // "Count is: 10"
77
+ ```
78
+
79
+ Dependencies are tracked dynamically per evaluation. If a branch is not taken, its refs are not subscribed:
80
+
81
+ ```ts
82
+ const enabled = ref(false);
83
+ const value = ref(42);
84
+
85
+ const result = derived(() => {
86
+ if (!enabled.get()) return -1;
87
+ return value.get() * 2; // only subscribed when enabled is true
88
+ });
89
+ ```
90
+
91
+ ### isDerived
92
+
93
+ ```ts
94
+ import { isDerived } from '@derivesome/core';
95
+
96
+ isDerived(doubled); // true
97
+ isDerived(count); // false
98
+ ```
99
+
100
+ ---
101
+
102
+ ## effect
103
+
104
+ `effect(fn)` runs a function immediately and re-runs it whenever any `ref.get()` called inside it changes.
105
+
106
+ ```ts
107
+ import { ref, effect } from '@derivesome/core';
108
+
109
+ const name = ref('Alice');
110
+
111
+ effect(() => {
112
+ console.log('Hello,', name.get());
113
+ });
114
+ // logs: "Hello, Alice"
115
+
116
+ name.set('Bob');
117
+ // logs: "Hello, Bob"
118
+ ```
119
+
120
+ Effects are the primary way to cause side effects in response to reactive state changes. Unlike `derived`, they don't return a value.
121
+
122
+ ---
123
+
124
+ ## Observable / observe
125
+
126
+ Every `ref` implements the `Observable` interface, which provides `observe` — a way to subscribe to value changes outside of the effect/derived system.
127
+
128
+ ```ts
129
+ import { ref } from '@derivesome/core';
130
+
131
+ const count = ref(0);
132
+
133
+ const unsubscribe = count.observe((value) => {
134
+ console.log('count changed to', value);
135
+ });
136
+
137
+ count.set(1); // logs: "count changed to 1"
138
+
139
+ unsubscribe(); // stop listening
140
+
141
+ count.set(2); // nothing logged
142
+ ```
143
+
144
+ `observe` accepts an optional options object:
145
+
146
+ ```ts
147
+ count.observe(
148
+ (value) => console.log(value),
149
+ {
150
+ immediate: true, // call the callback immediately with the current value
151
+ cleanup: () => { // called when the subscription is removed
152
+ console.log('cleaned up');
153
+ },
154
+ }
155
+ );
156
+ ```
157
+
158
+ ### isObservable
159
+
160
+ ```ts
161
+ import { isObservable } from '@derivesome/core';
162
+
163
+ isObservable(count); // true
164
+ ```
165
+
166
+ ---
167
+
168
+ ## PubSub
169
+
170
+ `pubsub()` is the low-level primitive underlying `ref`. It provides a typed publish/subscribe channel with no built-in value storage.
171
+
172
+ ```ts
173
+ import { pubsub } from '@derivesome/core';
174
+
175
+ const ps = pubsub<number>();
176
+
177
+ const unsub = ps.subscribe((value) => {
178
+ console.log('received', value);
179
+ });
180
+
181
+ ps.publish(42); // logs: "received 42"
182
+
183
+ unsub(); // unsubscribe
184
+
185
+ ps.publish(99); // nothing logged
186
+
187
+ ps.dispose(); // remove all subscribers and effects
188
+ ```
189
+
190
+ `addEffect` registers a function that participates in the reactive context system (re-runs through `Context.runEffect`):
191
+
192
+ ```ts
193
+ ps.addEffect(() => {
194
+ // re-run as a tracked effect when published
195
+ });
196
+ ```
197
+
198
+ ---
199
+
200
+ ## ArrayProxy
201
+
202
+ `ArrayProxy<T>` extends the native `Array` and emits a typed mutation event whenever the array is modified. Useful for building reactive list state.
203
+
204
+ ```ts
205
+ import { ArrayProxy } from '@derivesome/core';
206
+
207
+ const items = new ArrayProxy('a', 'b', 'c');
208
+
209
+ const unsub = items.subscribe((mutation) => {
210
+ console.log(mutation);
211
+ });
212
+
213
+ items.push('d');
214
+ // { type: 'push', items: ['d'] }
215
+
216
+ items.pop();
217
+ // { type: 'pop', removed: 'd' }
218
+
219
+ items.splice(0, 1, 'z');
220
+ // { type: 'splice', start: 0, deleteCount: 1, removed: ['a'], added: ['z'] }
221
+
222
+ items.set(0, 'x');
223
+ // { type: 'set', index: 0, value: 'x' }
224
+
225
+ items.sort();
226
+ // { type: 'sort' }
227
+
228
+ items.reverse();
229
+ // { type: 'reverse' }
230
+
231
+ items.dispose(); // remove all subscribers
232
+ ```
233
+
234
+ ### Mutation types
235
+
236
+ | Method | Mutation type | Extra fields |
237
+ |---------------|----------------|-------------------------------------------------|
238
+ | `push` | `push` | `items: T[]` |
239
+ | `pop` | `pop` | `removed: T \| undefined` |
240
+ | `shift` | `shift` | `removed: T \| undefined` |
241
+ | `unshift` | `unshift` | `items: T[]` |
242
+ | `splice` | `splice` | `start`, `deleteCount`, `removed`, `added` |
243
+ | `sort` | `sort` | — |
244
+ | `reverse` | `reverse` | — |
245
+ | `fill` | `fill` | `value`, `start`, `end` |
246
+ | `copyWithin` | `copyWithin` | `target`, `start`, `end` |
247
+ | `.set(i, v)` | `set` | `index`, `value` |
248
+
249
+ ---
250
+
251
+ ## Utilities
252
+
253
+ ### findRefs
254
+
255
+ Recursively walks any value (object, array, or primitive) and returns all `Reference` instances found within it.
256
+
257
+ ```ts
258
+ import { ref, findRefs } from '@derivesome/core';
259
+
260
+ const a = ref(1);
261
+ const b = ref(2);
262
+
263
+ findRefs({ a, b, nested: { c: ref(3) } });
264
+ // [Reference<1>, Reference<2>, Reference<3>]
265
+
266
+ findRefs([a, b]);
267
+ // [Reference<1>, Reference<2>]
268
+
269
+ findRefs(42); // []
270
+ ```
271
+
272
+ ---
273
+
274
+ ### match
275
+
276
+ `match(input, pattern)` is a structural pattern matching utility. It checks whether `input` structurally matches `pattern`, working as a type guard.
277
+
278
+ ```ts
279
+ import { match } from '@derivesome/core';
280
+
281
+ // Primitive matching
282
+ match('hello', 'hello'); // true
283
+ match(42, 42); // true
284
+ match(42, 99); // false
285
+
286
+ // Object structural matching (partial — only pattern keys are checked)
287
+ const user = { role: 'admin', name: 'Alice' };
288
+ match(user, { role: 'admin' }); // true — narrows type
289
+ match(user, { role: 'guest' }); // false
290
+
291
+ // Array matching (positional)
292
+ match([1, 2, 3], [1, 2]); // true (pattern checked index-by-index)
293
+
294
+ // Type narrowing
295
+ type Shape =
296
+ | { kind: 'circle'; radius: number }
297
+ | { kind: 'square'; side: number };
298
+
299
+ function area(shape: Shape): number {
300
+ if (match(shape, { kind: 'circle' as const })) {
301
+ return Math.PI * shape.radius ** 2; // shape is narrowed to circle
302
+ }
303
+ return shape.side ** 2;
304
+ }
305
+ ```
306
+
307
+ ---
308
+
309
+ ### diff / patch
310
+
311
+ `diff(a, b)` computes a list of structural differences between two values. `patch(target, diffs)` applies those diffs to produce a new value.
312
+
313
+ ```ts
314
+ import { diff, patch } from '@derivesome/core';
315
+
316
+ const a = { x: 1, y: 2 };
317
+ const b = { x: 1, y: 3, z: 4 };
318
+
319
+ const diffs = diff(a, b);
320
+ // [
321
+ // { type: 'changed', path: ['y'], oldValue: 2, newValue: 3 },
322
+ // { type: 'added', path: ['z'], newValue: 4 },
323
+ // ]
324
+
325
+ const result = patch({ ...a }, diffs);
326
+ // { x: 1, y: 3, z: 4 }
327
+ ```
328
+
329
+ Works recursively on nested objects and arrays:
330
+
331
+ ```ts
332
+ diff([1, 2, 3], [1, 2, 3, 4]);
333
+ // [{ type: 'added', path: [3], newValue: 4 }]
334
+
335
+ diff({ a: { b: 1 } }, { a: { b: 2 } });
336
+ // [{ type: 'changed', path: ['a', 'b'], oldValue: 1, newValue: 2 }]
337
+ ```
338
+
339
+ ---
340
+
341
+ ### Stack
342
+
343
+ A simple typed stack used internally by the context system. Exported for external use.
344
+
345
+ ```ts
346
+ import { Stack } from '@derivesome/core';
347
+
348
+ const stack = new Stack([1, 2, 3]);
349
+
350
+ stack.current; // 3 (top of stack)
351
+ stack.push(4);
352
+ stack.current; // 4
353
+ stack.pop(); // 4
354
+ stack.current; // 3
355
+ ```