@welshman/app 0.0.33 → 0.0.35

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 (162) hide show
  1. package/README.md +70 -0
  2. package/build/src/collection.d.ts +3 -4
  3. package/build/src/{collection.mjs → collection.js} +5 -5
  4. package/build/src/collection.js.map +1 -0
  5. package/build/src/commands.d.ts +12 -13
  6. package/build/src/{commands.mjs → commands.js} +7 -7
  7. package/build/src/commands.js.map +1 -0
  8. package/build/src/context.d.ts +1 -1
  9. package/build/src/{context.mjs → context.js} +6 -6
  10. package/build/src/context.js.map +1 -0
  11. package/build/src/core.d.ts +0 -1
  12. package/build/src/{core.mjs → core.js} +6 -6
  13. package/build/src/core.js.map +1 -0
  14. package/build/src/feeds.d.ts +3 -3
  15. package/build/src/{feeds.mjs → feeds.js} +26 -22
  16. package/build/src/feeds.js.map +1 -0
  17. package/build/src/follows.d.ts +1 -2
  18. package/build/src/{follows.mjs → follows.js} +7 -7
  19. package/build/src/follows.js.map +1 -0
  20. package/build/src/{freshness.mjs → freshness.js} +4 -4
  21. package/build/src/freshness.js.map +1 -0
  22. package/build/src/handles.d.ts +0 -1
  23. package/build/src/{handles.mjs → handles.js} +14 -11
  24. package/build/src/handles.js.map +1 -0
  25. package/build/src/index.d.ts +34 -26
  26. package/build/src/index.js +27 -0
  27. package/build/src/index.js.map +1 -0
  28. package/build/src/mutes.d.ts +1 -2
  29. package/build/src/{mutes.mjs → mutes.js} +8 -8
  30. package/build/src/mutes.js.map +1 -0
  31. package/build/src/plaintext.d.ts +1 -1
  32. package/build/src/{plaintext.mjs → plaintext.js} +5 -5
  33. package/build/src/plaintext.js.map +1 -0
  34. package/build/src/profiles.d.ts +0 -1
  35. package/build/src/{profiles.mjs → profiles.js} +9 -11
  36. package/build/src/profiles.js.map +1 -0
  37. package/build/src/relaySelections.d.ts +1 -2
  38. package/build/src/{relaySelections.mjs → relaySelections.js} +7 -7
  39. package/build/src/relaySelections.js.map +1 -0
  40. package/build/src/relays.d.ts +1 -2
  41. package/build/src/{relays.mjs → relays.js} +67 -37
  42. package/build/src/relays.js.map +1 -0
  43. package/build/src/router.d.ts +30 -30
  44. package/build/src/router.js +244 -0
  45. package/build/src/router.js.map +1 -0
  46. package/build/src/search.d.ts +3 -4
  47. package/build/src/{search.mjs → search.js} +15 -18
  48. package/build/src/search.js.map +1 -0
  49. package/build/src/session.d.ts +9 -9
  50. package/build/src/{session.mjs → session.js} +3 -3
  51. package/build/src/session.js.map +1 -0
  52. package/build/src/storage.d.ts +7 -38
  53. package/build/src/{storage.mjs → storage.js} +17 -15
  54. package/build/src/storage.js.map +1 -0
  55. package/build/src/{subscribe.mjs → subscribe.js} +2 -2
  56. package/build/src/subscribe.js.map +1 -0
  57. package/build/src/sync.d.ts +1 -1
  58. package/build/src/{sync.mjs → sync.js} +8 -9
  59. package/build/src/sync.js.map +1 -0
  60. package/build/src/tags.d.ts +1 -1
  61. package/build/src/{tags.mjs → tags.js} +5 -5
  62. package/build/src/tags.js.map +1 -0
  63. package/build/src/thunk.d.ts +4 -5
  64. package/build/src/{thunk.mjs → thunk.js} +11 -11
  65. package/build/src/thunk.js.map +1 -0
  66. package/build/src/{topics.mjs → topics.js} +4 -4
  67. package/build/src/topics.js.map +1 -0
  68. package/build/src/user.d.ts +0 -1
  69. package/build/src/{user.mjs → user.js} +8 -8
  70. package/build/src/user.js.map +1 -0
  71. package/build/src/{util.mjs → util.js} +1 -1
  72. package/build/src/util.js.map +1 -0
  73. package/build/src/{wot.mjs → wot.js} +8 -8
  74. package/build/src/wot.js.map +1 -0
  75. package/build/src/zappers.d.ts +1 -2
  76. package/build/src/{zappers.mjs → zappers.js} +7 -7
  77. package/build/src/zappers.js.map +1 -0
  78. package/build/tsconfig.tsbuildinfo +1 -0
  79. package/package.json +11 -16
  80. package/build/src/collection.cjs +0 -56
  81. package/build/src/collection.cjs.map +0 -1
  82. package/build/src/collection.mjs.map +0 -1
  83. package/build/src/commands.cjs +0 -34
  84. package/build/src/commands.cjs.map +0 -1
  85. package/build/src/commands.mjs.map +0 -1
  86. package/build/src/context.cjs +0 -43
  87. package/build/src/context.cjs.map +0 -1
  88. package/build/src/context.mjs.map +0 -1
  89. package/build/src/core.cjs +0 -36
  90. package/build/src/core.cjs.map +0 -1
  91. package/build/src/core.mjs.map +0 -1
  92. package/build/src/feeds.cjs +0 -93
  93. package/build/src/feeds.cjs.map +0 -1
  94. package/build/src/feeds.mjs.map +0 -1
  95. package/build/src/follows.cjs +0 -25
  96. package/build/src/follows.cjs.map +0 -1
  97. package/build/src/follows.mjs.map +0 -1
  98. package/build/src/freshness.cjs +0 -20
  99. package/build/src/freshness.cjs.map +0 -1
  100. package/build/src/freshness.mjs.map +0 -1
  101. package/build/src/handles.cjs +0 -84
  102. package/build/src/handles.cjs.map +0 -1
  103. package/build/src/handles.mjs.map +0 -1
  104. package/build/src/index.cjs +0 -43
  105. package/build/src/index.cjs.map +0 -1
  106. package/build/src/index.mjs +0 -27
  107. package/build/src/index.mjs.map +0 -1
  108. package/build/src/mutes.cjs +0 -28
  109. package/build/src/mutes.cjs.map +0 -1
  110. package/build/src/mutes.mjs.map +0 -1
  111. package/build/src/plaintext.cjs +0 -38
  112. package/build/src/plaintext.cjs.map +0 -1
  113. package/build/src/plaintext.mjs.map +0 -1
  114. package/build/src/profiles.cjs +0 -45
  115. package/build/src/profiles.cjs.map +0 -1
  116. package/build/src/profiles.mjs.map +0 -1
  117. package/build/src/relaySelections.cjs +0 -43
  118. package/build/src/relaySelections.cjs.map +0 -1
  119. package/build/src/relaySelections.mjs.map +0 -1
  120. package/build/src/relays.cjs +0 -178
  121. package/build/src/relays.cjs.map +0 -1
  122. package/build/src/relays.mjs.map +0 -1
  123. package/build/src/router.cjs +0 -259
  124. package/build/src/router.cjs.map +0 -1
  125. package/build/src/router.mjs +0 -241
  126. package/build/src/router.mjs.map +0 -1
  127. package/build/src/search.cjs +0 -84
  128. package/build/src/search.cjs.map +0 -1
  129. package/build/src/search.mjs.map +0 -1
  130. package/build/src/session.cjs +0 -61
  131. package/build/src/session.cjs.map +0 -1
  132. package/build/src/session.mjs.map +0 -1
  133. package/build/src/storage.cjs +0 -177
  134. package/build/src/storage.cjs.map +0 -1
  135. package/build/src/storage.mjs.map +0 -1
  136. package/build/src/subscribe.cjs +0 -47
  137. package/build/src/subscribe.cjs.map +0 -1
  138. package/build/src/subscribe.mjs.map +0 -1
  139. package/build/src/sync.cjs +0 -45
  140. package/build/src/sync.cjs.map +0 -1
  141. package/build/src/sync.mjs.map +0 -1
  142. package/build/src/tags.cjs +0 -94
  143. package/build/src/tags.cjs.map +0 -1
  144. package/build/src/tags.mjs.map +0 -1
  145. package/build/src/thunk.cjs +0 -153
  146. package/build/src/thunk.cjs.map +0 -1
  147. package/build/src/thunk.mjs.map +0 -1
  148. package/build/src/topics.cjs +0 -23
  149. package/build/src/topics.cjs.map +0 -1
  150. package/build/src/topics.mjs.map +0 -1
  151. package/build/src/user.cjs +0 -45
  152. package/build/src/user.cjs.map +0 -1
  153. package/build/src/user.mjs.map +0 -1
  154. package/build/src/util.cjs +0 -56
  155. package/build/src/util.cjs.map +0 -1
  156. package/build/src/util.mjs.map +0 -1
  157. package/build/src/wot.cjs +0 -79
  158. package/build/src/wot.cjs.map +0 -1
  159. package/build/src/wot.mjs.map +0 -1
  160. package/build/src/zappers.cjs +0 -63
  161. package/build/src/zappers.cjs.map +0 -1
  162. package/build/src/zappers.mjs.map +0 -1
