@crowbartools/firebot-types 5.67.0-alpha1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +43 -0
  3. package/index.d.ts +5 -0
  4. package/index.js +5 -0
  5. package/package.json +44 -0
  6. package/types/accounts.d.ts +13 -0
  7. package/types/auth.d.ts +51 -0
  8. package/types/channel-rewards.d.ts +63 -0
  9. package/types/chat.d.ts +159 -0
  10. package/types/commands.d.ts +138 -0
  11. package/types/counters.d.ts +13 -0
  12. package/types/currency.d.ts +15 -0
  13. package/types/discord.d.ts +10 -0
  14. package/types/effects.d.ts +223 -0
  15. package/types/events.d.ts +99 -0
  16. package/types/expressionish.d.ts +74 -0
  17. package/types/games.d.ts +22 -0
  18. package/types/goals.d.ts +7 -0
  19. package/types/hotkeys.d.ts +12 -0
  20. package/types/icons.d.ts +6 -0
  21. package/types/import.d.ts +69 -0
  22. package/types/index.d.ts +40 -0
  23. package/types/integrations.d.ts +93 -0
  24. package/types/moderation.d.ts +59 -0
  25. package/types/modules/event-manager.d.ts +29 -0
  26. package/types/modules/frontend-communicator.d.ts +53 -0
  27. package/types/modules/index.d.ts +2 -0
  28. package/types/overlay-widgets.d.ts +240 -0
  29. package/types/parameters.d.ts +414 -0
  30. package/types/plugins.d.ts +201 -0
  31. package/types/power-ups.d.ts +20 -0
  32. package/types/pronouns.d.ts +11 -0
  33. package/types/quick-actions.d.ts +18 -0
  34. package/types/quotes.d.ts +17 -0
  35. package/types/ranks.d.ts +23 -0
  36. package/types/restrictions.d.ts +65 -0
  37. package/types/roles.d.ts +21 -0
  38. package/types/script-api.d.ts +95 -0
  39. package/types/settings.d.ts +131 -0
  40. package/types/setups.d.ts +49 -0
  41. package/types/sort-tags.d.ts +4 -0
  42. package/types/timers.d.ts +36 -0
  43. package/types/triggers.d.ts +61 -0
  44. package/types/ui/angular.d.ts +31 -0
  45. package/types/ui/backend-communicator.d.ts +8 -0
  46. package/types/ui/effect-helper-service.d.ts +5 -0
  47. package/types/ui/effect-queues-service.d.ts +10 -0
  48. package/types/ui/firebot-root-scope.d.ts +5 -0
  49. package/types/ui/index.d.ts +12 -0
  50. package/types/ui/modal-factory.d.ts +30 -0
  51. package/types/ui/modal-service.d.ts +21 -0
  52. package/types/ui/ng-toast.d.ts +3 -0
  53. package/types/ui/object-copy-helper.d.ts +9 -0
  54. package/types/ui/platform-service.d.ts +7 -0
  55. package/types/ui/preset-effect-lists-service.d.ts +20 -0
  56. package/types/ui/settings-service.d.ts +5 -0
  57. package/types/util-types.d.ts +52 -0
  58. package/types/variable-macros.d.ts +7 -0
  59. package/types/variables.d.ts +59 -0
  60. package/types/viewers.d.ts +30 -0
  61. package/types/webhooks.d.ts +5 -0
  62. package/types/websocket.d.ts +70 -0
