fix(apps): type hints for results are automatically widened
This commit is contained in:
@@ -174,15 +174,29 @@ export function buildExtraLib(
|
||||
.filter(([k, v]) => k != idToExclude && k != 'state')
|
||||
.map(([k, v]) => [k, Object.fromEntries(Object.entries(v).map(([k, v]) => [k, v.peak()]))])
|
||||
.map(
|
||||
([k, v]) => `declare const ${k}: ${JSON.stringify(v)};
|
||||
([k, v]) => `declare const ${k}: Widen<${JSON.stringify(v)}>;
|
||||
`
|
||||
)
|
||||
.join('\n')
|
||||
|
||||
return `${cs}
|
||||
return `
|
||||
|
||||
type Widen<T> = T extends string
|
||||
? string
|
||||
: T extends number
|
||||
? number
|
||||
: T extends boolean
|
||||
? boolean
|
||||
: T extends Array<infer U>
|
||||
? Array<Widen<U>>
|
||||
: T extends object
|
||||
? { [K in keyof T]: Widen<T[K]> }
|
||||
: T;
|
||||
|
||||
/** The mutable state of the app */
|
||||
declare const state: ${JSON.stringify(state)} & {[key: string]: any};
|
||||
declare const state: Widen<${JSON.stringify(state)}> & {[key: string]: any};
|
||||
|
||||
${cs}
|
||||
|
||||
${
|
||||
goto
|
||||
|
||||
Reference in New Issue
Block a user