@welshman/content 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/build/index.cjs CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.truncate = exports.parse = exports.parseNext = exports.parsers = exports.parseLegacyMention = exports.parseTopic = exports.parseProfile = exports.parseNewline = exports.parseLink = exports.parseInvoice = exports.parseEvent = exports.parseCodeInline = exports.parseCodeBlock = exports.parseCashu = exports.parseAddress = exports.ParsedType = void 0;
6
+ exports.render = exports.renderAddress = exports.renderProfile = exports.renderEvent = exports.renderTopic = exports.renderText = exports.renderNewline = exports.renderLink = exports.renderInvoice = exports.renderEllipsis = exports.renderCodeInline = exports.renderCodeBlock = exports.renderCashu = exports.HTML = exports.defaultRenderOptions = exports.truncate = exports.parse = exports.parseNext = exports.parsers = exports.parseLegacyMention = exports.parseTopic = exports.parseProfile = exports.parseNewline = exports.parseLink = exports.parseInvoice = exports.parseEvent = exports.parseCodeInline = exports.parseCodeBlock = exports.parseCashu = exports.parseAddress = exports.ParsedType = void 0;
4
7
  const nostr_tools_1 = require("nostr-tools");
8
+ const insane_1 = __importDefault(require("insane"));
5
9
  const last = (xs, ...args) => xs[xs.length - 1];
6
10
  const fromNostrURI = (s) => s.replace(/^nostr:\/?\/?/, "");
7
11
  var ParsedType;
@@ -20,12 +24,12 @@ var ParsedType;
20
24
  ParsedType["Topic"] = "topic";
21
25
  })(ParsedType || (exports.ParsedType = ParsedType = {}));
22
26
  // Parsers for known formats
