@satorijs/element 3.1.7 → 3.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.
package/lib/index.cjs CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __defProp = Object.defineProperty;
2
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
3
4
 
@@ -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
- return ` ${key}`;
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((x) => x);
100
+ return content.map(toElement).filter(import_cosmokit.isNonNullable);
107
101
  } else {
108
- return [toElement(content)].filter((x) => x);
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
- return [];
160
- if (typeof source === "string")
161
- source = parse(source);
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 trimEnd = !tagCap.groups.curly;
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 (tagCap.groups.comment)
241
- continue;
242
- if (tagCap.groups.curly) {
227
+ if (comment) continue;
228
+ if (curly) {
243
229
  let name = "", position = 2 /* EMPTY */;
244
- if (tagCap.groups.derivative) {
245
- name = tagCap.groups.derivative.slice(1);
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
- }[tagCap.groups.derivative[0]];
237
+ }[derivative[0]];
252
238
  }
253
239
  tokens.push({
254
240
  type: "curly",
255
241
  name,
256
242
  position,
257
- source: tagCap.groups.curly,
258
- extra: tagCap.groups.curly.slice(1 + (tagCap.groups.derivative ?? "").length, -1)
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
- source2 = source2.replace(/^\s*\n\s*/, "");
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 + (0, import_cosmokit.arrayBufferToBase64)(src);
420
+ src = prefix + import_cosmokit.Binary.toBase64(src);
438
421
  } else if (ArrayBuffer.isView(src)) {
439
- src = prefix + (0, import_cosmokit.arrayBufferToBase64)(src.buffer);
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`);
@@ -461,4 +444,3 @@ var evaluate = new Function("expr", "context", `
461
444
  __name(i18n, "i18n");
462
445
  })(Element || (Element = {}));
463
446
  module.exports = Element;
464
- //# sourceMappingURL=index.cjs.map
package/lib/index.cjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Element", "Position", "source", "trimStart", "tokens", "children"]
6
6
  }
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;
@@ -44,7 +43,7 @@ declare global {
44
43
  }
45
44
  }
46
45
  declare const kElement: unique symbol;
