spasm.js 2.0.0-beta.9 → 2.0.0-rc.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 (98) hide show
  1. package/README.md +156 -8
  2. package/lib.commonjs/convert/convertToEventForSpasmid.d.ts.map +1 -1
  3. package/lib.commonjs/convert/convertToEventForSpasmid.js.map +1 -1
  4. package/lib.commonjs/convert/convertToNostr.d.ts +4 -0
  5. package/lib.commonjs/convert/convertToNostr.d.ts.map +1 -0
  6. package/lib.commonjs/convert/convertToNostr.js +477 -0
  7. package/lib.commonjs/convert/convertToNostr.js.map +1 -0
  8. package/lib.commonjs/convert/convertToSpasm.d.ts +7 -1
  9. package/lib.commonjs/convert/convertToSpasm.d.ts.map +1 -1
  10. package/lib.commonjs/convert/convertToSpasm.js +754 -29
  11. package/lib.commonjs/convert/convertToSpasm.js.map +1 -1
  12. package/lib.commonjs/convert/convertToSpasmEventDatabase.d.ts.map +1 -1
  13. package/lib.commonjs/convert/convertToSpasmEventDatabase.js.map +1 -1
  14. package/lib.commonjs/convert/convertToSpasmEventEnvelope.d.ts.map +1 -1
  15. package/lib.commonjs/convert/convertToSpasmEventEnvelope.js.map +1 -1
  16. package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.d.ts +2 -2
  17. package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.d.ts.map +1 -1
  18. package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.js +41 -7
  19. package/lib.commonjs/convert/convertToSpasmEventEnvelopeWithTree.js.map +1 -1
  20. package/lib.commonjs/convert/getSpasmId.d.ts.map +1 -1
  21. package/lib.commonjs/convert/getSpasmId.js +3 -1
  22. package/lib.commonjs/convert/getSpasmId.js.map +1 -1
  23. package/lib.commonjs/convert/index.d.ts +2 -1
  24. package/lib.commonjs/convert/index.d.ts.map +1 -1
  25. package/lib.commonjs/convert/index.js +7 -1
  26. package/lib.commonjs/convert/index.js.map +1 -1
  27. package/lib.commonjs/identify/identifyEvent.d.ts +5 -5
  28. package/lib.commonjs/identify/identifyEvent.d.ts.map +1 -1
  29. package/lib.commonjs/identify/identifyEvent.js +11 -0
  30. package/lib.commonjs/identify/identifyEvent.js.map +1 -1
  31. package/lib.commonjs/types/interfaces.d.ts +12 -3
  32. package/lib.commonjs/types/interfaces.d.ts.map +1 -1
  33. package/lib.commonjs/types/interfaces.js +0 -5
  34. package/lib.commonjs/types/interfaces.js.map +1 -1
  35. package/lib.commonjs/utils/nostrUtils.d.ts +6 -0
  36. package/lib.commonjs/utils/nostrUtils.d.ts.map +1 -1
  37. package/lib.commonjs/utils/nostrUtils.js +94 -1
  38. package/lib.commonjs/utils/nostrUtils.js.map +1 -1
  39. package/lib.commonjs/utils/utils.d.ts +82 -19
  40. package/lib.commonjs/utils/utils.d.ts.map +1 -1
  41. package/lib.commonjs/utils/utils.js +1028 -47
  42. package/lib.commonjs/utils/utils.js.map +1 -1
  43. package/lib.esm/convert/convertToEventForSpasmid.d.ts.map +1 -1
  44. package/lib.esm/convert/convertToEventForSpasmid.js +1 -3
  45. package/lib.esm/convert/convertToEventForSpasmid.js.map +1 -1
  46. package/lib.esm/convert/convertToNostr.d.ts +4 -0
  47. package/lib.esm/convert/convertToNostr.d.ts.map +1 -0
  48. package/lib.esm/convert/convertToNostr.js +472 -0
  49. package/lib.esm/convert/convertToNostr.js.map +1 -0
  50. package/lib.esm/convert/convertToSpasm.d.ts +7 -1
  51. package/lib.esm/convert/convertToSpasm.d.ts.map +1 -1
  52. package/lib.esm/convert/convertToSpasm.js +749 -33
  53. package/lib.esm/convert/convertToSpasm.js.map +1 -1
  54. package/lib.esm/convert/convertToSpasmEventDatabase.d.ts.map +1 -1
  55. package/lib.esm/convert/convertToSpasmEventDatabase.js.map +1 -1
  56. package/lib.esm/convert/convertToSpasmEventEnvelope.d.ts.map +1 -1
  57. package/lib.esm/convert/convertToSpasmEventEnvelope.js.map +1 -1
  58. package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.d.ts +2 -2
  59. package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.d.ts.map +1 -1
  60. package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.js +42 -8
  61. package/lib.esm/convert/convertToSpasmEventEnvelopeWithTree.js.map +1 -1
  62. package/lib.esm/convert/getSpasmId.d.ts.map +1 -1
  63. package/lib.esm/convert/getSpasmId.js +4 -2
  64. package/lib.esm/convert/getSpasmId.js.map +1 -1
  65. package/lib.esm/convert/index.d.ts +2 -1
  66. package/lib.esm/convert/index.d.ts.map +1 -1
  67. package/lib.esm/convert/index.js +2 -1
  68. package/lib.esm/convert/index.js.map +1 -1
  69. package/lib.esm/identify/identifyEvent.d.ts +5 -5
  70. package/lib.esm/identify/identifyEvent.d.ts.map +1 -1
  71. package/lib.esm/identify/identifyEvent.js +11 -0
  72. package/lib.esm/identify/identifyEvent.js.map +1 -1
  73. package/lib.esm/types/interfaces.d.ts +12 -3
  74. package/lib.esm/types/interfaces.d.ts.map +1 -1
  75. package/lib.esm/types/interfaces.js +0 -5
  76. package/lib.esm/types/interfaces.js.map +1 -1
  77. package/lib.esm/utils/nostrUtils.d.ts +6 -0
  78. package/lib.esm/utils/nostrUtils.d.ts.map +1 -1
  79. package/lib.esm/utils/nostrUtils.js +92 -1
  80. package/lib.esm/utils/nostrUtils.js.map +1 -1
  81. package/lib.esm/utils/utils.d.ts +82 -19
  82. package/lib.esm/utils/utils.d.ts.map +1 -1
  83. package/lib.esm/utils/utils.js +985 -43
  84. package/lib.esm/utils/utils.js.map +1 -1
  85. package/package.json +1 -1
  86. package/src.ts/convert/convertToEventForSpasmid.ts +0 -2
  87. package/src.ts/convert/convertToNostr.ts +615 -0
  88. package/src.ts/convert/convertToSpasm.ts +923 -68
  89. package/src.ts/convert/convertToSpasmEventDatabase.ts +0 -6
  90. package/src.ts/convert/convertToSpasmEventEnvelope.ts +1 -3
  91. package/src.ts/convert/convertToSpasmEventEnvelopeWithTree.ts +63 -8
  92. package/src.ts/convert/getSpasmId.ts +6 -1
  93. package/src.ts/convert/index.ts +8 -1
  94. package/src.ts/docs/architecture.md +1 -1
  95. package/src.ts/identify/identifyEvent.ts +19 -5
  96. package/src.ts/types/interfaces.ts +21 -67
  97. package/src.ts/utils/nostrUtils.ts +109 -1
  98. package/src.ts/utils/utils.ts +1216 -60
