@scml-dol-maplebirch/types 5.0.3 → 5.1.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.
Files changed (124) hide show
  1. package/compat/DoLPcompat.d.ts +55 -0
  2. package/compat/ModI18N.d.ts +10 -0
  3. package/compat/Prototype.d.ts +43 -0
  4. package/compat/SimpleFrameworks.d.ts +1 -0
  5. package/constants.d.ts +52 -0
  6. package/core.d.ts +143 -0
  7. package/host/DoL.d.ts +44 -0
  8. package/host/ModLoader.d.ts +37 -0
  9. package/host/Resources.d.ts +15 -0
  10. package/host/SugarCube.d.ts +25 -0
  11. package/index.d.ts +11 -30
  12. package/infra/Catalog.d.ts +14 -0
  13. package/infra/Diagnostics.d.ts +48 -0
  14. package/infra/Emitter.d.ts +18 -0
  15. package/infra/Hooks.d.ts +15 -0
  16. package/infra/Lifecycle.d.ts +24 -0
  17. package/infra/Logger.d.ts +15 -0
  18. package/macros/helpers.d.ts +54 -0
  19. package/macros/index.d.ts +8 -0
  20. package/macros/lanButton.d.ts +2 -0
  21. package/macros/lanLink.d.ts +2 -0
  22. package/macros/lanListbox.d.ts +2 -0
  23. package/macros/lanSwitch.d.ts +3 -0
  24. package/macros/language.d.ts +2 -0
  25. package/macros/macros.d.ts +14 -0
  26. package/macros/maplebirchReplace.d.ts +1 -0
  27. package/macros/radiobuttonsfrom.d.ts +2 -0
  28. package/main.d.ts +22 -0
  29. package/maplebirch.d.ts +11 -4440
  30. package/modules/Audio.d.ts +118 -0
  31. package/modules/AudioAddon/Ambience.d.ts +17 -0
  32. package/modules/AudioAddon/AudioBufferPlayer.d.ts +20 -0
  33. package/modules/AudioAddon/Playlist.d.ts +29 -0
  34. package/modules/AudioAddon/Track.d.ts +15 -0
  35. package/modules/Character.d.ts +39 -0
  36. package/modules/CharacterAddon/Pet.d.ts +61 -0
  37. package/modules/CharacterAddon/Transformation.d.ts +70 -0
  38. package/modules/CharacterAddon/TransformationConfig.d.ts +20 -0
  39. package/modules/Combat.d.ts +17 -0
  40. package/modules/CombatAddon/CombatAction.d.ts +63 -0
  41. package/modules/CombatAddon/CombatTypes.d.ts +4 -0
  42. package/modules/DoL/Config.d.ts +50 -0
  43. package/modules/DoL/Dynamic.d.ts +23 -0
  44. package/modules/DoL/Integration.d.ts +13 -0
  45. package/modules/DoL/Patches/Antiques.d.ts +17 -0
  46. package/modules/DoL/Patches/Bodywriting.d.ts +33 -0
  47. package/modules/DoL/Patches/Fishing.d.ts +32 -0
  48. package/modules/DoL/Patches/Foodstuff.d.ts +64 -0
  49. package/modules/DoL/Patches/Location.d.ts +36 -0
  50. package/modules/DoL/Patches/Tips.d.ts +7 -0
  51. package/modules/DoL/Patches/Traits.d.ts +24 -0
  52. package/modules/DoL/Patches/config.d.ts +2 -0
  53. package/modules/DoL/Patches/index.d.ts +86 -0
  54. package/modules/DoL/Replacements.d.ts +189 -0
  55. package/modules/DoL/ToolCollection.d.ts +17 -0
  56. package/modules/DoL/index.d.ts +1 -0
  57. package/modules/DoL/types.d.ts +20 -0
  58. package/modules/Dynamic.d.ts +10 -0
  59. package/modules/Event.d.ts +16 -0
  60. package/modules/Frameworks/ApplyLinkZone.d.ts +40 -0
  61. package/modules/Frameworks/ConsoleCheat.d.ts +43 -0
  62. package/modules/Frameworks/DoLConsole.d.ts +8 -0
  63. package/modules/Frameworks/DoLMacros.d.ts +6 -0
  64. package/modules/Frameworks/HtmlTools.d.ts +49 -0
  65. package/modules/Frameworks/ImageLoader.d.ts +6 -0
  66. package/modules/Frameworks/OptionEvents.d.ts +15 -0
  67. package/modules/Frameworks/Patch.d.ts +24 -0
  68. package/modules/Frameworks/RandSystem.d.ts +27 -0
  69. package/modules/Frameworks/TextStore.d.ts +7 -0
  70. package/modules/Frameworks/TimeTravelCheat.d.ts +17 -0
  71. package/modules/Frameworks/ZonesManager.d.ts +69 -0
  72. package/modules/Frameworks/macros.d.ts +27 -0
  73. package/modules/Frameworks/migration.d.ts +33 -0
  74. package/modules/NamedNPC.d.ts +164 -0
  75. package/modules/NamedNPCAddon/NPCClothes/Condition.d.ts +3 -0
  76. package/modules/NamedNPCAddon/NPCClothes/NPCOutfitSets.d.ts +38 -0
  77. package/modules/NamedNPCAddon/NPCClothes/NPCSidebarArt.d.ts +25 -0
  78. package/modules/NamedNPCAddon/NPCClothes/NPCSidebarWardrobe.d.ts +60 -0
  79. package/modules/NamedNPCAddon/NPCClothes.d.ts +12 -0
  80. package/modules/NamedNPCAddon/NPCFluids.d.ts +17 -0
  81. package/modules/NamedNPCAddon/NPCPregnancy.d.ts +127 -0
  82. package/modules/NamedNPCAddon/NPCSchedules.d.ts +77 -0
  83. package/modules/NamedNPCAddon/NPCSidebar.d.ts +28 -0
  84. package/modules/NamedNPCAddon/NPCSidebarConfig/base_layers.d.ts +212 -0
  85. package/modules/NamedNPCAddon/NPCSidebarConfig/face_layers.d.ts +220 -0
  86. package/modules/NamedNPCAddon/NPCSidebarConfig/feet_layers.d.ts +274 -0
  87. package/modules/NamedNPCAddon/NPCSidebarConfig/fluids_layers.d.ts +109 -0
  88. package/modules/NamedNPCAddon/NPCSidebarConfig/functions.d.ts +509 -0
  89. package/modules/NamedNPCAddon/NPCSidebarConfig/handheld_layers.d.ts +292 -0
  90. package/modules/NamedNPCAddon/NPCSidebarConfig/hands_layers.d.ts +381 -0
  91. package/modules/NamedNPCAddon/NPCSidebarConfig/head_layers.d.ts +490 -0
  92. package/modules/NamedNPCAddon/NPCSidebarConfig/legs_layers.d.ts +274 -0
  93. package/modules/NamedNPCAddon/NPCSidebarConfig/lower_layers.d.ts +800 -0
  94. package/modules/NamedNPCAddon/NPCSidebarConfig/neck_layers.d.ts +112 -0
  95. package/modules/NamedNPCAddon/NPCSidebarConfig/transformation_layers.d.ts +1672 -0
  96. package/modules/NamedNPCAddon/NPCSidebarConfig/types.d.ts +130 -0
  97. package/modules/NamedNPCAddon/NPCSidebarConfig/upper_layers.d.ts +1516 -0
  98. package/modules/NamedNPCAddon/NPCTransformation.d.ts +51 -0
  99. package/modules/NamedNPCAddon/NPCUtils.d.ts +8 -0
  100. package/modules/State.d.ts +46 -0
  101. package/modules/TimeStateWeather/DateTime.d.ts +4 -0
  102. package/modules/TimeStateWeather/Time.d.ts +14 -0
  103. package/modules/TimeStateWeather/TimeEvents.d.ts +130 -0
  104. package/modules/TimeStateWeather/WeatherEvents.d.ts +56 -0
  105. package/modules/ToolCollection.d.ts +33 -0
  106. package/modules/Variables.d.ts +32 -0
  107. package/package.d.ts +30 -0
  108. package/package.json +5 -7
  109. package/services/AddonPlugin.d.ts +92 -0
  110. package/services/CloudSave.d.ts +124 -0
  111. package/services/CredentialVault.d.ts +80 -0
  112. package/services/GUIControl.d.ts +54 -0
  113. package/services/IndexedDB.d.ts +28 -0
  114. package/services/Modules.d.ts +75 -0
  115. package/services/Translator.d.ts +60 -0
  116. package/types/global.d.ts +123 -0
  117. package/types/twine-sugarcube.d.ts +456 -0
  118. package/utils/array.d.ts +10 -0
  119. package/utils/binary.d.ts +8 -0
  120. package/utils/condition.d.ts +1 -0
  121. package/utils/index.d.ts +22 -0
  122. package/utils/object.d.ts +16 -0
  123. package/utils/selector.d.ts +20 -0
  124. package/utils/string.d.ts +8 -0
