1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.changeExtensions = void 0;
|
4 | var tslib_1 = require("tslib");
|
5 | var libs_1 = require("./libs");
|
6 | function changeExtensions(args) {
|
7 | return tslib_1.__awaiter(this, void 0, void 0, function () {
|
8 | var dir, formatExtension, from, to, rename, _i, _a, name_1, path, info, isFile;
|
9 | var _this = this;
|
10 | return tslib_1.__generator(this, function (_b) {
|
11 | switch (_b.label) {
|
12 | case 0:
|
13 | dir = args.dir;
|
14 | formatExtension = function (ext) { return "." + ext.replace(/^\./, ''); };
|
15 | from = formatExtension(args.from);
|
16 | to = formatExtension(args.to);
|
17 | rename = function (before) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
18 | var after;
|
19 | return tslib_1.__generator(this, function (_a) {
|
20 | switch (_a.label) {
|
21 | case 0:
|
22 | after = "" + before.substr(0, before.length - from.length) + to;
|
23 | return [4, libs_1.fs.rename(before, after)];
|
24 | case 1:
|
25 | _a.sent();
|
26 | return [2];
|
27 | }
|
28 | });
|
29 | }); };
|
30 | _i = 0;
|
31 | return [4, libs_1.fs.readdir(args.dir)];
|
32 | case 1:
|
33 | _a = _b.sent();
|
34 | _b.label = 2;
|
35 | case 2:
|
36 | if (!(_i < _a.length)) return [3, 8];
|
37 | name_1 = _a[_i];
|
38 | path = libs_1.fs.join(dir, name_1);
|
39 | return [4, libs_1.fs.lstat(path)];
|
40 | case 3:
|
41 | info = _b.sent();
|
42 | isFile = info.isFile();
|
43 | if (!(isFile && name_1.endsWith(from))) return [3, 5];
|
44 | return [4, rename(path)];
|
45 | case 4:
|
46 | _b.sent();
|
47 | _b.label = 5;
|
48 | case 5:
|
49 | if (!(!isFile && info.isDirectory())) return [3, 7];
|
50 | return [4, changeExtensions({ dir: libs_1.fs.join(dir, name_1), from: from, to: to })];
|
51 | case 6:
|
52 | _b.sent();
|
53 | _b.label = 7;
|
54 | case 7:
|
55 | _i++;
|
56 | return [3, 2];
|
57 | case 8: return [2];
|
58 | }
|
59 | });
|
60 | });
|
61 | }
|
62 | exports.changeExtensions = changeExtensions;
|