UNPKG

pg-proto-parser

Version:
64 lines (63 loc) 1.82 kB
import deepmerge from 'deepmerge'; import { join } from 'path'; // Define default options outside of the class export const defaultPgProtoParserOptions = { outDir: join(process.cwd(), 'out'), includeHeader: true, exclude: [], utils: { enums: { enabled: false, filename: 'utils.ts', unidirectional: false, toIntFilename: 'enum-to-int.ts', toStringFilename: 'enum-to-string.ts', outputFormat: 'switchStatements' }, astHelpers: { enabled: false, typesSource: './types', inlineNestedObj: false, nestedObjFile: 'nested-obj.ts', filename: 'asts.ts', }, wrappedAstHelpers: { enabled: false, filename: 'wrapped-asts.ts' } }, types: { enabled: false, filename: 'types.ts', optionalFields: true, enumsSource: './enums', wrappedNodeTypeExport: true }, enums: { enabled: false, filename: 'enums.ts', enumsAsTypeUnion: true, enumMap: { enabled: false, format: 'ts', toIntOutFile: 'enums2int.ts', toStrOutFile: 'enums2str.ts' }, removeUndefinedAt0: true }, runtimeSchema: { enabled: false, filename: 'runtime-schema', format: 'json' }, parser: { keepCase: false, alternateCommentMode: true, preferTrailingComment: false } }; export const getOptionsWithDefaults = (options) => { // If an element at the same key is present for both x and y in deepmerge(x,y), the value from y will appear in the result. options = deepmerge(defaultPgProtoParserOptions, options ?? {}); return options; };