@n1k1t/unit-generator
Version:
Coverage based unit tests AI generator
44 lines • 1.72 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.AttachmentContent = void 0;
const json2md_1 = __importDefault(require("json2md"));
const path_1 = __importDefault(require("path"));
const lodash_1 = __importDefault(require("lodash"));
const model_1 = require("./model");
const utils_1 = require("../../../utils");
class AttachmentContent extends model_1.Content {
render() {
const isObject = lodash_1.default.isObject(this.payload.content);
const content = isObject
? JSON.stringify(this.payload.content, null, 2)
: String(this.payload.content);
return (0, json2md_1.default)((0, utils_1.cast)([
{
h3: this.payload.title,
},
{
code: {
language: isObject ? 'json' : 'txt',
content,
},
},
])).trim();
}
static build(payload) {
const extension = payload.extension ?? (payload.path
? path_1.default.extname(payload.path)
: lodash_1.default.isObject(payload.content) ? '.json' : '.txt');
return new AttachmentContent('attachment', {
extension,
content: payload.content,
title: payload.title,
path: payload.path ?? `${lodash_1.default.kebabCase(payload.title).toLowerCase()}${extension}`,
isVirtual: payload.isVirtual ?? !Boolean(payload.path),
});
}
}
exports.AttachmentContent = AttachmentContent;
//# sourceMappingURL=attachment.js.map