@satorijs/element 3.1.7 → 3.2.0
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/lib/index.cjs +34 -51
- package/lib/index.d.ts +25 -19
- package/lib/index.mjs +36 -54
- package/package.json +11 -9
- package/src/index.ts +44 -36
- package/lib/index.cjs.map +0 -6
- package/lib/index.mjs.map +0 -6
package/lib/index.cjs
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __defProp = Object.defineProperty;
|
|
2
3
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
3
4
|
|
|
4
5
|
// src/index.ts
|
|
5
6
|
var import_cosmokit = require("cosmokit");
|
|
6
|
-
var kElement = Symbol.for("satori.element");
|
|
7
|
+
var kElement = /* @__PURE__ */ Symbol.for("satori.element");
|
|
7
8
|
var ElementConstructor = class {
|
|
8
9
|
static {
|
|
9
10
|
__name(this, "ElementConstructor");
|
|
@@ -20,13 +21,10 @@ var ElementConstructor = class {
|
|
|
20
21
|
}
|
|
21
22
|
toAttrString() {
|
|
22
23
|
return Object.entries(this.attrs).map(([key, value]) => {
|
|
23
|
-
if ((0, import_cosmokit.isNullable)(value))
|
|
24
|
-
return "";
|
|
24
|
+
if ((0, import_cosmokit.isNullable)(value)) return "";
|
|
25
25
|
key = (0, import_cosmokit.hyphenate)(key);
|
|
26
|
-
if (value === true)
|
|
27
|
-
|
|
28
|
-
if (value === false)
|
|
29
|
-
return ` no-${key}`;
|
|
26
|
+
if (value === true) return ` ${key}`;
|
|
27
|
+
if (value === false) return ` no-${key}`;
|
|
30
28
|
return ` ${key}="${Element.escape("" + value, true)}"`;
|
|
31
29
|
}).join("");
|
|
32
30
|
}
|
|
@@ -35,12 +33,10 @@ var ElementConstructor = class {
|
|
|
35
33
|
return strip ? this.attrs.content : Element.escape(this.attrs.content);
|
|
36
34
|
}
|
|
37
35
|
const inner = this.children.map((child) => child.toString(strip)).join("");
|
|
38
|
-
if (strip)
|
|
39
|
-
return inner;
|
|
36
|
+
if (strip) return inner;
|
|
40
37
|
const attrs = this.toAttrString();
|
|
41
38
|
const tag = this.getTagName();
|
|
42
|
-
if (!this.children.length)
|
|
43
|
-
return `<${tag}${attrs}/>`;
|
|
39
|
+
if (!this.children.length) return `<${tag}${attrs}/>`;
|
|
44
40
|
return `<${tag}${attrs}>${inner}</${tag}>`;
|
|
45
41
|
}
|
|
46
42
|
};
|
|
@@ -52,8 +48,7 @@ function Element(type, ...args) {
|
|
|
52
48
|
if (args[0] && typeof args[0] === "object" && !Element.isElement(args[0]) && !Array.isArray(args[0])) {
|
|
53
49
|
const props = args.shift();
|
|
54
50
|
for (const [key, value] of Object.entries(props)) {
|
|
55
|
-
if ((0, import_cosmokit.isNullable)(value))
|
|
56
|
-
continue;
|
|
51
|
+
if ((0, import_cosmokit.isNullable)(value)) continue;
|
|
57
52
|
if (key === "children") {
|
|
58
53
|
args.push(...(0, import_cosmokit.makeArray)(value));
|
|
59
54
|
} else {
|
|
@@ -91,8 +86,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
91
86
|
function toElement(content) {
|
|
92
87
|
if (typeof content === "string" || typeof content === "number" || typeof content === "boolean") {
|
|
93
88
|
content = "" + content;
|
|
94
|
-
if (content)
|
|
95
|
-
return Element2("text", { content });
|
|
89
|
+
if (content) return Element2("text", { content });
|
|
96
90
|
} else if (isElement(content)) {
|
|
97
91
|
return content;
|
|
98
92
|
} else if (!(0, import_cosmokit.isNullable)(content)) {
|
|
@@ -103,9 +97,9 @@ var evaluate = new Function("expr", "context", `
|
|
|
103
97
|
__name(toElement, "toElement");
|
|
104
98
|
function toElementArray(content) {
|
|
105
99
|
if (Array.isArray(content)) {
|
|
106
|
-
return content.map(toElement).filter(
|
|
100
|
+
return content.map(toElement).filter(import_cosmokit.isNonNullable);
|
|
107
101
|
} else {
|
|
108
|
-
return [toElement(content)].filter(
|
|
102
|
+
return [toElement(content)].filter(import_cosmokit.isNonNullable);
|
|
109
103
|
}
|
|
110
104
|
}
|
|
111
105
|
Element2.toElementArray = toElementArray;
|
|
@@ -129,8 +123,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
129
123
|
function from(source, options = {}) {
|
|
130
124
|
const elements = parse(source);
|
|
131
125
|
if (options.caret) {
|
|
132
|
-
if (options.type && elements[0]?.type !== options.type)
|
|
133
|
-
return;
|
|
126
|
+
if (options.type && elements[0]?.type !== options.type) return;
|
|
134
127
|
return elements[0];
|
|
135
128
|
}
|
|
136
129
|
return select(elements, options.type || "*")[0];
|
|
@@ -155,14 +148,10 @@ var evaluate = new Function("expr", "context", `
|
|
|
155
148
|
Element2.parseSelector = parseSelector;
|
|
156
149
|
__name(parseSelector, "parseSelector");
|
|
157
150
|
function select(source, query) {
|
|
158
|
-
if (!source || !query)
|
|
159
|
-
|
|
160
|
-
if (typeof
|
|
161
|
-
|
|
162
|
-
if (typeof query === "string")
|
|
163
|
-
query = parseSelector(query);
|
|
164
|
-
if (!query.length)
|
|
165
|
-
return [];
|
|
151
|
+
if (!source || !query) return [];
|
|
152
|
+
if (typeof source === "string") source = parse(source);
|
|
153
|
+
if (typeof query === "string") query = parseSelector(query);
|
|
154
|
+
if (!query.length) return [];
|
|
166
155
|
let adjacent = [];
|
|
167
156
|
const results = [];
|
|
168
157
|
for (const [index, element] of source.entries()) {
|
|
@@ -187,8 +176,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
187
176
|
inner.push(group);
|
|
188
177
|
}
|
|
189
178
|
}
|
|
190
|
-
if (matched)
|
|
191
|
-
results.push(source[index]);
|
|
179
|
+
if (matched) results.push(source[index]);
|
|
192
180
|
results.push(...select(element.children, inner));
|
|
193
181
|
}
|
|
194
182
|
return results;
|
|
@@ -203,8 +191,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
203
191
|
let value = context;
|
|
204
192
|
for (const part of expr.split(".")) {
|
|
205
193
|
value = value[part];
|
|
206
|
-
if ((0, import_cosmokit.isNullable)(value))
|
|
207
|
-
return "";
|
|
194
|
+
if ((0, import_cosmokit.isNullable)(value)) return "";
|
|
208
195
|
}
|
|
209
196
|
return value ?? "";
|
|
210
197
|
}
|
|
@@ -224,38 +211,37 @@ var evaluate = new Function("expr", "context", `
|
|
|
224
211
|
function parse(source, context) {
|
|
225
212
|
const tokens = [];
|
|
226
213
|
function pushText(content) {
|
|
227
|
-
if (content)
|
|
228
|
-
tokens.push(content);
|
|
214
|
+
if (content) tokens.push(content);
|
|
229
215
|
}
|
|
230
216
|
__name(pushText, "pushText");
|
|
231
217
|
const tagRegExp = context ? tagRegExp2 : tagRegExp1;
|
|
232
218
|
let tagCap;
|
|
233
219
|
let trimStart = true;
|
|
234
220
|
while (tagCap = tagRegExp.exec(source)) {
|
|
235
|
-
const
|
|
221
|
+
const { curly, comment, derivative } = tagCap.groups;
|
|
222
|
+
const trimEnd = !curly;
|
|
236
223
|
parseContent(source.slice(0, tagCap.index), trimStart, trimEnd);
|
|
237
224
|
trimStart = trimEnd;
|
|
238
225
|
source = source.slice(tagCap.index + tagCap[0].length);
|
|
239
226
|
const [_, , , close, type, extra, empty] = tagCap;
|
|
240
|
-
if (
|
|
241
|
-
|
|
242
|
-
if (tagCap.groups.curly) {
|
|
227
|
+
if (comment) continue;
|
|
228
|
+
if (curly) {
|
|
243
229
|
let name = "", position = 2 /* EMPTY */;
|
|
244
|
-
if (
|
|
245
|
-
name =
|
|
230
|
+
if (derivative) {
|
|
231
|
+
name = derivative.slice(1);
|
|
246
232
|
position = {
|
|
247
233
|
"@": 2 /* EMPTY */,
|
|
248
234
|
"#": 0 /* OPEN */,
|
|
249
235
|
"/": 1 /* CLOSE */,
|
|
250
236
|
":": 3 /* CONTINUE */
|
|
251
|
-
}[
|
|
237
|
+
}[derivative[0]];
|
|
252
238
|
}
|
|
253
239
|
tokens.push({
|
|
254
240
|
type: "curly",
|
|
255
241
|
name,
|
|
256
242
|
position,
|
|
257
|
-
source:
|
|
258
|
-
extra:
|
|
243
|
+
source: curly,
|
|
244
|
+
extra: curly.slice(1 + (derivative ?? "").length, -1)
|
|
259
245
|
});
|
|
260
246
|
continue;
|
|
261
247
|
}
|
|
@@ -270,10 +256,8 @@ var evaluate = new Function("expr", "context", `
|
|
|
270
256
|
parseContent(source, trimStart, true);
|
|
271
257
|
function parseContent(source2, trimStart2, trimEnd) {
|
|
272
258
|
source2 = unescape(source2);
|
|
273
|
-
if (trimStart2)
|
|
274
|
-
|
|
275
|
-
if (trimEnd)
|
|
276
|
-
source2 = source2.replace(/\s*\n\s*$/, "");
|
|
259
|
+
if (trimStart2) source2 = source2.replace(/^\s*\n\s*/, "");
|
|
260
|
+
if (trimEnd) source2 = source2.replace(/\s*\n\s*$/, "");
|
|
277
261
|
pushText(source2);
|
|
278
262
|
}
|
|
279
263
|
__name(parseContent, "parseContent");
|
|
@@ -352,8 +336,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
352
336
|
} else if (token.name === "each") {
|
|
353
337
|
const [expr, ident] = token.extra.split(/\s+as\s+/);
|
|
354
338
|
const items = interpolate(expr, context);
|
|
355
|
-
if (!items || !items[Symbol.iterator])
|
|
356
|
-
continue;
|
|
339
|
+
if (!items || !items[Symbol.iterator]) continue;
|
|
357
340
|
for (const item of items) {
|
|
358
341
|
result.push(...parseTokens(token.children.default, { ...context, [ident]: item }));
|
|
359
342
|
}
|
|
@@ -434,9 +417,9 @@ var evaluate = new Function("expr", "context", `
|
|
|
434
417
|
if ((0, import_cosmokit.is)("Buffer", src)) {
|
|
435
418
|
src = prefix + src.toString("base64");
|
|
436
419
|
} else if ((0, import_cosmokit.is)("ArrayBuffer", src)) {
|
|
437
|
-
src = prefix +
|
|
420
|
+
src = prefix + import_cosmokit.Binary.toBase64(src);
|
|
438
421
|
} else if (ArrayBuffer.isView(src)) {
|
|
439
|
-
src = prefix +
|
|
422
|
+
src = prefix + import_cosmokit.Binary.toBase64(src.buffer);
|
|
440
423
|
}
|
|
441
424
|
if (src.startsWith("base64://")) {
|
|
442
425
|
(0, Element2.warn)(`protocol "base64:" is deprecated and will be removed in the future, please use "data:" instead`);
|
|
@@ -449,6 +432,7 @@ var evaluate = new Function("expr", "context", `
|
|
|
449
432
|
Element2.at = createFactory("at", "id");
|
|
450
433
|
Element2.sharp = createFactory("sharp", "id");
|
|
451
434
|
Element2.quote = createFactory("quote", "id");
|
|
435
|
+
Element2.emoji = createFactory("emoji", "id");
|
|
452
436
|
Element2.image = createAssetFactory("img");
|
|
453
437
|
Element2.img = createAssetFactory("img");
|
|
454
438
|
Element2.video = createAssetFactory("video");
|
|
@@ -461,4 +445,3 @@ var evaluate = new Function("expr", "context", `
|
|
|
461
445
|
__name(i18n, "i18n");
|
|
462
446
|
})(Element || (Element = {}));
|
|
463
447
|
module.exports = Element;
|
|
464
|
-
//# sourceMappingURL=index.cjs.map
|
package/lib/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { Awaitable, Dict } from 'cosmokit';
|
|
3
2
|
declare global {
|
|
4
3
|
namespace JSX {
|
|
@@ -7,13 +6,13 @@ declare global {
|
|
|
7
6
|
message: {
|
|
8
7
|
id?: string;
|
|
9
8
|
forward?: boolean;
|
|
10
|
-
children?: any
|
|
9
|
+
children?: any;
|
|
11
10
|
};
|
|
12
11
|
quote: {
|
|
13
12
|
id?: string;
|
|
14
13
|
name?: string;
|
|
15
14
|
avatar?: string;
|
|
16
|
-
children?: any
|
|
15
|
+
children?: any;
|
|
17
16
|
};
|
|
18
17
|
at: {
|
|
19
18
|
id?: string;
|
|
@@ -27,6 +26,10 @@ declare global {
|
|
|
27
26
|
name?: string;
|
|
28
27
|
avatar?: string;
|
|
29
28
|
};
|
|
29
|
+
emoji: {
|
|
30
|
+
id?: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
};
|
|
30
33
|
img: ResourceElement;
|
|
31
34
|
audio: ResourceElement;
|
|
32
35
|
video: ResourceElement;
|
|
@@ -44,7 +47,7 @@ declare global {
|
|
|
44
47
|
}
|
|
45
48
|
}
|
|
46
49
|
declare const kElement: unique symbol;
|
|
47
|
-
|
|
50
|
+
interface Element {
|
|
48
51
|
[kElement]: true;
|
|
49
52
|
type: string;
|
|
50
53
|
attrs: Dict;
|
|
@@ -54,9 +57,9 @@ declare interface Element {
|
|
|
54
57
|
source?: string;
|
|
55
58
|
toString(strip?: boolean): string;
|
|
56
59
|
}
|
|
57
|
-
type RenderFunction = Element.Render<Element.Fragment,
|
|
58
|
-
declare function Element(type: string | RenderFunction, ...children: Element.Fragment[]): Element;
|
|
59
|
-
declare function Element(type: string | RenderFunction, attrs: Dict, ...children: Element.Fragment[]): Element;
|
|
60
|
+
type RenderFunction = Element.Render<Element.Fragment, Awaitable<Element.Fragment>>;
|
|
61
|
+
declare function Element(type: string | RenderFunction, ...children: (Element.Fragment | undefined)[]): Element;
|
|
62
|
+
declare function Element(type: string | RenderFunction, attrs: Dict, ...children: (Element.Fragment | undefined)[]): Element;
|
|
60
63
|
declare namespace Element {
|
|
61
64
|
export const jsx: typeof Element;
|
|
62
65
|
export const jsxs: typeof Element;
|
|
@@ -70,8 +73,8 @@ declare namespace Element {
|
|
|
70
73
|
type SyncVisitor<S> = Dict<SyncTransformer<S>> | Visit<boolean | Fragment, S>;
|
|
71
74
|
type Visitor<S> = Dict<Transformer<S>> | Visit<Awaitable<boolean | Fragment>, S>;
|
|
72
75
|
export function isElement(source: any): source is Element;
|
|
73
|
-
export function toElement(content: string | Element): Element;
|
|
74
|
-
export function toElementArray(content
|
|
76
|
+
export function toElement(content: string | Element | undefined): Element | undefined;
|
|
77
|
+
export function toElementArray(content?: Element.Fragment): Element[];
|
|
75
78
|
export function normalize(source: Fragment, context?: any): Element[];
|
|
76
79
|
export function escape(source: string, inline?: boolean): string;
|
|
77
80
|
export function unescape(source: string): string;
|
|
@@ -80,7 +83,7 @@ declare namespace Element {
|
|
|
80
83
|
caret?: boolean;
|
|
81
84
|
}
|
|
82
85
|
/** @deprecated use `Element.select()` instead */
|
|
83
|
-
export function from(source: string, options?: FindOptions): Element;
|
|
86
|
+
export function from(source: string, options?: FindOptions): Element | undefined;
|
|
84
87
|
type Combinator = ' ' | '>' | '+' | '~';
|
|
85
88
|
export interface Selector {
|
|
86
89
|
type: string;
|
|
@@ -90,21 +93,24 @@ declare namespace Element {
|
|
|
90
93
|
export function select(source: string | Element[], query: string | Selector[][]): Element[];
|
|
91
94
|
export function interpolate(expr: string, context: any): any;
|
|
92
95
|
export function parse(source: string, context?: any): Element[];
|
|
93
|
-
|
|
94
|
-
export function transform<S = never>(source:
|
|
95
|
-
export function
|
|
96
|
-
export function transformAsync<S = never>(source:
|
|
96
|
+
type Rest<T> = [T] extends [never] ? [session?: T] : [session: T];
|
|
97
|
+
export function transform<S = never>(source: string, rules: SyncVisitor<S>, ...rest: Rest<S>): string;
|
|
98
|
+
export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, ...rest: Rest<S>): Element[];
|
|
99
|
+
export function transformAsync<S = never>(source: string, rules: Visitor<S>, ...rest: Rest<S>): Promise<string>;
|
|
100
|
+
export function transformAsync<S = never>(source: Element[], rules: Visitor<S>, ...rest: Rest<S>): Promise<Element[]>;
|
|
97
101
|
export type Factory<R extends any[]> = (...args: [...rest: R, attrs?: Dict]) => Element;
|
|
98
102
|
export let warn: (message: string) => void;
|
|
99
103
|
export const text: Factory<[content: any]>;
|
|
100
104
|
export const at: Factory<[id: any]>;
|
|
101
105
|
export const sharp: Factory<[id: any]>;
|
|
102
106
|
export const quote: Factory<[id: any]>;
|
|
103
|
-
export const
|
|
104
|
-
export const
|
|
105
|
-
export const
|
|
106
|
-
export const
|
|
107
|
-
export const
|
|
107
|
+
export const emoji: Factory<[id: any]>;
|
|
108
|
+
export const image: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
|
|
109
|
+
export const img: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
|
|
110
|
+
export const video: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
|
|
111
|
+
export const audio: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
|
|
112
|
+
export const file: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
|
|
108
113
|
export function i18n(path: string | Dict, children?: any[]): Element;
|
|
114
|
+
export {};
|
|
109
115
|
}
|
|
110
116
|
export = Element;
|
package/lib/index.mjs
CHANGED
|
@@ -6,10 +6,10 @@ var __commonJS = (cb, mod) => function __require() {
|
|
|
6
6
|
};
|
|
7
7
|
|
|
8
8
|
// src/index.ts
|
|
9
|
-
import {
|
|
10
|
-
var
|
|
9
|
+
import { Binary, camelize, defineProperty, hyphenate, is, isNonNullable, isNullable, makeArray } from "cosmokit";
|
|
10
|
+
var require_index = __commonJS({
|
|
11
11
|
"src/index.ts"(exports, module) {
|
|
12
|
-
var kElement = Symbol.for("satori.element");
|
|
12
|
+
var kElement = /* @__PURE__ */ Symbol.for("satori.element");
|
|
13
13
|
var ElementConstructor = class {
|
|
14
14
|
static {
|
|
15
15
|
__name(this, "ElementConstructor");
|
|
@@ -26,13 +26,10 @@ var require_src = __commonJS({
|
|
|
26
26
|
}
|
|
27
27
|
toAttrString() {
|
|
28
28
|
return Object.entries(this.attrs).map(([key, value]) => {
|
|
29
|
-
if (isNullable(value))
|
|
30
|
-
return "";
|
|
29
|
+
if (isNullable(value)) return "";
|
|
31
30
|
key = hyphenate(key);
|
|
32
|
-
if (value === true)
|
|
33
|
-
|
|
34
|
-
if (value === false)
|
|
35
|
-
return ` no-${key}`;
|
|
31
|
+
if (value === true) return ` ${key}`;
|
|
32
|
+
if (value === false) return ` no-${key}`;
|
|
36
33
|
return ` ${key}="${Element.escape("" + value, true)}"`;
|
|
37
34
|
}).join("");
|
|
38
35
|
}
|
|
@@ -41,12 +38,10 @@ var require_src = __commonJS({
|
|
|
41
38
|
return strip ? this.attrs.content : Element.escape(this.attrs.content);
|
|
42
39
|
}
|
|
43
40
|
const inner = this.children.map((child) => child.toString(strip)).join("");
|
|
44
|
-
if (strip)
|
|
45
|
-
return inner;
|
|
41
|
+
if (strip) return inner;
|
|
46
42
|
const attrs = this.toAttrString();
|
|
47
43
|
const tag = this.getTagName();
|
|
48
|
-
if (!this.children.length)
|
|
49
|
-
return `<${tag}${attrs}/>`;
|
|
44
|
+
if (!this.children.length) return `<${tag}${attrs}/>`;
|
|
50
45
|
return `<${tag}${attrs}>${inner}</${tag}>`;
|
|
51
46
|
}
|
|
52
47
|
};
|
|
@@ -58,8 +53,7 @@ var require_src = __commonJS({
|
|
|
58
53
|
if (args[0] && typeof args[0] === "object" && !Element.isElement(args[0]) && !Array.isArray(args[0])) {
|
|
59
54
|
const props = args.shift();
|
|
60
55
|
for (const [key, value] of Object.entries(props)) {
|
|
61
|
-
if (isNullable(value))
|
|
62
|
-
continue;
|
|
56
|
+
if (isNullable(value)) continue;
|
|
63
57
|
if (key === "children") {
|
|
64
58
|
args.push(...makeArray(value));
|
|
65
59
|
} else {
|
|
@@ -97,8 +91,7 @@ var require_src = __commonJS({
|
|
|
97
91
|
function toElement(content) {
|
|
98
92
|
if (typeof content === "string" || typeof content === "number" || typeof content === "boolean") {
|
|
99
93
|
content = "" + content;
|
|
100
|
-
if (content)
|
|
101
|
-
return Element2("text", { content });
|
|
94
|
+
if (content) return Element2("text", { content });
|
|
102
95
|
} else if (isElement(content)) {
|
|
103
96
|
return content;
|
|
104
97
|
} else if (!isNullable(content)) {
|
|
@@ -109,9 +102,9 @@ var require_src = __commonJS({
|
|
|
109
102
|
__name(toElement, "toElement");
|
|
110
103
|
function toElementArray(content) {
|
|
111
104
|
if (Array.isArray(content)) {
|
|
112
|
-
return content.map(toElement).filter(
|
|
105
|
+
return content.map(toElement).filter(isNonNullable);
|
|
113
106
|
} else {
|
|
114
|
-
return [toElement(content)].filter(
|
|
107
|
+
return [toElement(content)].filter(isNonNullable);
|
|
115
108
|
}
|
|
116
109
|
}
|
|
117
110
|
Element2.toElementArray = toElementArray;
|
|
@@ -135,8 +128,7 @@ var require_src = __commonJS({
|
|
|
135
128
|
function from(source, options = {}) {
|
|
136
129
|
const elements = parse(source);
|
|
137
130
|
if (options.caret) {
|
|
138
|
-
if (options.type && elements[0]?.type !== options.type)
|
|
139
|
-
return;
|
|
131
|
+
if (options.type && elements[0]?.type !== options.type) return;
|
|
140
132
|
return elements[0];
|
|
141
133
|
}
|
|
142
134
|
return select(elements, options.type || "*")[0];
|
|
@@ -161,14 +153,10 @@ var require_src = __commonJS({
|
|
|
161
153
|
Element2.parseSelector = parseSelector;
|
|
162
154
|
__name(parseSelector, "parseSelector");
|
|
163
155
|
function select(source, query) {
|
|
164
|
-
if (!source || !query)
|
|
165
|
-
|
|
166
|
-
if (typeof
|
|
167
|
-
|
|
168
|
-
if (typeof query === "string")
|
|
169
|
-
query = parseSelector(query);
|
|
170
|
-
if (!query.length)
|
|
171
|
-
return [];
|
|
156
|
+
if (!source || !query) return [];
|
|
157
|
+
if (typeof source === "string") source = parse(source);
|
|
158
|
+
if (typeof query === "string") query = parseSelector(query);
|
|
159
|
+
if (!query.length) return [];
|
|
172
160
|
let adjacent = [];
|
|
173
161
|
const results = [];
|
|
174
162
|
for (const [index, element] of source.entries()) {
|
|
@@ -193,8 +181,7 @@ var require_src = __commonJS({
|
|
|
193
181
|
inner.push(group);
|
|
194
182
|
}
|
|
195
183
|
}
|
|
196
|
-
if (matched)
|
|
197
|
-
results.push(source[index]);
|
|
184
|
+
if (matched) results.push(source[index]);
|
|
198
185
|
results.push(...select(element.children, inner));
|
|
199
186
|
}
|
|
200
187
|
return results;
|
|
@@ -209,8 +196,7 @@ var require_src = __commonJS({
|
|
|
209
196
|
let value = context;
|
|
210
197
|
for (const part of expr.split(".")) {
|
|
211
198
|
value = value[part];
|
|
212
|
-
if (isNullable(value))
|
|
213
|
-
return "";
|
|
199
|
+
if (isNullable(value)) return "";
|
|
214
200
|
}
|
|
215
201
|
return value ?? "";
|
|
216
202
|
}
|
|
@@ -230,38 +216,37 @@ var require_src = __commonJS({
|
|
|
230
216
|
function parse(source, context) {
|
|
231
217
|
const tokens = [];
|
|
232
218
|
function pushText(content) {
|
|
233
|
-
if (content)
|
|
234
|
-
tokens.push(content);
|
|
219
|
+
if (content) tokens.push(content);
|
|
235
220
|
}
|
|
236
221
|
__name(pushText, "pushText");
|
|
237
222
|
const tagRegExp = context ? tagRegExp2 : tagRegExp1;
|
|
238
223
|
let tagCap;
|
|
239
224
|
let trimStart = true;
|
|
240
225
|
while (tagCap = tagRegExp.exec(source)) {
|
|
241
|
-
const
|
|
226
|
+
const { curly, comment, derivative } = tagCap.groups;
|
|
227
|
+
const trimEnd = !curly;
|
|
242
228
|
parseContent(source.slice(0, tagCap.index), trimStart, trimEnd);
|
|
243
229
|
trimStart = trimEnd;
|
|
244
230
|
source = source.slice(tagCap.index + tagCap[0].length);
|
|
245
231
|
const [_, , , close, type, extra, empty] = tagCap;
|
|
246
|
-
if (
|
|
247
|
-
|
|
248
|
-
if (tagCap.groups.curly) {
|
|
232
|
+
if (comment) continue;
|
|
233
|
+
if (curly) {
|
|
249
234
|
let name = "", position = 2 /* EMPTY */;
|
|
250
|
-
if (
|
|
251
|
-
name =
|
|
235
|
+
if (derivative) {
|
|
236
|
+
name = derivative.slice(1);
|
|
252
237
|
position = {
|
|
253
238
|
"@": 2 /* EMPTY */,
|
|
254
239
|
"#": 0 /* OPEN */,
|
|
255
240
|
"/": 1 /* CLOSE */,
|
|
256
241
|
":": 3 /* CONTINUE */
|
|
257
|
-
}[
|
|
242
|
+
}[derivative[0]];
|
|
258
243
|
}
|
|
259
244
|
tokens.push({
|
|
260
245
|
type: "curly",
|
|
261
246
|
name,
|
|
262
247
|
position,
|
|
263
|
-
source:
|
|
264
|
-
extra:
|
|
248
|
+
source: curly,
|
|
249
|
+
extra: curly.slice(1 + (derivative ?? "").length, -1)
|
|
265
250
|
});
|
|
266
251
|
continue;
|
|
267
252
|
}
|
|
@@ -276,10 +261,8 @@ var require_src = __commonJS({
|
|
|
276
261
|
parseContent(source, trimStart, true);
|
|
277
262
|
function parseContent(source2, trimStart2, trimEnd) {
|
|
278
263
|
source2 = unescape(source2);
|
|
279
|
-
if (trimStart2)
|
|
280
|
-
|
|
281
|
-
if (trimEnd)
|
|
282
|
-
source2 = source2.replace(/\s*\n\s*$/, "");
|
|
264
|
+
if (trimStart2) source2 = source2.replace(/^\s*\n\s*/, "");
|
|
265
|
+
if (trimEnd) source2 = source2.replace(/\s*\n\s*$/, "");
|
|
283
266
|
pushText(source2);
|
|
284
267
|
}
|
|
285
268
|
__name(parseContent, "parseContent");
|
|
@@ -358,8 +341,7 @@ var require_src = __commonJS({
|
|
|
358
341
|
} else if (token.name === "each") {
|
|
359
342
|
const [expr, ident] = token.extra.split(/\s+as\s+/);
|
|
360
343
|
const items = interpolate(expr, context);
|
|
361
|
-
if (!items || !items[Symbol.iterator])
|
|
362
|
-
continue;
|
|
344
|
+
if (!items || !items[Symbol.iterator]) continue;
|
|
363
345
|
for (const item of items) {
|
|
364
346
|
result.push(...parseTokens(token.children.default, { ...context, [ident]: item }));
|
|
365
347
|
}
|
|
@@ -440,9 +422,9 @@ var require_src = __commonJS({
|
|
|
440
422
|
if (is("Buffer", src)) {
|
|
441
423
|
src = prefix + src.toString("base64");
|
|
442
424
|
} else if (is("ArrayBuffer", src)) {
|
|
443
|
-
src = prefix +
|
|
425
|
+
src = prefix + Binary.toBase64(src);
|
|
444
426
|
} else if (ArrayBuffer.isView(src)) {
|
|
445
|
-
src = prefix +
|
|
427
|
+
src = prefix + Binary.toBase64(src.buffer);
|
|
446
428
|
}
|
|
447
429
|
if (src.startsWith("base64://")) {
|
|
448
430
|
(0, Element2.warn)(`protocol "base64:" is deprecated and will be removed in the future, please use "data:" instead`);
|
|
@@ -455,6 +437,7 @@ var require_src = __commonJS({
|
|
|
455
437
|
Element2.at = createFactory("at", "id");
|
|
456
438
|
Element2.sharp = createFactory("sharp", "id");
|
|
457
439
|
Element2.quote = createFactory("quote", "id");
|
|
440
|
+
Element2.emoji = createFactory("emoji", "id");
|
|
458
441
|
Element2.image = createAssetFactory("img");
|
|
459
442
|
Element2.img = createAssetFactory("img");
|
|
460
443
|
Element2.video = createAssetFactory("video");
|
|
@@ -469,5 +452,4 @@ var require_src = __commonJS({
|
|
|
469
452
|
module.exports = Element;
|
|
470
453
|
}
|
|
471
454
|
});
|
|
472
|
-
export default
|
|
473
|
-
//# sourceMappingURL=index.mjs.map
|
|
455
|
+
export default require_index();
|
package/package.json
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@satorijs/element",
|
|
3
3
|
"description": "Element Manipulation",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"main": "lib/index.cjs",
|
|
6
6
|
"module": "lib/index.mjs",
|
|
7
7
|
"types": "lib/index.d.ts",
|
|
8
8
|
"exports": {
|
|
9
9
|
".": {
|
|
10
|
+
"types": "./lib/index.d.ts",
|
|
10
11
|
"import": "./lib/index.mjs",
|
|
11
|
-
"require": "./lib/index.cjs"
|
|
12
|
-
"types": "./lib/index.d.ts"
|
|
12
|
+
"require": "./lib/index.cjs"
|
|
13
13
|
},
|
|
14
14
|
"./jsx-runtime": {
|
|
15
|
+
"types": "./lib/index.d.ts",
|
|
15
16
|
"import": "./lib/index.mjs",
|
|
16
|
-
"require": "./lib/index.cjs"
|
|
17
|
-
"types": "./lib/index.d.ts"
|
|
17
|
+
"require": "./lib/index.cjs"
|
|
18
18
|
},
|
|
19
19
|
"./jsx-dev-runtime": {
|
|
20
|
+
"types": "./lib/index.d.ts",
|
|
20
21
|
"import": "./lib/index.mjs",
|
|
21
|
-
"require": "./lib/index.cjs"
|
|
22
|
-
"types": "./lib/index.d.ts"
|
|
22
|
+
"require": "./lib/index.cjs"
|
|
23
23
|
},
|
|
24
24
|
"./src/*": "./src/*",
|
|
25
25
|
"./package.json": "./package.json"
|
|
@@ -50,9 +50,11 @@
|
|
|
50
50
|
"utilities"
|
|
51
51
|
],
|
|
52
52
|
"devDependencies": {
|
|
53
|
-
"chai
|
|
53
|
+
"@types/chai": "^4.3.16",
|
|
54
|
+
"chai": "^5.1.1",
|
|
55
|
+
"chai-shape": "^1.1.0"
|
|
54
56
|
},
|
|
55
57
|
"dependencies": {
|
|
56
|
-
"cosmokit": "^1.
|
|
58
|
+
"cosmokit": "^1.8.1"
|
|
57
59
|
}
|
|
58
60
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Awaitable, Binary, camelize, defineProperty, Dict, hyphenate, is, isNonNullable, isNullable, makeArray } from 'cosmokit'
|
|
2
2
|
|
|
3
3
|
declare global {
|
|
4
4
|
namespace JSX {
|
|
@@ -7,13 +7,13 @@ declare global {
|
|
|
7
7
|
message: {
|
|
8
8
|
id?: string
|
|
9
9
|
forward?: boolean
|
|
10
|
-
children?: any
|
|
10
|
+
children?: any
|
|
11
11
|
}
|
|
12
12
|
quote: {
|
|
13
13
|
id?: string
|
|
14
14
|
name?: string
|
|
15
15
|
avatar?: string
|
|
16
|
-
children?: any
|
|
16
|
+
children?: any
|
|
17
17
|
}
|
|
18
18
|
at: {
|
|
19
19
|
id?: string
|
|
@@ -27,6 +27,10 @@ declare global {
|
|
|
27
27
|
name?: string
|
|
28
28
|
avatar?: string
|
|
29
29
|
}
|
|
30
|
+
emoji: {
|
|
31
|
+
id?: string
|
|
32
|
+
name?: string
|
|
33
|
+
}
|
|
30
34
|
img: ResourceElement
|
|
31
35
|
audio: ResourceElement
|
|
32
36
|
video: ResourceElement
|
|
@@ -99,10 +103,10 @@ class ElementConstructor {
|
|
|
99
103
|
defineProperty(ElementConstructor, 'name', 'Element')
|
|
100
104
|
defineProperty(ElementConstructor.prototype, kElement, true)
|
|
101
105
|
|
|
102
|
-
type RenderFunction = Element.Render<Element.Fragment,
|
|
106
|
+
type RenderFunction = Element.Render<Element.Fragment, Awaitable<Element.Fragment>>
|
|
103
107
|
|
|
104
|
-
function Element(type: string | RenderFunction, ...children: Element.Fragment[]): Element
|
|
105
|
-
function Element(type: string | RenderFunction, attrs: Dict, ...children: Element.Fragment[]): Element
|
|
108
|
+
function Element(type: string | RenderFunction, ...children: (Element.Fragment | undefined)[]): Element
|
|
109
|
+
function Element(type: string | RenderFunction, attrs: Dict, ...children: (Element.Fragment | undefined)[]): Element
|
|
106
110
|
function Element(type: string | RenderFunction, ...args: any[]) {
|
|
107
111
|
const el = Object.create(ElementConstructor.prototype)
|
|
108
112
|
const attrs: Dict = {}, children: Element[] = []
|
|
@@ -156,7 +160,7 @@ namespace Element {
|
|
|
156
160
|
return source && typeof source === 'object' && source[kElement]
|
|
157
161
|
}
|
|
158
162
|
|
|
159
|
-
export function toElement(content: string | Element) {
|
|
163
|
+
export function toElement(content: string | Element | undefined) {
|
|
160
164
|
if (typeof content === 'string' || typeof content === 'number' || typeof content === 'boolean') {
|
|
161
165
|
content = '' + content
|
|
162
166
|
if (content) return Element('text', { content })
|
|
@@ -167,11 +171,11 @@ namespace Element {
|
|
|
167
171
|
}
|
|
168
172
|
}
|
|
169
173
|
|
|
170
|
-
export function toElementArray(content
|
|
174
|
+
export function toElementArray(content?: Element.Fragment) {
|
|
171
175
|
if (Array.isArray(content)) {
|
|
172
|
-
return content.map(toElement).filter(
|
|
176
|
+
return content.map(toElement).filter(isNonNullable)
|
|
173
177
|
} else {
|
|
174
|
-
return [toElement(content)].filter(
|
|
178
|
+
return [toElement(content)].filter(isNonNullable)
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
|
|
@@ -205,7 +209,7 @@ namespace Element {
|
|
|
205
209
|
}
|
|
206
210
|
|
|
207
211
|
/** @deprecated use `Element.select()` instead */
|
|
208
|
-
export function from(source: string, options: FindOptions = {}): Element {
|
|
212
|
+
export function from(source: string, options: FindOptions = {}): Element | undefined {
|
|
209
213
|
const elements = parse(source)
|
|
210
214
|
if (options.caret) {
|
|
211
215
|
if (options.type && elements[0]?.type !== options.type) return
|
|
@@ -227,7 +231,7 @@ namespace Element {
|
|
|
227
231
|
return input.split(',').map((query) => {
|
|
228
232
|
const selectors: Selector[] = []
|
|
229
233
|
query = query.trim()
|
|
230
|
-
let combCap: RegExpExecArray, combinator: Combinator = ' '
|
|
234
|
+
let combCap: RegExpExecArray | null, combinator: Combinator = ' '
|
|
231
235
|
while ((combCap = combRegExp.exec(query))) {
|
|
232
236
|
selectors.push({ type: query.slice(0, combCap.index), combinator })
|
|
233
237
|
combinator = combCap[1] as Combinator
|
|
@@ -314,32 +318,33 @@ namespace Element {
|
|
|
314
318
|
}
|
|
315
319
|
|
|
316
320
|
const tagRegExp = context ? tagRegExp2 : tagRegExp1
|
|
317
|
-
let tagCap: RegExpExecArray
|
|
321
|
+
let tagCap: RegExpExecArray | null
|
|
318
322
|
let trimStart = true
|
|
319
323
|
while ((tagCap = tagRegExp.exec(source))) {
|
|
320
|
-
const
|
|
324
|
+
const { curly, comment, derivative } = tagCap.groups!
|
|
325
|
+
const trimEnd = !curly
|
|
321
326
|
parseContent(source.slice(0, tagCap.index), trimStart, trimEnd)
|
|
322
327
|
trimStart = trimEnd
|
|
323
328
|
source = source.slice(tagCap.index + tagCap[0].length)
|
|
324
329
|
const [_, , , close, type, extra, empty] = tagCap
|
|
325
|
-
if (
|
|
326
|
-
if (
|
|
330
|
+
if (comment) continue
|
|
331
|
+
if (curly) {
|
|
327
332
|
let name = '', position = Position.EMPTY
|
|
328
|
-
if (
|
|
329
|
-
name =
|
|
333
|
+
if (derivative) {
|
|
334
|
+
name = derivative.slice(1)
|
|
330
335
|
position = {
|
|
331
336
|
'@': Position.EMPTY,
|
|
332
337
|
'#': Position.OPEN,
|
|
333
338
|
'/': Position.CLOSE,
|
|
334
339
|
':': Position.CONTINUE,
|
|
335
|
-
}[
|
|
340
|
+
}[derivative[0]]!
|
|
336
341
|
}
|
|
337
342
|
tokens.push({
|
|
338
343
|
type: 'curly',
|
|
339
344
|
name,
|
|
340
345
|
position,
|
|
341
|
-
source:
|
|
342
|
-
extra:
|
|
346
|
+
source: curly,
|
|
347
|
+
extra: curly.slice(1 + (derivative ?? '').length, -1),
|
|
343
348
|
})
|
|
344
349
|
continue
|
|
345
350
|
}
|
|
@@ -375,7 +380,7 @@ namespace Element {
|
|
|
375
380
|
|
|
376
381
|
function pushToken(...tokens: (string | Token)[]) {
|
|
377
382
|
const [token, slot] = stack[0]
|
|
378
|
-
token.children[slot].push(...tokens)
|
|
383
|
+
token.children![slot].push(...tokens)
|
|
379
384
|
}
|
|
380
385
|
|
|
381
386
|
for (const token of tokens) {
|
|
@@ -389,7 +394,7 @@ namespace Element {
|
|
|
389
394
|
stack.shift()
|
|
390
395
|
}
|
|
391
396
|
} else if (position === Position.CONTINUE) {
|
|
392
|
-
stack[0][0].children[name] = []
|
|
397
|
+
stack[0][0].children![name] = []
|
|
393
398
|
stack[0][1] = name
|
|
394
399
|
} else if (position === Position.OPEN) {
|
|
395
400
|
pushToken(token)
|
|
@@ -400,7 +405,7 @@ namespace Element {
|
|
|
400
405
|
}
|
|
401
406
|
}
|
|
402
407
|
|
|
403
|
-
return stack[stack.length - 1][0].children
|
|
408
|
+
return stack[stack.length - 1][0].children!.default
|
|
404
409
|
}
|
|
405
410
|
|
|
406
411
|
function parseTokens(tokens: (string | Token)[], context?: any) {
|
|
@@ -411,7 +416,7 @@ namespace Element {
|
|
|
411
416
|
} else if (token.type === 'angle') {
|
|
412
417
|
const attrs = {}
|
|
413
418
|
const attrRegExp = context ? attrRegExp2 : attrRegExp1
|
|
414
|
-
let attrCap: RegExpExecArray
|
|
419
|
+
let attrCap: RegExpExecArray | null
|
|
415
420
|
while ((attrCap = attrRegExp.exec(token.extra))) {
|
|
416
421
|
const [, key, v1, v2 = v1, v3] = attrCap
|
|
417
422
|
if (v3) {
|
|
@@ -429,16 +434,16 @@ namespace Element {
|
|
|
429
434
|
result.push(...toElementArray(interpolate(token.extra, context)))
|
|
430
435
|
} else if (token.name === 'if') {
|
|
431
436
|
if (evaluate(token.extra, context)) {
|
|
432
|
-
result.push(...parseTokens(token.children
|
|
437
|
+
result.push(...parseTokens(token.children!.default, context))
|
|
433
438
|
} else {
|
|
434
|
-
result.push(...parseTokens(token.children
|
|
439
|
+
result.push(...parseTokens(token.children!.else || [], context))
|
|
435
440
|
}
|
|
436
441
|
} else if (token.name === 'each') {
|
|
437
442
|
const [expr, ident] = token.extra.split(/\s+as\s+/)
|
|
438
443
|
const items = interpolate(expr, context)
|
|
439
444
|
if (!items || !items[Symbol.iterator]) continue
|
|
440
445
|
for (const item of items) {
|
|
441
|
-
result.push(...parseTokens(token.children
|
|
446
|
+
result.push(...parseTokens(token.children!.default, { ...context, [ident]: item }))
|
|
442
447
|
}
|
|
443
448
|
}
|
|
444
449
|
}
|
|
@@ -458,9 +463,11 @@ namespace Element {
|
|
|
458
463
|
}
|
|
459
464
|
}
|
|
460
465
|
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
export function transform<S>(source: string
|
|
466
|
+
type Rest<T> = [T] extends [never] ? [session?: T] : [session: T]
|
|
467
|
+
|
|
468
|
+
export function transform<S = never>(source: string, rules: SyncVisitor<S>, ...rest: Rest<S>): string
|
|
469
|
+
export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, ...rest: Rest<S>): Element[]
|
|
470
|
+
export function transform<S>(source: string | Element[], rules: SyncVisitor<S>, session: S) {
|
|
464
471
|
const elements = typeof source === 'string' ? parse(source) : source
|
|
465
472
|
const output: Element[] = []
|
|
466
473
|
elements.forEach((element) => {
|
|
@@ -475,9 +482,9 @@ namespace Element {
|
|
|
475
482
|
return typeof source === 'string' ? output.join('') : output
|
|
476
483
|
}
|
|
477
484
|
|
|
478
|
-
export async function transformAsync<S = never>(source: string, rules: Visitor<S>,
|
|
479
|
-
export async function transformAsync<S = never>(source: Element[], rules: Visitor<S>,
|
|
480
|
-
export async function transformAsync<S>(source: string | Element[], rules: Visitor<S>, session
|
|
485
|
+
export async function transformAsync<S = never>(source: string, rules: Visitor<S>, ...rest: Rest<S>): Promise<string>
|
|
486
|
+
export async function transformAsync<S = never>(source: Element[], rules: Visitor<S>, ...rest: Rest<S>): Promise<Element[]>
|
|
487
|
+
export async function transformAsync<S>(source: string | Element[], rules: Visitor<S>, session: S) {
|
|
481
488
|
const elements = typeof source === 'string' ? parse(source) : source
|
|
482
489
|
const children = (await Promise.all(elements.map(async (element) => {
|
|
483
490
|
const { type, attrs, children } = element
|
|
@@ -522,9 +529,9 @@ namespace Element {
|
|
|
522
529
|
if (is('Buffer', src)) {
|
|
523
530
|
src = prefix + src.toString('base64')
|
|
524
531
|
} else if (is('ArrayBuffer', src)) {
|
|
525
|
-
src = prefix +
|
|
532
|
+
src = prefix + Binary.toBase64(src)
|
|
526
533
|
} else if (ArrayBuffer.isView(src)) {
|
|
527
|
-
src = prefix +
|
|
534
|
+
src = prefix + Binary.toBase64(src.buffer)
|
|
528
535
|
}
|
|
529
536
|
if (src.startsWith('base64://')) {
|
|
530
537
|
warn(`protocol "base64:" is deprecated and will be removed in the future, please use "data:" instead`)
|
|
@@ -537,6 +544,7 @@ namespace Element {
|
|
|
537
544
|
export const at = createFactory<[id: any]>('at', 'id')
|
|
538
545
|
export const sharp = createFactory<[id: any]>('sharp', 'id')
|
|
539
546
|
export const quote = createFactory<[id: any]>('quote', 'id')
|
|
547
|
+
export const emoji = createFactory<[id: any]>('emoji', 'id')
|
|
540
548
|
export const image = createAssetFactory('img')
|
|
541
549
|
export const img = createAssetFactory('img')
|
|
542
550
|
export const video = createAssetFactory('video')
|
package/lib/index.cjs.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["Element", "Position", "source", "trimStart", "tokens", "children"]
|
|
6
|
-
}
|
package/lib/index.mjs.map
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["Element", "Position", "source", "trimStart", "tokens", "children"]
|
|
6
|
-
}
|