@overwolf/ow-electron 39.8.10-beta.10 → 39.8.10-beta.11

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/checksums.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "electron-api.json": "d3c769853e7cac1098c3e33b0f5743ad3f890cf5003e738abb27aa7e9157d944",
3
3
  "electron.d.ts": "a332d5d3fafb45e224218d44c5c471d215dca76889956d5f36f59ec0f8716d10",
4
- "ow-electron-v39.8.10-beta.10-darwin-arm64.zip": "ee6d5aaede2d638b0ff7470d366093ba7cef508b0b69132c756ced97b08753d5",
5
- "ow-electron-v39.8.10-beta.10-darwin-x64.zip": "166ad42073185540efd628344e5a229e4d9cb18a4ce1cdc0e3f76618f9c6e442",
6
- "ow-electron-v39.8.10-beta.10-linux-arm64.zip": "b7f255d4e3c6ac67f18aa11a59bc04194ef5ded9c48249053af96ecaf2ed33f3",
7
- "ow-electron-v39.8.10-beta.10-linux-armv7l.zip": "6e4d0d96b5ed98b9973868b8ea6234a5511cae866f15e586be7003a753b7afcc",
8
- "ow-electron-v39.8.10-beta.10-linux-x64.zip": "5a1a3474e6718a9629cdeb425da3936a349a484bd40b0df663aa6354c99c45fa",
9
- "ow-electron-v39.8.10-beta.10-win32-arm64.zip": "bff199e35ef75181dd65db2386df20444e876b8adc604d0778099a2baa3dc0b7",
10
- "ow-electron-v39.8.10-beta.10-win32-ia32.zip": "9d5957e472682389b732e611854fba8a189590fd36b04385c045df1085baad8f",
11
- "ow-electron-v39.8.10-beta.10-win32-x64.zip": "bea45b586ba3cbfc4253bd7f87f18c73089918d7b98ce23af5ced4a4add324c6"
4
+ "ow-electron-v39.8.10-beta.11-darwin-arm64.zip": "ee6d5aaede2d638b0ff7470d366093ba7cef508b0b69132c756ced97b08753d5",
5
+ "ow-electron-v39.8.10-beta.11-darwin-x64.zip": "166ad42073185540efd628344e5a229e4d9cb18a4ce1cdc0e3f76618f9c6e442",
6
+ "ow-electron-v39.8.10-beta.11-linux-arm64.zip": "b7f255d4e3c6ac67f18aa11a59bc04194ef5ded9c48249053af96ecaf2ed33f3",
7
+ "ow-electron-v39.8.10-beta.11-linux-armv7l.zip": "6e4d0d96b5ed98b9973868b8ea6234a5511cae866f15e586be7003a753b7afcc",
8
+ "ow-electron-v39.8.10-beta.11-linux-x64.zip": "5a1a3474e6718a9629cdeb425da3936a349a484bd40b0df663aa6354c99c45fa",
9
+ "ow-electron-v39.8.10-beta.11-win32-arm64.zip": "bff199e35ef75181dd65db2386df20444e876b8adc604d0778099a2baa3dc0b7",
10
+ "ow-electron-v39.8.10-beta.11-win32-ia32.zip": "9d5957e472682389b732e611854fba8a189590fd36b04385c045df1085baad8f",
11
+ "ow-electron-v39.8.10-beta.11-win32-x64.zip": "bea45b586ba3cbfc4253bd7f87f18c73089918d7b98ce23af5ced4a4add324c6"
12
12
  }
