UNPKG

stc-replace

Version:

Content replace for stc, Support string & regular expression

204 lines (148 loc) 4.96 kB
'use strict'; exports.__esModule = true; var _regenerator = require('babel-runtime/regenerator'); var _regenerator2 = _interopRequireDefault(_regenerator); var _getIterator2 = require('babel-runtime/core-js/get-iterator'); var _getIterator3 = _interopRequireDefault(_getIterator2); var _asyncToGenerator2 = require('babel-runtime/helpers/asyncToGenerator'); var _asyncToGenerator3 = _interopRequireDefault(_asyncToGenerator2); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _stcPlugin = require('stc-plugin'); var _stcPlugin2 = _interopRequireDefault(_stcPlugin); var _stcHelper = require('stc-helper'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } //import {isMaster} from 'cluster'; var options = void 0; var ReplacePlugin = function (_Plugin) { (0, _inherits3.default)(ReplacePlugin, _Plugin); function ReplacePlugin() { (0, _classCallCheck3.default)(this, ReplacePlugin); return (0, _possibleConstructorReturn3.default)(this, _Plugin.apply(this, arguments)); } /** * parseConfig * {[string]: [replaceString]} * or * [grep, replaceString] * or * [[grep, replaceString]] */ ReplacePlugin.prototype.parseConfig = function parseConfig(opts) { var options = []; if (!(0, _stcHelper.isArray)(opts)) { for (var key in opts) { options.push([key, opts[key]]); } } else if (!(0, _stcHelper.isArray)(opts[0])) { options.push(opts.slice(0, 2)); } else { options = opts.filter(function (opt) { return (0, _stcHelper.isArray)(opt) && opt.length == 2; }); } return options; }; /** * run */ ReplacePlugin.prototype.run = function () { var _ref = (0, _asyncToGenerator3.default)(_regenerator2.default.mark(function _callee() { var content, _iterator, _isArray, _i, _ref2, _ref3, grep, replace, rcontent; return _regenerator2.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!options) { options = this.parseConfig(this.options); } _context.next = 3; return this.getContent('utf-8'); case 3: content = _context.sent; _iterator = options, _isArray = Array.isArray(_iterator), _i = 0, _iterator = _isArray ? _iterator : (0, _getIterator3.default)(_iterator); case 5: if (!_isArray) { _context.next = 11; break; } if (!(_i >= _iterator.length)) { _context.next = 8; break; } return _context.abrupt('break', 27); case 8: _ref2 = _iterator[_i++]; _context.next = 15; break; case 11: _i = _iterator.next(); if (!_i.done) { _context.next = 14; break; } return _context.abrupt('break', 27); case 14: _ref2 = _i.value; case 15: _ref3 = _ref2; grep = _ref3[0]; replace = _ref3[1]; case 18: if (!true) { _context.next = 25; break; } rcontent = content.replace(grep, replace); if (!(rcontent === content)) { _context.next = 22; break; } return _context.abrupt('break', 25); case 22: content = rcontent; _context.next = 18; break; case 25: _context.next = 5; break; case 27: return _context.abrupt('return', { content: content }); case 28: case 'end': return _context.stop(); } } }, _callee, this); })); function run() { return _ref.apply(this, arguments); } return run; }(); /** * update */ ReplacePlugin.prototype.update = function update(data) { this.setContent(data.content); }; /** * use cluster */ ReplacePlugin.cluster = function cluster() { return false; }; /** * use cache */ ReplacePlugin.cache = function cache() { return false; }; return ReplacePlugin; }(_stcPlugin2.default); exports.default = ReplacePlugin; //# sourceMappingURL=index.js.map