@welshman/app 0.0.34 → 0.0.36

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 (161) hide show
  1. package/build/src/collection.d.ts +3 -4
  2. package/build/src/{collection.mjs → collection.js} +5 -5
  3. package/build/src/collection.js.map +1 -0
  4. package/build/src/commands.d.ts +12 -13
  5. package/build/src/{commands.mjs → commands.js} +7 -7
  6. package/build/src/commands.js.map +1 -0
  7. package/build/src/context.d.ts +1 -1
  8. package/build/src/{context.mjs → context.js} +6 -6
  9. package/build/src/context.js.map +1 -0
  10. package/build/src/core.d.ts +0 -1
  11. package/build/src/{core.mjs → core.js} +6 -6
  12. package/build/src/core.js.map +1 -0
  13. package/build/src/feeds.d.ts +3 -3
  14. package/build/src/{feeds.mjs → feeds.js} +26 -22
  15. package/build/src/feeds.js.map +1 -0
  16. package/build/src/follows.d.ts +1 -2
  17. package/build/src/{follows.mjs → follows.js} +7 -7
  18. package/build/src/follows.js.map +1 -0
  19. package/build/src/{freshness.mjs → freshness.js} +4 -4
  20. package/build/src/freshness.js.map +1 -0
  21. package/build/src/handles.d.ts +0 -1
  22. package/build/src/{handles.mjs → handles.js} +14 -11
  23. package/build/src/handles.js.map +1 -0
  24. package/build/src/index.d.ts +34 -26
  25. package/build/src/index.js +27 -0
  26. package/build/src/index.js.map +1 -0
  27. package/build/src/mutes.d.ts +1 -2
  28. package/build/src/{mutes.mjs → mutes.js} +8 -8
  29. package/build/src/mutes.js.map +1 -0
  30. package/build/src/plaintext.d.ts +1 -1
  31. package/build/src/{plaintext.mjs → plaintext.js} +5 -5
  32. package/build/src/plaintext.js.map +1 -0
  33. package/build/src/profiles.d.ts +0 -1
  34. package/build/src/{profiles.mjs → profiles.js} +9 -11
  35. package/build/src/profiles.js.map +1 -0
  36. package/build/src/relaySelections.d.ts +1 -2
  37. package/build/src/{relaySelections.mjs → relaySelections.js} +7 -7
  38. package/build/src/relaySelections.js.map +1 -0
  39. package/build/src/relays.d.ts +1 -2
  40. package/build/src/{relays.mjs → relays.js} +67 -37
  41. package/build/src/relays.js.map +1 -0
  42. package/build/src/router.d.ts +30 -30
  43. package/build/src/router.js +244 -0
  44. package/build/src/router.js.map +1 -0
  45. package/build/src/search.d.ts +3 -4
  46. package/build/src/{search.mjs → search.js} +15 -18
  47. package/build/src/search.js.map +1 -0
  48. package/build/src/session.d.ts +9 -9
  49. package/build/src/{session.mjs → session.js} +3 -3
  50. package/build/src/session.js.map +1 -0
  51. package/build/src/storage.d.ts +20 -45
  52. package/build/src/{storage.mjs → storage.js} +41 -32
  53. package/build/src/storage.js.map +1 -0
  54. package/build/src/{subscribe.mjs → subscribe.js} +2 -2
  55. package/build/src/subscribe.js.map +1 -0
  56. package/build/src/sync.d.ts +1 -1
  57. package/build/src/{sync.mjs → sync.js} +12 -12
  58. package/build/src/sync.js.map +1 -0
  59. package/build/src/tags.d.ts +1 -1
  60. package/build/src/{tags.mjs → tags.js} +5 -5
  61. package/build/src/tags.js.map +1 -0
  62. package/build/src/thunk.d.ts +4 -5
  63. package/build/src/{thunk.mjs → thunk.js} +11 -11
  64. package/build/src/thunk.js.map +1 -0
  65. package/build/src/{topics.mjs → topics.js} +4 -4
  66. package/build/src/topics.js.map +1 -0
  67. package/build/src/user.d.ts +0 -1
  68. package/build/src/{user.mjs → user.js} +8 -8
  69. package/build/src/user.js.map +1 -0
  70. package/build/src/{util.mjs → util.js} +1 -1
  71. package/build/src/util.js.map +1 -0
  72. package/build/src/{wot.mjs → wot.js} +8 -8
  73. package/build/src/wot.js.map +1 -0
  74. package/build/src/zappers.d.ts +1 -2
  75. package/build/src/{zappers.mjs → zappers.js} +7 -7
  76. package/build/src/zappers.js.map +1 -0
  77. package/build/tsconfig.tsbuildinfo +1 -0
  78. package/package.json +11 -16
  79. package/build/src/collection.cjs +0 -56
  80. package/build/src/collection.cjs.map +0 -1
  81. package/build/src/collection.mjs.map +0 -1
  82. package/build/src/commands.cjs +0 -34
  83. package/build/src/commands.cjs.map +0 -1
  84. package/build/src/commands.mjs.map +0 -1
  85. package/build/src/context.cjs +0 -43
  86. package/build/src/context.cjs.map +0 -1
  87. package/build/src/context.mjs.map +0 -1
  88. package/build/src/core.cjs +0 -36
  89. package/build/src/core.cjs.map +0 -1
  90. package/build/src/core.mjs.map +0 -1
  91. package/build/src/feeds.cjs +0 -93
  92. package/build/src/feeds.cjs.map +0 -1
  93. package/build/src/feeds.mjs.map +0 -1
  94. package/build/src/follows.cjs +0 -25
  95. package/build/src/follows.cjs.map +0 -1
  96. package/build/src/follows.mjs.map +0 -1
  97. package/build/src/freshness.cjs +0 -20
  98. package/build/src/freshness.cjs.map +0 -1
  99. package/build/src/freshness.mjs.map +0 -1
  100. package/build/src/handles.cjs +0 -84
  101. package/build/src/handles.cjs.map +0 -1
  102. package/build/src/handles.mjs.map +0 -1
  103. package/build/src/index.cjs +0 -43
  104. package/build/src/index.cjs.map +0 -1
  105. package/build/src/index.mjs +0 -27
  106. package/build/src/index.mjs.map +0 -1
  107. package/build/src/mutes.cjs +0 -28
  108. package/build/src/mutes.cjs.map +0 -1
  109. package/build/src/mutes.mjs.map +0 -1
  110. package/build/src/plaintext.cjs +0 -38
  111. package/build/src/plaintext.cjs.map +0 -1
  112. package/build/src/plaintext.mjs.map +0 -1
  113. package/build/src/profiles.cjs +0 -45
  114. package/build/src/profiles.cjs.map +0 -1
  115. package/build/src/profiles.mjs.map +0 -1
  116. package/build/src/relaySelections.cjs +0 -43
  117. package/build/src/relaySelections.cjs.map +0 -1
  118. package/build/src/relaySelections.mjs.map +0 -1
  119. package/build/src/relays.cjs +0 -178
  120. package/build/src/relays.cjs.map +0 -1
  121. package/build/src/relays.mjs.map +0 -1
  122. package/build/src/router.cjs +0 -259
  123. package/build/src/router.cjs.map +0 -1
  124. package/build/src/router.mjs +0 -241
  125. package/build/src/router.mjs.map +0 -1
  126. package/build/src/search.cjs +0 -84
  127. package/build/src/search.cjs.map +0 -1
  128. package/build/src/search.mjs.map +0 -1
  129. package/build/src/session.cjs +0 -61
  130. package/build/src/session.cjs.map +0 -1
  131. package/build/src/session.mjs.map +0 -1
  132. package/build/src/storage.cjs +0 -177
  133. package/build/src/storage.cjs.map +0 -1
  134. package/build/src/storage.mjs.map +0 -1
  135. package/build/src/subscribe.cjs +0 -47
  136. package/build/src/subscribe.cjs.map +0 -1
  137. package/build/src/subscribe.mjs.map +0 -1
  138. package/build/src/sync.cjs +0 -45
  139. package/build/src/sync.cjs.map +0 -1
  140. package/build/src/sync.mjs.map +0 -1
  141. package/build/src/tags.cjs +0 -94
  142. package/build/src/tags.cjs.map +0 -1
  143. package/build/src/tags.mjs.map +0 -1
  144. package/build/src/thunk.cjs +0 -153
  145. package/build/src/thunk.cjs.map +0 -1
  146. package/build/src/thunk.mjs.map +0 -1
  147. package/build/src/topics.cjs +0 -23
  148. package/build/src/topics.cjs.map +0 -1
  149. package/build/src/topics.mjs.map +0 -1
  150. package/build/src/user.cjs +0 -45
  151. package/build/src/user.cjs.map +0 -1
  152. package/build/src/user.mjs.map +0 -1
  153. package/build/src/util.cjs +0 -56
  154. package/build/src/util.cjs.map +0 -1
  155. package/build/src/util.mjs.map +0 -1
  156. package/build/src/wot.cjs +0 -79
  157. package/build/src/wot.cjs.map +0 -1
  158. package/build/src/wot.mjs.map +0 -1
  159. package/build/src/zappers.cjs +0 -63
  160. package/build/src/zappers.cjs.map +0 -1
  161. package/build/src/zappers.mjs.map +0 -1
