UNPKG

@platform/ts

Version:

TypesScript build, prepare and publish toolchain.

63 lines (62 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.changeExtensions = void 0; var tslib_1 = require("tslib"); var libs_1 = require("./libs"); function changeExtensions(args) { return tslib_1.__awaiter(this, void 0, void 0, function () { var dir, formatExtension, from, to, rename, _i, _a, name_1, path, info, isFile; var _this = this; return tslib_1.__generator(this, function (_b) { switch (_b.label) { case 0: dir = args.dir; formatExtension = function (ext) { return ".".concat(ext.replace(/^\./, '')); }; from = formatExtension(args.from); to = formatExtension(args.to); rename = function (before) { return tslib_1.__awaiter(_this, void 0, void 0, function () { var after; return tslib_1.__generator(this, function (_a) { switch (_a.label) { case 0: after = "".concat(before.substr(0, before.length - from.length)).concat(to); return [4, libs_1.fs.rename(before, after)]; case 1: _a.sent(); return [2]; } }); }); }; _i = 0; return [4, libs_1.fs.readdir(args.dir)]; case 1: _a = _b.sent(); _b.label = 2; case 2: if (!(_i < _a.length)) return [3, 8]; name_1 = _a[_i]; path = libs_1.fs.join(dir, name_1); return [4, libs_1.fs.lstat(path)]; case 3: info = _b.sent(); isFile = info.isFile(); if (!(isFile && name_1.endsWith(from))) return [3, 5]; return [4, rename(path)]; case 4: _b.sent(); _b.label = 5; case 5: if (!(!isFile && info.isDirectory())) return [3, 7]; return [4, changeExtensions({ dir: libs_1.fs.join(dir, name_1), from: from, to: to })]; case 6: _b.sent(); _b.label = 7; case 7: _i++; return [3, 2]; case 8: return [2]; } }); }); } exports.changeExtensions = changeExtensions;