mirror of
https://github.com/hanzoai/jose.git
synced 2026-09-24 17:00:01 +00:00
47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
import QUnit from 'qunit'
|
|
import run from './run.js'
|
|
import type * as jose from '../src/index.js'
|
|
|
|
let lib: typeof jose
|
|
|
|
// @ts-ignore
|
|
switch ([...process.argv].reverse()[0]) {
|
|
case '#dist':
|
|
// @ts-ignore
|
|
lib = await import('#dist')
|
|
break
|
|
case '#dist/webapi':
|
|
// @ts-ignore
|
|
lib = await import('#dist/webapi')
|
|
break
|
|
case '#dist/hybrid':
|
|
// @ts-ignore
|
|
lib = { ...(await import('#dist')) }
|
|
// @ts-ignore
|
|
const keys = await import('#dist/webapi')
|
|
|
|
Object.assign(lib, {
|
|
exportJWK: keys.exportJWK,
|
|
exportPKCS8: keys.exportPKCS8,
|
|
exportSPKI: keys.exportSPKI,
|
|
generateKeyPair: keys.generateKeyPair,
|
|
generateSecret: keys.generateSecret,
|
|
importJWK: keys.importJWK,
|
|
importPKCS8: keys.importPKCS8,
|
|
importSPKI: keys.importSPKI,
|
|
importX509: keys.importX509,
|
|
})
|
|
break
|
|
default:
|
|
throw new Error()
|
|
}
|
|
|
|
const stats: QUnit.DoneDetails = await new Promise((resolve) => {
|
|
run(QUnit, lib, resolve)
|
|
})
|
|
|
|
if (stats?.failed !== 0) {
|
|
// @ts-ignore
|
|
process.exitCode = 1
|
|
}
|