diff --git a/cli/src/utils/__tests__/__snapshots__/config.spec.ts.snap b/cli/src/utils/__tests__/__snapshots__/config.spec.ts.snap index d542d762..38093d05 100644 Binary files a/cli/src/utils/__tests__/__snapshots__/config.spec.ts.snap and b/cli/src/utils/__tests__/__snapshots__/config.spec.ts.snap differ diff --git a/cli/src/utils/__tests__/__snapshots__/target.spec.ts.snap b/cli/src/utils/__tests__/__snapshots__/target.spec.ts.snap index fcec5bf4..c96c0ce4 100644 Binary files a/cli/src/utils/__tests__/__snapshots__/target.spec.ts.snap and b/cli/src/utils/__tests__/__snapshots__/target.spec.ts.snap differ diff --git a/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.md b/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.md index 37e62a8a..c1b210eb 100644 --- a/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.md +++ b/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.md @@ -614,7 +614,6 @@ Generated by [AVA](https://avajs.dev). export function xxh128(input: Buffer): bigint␊ export function xxh3_64(input: Buffer): bigint␊ }␊ - ␊ ` ## should process type def with noConstEnum correctly @@ -1169,5 +1168,4 @@ Generated by [AVA](https://avajs.dev). export function xxh128(input: Buffer): bigint␊ export function xxh3_64(input: Buffer): bigint␊ }␊ - ␊ ` diff --git a/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap b/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap index 686801b5..9d88ad11 100644 Binary files a/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap and b/cli/src/utils/__tests__/__snapshots__/typegen.spec.ts.snap differ diff --git a/cli/src/utils/__tests__/__snapshots__/version.spec.ts.snap b/cli/src/utils/__tests__/__snapshots__/version.spec.ts.snap index 5a462fcb..a9b699be 100644 Binary files a/cli/src/utils/__tests__/__snapshots__/version.spec.ts.snap and b/cli/src/utils/__tests__/__snapshots__/version.spec.ts.snap differ diff --git a/cli/src/utils/typegen.ts b/cli/src/utils/typegen.ts index 08982283..41b89c24 100644 --- a/cli/src/utils/typegen.ts +++ b/cli/src/utils/typegen.ts @@ -92,39 +92,43 @@ export async function processTypeDef( const groupedDefs = preprocessTypeDef(defs) header = header ?? '' - let dts = '' - sortBy(Array.from(groupedDefs), ([namespace]) => namespace).forEach( - ([namespace, defs]) => { - if (namespace === TOP_LEVEL_NAMESPACE) { - for (const def of defs) { - dts += prettyPrint(def, constEnum, 0) + '\n\n' - switch (def.kind) { - case TypeDefKind.Const: - case TypeDefKind.Enum: - case TypeDefKind.StringEnum: - case TypeDefKind.Fn: - case TypeDefKind.Struct: { - exports.push(def.name) - if (def.original_name && def.original_name !== def.name) { - exports.push(def.original_name) + const dts = + sortBy(Array.from(groupedDefs), ([namespace]) => namespace) + .map(([namespace, defs]) => { + if (namespace === TOP_LEVEL_NAMESPACE) { + return defs + .map((def) => { + switch (def.kind) { + case TypeDefKind.Const: + case TypeDefKind.Enum: + case TypeDefKind.StringEnum: + case TypeDefKind.Fn: + case TypeDefKind.Struct: { + exports.push(def.name) + if (def.original_name && def.original_name !== def.name) { + exports.push(def.original_name) + } + break + } + default: + break } - break - } - default: - break + return prettyPrint(def, constEnum, 0) + }) + .join('\n\n') + } else { + exports.push(namespace) + let declaration = '' + declaration += `export declare namespace ${namespace} {\n` + for (const def of defs) { + declaration += prettyPrint(def, constEnum, 2, true) + '\n' } + declaration += '}' + return declaration } - } else { - exports.push(namespace) - dts += `export declare namespace ${namespace} {\n` - for (const def of defs) { - dts += prettyPrint(def, constEnum, 2, true) + '\n' - } - dts += '}\n\n' - } - }, - ) + }) + .join('\n\n') + '\n' if (dts.indexOf('ExternalObject<') > -1) { header += ` diff --git a/examples/napi/__tests__/__snapshots__/typegen.spec.ts.md b/examples/napi/__tests__/__snapshots__/typegen.spec.ts.md index ec7855b4..65986515 100644 --- a/examples/napi/__tests__/__snapshots__/typegen.spec.ts.md +++ b/examples/napi/__tests__/__snapshots__/typegen.spec.ts.md @@ -854,5 +854,4 @@ Generated by [AVA](https://avajs.dev). export function xxh128(input: Buffer): bigint␊ export function xxh3_64(input: Buffer): bigint␊ }␊ - ␊ ` diff --git a/examples/napi/__tests__/__snapshots__/typegen.spec.ts.snap b/examples/napi/__tests__/__snapshots__/typegen.spec.ts.snap index af191f44..b805bcc1 100644 Binary files a/examples/napi/__tests__/__snapshots__/typegen.spec.ts.snap and b/examples/napi/__tests__/__snapshots__/typegen.spec.ts.snap differ diff --git a/examples/napi/__tests__/__snapshots__/values.spec.ts.snap b/examples/napi/__tests__/__snapshots__/values.spec.ts.snap index bc12e921..0cc62fed 100644 Binary files a/examples/napi/__tests__/__snapshots__/values.spec.ts.snap and b/examples/napi/__tests__/__snapshots__/values.spec.ts.snap differ diff --git a/examples/napi/index.d.cts b/examples/napi/index.d.cts index 86845a7e..3201d7b2 100644 --- a/examples/napi/index.d.cts +++ b/examples/napi/index.d.cts @@ -844,4 +844,3 @@ export declare namespace xxh3 { export function xxh128(input: Buffer): bigint export function xxh3_64(input: Buffer): bigint } -