UNPKG

@spec2ts/core

Version:

Core module for @spec2ts modules, includes codegen helpers and common parsing methods

45 lines (44 loc) 1.53 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.findFiles = exports.getOutputFileName = exports.getOutputPath = exports.mkdirp = exports.writeFile = void 0; const fs_1 = require("fs"); const path = require("path"); const glob_1 = require("glob"); function writeFile(path, content) { return fs_1.promises.writeFile(path, content, { encoding: "utf8" }); } exports.writeFile = writeFile; async function mkdirp(file) { await fs_1.promises.mkdir(path.dirname(file), { recursive: true }); } exports.mkdirp = mkdirp; function getOutputPath(src, { output, ext }) { if (output) { return path.join(output, getOutputFileName(src)); } if (src.startsWith("http")) { return path.basename(src); } return path.join(path.dirname(src), getOutputFileName(src, ext)); } exports.getOutputPath = getOutputPath; function getOutputFileName(src, ext = ".d.ts") { return path.basename(src) .replace(path.extname(src), "") + ext; } exports.getOutputFileName = getOutputFileName; async function findFiles(pattern, options) { if (!Array.isArray(pattern)) { return findFilesOne(pattern, options); } const res = await Promise.all(pattern.map(p => findFilesOne(p, options))); return res.flat(); } exports.findFiles = findFiles; async function findFilesOne(pattern, options = {}) { if (pattern.startsWith("http")) { return [pattern]; } return await (0, glob_1.glob)(pattern, { ...options, withFileTypes: false }); }