@@ -1,9 +1,8 @@
1
- /// <reference types="svelte" />
2
1
  import type { IFuseOptions, FuseResult } from "fuse.js";
3
- import { debounce } from 'throttle-debounce';
2
+ import { debounce } from "throttle-debounce";
4
3
  import type { PublishedProfile } from "@welshman/util";
5
- import type { Topic } from './topics';
6
- import type { Relay } from './relays';
4
+ import type { Topic } from "./topics.js";
5
+ import type { Relay } from "./relays.js";
7
6
  export type SearchOptions<V, T> = {
8
7
  getValue: (item: T) => V;
9
8
  fuseOptions?: IFuseOptions<T>;
@@ -1,21 +1,20 @@
1
1
  import Fuse from "fuse.js";
2
- import { debounce } from 'throttle-debounce';
3
- import { derived } from 'svelte/store';
4
- import { dec, sortBy } from '@welshman/lib';
5
- import { PROFILE } from '@welshman/util';
6
- import { throttled } from '@welshman/store';
7
- import { load } from "./subscribe.mjs";
8
- import { wotGraph } from "./wot.mjs";
9
- import { profiles } from "./profiles.mjs";
10
- import { topics } from "./topics.mjs";
11
- import { relays } from "./relays.mjs";
12
- import { handlesByNip05 } from "./handles.mjs";
2
+ import { debounce } from "throttle-debounce";
3
+ import { derived } from "svelte/store";
4
+ import { dec, sortBy } from "@welshman/lib";
5
+ import { PROFILE } from "@welshman/util";
6
+ import { throttled } from "@welshman/store";
7
+ import { load } from "./subscribe.js";
8
+ import { wotGraph } from "./wot.js";
9
+ import { profiles } from "./profiles.js";
10
+ import { topics } from "./topics.js";
11
+ import { relays } from "./relays.js";
12
+ import { handlesByNip05 } from "./handles.js";
13
13
  export const createSearch = (options, opts) => {
14
14
  const fuse = new Fuse(options, { ...opts.fuseOptions, includeScore: true });
15
15
  const map = new Map(options.map(item => [opts.getValue(item), item]));
16
16
  const search = (term) => {
17
- var _a;
18
- (_a = opts.onSearch) === null || _a === void 0 ? void 0 : _a.call(opts, term);
17
+ opts.onSearch?.(term);
19
18
  let results = term ? fuse.search(term) : options.map(item => ({ item }));
20
19
  if (opts.sortFn) {
21
20
  results = sortBy(opts.sortFn, results);
@@ -37,10 +36,8 @@ export const searchProfiles = debounce(500, (search) => {
37
36
  });
38
37
  export const profileSearch = derived([throttled(800, profiles), throttled(800, handlesByNip05)], ([$profiles, $handlesByNip05]) => {
39
38
  // Remove invalid nip05's from profiles
40
- const options = $profiles
41
- .map(p => {
42
- var _a;
43
- const isNip05Valid = !p.nip05 || ((_a = $handlesByNip05.get(p.nip05)) === null || _a === void 0 ? void 0 : _a.pubkey) === p.event.pubkey;
39
+ const options = $profiles.map(p => {
40
+ const isNip05Valid = !p.nip05 || $handlesByNip05.get(p.nip05)?.pubkey === p.event.pubkey;
44
41
  return isNip05Valid ? p : { ...p, nip05: "" };
45
42
  });
46
43
  return createSearch(options, {
@@ -74,4 +71,4 @@ export const relaySearch = derived(relays, $relays => createSearch($relays, {
74
71
  keys: ["url", "name", { name: "description", weight: 0.3 }],
75
72
  },
76
73
  }));
77
- //# sourceMappingURL=search.mjs.map
74
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/search.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,SAAS,CAAA;AAE1B,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAA;AAC1C,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAA;AACpC,OAAO,EAAC,GAAG,EAAE,MAAM,EAAC,MAAM,eAAe,CAAA;AACzC,OAAO,EAAC,OAAO,EAAC,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAA;AAEzC,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAA;AACnC,OAAO,EAAC,QAAQ,EAAC,MAAM,UAAU,CAAA;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAA;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,OAAO,EAAC,MAAM,EAAC,MAAM,aAAa,CAAA;AAElC,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAA;AAiB3C,MAAM,CAAC,MAAM,YAAY,GAAG,CAAO,OAAY,EAAE,IAAyB,EAAgB,EAAE;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,EAAC,GAAG,IAAI,CAAC,WAAW,EAAE,YAAY,EAAE,IAAI,EAAC,CAAC,CAAA;IACzE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAO,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;IAE3E,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE;QAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;QAErB,IAAI,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAC,IAAI,EAAC,CAAkB,CAAC,CAAA;QAEvF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACxC,CAAC;QAED,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC,CAAA;IAED,OAAO;QACL,OAAO;QACP,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,CAAC,KAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QACvC,aAAa,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAC7C,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;KAChE,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAc,EAAE,EAAE;IAC7D,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,KAAK,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAC,CAAC,EAAC,CAAC,CAAA;IAC/C,CAAC;AACH,CAAC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAClC,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,EAC1D,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,EAAE;IAC/B,uCAAuC;IACvC,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAChC,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QAExF,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,EAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAC,OAAO,EAAE;QAC3B,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,CAAC,OAAyB,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM;QAC7D,MAAM,EAAE,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE;YACxB,IAAI,KAAK,IAAI,KAAK,GAAG,GAAG;gBAAE,OAAO,CAAC,KAAM,CAAA;YAExC,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAE3D,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QAClD,CAAC;QACD,WAAW,EAAE;YACX,IAAI,EAAE;gBACJ,OAAO;gBACP,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC;gBAC3B,EAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAC;gBACnC,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAC;aAC7B;YACD,SAAS,EAAE,GAAG;YACd,UAAU,EAAE,KAAK;SAClB;KACF,CAAC,CAAA;AACJ,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CACnD,YAAY,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI;IACtC,WAAW,EAAE,EAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EAAC;CAC9B,CAAC,CACH,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CACnD,YAAY,CAAC,OAAO,EAAE;IACpB,QAAQ,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG;IACrC,WAAW,EAAE;QACX,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,EAAC,CAAC;KAC1D;CACF,CAAC,CACH,CAAA"}
@@ -1,15 +1,15 @@
1
1
  import { Nip46Signer, Nip07Signer, Nip01Signer, Nip55Signer } from "@welshman/signer";
2
2
  export type SessionNip01 = {
3
- method: 'nip01';
3
+ method: "nip01";
4
4
  pubkey: string;
5
5
  secret: string;
6
6
  };
7
7
  export type SessionNip07 = {
8
- method: 'nip07';
8
+ method: "nip07";
9
9
  pubkey: string;
10
10
  };
11
11
  export type SessionNip46 = {
12
- method: 'nip46';
12
+ method: "nip46";
13
13
  pubkey: string;
14
14
  secret: string;
15
15
  handler: {
@@ -18,12 +18,12 @@ export type SessionNip46 = {
18
18
  };
19
19
  };
20
20
  export type SessionNip55 = {
21
- method: 'nip55';
21
+ method: "nip55";
22
22
  pubkey: string;
23
23
  signer: string;
24
24
  };
25
25
  export type SessionPubkey = {
26
- method: 'pubkey';
26
+ method: "pubkey";
27
27
  pubkey: string;
28
28
  };
29
29
  export type SessionAnyMethod = SessionNip01 | SessionNip07 | SessionNip46 | SessionNip55 | SessionPubkey;
@@ -38,10 +38,10 @@ export declare const updateSession: (pubkey: string, f: (session: Session) => Se
38
38
  export declare const dropSession: (pubkey: string) => void;
39
39
  export declare const nip46Perms = "sign_event:22242,nip04_encrypt,nip04_decrypt,nip44_encrypt,nip44_decrypt";
40
40
  export declare const getSigner: {
41
- (args_0: Session | null): NonNullable<Nip07Signer | Nip01Signer | Nip46Signer | Nip55Signer | null>;
42
- cache: import("@welshman/lib").LRUCache<string, Nip07Signer | Nip01Signer | Nip46Signer | Nip55Signer | null>;
41
+ (args_0: Session | null): NonNullable<Nip01Signer | Nip07Signer | Nip46Signer | Nip55Signer | null>;
42
+ cache: import("@welshman/lib").LRUCache<string, Nip01Signer | Nip07Signer | Nip46Signer | Nip55Signer | null>;
43
43
  getKey: (args: [Session | null]) => string;
44
- getValue: (args: [Session | null]) => Nip07Signer | Nip01Signer | Nip46Signer | Nip55Signer | null;
44
+ getValue: (args: [Session | null]) => Nip01Signer | Nip07Signer | Nip46Signer | Nip55Signer | null;
45
45
  };
46
- export declare const signer: import("@welshman/store").ReadableWithGetter<NonNullable<Nip07Signer | Nip01Signer | Nip46Signer | Nip55Signer | null>>;
46
+ export declare const signer: import("@welshman/store").ReadableWithGetter<NonNullable<Nip01Signer | Nip07Signer | Nip46Signer | Nip55Signer | null>>;
47
47
  export declare const nip44EncryptToSelf: (payload: string) => Promise<string>;
@@ -22,7 +22,7 @@ export const getSigner = cached({
22
22
  maxSize: 100,
23
23
  getKey: ([session]) => hash(String(JSON.stringify(session))),
24
24
  getValue: ([session]) => {
25
- switch (session === null || session === void 0 ? void 0 : session.method) {
25
+ switch (session?.method) {
26
26
  case "nip07":
27
27
  return new Nip07Signer();
28
28
  case "nip01":
@@ -38,7 +38,7 @@ export const getSigner = cached({
38
38
  default:
39
39
  return null;
40
40
  }
41
- }
41
+ },
42
42
  });
43
43
  export const signer = withGetter(derived(session, getSigner));
44
44
  export const nip44EncryptToSelf = (payload) => {
@@ -49,4 +49,4 @@ export const nip44EncryptToSelf = (payload) => {
49
49
  }
50
50
  return $signer.nip44.encrypt($pubkey, payload);
51
51
  };
52
- //# sourceMappingURL=session.mjs.map
52
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,15 @@
1
- /// <reference types="svelte" />
2
1
  import type { IDBPDatabase } from "idb";
3
2
  import type { Unsubscriber, Writable } from "svelte/store";
4
3
  import type { TrustedEvent, Repository } from "@welshman/util";
5
4
  import type { Tracker } from "@welshman/net";
6
- export type IndexedDbAdapter = {
5
+ export type StorageAdapterOptions = {
6
+ throttle?: number;
7
+ migrate?: (items: any[]) => any[];
8
+ };
9
+ export type StorageAdapter = {
7
10
  keyPath: string;
8
11
  store: Writable<any[]>;
12
+ options: StorageAdapterOptions;
9
13
  };
10
14
  export declare let db: IDBPDatabase;
11
15
  export declare const dead: import("@welshman/store").WritableWithGetter<boolean>;
@@ -13,61 +17,32 @@ export declare const subs: Unsubscriber[];
13
17
  export declare const getAll: (name: string) => Promise<any[]>;
14
18
  export declare const bulkPut: (name: string, data: any[]) => Promise<void>;
15
19
  export declare const bulkDelete: (name: string, ids: string[]) => Promise<void>;
16
- export declare const initIndexedDbAdapter: (name: string, adapter: IndexedDbAdapter) => Promise<void>;
17
- export declare const initStorage: (name: string, version: number, adapters: Record<string, IndexedDbAdapter>) => Promise<void>;
20
+ export declare const initIndexedDbAdapter: (name: string, adapter: StorageAdapter) => Promise<void>;
21
+ export declare const initStorage: (name: string, version: number, adapters: Record<string, StorageAdapter>) => Promise<void>;
18
22
  export declare const closeStorage: () => Promise<void>;
19
23
  export declare const clearStorage: () => Promise<void>;
20
- export type StorageAdapterOptions = {
21
- throttle?: number;
22
- migrate?: (items: any[]) => any[];
23
- };
24
24
  export declare const storageAdapters: {
25
+ fromCollectionStore: <T>(keyPath: string, store: Writable<T[]>, options?: StorageAdapterOptions) => {
26
+ options: StorageAdapterOptions;
27
+ keyPath: string;
28
+ store: Writable<T[]>;
29
+ };
25
30
  fromObjectStore: <T>(store: Writable<Record<string, T>>, options?: StorageAdapterOptions) => {
26
31
  options: StorageAdapterOptions;
27
32
  keyPath: string;
28
33
  store: {
29
- set: (x: {
30
- key: string;
31
- value: T;
32
- }[]) => void;
33
- update: (f: (x: {
34
- key: string;
35
- value: T;
36
- }[]) => {
37
- key: string;
38
- value: T;
39
- }[]) => void;
40
- subscribe(this: void, run: import("svelte/store").Subscriber<{
41
- key: string;
42
- value: T;
43
- }[]>, invalidate?: import("svelte/store").Invalidator<{
44
- key: string;
45
- value: T;
46
- }[]> | undefined): Unsubscriber;
34
+ set: (x: any[]) => void;
35
+ update: (f: (x: any[]) => any[]) => void;
36
+ subscribe(this: void, run: import("svelte/store").Subscriber<any[]>, invalidate?: import("svelte/store").Invalidator<any[]> | undefined): Unsubscriber;
47
37
  };
48
38
  };
49
- fromMapStore: <T_1>(store: Writable<Map<string, T_1>>, options?: StorageAdapterOptions) => {
39
+ fromMapStore: <T>(store: Writable<Map<string, T>>, options?: StorageAdapterOptions) => {
50
40
  options: StorageAdapterOptions;
51
41
  keyPath: string;
52
42
  store: {
53
- set: (x: {
54
- key: string;
55
- value: T_1;
56
- }[]) => void;
57
- update: (f: (x: {
58
- key: string;
59
- value: T_1;
60
- }[]) => {
61
- key: string;
62
- value: T_1;
63
- }[]) => void;
64
- subscribe(this: void, run: import("svelte/store").Subscriber<{
65
- key: string;
66
- value: T_1;
67
- }[]>, invalidate?: import("svelte/store").Invalidator<{
68
- key: string;
69
- value: T_1;
70
- }[]> | undefined): Unsubscriber;
43
+ set: (x: any[]) => void;
44
+ update: (f: (x: any[]) => any[]) => void;
45
+ subscribe(this: void, run: import("svelte/store").Subscriber<any[]>, invalidate?: import("svelte/store").Invalidator<any[]> | undefined): Unsubscriber;
71
46
  };
72
47
  };
73
48
  fromTracker: (tracker: Tracker, options?: StorageAdapterOptions) => {
@@ -1,6 +1,6 @@
1
1
  import { openDB, deleteDB } from "idb";
2
2
  import { writable } from "svelte/store";
3
- import { indexBy, throttle, fromPairs } from "@welshman/lib";
3
+ import { indexBy, equals, throttle, fromPairs } from "@welshman/lib";
4
4
  import { withGetter, adapter, throttled, custom } from "@welshman/store";
5
5
  export let db;
6
6
  export const dead = withGetter(writable(false));
@@ -27,22 +27,24 @@ export const bulkDelete = async (name, ids) => {
27
27
  export const initIndexedDbAdapter = async (name, adapter) => {
28
28
  let prevRecords = await getAll(name);
29
29
  adapter.store.set(prevRecords);
30
- adapter.store.subscribe(async (currentRecords) => {
31
- if (dead.get()) {
32
- return;
33
- }
34
- const currentIds = new Set(currentRecords.map(item => item[adapter.keyPath]));
35
- const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
36
- const prevRecordsById = indexBy(item => item[adapter.keyPath], prevRecords);
37
- const updatedRecords = currentRecords.filter(r => r !== prevRecordsById.get(r[adapter.keyPath]));
38
- prevRecords = currentRecords;
39
- if (updatedRecords.length > 0) {
40
- await bulkPut(name, updatedRecords);
41
- }
42
- if (removedRecords.length > 0) {
43
- await bulkDelete(name, removedRecords.map(item => item[adapter.keyPath]));
44
- }
45
- });
30
+ setTimeout(() => {
31
+ adapter.store.subscribe(async (currentRecords) => {
32
+ if (dead.get()) {
33
+ return;
34
+ }
35
+ const currentIds = new Set(currentRecords.map(item => item[adapter.keyPath]));
36
+ const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
37
+ const prevRecordsById = indexBy(item => item[adapter.keyPath], prevRecords);
38
+ const updatedRecords = currentRecords.filter(r => !equals(r, prevRecordsById.get(r[adapter.keyPath])));
39
+ prevRecords = currentRecords;
40
+ if (updatedRecords.length > 0) {
41
+ await bulkPut(name, updatedRecords);
42
+ }
43
+ if (removedRecords.length > 0) {
44
+ await bulkDelete(name, removedRecords.map(item => item[adapter.keyPath]));
45
+ }
46
+ });
47
+ }, adapter.options.throttle || 0);
46
48
  };
47
49
  export const initStorage = async (name, version, adapters) => {
48
50
  if (!window.indexedDB)
@@ -74,7 +76,7 @@ export const initStorage = async (name, version, adapters) => {
74
76
  export const closeStorage = async () => {
75
77
  dead.set(true);
76
78
  subs.forEach(unsub => unsub());
77
- await (db === null || db === void 0 ? void 0 : db.close());
79
+ await db?.close();
78
80
  };
79
81
  export const clearStorage = async () => {
80
82
  await closeStorage();
@@ -82,6 +84,11 @@ export const clearStorage = async () => {
82
84
  };
83
85
  const migrate = (data, options) => options.migrate ? options.migrate(data) : data;
84
86
  export const storageAdapters = {
87
+ fromCollectionStore: (keyPath, store, options = {}) => ({
88
+ options,
89
+ keyPath,
90
+ store: throttled(options.throttle || 0, store),
91
+ }),
85
92
  fromObjectStore: (store, options = {}) => ({
86
93
  options,
87
94
  keyPath: "key",
@@ -102,38 +109,40 @@ export const storageAdapters = {
102
109
  }),
103
110
  fromTracker: (tracker, options = {}) => ({
104
111
  options,
105
- keyPath: 'key',
112
+ keyPath: "key",
106
113
  store: custom(setter => {
107
- let onUpdate = () => setter(migrate(Array.from(tracker.relaysById.entries())
108
- .map(([key, urls]) => ({ key, value: Array.from(urls) })), options));
114
+ let onUpdate = () => setter(migrate(Array.from(tracker.relaysById.entries()).map(([key, urls]) => ({
115
+ key,
116
+ value: Array.from(urls),
117
+ })), options));
109
118
  if (options.throttle) {
110
119
  onUpdate = throttle(options.throttle, onUpdate);
111
120
  }
112
121
  onUpdate();
113
- tracker.on('update', onUpdate);
114
- return () => tracker.off('update', onUpdate);
122
+ tracker.on("update", onUpdate);
123
+ return () => tracker.off("update", onUpdate);
115
124
  }, {
116
125
  set: (data) => tracker.load(new Map(data.map(({ key, value }) => [key, new Set(value)]))),
117
126
  }),
118
127
  }),
119
128
  fromRepository: (repository, options = {}) => ({
120
129
  options,
121
- keyPath: 'id',
130
+ keyPath: "id",
122
131
  store: custom(setter => {
123
132
  let onUpdate = () => setter(migrate(repository.dump(), options));
124
133
  if (options.throttle) {
125
134
  onUpdate = throttle(options.throttle, onUpdate);
126
135
  }
127
136
  onUpdate();
128
- repository.on('update', onUpdate);
129
- return () => repository.off('update', onUpdate);
137
+ repository.on("update", onUpdate);
138
+ return () => repository.off("update", onUpdate);
130
139
  }, {
131
140
  set: (events) => repository.load(events),
132
141
  }),
133
142
  }),
134
143
  fromRepositoryAndTracker: (repository, tracker, options = {}) => ({
135
144
  options,
136
- keyPath: 'id',
145
+ keyPath: "id",
137
146
  store: custom(setter => {
138
147
  let onUpdate = () => {
139
148
  const events = migrate(repository.dump(), options);
@@ -146,10 +155,10 @@ export const storageAdapters = {
146
155
  onUpdate = throttle(options.throttle, onUpdate);
147
156
  }
148
157
  onUpdate();
149
- tracker.on('update', onUpdate);
150
- repository.on('update', onUpdate);
158
+ tracker.on("update", onUpdate);
159
+ repository.on("update", onUpdate);
151
160
  return () => {
152
- tracker.off('update', onUpdate);
161
+ tracker.off("update", onUpdate);
153
162
  };
154
163
  }, {
155
164
  set: (items) => {
@@ -163,6 +172,6 @@ export const storageAdapters = {
163
172
  tracker.load(relaysById);
164
173
  },
165
174
  }),
166
- })
175
+ }),
167
176
  };
168
- //# sourceMappingURL=storage.mjs.map
177
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ctx, isNil } from "@welshman/lib";
2
2
  import { LOCAL_RELAY_URL, getFilterResultCardinality } from "@welshman/util";
3
3
  import { subscribe as baseSubscribe, SubscriptionEvent } from "@welshman/net";
4
- import { repository } from "./core.mjs";
4
+ import { repository } from "./core.js";
5
5
  export const subscribe = (request) => {
6
6
  const events = [];
7
7
  // If we already have all results for any filter, don't send the filter to the network
@@ -39,4 +39,4 @@ export const load = (request) => new Promise(resolve => {
39
39
  sub.emitter.on(SubscriptionEvent.Event, (url, e) => events.push(e));
40
40
  sub.emitter.on(SubscriptionEvent.Complete, () => resolve(events));
41
41
  });
42
- //# sourceMappingURL=subscribe.mjs.map
42
+ //# sourceMappingURL=subscribe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../src/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,eAAe,CAAA;AACxC,OAAO,EAAC,eAAe,EAAE,0BAA0B,EAAC,MAAM,gBAAgB,CAAA;AAE1E,OAAO,EAAC,SAAS,IAAI,aAAa,EAAE,iBAAiB,EAAC,MAAM,eAAe,CAAA;AAE3E,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAA;AAIpC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,sFAAsF;IACtF,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;YAEtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;oBACnC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;wBAC5B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;oBACpB,CAAC;oBAED,MAAK;gBACP,CAAC;YACH,CAAC;YAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,YAAY,CAAA;IAClC,MAAM,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,WAAW,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,aAAa,CAAC,EAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,OAAO,EAAC,CAAC,CAAA;IAEhF,8DAA8D;IAC9D,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,OAAgC,EAAE,EAAE,CACvD,IAAI,OAAO,CAAiB,OAAO,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,SAAS,CAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC,CAAA;IACvF,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,GAAW,EAAE,CAAe,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import type { Filter } from '@welshman/util';
1
+ import type { Filter } from "@welshman/util";
2
2
  export declare const hasNegentropy: (url: string) => boolean;
3
3
  export type AppSyncOpts = {
4
4
  relays: string[];
@@ -1,18 +1,18 @@
1
- import { isSignedEvent } from '@welshman/util';
2
- import { push as basePush, pull as basePull, sync as baseSync, pushWithoutNegentropy, pullWithoutNegentropy, syncWithoutNegentropy } from "@welshman/net";
3
- import { repository } from "./core.mjs";
4
- import { relaysByUrl } from "./relays.mjs";
1
+ import { isSignedEvent } from "@welshman/util";
2
+ import { push as basePush, pull as basePull, sync as baseSync, pushWithoutNegentropy, pullWithoutNegentropy, syncWithoutNegentropy, } from "@welshman/net";
3
+ import { repository } from "./core.js";
4
+ import { relaysByUrl } from "./relays.js";
5
+ const query = (filters) => repository.query(filters, { shouldSort: filters.every(f => f.limit === undefined) });
5
6
  export const hasNegentropy = (url) => {
6
- var _a, _b, _c, _d;
7
- const p = (_a = relaysByUrl.get().get(url)) === null || _a === void 0 ? void 0 : _a.profile;
8
- if ((_b = p === null || p === void 0 ? void 0 : p.supported_nips) === null || _b === void 0 ? void 0 : _b.includes(77))
7
+ const p = relaysByUrl.get().get(url)?.profile;
8
+ if (p?.supported_nips?.includes(77))
9
9
  return true;
10
- if (((_c = p === null || p === void 0 ? void 0 : p.software) === null || _c === void 0 ? void 0 : _c.includes('strfry')) && !((_d = p === null || p === void 0 ? void 0 : p.version) === null || _d === void 0 ? void 0 : _d.match(/^0\./)))
10
+ if (p?.software?.includes("strfry") && !p?.version?.match(/^0\./))
11
11
  return true;
12
12
  return false;
13
13
  };
14
14
  export const pull = async ({ relays, filters }) => {
15
- const events = repository.query(filters);
15
+ const events = query(filters);
16
16
  await Promise.all(relays.map(async (relay) => {
17
17
  await (hasNegentropy(relay)
18
18
  ? basePull({ filters, events, relays: [relay] })
@@ -20,7 +20,7 @@ export const pull = async ({ relays, filters }) => {
20
20
  }));
21
21
  };
22
22
  export const push = async ({ relays, filters }) => {
23
- const events = repository.query(filters).filter(isSignedEvent);
23
+ const events = query(filters).filter(isSignedEvent);
24
24
  await Promise.all(relays.map(async (relay) => {
25
25
  await (hasNegentropy(relay)
26
26
  ? basePush({ filters, events, relays: [relay] })
@@ -28,11 +28,11 @@ export const push = async ({ relays, filters }) => {
28
28
  }));
29
29
  };
30
30
  export const sync = async ({ relays, filters }) => {
31
- const events = repository.query(filters).filter(isSignedEvent);
31
+ const events = query(filters).filter(isSignedEvent);
32
32
  await Promise.all(relays.map(async (relay) => {
33
33
  await (hasNegentropy(relay)
34
34
  ? baseSync({ filters, events, relays: [relay] })
35
35
  : syncWithoutNegentropy({ filters, events, relays: [relay] }));
36
36
  }));
37
37
  };
38
- //# sourceMappingURL=sync.mjs.map
38
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { TrustedEvent } from '@welshman/util';
1
+ import type { TrustedEvent } from "@welshman/util";
2
2
  export declare const tagZapSplit: (pubkey: string, split?: number) => string[];
3
3
  export declare const tagPubkey: (pubkey: string, ...args: unknown[]) => string[];
4
4
  export declare const tagEvent: (event: TrustedEvent, mark?: string) => string[][];
@@ -1,7 +1,7 @@
1
- import { ctx } from '@welshman/lib';
2
- import { getAddress, isReplaceable, getAncestorTags, getPubkeyTagValues, getIdAndAddress } from '@welshman/util';
3
- import { displayProfileByPubkey } from "./profiles.mjs";
4
- import { pubkey } from "./session.mjs";
1
+ import { ctx } from "@welshman/lib";
2
+ import { getAddress, isReplaceable, getAncestorTags, getPubkeyTagValues, getIdAndAddress, } from "@welshman/util";
3
+ import { displayProfileByPubkey } from "./profiles.js";
4
+ import { pubkey } from "./session.js";
5
5
  export const tagZapSplit = (pubkey, split = 1) => [
6
6
  "zap",
7
7
  pubkey,
@@ -83,4 +83,4 @@ export const tagReactionTo = (event) => {
83
83
  }
84
84
  return tags;
85
85
  };
86
- //# sourceMappingURL=tags.mjs.map
86
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/tags.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
- /// <reference types="svelte" />
2
- import type { Writable, Readable } from 'svelte/store';
3
- import { Worker } from '@welshman/lib';
4
- import type { Deferred } from '@welshman/lib';
5
- import type { TrustedEvent, EventTemplate, StampedEvent, OwnedEvent } from '@welshman/util';
1
+ import type { Writable, Readable } from "svelte/store";
2
+ import { Worker } from "@welshman/lib";
3
+ import type { Deferred } from "@welshman/lib";
4
+ import type { TrustedEvent, EventTemplate, StampedEvent, OwnedEvent } from "@welshman/util";
6
5
  import { PublishStatus } from "@welshman/net";
7
6
  export type ThunkEvent = EventTemplate | StampedEvent | OwnedEvent | TrustedEvent;
8
7
  export type ThunkRequest = {
@@ -1,10 +1,10 @@
1
- import { writable, derived, get } from 'svelte/store';
2
- import { Worker, identity, uniq, defer, sleep, assoc } from '@welshman/lib';
1
+ import { writable, derived, get } from "svelte/store";
2
+ import { Worker, identity, uniq, defer, sleep, assoc } from "@welshman/lib";
3
3
  import { stamp, own, hash } from "@welshman/signer";
4
- import { isStampedEvent, isOwnedEvent, isHashedEvent, isUnwrappedEvent, isSignedEvent } from '@welshman/util';
4
+ import { isStampedEvent, isOwnedEvent, isHashedEvent, isUnwrappedEvent, isSignedEvent, } from "@welshman/util";
5
5
  import { publish, PublishStatus } from "@welshman/net";
6
- import { repository, tracker } from "./core.mjs";
7
- import { pubkey, getSession, getSigner } from "./session.mjs";
6
+ import { repository, tracker } from "./core.js";
7
+ import { pubkey, getSession, getSigner } from "./session.js";
8
8
  const { Pending, Success, Failure, Timeout, Aborted } = PublishStatus;
9
9
  export const prepEvent = (event) => {
10
10
  if (!isStampedEvent(event)) {
@@ -28,7 +28,7 @@ export const makeThunk = (request) => {
28
28
  export const isMergedThunk = (thunk) => Boolean(thunk.thunks);
29
29
  export const mergeThunks = (thunks) => {
30
30
  const controller = new AbortController();
31
- controller.signal.addEventListener('abort', () => {
31
+ controller.signal.addEventListener("abort", () => {
32
32
  for (const thunk of thunks) {
33
33
  thunk.controller.abort();
34
34
  }
@@ -42,14 +42,14 @@ export const mergeThunks = (thunks) => {
42
42
  for (const url of uniq(statuses.flatMap(s => Object.keys(s)))) {
43
43
  const urlStatuses = statuses.map(s => s[url]);
44
44
  const thunkStatus = [Aborted, Failure, Timeout, Pending, Success]
45
- .map(status => urlStatuses.find(s => (s === null || s === void 0 ? void 0 : s.status) === status))
45
+ .map(status => urlStatuses.find(s => s?.status === status))
46
46
  .find(identity);
47
47
  if (thunkStatus) {
48
48
  mergedStatus[url] = thunkStatus;
49
49
  }
50
50
  }
51
51
  return mergedStatus;
52
- })
52
+ }),
53
53
  };
54
54
  };
55
55
  export function* walkThunks(thunks) {
@@ -68,7 +68,7 @@ export const publishThunk = (request) => {
68
68
  thunkWorker.push(thunk);
69
69
  repository.publish(thunk.event);
70
70
  thunks.update(assoc(thunk.event.id, thunk));
71
- thunk.controller.signal.addEventListener('abort', () => {
71
+ thunk.controller.signal.addEventListener("abort", () => {
72
72
  repository.removeEvent(thunk.event.id);
73
73
  });
74
74
  return thunk;
@@ -80,7 +80,7 @@ export const publishThunks = (requests) => {
80
80
  thunkWorker.push(thunk);
81
81
  repository.publish(thunk.event);
82
82
  thunks.update(assoc(thunk.event.id, mergedThunk));
83
- thunk.controller.signal.addEventListener('abort', () => {
83
+ thunk.controller.signal.addEventListener("abort", () => {
84
84
  repository.removeEvent(thunk.event.id);
85
85
  });
86
86
  }
@@ -140,4 +140,4 @@ thunkWorker.addGlobalHandler((thunk) => {
140
140
  });
141
141
  });
142
142
  });
143
- //# sourceMappingURL=thunk.mjs.map
143
+ //# sourceMappingURL=thunk.js.map