stable-ts-type
Version:
Obtain the most stable type code of 'typescript' through multiple network requests
30 lines (22 loc) • 597 B
text/typescript
import {
quicktype,
InputData,
jsonInputForTargetLanguage,
} from 'quicktype-core';
import type { TypeOpts } from './type-opts';
const json2Type = async (modalName: string, jsonSamples: string[], opts: TypeOpts = {}) => {
const jsonInput = jsonInputForTargetLanguage('ts');
await jsonInput.addSource({
name: modalName,
samples: jsonSamples,
});
const inputData = new InputData();
inputData.addInput(jsonInput);
const result = await quicktype({
...opts as any,
lang: 'ts',
inputData,
});
return result.lines.join('\n');
};
export default json2Type;