Skip to content

Commit 62f36d8

Browse files
committed
Make notarize function overloaded
1 parent 6d14845 commit 62f36d8

File tree

3 files changed

+25
-16
lines changed

3 files changed

+25
-16
lines changed

src/index.ts

+16-3
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,28 @@ import retry from 'promise-retry';
44
import { checkSignatures } from './check-signature';
55
import { isNotaryToolAvailable, notarizeAndWaitForNotaryTool } from './notarytool';
66
import { stapleApp } from './staple';
7-
import { NotarizeOptions, NotaryToolStartOptions } from './types';
7+
import {
8+
NotarizeOptions,
9+
NotaryToolStartOptions,
10+
NotarizeOptionsLegacy,
11+
NotarizeOptionsNotaryTool,
12+
} from './types';
813

914
const d = debug('electron-notarize');
1015

1116
export { NotarizeOptions };
1217

1318
export { validateNotaryToolAuthorizationArgs as validateAuthorizationArgs } from './validate-args';
1419

15-
export async function notarize({ appPath, ...otherOptions }: NotarizeOptions) {
20+
async function notarize(args: NotarizeOptionsNotaryTool): Promise<void>;
21+
/** @deprecated */
22+
async function notarize(args: NotarizeOptionsLegacy): Promise<void>;
23+
24+
async function notarize({ appPath, ...otherOptions }: NotarizeOptions) {
1625
if (otherOptions.tool === 'legacy') {
17-
throw new Error('Notarization with the legacy altool system was decommisioned as of November 2023');
26+
throw new Error(
27+
'Notarization with the legacy altool system was decommisioned as of November 2023',
28+
);
1829
}
1930

2031
await checkSignatures({ appPath });
@@ -33,3 +44,5 @@ export async function notarize({ appPath, ...otherOptions }: NotarizeOptions) {
3344
retries: 3,
3445
});
3546
}
47+
48+
export { notarize };

src/legacy.ts

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,18 @@
11
import debug from 'debug';
22

3-
import {
4-
LegacyNotarizeStartOptions,
5-
LegacyNotarizeWaitOptions,
6-
} from './types';
3+
import { LegacyNotarizeStartOptions, LegacyNotarizeWaitOptions } from './types';
74

85
const d = debug('electron-notarize:legacy');
96

107
/** @deprecated */
11-
export async function startLegacyNotarize(
12-
opts: LegacyNotarizeStartOptions,
13-
): Promise<never> {
8+
export async function startLegacyNotarize(opts: LegacyNotarizeStartOptions): Promise<never> {
149
d('starting notarize process for app:', opts.appPath);
15-
throw new Error("Cannot start notarization. Legacy notarization (altool) is no longer available")
10+
throw new Error('Cannot start notarization. Legacy notarization (altool) is no longer available');
1611
}
1712

1813
/** @deprecated */
1914
export async function waitForLegacyNotarize(opts: LegacyNotarizeWaitOptions): Promise<never> {
20-
throw new Error("Cannot wait for notarization. Legacy notarization (altool) is no longer available")
15+
throw new Error(
16+
'Cannot wait for notarization. Legacy notarization (altool) is no longer available',
17+
);
2118
}

src/types.ts

+3-4
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,6 @@ export type LegacyNotarizeWaitOptions = NotarizeResult & LegacyNotarizeCredentia
6565
export type NotarizeStapleOptions = Pick<LegacyNotarizeAppOptions, 'appPath'>;
6666

6767
/** @deprecated */
68-
export type LegacyNotarizeOptions = ({ tool?: 'legacy'} & LegacyNotarizeStartOptions)
69-
export type NotarizeOptions =
70-
| /** @deprecate*/ ({ tool?: 'legacy' /** @deprecated */ } & LegacyNotarizeStartOptions)
71-
| ({ tool?: 'notarytool' } & NotaryToolStartOptions);
68+
export type NotarizeOptionsLegacy = { tool: 'legacy' } & LegacyNotarizeStartOptions;
69+
export type NotarizeOptionsNotaryTool = { tool?: 'notarytool' } & NotaryToolStartOptions;
70+
export type NotarizeOptions = NotarizeOptionsLegacy | NotarizeOptionsNotaryTool;

0 commit comments

Comments
 (0)