@welshman/app 0.1.2 → 0.2.1

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 (226) hide show
  1. package/dist/app/src/blossom.d.ts +4 -0
  2. package/dist/app/src/blossom.d.ts.map +1 -0
  3. package/dist/app/src/blossom.js +16 -0
  4. package/dist/app/src/blossom.js.map +1 -0
  5. package/dist/app/src/commands.d.ts +13 -42
  6. package/dist/app/src/commands.d.ts.map +1 -1
  7. package/dist/app/src/commands.js +13 -3
  8. package/dist/app/src/commands.js.map +1 -1
  9. package/dist/app/src/core.d.ts +0 -3
  10. package/dist/app/src/core.d.ts.map +1 -1
  11. package/dist/app/src/core.js +13 -31
  12. package/dist/app/src/core.js.map +1 -1
  13. package/dist/app/src/feeds.d.ts +3 -5
  14. package/dist/app/src/feeds.d.ts.map +1 -1
  15. package/dist/app/src/feeds.js +4 -55
  16. package/dist/app/src/feeds.js.map +1 -1
  17. package/dist/app/src/follows.d.ts.map +1 -1
  18. package/dist/app/src/follows.js +3 -4
  19. package/dist/app/src/follows.js.map +1 -1
  20. package/dist/app/src/handles.d.ts.map +1 -1
  21. package/dist/app/src/handles.js +4 -2
  22. package/dist/app/src/handles.js.map +1 -1
  23. package/dist/app/src/index.d.ts +2 -5
  24. package/dist/app/src/index.d.ts.map +1 -1
  25. package/dist/app/src/index.js +40 -5
  26. package/dist/app/src/index.js.map +1 -1
  27. package/dist/app/src/mutes.d.ts.map +1 -1
  28. package/dist/app/src/mutes.js +3 -4
  29. package/dist/app/src/mutes.js.map +1 -1
  30. package/dist/app/src/pins.d.ts.map +1 -1
  31. package/dist/app/src/pins.js +3 -4
  32. package/dist/app/src/pins.js.map +1 -1
  33. package/dist/app/src/profiles.d.ts +1 -1
  34. package/dist/app/src/profiles.d.ts.map +1 -1
  35. package/dist/app/src/profiles.js +5 -6
  36. package/dist/app/src/profiles.js.map +1 -1
  37. package/dist/app/src/relaySelections.d.ts +10 -5
  38. package/dist/app/src/relaySelections.d.ts.map +1 -1
  39. package/dist/app/src/relaySelections.js +31 -41
  40. package/dist/app/src/relaySelections.js.map +1 -1
  41. package/dist/app/src/relays.d.ts +1 -0
  42. package/dist/app/src/relays.d.ts.map +1 -1
  43. package/dist/app/src/relays.js +31 -4
  44. package/dist/app/src/relays.js.map +1 -1
  45. package/dist/app/src/search.d.ts.map +1 -1
  46. package/dist/app/src/search.js +1 -1
  47. package/dist/app/src/search.js.map +1 -1
  48. package/dist/app/src/session.d.ts +25 -7
  49. package/dist/app/src/session.d.ts.map +1 -1
  50. package/dist/app/src/session.js +50 -3
  51. package/dist/app/src/session.js.map +1 -1
  52. package/dist/app/src/storage.d.ts +1 -0
  53. package/dist/app/src/storage.d.ts.map +1 -1
  54. package/dist/app/src/storage.js +6 -1
  55. package/dist/app/src/storage.js.map +1 -1
  56. package/dist/app/src/storageAdapters.d.ts +88 -0
  57. package/dist/app/src/storageAdapters.d.ts.map +1 -0
  58. package/dist/app/src/storageAdapters.js +181 -0
  59. package/dist/app/src/storageAdapters.js.map +1 -0
  60. package/dist/app/src/sync.d.ts.map +1 -1
  61. package/dist/app/src/sync.js +7 -9
  62. package/dist/app/src/sync.js.map +1 -1
  63. package/dist/app/src/tags.js +1 -1
  64. package/dist/app/src/tags.js.map +1 -1
  65. package/dist/app/src/thunk.d.ts +38 -53
  66. package/dist/app/src/thunk.d.ts.map +1 -1
  67. package/dist/app/src/thunk.js +182 -132
  68. package/dist/app/src/thunk.js.map +1 -1
  69. package/dist/app/src/user.d.ts +13 -7
  70. package/dist/app/src/user.d.ts.map +1 -1
  71. package/dist/app/src/user.js +28 -28
  72. package/dist/app/src/user.js.map +1 -1
  73. package/dist/app/src/zappers.js +1 -1
  74. package/dist/dvm/src/handler.d.ts.map +1 -1
  75. package/dist/dvm/src/handler.js +9 -7
  76. package/dist/dvm/src/handler.js.map +1 -1
  77. package/dist/dvm/src/request.d.ts +6 -15
  78. package/dist/dvm/src/request.d.ts.map +1 -1
  79. package/dist/dvm/src/request.js +23 -23
  80. package/dist/dvm/src/request.js.map +1 -1
  81. package/dist/feeds/src/compiler.d.ts +15 -4
  82. package/dist/feeds/src/compiler.d.ts.map +1 -1
  83. package/dist/feeds/src/compiler.js +11 -6
  84. package/dist/feeds/src/compiler.js.map +1 -1
  85. package/dist/feeds/src/controller.d.ts +16 -9
  86. package/dist/feeds/src/controller.d.ts.map +1 -1
  87. package/dist/feeds/src/controller.js +36 -36
  88. package/dist/feeds/src/controller.js.map +1 -1
  89. package/dist/feeds/src/core.d.ts +1 -23
  90. package/dist/feeds/src/core.d.ts.map +1 -1
  91. package/dist/feeds/src/display.d.ts +21 -0
  92. package/dist/feeds/src/display.d.ts.map +1 -0
  93. package/dist/feeds/src/display.js +144 -0
  94. package/dist/feeds/src/display.js.map +1 -0
  95. package/dist/feeds/src/index.d.ts +2 -0
  96. package/dist/feeds/src/index.d.ts.map +1 -1
  97. package/dist/feeds/src/index.js +2 -0
  98. package/dist/feeds/src/index.js.map +1 -1
  99. package/dist/feeds/src/request.d.ts +22 -0
  100. package/dist/feeds/src/request.d.ts.map +1 -0
  101. package/dist/feeds/src/request.js +61 -0
  102. package/dist/feeds/src/request.js.map +1 -0
  103. package/dist/feeds/src/utils.d.ts +2 -1
  104. package/dist/feeds/src/utils.d.ts.map +1 -1
  105. package/dist/feeds/src/utils.js +50 -1
  106. package/dist/feeds/src/utils.js.map +1 -1
  107. package/dist/feeds/src/validate.d.ts +24 -0
  108. package/dist/feeds/src/validate.d.ts.map +1 -0
  109. package/dist/feeds/src/validate.js +137 -0
  110. package/dist/feeds/src/validate.js.map +1 -0
  111. package/dist/lib/src/TaskQueue.d.ts +2 -0
  112. package/dist/lib/src/TaskQueue.d.ts.map +1 -1
  113. package/dist/lib/src/TaskQueue.js +10 -0
  114. package/dist/lib/src/TaskQueue.js.map +1 -1
  115. package/dist/lib/src/Tools.d.ts +100 -3
  116. package/dist/lib/src/Tools.d.ts.map +1 -1
  117. package/dist/lib/src/Tools.js +169 -3
  118. package/dist/lib/src/Tools.js.map +1 -1
  119. package/dist/net/src/auth.d.ts +2 -1
  120. package/dist/net/src/auth.d.ts.map +1 -1
  121. package/dist/net/src/auth.js +16 -2
  122. package/dist/net/src/auth.js.map +1 -1
  123. package/dist/net/src/context.d.ts.map +1 -1
  124. package/dist/net/src/context.js +3 -3
  125. package/dist/net/src/context.js.map +1 -1
  126. package/dist/net/src/diff.d.ts.map +1 -1
  127. package/dist/net/src/diff.js +11 -12
  128. package/dist/net/src/diff.js.map +1 -1
  129. package/dist/net/src/policy.js +3 -3
  130. package/dist/net/src/policy.js.map +1 -1
  131. package/dist/net/src/pool.d.ts +1 -1
  132. package/dist/net/src/pool.d.ts.map +1 -1
  133. package/dist/net/src/pool.js +1 -1
  134. package/dist/net/src/pool.js.map +1 -1
  135. package/dist/net/src/publish.d.ts +29 -30
  136. package/dist/net/src/publish.d.ts.map +1 -1
  137. package/dist/net/src/publish.js +79 -108
  138. package/dist/net/src/publish.js.map +1 -1
  139. package/dist/net/src/request.d.ts +26 -60
  140. package/dist/net/src/request.d.ts.map +1 -1
  141. package/dist/net/src/request.js +170 -158
  142. package/dist/net/src/request.js.map +1 -1
  143. package/dist/net/src/tracker.d.ts.map +1 -1
  144. package/dist/net/src/tracker.js +4 -4
  145. package/dist/net/src/tracker.js.map +1 -1
  146. package/dist/relay/src/repository.d.ts +1 -1
  147. package/dist/relay/src/repository.d.ts.map +1 -1
  148. package/dist/relay/src/repository.js +1 -1
  149. package/dist/relay/src/repository.js.map +1 -1
  150. package/dist/signer/src/signers/nip46.d.ts +3 -3
  151. package/dist/signer/src/signers/nip46.d.ts.map +1 -1
  152. package/dist/signer/src/signers/nip46.js +26 -20
  153. package/dist/signer/src/signers/nip46.js.map +1 -1
  154. package/dist/store/src/collection.d.ts +32 -0
  155. package/dist/store/src/collection.d.ts.map +1 -0
  156. package/dist/{app → store}/src/collection.js +20 -8
  157. package/dist/store/src/collection.js.map +1 -0
  158. package/dist/store/src/custom.d.ts +10 -0
  159. package/dist/store/src/custom.d.ts.map +1 -0
  160. package/dist/store/src/custom.js +41 -0
  161. package/dist/store/src/custom.js.map +1 -0
  162. package/dist/store/src/getter.d.ts +11 -0
  163. package/dist/store/src/getter.d.ts.map +1 -0
  164. package/dist/store/src/getter.js +11 -0
  165. package/dist/store/src/getter.js.map +1 -0
  166. package/dist/store/src/index.d.ts +6 -34
  167. package/dist/store/src/index.d.ts.map +1 -1
  168. package/dist/store/src/index.js +6 -163
  169. package/dist/store/src/index.js.map +1 -1
  170. package/dist/store/src/repository.d.ts +16 -0
  171. package/dist/store/src/repository.d.ts.map +1 -0
  172. package/dist/store/src/repository.js +100 -0
  173. package/dist/store/src/repository.js.map +1 -0
  174. package/dist/store/src/synced.d.ts +2 -0
  175. package/dist/store/src/synced.d.ts.map +1 -0
  176. package/dist/store/src/synced.js +9 -0
  177. package/dist/store/src/synced.js.map +1 -0
  178. package/dist/store/src/throttle.d.ts +3 -0
  179. package/dist/store/src/throttle.d.ts.map +1 -0
  180. package/dist/store/src/throttle.js +9 -0
  181. package/dist/store/src/throttle.js.map +1 -0
  182. package/dist/tsconfig.build.tsbuildinfo +1 -1
  183. package/dist/util/src/Events.d.ts +1 -1
  184. package/dist/util/src/Events.d.ts.map +1 -1
  185. package/dist/util/src/Events.js +6 -5
  186. package/dist/util/src/Events.js.map +1 -1
  187. package/dist/util/src/Kinds.d.ts +3 -0
  188. package/dist/util/src/Kinds.d.ts.map +1 -1
  189. package/dist/util/src/Kinds.js +3 -0
  190. package/dist/util/src/Kinds.js.map +1 -1
  191. package/dist/util/src/List.d.ts +2 -0
  192. package/dist/util/src/List.d.ts.map +1 -1
  193. package/dist/util/src/List.js +10 -3
  194. package/dist/util/src/List.js.map +1 -1
  195. package/dist/util/src/Profile.d.ts +3 -10
  196. package/dist/util/src/Profile.d.ts.map +1 -1
  197. package/dist/util/src/Profile.js +1 -0
  198. package/dist/util/src/Profile.js.map +1 -1
  199. package/dist/util/src/Relay.d.ts +6 -0
  200. package/dist/util/src/Relay.d.ts.map +1 -1
  201. package/dist/util/src/Relay.js +9 -2
  202. package/dist/util/src/Relay.js.map +1 -1
  203. package/dist/util/src/Tags.d.ts +1 -0
  204. package/dist/util/src/Tags.d.ts.map +1 -1
  205. package/dist/util/src/Tags.js +2 -1
  206. package/dist/util/src/Tags.js.map +1 -1
  207. package/package.json +10 -9
  208. package/dist/app/src/adapters.d.ts +0 -33
  209. package/dist/app/src/adapters.d.ts.map +0 -1
  210. package/dist/app/src/adapters.js +0 -84
  211. package/dist/app/src/adapters.js.map +0 -1
  212. package/dist/app/src/collection.d.ts +0 -13
  213. package/dist/app/src/collection.d.ts.map +0 -1
  214. package/dist/app/src/collection.js.map +0 -1
  215. package/dist/app/src/freshness.d.ts +0 -11
  216. package/dist/app/src/freshness.d.ts.map +0 -1
  217. package/dist/app/src/freshness.js +0 -14
  218. package/dist/app/src/freshness.js.map +0 -1
  219. package/dist/app/src/router.d.ts +0 -199
  220. package/dist/app/src/router.d.ts.map +0 -1
  221. package/dist/app/src/router.js +0 -273
  222. package/dist/app/src/router.js.map +0 -1
  223. package/dist/app/src/util.d.ts +0 -13
  224. package/dist/app/src/util.d.ts.map +0 -1
  225. package/dist/app/src/util.js +0 -46
  226. package/dist/app/src/util.js.map +0 -1