@@ -0,0 +1,11 @@
1
+ // Type definitions for ow-electron 39.8.10 - "mix" entry.
2
+ //
3
+ // Use this entry when your project ALSO has the `electron` package installed.
4
+ // Unlike ow-electron.d.ts, it does NOT bundle a copy of Electron's types - it
5
+ // only augments the `electron` types your project already provides. That means
6
+ // no duplicate `declare module 'electron'`, no duplicate-identifier errors, and
7
+ // no need to set `"skipLibCheck": true`.
8
+ //
9
+ // Opt in from your project, e.g. in a `globals.d.ts`:
10
+ // /// <reference types="@overwolf/ow-electron/mix" />
11
+ /// <reference path="./ow-electron-types.d.ts" />
@@ -0,0 +1,453 @@
1
+ // Shared Overwolf type declarations for ow-electron.
2
+ //
3
+ // This file *augments* the existing `electron` types instead of bundling a copy
4
+ // of them. It only adds members to the global `Electron` namespace and to the
5
+ // `overwolf` / `Document` globals, so it merges cleanly whether or not the
6
+ // consuming project also has the `electron` package installed - there is no
7
+ // second `declare module 'electron'`, hence no duplicate-identifier conflicts
8
+ // and no need for `skipLibCheck`.
9
+ //
10
+ // Do NOT add `/// <reference path="./electron.d.ts" />` here. The entry points
11
+ // decide where Electron's base types come from:
12
+ // - ow-electron.d.ts bundles electron.d.ts (for projects WITHOUT electron)
13
+ // - ow-electron-mix.d.ts uses the project's own electron types
14
+ import { App, BrowserWindow, Event } from 'electron';
15
+ import { errorMonitor } from 'events';
16
+
17
+ declare global {
18
+ // Augment Electron's `App` so `app.overwolf` is typed without casting.
19
+ namespace Electron {
20
+ interface App {
21
+ /**
22
+ * Overwolf additional api's
23
+ */
24
+ overwolf: overwolf.OverwolfApi;
25
+ }
26
+ }
27
+
28
+ namespace overwolf {
29
+ /**
30
+ * @deprecated Prefer the augmented `Electron.App` - `app.overwolf` is now
31
+ * typed directly. Kept for backwards compatibility.
32
+ */
33
+ interface OverwolfApp extends App {
34
+ /**
35
+ * Overwolf additional api's
36
+ */
37
+ overwolf: OverwolfApi;
38
+ }
39
+
40
+ interface OverwolfApi {
41
+ /**
42
+ * Disable sending any anonymous analytics,
43
+ * this should be call before app.ready
44
+ */
45
+ disableAnonymousAnalytics(): void;
46
+
47
+ /**
48
+ * Disable Ads optimization
49
+ */
50
+ disableAdsOptimization(): void;
51
+
52
+ /**
53
+ * Opt out from using first party date (email address) for ad targeting
54
+ */
55
+ disableAdsFPD(): void;
56
+
57
+ /**
58
+ * Returns true if the current user should be able to update their cmp
59
+ * configurations (i.e. openCMPWindow).
60
+ *
61
+ * Note that this is an async function and should be called with await.
62
+ * The function will never throw an exception - the default value is true.
63
+ */
64
+ isCMPRequired(): Promise<boolean>;
65
+
66
+ /**
67
+ * Opens the CMP configuration window - should only be called when
68
+ * isCMPRequired returns true.
69
+ */
70
+ openCMPWindow(options?: CMPWindowOptions): Promise<void>;
71
+
72
+ /**
73
+ * Opens the Ads settings configuration window.
74
+ */
75
+ openAdPrivacySettingsWindow(options?: CMPWindowOptions): Promise<void>;
76
+
77
+ /**
78
+ * The Overwolf Package Manager instance
79
+ */
80
+ packages: overwolf.packages.OverwolfPackageManager;
81
+
82
+ /**
83
+ * Generate a hashed email, to allow for better ad performance,
84
+ * this should be call after app.ready
85
+ * NOTE: the email is not stored! only the hashed email.
86
+ */
87
+ generateUserEmailHashes(email: string): EmailHashes;
88
+
89
+ /**
90
+ * Set the user email hashes (see generateUserEmailHashes),
91
+ * this should be call after app.ready
92
+ * See https://www.chromium.org/developers/design-documents/accessibility for more
93
+ * details how to normalize email before creating hash
94
+ */
95
+ setUserEmailHashes(emailHashes?: EmailHashes): void;
96
+
97
+ /**
98
+ * Client persistence phasing precent
99
+ */
100
+ readonly phasePercent: number;
101
+
102
+ /**
103
+ * Overwolf installer provided UTM params
104
+ */
105
+ readonly utmParams: any;
106
+
107
+ /**
108
+ * @property returns a unique identifier for the user machine
109
+ */
110
+ readonly muid: string;
111
+
112
+ /**
113
+ * @property returns the ow-electron uid (Overwolf App Id)
114
+ */
115
+ readonly uid: string;
116
+ }
117
+
118
+ interface CMPWindowOptions {
119
+ /**
120
+ * Select open tab. The default is 'purposes'
121
+ */
122
+ tab?: 'purposes' | 'features' | 'vendors';
123
+
124
+ /**
125
+ * Whether this is a modal window. This only works when the window is a child
126
+ * window. Default is `false`.
127
+ */
128
+ modal?: boolean;
129
+
130
+ /**
131
+ * Specify parent window. Default is `null`.
132
+ */
133
+ parent?: BrowserWindow;
134
+
135
+ /**
136
+ * Show window in the center of the screen. Default is `true`.
137
+ */
138
+ center?: boolean;
139
+
140
+ /**
141
+ * Control the CMP preloader background window
142
+ */
143
+ backgroundColor?: string;
144
+
145
+ /**
146
+ * Control the CMP preloader color (spinner)
147
+ */
148
+ preLoaderSpinnerColor?: string;
149
+
150
+ /**
151
+ * Control the CMP Window width
152
+ */
153
+ width?: number;
154
+
155
+ /**
156
+ * Control the CMP Window height
157
+ */
158
+ height?: number;
159
+
160
+ /**
161
+ * Control the CMP Window left pos
162
+ */
163
+ x?: number;
164
+
165
+ /**
166
+ * Control the CMP Window top pos
167
+ */
168
+ y?: number;
169
+
170
+ /**
171
+ * Overrides the path of the cmp html
172
+ */
173
+ cmpURL?: string;
174
+
175
+ /**
176
+ * Cmp html language
177
+ */
178
+ language?: string;
179
+ }
180
+
181
+ interface EmailHashes {
182
+ readonly sha1?: string;
183
+ readonly sha256?: string;
184
+ readonly md5?: string;
185
+ }
186
+
187
+ /**
188
+ * A utility type for registering to `error` events, that includes the `errorMonitor` type
189
+ */
190
+ type error = 'error' | typeof errorMonitor;
191
+
192
+ /**
193
+ * Namespace containing everything related to Overwolf Packages
194
+ */
195
+ namespace packages {
196
+ /**
197
+ * A fake enum for all built-in packIge names
198
+ */
199
+ type PackageName = 'gep' | 'overlay' | 'recorder' | 'utility' | 'crn' | string;
200
+
201
+ /**
202
+ * Package info
203
+ */
204
+ interface PackageInfo {
205
+ name: string;
206
+ version: string;
207
+ }
208
+
209
+ type PendingUpdatesResult = {
210
+ hasPendingUpdate: boolean;
211
+ details: PackageInfo[];
212
+ };
213
+
214
+ /**
215
+ * Result returned by `setChannel()`.
216
+ * `error` is `'invalid-package'` when the package is not found on the server,
217
+ * or `'invalid-channel'` when the channel does not exist for that package.
218
+ */
219
+ type SetChannelResult = {
220
+ success: boolean;
221
+ error?: 'invalid-package' | 'invalid-channel';
222
+ };
223
+
224
+ /**
225
+ * Passed to the `ready` callback of `setChannel()`.
226
+ * Identifies the downloaded package that is pending a restart.
227
+ */
228
+ interface ChannelPackageInfo {
229
+ name: string;
230
+ version: string;
231
+ }
232
+
233
+ /**
234
+ * Returned by `getAvailableChannels()`.
235
+ * Maps each package name to the list of channel names available on the server.
236
+ * Packages with no channels defined return an empty array.
237
+ */
238
+ type AvailableChannelsResult = Record<string, string[]>;
239
+
240
+ /**
241
+ * Returned by `getChannel()`.
242
+ * Maps each package name to its currently active channel.
243
+ * `'public'` means the package is on the default public release.
244
+ */
245
+ type CurrentChannelsResult = Record<string, string>;
246
+
247
+ /**
248
+ * Overwolf Package Manager interface.
249
+ *
250
+ * For package-specific API types, see `@overwolf/ow-electron-packages-types`.
251
+ */
252
+ interface OverwolfPackageManager extends NodeJS.EventEmitter {
253
+ /**
254
+ * Register listener for Overwolf Package crashes.
255
+ * Calling `event.preventDefault()` will prevent the package from automatically attempting to re-launch itself.
256
+ *
257
+ * @param {string | symbol} eventName Name of the node event ('crashed')
258
+ * @param {(Event, any[]) => void} listener The listener that will be invoked when this event is fired
259
+ * @returns {this} The current instance of the Overwolf Package Manager
260
+ */
261
+ on(
262
+ eventName: 'crashed',
263
+ listener: (event: Event, canRecover: boolean) => void
264
+ ): this;
265
+
266
+ /**
267
+ * Register listener for when an Overwolf Package is ready
268
+ *
269
+ * @param {string | symbol} eventName Name of the node event ('ready')
270
+ * @param {(Event, any[]) => void} listener The listener that will be invoked when this event is fired
271
+ * @returns {this} The current instance of the Overwolf Package Manager
272
+ */
273
+ on(
274
+ eventName: 'ready',
275
+ listener: (event: Event, packageName: PackageName, version: string) => void
276
+ ): this;
277
+
278
+ /**
279
+ * Register listener for when an Overwolf Package is ready to update
280
+ *
281
+ * @param {string | symbol} eventName Name of the node event ('package-update-pending')
282
+ * @param {(Event, PackageInfo[]) => void} listener The listener that will be invoked when this event is fired
283
+ * @returns {this} The current instance of the Overwolf Package Manager
284
+ */
285
+ on(
286
+ eventName: 'package-update-pending',
287
+ listener: (event: Event, info: PackageInfo[]) => void
288
+ ): this;
289
+
290
+ /**
291
+ * Register listener for when an Overwolf Package updated
292
+ *
293
+ * @param {string | symbol} eventName Name of the node event ('updated')
294
+ * @returns {this} The current instance of the Overwolf Package Manager
295
+ */
296
+ on(
297
+ eventName: 'updated',
298
+ listener: (event: Event, packageName: string, version: string) => void
299
+ ): this;
300
+
301
+ /**
302
+ * Register listener for Overwolf Package initialization failures
303
+ *
304
+ * @param {string | symbol} eventName Name of the node event ('failed-to-initialize')
305
+ * @param {(Event, any[]) => void} listener **The listener that will be invoked when this event is fired**
306
+ * @returns {this} The current instance of the Overwolf Package Manager
307
+ */
308
+ on(
309
+ eventName: 'failed-to-initialize',
310
+ listener: (event: Event, packageName: PackageName) => void
311
+ ): this;
312
+
313
+ /**
314
+ * Register listener for when an Overwolf Package begins its load sequence.
315
+ * Fires before 'ready'.
316
+ *
317
+ * @param {string} eventName Name of the node event ('loading')
318
+ * @param {(Event, PackageName) => void} listener The listener that will be invoked when this event is fired
319
+ * @returns {this} The current instance of the Overwolf Package Manager
320
+ */
321
+ on(
322
+ eventName: 'loading',
323
+ listener: (event: Event, packageName: PackageName) => void
324
+ ): this;
325
+
326
+ /**
327
+ * Relaunch the Overwolf Package Manager. Call it to force all pending Overwolf Package updates.
328
+ *
329
+ * *The Overwolf Package Manager will automatically relaunch itself if an update is available and no package is currently running.*
330
+ */
331
+ relaunch(): void;
332
+
333
+ /**
334
+ * Checks if there are any pending package updates that require a client restart.
335
+ *
336
+ * @returns {PendingUpdatesResult} - Result indicating the status of pending updates.
337
+ */
338
+ hasPendingUpdates(): PendingUpdatesResult;
339
+
340
+ /**
341
+ * Switches a package to a named release channel and immediately triggers a
342
+ * download of that channel's version.
343
+ *
344
+ * - Channel preferences are persisted in storage and applied on every subsequent
345
+ * update check, including the next app launch.
346
+ * - Pass `undefined`, `null`, an empty string, or `'public'` to restore the
347
+ * default public release.
348
+ * - The optional `ready` callback is invoked with `{ name, version }` once the
349
+ * download completes and the app must restart to apply the new version.
350
+ * - If the package is already at the requested channel version, `ready` never fires.
351
+ * - Throws if `packageName` is not listed in the app's `package.json`
352
+ * `overwolf.packages` array.
353
+ *
354
+ * @param {PackageName} packageName The package to switch.
355
+ * @param {string} [channel] Target channel name. Omit or pass `'public'` /
356
+ * empty string to restore the public release.
357
+ * @param {Function} [ready] Invoked when the download completes and a
358
+ * restart is required.
359
+ * @returns {Promise<SetChannelResult>}
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * const result = await api.setChannel('overlay', 'pre-release', (pkg) => {
364
+ * console.log(`overlay v${pkg.version} ready - restart required`);
365
+ * api.relaunch();
366
+ * });
367
+ * if (!result.success) console.error('setChannel failed:', result.error);
368
+ * ```
369
+ *
370
+ * @example
371
+ * ```typescript
372
+ * // Restore the public release - all four are equivalent
373
+ * await api.setChannel('overlay');
374
+ * await api.setChannel('overlay', undefined);
375
+ * await api.setChannel('overlay', '');
376
+ * await api.setChannel('overlay', 'public');
377
+ * ```
378
+ */
379
+ setChannel(
380
+ packageName: PackageName,
381
+ channel?: string | 'public',
382
+ ready?: (packageInfo: ChannelPackageInfo) => void
383
+ ): Promise<SetChannelResult>;
384
+
385
+ /**
386
+ * Returns the list of release channels available on the server for one or more packages.
387
+ *
388
+ * - Pass no arguments to query all packages registered in the app's `overwolf.packages` list.
389
+ * - Pass one or more package names to query a specific subset.
390
+ * - Packages with no channels defined return an empty array `[]`.
391
+ * - Throws if any supplied name is not in the registered packages list.
392
+ *
393
+ * @param {...PackageName} packageNames Optional package names to query.
394
+ * @returns {Promise<AvailableChannelsResult>}
395
+ *
396
+ * @example
397
+ * ```typescript
398
+ * const channels = await api.getAvailableChannels();
399
+ * // { overlay: ['pre-release', 'beta'], gep: ['pre-release'], utility: [] }
400
+ *
401
+ * const { overlay } = await api.getAvailableChannels('overlay');
402
+ * // overlay: ['pre-release', 'beta']
403
+ * ```
404
+ */
405
+ getAvailableChannels(...packageNames: PackageName[]): Promise<AvailableChannelsResult>;
406
+
407
+ /**
408
+ * Returns the currently active release channel for one or more packages.
409
+ *
410
+ * - `'public'` means the package is on the default public release.
411
+ * - Pass no arguments to query all registered packages (plus any package with a
412
+ * non-public channel stored, even if not in `package.json`).
413
+ * - Unknown package names are silently omitted from the result (no error thrown).
414
+ *
415
+ * @param {...PackageName} packageNames Optional package names to query.
416
+ * @returns {Promise<CurrentChannelsResult>}
417
+ *
418
+ * @example
419
+ * ```typescript
420
+ * const current = await api.getChannel();
421
+ * // { overlay: 'pre-release', gep: 'public', utility: 'public' }
422
+ *
423
+ * const { overlay } = await api.getChannel('overlay');
424
+ * // 'pre-release'
425
+ * ```
426
+ */
427
+ getChannel(...packageNames: PackageName[]): Promise<CurrentChannelsResult>;
428
+
429
+ /**
430
+ * @property returns the path to the application's logs folder.
431
+ *
432
+ * */
433
+ readonly logsFolderPath: string;
434
+
435
+ /**
436
+ * @property returns the ow-electron phase percentage (used by package manager).
437
+ */
438
+ readonly phasePercent: number;
439
+ }
440
+ }
441
+
442
+ interface AdviewTag extends HTMLElement {
443
+ }
444
+
445
+ namespace Renderer {
446
+ type AdviewTag = overwolf.AdviewTag;
447
+ }
448
+ }
449
+
450
+ interface Document {
451
+ createElement(tagName: 'owadview'): overwolf.AdviewTag;
452
+ }
453
+ }
package/ow-electron.d.ts CHANGED
@@ -1,428 +1,11 @@
1
1
  // Type definitions for ow-electron 39.8.10
