UNPKG

pakt-api

Version:

This is a API HTML Documentation Generator

38 lines (37 loc) 1.34 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AbstractProcessor = void 0; class AbstractProcessor { processRecord(object) { return `{${Object.keys(object).map(key => `${this.processElement(object[key], key)}`, this)}}`; } processArray(array) { return `[${array.map(item => (item.type ? `${this.processElement(item)}` : this.processRecord(item)), this)}]`; } processRecordOrElement(elements) { if (elements.type) { return this.processElement(elements); } else { return `{\n${Object.keys(elements) .map(key => { const item = elements[key]; const required = item.required === true ? '' : '?'; const element = this.processRecordOrElement(item); return `\t${key}${required}: ${element}\n`; }, this) .join('')}}`; } } process(content) { let typeString = ''; if (content instanceof Array) { typeString = content.map(this.processRecordOrElement, this).join(); } else if (typeof content === 'object') { typeString = this.processRecordOrElement(content); } return typeString; } } exports.AbstractProcessor = AbstractProcessor;