@@ -0,0 +1,88 @@
1
+ import { TrustedEvent } from "@welshman/util";
2
+ import { Tracker } from "@welshman/net";
3
+ import { Repository } from "@welshman/relay";
4
+ export type RelaysStorageAdapterOptions = {
5
+ name: string;
6
+ };
7
+ export declare class RelaysStorageAdapter {
8
+ readonly options: RelaysStorageAdapterOptions;
9
+ keyPath: string;
10
+ constructor(options: RelaysStorageAdapterOptions);
11
+ init(): Promise<void>;
12
+ sync(): import("svelte/store").Unsubscriber;
13
+ }
14
+ export type HandlesStorageAdapterOptions = {
15
+ name: string;
16
+ };
17
+ export declare class HandlesStorageAdapter {
18
+ readonly options: HandlesStorageAdapterOptions;
19
+ keyPath: string;
20
+ constructor(options: HandlesStorageAdapterOptions);
21
+ init(): Promise<void>;
22
+ sync(): () => void;
23
+ }
24
+ export type ZappersStorageAdapterOptions = {
25
+ name: string;
26
+ };
27
+ export declare class ZappersStorageAdapter {
28
+ readonly options: ZappersStorageAdapterOptions;
29
+ keyPath: string;
30
+ constructor(options: ZappersStorageAdapterOptions);
31
+ init(): Promise<void>;
32
+ sync(): () => void;
33
+ }
34
+ export type FreshnessStorageAdapterOptions = {
35
+ name: string;
36
+ };
37
+ export declare class FreshnessStorageAdapter {
38
+ readonly options: FreshnessStorageAdapterOptions;
39
+ keyPath: string;
40
+ constructor(options: FreshnessStorageAdapterOptions);
41
+ init(): Promise<void>;
42
+ sync(): () => void;
43
+ }
44
+ export type PlaintextStorageAdapterOptions = {
45
+ name: string;
46
+ };
47
+ export declare class PlaintextStorageAdapter {
48
+ readonly options: PlaintextStorageAdapterOptions;
49
+ keyPath: string;
50
+ constructor(options: PlaintextStorageAdapterOptions);
51
+ init(): Promise<void>;
52
+ sync(): () => void;
53
+ }
54
+ export type TrackerStorageAdapterOptions = {
55
+ name: string;
56
+ tracker: Tracker;
57
+ };
58
+ export declare class TrackerStorageAdapter {
59
+ readonly options: TrackerStorageAdapterOptions;
60
+ keyPath: string;
61
+ constructor(options: TrackerStorageAdapterOptions);
62
+ init(): Promise<void>;
63
+ sync(): () => void;
64
+ }
65
+ export type EventsStorageAdapterOptions = {
66
+ name: string;
67
+ limit: number;
68
+ repository: Repository;
69
+ rankEvent: (event: TrustedEvent) => number;
70
+ };
71
+ export declare class EventsStorageAdapter {
72
+ readonly options: EventsStorageAdapterOptions;
73
+ keyPath: string;
74
+ eventCount: number;
75
+ constructor(options: EventsStorageAdapterOptions);
76
+ init(): Promise<void>;
77
+ sync(): () => Repository<TrustedEvent>;
78
+ }
79
+ export declare const defaultStorageAdapters: {
80
+ relays: RelaysStorageAdapter;
81
+ handles: HandlesStorageAdapter;
82
+ zappers: ZappersStorageAdapter;
83
+ freshness: FreshnessStorageAdapter;
84
+ plaintext: PlaintextStorageAdapter;
85
+ tracker: TrackerStorageAdapter;
86
+ events: EventsStorageAdapter;
87
+ };
88
+ //# sourceMappingURL=storageAdapters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageAdapters.d.ts","sourceRoot":"","sources":["../../../src/storageAdapters.ts"],"names":[],"mappings":"AAEA,OAAO,EAQL,YAAY,EACb,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAA;AAErC,OAAO,EAAC,UAAU,EAAmB,MAAM,iBAAiB,CAAA;AAU5D,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,oBAAoB;IAGnB,QAAQ,CAAC,OAAO,EAAE,2BAA2B;IAFzD,OAAO,SAAQ;gBAEM,OAAO,EAAE,2BAA2B;IAEnD,IAAI;IAIV,IAAI;CAGL;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,qBAAqB;IAGpB,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAF1D,OAAO,SAAU;gBAEI,OAAO,EAAE,4BAA4B;IAEpD,IAAI;IAIV,IAAI;CAGL;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,qBAAqB;IAGpB,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAF1D,OAAO,SAAU;gBAEI,OAAO,EAAE,4BAA4B;IAEpD,IAAI;IAIV,IAAI;CAGL;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,uBAAuB;IAGtB,QAAQ,CAAC,OAAO,EAAE,8BAA8B;IAF5D,OAAO,SAAQ;gBAEM,OAAO,EAAE,8BAA8B;IAEtD,IAAI;IAMV,IAAI;CAUL;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,qBAAa,uBAAuB;IAGtB,QAAQ,CAAC,OAAO,EAAE,8BAA8B;IAF5D,OAAO,SAAQ;gBAEM,OAAO,EAAE,8BAA8B;IAEtD,IAAI;IAMV,IAAI;CAUL;AAED,MAAM,MAAM,4BAA4B,GAAG;IACzC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,qBAAa,qBAAqB;IAGpB,QAAQ,CAAC,OAAO,EAAE,4BAA4B;IAF1D,OAAO,SAAO;gBAEO,OAAO,EAAE,4BAA4B;IAEpD,IAAI;IAUV,IAAI;CAyBL;AAED,MAAM,MAAM,2BAA2B,GAAG;IACxC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,MAAM,CAAA;CAC3C,CAAA;AAED,qBAAa,oBAAoB;IAInB,QAAQ,CAAC,OAAO,EAAE,2BAA2B;IAHzD,OAAO,SAAO;IACd,UAAU,SAAI;gBAEO,OAAO,EAAE,2BAA2B;IAEnD,IAAI;IAQV,IAAI;CAiCL;AAED,eAAO,MAAM,sBAAsB;;;;;;;;CA6BlC,CAAA"}
@@ -0,0 +1,181 @@
1
+ import { derived } from "svelte/store";
2
+ import { batch, sortBy, call, fromPairs } from "@welshman/lib";
3
+ import { PROFILE, FOLLOWS, MUTES, RELAYS, INBOX_RELAYS, getPubkeyTagValues, getListTags, } from "@welshman/util";
4
+ import { throttled, withGetter } from "@welshman/store";
5
+ import { freshness } from "@welshman/store";
6
+ import { getAll, bulkPut, bulkDelete } from "./storage.js";
7
+ import { relays } from "./relays.js";
8
+ import { handles, onHandle } from "./handles.js";
9
+ import { zappers, onZapper } from "./zappers.js";
10
+ import { plaintext } from "./plaintext.js";
11
+ import { repository, tracker } from "./core.js";
12
+ import { sessions } from "./session.js";
13
+ import { userFollows } from "./user.js";
14
+ export class RelaysStorageAdapter {
15
+ options;
16
+ keyPath = "url";
17
+ constructor(options) {
18
+ this.options = options;
19
+ }
20
+ async init() {
21
+ relays.set(await getAll(this.options.name));
22
+ }
23
+ sync() {
24
+ return throttled(3000, relays).subscribe($relays => Boolean(console.log('relays', $relays)) || bulkPut(this.options.name, $relays));
25
+ }
26
+ }
27
+ export class HandlesStorageAdapter {
28
+ options;
29
+ keyPath = "nip05";
30
+ constructor(options) {
31
+ this.options = options;
32
+ }
33
+ async init() {
34
+ handles.set(await getAll(this.options.name));
35
+ }
36
+ sync() {
37
+ return onHandle(batch(300, $handles => bulkPut(this.options.name, $handles)));
38
+ }
39
+ }
40
+ export class ZappersStorageAdapter {
41
+ options;
42
+ keyPath = "lnurl";
43
+ constructor(options) {
44
+ this.options = options;
45
+ }
46
+ async init() {
47
+ zappers.set(await getAll(this.options.name));
48
+ }
49
+ sync() {
50
+ return onZapper(batch(300, $zappers => bulkPut(this.options.name, $zappers)));
51
+ }
52
+ }
53
+ export class FreshnessStorageAdapter {
54
+ options;
55
+ keyPath = "key";
56
+ constructor(options) {
57
+ this.options = options;
58
+ }
59
+ async init() {
60
+ const items = await getAll(this.options.name);
61
+ freshness.set(fromPairs(items.map(item => [item.key, item.value])));
62
+ }
63
+ sync() {
64
+ const interval = setInterval(() => {
65
+ bulkPut(this.options.name, Object.entries(freshness.get()).map(([key, value]) => ({ key, value })));
66
+ }, 10_000);
67
+ return () => clearInterval(interval);
68
+ }
69
+ }
70
+ export class PlaintextStorageAdapter {
71
+ options;
72
+ keyPath = "key";
73
+ constructor(options) {
74
+ this.options = options;
75
+ }
76
+ async init() {
77
+ const items = await getAll(this.options.name);
78
+ plaintext.set(fromPairs(items.map(item => [item.key, item.value])));
79
+ }
80
+ sync() {
81
+ const interval = setInterval(() => {
82
+ bulkPut(this.options.name, Object.entries(plaintext.get()).map(([key, value]) => ({ key, value })));
83
+ }, 10_000);
84
+ return () => clearInterval(interval);
85
+ }
86
+ }
87
+ export class TrackerStorageAdapter {
88
+ options;
89
+ keyPath = "id";
90
+ constructor(options) {
91
+ this.options = options;
92
+ }
93
+ async init() {
94
+ const relaysById = new Map();
95
+ for (const { id, relays } of await getAll(this.options.name)) {
96
+ relaysById.set(id, new Set(relays));
97
+ }
98
+ this.options.tracker.load(relaysById);
99
+ }
100
+ sync() {
101
+ const updateOne = (id, relay) => bulkPut(this.options.name, [{ id, relays: Array.from(this.options.tracker.getRelays(id)) }]);
102
+ const updateAll = () => bulkPut(this.options.name, Array.from(this.options.tracker.relaysById.entries()).map(([id, relays]) => ({
103
+ id,
104
+ relays: Array.from(relays),
105
+ })));
106
+ this.options.tracker.on("add", updateOne);
107
+ this.options.tracker.on("remove", updateOne);
108
+ this.options.tracker.on("load", updateAll);
109
+ this.options.tracker.on("clear", updateAll);
110
+ return () => {
111
+ this.options.tracker.off("add", updateOne);
112
+ this.options.tracker.off("remove", updateOne);
113
+ this.options.tracker.off("load", updateAll);
114
+ this.options.tracker.off("clear", updateAll);
115
+ };
116
+ }
117
+ }
118
+ export class EventsStorageAdapter {
119
+ options;
120
+ keyPath = "id";
121
+ eventCount = 0;
122
+ constructor(options) {
123
+ this.options = options;
124
+ }
125
+ async init() {
126
+ const events = await getAll(this.options.name);
127
+ this.eventCount = events.length;
128
+ this.options.repository.load(events);
129
+ }
130
+ sync() {
131
+ const { name, limit, rankEvent } = this.options;
132
+ const onUpdate = async ({ added, removed }) => {
133
+ // Only add events we want to keep
134
+ const keep = added.filter(e => rankEvent(e) > 0);
135
+ // Add new events
136
+ if (keep.length > 0) {
137
+ await bulkPut(name, keep);
138
+ }
139
+ // If we're well above our retention limit, drop lowest-ranked events
140
+ if (this.eventCount > limit * 1.5) {
141
+ removed = new Set(removed);
142
+ for (const event of sortBy(e => -rankEvent(e), await getAll(name)).slice(limit)) {
143
+ removed.add(event.id);
144
+ }
145
+ }
146
+ if (removed.size > 0) {
147
+ await bulkDelete(name, Array.from(removed));
148
+ }
149
+ // Keep track of our total number of events. This isn't strictly accurate, but it's close enough
150
+ this.eventCount = this.eventCount + keep.length - removed.size;
151
+ };
152
+ this.options.repository.on("update", onUpdate);
153
+ return () => this.options.repository.off("update", onUpdate);
154
+ }
155
+ }
156
+ export const defaultStorageAdapters = {
157
+ relays: new RelaysStorageAdapter({ name: "relays" }),
158
+ handles: new HandlesStorageAdapter({ name: "handles" }),
159
+ zappers: new ZappersStorageAdapter({ name: "zappers" }),
160
+ freshness: new FreshnessStorageAdapter({ name: "freshness" }),
161
+ plaintext: new PlaintextStorageAdapter({ name: "plaintext" }),
162
+ tracker: new TrackerStorageAdapter({ name: "tracker", tracker }),
163
+ events: new EventsStorageAdapter(call(() => {
164
+ const userFollowPubkeys = withGetter(derived(userFollows, l => new Set(getPubkeyTagValues(getListTags(l)))));
165
+ return {
166
+ repository,
167
+ name: "events",
168
+ limit: 10_000,
169
+ rankEvent: (e) => {
170
+ const $sessions = sessions.get();
171
+ const metaKinds = [PROFILE, FOLLOWS, MUTES, RELAYS, INBOX_RELAYS];
172
+ if ($sessions[e.pubkey] || e.tags.some(t => $sessions[t[1]]))
173
+ return 1;
174
+ if (metaKinds.includes(e.kind) && userFollowPubkeys.get()?.has(e.pubkey))
175
+ return 1;
176
+ return 0;
177
+ },
178
+ };
179
+ })),
180
+ };
181
+ //# sourceMappingURL=storageAdapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storageAdapters.js","sourceRoot":"","sources":["../../../src/storageAdapters.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAgB1C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,YAOxC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,qBAAmB,WAAW,kBAYxD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,qBAAmB,WAAW,kBAiBxD,CAAA"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../src/sync.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAA;AAS1C,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,YAQxC,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,OAAO,EAAE,MAAM,EAAE,CAAA;CAClB,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,qBAAmB,WAAW,kBAUxD,CAAA;AAED,eAAO,MAAM,IAAI,GAAU,qBAAmB,WAAW,kBAUxD,CAAA"}
@@ -1,13 +1,15 @@
1
1
  import { isSignedEvent } from "@welshman/util";
