UNPKG

dts-generate

Version:

Generate TypeScript definitions for anything

33 lines 3.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generate = void 0; const deepmerge = require("deepmerge"); const isPlainObj = require("is-plain-obj"); const dts_gen_1 = require("dts-gen"); const pascal_case_1 = require("pascal-case"); function combine(value) { if (Array.isArray(value) && value.find((v) => isPlainObj(v))) { return [deepmerge.all([{}, ...value.map((v) => combine(v))])]; } if (isPlainObj(value) && !Array.isArray(value)) { return Object.entries(value).reduce((target, [key, value], index) => { if (value === undefined) { return target; } if (value === null) { value = ''; } return Object.assign(target, { [key]: combine(value) }); }, {}); } return value; } function generate(value, identifier = '') { let output = dts_gen_1.generateIdentifierDeclarationFile(identifier ? pascal_case_1.pascalCase(identifier) : '____', combine(value)); output = output.replace(/[;]/g, ''); output = output.replace(/\015\n\015\n+/g, '\n'); output = output.replace(/ /g, '\t'); return output.trim(); } exports.generate = generate; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdUNBQXNDO0FBQ3RDLDJDQUEyQztBQUMzQyxxQ0FBMkQ7QUFDM0QsNkNBQXdDO0FBRXhDLFNBQVMsT0FBTyxDQUFDLEtBQVU7SUFDMUIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1FBQzdELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7S0FDN0Q7SUFDRCxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDL0MsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNuRSxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7Z0JBQ3hCLE9BQU8sTUFBTSxDQUFBO2FBQ2I7WUFDRCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUU7Z0JBQ25CLEtBQUssR0FBRyxFQUFFLENBQUE7YUFDVjtZQUNELE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7UUFDeEQsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFBO0tBQ047SUFDRCxPQUFPLEtBQUssQ0FBQTtBQUNiLENBQUM7QUFFRCxTQUFnQixRQUFRLENBQUMsS0FBVSxFQUFFLFVBQVUsR0FBRyxFQUFFO0lBQ25ELElBQUksTUFBTSxHQUFHLDJDQUFpQyxDQUM3QyxVQUFVLENBQUMsQ0FBQyxDQUFDLHdCQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFDNUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUNKLENBQUE7SUFDWCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDbkMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDL0MsTUFBTSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ3RDLE9BQU8sTUFBTSxDQUFDLElBQUksRUFBRSxDQUFBO0FBQ3JCLENBQUM7QUFURCw0QkFTQyJ9