@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 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
- 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`);
@@ -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
- declare interface Element {
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, 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;
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: Element.Fragment): Element[];
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
- 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[]>;
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 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]>;
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 { 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
- 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
- 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`);
@@ -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 require_src();
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.1.7",
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-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.8.1"
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
@@ -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, any>
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: Element.Fragment) {
174
+ export function toElementArray(content?: Element.Fragment) {
171
175
  if (Array.isArray(content)) {
172
- return content.map(toElement).filter(x => x)
176
+ return content.map(toElement).filter(isNonNullable)
173
177
  } else {
174
- return [toElement(content)].filter(x => x)
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 trimEnd = !tagCap.groups.curly
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 (tagCap.groups.comment) continue
326
- if (tagCap.groups.curly) {
330
+ if (comment) continue
331
+ if (curly) {
327
332
  let name = '', position = Position.EMPTY
328
- if (tagCap.groups.derivative) {
329
- name = tagCap.groups.derivative.slice(1)
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
- }[tagCap.groups.derivative[0]]
340
+ }[derivative[0]]!
336
341
  }
337
342
  tokens.push({
338
343
  type: 'curly',
339
344
  name,
340
345
  position,
341
- source: tagCap.groups.curly,
342
- extra: tagCap.groups.curly.slice(1 + (tagCap.groups.derivative ?? '').length, -1),
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.default
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.default, context))
437
+ result.push(...parseTokens(token.children!.default, context))
433
438
  } else {
434
- result.push(...parseTokens(token.children.else || [], context))
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.default, { ...context, [ident]: item }))
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
- 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) {
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>, 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) {
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 + arrayBufferToBase64(src)
532
+ src = prefix + Binary.toBase64(src)
526
533
  } else if (ArrayBuffer.isView(src)) {
527
- src = prefix + arrayBufferToBase64(src.buffer)
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
- }