jsii-docgen
Version:
generates api docs for jsii modules
29 lines • 2.84 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Json = void 0;
const json_stream_stringify_1 = require("json-stream-stringify");
/**
* Type-safe Json renderer.
*/
class Json {
constructor(content, opts = {}) {
this.content = content;
this.opts = defaultOpts(opts);
}
;
render() {
return JSON.stringify(this.content, null, this.opts.spaces);
}
stream() {
return new json_stream_stringify_1.JsonStreamStringify(this.content, undefined, this.opts.spaces);
}
}
exports.Json = Json;
function defaultOpts(opts = {}) {
var _a;
return {
spaces: (_a = opts.spaces) !== null && _a !== void 0 ? _a : 2,
};
}
;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kb2NnZW4vcmVuZGVyL2pzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsaUVBQTREO0FBVzVEOztHQUVHO0FBQ0gsTUFBYSxJQUFJO0lBR2YsWUFBNEIsT0FBVSxFQUFFLE9BQThCLEVBQUU7UUFBNUMsWUFBTyxHQUFQLE9BQU8sQ0FBRztRQUNwQyxJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBQUEsQ0FBQztJQUVLLE1BQU07UUFDWCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU8sSUFBSSwyQ0FBbUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FDRjtBQWRELG9CQWNDO0FBRUQsU0FBUyxXQUFXLENBQUMsT0FBOEIsRUFBRTs7SUFDbkQsT0FBTztRQUNMLE1BQU0sRUFBRSxNQUFBLElBQUksQ0FBQyxNQUFNLG1DQUFJLENBQUM7S0FDekIsQ0FBQztBQUNKLENBQUM7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdub2RlOnN0cmVhbSc7XG5pbXBvcnQgeyBKc29uU3RyZWFtU3RyaW5naWZ5IH0gZnJvbSAnanNvbi1zdHJlYW0tc3RyaW5naWZ5JztcblxuZXhwb3J0IGludGVyZmFjZSBKc29uRm9ybWF0dGluZ09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBzcGFjZXMgdG8gdXNlIGZvciBpbmRlbnRhdGlvbi5cbiAgICpcbiAgICogQGRlZmF1bHQgMlxuICAgKi9cbiAgcmVhZG9ubHkgc3BhY2VzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIFR5cGUtc2FmZSBKc29uIHJlbmRlcmVyLlxuICovXG5leHBvcnQgY2xhc3MgSnNvbjxUPiB7XG4gIHByaXZhdGUgb3B0czogUmVxdWlyZWQ8SnNvbkZvcm1hdHRpbmdPcHRpb25zPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgY29udGVudDogVCwgb3B0czogSnNvbkZvcm1hdHRpbmdPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLm9wdHMgPSBkZWZhdWx0T3B0cyhvcHRzKTtcbiAgfTtcblxuICBwdWJsaWMgcmVuZGVyKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMuY29udGVudCwgbnVsbCwgdGhpcy5vcHRzLnNwYWNlcyk7XG4gIH1cblxuICBwdWJsaWMgc3RyZWFtKCk6IFJlYWRhYmxlIHtcbiAgICByZXR1cm4gbmV3IEpzb25TdHJlYW1TdHJpbmdpZnkodGhpcy5jb250ZW50LCB1bmRlZmluZWQsIHRoaXMub3B0cy5zcGFjZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRPcHRzKG9wdHM6IEpzb25Gb3JtYXR0aW5nT3B0aW9ucyA9IHt9KTogUmVxdWlyZWQ8SnNvbkZvcm1hdHRpbmdPcHRpb25zPiB7XG4gIHJldHVybiB7XG4gICAgc3BhY2VzOiBvcHRzLnNwYWNlcyA/PyAyLFxuICB9O1xufTtcbiJdfQ==