@@ -1,177 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.storageAdapters = exports.clearStorage = exports.closeStorage = exports.initStorage = exports.initIndexedDbAdapter = exports.bulkDelete = exports.bulkPut = exports.getAll = exports.subs = exports.dead = exports.db = void 0;
4
- const idb_1 = require("idb");
5
- const store_1 = require("svelte/store");
6
- const lib_1 = require("@welshman/lib");
7
- const store_2 = require("@welshman/store");
8
- exports.dead = (0, store_2.withGetter)((0, store_1.writable)(false));
9
- exports.subs = [];
10
- const getAll = async (name) => {
11
- const tx = exports.db.transaction(name, "readwrite");
12
- const store = tx.objectStore(name);
13
- const result = await store.getAll();
14
- await tx.done;
15
- return result;
16
- };
17
- exports.getAll = getAll;
18
- const bulkPut = async (name, data) => {
19
- const tx = exports.db.transaction(name, "readwrite");
20
- const store = tx.objectStore(name);
21
- await Promise.all(data.map(item => store.put(item)));
22
- await tx.done;
23
- };
24
- exports.bulkPut = bulkPut;
25
- const bulkDelete = async (name, ids) => {
26
- const tx = exports.db.transaction(name, "readwrite");
27
- const store = tx.objectStore(name);
28
- await Promise.all(ids.map(id => store.delete(id)));
29
- await tx.done;
30
- };
31
- exports.bulkDelete = bulkDelete;
32
- const initIndexedDbAdapter = async (name, adapter) => {
33
- let prevRecords = await (0, exports.getAll)(name);
34
- adapter.store.set(prevRecords);
35
- adapter.store.subscribe(async (currentRecords) => {
36
- if (exports.dead.get()) {
37
- return;
38
- }
39
- const currentIds = new Set(currentRecords.map(item => item[adapter.keyPath]));
40
- const removedRecords = prevRecords.filter(r => !currentIds.has(r[adapter.keyPath]));
41
- const prevRecordsById = (0, lib_1.indexBy)(item => item[adapter.keyPath], prevRecords);
42
- const updatedRecords = currentRecords.filter(r => r !== prevRecordsById.get(r[adapter.keyPath]));
43
- prevRecords = currentRecords;
44
- if (updatedRecords.length > 0) {
45
- await (0, exports.bulkPut)(name, updatedRecords);
46
- }
47
- if (removedRecords.length > 0) {
48
- await (0, exports.bulkDelete)(name, removedRecords.map(item => item[adapter.keyPath]));
49
- }
50
- });
51
- };
52
- exports.initIndexedDbAdapter = initIndexedDbAdapter;
53
- const initStorage = async (name, version, adapters) => {
54
- if (!window.indexedDB)
55
- return;
56
- window.addEventListener("beforeunload", () => (0, exports.closeStorage)());
57
- if (exports.db) {
58
- throw new Error("Db initialized multiple times");
59
- }
60
- exports.db = await (0, idb_1.openDB)(name, version, {
61
- upgrade(db) {
62
- const names = Object.keys(adapters);
63
- for (const name of db.objectStoreNames) {
64
- if (!names.includes(name)) {
65
- db.deleteObjectStore(name);
66
- }
67
- }
68
- for (const [name, { keyPath }] of Object.entries(adapters)) {
69
- try {
70
- db.createObjectStore(name, { keyPath });
71
- }
72
- catch (e) {
73
- console.warn(e);
74
- }
75
- }
76
- },
77
- });
78
- await Promise.all(Object.entries(adapters).map(([name, config]) => (0, exports.initIndexedDbAdapter)(name, config)));
79
- };
80
- exports.initStorage = initStorage;
81
- const closeStorage = async () => {
82
- exports.dead.set(true);
83
- exports.subs.forEach(unsub => unsub());
84
- await (exports.db === null || exports.db === void 0 ? void 0 : exports.db.close());
85
- };
86
- exports.closeStorage = closeStorage;
87
- const clearStorage = async () => {
88
- await (0, exports.closeStorage)();
89
- await (0, idb_1.deleteDB)(exports.db.name);
90
- };
91
- exports.clearStorage = clearStorage;
92
- const migrate = (data, options) => options.migrate ? options.migrate(data) : data;
93
- exports.storageAdapters = {
94
- fromObjectStore: (store, options = {}) => ({
95
- options,
96
- keyPath: "key",
97
- store: (0, store_2.adapter)({
98
- store: (0, store_2.throttled)(options.throttle || 0, store),
99
- forward: (data) => migrate(Object.entries(data).map(([key, value]) => ({ key, value })), options),
100
- backward: (data) => (0, lib_1.fromPairs)(data.map(({ key, value }) => [key, value])),
101
- }),
102
- }),
103
- fromMapStore: (store, options = {}) => ({
104
- options,
105
- keyPath: "key",
106
- store: (0, store_2.adapter)({
107
- store: (0, store_2.throttled)(options.throttle || 0, store),
108
- forward: (data) => migrate(Array.from(data.entries()).map(([key, value]) => ({ key, value })), options),
109
- backward: (data) => new Map(data.map(({ key, value }) => [key, value])),
110
- }),
111
- }),
112
- fromTracker: (tracker, options = {}) => ({
113
- options,
114
- keyPath: 'key',
115
- store: (0, store_2.custom)(setter => {
116
- let onUpdate = () => setter(migrate(Array.from(tracker.relaysById.entries())
117
- .map(([key, urls]) => ({ key, value: Array.from(urls) })), options));
118
- if (options.throttle) {
119
- onUpdate = (0, lib_1.throttle)(options.throttle, onUpdate);
120
- }
121
- onUpdate();
122
- tracker.on('update', onUpdate);
123
- return () => tracker.off('update', onUpdate);
124
- }, {
125
- set: (data) => tracker.load(new Map(data.map(({ key, value }) => [key, new Set(value)]))),
126
- }),
127
- }),
128
- fromRepository: (repository, options = {}) => ({
129
- options,
130
- keyPath: 'id',
131
- store: (0, store_2.custom)(setter => {
132
- let onUpdate = () => setter(migrate(repository.dump(), options));
133
- if (options.throttle) {
134
- onUpdate = (0, lib_1.throttle)(options.throttle, onUpdate);
135
- }
136
- onUpdate();
137
- repository.on('update', onUpdate);
138
- return () => repository.off('update', onUpdate);
139
- }, {
140
- set: (events) => repository.load(events),
141
- }),
142
- }),
143
- fromRepositoryAndTracker: (repository, tracker, options = {}) => ({
144
- options,
145
- keyPath: 'id',
146
- store: (0, store_2.custom)(setter => {
147
- let onUpdate = () => {
148
- const events = migrate(repository.dump(), options);
149
- setter(events.map(event => {
150
- const relays = Array.from(tracker.getRelays(event.id));
151
- return { id: event.id, event, relays };
152
- }));
153
- };
154
- if (options.throttle) {
155
- onUpdate = (0, lib_1.throttle)(options.throttle, onUpdate);
156
- }
157
- onUpdate();
158
- tracker.on('update', onUpdate);
159
- repository.on('update', onUpdate);
160
- return () => {
161
- tracker.off('update', onUpdate);
162
- };
163
- }, {
164
- set: (items) => {
165
- const events = [];
166
- const relaysById = new Map();
167
- for (const { event, relays } of items) {
168
- events.push(event);
169
- relaysById.set(event.id, new Set(relays));
170
- }
171
- repository.load(events);
172
- tracker.load(relaysById);
173
- },
174
- }),
175
- })
176
- };
177
- //# sourceMappingURL=storage.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.cjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"storage.mjs","sourceRoot":"","sources":["../../src/storage.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.load = exports.subscribe = void 0;
4
- const lib_1 = require("@welshman/lib");
5
- const util_1 = require("@welshman/util");
6
- const net_1 = require("@welshman/net");
7
- const core_1 = require("./core.cjs");
8
- const subscribe = (request) => {
9
- const events = [];
10
- // If we already have all results for any filter, don't send the filter to the network
11
- if (request.closeOnEose) {
12
- for (const filter of request.filters.splice(0)) {
13
- const cardinality = (0, util_1.getFilterResultCardinality)(filter);
14
- if (!(0, lib_1.isNil)(cardinality)) {
15
- const results = core_1.repository.query([filter]);
16
- if (results.length === cardinality) {
17
- for (const event of results) {
18
- events.push(event);
19
- }
20
- break;
21
- }
22
- }
23
- request.filters.push(filter);
24
- }
25
- }
26
- // Make sure to query our local relay too
27
- const delay = lib_1.ctx.app.requestDelay;
28
- const authTimeout = lib_1.ctx.app.authTimeout;
29
- const timeout = request.closeOnEose ? lib_1.ctx.app.requestTimeout : 0;
30
- const sub = (0, net_1.subscribe)({ delay, timeout, authTimeout, relays: [], ...request });
31
- // Keep cached results async so the caller can set up handlers
32
- setTimeout(() => {
33
- for (const event of events) {
34
- sub.emitter.emit(net_1.SubscriptionEvent.Event, util_1.LOCAL_RELAY_URL, event);
35
- }
36
- });
37
- return sub;
38
- };
39
- exports.subscribe = subscribe;
40
- const load = (request) => new Promise(resolve => {
41
- const sub = (0, exports.subscribe)({ closeOnEose: true, timeout: lib_1.ctx.app.requestTimeout, ...request });
42
- const events = [];
43
- sub.emitter.on(net_1.SubscriptionEvent.Event, (url, e) => events.push(e));
44
- sub.emitter.on(net_1.SubscriptionEvent.Complete, () => resolve(events));
45
- });
46
- exports.load = load;
47
- //# sourceMappingURL=subscribe.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.cjs","sourceRoot":"","sources":["../../src/subscribe.ts"],"names":[],"mappings":";;;AAAA,uCAAwC;AACxC,yCAA0E;AAE1E,uCAA2E;AAE3E,qCAAiC;AAI1B,MAAM,SAAS,GAAG,CAAC,OAAgC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,sFAAsF;IACtF,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC9C,MAAM,WAAW,GAAG,IAAA,iCAA0B,EAAC,MAAM,CAAC,CAAA;YAEtD,IAAI,CAAC,IAAA,WAAK,EAAC,WAAW,CAAC,EAAE;gBACvB,MAAM,OAAO,GAAG,iBAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;oBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;wBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;qBACnB;oBAED,MAAK;iBACN;aACF;YAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC7B;KACF;IAED,yCAAyC;IACzC,MAAM,KAAK,GAAG,SAAG,CAAC,GAAG,CAAC,YAAY,CAAA;IAClC,MAAM,WAAW,GAAG,SAAG,CAAC,GAAG,CAAC,WAAW,CAAA;IACvC,MAAM,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,SAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;IAChE,MAAM,GAAG,GAAG,IAAA,eAAa,EAAC,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;YAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAiB,CAAC,KAAK,EAAE,sBAAe,EAAE,KAAK,CAAC,CAAA;SAClE;IACH,CAAC,CAAC,CAAA;IAEF,OAAO,GAAG,CAAA;AACZ,CAAC,CAAA;AAtCY,QAAA,SAAS,aAsCrB;AAEM,MAAM,IAAI,GAAG,CAAC,OAAgC,EAAE,EAAE,CACvD,IAAI,OAAO,CAAiB,OAAO,CAAC,EAAE;IACpC,MAAM,GAAG,GAAG,IAAA,iBAAS,EAAC,EAAC,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,SAAG,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,OAAO,EAAC,CAAC,CAAA;IACvF,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,uBAAiB,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,uBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;AACnE,CAAC,CAAC,CAAA;AAPS,QAAA,IAAI,QAOb"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"subscribe.mjs","sourceRoot":"","sources":["../../src/subscribe.ts"],"names":[],"mappings":"OAAO,EAAC,GAAG,EAAE,KAAK,EAAC,MAAM,eAAe;OACjC,EAAC,eAAe,EAAE,0BAA0B,EAAC,MAAM,gBAAgB;OAEnE,EAAC,SAAS,IAAI,aAAa,EAAE,iBAAiB,EAAC,MAAM,eAAe;OAEpE,EAAC,UAAU,EAAC;AAInB,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAgC,EAAE,EAAE;IAC5D,MAAM,MAAM,GAAmB,EAAE,CAAA;IAEjC,sFAAsF;IACtF,IAAI,OAAO,CAAC,WAAW,EAAE;QACvB,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YAC9C,MAAM,WAAW,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAA;YAEtD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;gBACvB,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;gBAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE;oBAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;wBAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;qBACnB;oBAED,MAAK;iBACN;aACF;YAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;SAC7B;KACF;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;YAC1B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,CAAA;SAClE;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,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sync = exports.push = exports.pull = exports.hasNegentropy = void 0;
4
- const util_1 = require("@welshman/util");
5
- const net_1 = require("@welshman/net");
6
- const core_1 = require("./core.cjs");
7
- const relays_1 = require("./relays.cjs");
8
- const hasNegentropy = (url) => {
9
- var _a, _b, _c, _d;
10
- const p = (_a = relays_1.relaysByUrl.get().get(url)) === null || _a === void 0 ? void 0 : _a.profile;
11
- if ((_b = p === null || p === void 0 ? void 0 : p.supported_nips) === null || _b === void 0 ? void 0 : _b.includes(77))
12
- return true;
13
- 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\./)))
14
- return true;
15
- return false;
16
- };
17
- exports.hasNegentropy = hasNegentropy;
18
- const pull = async ({ relays, filters }) => {
19
- const events = core_1.repository.query(filters);
20
- await Promise.all(relays.map(async (relay) => {
21
- await ((0, exports.hasNegentropy)(relay)
22
- ? (0, net_1.pull)({ filters, events, relays: [relay] })
23
- : (0, net_1.pullWithoutNegentropy)({ filters, relays: [relay] }));
24
- }));
25
- };
26
- exports.pull = pull;
27
- const push = async ({ relays, filters }) => {
28
- const events = core_1.repository.query(filters).filter(util_1.isSignedEvent);
29
- await Promise.all(relays.map(async (relay) => {
30
- await ((0, exports.hasNegentropy)(relay)
31
- ? (0, net_1.push)({ filters, events, relays: [relay] })
32
- : (0, net_1.pushWithoutNegentropy)({ events, relays: [relay] }));
33
- }));
34
- };
35
- exports.push = push;
36
- const sync = async ({ relays, filters }) => {
37
- const events = core_1.repository.query(filters).filter(util_1.isSignedEvent);
38
- await Promise.all(relays.map(async (relay) => {
39
- await ((0, exports.hasNegentropy)(relay)
40
- ? (0, net_1.sync)({ filters, events, relays: [relay] })
41
- : (0, net_1.syncWithoutNegentropy)({ filters, events, relays: [relay] }));
42
- }));
43
- };
44
- exports.sync = sync;
45
- //# sourceMappingURL=sync.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.cjs","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"sync.mjs","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"OACO,EAAC,aAAa,EAAC,MAAM,gBAAgB;OACrC,EAAC,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB,EAAC,MAAM,eAAe;OAChJ,EAAC,UAAU,EAAC;OACZ,EAAC,WAAW,EAAC;AAEpB,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,EAAE;;IAC3C,MAAM,CAAC,GAAG,MAAA,WAAW,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,OAAO,CAAA;IAE7C,IAAI,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,cAAc,0CAAE,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IAChD,IAAI,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,QAAQ,0CAAE,QAAQ,CAAC,QAAQ,CAAC,KAAI,CAAC,CAAA,MAAA,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,0CAAE,KAAK,CAAC,MAAM,CAAC,CAAA;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,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAExC,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CACJ,aAAa,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,qBAAqB,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,CACtD,CAAA;IACH,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,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE9D,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CACJ,aAAa,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,qBAAqB,CAAC,EAAC,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,CACrD,CAAA;IACH,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,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;IAE9D,MAAM,OAAO,CAAC,GAAG,CACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAC,KAAK,EAAC,EAAE;QACvB,MAAM,CACJ,aAAa,CAAC,KAAK,CAAC;YAClB,CAAC,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC;YAC9C,CAAC,CAAC,qBAAqB,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAC,CAAC,CAC9D,CAAA;IACH,CAAC,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tagReactionTo = exports.tagReplyTo = exports.tagEvent = exports.tagPubkey = exports.tagZapSplit = void 0;
4
- const lib_1 = require("@welshman/lib");
5
- const util_1 = require("@welshman/util");
6
- const profiles_1 = require("./profiles.cjs");
7
- const session_1 = require("./session.cjs");
8
- const tagZapSplit = (pubkey, split = 1) => [
9
- "zap",
10
- pubkey,
11
- lib_1.ctx.app.router.FromPubkey(pubkey).getUrl(),
12
- String(split),
13
- ];
14
- exports.tagZapSplit = tagZapSplit;
15
- const tagPubkey = (pubkey, ...args) => [
16
- "p",
17
- pubkey,
18
- lib_1.ctx.app.router.FromPubkey(pubkey).getUrl(),
19
- (0, profiles_1.displayProfileByPubkey)(pubkey),
20
- ];
21
- exports.tagPubkey = tagPubkey;
22
- const tagEvent = (event, mark = "") => {
23
- const url = lib_1.ctx.app.router.Event(event).getUrl();
24
- const tags = [["e", event.id, url, mark, event.pubkey]];
25
- if ((0, util_1.isReplaceable)(event)) {
26
- tags.push(["a", (0, util_1.getAddress)(event), url, mark, event.pubkey]);
27
- }
28
- return tags;
29
- };
30
- exports.tagEvent = tagEvent;
31
- const tagReplyTo = (event) => {
32
- const $pubkey = session_1.pubkey.get();
33
- const tagValues = (0, util_1.getIdAndAddress)(event);
34
- const tags = [];
35
- // Mention the event's author
36
- if (event.pubkey !== $pubkey) {
37
- tags.push((0, exports.tagPubkey)(event.pubkey));
38
- }
39
- // Inherit p-tag mentions
40
- for (const pubkey of (0, util_1.getPubkeyTagValues)(event.tags)) {
41
- if (pubkey !== $pubkey) {
42
- tags.push((0, exports.tagPubkey)(pubkey));
43
- }
44
- }
45
- // Based on NIP 10 legacy tags, order is root, mentions, reply
46
- const { roots, replies, mentions } = (0, util_1.getAncestorTags)(event.tags);
47
- // Root comes first
48
- if (roots.length > 0) {
49
- for (const t of roots) {
50
- tags.push([...t.slice(0, 2), lib_1.ctx.app.router.EventRoots(event).getUrl(), "root"]);
51
- }
52
- }
53
- else {
54
- for (const t of replies) {
55
- tags.push([...t.slice(0, 2), lib_1.ctx.app.router.EventParents(event).getUrl(), "root"]);
56
- }
57
- }
58
- // Make sure we don't repeat any tag values
59
- const isRepeated = (v) => tagValues.includes(v) || tags.find(t => t[1] === v);
60
- // Inherit mentions
61
- for (const t of mentions) {
62
- if (!isRepeated(t[1])) {
63
- tags.push([...t.slice(0, 3), "mention"]);
64
- }
65
- }
66
- // Inherit replies if they weren't already included
67
- if (roots.length > 0) {
68
- for (const t of replies) {
69
- if (!isRepeated(t[1])) {
70
- tags.push([...t.slice(0, 3), "mention"]);
71
- }
72
- }
73
- }
74
- // Add a/e-tags for the event event
75
- for (const t of (0, exports.tagEvent)(event, replies.length > 0 ? "reply" : "root")) {
76
- tags.push(t);
77
- }
78
- return tags;
79
- };
80
- exports.tagReplyTo = tagReplyTo;
81
- const tagReactionTo = (event) => {
82
- const tags = [];
83
- // Mention the event's author
84
- if (event.pubkey !== session_1.pubkey.get()) {
85
- tags.push((0, exports.tagPubkey)(event.pubkey));
86
- }
87
- // Add a/e-tags for the event
88
- for (const t of (0, exports.tagEvent)(event, "root")) {
89
- tags.push(t);
90
- }
91
- return tags;
92
- };
93
- exports.tagReactionTo = tagReactionTo;
94
- //# sourceMappingURL=tags.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tags.cjs","sourceRoot":"","sources":["../../src/tags.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tags.mjs","sourceRoot":"","sources":["../../src/tags.ts"],"names":[],"mappings":"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"}
@@ -1,153 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.thunkWorker = exports.publishThunks = exports.publishThunk = exports.thunks = exports.walkThunks = exports.mergeThunks = exports.isMergedThunk = exports.makeThunk = exports.prepEvent = void 0;
4
- const store_1 = require("svelte/store");
5
- const lib_1 = require("@welshman/lib");
6
- const signer_1 = require("@welshman/signer");
7
- const util_1 = require("@welshman/util");
8
- const net_1 = require("@welshman/net");
9
- const core_1 = require("./core.cjs");
10
- const session_1 = require("./session.cjs");
11
- const { Pending, Success, Failure, Timeout, Aborted } = net_1.PublishStatus;
12
- const prepEvent = (event) => {
13
- if (!(0, util_1.isStampedEvent)(event)) {
14
- event = (0, signer_1.stamp)(event);
15
- }
16
- if (!(0, util_1.isOwnedEvent)(event)) {
17
- event = (0, signer_1.own)(event, (0, store_1.get)(session_1.pubkey));
18
- }
19
- if (!(0, util_1.isHashedEvent)(event)) {
20
- event = (0, signer_1.hash)(event);
21
- }
22
- return event;
23
- };
24
- exports.prepEvent = prepEvent;
25
- const makeThunk = (request) => {
26
- const event = (0, exports.prepEvent)(request.event);
27
- const controller = new AbortController();
28
- const result = (0, lib_1.defer)();
29
- const status = (0, store_1.writable)({});
30
- return { event, request, controller, result, status };
31
- };
32
- exports.makeThunk = makeThunk;
33
- const isMergedThunk = (thunk) => Boolean(thunk.thunks);
34
- exports.isMergedThunk = isMergedThunk;
35
- const mergeThunks = (thunks) => {
36
- const controller = new AbortController();
37
- controller.signal.addEventListener('abort', () => {
38
- for (const thunk of thunks) {
39
- thunk.controller.abort();
40
- }
41
- });
42
- return {
43
- thunks,
44
- controller,
45
- result: Promise.all(thunks.map(thunk => thunk.result)),
46
- status: (0, store_1.derived)(thunks.map(thunk => thunk.status), statuses => {
47
- const mergedStatus = {};
48
- for (const url of (0, lib_1.uniq)(statuses.flatMap(s => Object.keys(s)))) {
49
- const urlStatuses = statuses.map(s => s[url]);
50
- const thunkStatus = [Aborted, Failure, Timeout, Pending, Success]
51
- .map(status => urlStatuses.find(s => (s === null || s === void 0 ? void 0 : s.status) === status))
52
- .find(lib_1.identity);
53
- if (thunkStatus) {
54
- mergedStatus[url] = thunkStatus;
55
- }
56
- }
57
- return mergedStatus;
58
- })
59
- };
60
- };
61
- exports.mergeThunks = mergeThunks;
62
- function* walkThunks(thunks) {
63
- for (const thunk of thunks) {
64
- if ((0, exports.isMergedThunk)(thunk)) {
65
- yield* walkThunks(thunk.thunks);
66
- }
67
- else {
68
- yield thunk;
69
- }
70
- }
71
- }
72
- exports.walkThunks = walkThunks;
73
- exports.thunks = (0, store_1.writable)({});
74
- const publishThunk = (request) => {
75
- const thunk = (0, exports.makeThunk)(request);
76
- exports.thunkWorker.push(thunk);
77
- core_1.repository.publish(thunk.event);
78
- exports.thunks.update((0, lib_1.assoc)(thunk.event.id, thunk));
79
- thunk.controller.signal.addEventListener('abort', () => {
80
- core_1.repository.removeEvent(thunk.event.id);
81
- });
82
- return thunk;
83
- };
84
- exports.publishThunk = publishThunk;
85
- const publishThunks = (requests) => {
86
- const newThunks = requests.map(exports.makeThunk);
87
- const mergedThunk = (0, exports.mergeThunks)(newThunks);
88
- for (const thunk of newThunks) {
89
- exports.thunkWorker.push(thunk);
90
- core_1.repository.publish(thunk.event);
91
- exports.thunks.update((0, lib_1.assoc)(thunk.event.id, mergedThunk));
92
- thunk.controller.signal.addEventListener('abort', () => {
93
- core_1.repository.removeEvent(thunk.event.id);
94
- });
95
- }
96
- return mergedThunk;
97
- };
98
- exports.publishThunks = publishThunks;
99
- exports.thunkWorker = new lib_1.Worker();
100
- exports.thunkWorker.addGlobalHandler((thunk) => {
101
- let event = thunk.event;
102
- // Handle abort immediately if possible
103
- if (thunk.controller.signal.aborted)
104
- return;
105
- // If we were given a wrapped event, make sure to publish the wrapper, not the rumor
106
- if ((0, util_1.isUnwrappedEvent)(event)) {
107
- event = event.wrap;
108
- }
109
- // Avoid making this function async so multiple publishes can run concurrently
110
- Promise.resolve().then(async () => {
111
- // If the event was already signed, leave it alone. Otherwise, sign it now. This is to
112
- // decrease apparent latency in the UI that results from waiting for remote signers
113
- if (!(0, util_1.isSignedEvent)(event)) {
114
- const signer = (0, session_1.getSigner)((0, session_1.getSession)(event.pubkey));
115
- if (!signer) {
116
- return console.warn(`No signer found for ${event.pubkey}`);
117
- }
118
- event = await signer.sign(event);
119
- }
120
- // We're guaranteed to have a signed event at this point
121
- const signedEvent = event;
122
- // Wait if the thunk is to be delayed
123
- if (thunk.request.delay) {
124
- await (0, lib_1.sleep)(thunk.request.delay);
125
- }
126
- // Skip publishing if aborted
127
- if (thunk.controller.signal.aborted) {
128
- return;
129
- }
130
- // Send it off
131
- const pub = (0, net_1.publish)({ event: signedEvent, relays: thunk.request.relays });
132
- // Copy the signature over since we had deferred it
133
- const savedEvent = core_1.repository.getEvent(signedEvent.id);
134
- // The event may already be replaced or deleted
135
- if (savedEvent) {
136
- savedEvent.sig = signedEvent.sig;
137
- }
138
- const completed = new Set();
139
- pub.emitter.on("*", async (status, url, message = "") => {
140
- thunk.status.update((0, lib_1.assoc)(url, { status, message }));
141
- if (status !== net_1.PublishStatus.Pending) {
142
- completed.add(url);
143
- }
144
- if (status === net_1.PublishStatus.Success) {
145
- core_1.tracker.track(signedEvent.id, url);
146
- }
147
- if (completed.size === thunk.request.relays.length) {
148
- thunk.result.resolve((0, store_1.get)(thunk.status));
149
- }
150
- });
151
- });
152
- });
153
- //# sourceMappingURL=thunk.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thunk.cjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"thunk.mjs","sourceRoot":"","sources":["../../src/thunk.ts"],"names":[],"mappings":"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"}