2
- // Note: if your project also has the `electron` package installed as a devDependency,
3
- // add `"skipLibCheck": true` to your tsconfig.json to avoid duplicate module declaration conflicts.
2
+ //
3
+ // Default, self-contained entry: bundles Electron's own type definitions, for
4
+ // projects that do NOT have the `electron` package installed.
5
+ //
6
+ // If your project ALSO has the `electron` package installed, use the
7
+ // `@overwolf/ow-electron/mix` entry instead (see ow-electron-mix.d.ts). It does
8
+ // not bundle a second copy of Electron's types, so you avoid duplicate module
9
+ // declaration conflicts WITHOUT needing `"skipLibCheck": true`.
4
10
  /// <reference path="./electron.d.ts" />
5
- import { App, BrowserWindow, Event } from 'electron';
6
- import { errorMonitor } from 'events';
7
-
8
- declare namespace overwolf {
9
- interface OverwolfApp extends App {
10
- /**
11
- * Overwolf additional api's
12
- */
13
- overwolf: OverwolfApi;
14
- }
15
-
16
- interface OverwolfApi {
17
- /**
18
- * Disable sending any anonymous analytics,
19
- * this should be call before app.ready
20
- */
21
- disableAnonymousAnalytics(): void;
22
-
23
- /**
24
- * Disable Ads optimization
25
- */
26
- disableAdsOptimization(): void;
27
-
28
- /**
29
- * Opt out from using first party date (email address) for ad targeting
30
- */
31
- disableAdsFPD(): void;
32
-
33
- /**
34
- * Returns true if the current user should be able to update their cmp
35
- * configurations (i.e. openCMPWindow).
36
- *
37
- * Note that this is an async function and should be called with await.
38
- * The function will never throw an exception - the default value is true.
39
- */
40
- isCMPRequired(): Promise<boolean>;
41
-
42
- /**
43
- * Opens the CMP configuration window - should only be called when
44
- * isCMPRequired returns true.
45
- */
46
- openCMPWindow(options?: CMPWindowOptions): Promise<void>;
47
-
48
- /**
49
- * Opens the Ads settings configuration window.
50
- */
51
- openAdPrivacySettingsWindow(options?: CMPWindowOptions): Promise<void>;
52
-
53
- /**
54
- * The Overwolf Package Manager instance
55
- */
56
- packages: overwolf.packages.OverwolfPackageManager;
57
-
58
- /**
59
- * Generate a hashed email, to allow for better ad performance,
60
- * this should be call after app.ready
61
- * NOTE: the email is not stored! only the hashed email.
62
- */
63
- generateUserEmailHashes(email: string): EmailHashes;
64
-
65
- /**
66
- * Set the user email hashes (see generateUserEmailHashes),
67
- * this should be call after app.ready
68
- * See https://www.chromium.org/developers/design-documents/accessibility for more
69
- * details how to normalize email before creating hash
70
- */
71
- setUserEmailHashes(emailHashes?: EmailHashes): void;
72
-
73
- /**
74
- * Client persistence phasing precent
75
- */
76
- readonly phasePercent: number;
77
-
78
- /**
79
- * Overwolf installer provided UTM params
80
- */
81
- readonly utmParams: any;
82
-
83
- /**
84
- * @property returns a unique identifier for the user machine
85
- */
86
- readonly muid: string;
87
-
88
- /**
89
- * @property returns the ow-electron uid (Overwolf App Id)
90
- */
91
- readonly uid: string;
92
- }
93
-
94
- interface CMPWindowOptions {
95
- /**
96
- * Select open tab. The default is 'purposes'
97
- */
98
- tab?: 'purposes' | 'features' | 'vendors';
99
-
100
- /**
101
- * Whether this is a modal window. This only works when the window is a child
102
- * window. Default is `false`.
103
- */
104
- modal?: boolean;
105
-
106
- /**
107
- * Specify parent window. Default is `null`.
108
- */
109
- parent?: BrowserWindow;
110
-
111
- /**
112
- * Show window in the center of the screen. Default is `true`.
113
- */
114
- center?: boolean;
115
-
116
- /**
117
- * Control the CMP preloader background window
118
- */
119
- backgroundColor?: string;
120
-
121
- /**
122
- * Control the CMP preloader color (spinner)
123
- */
124
- preLoaderSpinnerColor?: string;
125
-
126
- /**
127
- * Control the CMP Window width
128
- */
129
- width?: number;
130
-
131
- /**
132
- * Control the CMP Window height
133
- */
134
- height?: number;
135
-
136
- /**
137
- * Control the CMP Window left pos
138
- */
139
- x?: number;
140
-
141
- /**
142
- * Control the CMP Window top pos
143
- */
144
- y?: number;
145
-
146
- /**
147
- * Overrides the path of the cmp html
148
- */
149
- cmpURL?: string;
150
-
151
- /**
152
- * Cmp html language
153
- */
154
- language?: string;
155
- }
156
-
157
- interface EmailHashes {
158
- readonly sha1?: string;
159
- readonly sha256?: string;
160
- readonly md5?: string;
161
- }
162
-
163
- /**
164
- * A utility type for registering to `error` events, that includes the `errorMonitor` type
165
- */
166
- type error = 'error' | typeof errorMonitor;
167
-
168
- /**
169
- * Namespace containing everything related to Overwolf Packages
170
- */
171
- namespace packages {
172
- /**
173
- * A fake enum for all built-in packIge names
174
- */
175
- type PackageName = 'gep' | 'overlay' | 'recorder' | 'utility' | 'crn' | string;
176
-
177
- /**
178
- * Package info
179
- */
180
- interface PackageInfo {
181
- name: string;
182
- version: string;
183
- }
184
-
185
- type PendingUpdatesResult = {
186
- hasPendingUpdate: boolean;
187
- details: PackageInfo[];
188
- };
189
-
190
- /**
191
- * Result returned by `setChannel()`.
192
- * `error` is `'invalid-package'` when the package is not found on the server,
193
- * or `'invalid-channel'` when the channel does not exist for that package.
194
- */
195
- type SetChannelResult = {
196
- success: boolean;
197
- error?: 'invalid-package' | 'invalid-channel';
198
- };
199
-
200
- /**
201
- * Passed to the `ready` callback of `setChannel()`.
202
- * Identifies the downloaded package that is pending a restart.
203
- */
204
- interface ChannelPackageInfo {
205
- name: string;
206
- version: string;
207
- }
208
-
209
- /**
210
- * Returned by `getAvailableChannels()`.
211
- * Maps each package name to the list of channel names available on the server.
212
- * Packages with no channels defined return an empty array.
213
- */
214
- type AvailableChannelsResult = Record<string, string[]>;
215
-
216
- /**
217
- * Returned by `getChannel()`.
218
- * Maps each package name to its currently active channel.
219
- * `'public'` means the package is on the default public release.
220
- */
221
- type CurrentChannelsResult = Record<string, string>;
222
-
223
- /**
224
- * Overwolf Package Manager interface.
225
- *
226
- * For package-specific API types, see `@overwolf/ow-electron-packages-types`.
227
- */
228
- interface OverwolfPackageManager extends NodeJS.EventEmitter {
229
- /**
230
- * Register listener for Overwolf Package crashes.
231
- * Calling `event.preventDefault()` will prevent the package from automatically attempting to re-launch itself.
232
- *
233
- * @param {string | symbol} eventName Name of the node event ('crashed')
234
- * @param {(Event, any[]) => void} listener The listener that will be invoked when this event is fired
235
- * @returns {this} The current instance of the Overwolf Package Manager
236
- */
237
- on(
238
- eventName: 'crashed',
239
- listener: (event: Event, canRecover: boolean) => void
240
- ): this;
241
-
242
- /**
243
- * Register listener for when an Overwolf Package is ready
244
- *
245
- * @param {string | symbol} eventName Name of the node event ('ready')
246
- * @param {(Event, any[]) => void} listener The listener that will be invoked when this event is fired
247
- * @returns {this} The current instance of the Overwolf Package Manager
248
- */
249
- on(
250
- eventName: 'ready',
251
- listener: (event: Event, packageName: PackageName, version: string) => void
252
- ): this;
253
-
254
- /**
255
- * Register listener for when an Overwolf Package is ready to update
256
- *
257
- * @param {string | symbol} eventName Name of the node event ('package-update-pending')
258
- * @param {(Event, PackageInfo[]) => void} listener The listener that will be invoked when this event is fired
259
- * @returns {this} The current instance of the Overwolf Package Manager
260
- */
261
- on(
262
- eventName: 'package-update-pending',
263
- listener: (event: Event, info: PackageInfo[]) => void
264
- ): this;
265
-
266
- /**
267
- * Register listener for when an Overwolf Package updated
268
- *
269
- * @param {string | symbol} eventName Name of the node event ('updated')
270
- * @returns {this} The current instance of the Overwolf Package Manager
271
- */
272
- on(
273
- eventName: 'updated',
274
- listener: (event: Event, packageName: string, version: string) => void
275
- ): this;
276
-
277
- /**
278
- * Register listener for Overwolf Package initialization failures
279
- *
280
- * @param {string | symbol} eventName Name of the node event ('failed-to-initialize')
281
- * @param {(Event, any[]) => void} listener **The listener that will be invoked when this event is fired**
282
- * @returns {this} The current instance of the Overwolf Package Manager
283
- */
284
- on(
285
- eventName: 'failed-to-initialize',
286
- listener: (event: Event, packageName: PackageName) => void
287
- ): this;
288
-
289
- /**
290
- * Register listener for when an Overwolf Package begins its load sequence.
291
- * Fires before 'ready'.
292
- *
293
- * @param {string} eventName Name of the node event ('loading')
294
- * @param {(Event, PackageName) => void} listener The listener that will be invoked when this event is fired
295
- * @returns {this} The current instance of the Overwolf Package Manager
296
- */
297
- on(
298
- eventName: 'loading',
299
- listener: (event: Event, packageName: PackageName) => void
300
- ): this;
301
-
302
- /**
303
- * Relaunch the Overwolf Package Manager. Call it to force all pending Overwolf Package updates.
304
- *
305
- * *The Overwolf Package Manager will automatically relaunch itself if an update is available and no package is currently running.*
306
- */
307
- relaunch(): void;
308
-
309
- /**
310
- * Checks if there are any pending package updates that require a client restart.
311
- *
312
- * @returns {PendingUpdatesResult} - Result indicating the status of pending updates.
313
- */
314
- hasPendingUpdates(): PendingUpdatesResult;
315
-
316
- /**
317
- * Switches a package to a named release channel and immediately triggers a
318
- * download of that channel's version.
319
- *
320
- * - Channel preferences are persisted in storage and applied on every subsequent
321
- * update check, including the next app launch.
322
- * - Pass `undefined`, `null`, an empty string, or `'public'` to restore the
323
- * default public release.
324
- * - The optional `ready` callback is invoked with `{ name, version }` once the
325
- * download completes and the app must restart to apply the new version.
326
- * - If the package is already at the requested channel version, `ready` never fires.
327
- * - Throws if `packageName` is not listed in the app's `package.json`
328
- * `overwolf.packages` array.
329
- *
330
- * @param {PackageName} packageName The package to switch.
331
- * @param {string} [channel] Target channel name. Omit or pass `'public'` /
332
- * empty string to restore the public release.
333
- * @param {Function} [ready] Invoked when the download completes and a
334
- * restart is required.
335
- * @returns {Promise<SetChannelResult>}
336
- *
337
- * @example
338
- * ```typescript
339
- * const result = await api.setChannel('overlay', 'pre-release', (pkg) => {
340
- * console.log(`overlay v${pkg.version} ready - restart required`);
341
- * api.relaunch();
342
- * });
343
- * if (!result.success) console.error('setChannel failed:', result.error);
344
- * ```
345
- *
346
- * @example
347
- * ```typescript
348
- * // Restore the public release - all four are equivalent
349
- * await api.setChannel('overlay');
350
- * await api.setChannel('overlay', undefined);
351
- * await api.setChannel('overlay', '');
352
- * await api.setChannel('overlay', 'public');
353
- * ```
354
- */
355
- setChannel(
356
- packageName: PackageName,
357
- channel?: string | 'public',
358
- ready?: (packageInfo: ChannelPackageInfo) => void
359
- ): Promise<SetChannelResult>;
360
-
361
- /**
362
- * Returns the list of release channels available on the server for one or more packages.
363
- *
364
- * - Pass no arguments to query all packages registered in the app's `overwolf.packages` list.
365
- * - Pass one or more package names to query a specific subset.
366
- * - Packages with no channels defined return an empty array `[]`.
367
- * - Throws if any supplied name is not in the registered packages list.
368
- *
369
- * @param {...PackageName} packageNames Optional package names to query.
370
- * @returns {Promise<AvailableChannelsResult>}
371
- *
372
- * @example
373
- * ```typescript
374
- * const channels = await api.getAvailableChannels();
375
- * // { overlay: ['pre-release', 'beta'], gep: ['pre-release'], utility: [] }
376
- *
377
- * const { overlay } = await api.getAvailableChannels('overlay');
378
- * // overlay: ['pre-release', 'beta']
379
- * ```
380
- */
381
- getAvailableChannels(...packageNames: PackageName[]): Promise<AvailableChannelsResult>;
382
-
383
- /**
384
- * Returns the currently active release channel for one or more packages.
385
- *
386
- * - `'public'` means the package is on the default public release.
387
- * - Pass no arguments to query all registered packages (plus any package with a
388
- * non-public channel stored, even if not in `package.json`).
389
- * - Unknown package names are silently omitted from the result (no error thrown).
390
- *
391
- * @param {...PackageName} packageNames Optional package names to query.
392
- * @returns {Promise<CurrentChannelsResult>}
393
- *
394
- * @example
395
- * ```typescript
396
- * const current = await api.getChannel();
397
- * // { overlay: 'pre-release', gep: 'public', utility: 'public' }
398
- *
399
- * const { overlay } = await api.getChannel('overlay');
400
- * // 'pre-release'
401
- * ```
402
- */
403
- getChannel(...packageNames: PackageName[]): Promise<CurrentChannelsResult>;
404
-
405
- /**
406
- * @property returns the path to the application's logs folder.
407
- *
408
- * */
409
- readonly logsFolderPath: string;
410
-
411
- /**
412
- * @property returns the ow-electron phase percentage (used by package manager).
413
- */
414
- readonly phasePercent: number;
415
- }
416
- }
417
-
418
- interface AdviewTag extends HTMLElement {
419
- }
420
-
421
- namespace Renderer {
422
- type AdviewTag = overwolf.AdviewTag;
423
- }
424
- }
425
-
426
- interface Document {
427
- createElement(tagName: 'owadview'): overwolf.AdviewTag;
428
- }
11
+ /// <reference path="./ow-electron-types.d.ts" />
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@overwolf/ow-electron",
3
- "version": "39.8.10-beta.10",
4
- "owElectronVersion": "39.8.10-beta.10",
3
+ "version": "39.8.10-beta.11",
4
+ "owElectronVersion": "39.8.10-beta.11",
5
5
  "electronVersion": "39.8.10",
6
6
  "repository": "https://github.com/electron/electron",
7
7
  "description": "Build cross platform desktop apps with JavaScript, HTML, and CSS",
@@ -13,6 +13,13 @@
13
13
  ],
14
14
  "main": "index.js",
15
15
  "types": "ow-electron.d.ts",
16
+ "typesVersions": {
17
+ "*": {
18
+ "mix": [
19
+ "ow-electron-mix.d.ts"
20
+ ]
21
+ }
22
+ },
16
23
  "bin": {
17
24
  "ow-electron": "cli.js"
18
25
  },
@@ -26,6 +33,8 @@
26
33
  "cli.js",
27
34
  "electron.d.ts",
28
35
  "ow-electron.d.ts",
36
+ "ow-electron-mix.d.ts",
37
+ "ow-electron-types.d.ts",
29
38
  "index.js",
30
39
  "install.js"
31
40
  ],