dilswer
Version:
Blazingly fast data validation library with TypeScript integration.
62 lines (60 loc) • 1.65 kB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
// src/ts-type-generator/type-builders/base-builder.ts
import { NameGenerator } from "../name-generator.mjs";
var TsBaseBuilder = class _TsBaseBuilder {
constructor() {
__publicField(this, "description", "");
__publicField(this, "name");
__publicField(this, "isTitled", false);
__publicField(this, "isAddedToScope", false);
}
hasName() {
return this.name !== void 0;
}
generateName(nameFor) {
var _a;
this.name = (_a = this.name) != null ? _a : NameGenerator.generate(nameFor);
return this.name;
}
setDescription(description) {
this.description = `/**
* ${description.split("\n").join("\n * ")}
*/`;
}
getDescription(indent) {
if (!this.description) {
return "";
}
return indent + this.description.split("\n").join(`
${indent}`);
}
setName(name) {
this.name = name.replace(/\s+/g, "");
}
getName() {
return this.name;
}
setIsTitled(isTitled) {
this.isTitled = isTitled;
}
static parseExportType(type) {
switch (type) {
case "export":
return "export ";
case "declare":
return "declare ";
case "export/declare":
return "export declare ";
default:
return "";
}
}
parseExportType(type) {
return _TsBaseBuilder.parseExportType(type);
}
};
export {
TsBaseBuilder
};