2
- import { push as basePush, pull as basePull, PublishEvent, RequestEvent, SinglePublish, SingleRequest, } from "@welshman/net";
2
+ import { push as basePush, pull as basePull, publishOne, requestOne } from "@welshman/net";
3
3
  import { repository } from "./core.js";
4
4
  import { relaysByUrl } from "./relays.js";
5
5
  const query = (filters) => repository.query(filters, { shouldSort: filters.every(f => f.limit === undefined) });
6
6
  export const hasNegentropy = (url) => {
7
7
  const p = relaysByUrl.get().get(url)?.profile;
8
- if (p?.supported_nips?.includes(77))
8
+ if (p?.negentropy)
9
9
  return true;
10
- if (p?.software?.includes("strfry") && !p?.version?.match(/^0\./))
10
+ if (p?.supported_nips?.includes?.(77))
11
+ return true;
12
+ if (p?.software?.includes?.("strfry") && !p?.version?.match(/^0\./))
11
13
  return true;
12
14
  return false;
13
15
  };
@@ -16,9 +18,7 @@ export const pull = async ({ relays, filters }) => {
16
18
  await Promise.all(relays.map(async (relay) => {
17
19
  await (hasNegentropy(relay)
18
20
  ? basePull({ filters, events, relays: [relay] })
19
- : new Promise(resolve => {
20
- new SingleRequest({ filters, relay, autoClose: true }).on(RequestEvent.Close, resolve);
21
- }));
21
+ : requestOne({ filters, relay, autoClose: true }));
22
22
  }));
