@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.
- package/.README.md.~undo-tree~ +4 -0
- package/.package.json.~undo-tree~ +30 -0
- package/.tsconfig.cjs.json.~undo-tree~ +8 -0
- package/.tsconfig.json.~undo-tree~ +14 -0
- package/README.md +355 -0
- package/README.md~ +355 -0
- package/dist/cjs/array-proxy.d.ts +56 -0
- package/dist/cjs/array-proxy.d.ts.map +1 -0
- package/dist/cjs/array-proxy.js +72 -0
- package/dist/cjs/array-proxy.js.map +1 -0
- package/dist/cjs/common/array.d.ts +11 -0
- package/dist/cjs/common/array.d.ts.map +1 -0
- package/dist/cjs/common/array.js +57 -0
- package/dist/cjs/common/array.js.map +1 -0
- package/dist/cjs/common/compare.d.ts +2 -0
- package/dist/cjs/common/compare.d.ts.map +1 -0
- package/dist/cjs/common/compare.js +8 -0
- package/dist/cjs/common/compare.js.map +1 -0
- package/dist/cjs/common/diff.d.ts +9 -0
- package/dist/cjs/common/diff.d.ts.map +1 -0
- package/dist/cjs/common/diff.js +63 -0
- package/dist/cjs/common/diff.js.map +1 -0
- package/dist/cjs/common/has.d.ts +4 -0
- package/dist/cjs/common/has.d.ts.map +1 -0
- package/dist/cjs/common/has.js +11 -0
- package/dist/cjs/common/has.js.map +1 -0
- package/dist/cjs/common/index.d.ts +12 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +28 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/is.d.ts +5 -0
- package/dist/cjs/common/is.d.ts.map +1 -0
- package/dist/cjs/common/is.js +18 -0
- package/dist/cjs/common/is.js.map +1 -0
- package/dist/cjs/common/match.d.ts +23 -0
- package/dist/cjs/common/match.d.ts.map +1 -0
- package/dist/cjs/common/match.js +49 -0
- package/dist/cjs/common/match.js.map +1 -0
- package/dist/cjs/common/patch.d.ts +3 -0
- package/dist/cjs/common/patch.d.ts.map +1 -0
- package/dist/cjs/common/patch.js +44 -0
- package/dist/cjs/common/patch.js.map +1 -0
- package/dist/cjs/common/stack.d.ts +8 -0
- package/dist/cjs/common/stack.d.ts.map +1 -0
- package/dist/cjs/common/stack.js +24 -0
- package/dist/cjs/common/stack.js.map +1 -0
- package/dist/cjs/common/string.d.ts +2 -0
- package/dist/cjs/common/string.d.ts.map +1 -0
- package/dist/cjs/common/string.js +36 -0
- package/dist/cjs/common/string.js.map +1 -0
- package/dist/cjs/common/types.d.ts +27 -0
- package/dist/cjs/common/types.d.ts.map +1 -0
- package/dist/cjs/common/types.js +3 -0
- package/dist/cjs/common/types.js.map +1 -0
- package/dist/cjs/common/unique-array.d.ts +17 -0
- package/dist/cjs/common/unique-array.d.ts.map +1 -0
- package/dist/cjs/common/unique-array.js +73 -0
- package/dist/cjs/common/unique-array.js.map +1 -0
- package/dist/cjs/context.d.ts +15 -0
- package/dist/cjs/context.d.ts.map +1 -0
- package/dist/cjs/context.js +33 -0
- package/dist/cjs/context.js.map +1 -0
- package/dist/cjs/derived.d.ts +11 -0
- package/dist/cjs/derived.d.ts.map +1 -0
- package/dist/cjs/derived.js +26 -0
- package/dist/cjs/derived.js.map +1 -0
- package/dist/cjs/effect.d.ts +7 -0
- package/dist/cjs/effect.d.ts.map +1 -0
- package/dist/cjs/effect.js +7 -0
- package/dist/cjs/effect.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +24 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/observable.d.ts +12 -0
- package/dist/cjs/observable.d.ts.map +1 -0
- package/dist/cjs/observable.js +24 -0
- package/dist/cjs/observable.js.map +1 -0
- package/dist/cjs/pubsub.d.ts +11 -0
- package/dist/cjs/pubsub.d.ts.map +1 -0
- package/dist/cjs/pubsub.js +50 -0
- package/dist/cjs/pubsub.js.map +1 -0
- package/dist/cjs/reference.d.ts +15 -0
- package/dist/cjs/reference.d.ts.map +1 -0
- package/dist/cjs/reference.js +49 -0
- package/dist/cjs/reference.js.map +1 -0
- package/dist/cjs/utils/findRefs.d.ts +3 -0
- package/dist/cjs/utils/findRefs.d.ts.map +1 -0
- package/dist/cjs/utils/findRefs.js +23 -0
- package/dist/cjs/utils/findRefs.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +2 -0
- package/dist/cjs/utils/index.d.ts.map +1 -0
- package/dist/cjs/utils/index.js +18 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/array-proxy.d.ts +56 -0
- package/dist/esm/array-proxy.d.ts.map +1 -0
- package/dist/esm/array-proxy.js +68 -0
- package/dist/esm/array-proxy.js.map +1 -0
- package/dist/esm/common/array.d.ts +11 -0
- package/dist/esm/common/array.d.ts.map +1 -0
- package/dist/esm/common/array.js +48 -0
- package/dist/esm/common/array.js.map +1 -0
- package/dist/esm/common/compare.d.ts +2 -0
- package/dist/esm/common/compare.d.ts.map +1 -0
- package/dist/esm/common/compare.js +4 -0
- package/dist/esm/common/compare.js.map +1 -0
- package/dist/esm/common/diff.d.ts +9 -0
- package/dist/esm/common/diff.d.ts.map +1 -0
- package/dist/esm/common/diff.js +59 -0
- package/dist/esm/common/diff.js.map +1 -0
- package/dist/esm/common/has.d.ts +4 -0
- package/dist/esm/common/has.d.ts.map +1 -0
- package/dist/esm/common/has.js +8 -0
- package/dist/esm/common/has.js.map +1 -0
- package/dist/esm/common/index.d.ts +12 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +12 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/is.d.ts +5 -0
- package/dist/esm/common/is.d.ts.map +1 -0
- package/dist/esm/common/is.js +13 -0
- package/dist/esm/common/is.js.map +1 -0
- package/dist/esm/common/match.d.ts +23 -0
- package/dist/esm/common/match.d.ts.map +1 -0
- package/dist/esm/common/match.js +46 -0
- package/dist/esm/common/match.js.map +1 -0
- package/dist/esm/common/patch.d.ts +3 -0
- package/dist/esm/common/patch.d.ts.map +1 -0
- package/dist/esm/common/patch.js +40 -0
- package/dist/esm/common/patch.js.map +1 -0
- package/dist/esm/common/stack.d.ts +8 -0
- package/dist/esm/common/stack.d.ts.map +1 -0
- package/dist/esm/common/stack.js +20 -0
- package/dist/esm/common/stack.js.map +1 -0
- package/dist/esm/common/string.d.ts +2 -0
- package/dist/esm/common/string.d.ts.map +1 -0
- package/dist/esm/common/string.js +32 -0
- package/dist/esm/common/string.js.map +1 -0
- package/dist/esm/common/types.d.ts +27 -0
- package/dist/esm/common/types.d.ts.map +1 -0
- package/dist/esm/common/types.js +2 -0
- package/dist/esm/common/types.js.map +1 -0
- package/dist/esm/common/unique-array.d.ts +17 -0
- package/dist/esm/common/unique-array.d.ts.map +1 -0
- package/dist/esm/common/unique-array.js +69 -0
- package/dist/esm/common/unique-array.js.map +1 -0
- package/dist/esm/context.d.ts +15 -0
- package/dist/esm/context.d.ts.map +1 -0
- package/dist/esm/context.js +28 -0
- package/dist/esm/context.js.map +1 -0
- package/dist/esm/derived.d.ts +11 -0
- package/dist/esm/derived.d.ts.map +1 -0
- package/dist/esm/derived.js +21 -0
- package/dist/esm/derived.js.map +1 -0
- package/dist/esm/effect.d.ts +7 -0
- package/dist/esm/effect.d.ts.map +1 -0
- package/dist/esm/effect.js +3 -0
- package/dist/esm/effect.js.map +1 -0
- package/dist/esm/index.d.ts +8 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/observable.d.ts +12 -0
- package/dist/esm/observable.d.ts.map +1 -0
- package/dist/esm/observable.js +19 -0
- package/dist/esm/observable.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/pubsub.d.ts +11 -0
- package/dist/esm/pubsub.d.ts.map +1 -0
- package/dist/esm/pubsub.js +47 -0
- package/dist/esm/pubsub.js.map +1 -0
- package/dist/esm/reference.d.ts +15 -0
- package/dist/esm/reference.d.ts.map +1 -0
- package/dist/esm/reference.js +44 -0
- package/dist/esm/reference.js.map +1 -0
- package/dist/esm/utils/findRefs.d.ts +3 -0
- package/dist/esm/utils/findRefs.d.ts.map +1 -0
- package/dist/esm/utils/findRefs.js +19 -0
- package/dist/esm/utils/findRefs.js.map +1 -0
- package/dist/esm/utils/index.d.ts +2 -0
- package/dist/esm/utils/index.d.ts.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/package.json +41 -0
- package/package.json~ +42 -0
- package/src/array-proxy.ts +94 -0
- package/src/common/array.ts +72 -0
- package/src/common/compare.ts +3 -0
- package/src/common/diff.test.ts +114 -0
- package/src/common/diff.ts +85 -0
- package/src/common/has.ts +7 -0
- package/src/common/index.ts +11 -0
- package/src/common/is.ts +14 -0
- package/src/common/match.ts +90 -0
- package/src/common/patch.test.ts +118 -0
- package/src/common/patch.ts +47 -0
- package/src/common/stack.ts +22 -0
- package/src/common/string.test.ts +46 -0
- package/src/common/string.ts +35 -0
- package/src/common/types.ts +61 -0
- package/src/common/unique-array.ts +80 -0
- package/src/context.ts +36 -0
- package/src/derived.test.ts +45 -0
- package/src/derived.ts +35 -0
- package/src/effect.ts +9 -0
- package/src/index.ts +7 -0
- package/src/observable.ts +40 -0
- package/src/pubsub.test.ts +29 -0
- package/src/pubsub.ts +71 -0
- package/src/reference.test.ts +32 -0
- package/src/reference.ts +63 -0
- package/src/utils/findRefs.ts +22 -0
- package/src/utils/index.ts +1 -0
- package/tsconfig.cjs.json +8 -0
- package/tsconfig.cjs.json~ +0 -0
- package/tsconfig.json +24 -0
- package/tsconfig.json~ +24 -0
|
@@ -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
|
+
```
|