index.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. exports.rimraf = exports.sync = exports.rimrafSync = exports.moveRemove = exports.moveRemoveSync = exports.posix = exports.posixSync = exports.windows = exports.windowsSync = exports.manual = exports.manualSync = exports.native = exports.nativeSync = exports.isRimrafOptions = exports.assertRimrafOptions = void 0;
  7. const glob_1 = require("glob");
  8. const opt_arg_js_1 = require("./opt-arg.js");
  9. const path_arg_js_1 = __importDefault(require("./path-arg.js"));
  10. const rimraf_manual_js_1 = require("./rimraf-manual.js");
  11. const rimraf_move_remove_js_1 = require("./rimraf-move-remove.js");
  12. const rimraf_native_js_1 = require("./rimraf-native.js");
  13. const rimraf_posix_js_1 = require("./rimraf-posix.js");
  14. const rimraf_windows_js_1 = require("./rimraf-windows.js");
  15. const use_native_js_1 = require("./use-native.js");
  16. var opt_arg_js_2 = require("./opt-arg.js");
  17. Object.defineProperty(exports, "assertRimrafOptions", { enumerable: true, get: function () { return opt_arg_js_2.assertRimrafOptions; } });
  18. Object.defineProperty(exports, "isRimrafOptions", { enumerable: true, get: function () { return opt_arg_js_2.isRimrafOptions; } });
  19. const wrap = (fn) => async (path, opt) => {
  20. const options = (0, opt_arg_js_1.optArg)(opt);
  21. if (options.glob) {
  22. path = await (0, glob_1.glob)(path, options.glob);
  23. }
  24. if (Array.isArray(path)) {
  25. return !!(await Promise.all(path.map(p => fn((0, path_arg_js_1.default)(p, options), options)))).reduce((a, b) => a && b, true);
  26. }
  27. else {
  28. return !!(await fn((0, path_arg_js_1.default)(path, options), options));
  29. }
  30. };
  31. const wrapSync = (fn) => (path, opt) => {
  32. const options = (0, opt_arg_js_1.optArgSync)(opt);
  33. if (options.glob) {
  34. path = (0, glob_1.globSync)(path, options.glob);
  35. }
  36. if (Array.isArray(path)) {
  37. return !!path
  38. .map(p => fn((0, path_arg_js_1.default)(p, options), options))
  39. .reduce((a, b) => a && b, true);
  40. }
  41. else {
  42. return !!fn((0, path_arg_js_1.default)(path, options), options);
  43. }
  44. };
  45. exports.nativeSync = wrapSync(rimraf_native_js_1.rimrafNativeSync);
  46. exports.native = Object.assign(wrap(rimraf_native_js_1.rimrafNative), { sync: exports.nativeSync });
  47. exports.manualSync = wrapSync(rimraf_manual_js_1.rimrafManualSync);
  48. exports.manual = Object.assign(wrap(rimraf_manual_js_1.rimrafManual), { sync: exports.manualSync });
  49. exports.windowsSync = wrapSync(rimraf_windows_js_1.rimrafWindowsSync);
  50. exports.windows = Object.assign(wrap(rimraf_windows_js_1.rimrafWindows), { sync: exports.windowsSync });
  51. exports.posixSync = wrapSync(rimraf_posix_js_1.rimrafPosixSync);
  52. exports.posix = Object.assign(wrap(rimraf_posix_js_1.rimrafPosix), { sync: exports.posixSync });
  53. exports.moveRemoveSync = wrapSync(rimraf_move_remove_js_1.rimrafMoveRemoveSync);
  54. exports.moveRemove = Object.assign(wrap(rimraf_move_remove_js_1.rimrafMoveRemove), {
  55. sync: exports.moveRemoveSync,
  56. });
  57. exports.rimrafSync = wrapSync((path, opt) => (0, use_native_js_1.useNativeSync)(opt) ?
  58. (0, rimraf_native_js_1.rimrafNativeSync)(path, opt)
  59. : (0, rimraf_manual_js_1.rimrafManualSync)(path, opt));
  60. exports.sync = exports.rimrafSync;
  61. const rimraf_ = wrap((path, opt) => (0, use_native_js_1.useNative)(opt) ? (0, rimraf_native_js_1.rimrafNative)(path, opt) : (0, rimraf_manual_js_1.rimrafManual)(path, opt));
  62. exports.rimraf = Object.assign(rimraf_, {
  63. rimraf: rimraf_,
  64. sync: exports.rimrafSync,
  65. rimrafSync: exports.rimrafSync,
  66. manual: exports.manual,
  67. manualSync: exports.manualSync,
  68. native: exports.native,
  69. nativeSync: exports.nativeSync,
  70. posix: exports.posix,
  71. posixSync: exports.posixSync,
  72. windows: exports.windows,
  73. windowsSync: exports.windowsSync,
  74. moveRemove: exports.moveRemove,
  75. moveRemoveSync: exports.moveRemoveSync,
  76. });
  77. exports.rimraf.rimraf = exports.rimraf;
  78. //# sourceMappingURL=index.js.map