dilswer
Version:
Blazingly fast data validation library with TypeScript integration.
81 lines (79 loc) • 2.57 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
// src/ts-type-generator/type-builders/base-builder.ts
var base_builder_exports = {};
__export(base_builder_exports, {
TsBaseBuilder: () => TsBaseBuilder
});
module.exports = __toCommonJS(base_builder_exports);
var import_name_generator = require("../name-generator.cjs");
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 : import_name_generator.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);
}
};