47
- declare interface Element {
46
+ interface Element {
48
47
  [kElement]: true;
49
48
  type: string;
50
49
  attrs: Dict;
@@ -54,9 +53,9 @@ declare interface Element {
54
53
  source?: string;
55
54
  toString(strip?: boolean): string;
56
55
  }
57
- type RenderFunction = Element.Render<Element.Fragment, any>;
58
- declare function Element(type: string | RenderFunction, ...children: Element.Fragment[]): Element;
59
- declare function Element(type: string | RenderFunction, attrs: Dict, ...children: Element.Fragment[]): Element;
56
+ type RenderFunction = Element.Render<Element.Fragment, Awaitable<Element.Fragment>>;
57
+ declare function Element(type: string | RenderFunction, ...children: (Element.Fragment | undefined)[]): Element;
58
+ declare function Element(type: string | RenderFunction, attrs: Dict, ...children: (Element.Fragment | undefined)[]): Element;
60
59
  declare namespace Element {
61
60
  export const jsx: typeof Element;
62
61
  export const jsxs: typeof Element;
@@ -70,8 +69,8 @@ declare namespace Element {
70
69
  type SyncVisitor<S> = Dict<SyncTransformer<S>> | Visit<boolean | Fragment, S>;
71
70
  type Visitor<S> = Dict<Transformer<S>> | Visit<Awaitable<boolean | Fragment>, S>;
72
71
  export function isElement(source: any): source is Element;
73
- export function toElement(content: string | Element): Element;
74
- export function toElementArray(content: Element.Fragment): Element[];
72
+ export function toElement(content: string | Element | undefined): Element | undefined;
73
+ export function toElementArray(content?: Element.Fragment): Element[];
75
74
  export function normalize(source: Fragment, context?: any): Element[];
76
75
  export function escape(source: string, inline?: boolean): string;
77
76
  export function unescape(source: string): string;
@@ -80,7 +79,7 @@ declare namespace Element {
80
79
  caret?: boolean;
81
80
  }
82
81
  /** @deprecated use `Element.select()` instead */
83
- export function from(source: string, options?: FindOptions): Element;
82
+ export function from(source: string, options?: FindOptions): Element | undefined;
84
83
  type Combinator = ' ' | '>' | '+' | '~';
85
84
  export interface Selector {
86
85
  type: string;
@@ -90,21 +89,23 @@ declare namespace Element {
90
89
  export function select(source: string | Element[], query: string | Selector[][]): Element[];
91
90
  export function interpolate(expr: string, context: any): any;
92
91
  export function parse(source: string, context?: any): Element[];
93
- export function transform<S = never>(source: string, rules: SyncVisitor<S>, session?: S): string;
94
- export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, session?: S): Element[];
95
- export function transformAsync<S = never>(source: string, rules: Visitor<S>, session?: S): Promise<string>;
96
- export function transformAsync<S = never>(source: Element[], rules: Visitor<S>, session?: S): Promise<Element[]>;
92
+ type Rest<T> = [T] extends [never] ? [session?: T] : [session: T];
93
+ export function transform<S = never>(source: string, rules: SyncVisitor<S>, ...rest: Rest<S>): string;
94
+ export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, ...rest: Rest<S>): Element[];
95
+ export function transformAsync<S = never>(source: string, rules: Visitor<S>, ...rest: Rest<S>): Promise<string>;
96
+ export function transformAsync<S = never>(source: Element[], rules: Visitor<S>, ...rest: Rest<S>): Promise<Element[]>;
97
97
  export type Factory<R extends any[]> = (...args: [...rest: R, attrs?: Dict]) => Element;
98
98
  export let warn: (message: string) => void;
99
99
  export const text: Factory<[content: any]>;
100
100
  export const at: Factory<[id: any]>;
101
101
  export const sharp: Factory<[id: any]>;
102
102
  export const quote: Factory<[id: any]>;
103
- export const image: Factory<[data: string] | [data: Buffer | ArrayBuffer | ArrayBufferView, type: string]>;
104
- export const img: Factory<[data: string] | [data: Buffer | ArrayBuffer | ArrayBufferView, type: string]>;
105
- export const video: Factory<[data: string] | [data: Buffer | ArrayBuffer | ArrayBufferView, type: string]>;
106
- export const audio: Factory<[data: string] | [data: Buffer | ArrayBuffer | ArrayBufferView, type: string]>;
107
- export const file: Factory<[data: string] | [data: Buffer | ArrayBuffer | ArrayBufferView, type: string]>;
103
+ export const image: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
104
+ export const img: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
105
+ export const video: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
106
+ export const audio: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
107
+ export const file: Factory<[data: string] | [data: ArrayBuffer | Buffer<ArrayBufferLike> | ArrayBufferView<ArrayBufferLike>, type: string]>;
108
108
  export function i18n(path: string | Dict, children?: any[]): Element;
109
+ export {};
109
110
  }
110
111
  export = Element;
package/lib/index.mjs CHANGED
@@ -6,8 +6,8 @@ var __commonJS = (cb, mod) => function __require() {
6
6
  };
7
7
 
8
8
  // src/index.ts
9
- import { arrayBufferToBase64, camelize, defineProperty, hyphenate, is, isNullable, makeArray } from "cosmokit";
10
- var require_src = __commonJS({
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
12
  var kElement = Symbol.for("satori.element");
13
13
  var ElementConstructor = class {
@@ -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
- return ` ${key}`;
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((x) => x);
105
+ return content.map(toElement).filter(isNonNullable);
113
106
  } else {
114
- return [toElement(content)].filter((x) => x);
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
- return [];
166
- if (typeof source === "string")
167
- source = parse(source);
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 trimEnd = !tagCap.groups.curly;
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 (tagCap.groups.comment)
247
- continue;
248
- if (tagCap.groups.curly) {
232
+ if (comment) continue;
233
+ if (curly) {
249
234
  let name = "", position = 2 /* EMPTY */;
250
- if (tagCap.groups.derivative) {
251
- name = tagCap.groups.derivative.slice(1);
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
- }[tagCap.groups.derivative[0]];
242
+ }[derivative[0]];
258
243
  }
259
244
  tokens.push({
260
245
  type: "curly",
261
246
  name,
262
247
  position,
263
- source: tagCap.groups.curly,
264
- extra: tagCap.groups.curly.slice(1 + (tagCap.groups.derivative ?? "").length, -1)
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
- source2 = source2.replace(/^\s*\n\s*/, "");
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 + arrayBufferToBase64(src);
425
+ src = prefix + Binary.toBase64(src);
444
426
  } else if (ArrayBuffer.isView(src)) {
445
- src = prefix + arrayBufferToBase64(src.buffer);
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`);
@@ -469,5 +451,4 @@ var require_src = __commonJS({
469
451
  module.exports = Element;
470
452
  }
471
453
  });
472
- export default require_src();
473
- //# sourceMappingURL=index.mjs.map
454
+ export default require_index();
package/lib/index.mjs.map CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Element", "Position", "source", "trimStart", "tokens", "children"]
6
6
  }
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "@satorijs/element",
3
3
  "description": "Element Manipulation",
4
- "version": "3.1.7",
4
+ "version": "3.1.8",
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-shape": "^1.0.0"
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.6.2"
58
+ "cosmokit": "^1.7.2"
57
59
  }
58
60
  }
package/src/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { arrayBufferToBase64, Awaitable, camelize, defineProperty, Dict, hyphenate, is, isNullable, makeArray } from 'cosmokit'
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
@@ -99,10 +99,10 @@ class ElementConstructor {
99
99
  defineProperty(ElementConstructor, 'name', 'Element')
100
100
  defineProperty(ElementConstructor.prototype, kElement, true)
101
101
 
102
- type RenderFunction = Element.Render<Element.Fragment, any>
102
+ type RenderFunction = Element.Render<Element.Fragment, Awaitable<Element.Fragment>>
103
103
 
104
- function Element(type: string | RenderFunction, ...children: Element.Fragment[]): Element
105
- function Element(type: string | RenderFunction, attrs: Dict, ...children: Element.Fragment[]): Element
104
+ function Element(type: string | RenderFunction, ...children: (Element.Fragment | undefined)[]): Element
105
+ function Element(type: string | RenderFunction, attrs: Dict, ...children: (Element.Fragment | undefined)[]): Element
106
106
  function Element(type: string | RenderFunction, ...args: any[]) {
107
107
  const el = Object.create(ElementConstructor.prototype)
108
108
  const attrs: Dict = {}, children: Element[] = []
@@ -156,7 +156,7 @@ namespace Element {
156
156
  return source && typeof source === 'object' && source[kElement]
157
157
  }
158
158
 
159
- export function toElement(content: string | Element) {
159
+ export function toElement(content: string | Element | undefined) {
160
160
  if (typeof content === 'string' || typeof content === 'number' || typeof content === 'boolean') {
161
161
  content = '' + content
162
162
  if (content) return Element('text', { content })
@@ -167,11 +167,11 @@ namespace Element {
167
167
  }
168
168
  }
169
169
 
170
- export function toElementArray(content: Element.Fragment) {
170
+ export function toElementArray(content?: Element.Fragment) {
171
171
  if (Array.isArray(content)) {
172
- return content.map(toElement).filter(x => x)
172
+ return content.map(toElement).filter(isNonNullable)
173
173
  } else {
174
- return [toElement(content)].filter(x => x)
174
+ return [toElement(content)].filter(isNonNullable)
175
175
  }
176
176
  }
177
177
 
@@ -205,7 +205,7 @@ namespace Element {
205
205
  }
206
206
 
207
207
  /** @deprecated use `Element.select()` instead */
208
- export function from(source: string, options: FindOptions = {}): Element {
208
+ export function from(source: string, options: FindOptions = {}): Element | undefined {
209
209
  const elements = parse(source)
210
210
  if (options.caret) {
211
211
  if (options.type && elements[0]?.type !== options.type) return
@@ -227,7 +227,7 @@ namespace Element {
227
227
  return input.split(',').map((query) => {
228
228
  const selectors: Selector[] = []
229
229
  query = query.trim()
230
- let combCap: RegExpExecArray, combinator: Combinator = ' '
230
+ let combCap: RegExpExecArray | null, combinator: Combinator = ' '
231
231
  while ((combCap = combRegExp.exec(query))) {
232
232
  selectors.push({ type: query.slice(0, combCap.index), combinator })
233
233
  combinator = combCap[1] as Combinator
@@ -314,32 +314,33 @@ namespace Element {
314
314
  }
315
315
 
316
316
  const tagRegExp = context ? tagRegExp2 : tagRegExp1
317
- let tagCap: RegExpExecArray
317
+ let tagCap: RegExpExecArray | null
318
318
  let trimStart = true
319
319
  while ((tagCap = tagRegExp.exec(source))) {
320
- const trimEnd = !tagCap.groups.curly
320
+ const { curly, comment, derivative } = tagCap.groups!
321
+ const trimEnd = !curly
321
322
  parseContent(source.slice(0, tagCap.index), trimStart, trimEnd)
322
323
  trimStart = trimEnd
323
324
  source = source.slice(tagCap.index + tagCap[0].length)
324
325
  const [_, , , close, type, extra, empty] = tagCap
325
- if (tagCap.groups.comment) continue
326
- if (tagCap.groups.curly) {
326
+ if (comment) continue
327
+ if (curly) {
327
328
  let name = '', position = Position.EMPTY
328
- if (tagCap.groups.derivative) {
329
- name = tagCap.groups.derivative.slice(1)
329
+ if (derivative) {
330
+ name = derivative.slice(1)
330
331
  position = {
331
332
  '@': Position.EMPTY,
332
333
  '#': Position.OPEN,
333
334
  '/': Position.CLOSE,
334
335
  ':': Position.CONTINUE,
335
- }[tagCap.groups.derivative[0]]
336
+ }[derivative[0]]!
336
337
  }
337
338
  tokens.push({
338
339
  type: 'curly',
339
340
  name,
340
341
  position,
341
- source: tagCap.groups.curly,
342
- extra: tagCap.groups.curly.slice(1 + (tagCap.groups.derivative ?? '').length, -1),
342
+ source: curly,
343
+ extra: curly.slice(1 + (derivative ?? '').length, -1),
343
344
  })
344
345
  continue
345
346
  }
@@ -375,7 +376,7 @@ namespace Element {
375
376
 
376
377
  function pushToken(...tokens: (string | Token)[]) {
377
378
  const [token, slot] = stack[0]
378
- token.children[slot].push(...tokens)
379
+ token.children![slot].push(...tokens)
379
380
  }
380
381
 
381
382
  for (const token of tokens) {
@@ -389,7 +390,7 @@ namespace Element {
389
390
  stack.shift()
390
391
  }
391
392
  } else if (position === Position.CONTINUE) {
392
- stack[0][0].children[name] = []
393
+ stack[0][0].children![name] = []
393
394
  stack[0][1] = name
394
395
  } else if (position === Position.OPEN) {
395
396
  pushToken(token)
@@ -400,7 +401,7 @@ namespace Element {
400
401
  }
401
402
  }
402
403
 
403
- return stack[stack.length - 1][0].children.default
404
+ return stack[stack.length - 1][0].children!.default
404
405
  }
405
406
 
406
407
  function parseTokens(tokens: (string | Token)[], context?: any) {
@@ -411,7 +412,7 @@ namespace Element {
411
412
  } else if (token.type === 'angle') {
412
413
  const attrs = {}
413
414
  const attrRegExp = context ? attrRegExp2 : attrRegExp1
414
- let attrCap: RegExpExecArray
415
+ let attrCap: RegExpExecArray | null
415
416
  while ((attrCap = attrRegExp.exec(token.extra))) {
416
417
  const [, key, v1, v2 = v1, v3] = attrCap
417
418
  if (v3) {
@@ -429,16 +430,16 @@ namespace Element {
429
430
  result.push(...toElementArray(interpolate(token.extra, context)))
430
431
  } else if (token.name === 'if') {
431
432
  if (evaluate(token.extra, context)) {
432
- result.push(...parseTokens(token.children.default, context))
433
+ result.push(...parseTokens(token.children!.default, context))
433
434
  } else {
434
- result.push(...parseTokens(token.children.else || [], context))
435
+ result.push(...parseTokens(token.children!.else || [], context))
435
436
  }
436
437
  } else if (token.name === 'each') {
437
438
  const [expr, ident] = token.extra.split(/\s+as\s+/)
438
439
  const items = interpolate(expr, context)
439
440
  if (!items || !items[Symbol.iterator]) continue
440
441
  for (const item of items) {
441
- result.push(...parseTokens(token.children.default, { ...context, [ident]: item }))
442
+ result.push(...parseTokens(token.children!.default, { ...context, [ident]: item }))
442
443
  }
443
444
  }
444
445
  }
@@ -458,9 +459,11 @@ namespace Element {
458
459
  }
459
460
  }
460
461
 
461
- export function transform<S = never>(source: string, rules: SyncVisitor<S>, session?: S): string
462
- export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, session?: S): Element[]
463
- export function transform<S>(source: string | Element[], rules: SyncVisitor<S>, session?: S) {
462
+ type Rest<T> = [T] extends [never] ? [session?: T] : [session: T]
463
+
464
+ export function transform<S = never>(source: string, rules: SyncVisitor<S>, ...rest: Rest<S>): string
465
+ export function transform<S = never>(source: Element[], rules: SyncVisitor<S>, ...rest: Rest<S>): Element[]
466
+ export function transform<S>(source: string | Element[], rules: SyncVisitor<S>, session: S) {
464
467
  const elements = typeof source === 'string' ? parse(source) : source
465
468
  const output: Element[] = []
466
469
  elements.forEach((element) => {
@@ -475,9 +478,9 @@ namespace Element {
475
478
  return typeof source === 'string' ? output.join('') : output
476
479
  }
477
480
 
478
- export async function transformAsync<S = never>(source: string, rules: Visitor<S>, session?: S): Promise<string>
479
- export async function transformAsync<S = never>(source: Element[], rules: Visitor<S>, session?: S): Promise<Element[]>
480
- export async function transformAsync<S>(source: string | Element[], rules: Visitor<S>, session?: S) {
481
+ export async function transformAsync<S = never>(source: string, rules: Visitor<S>, ...rest: Rest<S>): Promise<string>
482
+ export async function transformAsync<S = never>(source: Element[], rules: Visitor<S>, ...rest: Rest<S>): Promise<Element[]>
483
+ export async function transformAsync<S>(source: string | Element[], rules: Visitor<S>, session: S) {
481
484
  const elements = typeof source === 'string' ? parse(source) : source
482
485
  const children = (await Promise.all(elements.map(async (element) => {
483
486
  const { type, attrs, children } = element
@@ -522,9 +525,9 @@ namespace Element {
522
525
  if (is('Buffer', src)) {
523
526
  src = prefix + src.toString('base64')
524
527
  } else if (is('ArrayBuffer', src)) {
525
- src = prefix + arrayBufferToBase64(src)
528
+ src = prefix + Binary.toBase64(src)
526
529
  } else if (ArrayBuffer.isView(src)) {
527
- src = prefix + arrayBufferToBase64(src.buffer)
530
+ src = prefix + Binary.toBase64(src.buffer)
528
531
  }
529
532
  if (src.startsWith('base64://')) {
530
533
  warn(`protocol "base64:" is deprecated and will be removed in the future, please use "data:" instead`)