ts-to-mongo-schema
Version:
Using the Typescript Compiler API, this program parses through Typescript, to generate a JSON Schema that conforms to MongoDB's bson format. Useful when generating large schemas, and being unable to use a javascript or typescript library like Moongoose.
25 lines (24 loc) • 1.11 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var path_1 = __importDefault(require("path"));
var generateNewFilePath = function (_a) {
var name = _a.name, imports = _a.imports, paths = _a.paths, extension = _a.extension;
var importRelative = imports[name].substring(1, imports[name].length - 1);
var newPathRelative = importRelative + extension;
var parsedRelative = newPathRelative.split(path_1.default.posix.sep);
var newFilePath = paths.filePath;
for (var _i = 0, parsedRelative_1 = parsedRelative; _i < parsedRelative_1.length; _i++) {
var segment = parsedRelative_1[_i];
var newSegment = segment;
if (segment === ".")
newSegment = "..";
else if (segment === "..")
newSegment = "../../";
newFilePath = path_1.default.resolve(newFilePath, newSegment);
}
return newFilePath;
};
exports.default = generateNewFilePath;