waitspin 0.1.6 → 0.1.8

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 (28) hide show
  1. package/README.md +39 -29
  2. package/assets/waitspin-vscode/media/waitspin-activitybar.svg +31 -0
  3. package/assets/waitspin-vscode/media/waitspin-icon.png +0 -0
  4. package/assets/waitspin-vscode/media/waitspin-icon.svg +94 -0
  5. package/assets/waitspin-vscode/out/extension-core.js +468 -0
  6. package/assets/waitspin-vscode/out/extension-core.js.map +1 -0
  7. package/assets/waitspin-vscode/out/extension-html.js +12 -0
  8. package/assets/waitspin-vscode/out/extension-html.js.map +1 -0
  9. package/assets/waitspin-vscode/out/extension-onboarding.js +315 -0
  10. package/assets/waitspin-vscode/out/extension-onboarding.js.map +1 -0
  11. package/assets/waitspin-vscode/out/extension-surfaces.js +161 -0
  12. package/assets/waitspin-vscode/out/extension-surfaces.js.map +1 -0
  13. package/assets/waitspin-vscode/out/extension-wallet-view.js +194 -0
  14. package/assets/waitspin-vscode/out/extension-wallet-view.js.map +1 -0
  15. package/assets/waitspin-vscode/out/extension-wallet.js +148 -0
  16. package/assets/waitspin-vscode/out/extension-wallet.js.map +1 -0
  17. package/assets/waitspin-vscode/out/extension.js +394 -164
  18. package/assets/waitspin-vscode/out/extension.js.map +1 -1
  19. package/assets/waitspin-vscode/package.json +76 -7
  20. package/dist/cli-format.js +301 -0
  21. package/dist/cli-format.js.map +1 -0
  22. package/dist/cli.js +618 -111
  23. package/dist/cli.js.map +1 -1
  24. package/dist/targets/experimental-cli.js +21 -14
  25. package/dist/targets/experimental-cli.js.map +1 -1
  26. package/dist/wallet-format.js +222 -0
  27. package/dist/wallet-format.js.map +1 -0
  28. package/package.json +12 -2