23
23
  };
24
24
  export const push = async ({ relays, filters }) => {
@@ -26,9 +26,7 @@ export const push = async ({ relays, filters }) => {
26
26
  await Promise.all(relays.map(async (relay) => {
27
27
  await (hasNegentropy(relay)
28
28
  ? basePush({ filters, events, relays: [relay] })
29
- : Promise.all(events.map((event) => new Promise(resolve => {
30
- new SinglePublish({ event, relay }).on(PublishEvent.Complete, resolve);
31
- }))));
29
+ : Promise.all(events.map((event) => publishOne({ event, relay }))));
32
30
  }));
33
31
  };
34
32
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAc,MAAM,gBAAgB,CAAA;AACzD,OAAO,EACL,IAAI,IAAI,QAAQ,EAChB,IAAI,IAAI,QAAQ,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,OAAiB,EAAE,EAAE,CAClC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IAE7C,IAAI,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9E,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAc,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAEnD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAC1B,IAAI,aAAa,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACtF,CAAC,CAAC,CAAC,CAAA;IACT,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAc,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAEnD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,MAAM,CAAC,GAAG,CACR,CAAC,KAAkB,EAAE,EAAE,CACrB,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;gBAC1B,IAAI,aAAa,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YACtE,CAAC,CAAC,CACL,CACF,CAAC,CAAA;IACR,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../../src/sync.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAc,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,eAAe,CAAA;AACxF,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,OAAiB,EAAE,EAAE,CAClC,UAAU,CAAC,KAAK,CAAC,OAAO,EAAE,EAAC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,EAAC,CAAC,CAAA;AAEpF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;IAC3C,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAA;IAE7C,IAAI,CAAC,EAAE,UAAU;QAAE,OAAO,IAAI,CAAA;IAC9B,IAAI,CAAC,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAClD,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAA;IAEhF,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOD,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAc,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAEnD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,UAAU,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC,CAAA;IACpD,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,KAAK,EAAE,EAAC,MAAM,EAAE,OAAO,EAAc,EAAE,EAAE;IAC3D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAEnD,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;YACzB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import { uniq, remove, nthEq } from "@welshman/lib";
2
2
  import { getAddress, isReplaceable, getReplyTags, getPubkeyTagValues, isReplaceableKind, } from "@welshman/util";