@@ -0,0 +1,456 @@
1
+ import type { BrowserAPI } from '@scml/sc2-verlnir/src/browser';
2
+ import type { ConfigAPI } from '@scml/sc2-verlnir/src/config';
3
+ import type { DebugBarAPI } from '@scml/sc2-verlnir/src/debugbar';
4
+ import type { DialogAPI } from '@scml/sc2-verlnir/src/dialog';
5
+ import type { EngineAPI } from '@scml/sc2-verlnir/src/engine';
6
+ import type { FullscreenAPI } from '@scml/sc2-verlnir/src/fullscreen';
7
+ import type { HasAPI } from '@scml/sc2-verlnir/src/has';
8
+ import type { L10nAPI } from '@scml/sc2-verlnir/src/l10n';
9
+ import type { MacroAPI } from '@scml/sc2-verlnir/src/macro';
10
+ import type { PassageConstructor } from '@scml/sc2-verlnir/src/passage';
11
+ import type { SaveAPI as VerlnirSaveAPI } from '@scml/sc2-verlnir/src/save';
12
+ import type { ScriptingAPI } from '@scml/sc2-verlnir/src/scripting';
13
+ import type { SettingAPI } from '@scml/sc2-verlnir/src/setting';
14
+ import type { SimpleAudioAPI } from '@scml/sc2-verlnir/src/simpleaudio';
15
+ import type { SimpleStoreInstanceAPI } from '@scml/sc2-verlnir/src/simplestore';
16
+ import type { StoryAPI } from '@scml/sc2-verlnir/src/story';
17
+ import type { UIAPI } from '@scml/sc2-verlnir/src/ui';
18
+ import type { UIBarAPI } from '@scml/sc2-verlnir/src/uibar';
19
+ import type { UtilAPI } from '@scml/sc2-verlnir/src/util';
20
+ import type { VersionInfo } from '@scml/sc2-verlnir/src/version';
21
+ import type { VisibilityAPI } from '@scml/sc2-verlnir/src/visibility';
22
+ import type { WikifierAPI as VerlnirWikifierAPI } from '@scml/sc2-verlnir/src/wikifier';
23
+ import type { BodywritingItem } from '../modules/DoL/Patches/Bodywriting.js';
24
+ import type { FoodstuffItem } from '../modules/DoL/Patches/Foodstuff.js';
25
+ import type { LocationConfig } from '../modules/DoL/Patches/Location.js';
26
+ import type { FishData } from '../modules/DoL/Patches/Fishing.js';
27
+ import type { AntiqueConfig } from '../modules/DoL/Patches/Antiques.js';
28
+ import type { TraitCategory } from '../modules/DoL/Patches/Traits.js';
29
+ import type { SugarCubeStoryVariables, SugarCubeTemporaryVariables } from 'twine-sugarcube/userdata';
30
+ declare module 'twine-sugarcube/userdata' {
31
+ interface SugarCubeSetupObject {
32
+ bodywriting: Record<string, BodywritingItem>;
33
+ bodywriting_namebyindex: (string | undefined)[];
34
+ foodstuff: Record<string, FoodstuffItem>;
35
+ LocationImages: Record<string, LocationConfig>;
36
+ Locations: Record<string, () => string>;
37
+ tips: Record<string, string[]>;
38
+ tipsList: string[];
39
+ fishing?: {
40
+ lootTables: {
41
+ fish: Record<string, FishData>;
42
+ };
43
+ };
44
+ [x: string]: any;
45
+ }
46
+ interface SugarCubeStoryVariables {
47
+ foodstuff: Record<string, {
48
+ amount: number;
49
+ [key: string]: unknown;
50
+ }>;
51
+ museumAntiques?: {
52
+ antiques: Record<string, string>;
53
+ maxCount: number;
54
+ [key: string]: unknown;
55
+ };
56
+ [x: string]: any;
57
+ }
58
+ interface SugarCubeTemporaryVariables {
59
+ traitLists: TraitCategory[];
60
+ museumAntiqueText: Record<string, AntiqueConfig>;
61
+ [x: string]: any;
62
+ }
63
+ }
64
+ declare module 'twine-sugarcube' {
65
+ interface WikifierAPI {
66
+ wikifyEval(text: string, passageObj?: {
67
+ title: string;
68
+ }, passageTitle?: string): DocumentFragment;
69
+ }
70
+ interface MacroDefinition {
71
+ isAsync?: boolean;
72
+ isWidget?: boolean;
73
+ }
74
+ }
75
+ export interface DolStateMoment {
76
+ readonly title: string;
77
+ readonly variables: Record<string, unknown>;
78
+ }
79
+ export interface DolStateMetadataAPI {
80
+ clear(): void;
81
+ delete(key: string): boolean;
82
+ entries(): Iterable<[string, unknown]>;
83
+ get(key: string): unknown;
84
+ has(key: string): boolean;
85
+ keys(): Iterable<string>;
86
+ set(key: string, value: unknown): void;
87
+ readonly size: number;
88
+ }
89
+ export interface DolStatePRNGAPI {
90
+ init(seed: string | number): void;
91
+ isEnabled(): boolean;
92
+ pull: number;
93
+ readonly seed: string | number;
94
+ str2int(str: string): number;
95
+ test(seed: string | number): boolean;
96
+ peek(): number;
97
+ }
98
+ export interface DolStateAPI {
99
+ reset(): void;
100
+ restore(soft?: boolean): boolean;
101
+ marshalForSave(): unknown;
102
+ unmarshalForSave(stateObj: unknown): void;
103
+ readonly expired: string[];
104
+ readonly passages: string[];
105
+ getSessionState(): unknown;
106
+ setSessionState(state: unknown): void;
107
+ readonly active: DolStateMoment;
108
+ readonly activeIndex: number;
109
+ readonly current: DolStateMoment | undefined;
110
+ readonly top: DolStateMoment | undefined;
111
+ readonly bottom: DolStateMoment | undefined;
112
+ readonly history: DolStateMoment[];
113
+ readonly passage: string;
114
+ readonly variables: Record<string, unknown>;
115
+ readonly temporary: Record<string, unknown>;
116
+ readonly length: number;
117
+ readonly size: number;
118
+ readonly turns: number;
119
+ create(): DolStateMoment;
120
+ goTo(index: number): void;
121
+ go(delta: number): void;
122
+ deltaEncode(moments: DolStateMoment[]): unknown;
123
+ deltaDecode(data: unknown): DolStateMoment[];
124
+ readonly prng: DolStatePRNGAPI;
125
+ clearTemporary(): void;
126
+ pushLocal(): void;
127
+ popLocal(): Record<string, unknown> | undefined;
128
+ peekLocal(): Record<string, unknown> | undefined;
129
+ readonly local: Record<string, unknown>;
130
+ clearLocal(): void;
131
+ getVar(path: string): unknown;
132
+ setVar(path: string, value: unknown): void;
133
+ has(offset: number): boolean;
134
+ hasPlayed(passage: string): boolean;
135
+ index(offset?: number): number;
136
+ isEmpty(): boolean;
137
+ peek(offset?: number): DolStateMoment | undefined;
138
+ random(): number;
139
+ readonly metadata: DolStateMetadataAPI;
140
+ readonly qc: unknown;
141
+ qcadd(fn: (...args: unknown[]) => void): void;
142
+ initPRNG(seed: string | number): void;
143
+ restart(): void;
144
+ backward(): void;
145
+ forward(): void;
146
+ display(...args: unknown[]): void;
147
+ show(...args: unknown[]): void;
148
+ play(...args: unknown[]): void;
149
+ }
150
+ export interface DolSaveAPI extends VerlnirSaveAPI {
151
+ serialize(metadata?: unknown): string;
152
+ deserialize(saveStr: string): unknown;
153
+ }
154
+ export type WikifierAPI = VerlnirWikifierAPI & {
155
+ wikifyEval(text: string, passageObj?: {
156
+ title: string;
157
+ }, passageTitle?: string): DocumentFragment;
158
+ };
159
+ export type SugarCubeUtilAPI = UtilAPI;
160
+ export interface TwineSugarCube {
161
+ Browser: BrowserAPI;
162
+ Config: ConfigAPI;
163
+ Dialog: DialogAPI;
164
+ Engine: EngineAPI;
165
+ Fullscreen: FullscreenAPI;
166
+ Has: HasAPI;
167
+ L10n: L10nAPI;
168
+ Macro: MacroAPI;
169
+ Passage: PassageConstructor;
170
+ Save: DolSaveAPI;
171
+ Scripting: ScriptingAPI;
172
+ Setting: SettingAPI;
173
+ SimpleAudio: SimpleAudioAPI;
174
+ State: DolStateAPI;
175
+ Story: StoryAPI;
176
+ UI: UIAPI;
177
+ UIBar: UIBarAPI;
178
+ DebugBar: DebugBarAPI;
179
+ Util: SugarCubeUtilAPI;
180
+ Visibility: VisibilityAPI;
181
+ Wikifier: WikifierAPI;
182
+ session: SimpleStoreInstanceAPI | null;
183
+ settings: Record<string, unknown>;
184
+ setup: Record<string, unknown>;
185
+ storage: SimpleStoreInstanceAPI | null;
186
+ version: VersionInfo;
187
+ }
188
+ declare global {
189
+ const V: SugarCubeStoryVariables;
190
+ const C: Record<string, any>;
191
+ const T: SugarCubeTemporaryVariables;
192
+ interface DateTimeData {
193
+ year: number;
194
+ month: number;
195
+ day: number;
196
+ hour?: number;
197
+ minute?: number;
198
+ second?: number;
199
+ timeStamp: number;
200
+ }
201
+ interface DateTimeDiff {
202
+ years: number;
203
+ months: number;
204
+ days: number;
205
+ hours: number;
206
+ minutes: number;
207
+ seconds: number;
208
+ }
209
+ interface DateTimeConstructor {
210
+ readonly MIN_DATE: DateTime;
211
+ readonly MAX_DATE: DateTime;
212
+ new (timestamp?: number): DateTime;
213
+ new (date: DateTimeData): DateTime;
214
+ new (year?: number, month?: number, day?: number, hour?: number, minute?: number, second?: number): DateTime;
215
+ toSerialYear(year: number): number;
216
+ fromSerialYear(serialYear: number): number;
217
+ getTotalDaysSinceStart(year: number): number;
218
+ isLeapYear(year: number): boolean;
219
+ getDaysOfMonthFromYear(year: number): readonly number[];
220
+ getDaysOfYear(year: number): number;
221
+ }
222
+ class DateTime implements DateTimeData {
223
+ static readonly MIN_DATE: DateTime;
224
+ static readonly MAX_DATE: DateTime;
225
+ constructor(timestamp?: number);
226
+ constructor(date: DateTimeData);
227
+ constructor(year?: number, month?: number, day?: number, hour?: number, minute?: number, second?: number);
228
+ year: number;
229
+ month: number;
230
+ day: number;
231
+ hour: number;
232
+ minute: number;
233
+ second: number;
234
+ timeStamp: number;
235
+ static toSerialYear(year: number): number;
236
+ static fromSerialYear(serialYear: number): number;
237
+ static getTotalDaysSinceStart(year: number): number;
238
+ static isLeapYear(year: number): boolean;
239
+ static getDaysOfMonthFromYear(year: number): readonly number[];
240
+ static getDaysOfYear(year: number): number;
241
+ toTimestamp(year: number, month: number, day: number, hour: number, minute: number, second: number): this;
242
+ fromTimestamp(timestamp: number): this;
243
+ compareWith(otherDateTime: DateTime, getSeconds?: boolean): number | DateTimeDiff;
244
+ dayDifference(otherDateTime: DateTime): number;
245
+ getFirstWeekdayOfMonth(weekDay: number): DateTime;
246
+ getNextWeekdayDate(weekDay: number): DateTime;
247
+ getPreviousWeekdayDate(weekDay: number): DateTime;
248
+ addYears(years: number): this;
249
+ addMonths(months: number): this;
250
+ addDays(days: number): this;
251
+ addHours(hours: number): this;
252
+ addMinutes(minutes: number): this;
253
+ addSeconds(seconds: number): this;
254
+ isLastDayOfMonth(): boolean;
255
+ isFirstDayOfMonth(): boolean;
256
+ between(startDate: DateTime, endDate: DateTime): boolean;
257
+ readonly midnight: DateTime;
258
+ readonly dayState: string;
259
+ readonly weekDay: number;
260
+ readonly weekDayName: string;
261
+ readonly monthName: string;
262
+ readonly weekEnd: boolean;
263
+ readonly lastDayOfMonth: number;
264
+ readonly yearDay: number;
265
+ readonly moonPhaseFraction: number;
266
+ readonly fractionOfDay: number;
267
+ readonly fractionOfDayFromNoon: number;
268
+ readonly simplifiedDayFactor: number;
269
+ readonly fractionOfYear: number;
270
+ readonly seasonFactor: number;
271
+ }
272
+ interface MoonPhase {
273
+ start: number;
274
+ end: number;
275
+ endAlt?: number;
276
+ description: string;
277
+ }
278
+ interface TimeAPI {
279
+ readonly date: DateTime;
280
+ readonly holidayMonths: number[];
281
+ readonly second: number;
282
+ readonly minute: number;
283
+ readonly hour: number;
284
+ readonly weekDay: number;
285
+ readonly weekDayName: string;
286
+ readonly monthDay: number;
287
+ readonly month: number;
288
+ readonly monthName: string;
289
+ readonly year: number;
290
+ readonly days: number;
291
+ readonly season: string;
292
+ readonly tomorrow: DateTime;
293
+ readonly yesterday: DateTime;
294
+ readonly schoolTerm: boolean;
295
+ readonly schoolDay: boolean;
296
+ readonly schoolTime: boolean;
297
+ readonly dayState: string;
298
+ readonly nextSchoolTermStartDate: DateTime;
299
+ readonly nextSchoolTermEndDate: DateTime;
300
+ readonly lastDayOfMonth: number;
301
+ readonly dayOfYear: number;
302
+ readonly secondsSinceMidnight: number;
303
+ readonly currentMoonPhase: string;
304
+ startDate: DateTime;
305
+ monthNames: string[];
306
+ daysOfWeek: string[];
307
+ moonPhases: Record<string, MoonPhase>;
308
+ set(time?: number | DateTime): void;
309
+ setDate(date: DateTime): void;
310
+ setTime(hour: number, minute?: number): void;
311
+ setTimeRelative(hour?: number, minute?: number): void;
312
+ pass(seconds: number): any;
313
+ timeTravel(date: DateTime): any;
314
+ isSchoolTerm(date: DateTime): boolean;
315
+ isSchoolDay(date: DateTime): boolean;
316
+ isSchoolTime(date: DateTime): boolean;
317
+ getDayOfYear(date: DateTime): number;
318
+ getSecondsSinceMidnight(date: DateTime): number;
319
+ nextMoonPhase(targetPhase: string): DateTime;
320
+ previousMoonPhase(targetPhase: string): DateTime;
321
+ isBloodMoon(date?: DateTime): boolean;
322
+ getSeason(date: DateTime): string;
323
+ getNextSchoolTermStartDate(date: DateTime): DateTime;
324
+ getNextSchoolTermEndDate(date: DateTime): DateTime;
325
+ getNextWeekdayDate(weekDay: number): DateTime;
326
+ getPreviousWeekdayDate(weekDay: number): DateTime;
327
+ isWeekEnd(): boolean;
328
+ hasDatePassed(month: number, day: number): boolean;
329
+ betweenHours(from: number, to: number, pass?: number): boolean;
330
+ openingHours(minutes?: number): boolean;
331
+ readonly oxygenResaturationDuration: number;
332
+ }
333
+ const Time: TimeAPI;
334
+ type CanvasLayerMap = Record<string, LayerConfig>;
335
+ type CanvasLayerFilter = string | Record<string, any>;
336
+ type CanvasLayerSrc = string | string[] | undefined;
337
+ type CanvasLayerMask = string | {
338
+ path: string;
339
+ offsetX?: number;
340
+ offsetY?: number;
341
+ convert?: boolean;
342
+ };
343
+ type CanvasLayerMaskSrc = CanvasLayerMask | CanvasLayerMask[] | undefined;
344
+ interface CanvasLayerWorn {
345
+ slot: string;
346
+ integrity: string | number;
347
+ alt?: string;
348
+ index: number;
349
+ }
350
+ type CanvasLayerValueFn<T = any> = (options: any) => T;
351
+ interface CanvasModelOptionsData {
352
+ filters?: Record<string, any>;
353
+ generatedLayers?: CanvasLayerMap;
354
+ [key: string]: any;
355
+ }
356
+ interface LayerConfig {
357
+ name?: string;
358
+ model?: CanvasModel;
359
+ defaultOptions?: LayerConfig;
360
+ show?: boolean;
361
+ src?: CanvasLayerSrc;
362
+ z?: number;
363
+ alpha?: number;
364
+ maskAlpha?: number;
365
+ brightness?: number;
366
+ contrast?: number;
367
+ blend?: string;
368
+ blendMode?: string;
369
+ maskBlendMode?: string;
370
+ compositeOperation?: string;
371
+ desaturate?: boolean;
372
+ masksrc?: CanvasLayerMaskSrc;
373
+ animation?: any;
374
+ filters?: CanvasLayerFilter[];
375
+ dx?: number;
376
+ dy?: number;
377
+ width?: number;
378
+ height?: number;
379
+ worn?: CanvasLayerWorn;
380
+ scale?: boolean | number;
381
+ frameDx?: number;
382
+ frameDy?: number;
383
+ showfn?: CanvasLayerValueFn<boolean>;
384
+ srcfn?: CanvasLayerValueFn<CanvasLayerSrc>;
385
+ zfn?: CanvasLayerValueFn<number>;
386
+ alphafn?: CanvasLayerValueFn<number>;
387
+ maskAlphafn?: CanvasLayerValueFn<number>;
388
+ brightnessfn?: CanvasLayerValueFn<number>;
389
+ contrastfn?: CanvasLayerValueFn<number>;
390
+ blendfn?: CanvasLayerValueFn<string | undefined>;
391
+ blendModefn?: CanvasLayerValueFn<string | undefined>;
392
+ maskBlendModefn?: CanvasLayerValueFn<string | undefined>;
393
+ compositeOperationfn?: CanvasLayerValueFn<string | undefined>;
394
+ desaturatefn?: CanvasLayerValueFn<boolean>;
395
+ masksrcfn?: CanvasLayerValueFn<CanvasLayerMaskSrc>;
396
+ animationfn?: CanvasLayerValueFn<any>;
397
+ filtersfn?: CanvasLayerValueFn<CanvasLayerFilter[] | undefined>;
398
+ dxfn?: CanvasLayerValueFn<number>;
399
+ dyfn?: CanvasLayerValueFn<number>;
400
+ widthfn?: CanvasLayerValueFn<number>;
401
+ heightfn?: CanvasLayerValueFn<number>;
402
+ wornfn?: CanvasLayerValueFn<CanvasLayerWorn | undefined>;
403
+ scalefn?: CanvasLayerValueFn<boolean | number | undefined>;
404
+ [key: string]: any;
405
+ }
406
+ interface CanvasModelOptions {
407
+ name: string;
408
+ width: number;
409
+ height: number;
410
+ layers: CanvasLayerMap;
411
+ frames?: number;
412
+ metadata?: Record<string, any>;
413
+ scale?: boolean | number;
414
+ generatedOptions?: (this: CanvasModel) => any[];
415
+ defaultOptions?: (this: CanvasModel) => CanvasModelOptionsData;
416
+ preprocess?: (this: CanvasModel, options: any) => void;
417
+ postprocess?: (this: CanvasModel, options: any) => void;
418
+ [key: string]: any;
419
+ }
420
+ interface CanvasModelConstructor {
421
+ new (...args: any[]): CanvasModel;
422
+ create(id: string, slot?: string): CanvasModel;
423
+ }
424
+ class CanvasModel {
425
+ static create(id: string, slot?: string): CanvasModel;
426
+ constructor(...args: any[]);
427
+ name: string;
428
+ width: number;
429
+ height: number;
430
+ frames: number;
431
+ metadata: Record<string, any>;
432
+ scale: boolean | number;
433
+ layers: CanvasLayerMap;
434
+ layerList: LayerConfig[];
435
+ options: CanvasModelOptionsData;
436
+ animated: boolean;
437
+ canvas: CanvasRenderingContext2D | null;
438
+ listener?: any;
439
+ rendererListener?: any;
440
+ generatedOptions(): any[];
441
+ defaultOptions(): CanvasModelOptionsData;
442
+ createCanvas(cssAnimated?: boolean): CanvasRenderingContext2D;
443
+ reset(): void;
444
+ showLayer(name: string, filters: CanvasLayerFilter[]): void;
445
+ hideLayer(name: string): void;
446
+ render(canvas: CanvasRenderingContext2D, options?: any, listener?: any): void;
447
+ animate(canvas: CanvasRenderingContext2D, options?: any, listener?: any): any;
448
+ redraw(): any;
449
+ preprocess(options: any): void;
450
+ postprocess(options: any): void;
451
+ compile(options?: any): LayerConfig[];
452
+ }
453
+ export interface JQueryAriaClickOptions {
454
+ role?: string;
455
+ }
456
+ }
@@ -0,0 +1,10 @@
1
+ export type ContainsMode = 'all' | 'any' | 'none';
2
+ export type ContainsOptions = {
3
+ case?: boolean;
4
+ compare?: (item: unknown, value: unknown) => boolean;
5
+ deep?: boolean;
6
+ };
7
+ export declare function contains(array: readonly unknown[], value: unknown, mode?: ContainsMode, options?: ContainsOptions): boolean;
8
+ export declare function randomNumber(min?: number, max?: number, float?: boolean): number;
9
+ export declare function randomPick<T>(items: readonly T[], weights?: readonly number[] | null, allowNull?: boolean): T | null | undefined;
10
+ export declare function clamp(value: unknown, min: number, max: number, fallback?: number): number;
@@ -0,0 +1,8 @@
1
+ export declare function textToBytes(value: string): Uint8Array;
2
+ export declare function jsonToBytes(value: unknown): Uint8Array;
3
+ export declare function bytesToJson<T = unknown>(bytes: Uint8Array | ArrayBuffer): T;
4
+ export declare function toArrayBuffer(bytes: Uint8Array): ArrayBuffer;
5
+ export declare function bytesToBase64(bytes: Uint8Array): string;
6
+ export declare function base64ToBytes(value: string): Uint8Array;
7
+ export declare function base64ToArrayBuffer(value: string): ArrayBuffer;
8
+ export declare function basicAuth(username: string, password: string): string;
@@ -0,0 +1 @@
1
+ export declare function compileBooleanExpression(expression: string): () => boolean;
@@ -0,0 +1,22 @@
1
+ import { clone, equal, merge, append, cover, mergeFn, appendFn, coverFn } from './object.js';
2
+ import { contains, randomNumber as random, randomPick as either, clamp } from './array.js';
3
+ import { convert, escapeHtmlText, widgets } from './string.js';
4
+ import { textToBytes, jsonToBytes, bytesToJson, toArrayBuffer, bytesToBase64, base64ToBytes, base64ToArrayBuffer, basicAuth } from './binary.js';
5
+ import { SelectCase } from './selector.js';
6
+ export { clone, equal, merge, append, cover, mergeFn as mergefn, appendFn as appendfn, coverFn as coverfn, contains, random, either, clamp, convert, escapeHtmlText, widgets, textToBytes, jsonToBytes, bytesToJson, toArrayBuffer, bytesToBase64, base64ToBytes, base64ToArrayBuffer, basicAuth, SelectCase };
7
+ export declare const publicUtils: Readonly<{
8
+ clone: typeof clone;
9
+ equal: typeof equal;
10
+ merge: typeof merge;
11
+ append: typeof append;
12
+ cover: typeof cover;
13
+ mergefn: typeof mergeFn;
14
+ appendfn: typeof appendFn;
15
+ coverfn: typeof coverFn;
16
+ contains: typeof contains;
17
+ random: typeof random;
18
+ either: typeof either;
19
+ SelectCase: typeof SelectCase;
20
+ convert: typeof convert;
21
+ clamp: typeof clamp;
22
+ }>;
@@ -0,0 +1,16 @@
1
+ type MergeMode = 'replace' | 'concat' | 'merge';
2
+ export type MergeFilterFn = (key: string, value: unknown, depth: number, targetValue: unknown) => boolean;
3
+ type MergeTuple<T extends readonly unknown[], S extends readonly unknown[]> = S extends readonly [infer Head, ...infer Rest] ? T extends readonly [infer Previous, ...infer Tail] ? [Merged<Previous, Head, 'merge'>, ...MergeTuple<Tail, Rest>] : [...S] : [...T];
4
+ type Merged<T, S, Mode extends MergeMode> = S extends readonly unknown[] ? T extends readonly unknown[] ? Mode extends 'replace' ? [...S] : Mode extends 'concat' ? [...T, ...S] : number extends T['length'] | S['length'] ? (T[number] | S[number])[] : MergeTuple<T, S> : [...S] : S extends Record<string, unknown> ? Omit<T, keyof S> & {
5
+ [Key in keyof S]: Key extends keyof T ? Merged<T[Key], S[Key], Mode> : S[Key];
6
+ } : S;
7
+ export type MergeResult<T, Sources extends readonly unknown[], Mode extends MergeMode = 'merge'> = Sources extends readonly [infer Source, ...infer Rest] ? MergeResult<Merged<T, Source, Mode>, Rest, Mode> : T;
8
+ export declare function clone<T>(source: T, deep?: boolean, proto?: boolean, map?: WeakMap<object, unknown>): T;
9
+ export declare function equal(a: unknown, b: unknown): boolean;
10
+ export declare function merge<T, Sources extends unknown[]>(target: T, ...sources: Sources): MergeResult<T, Sources>;
11
+ export declare function append<T, Sources extends unknown[]>(target: T, ...sources: Sources): MergeResult<T, Sources, 'concat'>;
12
+ export declare function cover<T, Sources extends unknown[]>(target: T, ...sources: Sources): MergeResult<T, Sources, 'replace'>;
13
+ export declare function mergeFn<T, Sources extends unknown[]>(target: T, filter: MergeFilterFn | null, ...sources: Sources): MergeResult<T, Sources>;
14
+ export declare function appendFn<T, Sources extends unknown[]>(target: T, filter: MergeFilterFn | null, ...sources: Sources): MergeResult<T, Sources, 'concat'>;
15
+ export declare function coverFn<T, Sources extends unknown[]>(target: T, filter: MergeFilterFn | null, ...sources: Sources): MergeResult<T, Sources, 'replace'>;
16
+ export {};
@@ -0,0 +1,20 @@
1
+ type Comparator = '<' | '<=' | '>' | '>=';
2
+ type ResultValue<Input, Result, Meta> = Result | ((input: Input, meta: Meta) => Result);
3
+ export declare class SelectCase<Input = unknown, Result = unknown, Meta = Record<string, unknown>> {
4
+ private readonly cases;
5
+ private defaultResult;
6
+ private valueType;
7
+ private allowMixedTypes;
8
+ case(condition: string | number | ((input: Input, meta: Meta) => boolean), result: ResultValue<Input, Result, Meta>): this;
9
+ casePredicate(fn: (input: Input, meta: Meta) => boolean, result: ResultValue<Input, Result, Meta>): this;
10
+ caseRange(min: number, max: number, result: ResultValue<Input, Result, Meta>): this;
11
+ caseIn(values: readonly (string | number)[], result: ResultValue<Input, Result, Meta>): this;
12
+ caseIncludes(values: string | readonly string[], result: ResultValue<Input, Result, Meta>): this;
13
+ caseRegex(regex: RegExp, result: ResultValue<Input, Result, Meta>): this;
14
+ caseCompare(operator: Comparator, value: number, result: ResultValue<Input, Result, Meta>): this;
15
+ else(result: ResultValue<Input, Result, Meta>): this;
16
+ match(input: Input, meta?: Meta): Result | null;
17
+ private resolve;
18
+ private validateType;
19
+ }
20
+ export {};
@@ -0,0 +1,8 @@
1
+ export type ConvertMode = 'lower' | 'upper' | 'capitalize' | 'title' | 'camel' | 'pascal' | 'snake' | 'kebab' | 'constant';
2
+ export declare function convert(value: string, mode?: ConvertMode, options?: {
3
+ delimiter?: string;
4
+ acronym?: boolean;
5
+ }): string;
6
+ export declare function escapeHtmlText(value: string): string;
7
+ export declare function widgets(content: string): string;
8
+ export declare function widgets(...contents: string[]): string[];