23
- const parseAddress = (raw, context) => {
24
- const [naddr] = raw.match(/^(web\+)?(nostr:)?\/?\/?naddr1[\d\w]+/i) || [];
27
+ const parseAddress = (text, context) => {
28
+ const [naddr] = text.match(/^(web\+)?(nostr:)?\/?\/?naddr1[\d\w]+/i) || [];
25
29
  if (naddr) {
26
30
  try {
27
31
  const { data } = nostr_tools_1.nip19.decode(fromNostrURI(naddr));
28
- return { type: ParsedType.Address, value: data, raw };
32
+ return { type: ParsedType.Address, value: data, raw: naddr };
29
33
  }
30
34
  catch (e) {
31
35
  // Pass
@@ -33,36 +37,36 @@ const parseAddress = (raw, context) => {
33
37
  }
34
38
  };
35
39
  exports.parseAddress = parseAddress;
36
- const parseCashu = (raw, context) => {
37
- const [value] = raw.match(/^(cashu)[\d\w=]{50,5000}/i) || [];
40
+ const parseCashu = (text, context) => {
41
+ const [value] = text.match(/^(cashu)[\d\w=]{50,5000}/i) || [];
38
42
  if (value) {
39
- return { type: ParsedType.Cashu, value, raw };
43
+ return { type: ParsedType.Cashu, value, raw: value };
40
44
  }
41
45
  };
42
46
  exports.parseCashu = parseCashu;
43
- const parseCodeBlock = (raw, context) => {
44
- const [code, value] = raw.match(/^```([^]*?)```/i) || [];
47
+ const parseCodeBlock = (text, context) => {
48
+ const [code, value] = text.match(/^```([^]*?)```/i) || [];
45
49
  if (code) {
46
- return { type: ParsedType.CodeBlock, value, raw };
50
+ return { type: ParsedType.CodeBlock, value, raw: code };
47
51
  }
48
52
  };
49
53
  exports.parseCodeBlock = parseCodeBlock;
50
- const parseCodeInline = (raw, context) => {
51
- const [code, value] = raw.match(/^`(.*?)`/i) || [];
54
+ const parseCodeInline = (text, context) => {
55
+ const [code, value] = text.match(/^`(.*?)`/i) || [];
52
56
  if (code) {
53
- return { type: ParsedType.CodeInline, value, raw };
57
+ return { type: ParsedType.CodeInline, value, raw: code };
54
58
  }
55
59
  };
56
60
  exports.parseCodeInline = parseCodeInline;
57
- const parseEvent = (raw, context) => {
58
- const [entity] = raw.match(/^(web\+)?(nostr:)?\/?\/?n(event|ote)1[\d\w]+/i) || [];
61
+ const parseEvent = (text, context) => {
62
+ const [entity] = text.match(/^(web\+)?(nostr:)?\/?\/?n(event|ote)1[\d\w]+/i) || [];
59
63
  if (entity) {
60
64
  try {
61
65
  const { type, data } = nostr_tools_1.nip19.decode(fromNostrURI(entity));
62
66
  const value = type === "note"
63
67
  ? { id: data, relays: [] }
64
68
  : data;
65
- return { type: ParsedType.Event, value, raw };
69
+ return { type: ParsedType.Event, value, raw: entity };
66
70
  }
67
71
  catch (e) {
68
72
  // Pass
@@ -70,62 +74,62 @@ const parseEvent = (raw, context) => {
70
74
  }
71
75
  };
72
76
  exports.parseEvent = parseEvent;
73
- const parseInvoice = (raw, context) => {
74
- const [value] = raw.match(/^ln(lnbc|lnurl)[\d\w]{50,1000}/i) || [];
77
+ const parseInvoice = (text, context) => {
78
+ const [value] = text.match(/^ln(lnbc|lnurl)[\d\w]{50,1000}/i) || [];
75
79
  if (value) {
76
- return { type: ParsedType.Invoice, value, raw };
80
+ return { type: ParsedType.Invoice, value, raw: value };
77
81
  }
78
82
  };
79
83
  exports.parseInvoice = parseInvoice;
80
- const parseLink = (raw, context) => {
81
- var _a;
82
- const [link] = raw.match(/^([a-z\+:]{2,30}:\/\/)?[^<>\(\)\s]+\.[a-z]{2,6}[^\s]*[^<>"'\.!?,:\s\)\(]/gi) || [];
84
+ const parseLink = (text, context) => {
85
+ let [link] = text.match(/^([a-z\+:]{2,30}:\/\/)?[^<>\(\)\s]+\.[a-z]{2,6}[^\s]*[^<>"'\.!?,:\s\)\(]/gi) || [];
83
86
  if (!link) {
84
87
  return;
85
88
  }
86
89
  const prev = last(context.results);
87
- // Skip url if it's just the end of a filepath
88
- if ((prev === null || prev === void 0 ? void 0 : prev.type) === ParsedType.Text && prev.value.endsWith("/")) {
89
- return;
90
- }
91
- // Strip hash component
92
- let [url, hash] = link.split("#");
93
- // Skip ellipses and very short non-urls
94
- if (url.match(/\.\./)) {
90
+ // Skip url if it's just the end of a filepath or an ellipse
91
+ if ((prev === null || prev === void 0 ? void 0 : prev.type) === ParsedType.Text && prev.value.endsWith("/") || link.match(/\.\./)) {
95
92
  return;
96
93
  }
97
94
  // Make sure there's a protocol
98
- if (!url.match("^\w+://")) {
99
- url = "https://" + url;
95
+ if (!link.match(/^\w+:\/\//)) {
96
+ link = "https://" + link;
97
+ }
98
+ // Parse using URL
99
+ let url;
100
+ try {
101
+ url = new URL(link);
102
+ }
103
+ catch (e) {
104
+ return;
100
105
  }
101
- const meta = Object.fromEntries(new URLSearchParams(hash).entries());
106
+ const meta = Object.fromEntries(new URLSearchParams(url.hash.slice(1)).entries());
102
107
  for (const tag of context.tags) {
103
- if (tag[0] === 'imeta' && tag.find(t => t.includes(`url ${raw}`))) {
108
+ if (tag[0] === 'imeta' && tag.find(t => t.includes(`url ${link}`))) {
104
109
  Object.assign(meta, Object.fromEntries(tag.slice(1).map((m) => m.split(" "))));
105
110
  }
106
111
  }
107
- const isMedia = Boolean(url.match(/\.(jpe?g|png|wav|mp3|mp4|mov|avi|webm|webp|gif|bmp|svg)$/) &&
108
- ((_a = last(url.replace(/\/$/, "").split("://"))) === null || _a === void 0 ? void 0 : _a.includes("/")));
109
- const value = { url, hash, meta, isMedia };
110
- return { type: ParsedType.Link, value, raw };
112
+ const isMedia = Boolean(url.pathname.match(/\.(jpe?g|png|wav|mp3|mp4|mov|avi|webm|webp|gif|bmp|svg)$/));
113
+ const value = { url, meta, isMedia };
114
+ return { type: ParsedType.Link, value, raw: link };
111
115
  };
112
116
  exports.parseLink = parseLink;
113
- const parseNewline = (raw, context) => {
114
- const [value] = raw.match(/^\n+/) || [];
117
+ const parseNewline = (text, context) => {
118
+ const [value] = text.match(/^\n+/) || [];
115
119
  if (value) {
116
- return { type: ParsedType.Newline, raw, value };
120
+ return { type: ParsedType.Newline, value, raw: value };
117
121
  }
118
122
  };
119
123
  exports.parseNewline = parseNewline;
120
- const parseProfile = (raw, context) => {
121
- const [entity] = raw.match(/^(web\+)?(nostr:)?\/?\/?n(profile|pub)1[\d\w]+/i) || [];
124
+ const parseProfile = (text, context) => {
125
+ const [entity] = text.match(/^(web\+)?(nostr:)?\/?\/?n(profile|pub)1[\d\w]+/i) || [];
122
126
  if (entity) {
123
127
  try {
124
128
  const { type, data } = nostr_tools_1.nip19.decode(fromNostrURI(entity));
125
129
  const value = type === "npub"
126
130
  ? { pubkey: data, relays: [] }
127
131
  : data;
128
- return { type: ParsedType.Profile, value, raw };
132
+ return { type: ParsedType.Profile, value, raw: entity };
129
133
  }
130
134
  catch (e) {
131
135
  // Pass
@@ -133,25 +137,25 @@ const parseProfile = (raw, context) => {
133
137
  }
134
138
  };
135
139
  exports.parseProfile = parseProfile;
136
- const parseTopic = (raw, context) => {
137
- const [value] = raw.match(/^#[^\s!\"#$%&'()*+,-.\/:;<=>?@[\\\]^_`{|}~]+/i) || [];
140
+ const parseTopic = (text, context) => {
141
+ const [value] = text.match(/^#[^\s!\"#$%&'()*+,-.\/:;<=>?@[\\\]^_`{|}~]+/i) || [];
138
142
  // Skip numeric topics
139
143
  if (value && !value.match(/^#\d+$/)) {
140
- return { type: ParsedType.Topic, raw, value };
144
+ return { type: ParsedType.Topic, value, raw: value };
141
145
  }
142
146
  };
143
147
  exports.parseTopic = parseTopic;
144
148
  // Parse other formats to known types
145
- const parseLegacyMention = (raw, context) => {
146
- const mentionMatch = raw.match(/^#\[(\d+)\]/i) || [];
149
+ const parseLegacyMention = (text, context) => {
150
+ const mentionMatch = text.match(/^#\[(\d+)\]/i) || [];
147
151
  if (mentionMatch) {
148
152
  const [tag, value, url] = context.tags[parseInt(mentionMatch[1])] || [];
149
153
  const relays = url ? [url] : [];
150
154
  if (tag === "p") {
151
- return { type: ParsedType.Profile, value: { pubkey: value, relays }, raw };
155
+ return { type: ParsedType.Profile, value: { pubkey: value, relays }, raw: mentionMatch[0] };
152
156
  }
153
157
  if (tag === "e") {
154
- return { type: ParsedType.Event, value: { id: value, relays }, raw };
158
+ return { type: ParsedType.Event, value: { id: value, relays }, raw: mentionMatch[0] };
155
159
  }
156
160
  }
157
161
  };
@@ -208,7 +212,7 @@ const parse = ({ content = "", tags = [] }) => {
208
212
  return context.results;
209
213
  };
210
214
  exports.parse = parse;
211
- const truncate = (content, { minLength = 400, maxLength = 600, mediaLength = 200, entityLength = 30, }) => {
215
+ const truncate = (content, { minLength = 400, maxLength = 600, mediaLength = 200, entityLength = 30, } = {}) => {
212
216
  // Get a list of content sizes so we know where to truncate
213
217
  // Non-plaintext things might take up more or less room if rendered
214
218
  const sizes = content.map((parsed) => {
@@ -244,4 +248,65 @@ const truncate = (content, { minLength = 400, maxLength = 600, mediaLength = 200
244
248
  return content;
245
249
  };
246
250
  exports.truncate = truncate;
251
+ exports.defaultRenderOptions = {
252
+ entityBaseUrl: 'https://njump.me/'
253
+ };
254
+ class HTML {
255
+ constructor(value) {
256
+ this.value = value;
257
+ this.toString = () => this.value;
258
+ this.value = value;
259
+ }
260
+ }
261
+ exports.HTML = HTML;
262
+ HTML.useSafely = (value) => new HTML((0, insane_1.default)(value));
263
+ HTML.useDangerously = (value) => new HTML(value);
264
+ HTML.buildLink = (href, display) => HTML.useSafely(`<a href=${href} target="_blank">${display}</a>`);
265
+ HTML.buildEntityLink = (entity, options) => HTML.buildLink(options.entityBaseUrl + entity, entity.slice(0, 16));
266
+ const renderCashu = (parsed, options) => HTML.useSafely(parsed.value);
267
+ exports.renderCashu = renderCashu;
268
+ const renderCodeBlock = (parsed, options) => HTML.useSafely(parsed.value);
269
+ exports.renderCodeBlock = renderCodeBlock;
270
+ const renderCodeInline = (parsed, options) => HTML.useSafely(parsed.value);
271
+ exports.renderCodeInline = renderCodeInline;
272
+ const renderEllipsis = (parsed, options) => "...";
273
+ exports.renderEllipsis = renderEllipsis;
274
+ const renderInvoice = (parsed, options) => HTML.useSafely(parsed.value);
275
+ exports.renderInvoice = renderInvoice;
276
+ const renderLink = (parsed, options) => {
277
+ const href = parsed.value.url.toString();
278
+ const display = parsed.value.url.host + parsed.value.url.pathname;
279
+ return HTML.buildLink(href, display);
280
+ };
281
+ exports.renderLink = renderLink;
282
+ const renderNewline = (parsed, options) => HTML.useSafely(Array.from(parsed.value).map(() => '<br />').join(''));
283
+ exports.renderNewline = renderNewline;
284
+ const renderText = (parsed, options) => HTML.useSafely(parsed.value);
285
+ exports.renderText = renderText;
286
+ const renderTopic = (parsed, options) => HTML.useSafely(parsed.value);
287
+ exports.renderTopic = renderTopic;
288
+ const renderEvent = (parsed, options) => HTML.buildEntityLink(nostr_tools_1.nip19.neventEncode(parsed.value), options);
289
+ exports.renderEvent = renderEvent;
290
+ const renderProfile = (parsed, options) => HTML.buildEntityLink(nostr_tools_1.nip19.nprofileEncode(parsed.value), options);
291
+ exports.renderProfile = renderProfile;
292
+ const renderAddress = (parsed, options) => HTML.buildEntityLink(nostr_tools_1.nip19.naddrEncode(parsed.value), options);
293
+ exports.renderAddress = renderAddress;
294
+ const render = (parsed, options = {}) => {
295
+ options = { ...exports.defaultRenderOptions, ...options };
296
+ switch (parsed.type) {
297
+ case ParsedType.Address: return (0, exports.renderAddress)(parsed, options);
298
+ case ParsedType.Cashu: return (0, exports.renderCashu)(parsed, options);
299
+ case ParsedType.CodeBlock: return (0, exports.renderCodeBlock)(parsed, options);
300
+ case ParsedType.CodeInline: return (0, exports.renderCodeInline)(parsed, options);
301
+ case ParsedType.Ellipsis: return (0, exports.renderEllipsis)(parsed, options);
302
+ case ParsedType.Event: return (0, exports.renderEvent)(parsed, options);
303
+ case ParsedType.Invoice: return (0, exports.renderInvoice)(parsed, options);
304
+ case ParsedType.Link: return (0, exports.renderLink)(parsed, options);
305
+ case ParsedType.Newline: return (0, exports.renderNewline)(parsed, options);
306
+ case ParsedType.Profile: return (0, exports.renderProfile)(parsed, options);
307
+ case ParsedType.Text: return (0, exports.renderText)(parsed, options);
308
+ case ParsedType.Topic: return (0, exports.renderTopic)(parsed, options);
309
+ }
310
+ };
311
+ exports.render = render;
247
312
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -59,8 +59,7 @@ export type ParsedInvoice = {
59
59
  raw: string;
60
60
  };
61
61
  export type ParsedLinkValue = {
62
- url: string;
63
- hash: string;
62
+ url: URL;
64
63
  meta: Record<string, string>;
65
64
  isMedia: boolean;
66
65
  };
@@ -100,28 +99,56 @@ export type ParsedAddress = {
100
99
  raw: string;
101
100
  };
102
101
  export type Parsed = ParsedAddress | ParsedCashu | ParsedCodeBlock | ParsedCodeInline | ParsedEllipsis | ParsedEvent | ParsedInvoice | ParsedLink | ParsedNewline | ParsedProfile | ParsedText | ParsedTopic;
103
- export declare const parseAddress: (raw: string, context: ParseContext) => ParsedAddress | void;
104
- export declare const parseCashu: (raw: string, context: ParseContext) => ParsedCashu | void;
105
- export declare const parseCodeBlock: (raw: string, context: ParseContext) => ParsedCodeBlock | void;
106
- export declare const parseCodeInline: (raw: string, context: ParseContext) => ParsedCodeInline | void;
107
- export declare const parseEvent: (raw: string, context: ParseContext) => ParsedEvent | void;
108
- export declare const parseInvoice: (raw: string, context: ParseContext) => ParsedInvoice | void;
109
- export declare const parseLink: (raw: string, context: ParseContext) => ParsedLink | void;
110
- export declare const parseNewline: (raw: string, context: ParseContext) => ParsedNewline | void;
111
- export declare const parseProfile: (raw: string, context: ParseContext) => ParsedProfile | void;
112
- export declare const parseTopic: (raw: string, context: ParseContext) => ParsedTopic | void;
113
- export declare const parseLegacyMention: (raw: string, context: ParseContext) => ParsedProfile | ParsedEvent | void;
114
- export declare const parsers: (((raw: string, context: ParseContext) => ParsedAddress | void) | ((raw: string, context: ParseContext) => ParsedCashu | void) | ((raw: string, context: ParseContext) => ParsedCodeBlock | void) | ((raw: string, context: ParseContext) => ParsedCodeInline | void) | ((raw: string, context: ParseContext) => ParsedInvoice | void) | ((raw: string, context: ParseContext) => ParsedLink | void) | ((raw: string, context: ParseContext) => ParsedNewline | void) | ((raw: string, context: ParseContext) => ParsedTopic | void) | ((raw: string, context: ParseContext) => ParsedProfile | ParsedEvent | void))[];
102
+ export declare const parseAddress: (text: string, context: ParseContext) => ParsedAddress | void;
103
+ export declare const parseCashu: (text: string, context: ParseContext) => ParsedCashu | void;
104
+ export declare const parseCodeBlock: (text: string, context: ParseContext) => ParsedCodeBlock | void;
105
+ export declare const parseCodeInline: (text: string, context: ParseContext) => ParsedCodeInline | void;
106
+ export declare const parseEvent: (text: string, context: ParseContext) => ParsedEvent | void;
107
+ export declare const parseInvoice: (text: string, context: ParseContext) => ParsedInvoice | void;
108
+ export declare const parseLink: (text: string, context: ParseContext) => ParsedLink | void;
109
+ export declare const parseNewline: (text: string, context: ParseContext) => ParsedNewline | void;
110
+ export declare const parseProfile: (text: string, context: ParseContext) => ParsedProfile | void;
111
+ export declare const parseTopic: (text: string, context: ParseContext) => ParsedTopic | void;
112
+ export declare const parseLegacyMention: (text: string, context: ParseContext) => ParsedProfile | ParsedEvent | void;
113
+ export declare const parsers: (((text: string, context: ParseContext) => ParsedAddress | void) | ((text: string, context: ParseContext) => ParsedCashu | void) | ((text: string, context: ParseContext) => ParsedCodeBlock | void) | ((text: string, context: ParseContext) => ParsedCodeInline | void) | ((text: string, context: ParseContext) => ParsedInvoice | void) | ((text: string, context: ParseContext) => ParsedLink | void) | ((text: string, context: ParseContext) => ParsedNewline | void) | ((text: string, context: ParseContext) => ParsedTopic | void) | ((text: string, context: ParseContext) => ParsedProfile | ParsedEvent | void))[];
115
114
  export declare const parseNext: (raw: string, context: ParseContext) => Parsed | void;
116
115
  export declare const parse: ({ content, tags }: {
117
116
  content?: string | undefined;
118
117
  tags?: string[][] | undefined;
119
118
  }) => Parsed[];
120
119
  type TruncateOpts = {
121
- minLength: number;
122
- maxLength: number;
123
- mediaLength: number;
124
- entityLength: number;
125
- };
126
- export declare const truncate: (content: Parsed[], { minLength, maxLength, mediaLength, entityLength, }: TruncateOpts) => Parsed[];
120
+ minLength?: number;
121
+ maxLength?: number;
122
+ mediaLength?: number;
123
+ entityLength?: number;
124
+ };
125
+ export declare const truncate: (content: Parsed[], { minLength, maxLength, mediaLength, entityLength, }?: TruncateOpts) => Parsed[];
126
+ export type RenderOptions = {
127
+ entityBaseUrl?: string;
128
+ };
129
+ export declare const defaultRenderOptions: {
130
+ entityBaseUrl: string;
131
+ };
132
+ export declare class HTML {
133
+ readonly value: string;
134
+ constructor(value: string);
135
+ toString: () => string;
136
+ static useSafely: (value: string) => HTML;
137
+ static useDangerously: (value: string) => HTML;
138
+ static buildLink: (href: string, display: string) => HTML;
139
+ static buildEntityLink: (entity: string, options: RenderOptions) => HTML;
140
+ }
141
+ export declare const renderCashu: (parsed: ParsedCashu, options: RenderOptions) => HTML;
142
+ export declare const renderCodeBlock: (parsed: ParsedCodeBlock, options: RenderOptions) => HTML;
143
+ export declare const renderCodeInline: (parsed: ParsedCodeInline, options: RenderOptions) => HTML;
144
+ export declare const renderEllipsis: (parsed: ParsedEllipsis, options: RenderOptions) => string;
145
+ export declare const renderInvoice: (parsed: ParsedInvoice, options: RenderOptions) => HTML;
146
+ export declare const renderLink: (parsed: ParsedLink, options: RenderOptions) => HTML;
147
+ export declare const renderNewline: (parsed: ParsedNewline, options: RenderOptions) => HTML;
148
+ export declare const renderText: (parsed: ParsedText, options: RenderOptions) => HTML;
149
+ export declare const renderTopic: (parsed: ParsedTopic, options: RenderOptions) => HTML;
150
+ export declare const renderEvent: (parsed: ParsedEvent, options: RenderOptions) => HTML;
151
+ export declare const renderProfile: (parsed: ParsedProfile, options: RenderOptions) => HTML;
152
+ export declare const renderAddress: (parsed: ParsedAddress, options: RenderOptions) => HTML;
153
+ export declare const render: (parsed: Parsed, options?: RenderOptions) => string | HTML;
127
154
  export {};
package/build/index.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import { nip19 } from "nostr-tools";
2
+ import insane from 'insane';
2
3
  const last = (xs, ...args) => xs[xs.length - 1];
3
4
  const fromNostrURI = (s) => s.replace(/^nostr:\/?\/?/, "");
4
5
  export var ParsedType;
@@ -17,128 +18,128 @@ export var ParsedType;
17
18
  ParsedType["Topic"] = "topic";
18
19
  })(ParsedType || (ParsedType = {}));
19
20
  // Parsers for known formats
20
- export const parseAddress = (raw, context) => {
21
- const [naddr] = raw.match(/^(web\+)?(nostr:)?\/?\/?naddr1[\d\w]+/i) || [];
21
+ export const parseAddress = (text, context) => {
22
+ const [naddr] = text.match(/^(web\+)?(nostr:)?\/?\/?naddr1[\d\w]+/i) || [];
22
23
  if (naddr) {
23
24
  try {
24
25
  const { data } = nip19.decode(fromNostrURI(naddr));
25
- return { type: ParsedType.Address, value: data, raw };
26
+ return { type: ParsedType.Address, value: data, raw: naddr };
26
27
  }
27
28
  catch (e) {
28
29
  // Pass
29
30
  }
30
31
  }
31
32
  };
32
- export const parseCashu = (raw, context) => {
33
- const [value] = raw.match(/^(cashu)[\d\w=]{50,5000}/i) || [];
33
+ export const parseCashu = (text, context) => {
34
+ const [value] = text.match(/^(cashu)[\d\w=]{50,5000}/i) || [];
34
35
  if (value) {
35
- return { type: ParsedType.Cashu, value, raw };
36
+ return { type: ParsedType.Cashu, value, raw: value };
36
37
  }
37
38
  };
38
- export const parseCodeBlock = (raw, context) => {
39
- const [code, value] = raw.match(/^```([^]*?)```/i) || [];
39
+ export const parseCodeBlock = (text, context) => {
40
+ const [code, value] = text.match(/^```([^]*?)```/i) || [];
40
41
  if (code) {
41
- return { type: ParsedType.CodeBlock, value, raw };
42
+ return { type: ParsedType.CodeBlock, value, raw: code };
42
43
  }
43
44
  };
44
- export const parseCodeInline = (raw, context) => {
45
- const [code, value] = raw.match(/^`(.*?)`/i) || [];
45
+ export const parseCodeInline = (text, context) => {
46
+ const [code, value] = text.match(/^`(.*?)`/i) || [];
46
47
  if (code) {
47
- return { type: ParsedType.CodeInline, value, raw };
48
+ return { type: ParsedType.CodeInline, value, raw: code };
48
49
  }
49
50
  };
50
- export const parseEvent = (raw, context) => {
51
- const [entity] = raw.match(/^(web\+)?(nostr:)?\/?\/?n(event|ote)1[\d\w]+/i) || [];
51
+ export const parseEvent = (text, context) => {
52
+ const [entity] = text.match(/^(web\+)?(nostr:)?\/?\/?n(event|ote)1[\d\w]+/i) || [];
52
53
  if (entity) {
53
54
  try {
54
55
  const { type, data } = nip19.decode(fromNostrURI(entity));
55
56
  const value = type === "note"
56
57
  ? { id: data, relays: [] }
57
58
  : data;
58
- return { type: ParsedType.Event, value, raw };
59
+ return { type: ParsedType.Event, value, raw: entity };
59
60
  }
60
61
  catch (e) {
61
62
  // Pass
62
63
  }
63
64
  }
64
65
  };
65
- export const parseInvoice = (raw, context) => {
66
- const [value] = raw.match(/^ln(lnbc|lnurl)[\d\w]{50,1000}/i) || [];
66
+ export const parseInvoice = (text, context) => {
67
+ const [value] = text.match(/^ln(lnbc|lnurl)[\d\w]{50,1000}/i) || [];
67
68
  if (value) {
68
- return { type: ParsedType.Invoice, value, raw };
69
+ return { type: ParsedType.Invoice, value, raw: value };
69
70
  }
70
71
  };
71
- export const parseLink = (raw, context) => {
72
- var _a;
73
- const [link] = raw.match(/^([a-z\+:]{2,30}:\/\/)?[^<>\(\)\s]+\.[a-z]{2,6}[^\s]*[^<>"'\.!?,:\s\)\(]/gi) || [];
72
+ export const parseLink = (text, context) => {
73
+ let [link] = text.match(/^([a-z\+:]{2,30}:\/\/)?[^<>\(\)\s]+\.[a-z]{2,6}[^\s]*[^<>"'\.!?,:\s\)\(]/gi) || [];
74
74
  if (!link) {
75
75
  return;
76
76
  }
77
77
  const prev = last(context.results);
78
- // Skip url if it's just the end of a filepath
79
- if ((prev === null || prev === void 0 ? void 0 : prev.type) === ParsedType.Text && prev.value.endsWith("/")) {
80
- return;
81
- }
82
- // Strip hash component
83
- let [url, hash] = link.split("#");
84
- // Skip ellipses and very short non-urls
85
- if (url.match(/\.\./)) {
78
+ // Skip url if it's just the end of a filepath or an ellipse
79
+ if ((prev === null || prev === void 0 ? void 0 : prev.type) === ParsedType.Text && prev.value.endsWith("/") || link.match(/\.\./)) {
86
80
  return;
87
81
  }
88
82
  // Make sure there's a protocol
89
- if (!url.match("^\w+://")) {
90
- url = "https://" + url;
83
+ if (!link.match(/^\w+:\/\//)) {
84
+ link = "https://" + link;
85
+ }
86
+ // Parse using URL
87
+ let url;
88
+ try {
89
+ url = new URL(link);
90
+ }
91
+ catch (e) {
92
+ return;
91
93
  }
92
- const meta = Object.fromEntries(new URLSearchParams(hash).entries());
94
+ const meta = Object.fromEntries(new URLSearchParams(url.hash.slice(1)).entries());
93
95
  for (const tag of context.tags) {
94
- if (tag[0] === 'imeta' && tag.find(t => t.includes(`url ${raw}`))) {
96
+ if (tag[0] === 'imeta' && tag.find(t => t.includes(`url ${link}`))) {
95
97
  Object.assign(meta, Object.fromEntries(tag.slice(1).map((m) => m.split(" "))));
96
98
  }
97
99
  }
98
- const isMedia = Boolean(url.match(/\.(jpe?g|png|wav|mp3|mp4|mov|avi|webm|webp|gif|bmp|svg)$/) &&
99
- ((_a = last(url.replace(/\/$/, "").split("://"))) === null || _a === void 0 ? void 0 : _a.includes("/")));
100
- const value = { url, hash, meta, isMedia };
101
- return { type: ParsedType.Link, value, raw };
100
+ const isMedia = Boolean(url.pathname.match(/\.(jpe?g|png|wav|mp3|mp4|mov|avi|webm|webp|gif|bmp|svg)$/));
101
+ const value = { url, meta, isMedia };
102
+ return { type: ParsedType.Link, value, raw: link };
102
103
  };
103
- export const parseNewline = (raw, context) => {
104
- const [value] = raw.match(/^\n+/) || [];
104
+ export const parseNewline = (text, context) => {
105
+ const [value] = text.match(/^\n+/) || [];
105
106
  if (value) {
106
- return { type: ParsedType.Newline, raw, value };
107
+ return { type: ParsedType.Newline, value, raw: value };
107
108
  }
108
109
  };
109
- export const parseProfile = (raw, context) => {
110
- const [entity] = raw.match(/^(web\+)?(nostr:)?\/?\/?n(profile|pub)1[\d\w]+/i) || [];
110
+ export const parseProfile = (text, context) => {
111
+ const [entity] = text.match(/^(web\+)?(nostr:)?\/?\/?n(profile|pub)1[\d\w]+/i) || [];
111
112
  if (entity) {
112
113
  try {
113
114
  const { type, data } = nip19.decode(fromNostrURI(entity));
114
115
  const value = type === "npub"
115
116
  ? { pubkey: data, relays: [] }
116
117
  : data;
117
- return { type: ParsedType.Profile, value, raw };
118
+ return { type: ParsedType.Profile, value, raw: entity };
118
119
  }
119
120
  catch (e) {
120
121
  // Pass
121
122
  }
122
123
  }
123
124
  };
124
- export const parseTopic = (raw, context) => {
125
- const [value] = raw.match(/^#[^\s!\"#$%&'()*+,-.\/:;<=>?@[\\\]^_`{|}~]+/i) || [];
125
+ export const parseTopic = (text, context) => {
126
+ const [value] = text.match(/^#[^\s!\"#$%&'()*+,-.\/:;<=>?@[\\\]^_`{|}~]+/i) || [];
126
127
  // Skip numeric topics
127
128
  if (value && !value.match(/^#\d+$/)) {
128
- return { type: ParsedType.Topic, raw, value };
129
+ return { type: ParsedType.Topic, value, raw: value };
129
130
  }
130
131
  };
131
132
  // Parse other formats to known types
132
- export const parseLegacyMention = (raw, context) => {
133
- const mentionMatch = raw.match(/^#\[(\d+)\]/i) || [];
133
+ export const parseLegacyMention = (text, context) => {
134
+ const mentionMatch = text.match(/^#\[(\d+)\]/i) || [];
134
135
  if (mentionMatch) {
135
136
  const [tag, value, url] = context.tags[parseInt(mentionMatch[1])] || [];
136
137
  const relays = url ? [url] : [];
137
138
  if (tag === "p") {
138
- return { type: ParsedType.Profile, value: { pubkey: value, relays }, raw };
139
+ return { type: ParsedType.Profile, value: { pubkey: value, relays }, raw: mentionMatch[0] };
139
140
  }
140
141
  if (tag === "e") {
141
- return { type: ParsedType.Event, value: { id: value, relays }, raw };
142
+ return { type: ParsedType.Event, value: { id: value, relays }, raw: mentionMatch[0] };
142
143
  }
143
144
  }
144
145
  };
@@ -192,7 +193,7 @@ export const parse = ({ content = "", tags = [] }) => {
192
193
  }
193
194
  return context.results;
194
195
  };
195
- export const truncate = (content, { minLength = 400, maxLength = 600, mediaLength = 200, entityLength = 30, }) => {
196
+ export const truncate = (content, { minLength = 400, maxLength = 600, mediaLength = 200, entityLength = 30, } = {}) => {
196
197
  // Get a list of content sizes so we know where to truncate
197
198
  // Non-plaintext things might take up more or less room if rendered
198
199
  const sizes = content.map((parsed) => {
@@ -227,4 +228,51 @@ export const truncate = (content, { minLength = 400, maxLength = 600, mediaLengt
227
228
  });
228
229
  return content;
229
230
  };
231
+ export const defaultRenderOptions = {
232
+ entityBaseUrl: 'https://njump.me/'
233
+ };
234
+ export class HTML {
235
+ constructor(value) {
236
+ this.value = value;
237
+ this.toString = () => this.value;
238
+ this.value = value;
239
+ }
240
+ }
241
+ HTML.useSafely = (value) => new HTML(insane(value));
242
+ HTML.useDangerously = (value) => new HTML(value);
243
+ HTML.buildLink = (href, display) => HTML.useSafely(`<a href=${href} target="_blank">${display}</a>`);
244
+ HTML.buildEntityLink = (entity, options) => HTML.buildLink(options.entityBaseUrl + entity, entity.slice(0, 16));
245
+ export const renderCashu = (parsed, options) => HTML.useSafely(parsed.value);
246
+ export const renderCodeBlock = (parsed, options) => HTML.useSafely(parsed.value);
247
+ export const renderCodeInline = (parsed, options) => HTML.useSafely(parsed.value);
248
+ export const renderEllipsis = (parsed, options) => "...";
249
+ export const renderInvoice = (parsed, options) => HTML.useSafely(parsed.value);
250
+ export const renderLink = (parsed, options) => {
251
+ const href = parsed.value.url.toString();
252
+ const display = parsed.value.url.host + parsed.value.url.pathname;
253
+ return HTML.buildLink(href, display);
254
+ };
255
+ export const renderNewline = (parsed, options) => HTML.useSafely(Array.from(parsed.value).map(() => '<br />').join(''));
256
+ export const renderText = (parsed, options) => HTML.useSafely(parsed.value);
257
+ export const renderTopic = (parsed, options) => HTML.useSafely(parsed.value);
258
+ export const renderEvent = (parsed, options) => HTML.buildEntityLink(nip19.neventEncode(parsed.value), options);
259
+ export const renderProfile = (parsed, options) => HTML.buildEntityLink(nip19.nprofileEncode(parsed.value), options);
260
+ export const renderAddress = (parsed, options) => HTML.buildEntityLink(nip19.naddrEncode(parsed.value), options);
261
+ export const render = (parsed, options = {}) => {
262
+ options = { ...defaultRenderOptions, ...options };
263
+ switch (parsed.type) {
264
+ case ParsedType.Address: return renderAddress(parsed, options);
265
+ case ParsedType.Cashu: return renderCashu(parsed, options);
266
+ case ParsedType.CodeBlock: return renderCodeBlock(parsed, options);
267
+ case ParsedType.CodeInline: return renderCodeInline(parsed, options);
268
+ case ParsedType.Ellipsis: return renderEllipsis(parsed, options);
269
+ case ParsedType.Event: return renderEvent(parsed, options);
270
+ case ParsedType.Invoice: return renderInvoice(parsed, options);
271
+ case ParsedType.Link: return renderLink(parsed, options);
272
+ case ParsedType.Newline: return renderNewline(parsed, options);
273
+ case ParsedType.Profile: return renderProfile(parsed, options);
274
+ case ParsedType.Text: return renderText(parsed, options);
275
+ case ParsedType.Topic: return renderTopic(parsed, options);
276
+ }
277
+ };
230
278
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"OAAO,EAAC,KAAK,EAAC,MAAM,aAAa;OAC1B,MAAM,MAAM,QAAQ;AAE3B,MAAM,IAAI,GAAG,CAAI,EAAO,EAAE,GAAG,IAAe,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAElE,MAAM,YAAY,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;AA+BlE,MAAM,CAAN,IAAY,UAaX;AAbD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,6BAAe,CAAA;IACf,sCAAwB,CAAA;IACxB,wCAA0B,CAAA;IAC1B,mCAAqB,CAAA;IACrB,6BAAe,CAAA;IACf,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,6BAAe,CAAA;AACjB,CAAC,EAbW,UAAU,KAAV,UAAU,QAarB;AA8FD,4BAA4B;AAE5B,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAwB,EAAE;IACxF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,wCAAwC,CAAC,IAAI,EAAE,CAAA;IAE1E,IAAI,KAAK,EAAE;QACT,IAAI;YACF,MAAM,EAAC,IAAI,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAA;YAEhD,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,IAAsB,EAAE,GAAG,EAAE,KAAK,EAAC,CAAA;SAC7E;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAsB,EAAE;IACpF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,EAAE,CAAA;IAE7D,IAAI,KAAK,EAAE;QACT,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAC,CAAA;KACnD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,OAAqB,EAA0B,EAAE;IAC5F,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAA;IAEzD,IAAI,IAAI,EAAE;QACR,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,CAAA;KACtD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,OAAqB,EAA2B,EAAE;IAC9F,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IAEnD,IAAI,IAAI,EAAE;QACR,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,CAAA;KACvD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAsB,EAAE;IACpF,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,IAAI,EAAE,CAAA;IAElF,IAAI,MAAM,EAAE;QACV,IAAI;YACF,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM;gBAC3B,CAAC,CAAC,EAAC,EAAE,EAAE,IAAc,EAAE,MAAM,EAAE,EAAE,EAAC;gBAClC,CAAC,CAAC,IAAoB,CAAA;YAExB,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC,CAAA;SACpD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAwB,EAAE;IACxF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iCAAiC,CAAC,IAAI,EAAE,CAAA;IAEnE,IAAI,KAAK,EAAE;QACT,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAC,CAAA;KACrD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAqB,EAAE;IAClF,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,4EAA4E,CAAC,IAAI,EAAE,CAAA;IAE3G,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAElC,4DAA4D;IAC5D,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;QACpF,OAAM;KACP;IAED,+BAA+B;IAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;QAC5B,IAAI,GAAG,UAAU,GAAG,IAAI,CAAA;KACzB;IAED,kBAAkB;IAClB,IAAI,GAAG,CAAA;IACP,IAAI;QACF,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;KACpB;IAAC,OAAO,CAAC,EAAE;QACV,OAAM;KACP;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IAEjF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE;QAC9B,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,EAAE;YAClE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;SACvF;KACF;IAED,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAC/E,CAAA;IAED,MAAM,KAAK,GAAG,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,EAAC,CAAA;IAElC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAC,CAAA;AAClD,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAwB,EAAE;IACxF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;IAExC,IAAI,KAAK,EAAE;QACT,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAC,CAAA;KACrD;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAwB,EAAE;IACxF,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,iDAAiD,CAAC,IAAI,EAAE,CAAA;IAEpF,IAAI,MAAM,EAAE;QACV,IAAI;YACF,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAA;YACvD,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM;gBAC3B,CAAC,CAAC,EAAC,MAAM,EAAE,IAAc,EAAE,MAAM,EAAE,EAAE,EAAC;gBACtC,CAAC,CAAC,IAAsB,CAAA;YAE1B,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAC,CAAA;SACtD;QAAC,OAAO,CAAC,EAAE;YACV,OAAO;SACR;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAsB,EAAE;IACpF,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,+CAA+C,CAAC,IAAI,EAAE,CAAA;IAEjF,sBAAsB;IACtB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;QACnC,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAC,CAAA;KACnD;AACH,CAAC,CAAA;AAGD,qCAAqC;AAErC,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,OAAqB,EAAsC,EAAE;IAC5G,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;IAErD,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACvE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/B,IAAI,GAAG,KAAK,GAAG,EAAE;YACf,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,EAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAE,EAAC,CAAA;SACzF;QAED,IAAI,GAAG,KAAK,GAAG,EAAE;YACf,OAAO,EAAC,IAAI,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,EAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,CAAE,EAAC,CAAA;SACnF;KACF;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,YAAY;IACZ,kBAAkB;IAClB,UAAU;IACV,cAAc;IACd,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,UAAU;IACV,YAAY;IACZ,SAAS;CACV,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,OAAqB,EAAiB,EAAE;IAC7E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QAEnC,IAAI,MAAM,EAAE;YACV,OAAO,MAAM,CAAA;SACd;KACF;AACH,CAAC,CAAA;AAED,eAAe;AAEf,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAC,OAAO,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAwC,EAAE,EAAE;;IACxF,MAAM,OAAO,GAAiB,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAC,CAAA;IAE1D,IAAI,MAAM,GAAG,EAAE,CAAA;IACf,IAAI,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,KAAI,MAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,0CAAG,CAAC,CAAC,CAAA,IAAI,EAAE,CAAA;IAE3E,OAAO,SAAS,EAAE;QAChB,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;QAE5C,IAAI,MAAM,EAAE;YACV,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,CAAA;gBACzE,MAAM,GAAG,EAAE,CAAA;aACZ;YAED,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;SAC/C;aAAM;YACL,2FAA2F;YAC3F,uEAAuE;YACvE,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAA;YAE9D,MAAM,IAAI,KAAK,CAAA;YACf,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;SAC1C;KACF;IAED,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC,CAAA;KAC1E;IAED,OAAO,OAAO,CAAC,OAAO,CAAA;AACxB,CAAC,CAAA;AASD,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,OAAiB,EACjB,EACE,SAAS,GAAG,GAAG,EACf,SAAS,GAAG,GAAG,EACf,WAAW,GAAG,GAAG,EACjB,YAAY,GAAG,EAAE,MACD,EAAE,EACpB,EAAE;IACF,2DAA2D;IAC3D,mEAAmE;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAc,EAAE,EAAE;QAC3C,QAAQ,MAAM,CAAC,IAAI,EAAE;YACnB,KAAK,UAAU,CAAC,IAAI,CAAC;YACrB,KAAK,UAAU,CAAC,KAAK,CAAC;YACtB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,WAAW,CAAA;YACpB,KAAK,UAAU,CAAC,KAAK,CAAC;YACtB,KAAK,UAAU,CAAC,OAAO,CAAC;YACxB,KAAK,UAAU,CAAC,OAAO;gBACrB,OAAO,YAAY,CAAA;YACrB;gBACE,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAA;SAC7B;IACH,CAAC,CAAC,CAAA;IAEF,gDAAgD;IAChD,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE;QAChD,OAAO,OAAO,CAAA;KACf;IAED,IAAI,WAAW,GAAG,CAAC,CAAA;IAEnB,iFAAiF;IACjF,wFAAwF;IACxF,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACtB,WAAW,IAAI,IAAI,CAAA;QAEnB,iCAAiC;QACjC,IAAI,WAAW,GAAG,SAAS,IAAI,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAE7B,OAAO,KAAK,CAAA;SACb;QAGD,OAAO,IAAI,CAAA;IACb,CAAC,CAAC,CAAA;IAEF,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAQD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,aAAa,EAAE,mBAAmB;CACnC,CAAA;AAED,MAAM,OAAO,IAAI;IACf,YAAqB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAIlC,aAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAA;QAHzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACpB,CAAC;;AAIM,cAAS,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,AAA7C,CAA6C;AAEtD,mBAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,AAArC,CAAqC;AAEnD,cAAS,GAAG,CAAC,IAAY,EAAE,OAAe,EAAE,EAAE,CACnD,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,oBAAoB,OAAO,MAAM,CAAC,AADlD,CACkD;AAE3D,oBAAe,GAAG,CAAC,MAAc,EAAE,OAAsB,EAAE,EAAE,CAClE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,AAD/C,CAC+C;AAGvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAmB,EAAE,OAAsB,EAAE,EAAE,CACzE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAuB,EAAE,OAAsB,EAAE,EAAE,CACjF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAwB,EAAE,OAAsB,EAAE,EAAE,CACnF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,MAAsB,EAAE,OAAsB,EAAE,EAAE,CAAC,KAAK,CAAA;AAEvF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,OAAsB,EAAE,EAAE,CAC7E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,OAAsB,EAAE,EAAE;IACvE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAA;IAEjE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;AACtC,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,OAAsB,EAAE,EAAE,CAC7E,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;AAEvE,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,OAAsB,EAAE,EAAE,CACvE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAmB,EAAE,OAAsB,EAAE,EAAE,CACzE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAE9B,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,MAAmB,EAAE,OAAsB,EAAE,EAAE,CACzE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AAEjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,OAAsB,EAAE,EAAE,CAC7E,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,OAAsB,EAAE,EAAE,CAC7E,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CAAA;AAEhE,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAc,EAAE,UAAyB,EAAE,EAAE,EAAE;IACpE,OAAO,GAAG,EAAC,GAAG,oBAAoB,EAAE,GAAG,OAAO,EAAC,CAAA;IAE/C,QAAQ,MAAM,CAAC,IAAI,EAAE;QACnB,KAAK,UAAU,CAAC,OAAO,CAAC,CAAI,OAAO,aAAa,CAAC,MAAuB,EAAE,OAAO,CAAC,CAAA;QAClF,KAAK,UAAU,CAAC,KAAK,CAAC,CAAM,OAAO,WAAW,CAAC,MAAqB,EAAE,OAAO,CAAC,CAAA;QAC9E,KAAK,UAAU,CAAC,SAAS,CAAC,CAAE,OAAO,eAAe,CAAC,MAAyB,EAAE,OAAO,CAAC,CAAA;QACtF,KAAK,UAAU,CAAC,UAAU,CAAC,CAAC,OAAO,gBAAgB,CAAC,MAA0B,EAAE,OAAO,CAAC,CAAA;QACxF,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAG,OAAO,cAAc,CAAC,MAAwB,EAAE,OAAO,CAAC,CAAA;QACpF,KAAK,UAAU,CAAC,KAAK,CAAC,CAAM,OAAO,WAAW,CAAC,MAAqB,EAAE,OAAO,CAAC,CAAA;QAC9E,KAAK,UAAU,CAAC,OAAO,CAAC,CAAI,OAAO,aAAa,CAAC,MAAuB,EAAE,OAAO,CAAC,CAAA;QAClF,KAAK,UAAU,CAAC,IAAI,CAAC,CAAO,OAAO,UAAU,CAAC,MAAoB,EAAE,OAAO,CAAC,CAAA;QAC5E,KAAK,UAAU,CAAC,OAAO,CAAC,CAAI,OAAO,aAAa,CAAC,MAAuB,EAAE,OAAO,CAAC,CAAA;QAClF,KAAK,UAAU,CAAC,OAAO,CAAC,CAAI,OAAO,aAAa,CAAC,MAAuB,EAAE,OAAO,CAAC,CAAA;QAClF,KAAK,UAAU,CAAC,IAAI,CAAC,CAAO,OAAO,UAAU,CAAC,MAAoB,EAAE,OAAO,CAAC,CAAA;QAC5E,KAAK,UAAU,CAAC,KAAK,CAAC,CAAM,OAAO,WAAW,CAAC,MAAqB,EAAE,OAAO,CAAC,CAAA;KAC/E;AACH,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welshman/content",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "author": "hodlbod",
5
5
  "license": "MIT",
6
6
  "description": "A collection of utilities for parsing nostr note content.",
@@ -26,11 +26,13 @@
26
26
  "fix": "gts fix"
27
27
  },
28
28
  "devDependencies": {
29
+ "@types/insane": "^1.0.0",
29
30
  "gts": "^5.0.1",
30
31
  "tsc-multi": "^1.1.0",
31
32
  "typescript": "~5.1.6"
32
33
  },
33
34
  "dependencies": {
35
+ "insane": "^2.6.2",
34
36
  "nostr-tools": "^2.7.0"
35
37
  }
36
38
  }