@@ -0,0 +1,468 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PUBLISHER_EXTENSION_REQUIRED_SCOPES = exports.PUBLISHER_KEY_INTENDED_USE = exports.VSCODE_PUBLISHER_TARGET = exports.MIN_VISIBLE_MS = exports.DEFAULT_API_BASE = exports.formatMicroUnits = void 0;
4
+ exports.generatePublisherInstallId = generatePublisherInstallId;
5
+ exports.hasPublisherExtensionScopes = hasPublisherExtensionScopes;
6
+ exports.parseVerifiedPublisherKeyPayload = parseVerifiedPublisherKeyPayload;
7
+ exports.parsePublisherRegistrationPayload = parsePublisherRegistrationPayload;
8
+ exports.isLoopbackApiHostname = isLoopbackApiHostname;
9
+ exports.normalizeTrustedApiBase = normalizeTrustedApiBase;
10
+ exports.isSafeExternalUrl = isSafeExternalUrl;
11
+ exports.parseServePayload = parseServePayload;
12
+ exports.isServeExpired = isServeExpired;
13
+ exports.serveExpiryDelayMs = serveExpiryDelayMs;
14
+ exports.parseWalletStatusPayload = parseWalletStatusPayload;
15
+ exports.parseLedgerPayload = parseLedgerPayload;
16
+ exports.renderPublisherViewHtml = renderPublisherViewHtml;
17
+ const node_crypto_1 = require("node:crypto");
18
+ const extension_html_1 = require("./extension-html");
19
+ const extension_wallet_view_1 = require("./extension-wallet-view");
20
+ var extension_wallet_view_2 = require("./extension-wallet-view");
21
+ Object.defineProperty(exports, "formatMicroUnits", { enumerable: true, get: function () { return extension_wallet_view_2.formatMicroUnits; } });
22
+ exports.DEFAULT_API_BASE = "https://api.waitspin.com";
23
+ exports.MIN_VISIBLE_MS = 5_000;
24
+ exports.VSCODE_PUBLISHER_TARGET = "status-bar-fallback";
25
+ exports.PUBLISHER_KEY_INTENDED_USE = "key_profile:publisher_extension";
26
+ exports.PUBLISHER_EXTENSION_REQUIRED_SCOPES = [
27
+ "publishers:write",
28
+ "serve:read",
29
+ "events:write",
30
+ "wallet:read",
31
+ ];
32
+ function generatePublisherInstallId(randomUuid = node_crypto_1.randomUUID) {
33
+ return `wins_${randomUuid().replace(/-/g, "")}`;
34
+ }
35
+ function hasPublisherExtensionScopes(scopes) {
36
+ return exports.PUBLISHER_EXTENSION_REQUIRED_SCOPES.every((scope) => scopes.includes(scope));
37
+ }
38
+ function parseVerifiedPublisherKeyPayload(payload) {
39
+ const record = objectRecord(payload);
40
+ if (!record) {
41
+ return undefined;
42
+ }
43
+ const accountId = typeof record.account_id === "string" ? record.account_id.trim() : "";
44
+ const apiKey = typeof record.api_key === "string" ? record.api_key.trim() : "";
45
+ const keyProfile = typeof record.key_profile === "string" ? record.key_profile.trim() : "";
46
+ const scopes = readStringArray(record.scopes);
47
+ if (!accountId ||
48
+ !apiKey.startsWith("wts_live_") ||
49
+ keyProfile !== "publisher_extension" ||
50
+ !hasPublisherExtensionScopes(scopes)) {
51
+ return undefined;
52
+ }
53
+ return { accountId, apiKey, keyProfile, scopes };
54
+ }
55
+ function parsePublisherRegistrationPayload(payload) {
56
+ const record = objectRecord(payload);
57
+ if (!record) {
58
+ return undefined;
59
+ }
60
+ const publisherId = typeof record.publisher_id === "string" ? record.publisher_id.trim() : "";
61
+ const installId = typeof record.install_id === "string" ? record.install_id.trim() : "";
62
+ const target = typeof record.target === "string" ? record.target.trim() : "";
63
+ if (!publisherId || !installId || target !== exports.VSCODE_PUBLISHER_TARGET) {
64
+ return undefined;
65
+ }
66
+ return { publisherId, installId, target };
67
+ }
68
+ function isLoopbackApiHostname(hostname) {
69
+ const normalized = hostname.toLowerCase().replace(/\.$/, "");
70
+ return (normalized === "localhost" ||
71
+ normalized === "::1" ||
72
+ normalized === "[::1]" ||
73
+ /^127(?:\.\d{1,3}){3}$/.test(normalized));
74
+ }
75
+ function normalizeTrustedApiBase(value, allowDeveloperApiBase) {
76
+ try {
77
+ const parsed = new URL(value);
78
+ const hostname = parsed.hostname.toLowerCase().replace(/\.$/, "");
79
+ const isCleanOrigin = !parsed.username &&
80
+ !parsed.password &&
81
+ !parsed.search &&
82
+ !parsed.hash &&
83
+ (parsed.pathname === "/" || parsed.pathname === "");
84
+ const isProductionApi = parsed.protocol === "https:" &&
85
+ hostname === "api.waitspin.com" &&
86
+ isCleanOrigin;
87
+ if (isProductionApi) {
88
+ return parsed.origin;
89
+ }
90
+ if (allowDeveloperApiBase &&
91
+ isCleanOrigin &&
92
+ (parsed.protocol === "http:" || parsed.protocol === "https:") &&
93
+ isLoopbackApiHostname(parsed.hostname)) {
94
+ return parsed.origin;
95
+ }
96
+ }
97
+ catch {
98
+ return undefined;
99
+ }
100
+ return undefined;
101
+ }
102
+ function normalizeHostname(hostname) {
103
+ return hostname.toLowerCase().replace(/\.$/, "").replace(/^\[(.*)\]$/, "$1");
104
+ }
105
+ function parseIpv4Number(value) {
106
+ const normalized = value.toLowerCase();
107
+ let parsed;
108
+ if (/^0x[0-9a-f]+$/.test(normalized)) {
109
+ parsed = Number.parseInt(normalized.slice(2), 16);
110
+ }
111
+ else if (/^0[0-7]+$/.test(normalized) && normalized.length > 1) {
112
+ parsed = Number.parseInt(normalized, 8);
113
+ }
114
+ else if (/^\d+$/.test(normalized)) {
115
+ parsed = Number.parseInt(normalized, 10);
116
+ }
117
+ else {
118
+ return undefined;
119
+ }
120
+ if (!Number.isSafeInteger(parsed) || parsed < 0 || parsed > 0xffffffff) {
121
+ return undefined;
122
+ }
123
+ return parsed;
124
+ }
125
+ function isBlockedPrivateIpv4(octets) {
126
+ const [first, second] = octets;
127
+ return (first === 0 ||
128
+ first === 10 ||
129
+ first === 127 ||
130
+ (first === 169 && second === 254) ||
131
+ (first === 172 && second >= 16 && second <= 31) ||
132
+ (first === 192 && second === 168));
133
+ }
134
+ function parseIpv4Octets(hostname) {
135
+ const singleNumber = parseIpv4Number(hostname);
136
+ if (singleNumber !== undefined) {
137
+ return [
138
+ (singleNumber >>> 24) & 255,
139
+ (singleNumber >>> 16) & 255,
140
+ (singleNumber >>> 8) & 255,
141
+ singleNumber & 255,
142
+ ];
143
+ }
144
+ const parts = hostname.split(".");
145
+ if (parts.length !== 4) {
146
+ return undefined;
147
+ }
148
+ const octets = parts.map(parseIpv4Number);
149
+ if (octets.some((octet) => octet === undefined || octet < 0 || octet > 255)) {
150
+ return undefined;
151
+ }
152
+ return octets;
153
+ }
154
+ function isBlockedPrivateHostname(hostname) {
155
+ const host = normalizeHostname(hostname);
156
+ const ipv4Octets = parseIpv4Octets(host);
157
+ if (ipv4Octets && isBlockedPrivateIpv4(ipv4Octets)) {
158
+ return true;
159
+ }
160
+ if (["localhost", "127.0.0.1", "0.0.0.0", "::", "::1"].includes(host)) {
161
+ return true;
162
+ }
163
+ if (/^127(?:\.\d{1,3}){3}$/.test(host)) {
164
+ return true;
165
+ }
166
+ if (/^(10\.|172\.(1[6-9]|2\d|3[01])\.|192\.168\.)/.test(host)) {
167
+ return true;
168
+ }
169
+ if (/^169\.254\./.test(host)) {
170
+ return true;
171
+ }
172
+ if (host.startsWith("::ffff:") || host.startsWith("0:0:0:0:0:ffff:")) {
173
+ return true;
174
+ }
175
+ if (host.startsWith("fe80:") || /^(fc|fd)[0-9a-f]{0,2}:/.test(host)) {
176
+ return true;
177
+ }
178
+ return false;
179
+ }
180
+ function isSafeExternalUrl(url) {
181
+ try {
182
+ const { hostname, password, protocol, username } = new URL(url);
183
+ if (protocol !== "http:" && protocol !== "https:") {
184
+ return false;
185
+ }
186
+ if (username || password) {
187
+ return false;
188
+ }
189
+ const host = normalizeHostname(hostname);
190
+ if (isBlockedPrivateHostname(host)) {
191
+ return false;
192
+ }
193
+ if (["metadata.google.internal", "metadata", "fd00:ec2::254"].includes(host)) {
194
+ return false;
195
+ }
196
+ return true;
197
+ }
198
+ catch {
199
+ return false;
200
+ }
201
+ }
202
+ function parseServePayload(payload) {
203
+ if (!payload || typeof payload !== "object") {
204
+ return undefined;
205
+ }
206
+ const record = payload;
207
+ const serveId = record.serve_id;
208
+ if (typeof serveId !== "string" || serveId.trim().length < 8) {
209
+ return undefined;
210
+ }
211
+ const serveReceipt = record.serve_receipt;
212
+ if (typeof serveReceipt !== "string" ||
213
+ serveReceipt.trim().length < 32 ||
214
+ serveReceipt.length > 2048) {
215
+ return undefined;
216
+ }
217
+ const creative = record.creative;
218
+ if (!creative || typeof creative !== "object") {
219
+ return undefined;
220
+ }
221
+ const creativeRecord = creative;
222
+ const campaignId = creativeRecord.campaign_id;
223
+ const line = creativeRecord.line;
224
+ const destinationUrl = creativeRecord.destination_url;
225
+ if (typeof line !== "string" || line.trim().length === 0) {
226
+ return undefined;
227
+ }
228
+ if (typeof destinationUrl !== "string" ||
229
+ !isSafeExternalUrl(destinationUrl)) {
230
+ return undefined;
231
+ }
232
+ const minVisibleMs = typeof record.min_visible_ms === "number" &&
233
+ Number.isFinite(record.min_visible_ms) &&
234
+ Number.isInteger(record.min_visible_ms) &&
235
+ record.min_visible_ms >= exports.MIN_VISIBLE_MS
236
+ ? record.min_visible_ms
237
+ : exports.MIN_VISIBLE_MS;
238
+ const expiresAt = record.expires_at;
239
+ if (typeof expiresAt !== "string" || expiresAt.trim().length === 0) {
240
+ return undefined;
241
+ }
242
+ const expiresAtMs = Date.parse(expiresAt);
243
+ if (!Number.isFinite(expiresAtMs)) {
244
+ return undefined;
245
+ }
246
+ return {
247
+ serveId: serveId.trim(),
248
+ campaignId: typeof campaignId === "string" && campaignId.trim().length > 0
249
+ ? campaignId.trim()
250
+ : undefined,
251
+ line: line.trim(),
252
+ destinationUrl: destinationUrl.trim(),
253
+ serveReceipt: serveReceipt.trim(),
254
+ expiresAt: new Date(expiresAtMs).toISOString(),
255
+ expiresAtMs,
256
+ minVisibleMs,
257
+ };
258
+ }
259
+ function isServeExpired(serve, nowMs = Date.now(), safetyMs = 0) {
260
+ return nowMs + safetyMs >= serve.expiresAtMs;
261
+ }
262
+ function serveExpiryDelayMs(serve, nowMs = Date.now()) {
263
+ return Math.max(0, serve.expiresAtMs - nowMs);
264
+ }
265
+ function parseWalletStatusPayload(payload) {
266
+ if (!payload || typeof payload !== "object") {
267
+ return undefined;
268
+ }
269
+ const record = payload;
270
+ const balance = objectRecord(record.balance);
271
+ const connect = objectRecord(record.connect);
272
+ const payoutPolicy = objectRecord(record.payout_policy);
273
+ const publisherTrust = objectRecord(record.publisher_trust);
274
+ if (!balance || !connect || !payoutPolicy) {
275
+ return undefined;
276
+ }
277
+ const availableMicroUnits = readInteger(balance.available_micro_units);
278
+ const maturingMicroUnits = readInteger(balance.maturing_micro_units);
279
+ const heldMicroUnits = readInteger(balance.held_micro_units);
280
+ const reversalDebtMicroUnits = readInteger(balance.reversal_debt_micro_units) ?? 0;
281
+ const pendingPayoutMicroUnits = readInteger(balance.pending_payout_micro_units);
282
+ const lifetimeEarnedMicroUnits = readInteger(balance.lifetime_earned_micro_units);
283
+ const payoutTransferCents = readInteger(payoutPolicy.transfer_cents);
284
+ const minPayoutCents = readInteger(payoutPolicy.min_payout_cents);
285
+ const earningMaturityHours = readInteger(payoutPolicy.earning_maturity_hours);
286
+ const nextEligibleAt = typeof payoutPolicy.next_eligible_at === "string" &&
287
+ payoutPolicy.next_eligible_at.trim()
288
+ ? payoutPolicy.next_eligible_at.trim()
289
+ : undefined;
290
+ const publisherTrustLevel = readInteger(publisherTrust?.level);
291
+ const publisherTrustMaxLevel = readInteger(publisherTrust?.max_level);
292
+ const publisherTrustStatus = typeof publisherTrust?.status === "string" && publisherTrust.status.trim()
293
+ ? publisherTrust.status.trim()
294
+ : undefined;
295
+ const publisherTrustNextLevelAt = typeof publisherTrust?.next_level_at === "string" &&
296
+ publisherTrust.next_level_at.trim()
297
+ ? publisherTrust.next_level_at.trim()
298
+ : undefined;
299
+ if (availableMicroUnits === undefined ||
300
+ maturingMicroUnits === undefined ||
301
+ heldMicroUnits === undefined ||
302
+ pendingPayoutMicroUnits === undefined ||
303
+ lifetimeEarnedMicroUnits === undefined) {
304
+ return undefined;
305
+ }
306
+ return {
307
+ balance: {
308
+ availableMicroUnits,
309
+ maturingMicroUnits,
310
+ heldMicroUnits,
311
+ reversalDebtMicroUnits,
312
+ pendingPayoutMicroUnits,
313
+ lifetimeEarnedMicroUnits,
314
+ },
315
+ payoutEligible: payoutPolicy.eligible === true,
316
+ payoutBlockedReasons: readStringArray(payoutPolicy.blocked_reasons),
317
+ payoutTransferCents,
318
+ minPayoutCents,
319
+ earningMaturityHours,
320
+ nextEligibleAt,
321
+ publisherTrustLevel,
322
+ publisherTrustMaxLevel,
323
+ publisherTrustStatus,
324
+ publisherTrustNextLevelAt,
325
+ connectConnected: connect.connected === true,
326
+ payoutsEnabled: connect.payouts_enabled === true,
327
+ };
328
+ }
329
+ function parseLedgerPayload(payload) {
330
+ if (!payload || typeof payload !== "object") {
331
+ return [];
332
+ }
333
+ const entries = payload.entries;
334
+ if (!Array.isArray(entries)) {
335
+ return [];
336
+ }
337
+ return entries.flatMap((entry) => {
338
+ const record = objectRecord(entry);
339
+ if (!record) {
340
+ return [];
341
+ }
342
+ const id = typeof record.id === "string" ? record.id.trim() : "";
343
+ const eventType = typeof record.event_type === "string" ? record.event_type.trim() : "";
344
+ const createdAt = typeof record.created_at === "string" ? record.created_at.trim() : "";
345
+ if (!id || !eventType || !createdAt) {
346
+ return [];
347
+ }
348
+ const publisherMicroUnits = readInteger(record.publisher_micro_units);
349
+ const grossMicroUnits = readInteger(record.gross_micro_units);
350
+ if (publisherMicroUnits === undefined || grossMicroUnits === undefined) {
351
+ return [];
352
+ }
353
+ return [
354
+ {
355
+ id,
356
+ eventType,
357
+ publisherMicroUnits,
358
+ grossMicroUnits,
359
+ createdAt,
360
+ },
361
+ ];
362
+ });
363
+ }
364
+ function renderPublisherViewHtml(state) {
365
+ const status = renderInstallStatus(state);
366
+ const sponsor = renderSponsor(state);
367
+ const wallet = (0, extension_wallet_view_1.renderWallet)(state.walletStatus, state.installId);
368
+ const ledger = (0, extension_wallet_view_1.renderLedger)(state.ledgerEntries);
369
+ const updated = state.lastUpdatedAt
370
+ ? `Updated ${(0, extension_html_1.escapeHtml)(new Date(state.lastUpdatedAt).toLocaleString())}`
371
+ : "Waiting for first refresh";
372
+ const error = state.lastError
373
+ ? `<p class="notice error">${(0, extension_html_1.escapeHtml)(state.lastError)}</p>`
374
+ : "";
375
+ return `<!doctype html>
376
+ <html lang="en">
377
+ <head>
378
+ <meta charset="UTF-8">
379
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline';">
380
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
381
+ <style>
382
+ :root { color-scheme: light dark; }
383
+ body {
384
+ margin: 0;
385
+ padding: 16px;
386
+ color: var(--vscode-foreground);
387
+ background: var(--vscode-sideBar-background);
388
+ font-family: var(--vscode-font-family);
389
+ font-size: var(--vscode-font-size);
390
+ }
391
+ h2 { margin: 0 0 10px; font-size: 13px; font-weight: 700; }
392
+ h3 { margin: 18px 0 8px; font-size: 11px; letter-spacing: 0; text-transform: uppercase; color: var(--vscode-descriptionForeground); }
393
+ p { margin: 0 0 8px; line-height: 1.45; }
394
+ .muted { color: var(--vscode-descriptionForeground); }
395
+ .notice { border-left: 2px solid var(--vscode-focusBorder); padding: 8px 10px; background: var(--vscode-editorWidget-background); }
396
+ .error { border-left-color: var(--vscode-errorForeground); }
397
+ .sponsor { padding: 10px; border: 1px solid var(--vscode-sideBarSectionHeader-border); background: var(--vscode-editor-background); }
398
+ .line { font-weight: 650; }
399
+ .grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; }
400
+ .amount { font-variant-numeric: tabular-nums; }
401
+ .status { margin-top: 10px; }
402
+ .status-title { font-weight: 650; }
403
+ .reason { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--vscode-sideBarSectionHeader-border); }
404
+ .reason:first-child { border-top: 0; padding-top: 0; }
405
+ .entry { padding: 8px 0; border-top: 1px solid var(--vscode-sideBarSectionHeader-border); }
406
+ .entry:first-child { border-top: 0; }
407
+ a { color: var(--vscode-textLink-foreground); }
408
+ code { font-family: var(--vscode-editor-font-family); }
409
+ </style>
410
+ </head>
411
+ <body>
412
+ <h2>WaitSpin</h2>
413
+ ${status}
414
+ ${error}
415
+ <h3>Sponsor</h3>
416
+ ${sponsor}
417
+ <h3>Wallet</h3>
418
+ ${wallet}
419
+ <h3>Recent Ledger</h3>
420
+ ${ledger}
421
+ <p class="muted">${updated}</p>
422
+ </body>
423
+ </html>`;
424
+ }
425
+ function renderInstallStatus(state) {
426
+ if (state.authStopped) {
427
+ return `<p class="notice error">Authentication stopped. Run <code>WaitSpin: Connect and earn</code> to rotate or reconnect the extension key.</p>`;
428
+ }
429
+ if (!state.hasApiKey || !state.installId) {
430
+ return `<p class="notice">Install status: setup required. Run <code>WaitSpin: Connect and earn</code> to connect this VS Code install and store the extension key in SecretStorage.</p>`;
431
+ }
432
+ const apiBase = state.apiBase ? (0, extension_html_1.escapeHtml)(state.apiBase) : "trusted API";
433
+ return `<p class="notice">Install status: active for <code>${(0, extension_html_1.escapeHtml)(state.installId)}</code> on ${apiBase}.</p>`;
434
+ }
435
+ function renderSponsor(state) {
436
+ if (state.activeServe && state.inventoryStatus === "serving") {
437
+ return `<div class="sponsor"><p class="line">${(0, extension_html_1.escapeHtml)(state.activeServe.line)}</p><p class="muted">Visible impression records after ${Math.round(state.activeServe.minVisibleMs / 1000)} seconds. Open the sponsor link from the Command Palette or status bar.</p></div>`;
438
+ }
439
+ if (state.inventoryStatus === "empty") {
440
+ return `<p class="notice">No eligible sponsor right now. This can mean the current campaigns are empty for this install today, including level-based daily exposure limits. The plugin will keep polling without showing house ads. ${extension_wallet_view_1.PUBLISHER_LEVELS_DOCS_LINK}</p>`;
441
+ }
442
+ if (state.inventoryStatus === "polling") {
443
+ return `<p class="notice">Polling for eligible sponsored wait-state inventory.</p>`;
444
+ }
445
+ if (state.inventoryStatus === "error") {
446
+ return `<p class="notice error">Inventory refresh failed. WaitSpin will retry on the next polling interval.</p>`;
447
+ }
448
+ return `<p class="notice">Connect WaitSpin to start sponsor polling.</p>`;
449
+ }
450
+ function objectRecord(value) {
451
+ return value && typeof value === "object"
452
+ ? value
453
+ : undefined;
454
+ }
455
+ function readInteger(value) {
456
+ return typeof value === "number" &&
457
+ Number.isFinite(value) &&
458
+ Number.isInteger(value)
459
+ ? value
460
+ : undefined;
461
+ }
462
+ function readStringArray(value) {
463
+ if (!Array.isArray(value)) {
464
+ return [];
465
+ }
466
+ return value.filter((item) => typeof item === "string");
467
+ }
468
+ //# sourceMappingURL=extension-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-core.js","sourceRoot":"","sources":["../src/extension-core.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.escapeHtml = escapeHtml;
4
+ function escapeHtml(value) {
5
+ return value
6
+ .replace(/&/g, "&amp;")
7
+ .replace(/</g, "&lt;")
8
+ .replace(/>/g, "&gt;")
9
+ .replace(/"/g, "&quot;")
10
+ .replace(/'/g, "&#39;");
11
+ }
12
+ //# sourceMappingURL=extension-html.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extension-html.js","sourceRoot":"","sources":["../src/extension-html.ts"],"names":[],"mappings":";;AAAA,gCAOC;AAPD,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC;SACtB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;SACvB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC5B,CAAC"}