@@ -0,0 +1,52 @@
1
+ export type NoFunctionValue =
2
+ boolean
3
+ | string
4
+ | number
5
+ | null
6
+ | undefined
7
+
8
+ | NoFunctionObject
9
+
10
+ | NoFunctionArray;
11
+
12
+ export interface NoFunctionObject {
13
+ [key: string]: NoFunctionValue;
14
+ }
15
+
16
+ export type NoFunctionArray = Array<NoFunctionValue>;
17
+
18
+ export type Awaitable<T> = T | PromiseLike<T>;
19
+
20
+ type ObjectOfUnknowns = {
21
+ [key: string]: unknown;
22
+ };
23
+
24
+ export type KeyValuePair<K = string, V = string> = {
25
+ key: K;
26
+ value: V;
27
+ };
28
+
29
+ export type FileFilter = {
30
+ name: string;
31
+ extensions: string[];
32
+ };
33
+
34
+ /**
35
+ * Converts a camelCase string type into its snake_case equivalent.
36
+ * Uppercase letters and digits are prefixed with an underscore.
37
+ */
38
+ type CamelToSnake<S extends string, Acc extends string = ""> = S extends `${infer H}${infer T}`
39
+ ? H extends Uppercase<H>
40
+ ? H extends Lowercase<H>
41
+ ? CamelToSnake<T, `${Acc}_${H}`>
42
+ : CamelToSnake<T, `${Acc}_${Lowercase<H>}`>
43
+ : CamelToSnake<T, `${Acc}${H}`>
44
+ : Acc;
45
+
46
+ export type SnakeCased<T> = T extends Date
47
+ ? string
48
+ : T extends Array<infer U>
49
+ ? Array<SnakeCased<U>>
50
+ : T extends object
51
+ ? { [K in keyof T as K extends string ? CamelToSnake<K> : K]: SnakeCased<T[K]> }
52
+ : T;
@@ -0,0 +1,7 @@
1
+ export type VariableMacro = {
2
+ id: string;
3
+ name: string;
4
+ expression: string;
5
+ description?: string;
6
+ argNames?: string[];
7
+ };
@@ -0,0 +1,59 @@
1
+ import type { Trigger, TriggersObject, TriggerType, TriggerMeta } from "./triggers";
2
+ import type { Awaitable } from "./util-types";
3
+
4
+ export { Trigger, TriggersObject, TriggerType, TriggerMeta };
5
+
6
+ export type VariableCategory =
7
+ | "common"
8
+ | "trigger based"
9
+ | "user based"
10
+ | "text"
11
+ | "numbers"
12
+ | "advanced"
13
+ | "obs"
14
+ | "integrations";
15
+
16
+ export type VariableUsage = {
17
+ usage: string;
18
+ description?: string;
19
+ };
20
+
21
+ interface VariableDefinition {
22
+ handle: string;
23
+ aliases?: string[];
24
+ usage?: string;
25
+ description: string;
26
+ examples?: VariableUsage[];
27
+ hasSuggestions?: boolean;
28
+ noSuggestionsText?: string;
29
+ categories?: VariableCategory[];
30
+ triggers?: TriggersObject;
31
+ possibleDataOutput: Array<"null" | "bool" | "number" | "text" | "array" | "object" | "ALL">;
32
+ sensitive?: boolean;
33
+ hidden?: boolean;
34
+ }
35
+
36
+ type Variable = {
37
+ definition: VariableDefinition;
38
+ getSuggestions?: (triggerType: TriggerType, triggerMeta?: TriggerMeta) => Awaitable<VariableUsage[]>;
39
+ argsCheck?: (...args: unknown[]) => void;
40
+ evaluator(trigger: Trigger, ...args: unknown[]): Awaitable<unknown>;
41
+ };
42
+
43
+ type SpoofedVariable = {
44
+ definition: VariableDefinition & { spoof: true };
45
+ argsCheck?: never;
46
+ evaluator?: never;
47
+ getSuggestions?: (triggerType: TriggerType, triggerMeta?: TriggerMeta) => Awaitable<VariableUsage[]>;
48
+ };
49
+
50
+ export type ReplaceVariable = Variable | SpoofedVariable;
51
+
52
+ export type RegisteredVariable = {
53
+ definition: VariableDefinition;
54
+ handle: string;
55
+ triggers: TriggersObject;
56
+ argsCheck: (...args: unknown[]) => void;
57
+ evaluator(trigger: Trigger, ...args: unknown[]): Awaitable<unknown>;
58
+ getSuggestions: (triggerType: TriggerType, triggerMeta?: TriggerMeta) => Awaitable<VariableUsage[]>;
59
+ };
@@ -0,0 +1,30 @@
1
+ export interface FirebotViewer {
2
+ _id: string;
3
+ username: string;
4
+ displayName: string;
5
+ profilePicUrl: string;
6
+ twitch: boolean;
7
+ twitchRoles: string[];
8
+ online: boolean;
9
+ onlineAt: number;
10
+ lastSeen: number;
11
+ joinDate: number;
12
+ minutesInChannel: number;
13
+ chatMessages: number;
14
+ disableAutoStatAccrual: boolean;
15
+ disableActiveUserList: boolean;
16
+ disableViewerList: boolean;
17
+ metadata: Record<string, unknown>;
18
+ currency: Record<string, number>;
19
+ ranks: Record<string, string>;
20
+ }
21
+
22
+ export interface BasicViewer {
23
+ id: string;
24
+ username: string;
25
+ displayName?: string;
26
+ twitchRoles?: string[];
27
+ profilePicUrl?: string;
28
+ }
29
+
30
+ export type NewFirebotViewer = BasicViewer & Partial<Omit<FirebotViewer, "_id" | "username" | "displayName" | "twitchRoles" | "profilePicUrl">>
@@ -0,0 +1,5 @@
1
+ export type WebhookConfig = {
2
+ id: string;
3
+ name: string;
4
+ scriptId?: string;
5
+ };
@@ -0,0 +1,70 @@
1
+ import type { Awaitable } from "./util-types";
2
+
3
+ export type WebSocketEventType =
4
+ "subscribe-events" |
5
+ "overlay-connected" |
6
+ "overlay-event" |
7
+ "send-to-overlay" |
8
+
9
+ "command:created" |
10
+ "command:updated" |
11
+ "command:deleted" |
12
+
13
+ "counter:created" |
14
+ "counter:updated" |
15
+ "counter:deleted" |
16
+
17
+ "custom-role:created" |
18
+ "custom-role:updated" |
19
+ "custom-role:deleted" |
20
+
21
+ "custom-variable:created" |
22
+ "custom-variable:updated" |
23
+ "custom-variable:deleted" |
24
+
25
+ "effect-queue:created" |
26
+ "effect-queue:updated" |
27
+ "effect-queue:length-updated" |
28
+ "effect-queue:deleted" |
29
+
30
+ "preset-effect-list:created" |
31
+ "preset-effect-list:updated" |
32
+ "preset-effect-list:deleted" |
33
+
34
+ "timer:created" |
35
+ "timer:updated" |
36
+ "timer:deleted";
37
+
38
+ interface Message {
39
+ type: string;
40
+ id?: number | string;
41
+ name: string;
42
+ data?: unknown;
43
+ }
44
+ interface InvokeMessage extends Message {
45
+ type: "invoke";
46
+ id: string | number;
47
+ data: unknown;
48
+ }
49
+ interface ResponseMessage extends Message {
50
+ type: "response";
51
+ id: number | string;
52
+ name: "error" | "success";
53
+ }
54
+ interface EventMessage extends Message {
55
+ type: "event";
56
+ }
57
+
58
+ interface InvokePluginMessage extends InvokeMessage {
59
+ name: "plugin";
60
+ pluginName: string;
61
+ }
62
+
63
+ interface CustomWebSocketHandler {
64
+ pluginName: string;
65
+ callback: (data: unknown | unknown[]) => Awaitable<void>;
66
+ }
67
+
68
+ export type OverlayConnectedData = {
69
+ instanceName: string;
70
+ };