UNPKG

file-prompt

Version:

An interactive prompt for selecting files from a directory.

1 lines 2.84 kB
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{"default":e}}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _possibleConstructorReturn(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function _inherits(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var _createClass=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();Object.defineProperty(exports,"__esModule",{value:!0});var _bind_methods=require("../util/bind_methods"),_bind_methods2=_interopRequireDefault(_bind_methods),_stripAnsi=require("strip-ansi"),_stripAnsi2=_interopRequireDefault(_stripAnsi),_transform_action=require("../transform_action"),_transform_action2=_interopRequireDefault(_transform_action),_stream=require("stream"),BaseTransform=function(e){function t(e){_classCallCheck(this,t);var r=_possibleConstructorReturn(this,Object.getPrototypeOf(t).call(this,{objectMode:!0}));return r.filters={},r.params={},r.name="BaseTransform",r.isDestroyed=!1,"function"==typeof r.getParams&&Object.assign(r.params,r.getParams(e)),(0,_bind_methods2["default"])(r,"errorHandler"),r.setListeners(),r}return _inherits(t,e),_createClass(t,[{key:"createAction",value:function(e){return e.creator||(e.creator=this.name),new _transform_action2["default"](e)}},{key:"destroy",value:function(e){var t=this;this.isDestroyed||(this.isDestroyed=!0,process.nextTick(function(){e&&t.emit("error",e),t.emit("close")}))}},{key:"errorHandler",value:function(e){process.stderr.write((e.stack||e.message)+"\n"),process.exit(1)}},{key:"filterData",value:function(e,t){return Object.keys(e).every(function(r){return e[r]===t[r]})}},{key:"matchError",value:function(e){var t=(0,_stripAnsi2["default"])(e.toString()).trim();t&&(t=" ("+t+")"),t="Huh"+t+"?",this.pushError(t)}},{key:"pushAction",value:function(e){this.push(this.createAction(e))}},{key:"pushError",value:function(e){this.pushAction({type:"error",data:e})}},{key:"setListeners",value:function(){this.on("error",this.errorHandler)}},{key:"transform",value:function(e){this.push(e)}},{key:"_transform",value:function(e,t,r){try{return this.filterData(this.filters,e)?(this.transform(e),r()):r(null,e)}catch(n){this.emit("error",n),r()}}}]),t}(_stream.Transform);exports["default"]=BaseTransform;