@@ -0,0 +1,477 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.convertSpasmEventV2ToNostrSpasmV2 = exports.convertToNostr = void 0;
4
+ const identifyEvent_js_1 = require("../identify/identifyEvent.js");
5
+ const nostrUtils_js_1 = require("../utils/nostrUtils.js");
6
+ const utils_js_1 = require("../utils/utils.js");
7
+ // TODO convertManyToNostr()
8
+ const convertToNostr = (unknownEvent, nostrSpasmVersion = "2.0.0") => {
9
+ // Already Nostr event
10
+ if ((0, identifyEvent_js_1.isNostrEvent)(unknownEvent)) {
11
+ return unknownEvent;
12
+ }
13
+ const spasmEventV2 = (0, utils_js_1.toBeSpasmEventV2)(unknownEvent);
14
+ if (!spasmEventV2)
15
+ return null;
16
+ if (spasmEventV2.type === "SpasmEventV2" &&
17
+ nostrSpasmVersion === "2.0.0") {
18
+ const NostrSpasmEventV2 = (0, exports.convertSpasmEventV2ToNostrSpasmV2)(spasmEventV2);
19
+ return NostrSpasmEventV2;
20
+ }
21
+ return null;
22
+ };
23
+ exports.convertToNostr = convertToNostr;
24
+ const convertSpasmEventV2ToNostrSpasmV2 = (spasmEventV2) => {
25
+ if (!("timestamp" in spasmEventV2) || !spasmEventV2.timestamp ||
26
+ !(0, utils_js_1.isStringOrNumber)(spasmEventV2.timestamp) ||
27
+ !Number(spasmEventV2.timestamp)) {
28
+ return null;
29
+ }
30
+ const timestampShort = (0, utils_js_1.toBeShortTimestamp)(Number(spasmEventV2.timestamp));
31
+ if (!timestampShort)
32
+ return null;
33
+ // const nostrEvent: Partial<NostrEventSignedOpened> = {
34
+ const nostrEvent = {
35
+ // Some Spasm events might have no content
36
+ content: "",
37
+ created_at: timestampShort,
38
+ // Kind and other values might be changed below
39
+ kind: 1,
40
+ id: "",
41
+ pubkey: "",
42
+ tags: [
43
+ // ["spasm_version","2.0.0"],
44
+ // ["nostr_spasm_version", "2.0.0"]
45
+ ]
46
+ };
47
+ // content
48
+ if ("content" in spasmEventV2 && spasmEventV2.content &&
49
+ typeof (spasmEventV2.content) === "string") {
50
+ nostrEvent.content = spasmEventV2.content;
51
+ }
52
+ // kind
53
+ if ("action" in spasmEventV2 && spasmEventV2.action &&
54
+ (0, utils_js_1.isStringOrNumber)(spasmEventV2.action)) {
55
+ if (spasmEventV2.action === "post") {
56
+ nostrEvent.kind = 1;
57
+ nostrEvent.tags?.push(["spasm_action", "post"]);
58
+ }
59
+ else if (spasmEventV2.action === "reply") {
60
+ nostrEvent.kind = 1;
61
+ nostrEvent.tags?.push(["spasm_action", "reply"]);
62
+ }
63
+ else if (spasmEventV2.action === "react") {
64
+ nostrEvent.kind = 1;
65
+ nostrEvent.tags?.push(["spasm_action", "react"]);
66
+ }
67
+ else if (spasmEventV2.action === "moderate") {
68
+ nostrEvent.kind = 1;
69
+ nostrEvent.tags?.push(["spasm_action", "moderate"]);
70
+ }
71
+ else if (String(spasmEventV2.action)) {
72
+ nostrEvent.tags
73
+ ?.push(["spasm_action", String(spasmEventV2.action)]);
74
+ }
75
+ }
76
+ const nostrSigners = (0, utils_js_1.getAllNostrSigners)(spasmEventV2);
77
+ if (nostrSigners && (0, utils_js_1.isArrayOfStrings)(nostrSigners) &&
78
+ nostrSigners[0] && typeof (nostrSigners[0]) === "string" &&
79
+ (0, utils_js_1.isHex)(nostrSigners[0]) && nostrSigners[0].length === 64) {
80
+ nostrEvent.pubkey = nostrSigners[0];
81
+ }
82
+ // tags
83
+ const timestampLong = (0, utils_js_1.toBeLongTimestamp)(Number(spasmEventV2.timestamp));
84
+ if (timestampLong && String(timestampLong)) {
85
+ nostrEvent.tags?.push(["spasm_timestamp", String(timestampLong)]);
86
+ }
87
+ if ("license" in spasmEventV2 && spasmEventV2.license &&
88
+ typeof (spasmEventV2.license) === "string") {
89
+ nostrEvent.tags?.push(["license", spasmEventV2.license]);
90
+ }
91
+ nostrEvent.tags?.push(["spasm_version", "2.0.0"], ["nostr_spasm_version", "2.0.0"]);
92
+ if ("categories" in spasmEventV2 && spasmEventV2.categories &&
93
+ (0, utils_js_1.isArrayWithValues)(spasmEventV2.categories)) {
94
+ spasmEventV2.categories.forEach(cat => {
95
+ const categoryTag = ["spasm_category"];
96
+ if ("name" in cat && cat.name && String(cat.name)) {
97
+ // TODO make a proper recursive function for categories
98
+ categoryTag.push(String(cat.name));
99
+ if ("sub" in cat && cat.sub &&
100
+ "name" in cat.sub && cat.sub.name &&
101
+ String(cat.sub.name)) {
102
+ categoryTag.push(String(cat.sub.name));
103
+ if ("sub" in cat.sub && cat.sub.sub &&
104
+ "name" in cat.sub.sub && cat.sub.sub.name &&
105
+ String(cat.sub.sub.name)) {
106
+ categoryTag.push(String(cat.sub.sub.name));
107
+ }
108
+ }
109
+ nostrEvent.tags?.push(categoryTag);
110
+ }
111
+ });
112
+ }
113
+ if ("keywords" in spasmEventV2 && spasmEventV2.keywords &&
114
+ (0, utils_js_1.isArrayOfStrings)(spasmEventV2.keywords)) {
115
+ spasmEventV2.keywords.forEach(keyword => {
116
+ if (String(keyword)) {
117
+ nostrEvent.tags?.push(["t", String(keyword)]);
118
+ }
119
+ });
120
+ }
121
+ if ("title" in spasmEventV2 && spasmEventV2.title &&
122
+ typeof (spasmEventV2.title) === "string") {
123
+ nostrEvent.tags?.push(["title", spasmEventV2.title]);
124
+ }
125
+ if ("parent" in spasmEventV2 && spasmEventV2.parent) {
126
+ if (spasmEventV2.parent.ids &&
127
+ (0, utils_js_1.isArrayWithValues)(spasmEventV2.parent.ids)) {
128
+ assembleAndPushIdTagMapped(spasmEventV2.parent.ids, nostrEvent.tags, "parent.ids", "0" // Spasm event can only have one parent event
129
+ );
130
+ }
131
+ }
132
+ if ("references" in spasmEventV2 && spasmEventV2.references) {
133
+ spasmEventV2.references.forEach((ref, eventIndex) => {
134
+ if (ref.ids && (0, utils_js_1.isArrayWithValues)(ref.ids) &&
135
+ String(eventIndex)) {
136
+ assembleAndPushIdTagMapped(ref.ids, nostrEvent.tags, "references.ids", String(eventIndex));
137
+ }
138
+ });
139
+ }
140
+ if ("mentions" in spasmEventV2 && spasmEventV2.mentions) {
141
+ spasmEventV2.mentions.forEach((mention, mentionIndex) => {
142
+ if (mention.addresses &&
143
+ (0, utils_js_1.isArrayWithValues)(mention.addresses) &&
144
+ String(mentionIndex)) {
145
+ assembleAndPushAddressesTagMapped(mention.addresses, nostrEvent.tags, "mentions.addresses", String(mentionIndex));
146
+ }
147
+ });
148
+ }
149
+ if ("authors" in spasmEventV2 && spasmEventV2.authors) {
150
+ spasmEventV2.authors.forEach((author, authorIndex) => {
151
+ if (author.addresses &&
152
+ (0, utils_js_1.isArrayWithValues)(author.addresses) &&
153
+ String(authorIndex)) {
154
+ assembleAndPushAddressesTagMapped(author.addresses, nostrEvent.tags, "authors.addresses", String(authorIndex));
155
+ }
156
+ });
157
+ }
158
+ // TODO
159
+ // if (isNostrEvent(nostrEvent)) {
160
+ // return nostrEvent
161
+ // } else { return null }
162
+ return nostrEvent;
163
+ };
164
+ exports.convertSpasmEventV2ToNostrSpasmV2 = convertSpasmEventV2ToNostrSpasmV2;
165
+ const assembleAndPushIdTagMapped = (unsortedIds, tags, flag = "parent.ids", eventIndex = "0") => {
166
+ if (!unsortedIds || !(0, utils_js_1.isArrayWithValues)(unsortedIds)) {
167
+ return;
168
+ }
169
+ if (!tags || !Array.isArray(tags)) {
170
+ return;
171
+ }
172
+ if (!flag) {
173
+ return;
174
+ }
175
+ if (!String(eventIndex)) {
176
+ return;
177
+ }
178
+ // Sort IDs so parent nostr-hex ID will be at the start of the
179
+ // array and at the top of the Nostr tags to provide better UX
180
+ // on native Nostr apps, which often use Nostr hex ID from the
181
+ // first #e tag as 'in reply to' event.
182
+ const nostrIds = [];
183
+ const otherIds = [];
184
+ unsortedIds.forEach((id) => {
185
+ const formatName = (0, utils_js_1.extractIdFormatNameFromSpasmEventIdV2)(id);
186
+ if (formatName === "nostr-hex") {
187
+ nostrIds.push(id);
188
+ }
189
+ else {
190
+ otherIds.push(id);
191
+ }
192
+ });
193
+ const ids = nostrIds.concat(otherIds);
194
+ if (!ids || !(0, utils_js_1.isArrayWithValues)(ids)) {
195
+ return;
196
+ }
197
+ ids.forEach((id, idIndex) => {
198
+ if (id.value && typeof (id.value) === "string") {
199
+ let value = id.value; // original value
200
+ let hosts = [];
201
+ let hostsAsOneString = "";
202
+ let relay = "";
203
+ let pubkey = "";
204
+ let path = "parent.ids";
205
+ let action = "reply";
206
+ // Event index for parent is always 0 because there
207
+ // can only be one parent event in Spasm event,
208
+ // other events are listed as references.
209
+ // let eventIndex: string = "0"
210
+ let formatName = "";
211
+ let formatVersion = "";
212
+ let marker = "";
213
+ if (flag === "references.ids") {
214
+ path = flag;
215
+ action = "mention";
216
+ }
217
+ if (id.format && (id.format.name === "nostr-hex" ||
218
+ id.format.name === "nostr-note" ||
219
+ id.format.name === "nostr-nevent")) {
220
+ value = (0, nostrUtils_js_1.toBeHex)(id.value);
221
+ }
222
+ if (id.pubkey && String(id.pubkey)) {
223
+ pubkey = String(id.pubkey);
224
+ if (pubkey.length === 63 && pubkey.startsWith("npub")) {
225
+ pubkey = (0, nostrUtils_js_1.toBeHex)(pubkey);
226
+ }
227
+ }
228
+ const { newValue, method, original } = (0, nostrUtils_js_1.convertValueToNostrTagsMapping)(value);
229
+ const { newValue: newPubkey, method: pubkeyMethod, original: pubkeyOriginal } = (0, nostrUtils_js_1.convertValueToNostrTagsMapping)(pubkey);
230
+ if (id.hosts && (0, utils_js_1.isArrayWithValues)(id.hosts)) {
231
+ id.hosts.forEach(host => {
232
+ if (host.value && typeof (host.value) === "string") {
233
+ hosts.push(host.value);
234
+ }
235
+ });
236
+ }
237
+ if (hosts[0] && typeof (hosts[0]) === "string") {
238
+ relay = hosts[0];
239
+ }
240
+ if (id.marker && String(id.marker)) {
241
+ marker = String(id.marker);
242
+ }
243
+ if (id.format && id.format.name &&
244
+ String(id.format.name)) {
245
+ formatName = String(id.format.name);
246
+ }
247
+ if (id.format && id.format.version &&
248
+ String(id.format.version)) {
249
+ formatVersion = String(id.format.version);
250
+ }
251
+ if ((0, utils_js_1.isArrayOfStrings)(hosts)) {
252
+ hosts.forEach(host => {
253
+ const str = String(host);
254
+ if (str) {
255
+ if (hostsAsOneString.length > 0) {
256
+ hostsAsOneString += ",";
257
+ hostsAsOneString += str.trim();
258
+ }
259
+ else {
260
+ hostsAsOneString = str.trim();
261
+ }
262
+ }
263
+ });
264
+ }
265
+ const finalTag = ["e", newValue, relay, action, newPubkey];
266
+ // Mapping (extra details about the tag)
267
+ const finalTagMapped = [
268
+ "tags_mapping", // tag name
269
+ "spasm_id_1", // mapping algorithm
270
+ "e", // tag name to map
271
+ newValue, // tag value to map
272
+ "se2", // target event type
273
+ path, // key (path) in SpasmEvent
274
+ String(eventIndex), // event index
275
+ String(idIndex), // id index
276
+ method, // method
277
+ original, // original value
278
+ formatName, // format name
279
+ formatVersion, // format version
280
+ marker, // Spasm marker
281
+ hostsAsOneString, // Spasm hosts
282
+ pubkeyMethod, // pubkey method
283
+ pubkeyOriginal // pubkey original value
284
+ ];
285
+ tags.push(finalTag, finalTagMapped);
286
+ }
287
+ });
288
+ };
289
+ const assembleAndPushAddressesTagMapped = (addresses, tags, flag = "mentions.addresses", eventIndex = "0") => {
290
+ if (!addresses || !(0, utils_js_1.isArrayWithValues)(addresses)) {
291
+ return;
292
+ }
293
+ if (!tags || !Array.isArray(tags)) {
294
+ return;
295
+ }
296
+ if (!flag) {
297
+ return;
298
+ }
299
+ if (!String(eventIndex)) {
300
+ return;
301
+ }
302
+ addresses.forEach((address, addressIndex) => {
303
+ if (address.value && typeof (address.value) === "string") {
304
+ let tagName = "p";
305
+ let mapping_algorithm = "spasm_add_1";
306
+ let value = address.value; // original value
307
+ let hosts = [];
308
+ let hostsAsOneString = "";
309
+ let relay = "";
310
+ let path = "mentions.addresses";
311
+ // Event index for parent is always 0 because there
312
+ // can only be one parent event in Spasm event,
313
+ // other events are listed as references.
314
+ // let eventIndex: string = "0"
315
+ let formatName = "";
316
+ let formatVersion = "";
317
+ let marker = "";
318
+ if (flag === "mentions.addresses") {
319
+ path = flag;
320
+ tagName = "p";
321
+ mapping_algorithm = "spasm_add_1";
322
+ }
323
+ if (flag === "authors.addresses") {
324
+ path = flag;
325
+ tagName = "O";
326
+ mapping_algorithm = "spasm_aadd_1";
327
+ }
328
+ if (address.format && (address.format.name === "nostr-hex" ||
329
+ address.format.name === "nostr-npub")) {
330
+ value = (0, nostrUtils_js_1.toBeHex)(address.value);
331
+ }
332
+ const { newValue, method, original } = (0, nostrUtils_js_1.convertValueToNostrTagsMapping)(value, mapping_algorithm);
333
+ if (address.hosts && (0, utils_js_1.isArrayWithValues)(address.hosts)) {
334
+ address.hosts.forEach(host => {
335
+ if (host.value && typeof (host.value) === "string") {
336
+ hosts.push(host.value);
337
+ }
338
+ });
339
+ }
340
+ if (hosts[0] && typeof (hosts[0]) === "string") {
341
+ relay = hosts[0];
342
+ }
343
+ if (address.marker && String(address.marker)) {
344
+ marker = String(address.marker);
345
+ }
346
+ if (address.format && address.format.name &&
347
+ String(address.format.name)) {
348
+ formatName = String(address.format.name);
349
+ }
350
+ if (address.format && address.format.version &&
351
+ String(address.format.version)) {
352
+ formatVersion = String(address.format.version);
353
+ }
354
+ if ((0, utils_js_1.isArrayOfStrings)(hosts)) {
355
+ hosts.forEach(host => {
356
+ const str = String(host);
357
+ if (str) {
358
+ if (hostsAsOneString.length > 0) {
359
+ hostsAsOneString += ",";
360
+ hostsAsOneString += str.trim();
361
+ }
362
+ else {
363
+ hostsAsOneString = str.trim();
364
+ }
365
+ }
366
+ });
367
+ }
368
+ let finalTag = [];
369
+ if (tagName === "p") {
370
+ finalTag = ["p", newValue, relay];
371
+ }
372
+ else if (tagName === "O") {
373
+ finalTag = ["O", newValue, mapping_algorithm];
374
+ }
375
+ // Mapping (extra details about the tag)
376
+ const finalTagMapped = [
377
+ "tags_mapping", // tag name
378
+ // "spasm_add_1", // mapping algorithm
379
+ mapping_algorithm, // mapping algorithm
380
+ tagName, // tag name to map
381
+ newValue, // tag value to map
382
+ "se2", // target event type
383
+ path, // key (path) in SpasmEvent
384
+ String(eventIndex), // event index
385
+ String(addressIndex), // address index
386
+ method, // method
387
+ original, // original value
388
+ formatName, // format name
389
+ formatVersion, // format version
390
+ marker, // Spasm marker
391
+ hostsAsOneString, // Spasm hosts
392
+ ];
393
+ tags.push(finalTag, finalTagMapped);
394
+ }
395
+ });
396
+ };
397
+ // const convertValueToNostrTagsMapping = (
398
+ // value: string,
399
+ // algorithm?: string
400
+ // ): {
401
+ // newValue: string,
402
+ // method: string,
403
+ // original: string
404
+ // } => {
405
+ // let newValue = ""
406
+ // let method = ""
407
+ // let original = ""
408
+ // if (!value) return {newValue, method, original}
409
+ // const str = String(value)
410
+ // if (!str) return {newValue, method, original}
411
+ // if (typeof(str) !== "string") {
412
+ // return {newValue, method, original}
413
+ // }
414
+ //
415
+ // // spasm_author
416
+ // if (algorithm === "spasm_aadd_1") {
417
+ // method = "slice.13"
418
+ // newValue = "spasm_author:" + str
419
+ // original = ""
420
+ //
421
+ // // Nostr hex
422
+ // } else if (
423
+ // str.length === 64 && isHex(str)) {
424
+ // method = "full"
425
+ // newValue = str
426
+ // original = ""
427
+ //
428
+ // // Ethereum pubkey
429
+ // } else if (
430
+ // str.length === 42 && str.startsWith("0x") &&
431
+ // isHex(str.slice(2))
432
+ // ) {
433
+ // method = "hex_to_eth_pub_1"
434
+ // newValue = str.slice(2) + "657468657265756d2d707562"
435
+ // original = ""
436
+ //
437
+ // // spasmid01
438
+ // } else if (
439
+ // str.length === 73 && str.startsWith("spasmid01") &&
440
+ // isHex(str.slice(9))
441
+ // ) {
442
+ // method = "hex_to_spasmid01_1"
443
+ // newValue = str.slice(9)
444
+ // original = ""
445
+ //
446
+ // // Nostr signature
447
+ // } else if (
448
+ // str.length === 128 && isHex(str)
449
+ // ) {
450
+ // method = "slice064"
451
+ // newValue = str.slice(0,64)
452
+ // original = str
453
+ //
454
+ // // Ethereum signature
455
+ // } else if (
456
+ // str.length === 132 && str.startsWith("0x") &&
457
+ // isHex(str.slice(2))
458
+ // ) {
459
+ // method = "slice266"
460
+ // newValue = str.slice(2,66)
461
+ // original = str
462
+ //
463
+ // } else {
464
+ // const hashed = sha256(str)
465
+ // if (
466
+ // hashed && hashed.length === 64 &&
467
+ // typeof(hashed) === "string"
468
+ // ) {
469
+ // method = "sha256"
470
+ // newValue = sha256(str)
471
+ // original = str
472
+ // }
473
+ // }
474
+ //
475
+ // return {newValue, method, original}
476
+ // }
477
+ //# sourceMappingURL=convertToNostr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertToNostr.js","sourceRoot":"","sources":["../../src.ts/convert/convertToNostr.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { KnownPostOrEventInfo, DmpEvent, DmpEventSignedClosed, DmpEventSignedOpened, NostrEvent, NostrEventSignedOpened, NostrSpasmEvent, NostrSpasmEventSignedOpened, UnknownEventV1, UnknownEventV2, SpasmEventV2, SpasmEventSiblingV2, SpasmEventV0, CustomConvertToSpasmConfig, SpasmEventEnvelopeV2, SpasmEventAnyV2, SpasmEventEnvelopeWithTreeV2, SpasmEventDatabaseV2, CustomSanitizationConfig } from "./../types/interfaces.js";
1
+ import { KnownPostOrEventInfo, DmpEvent, DmpEventSignedClosed, DmpEventSignedOpened, NostrEvent, NostrEventSignedOpened, NostrSpasmEvent, NostrSpasmEventSignedOpened, UnknownEventV1, UnknownEventV2, SpasmEventV2, SpasmEventSiblingV2, SpasmEventV0, CustomConvertToSpasmConfig, SpasmEventEnvelopeV2, SpasmEventAnyV2, SpasmEventBodyV2, SpasmEventBodySignedClosedV2, SpasmEventEnvelopeWithTreeV2, SpasmEventDatabaseV2, CustomSanitizationConfig } from "./../types/interfaces.js";
2
2
  export declare const convertManyToSpasm: (unknownEvents: UnknownEventV2[], customConfig?: CustomConvertToSpasmConfig) => SpasmEventV2[] | null;
