@dressed/react 1.8.3 → 1.8.4
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/dist/components/button.d.ts +2 -1
- package/dist/components/button.js +9 -8
- package/dist/components/button.js.map +1 -1
- package/dist/components/select-menu.d.ts +1 -1
- package/dist/components/select-menu.js +8 -10
- package/dist/components/select-menu.js.map +1 -1
- package/dist/react/node.d.ts +1 -0
- package/dist/react/node.js +5 -4
- package/dist/react/node.js.map +1 -1
- package/dist/react/renderer.js +11 -8
- package/dist/react/renderer.js.map +1 -1
- package/dist/rendering/callbacks.d.ts +4 -5
- package/dist/rendering/callbacks.js +5 -5
- package/dist/rendering/callbacks.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle } from "discord-api-types/v10";
|
|
1
|
+
import type { APIButtonComponent, APIButtonComponentWithCustomId, APIButtonComponentWithSKUId, APIButtonComponentWithURL, ButtonStyle } from "discord-api-types/v10";
|
|
2
2
|
import { type ReactElement } from "react";
|
|
3
3
|
import type { MessageComponentInteraction } from "../rendering/interaction.ts";
|
|
4
4
|
interface ButtonWithCustomId extends Omit<APIButtonComponentWithCustomId, "type" | "style"> {
|
|
@@ -17,4 +17,5 @@ export declare function Button(props: ButtonWithCustomId): ReactElement<APIButto
|
|
|
17
17
|
export declare function Button(props: ButtonWithOnClick): ReactElement<APIButtonComponentWithCustomId>;
|
|
18
18
|
export declare function Button(props: Omit<APIButtonComponentWithSKUId, "type" | "style">): ReactElement<APIButtonComponentWithSKUId>;
|
|
19
19
|
export declare function Button(props: Omit<APIButtonComponentWithURL, "type" | "style">): ReactElement<APIButtonComponentWithURL>;
|
|
20
|
+
export declare function parseButton<T extends APIButtonComponent & (Pick<ButtonWithOnClick, "onClick" | "fallback"> | object)>(nodeId: string, props: T): Promise<T>;
|
|
20
21
|
export {};
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { Button as DressedComponent } from "dressed";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
2
|
+
import { createElement } from "react";
|
|
3
|
+
import { registerHandler } from "../rendering/callbacks.js";
|
|
4
4
|
export function Button(props) {
|
|
5
|
-
|
|
6
|
-
const handlerId = ((_a = React === null || React === void 0 ? void 0 : React.useMemo) !== null && _a !== void 0 ? _a : ((c) => c()))(randId, []);
|
|
7
|
-
const component = DressedComponent({
|
|
8
|
-
...props,
|
|
9
|
-
...("onClick" in props ? registerHandler(props.onClick, props.fallback, handlerId) : undefined),
|
|
10
|
-
});
|
|
5
|
+
const component = DressedComponent(props);
|
|
11
6
|
return createElement("dressed-node", component);
|
|
12
7
|
}
|
|
8
|
+
export async function parseButton(nodeId, props) {
|
|
9
|
+
return {
|
|
10
|
+
...props,
|
|
11
|
+
...("onClick" in props ? registerHandler(nodeId, props.onClick, props.fallback) : undefined),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
13
14
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/components/button.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,aAAa,EAAqB,MAAM,OAAO,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA0B5D,MAAM,UAAU,MAAM,CACpB,KAIqD;IAErD,MAAM,SAAS,GAAG,gBAAgB,CAAC,KAAc,CAAC,CAAC;IACnD,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAE/B,MAAc,EAAE,KAAQ;IACxB,OAAO;QACL,GAAG,KAAK;QACR,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,OAAgB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACtG,CAAC;AACJ,CAAC"}
|
|
@@ -29,5 +29,5 @@ export declare function SelectMenu<K extends SelectType>(props: SelectMenuWithOn
|
|
|
29
29
|
type: K;
|
|
30
30
|
}): ReactElement<SelectMap[`${K}Select`]>;
|
|
31
31
|
export declare function SelectMenuOption(props: APISelectMenuOption): ReactElement<APISelectMenuOption>;
|
|
32
|
-
export declare function parseSelectMenu<T extends APISelectMenuComponent>(props: T, children: Node<APISelectMenuOption>[]): T;
|
|
32
|
+
export declare function parseSelectMenu<T extends APISelectMenuComponent & (Pick<SelectMenuWithOnClick<SelectType>, "onSubmit" | "fallback"> | object)>(nodeId: string, props: T, children: Node<APISelectMenuOption>[]): T;
|
|
33
33
|
export {};
|
|
@@ -1,25 +1,23 @@
|
|
|
1
1
|
import { ComponentType } from "discord-api-types/v10";
|
|
2
2
|
import { SelectMenu as DressedComponent, SelectMenuOption as DressedOption } from "dressed";
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
3
|
+
import { createElement } from "react";
|
|
4
|
+
import { registerHandler } from "../rendering/callbacks.js";
|
|
5
5
|
export function SelectMenu(props) {
|
|
6
|
-
var _a;
|
|
7
6
|
const { children, ...rest } = props;
|
|
8
|
-
const
|
|
9
|
-
const component = DressedComponent({
|
|
10
|
-
...rest,
|
|
11
|
-
...("onSubmit" in props ? registerHandler(props.onSubmit, props.fallback, handlerId) : undefined),
|
|
12
|
-
});
|
|
7
|
+
const component = DressedComponent(rest);
|
|
13
8
|
return createElement("dressed-node", component, children);
|
|
14
9
|
}
|
|
15
10
|
export function SelectMenuOption(props) {
|
|
16
11
|
const component = DressedOption(props.label, props.value, props);
|
|
17
12
|
return createElement("dressed-node", component);
|
|
18
13
|
}
|
|
19
|
-
export function parseSelectMenu(props, children) {
|
|
14
|
+
export function parseSelectMenu(nodeId, props, children) {
|
|
20
15
|
if (props.type === ComponentType.StringSelect) {
|
|
21
16
|
props.options = children.map((c) => c.props);
|
|
22
17
|
}
|
|
23
|
-
return
|
|
18
|
+
return {
|
|
19
|
+
...props,
|
|
20
|
+
...("onSubmit" in props ? registerHandler(nodeId, props.onSubmit, props.fallback) : undefined),
|
|
21
|
+
};
|
|
24
22
|
}
|
|
25
23
|
//# sourceMappingURL=select-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-menu.js","sourceRoot":"","sources":["../../src/components/select-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"select-menu.js","sourceRoot":"","sources":["../../src/components/select-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7G,OAAO,EAAE,UAAU,IAAI,gBAAgB,EAAE,gBAAgB,IAAI,aAAa,EAAE,MAAM,SAAS,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AAEzE,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA8B5D,MAAM,UAAU,UAAU,CACxB,KAA2D;IAE3D,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAgC,CAAC;IAC/D,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAa,CAAC,CAAC;IAClD,OAAO,aAAa,CAAC,cAAc,EAAE,SAAkB,EAAE,QAAqB,CAAC,CAAC;AAClF,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAA0B;IACzD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAE7B,MAAc,EAAE,KAAQ,EAAE,QAAqC;IAC/D,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;QAC9C,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,GAAG,KAAK;QACR,GAAG,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,QAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KACxG,CAAC;AACJ,CAAC"}
|
package/dist/react/node.d.ts
CHANGED
package/dist/react/node.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { handlers } from "../rendering/callbacks.js";
|
|
2
2
|
export function createNode(props) {
|
|
3
3
|
const node = {
|
|
4
|
+
id: crypto.randomUUID().slice(0, 18).replace(/-/g, ""),
|
|
4
5
|
hidden: false,
|
|
5
6
|
props,
|
|
6
7
|
children: [],
|
|
@@ -21,10 +22,10 @@ export function isNode(obj) {
|
|
|
21
22
|
typeof obj.text === "function");
|
|
22
23
|
}
|
|
23
24
|
function destroyCallbacks(item) {
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
handlers.
|
|
27
|
-
|
|
25
|
+
var _a;
|
|
26
|
+
if (handlers.has(item.id)) {
|
|
27
|
+
clearTimeout((_a = handlers.get(item.id)) === null || _a === void 0 ? void 0 : _a.$handlerCleaner);
|
|
28
|
+
handlers.delete(item.id);
|
|
28
29
|
}
|
|
29
30
|
item.children.forEach(destroyCallbacks);
|
|
30
31
|
}
|
package/dist/react/node.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/react/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"node.js","sourceRoot":"","sources":["../../src/react/node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAUrD,MAAM,UAAU,UAAU,CAAQ,KAAY;IAC5C,MAAM,IAAI,GAAgB;QACxB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACtD,MAAM,EAAE,KAAK;QACb,KAAK;QACL,QAAQ,EAAE,EAAE;QACZ,IAAI;YACF,IAAI,IAAI,CAAC,MAAM;gBAAE,OAAO,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;KACF,CAAC;IAEF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,GAAY;IACjC,OAAO,CACL,GAAG,KAAK,IAAI;QACZ,OAAO,GAAG,KAAK,QAAQ;QACvB,OAAO,IAAI,GAAG;QACd,UAAU,IAAI,GAAG;QACjB,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,UAAU,CAC/B,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,IAAmB;;IAC3C,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1B,YAAY,CAAC,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,0CAAE,eAAe,CAAC,CAAC;QACrD,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,KAAU,EAAE,IAAO;IACtE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
|
package/dist/react/renderer.js
CHANGED
|
@@ -2,6 +2,7 @@ import { createHash } from "node:crypto";
|
|
|
2
2
|
import { ComponentType, } from "discord-api-types/v10";
|
|
3
3
|
import { TextDisplay } from "dressed";
|
|
4
4
|
import { parseActionRow } from "../components/action-row.js";
|
|
5
|
+
import { parseButton } from "../components/button.js";
|
|
5
6
|
import { parseContainer } from "../components/container.js";
|
|
6
7
|
import { parseLabel } from "../components/label.js";
|
|
7
8
|
import { parseMediaGallery } from "../components/media-gallery.js";
|
|
@@ -53,20 +54,22 @@ export async function parseNode(node) {
|
|
|
53
54
|
case ComponentType.ActionRow: {
|
|
54
55
|
return parseActionRow(node.props, node.children);
|
|
55
56
|
}
|
|
56
|
-
case ComponentType.Button:
|
|
57
|
-
|
|
58
|
-
case ComponentType.Thumbnail:
|
|
59
|
-
case ComponentType.File:
|
|
60
|
-
case ComponentType.Separator:
|
|
61
|
-
case ComponentType.FileUpload: {
|
|
62
|
-
return node.props;
|
|
57
|
+
case ComponentType.Button: {
|
|
58
|
+
return parseButton(node.id, node.props);
|
|
63
59
|
}
|
|
64
60
|
case ComponentType.StringSelect:
|
|
65
61
|
case ComponentType.UserSelect:
|
|
66
62
|
case ComponentType.RoleSelect:
|
|
67
63
|
case ComponentType.MentionableSelect:
|
|
68
64
|
case ComponentType.ChannelSelect: {
|
|
69
|
-
return parseSelectMenu(node.props, node.children);
|
|
65
|
+
return parseSelectMenu(node.id, node.props, node.children);
|
|
66
|
+
}
|
|
67
|
+
case ComponentType.TextInput:
|
|
68
|
+
case ComponentType.Thumbnail:
|
|
69
|
+
case ComponentType.File:
|
|
70
|
+
case ComponentType.Separator:
|
|
71
|
+
case ComponentType.FileUpload: {
|
|
72
|
+
return node.props;
|
|
70
73
|
}
|
|
71
74
|
case ComponentType.Section: {
|
|
72
75
|
return parseSection(node.props, node.children);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/react/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAKL,aAAa,GACd,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAShD,SAAS,cAAc,CAAI,KAAgB;IACzC,MAAM,MAAM,GAAG,EAAE,CAAC;IAClB,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,SAAS,QAAQ;QACf,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;YACrC,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,QAAQ,EAAE,CAAC;YACX,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACH,CAAC;IAED,QAAQ,EAAE,CAAC;IACX,OAAO,MAAM,CAAC;AAChB,CAAC;AAID,MAAM,UAAU,cAAc,CAAC,QAA0B;IACvD,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,MAAM,QAAQ,GAAa;QACzB,KAAK,EAAE,EAAE;QACT,KAAK,CAAC,MAAM;YACV,MAAM,UAAU,GAAG,EAAE,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAClD,UAAU,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,IAAqB,CAAC,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACnF,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO;YAC9B,QAAQ,GAAG,IAAI,CAAC;YAChB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,UAAU,CAAC,CAAC;QACzB,CAAC;KACF,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAmB;IACjD,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACxB,KAAK,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;YAC7B,OAAO,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,KAAK,aAAa,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/react/renderer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type MessageComponentInteraction, type ModalSubmitInteraction } from "./interaction.ts";
|
|
2
2
|
type Handler = ((i: MessageComponentInteraction) => unknown) | ((i: ModalSubmitInteraction) => unknown);
|
|
3
|
-
export declare const handlers: Map<string, Handler
|
|
3
|
+
export declare const handlers: Map<string, Handler & {
|
|
4
|
+
$handlerCleaner?: NodeJS.Timeout;
|
|
5
|
+
}>;
|
|
4
6
|
/** The pattern to export for handling `onClick`/`onSubmit` callbacks */
|
|
5
7
|
export declare const pattern = "@dressed/react-handler-:handlerId{-:fallback}";
|
|
6
8
|
/** Creates a function for handling callback interactions */
|
|
@@ -10,10 +12,7 @@ export declare function createCallbackHandler<T extends Record<string, Handler>
|
|
|
10
12
|
}) => Promise<void>) & {
|
|
11
13
|
fallbacks: { [K in keyof Omit<T, "default">]: K; };
|
|
12
14
|
};
|
|
13
|
-
export declare function registerHandler(handler: Handler, fallback?: string
|
|
15
|
+
export declare function registerHandler(id: string, handler: Handler, fallback?: string): {
|
|
14
16
|
custom_id: string;
|
|
15
|
-
$registeredHandler: string;
|
|
16
|
-
$handlerCleaner: NodeJS.Timeout;
|
|
17
17
|
};
|
|
18
|
-
export declare const randId: () => string;
|
|
19
18
|
export {};
|
|
@@ -21,11 +21,11 @@ export function createCallbackHandler(fallbacks = {}) {
|
|
|
21
21
|
fallbacks: Object.fromEntries(Object.keys(fallbacks).map((k) => [k, k])),
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
|
-
export function registerHandler(handler, fallback
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
export function registerHandler(id, handler, fallback) {
|
|
25
|
+
var _a;
|
|
26
|
+
clearTimeout((_a = handlers.get(id)) === null || _a === void 0 ? void 0 : _a.$handlerCleaner);
|
|
27
|
+
handlers.set(id, Object.assign(handler, { $handlerCleaner: setTimeout(() => handlers.delete(id), 6e4 * 30).unref() }));
|
|
27
28
|
const fbText = fallback ? `-${fallback}` : "";
|
|
28
|
-
return { custom_id: `@dressed/react-handler-${id}${fbText}
|
|
29
|
+
return { custom_id: `@dressed/react-handler-${id}${fbText}` };
|
|
29
30
|
}
|
|
30
|
-
export const randId = () => crypto.randomUUID().slice(0, 18).replace(/-/g, "");
|
|
31
31
|
//# sourceMappingURL=callbacks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/rendering/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAInH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,
|
|
1
|
+
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../../src/rendering/callbacks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAInH,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0D,CAAC;AAE1F,wEAAwE;AACxE,MAAM,CAAC,MAAM,OAAO,GAAG,+CAA+C,CAAC;AAEvE,4DAA4D;AAC5D,mEAAmE;AACnE,MAAM,UAAU,qBAAqB,CAAyC,YAAe,EAAO;IAClG,KAAK,MAAM,GAAG,IAAI,SAAS;QAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,OAAO,MAAM,CAAC,MAAM,CAClB,KAAK,EACH,WAAiE,EACjE,IAA8C,EAC9C,EAAE;;QACF,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,mCAAI,QAAQ,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC,CAAC;QACzF,mBAAmB;QACnB,WAAW,GAAG,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAClH,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzF,MAAM,OAAO,CAAC,WAAoB,CAAC,CAAC;QACpC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC,EACD;QACE,SAAS,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAEtE;KACF,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAU,EAAE,OAAgB,EAAE,QAAiB;;IAC7E,YAAY,CAAC,MAAA,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,0CAAE,eAAe,CAAC,CAAC;IAChD,QAAQ,CAAC,GAAG,CACV,EAAE,EACF,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACrG,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC;AAChE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dressed/react",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.4",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/Inbestigator/dressed.git",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"react-reconciler": "npm:@dressed/react-reconciler"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
|
-
"@types/react": "^19.2.
|
|
41
|
+
"@types/react": "^19.2.8",
|
|
42
42
|
"@types/react-reconciler": "^0.32.3"
|
|
43
43
|
}
|
|
44
44
|
}
|