3
+ import { Router } from "@welshman/router";
3
4
  import { displayProfileByPubkey } from "./profiles.js";
4
5
  import { pubkey } from "./session.js";
5
- import { Router } from "./router.js";
6
6
  export const tagZapSplit = (pubkey, split = 1) => [
7
7
  "zap",
8
8
  pubkey,
@@ -1 +1 @@
1
- {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../../src/tags.ts"],"names":[],"mappings":"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"}
@@ -1,63 +1,48 @@
1
- import { Writable, Readable } from "svelte/store";
2
- import { Deferred, TaskQueue } from "@welshman/lib";
1
+ import type { Subscriber } from "svelte/store";
2
+ import { TaskQueue } from "@welshman/lib";
3
3
  import { TrustedEvent, EventTemplate, StampedEvent, OwnedEvent } from "@welshman/util";
4
- import { AdapterContext, PublishStatus } from "@welshman/net";
4
+ import { PublishStatus, PublishOptions, PublishStatusByRelay } from "@welshman/net";
5
5
  export type ThunkEvent = EventTemplate | StampedEvent | OwnedEvent | TrustedEvent;
6
- export type ThunkRequest = {
6
+ export declare const prepEvent: (event: ThunkEvent) => TrustedEvent;
7
+ export type ThunkOptions = Omit<PublishOptions, "event"> & {
7
8
  event: ThunkEvent;
8
- relays: string[];
9
9
  delay?: number;
10
- timeout?: number;
11
- context?: AdapterContext;
12
- };
13
- export type ThunkStatus = {
14
- message: string;
15
- status: PublishStatus;
16
10
  };
17
- export type ThunkStatusByUrl = Record<string, ThunkStatus>;
18
- export type Thunk = {
11
+ export declare class Thunk {
12
+ readonly options: ThunkOptions;
13
+ _subs: Subscriber<Thunk>[];
19
14
  event: TrustedEvent;
20
- request: ThunkRequest;
15
+ result: import("@welshman/lib").Deferred<PublishStatusByRelay, PublishStatusByRelay>;
16
+ status: PublishStatusByRelay;
17
+ details: Record<string, string>;
21
18
  controller: AbortController;
22
- result: Deferred<ThunkStatusByUrl>;
23
- status: Writable<ThunkStatusByUrl>;
24
- };
25
- export declare const prepEvent: (event: ThunkEvent) => TrustedEvent;
26
- export declare const makeThunk: (request: ThunkRequest) => {
27
- event: TrustedEvent;
28
- request: ThunkRequest;
29
- controller: AbortController;
30
- result: Deferred<ThunkStatusByUrl>;
31
- status: Writable<ThunkStatusByUrl>;
32
- };
33
- export type MergedThunk = {
34
- thunks: Thunk[];
35
- controller: AbortController;
36
- result: Promise<ThunkStatusByUrl[]>;
37
- status: Readable<ThunkStatusByUrl>;
38
- };
39
- export declare const isMergedThunk: (thunk: Thunk | MergedThunk) => thunk is MergedThunk;
40
- export declare const mergeThunks: (thunks: Thunk[]) => {
41
- thunks: Thunk[];
19
+ constructor(options: ThunkOptions);
20
+ _notify(): void;
21
+ _fail(message: string): void;
22
+ publish(): Promise<void>;
23
+ subscribe(subscriber: Subscriber<Thunk>): () => void;
24
+ }
25
+ export declare class MergedThunk {
26
+ readonly thunks: Thunk[];
27
+ _subs: Subscriber<MergedThunk>[];
42
28
  controller: AbortController;
43
- result: Promise<ThunkStatusByUrl[]>;
44
- status: Readable<ThunkStatusByUrl>;
45
- };
46
- export declare function walkThunks(thunks: (Thunk | MergedThunk)[]): Iterable<Thunk>;
47
- export declare const thunks: Writable<Record<string, Thunk | MergedThunk>>;
48
- export declare const publishThunk: (request: ThunkRequest) => {
49
- event: TrustedEvent;
50
- request: ThunkRequest;
51
- controller: AbortController;
52
- result: Deferred<ThunkStatusByUrl>;
53
- status: Writable<ThunkStatusByUrl>;
54
- };
55
- export declare const publishThunks: (requests: ThunkRequest[]) => {
56
- thunks: Thunk[];
57
- controller: AbortController;
58
- result: Promise<ThunkStatusByUrl[]>;
59
- status: Readable<ThunkStatusByUrl>;
60
- };
61
- export declare const abortThunk: (thunk: Thunk) => void;
29
+ status: PublishStatusByRelay;
30
+ details: Record<string, string>;
31
+ constructor(thunks: Thunk[]);
32
+ _notify(): void;
33
+ subscribe(subscriber: Subscriber<MergedThunk>): () => void;
34
+ }
35
+ export type AbstractThunk = Thunk | MergedThunk;
36
+ export declare const isThunk: (thunk: AbstractThunk) => thunk is Thunk;
37
+ export declare const isMergedThunk: (thunk: AbstractThunk) => thunk is MergedThunk;
38
+ export declare const thunkHasStatus: (thunk: AbstractThunk, status: PublishStatus) => boolean;
39
+ export declare const thunkUrlsWithStatus: (thunk: AbstractThunk, status: PublishStatus) => string[];
40
+ export declare const thunkCompleteUrls: (thunk: AbstractThunk) => string[];
41
+ export declare const thunkIncompleteUrls: (thunk: AbstractThunk) => string[];
42
+ export declare const thunkIsComplete: (thunk: AbstractThunk) => boolean;
43
+ export declare function walkThunks(thunks: AbstractThunk[]): Iterable<Thunk>;
44
+ export declare const thunks: import("svelte/store").Writable<Record<string, AbstractThunk>>;
62
45
  export declare const thunkQueue: TaskQueue<Thunk>;
46
+ export declare const publishThunk: (options: ThunkOptions) => Thunk;
47
+ export declare const abortThunk: (thunk: Thunk) => void;
63
48
  //# sourceMappingURL=thunk.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thunk.d.ts","sourceRoot":"","sources":["../../../src/thunk.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,QAAQ,EAAyB,MAAM,cAAc,CAAA;AACvE,OAAO,EACL,QAAQ,EAER,SAAS,EAOV,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,YAAY,EAEZ,aAAa,EAEb,YAAY,EACZ,UAAU,EAMX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAe,cAAc,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAMvF,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA;AAEjF,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,OAAO,CAAC,EAAE,cAAc,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,aAAa,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;AAE1D,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,YAAY,CAAA;IACnB,OAAO,EAAE,YAAY,CAAA;IACrB,UAAU,EAAE,eAAe,CAAA;IAC3B,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAClC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAazB,YACjB,CAAA;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,YAAY;;;;;;CAO9C,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,UAAU,EAAE,eAAe,CAAA;IAC3B,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAAA;IACnC,MAAM,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,OAAO,KAAK,GAAG,WAAW,KAAG,KAAK,IAAI,WACpC,CAAA;AAEhC,eAAO,MAAM,WAAW,GAAI,QAAQ,KAAK,EAAE;;;;;CAiC1C,CAAA;AAED,wBAAiB,UAAU,CAAC,MAAM,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAQ5E;AAED,eAAO,MAAM,MAAM,+CAAoD,CAAA;AAEvE,eAAO,MAAM,YAAY,GAAI,SAAS,YAAY;;;;;;CAcjD,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,UAAU,YAAY,EAAE;;;;;CAiBrD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,SAItC,CAAA;AAED,eAAO,MAAM,UAAU,kBA0GrB,CAAA"}
1
+ {"version":3,"file":"thunk.d.ts","sourceRoot":"","sources":["../../../src/thunk.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAA;AAE5C,OAAO,EACL,SAAS,EAUV,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,YAAY,EAEZ,aAAa,EAEb,YAAY,EACZ,UAAU,EAMX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAU,aAAa,EAAE,cAAc,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAA;AAI1F,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,CAAA;AAEjF,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAazB,YACjB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,EAAE,UAAU,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,qBAAa,KAAK;IASJ,QAAQ,CAAC,OAAO,EAAE,YAAY;IAR1C,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,CAAK;IAE/B,KAAK,EAAE,YAAY,CAAA;IACnB,MAAM,+EAAgC;IACtC,MAAM,EAAE,oBAAoB,CAAK;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;IACpC,UAAU,kBAAwB;gBAEb,OAAO,EAAE,YAAY;IAQ1C,OAAO;IAMP,KAAK,CAAC,OAAO,EAAE,MAAM;IASf,OAAO;IAwFb,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC;CASxC;AAED,qBAAa,WAAW;IAOV,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE;IANpC,KAAK,EAAE,UAAU,CAAC,WAAW,CAAC,EAAE,CAAK;IAErC,UAAU,kBAAwB;IAClC,MAAM,EAAE,oBAAoB,CAAK;IACjC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAK;gBAEf,MAAM,EAAE,KAAK,EAAE;IA+BpC,OAAO;IAMP,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,WAAW,CAAC;CAS9C;AAED,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,WAAW,CAAA;AAE/C,eAAO,MAAM,OAAO,GAAI,OAAO,aAAa,KAAG,KAAK,IAAI,KAA+B,CAAA;AAEvF,eAAO,MAAM,aAAa,GAAI,OAAO,aAAa,KAAG,KAAK,IAAI,WAChC,CAAA;AAE9B,eAAO,MAAM,cAAc,GAAI,OAAO,aAAa,EAAE,QAAQ,aAAa,YACrB,CAAA;AAErD,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,EAAE,QAAQ,aAAa,aACZ,CAAA;AAEnE,eAAO,MAAM,iBAAiB,GAAI,OAAO,aAAa,aAMrD,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,aAMvD,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,YAAwC,CAAA;AAE5F,wBAAiB,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAQpE;AAED,eAAO,MAAM,MAAM,gEAA8C,CAAA;AAEjE,eAAO,MAAM,UAAU,kBAKrB,CAAA;AAEF,eAAO,MAAM,YAAY,GAAI,SAAS,YAAY,UAcjD,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,OAAO,KAAK,SAItC,CAAA"}