3
3
  export declare const convertToSpasm: (unknownEvent: UnknownEventV2, customConfig?: CustomConvertToSpasmConfig) => SpasmEventV2 | null;
4
4
  export declare const ifEventContainsMaliciousCode: (unknownEvent: UnknownEventV2, customConfig?: CustomSanitizationConfig) => Boolean;
@@ -7,6 +7,8 @@ export declare const standardizeEventV2: (unknownEvent: UnknownEventV2, version?
7
7
  export declare const standardizeSpasmEventAnyV2: (event: SpasmEventAnyV2, version?: string) => SpasmEventV2 | null;
8
8
  export declare const standardizeNonSpasmEventV2: (unknownEvent: UnknownEventV1, version?: string, info?: KnownPostOrEventInfo | null) => SpasmEventV2 | null;
9
9
  export declare const standardizeSpasmEventV2: (event: SpasmEventV2, version?: string) => SpasmEventV2 | null;
10
+ export declare const standardizeSpasmEventBodyV2: (event: SpasmEventBodyV2, version?: string) => SpasmEventV2 | null;
11
+ export declare const standardizeSpasmEventBodySignedClosedV2: (event: SpasmEventBodySignedClosedV2, version?: string) => SpasmEventV2 | null;
10
12
  export declare const standardizeSpasmEventDatabaseV2: (event: SpasmEventDatabaseV2, version?: string) => SpasmEventV2 | null;
11
13
  export declare const standardizeSpasmEventEnvelopeWithTreeV2: (event: SpasmEventEnvelopeWithTreeV2, version?: string) => SpasmEventV2 | null;
12
14
  export declare const standardizeSpasmEventEnvelopeV2: (event: SpasmEventEnvelopeV2 | SpasmEventEnvelopeWithTreeV2, version?: string) => SpasmEventV2 | null;
@@ -14,6 +16,10 @@ export declare const standardizeSpasmEventSiblingV2: (sibling: SpasmEventSibling
14
16
  export declare const standardizeDmpEventV2: (event: DmpEvent) => SpasmEventV2 | null;
15
17
  export declare const standardizeDmpEventSignedClosedV2: (event: DmpEventSignedClosed) => SpasmEventV2 | null;
16
18
  export declare const standardizeDmpEventSignedOpenedV2: (event: DmpEventSignedOpened) => SpasmEventV2 | null;
19
+ export declare const getTagMappedDetails: (tag: string[], tags: string[][]) => string[] | null;
20
+ export declare const isMappedTag: (tag: string[], tags: string[][]) => boolean;
21
+ export declare const getOriginalFromValueAndMethod: (value: string | null, method?: string | null, original?: string | null) => string | null;
22
+ export declare const getOriginalValueFromTagMappedDetails: (tag: string[]) => string | null;
17
23
  export declare const standardizeNostrEventV2: (event: NostrEvent) => SpasmEventV2 | null;
18
24
  export declare const standardizeNostrSpasmEventV2: (event: NostrSpasmEvent) => SpasmEventV2 | null;
19
25
  export declare const standardizeNostrEventSignedOpenedV2: (event: NostrEventSignedOpened) => SpasmEventV2 | null;
@@ -1 +1 @@
1
- {"version":3,"file":"convertToSpasm.d.ts","sourceRoot":"","sources":["../../src.ts/convert/convertToSpasm.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EACpB,QAAQ,EACR,oBAAoB,EACpB,oBAAoB,EACpB,UAAU,EACV,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,cAAc,EAEd,cAAc,EACd,YAAY,EAMZ,mBAAmB,EAYnB,YAAY,EAMZ,0BAA0B,EAC1B,oBAAoB,EACpB,eAAe,EAGf,4BAA4B,EAC5B,oBAAoB,EAEpB,wBAAwB,EAEzB,MAAM,0BAA0B,CAAC;AAsClC,eAAO,MAAM,kBAAkB,kBACd,cAAc,EAAE,iBAChB,0BAA0B,KACxC,YAAY,EAAE,GAAG,IAgBnB,CAAA;AAGD,eAAO,MAAM,cAAc,iBACX,cAAc,iBACb,0BAA0B,KACxC,YAAY,GAAG,IA6CjB,CAAA;AAED,eAAO,MAAM,4BAA4B,iBACzB,cAAc,iBACb,wBAAwB,KACtC,OAoCF,CAAA;AAED,eAAO,MAAM,aAAa,iBACV,YAAY,iCAEzB,YAAY,GAAG,IA+BjB,CAAA;AAGD,eAAO,MAAM,kBAAkB,iBACf,cAAc,2BAEtB,oBAAoB,GAAG,IAAI,KAChC,YAAY,GAAG,IAwBjB,CAAA;AAED,eAAO,MAAM,0BAA0B,UAC9B,eAAe,uBAErB,YAAY,GAAG,IAwDjB,CAAA;AAED,eAAO,MAAM,0BAA0B,iBACvB,cAAc,2BAEtB,oBAAoB,GAAG,IAAI,KAChC,YAAY,GAAG,IA6KjB,CAAA;AAED,eAAO,MAAM,uBAAuB,UAC3B,YAAY,uBAElB,YAAY,GAAG,IAmBjB,CAAA;AAED,eAAO,MAAM,+BAA+B,UACnC,oBAAoB,uBAE1B,YAAY,GAAG,IA6BjB,CAAA;AAED,eAAO,MAAM,uCAAuC,UAC3C,4BAA4B,uBAElC,YAAY,GAAG,IA8GjB,CAAA;AAED,eAAO,MAAM,+BAA+B,UACnC,oBAAoB,GAAG,4BAA4B,uBAEzD,YAAY,GAAG,IAmDjB,CAAA;AAED,eAAO,MAAM,8BAA8B,YAChC,mBAAmB,uBAE3B,YAAY,GAAG,IA6IjB,CAAA;AAED,eAAO,MAAM,qBAAqB,UACzB,QAAQ,KACd,YAAY,GAAG,IAqDjB,CAAA;AAGD,eAAO,MAAM,iCAAiC,UACrC,oBAAoB,KAC1B,YAAY,GAAG,IA0HjB,CAAA;AAGD,eAAO,MAAM,iCAAiC,UACrC,oBAAoB,KAC1B,YAAY,GAAG,IAwBjB,CAAA;AAED,eAAO,MAAM,uBAAuB,UAC3B,UAAU,KAChB,YAAY,GAAG,IA8LjB,CAAA;AAGD,eAAO,MAAM,4BAA4B,UAChC,eAAe,KACrB,YAAY,GAAG,IA6EjB,CAAA;AAGD,eAAO,MAAM,mCAAmC,UACvC,sBAAsB,KAC5B,YAAY,GAAG,IAsDjB,CAAA;AAGD,eAAO,MAAM,wCAAwC,UAC5C,2BAA2B,KACjC,YAAY,GAAG,IA8FjB,CAAA;AAGD,eAAO,MAAM,yCAAyC,iBACtC,YAAY,KACzB,YAAY,GAAG,IAmCjB,CAAA;AAGD,eAAO,MAAM,2CAA2C,iBACxC,YAAY,KACzB,YAAY,GAAG,IAejB,CAAA;AAGD,eAAO,MAAM,gDAAgD,iBAC7C,YAAY,KACzB,YAAY,GAAG,IAejB,CAAA;AAGD,eAAO,MAAM,gCAAgC,iBAC7B,YAAY,KACzB,YAAY,GAAG,IA8JjB,CAAA;AAGD,eAAO,MAAM,oCAAoC,iBACjC,YAAY,gBACZ,YAAY,KACzB,YA4HF,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,IAEvC,CAAA"}
1
+ {"version":3,"file":"convertToSpasm.d.ts","sourceRoot":"","sources":["../../src.ts/convert/convertToSpasm.ts"],"names":[],"mappings":"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"}