sdin
Version:
JavaScript package builder.
2 lines • 1.99 kB
JavaScript
var e=require("@babel/runtime/helpers/interopRequireDefault"),o=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.deepCopy=i,exports.deepCopyWithLoading=c,e(require("@babel/runtime/helpers/defineProperty"))),l=require("fs-extra"),p=require("path"),f=require("./read"),r=require("./errors"),t=require("./print");function n(r,e){var t,o=Object.keys(r);return Object.getOwnPropertySymbols&&(t=Object.getOwnPropertySymbols(r),e&&(t=t.filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable})),o.push.apply(o,t)),o}function a(r){for(var e=1;e<arguments.length;e++){var t=null!=arguments[e]?arguments[e]:{};e%2?n(Object(t),!0).forEach(function(e){(0,o.default)(r,e,t[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(t,e))})}return r}async function i(e){let{source:r,target:n,handler:a,filter:t,rename:i,redirect:c}=e,s=/^_(.*\.\w+)_$/;await(0,f.deepRead)({source:r,handler:async r=>{let t="";if(i&&(o=i(r,n))&&(t=r.offset?(0,p.resolve)(n,r.offset):n,t=(0,p.resolve)(t,"..",o)),t||(t=r.offset?(0,p.resolve)(n,r.offset):n,"_"===r.name[0]&&(o=s.exec(r.name))&&o[1]&&(t=(0,p.resolve)(t,"../"+o[1]))),t){var o=c&&c(r,n)||r.current,o=await(0,l.readFile)(o);let e=o;a&&(e=await a(r,o)),await(0,l.outputFile)(t,e)}},filter:t})}async function c(o){if(await(0,l.pathExists)(o.target))throw new r.WritingError(r.WritingError.DEEP_COPIED_TARGET_ALREADY_EXISTS,"Copied target ".concat(o.target," already exists."));return(0,t.printTask)({exitCode:r.WritingError.DEEP_COPY_FAILED,task:async e=>{let t=e.loading;return i(a(a({},o),{},{handler:(e,r)=>(t(e.offset),o.handler?o.handler(e,r):r)}))},loading:e=>"Copying file ".concat((0,t.magenta)(e),"."),resolve:()=>"Successfully copied files to ".concat((0,t.green)(o.target),"."),reject:()=>"Failed to copy files to ".concat((0,t.red)(o.target),".")})}
//# sourceMappingURL=write.js.map