{"size": 1276, "ext": "js", "max_stars_repo_path": "regex_replace.js", "max_stars_repo_name": "bipio-server/bip-pod-flow", "max_stars_repo_stars_event_min_datetime": "2017-03-14T16:51:55.000Z", "max_stars_repo_stars_event_max_datetime": "2017-03-14T16:51:55.000Z", "max_issues_repo_path": "regex_replace.js", "max_issues_repo_name": "bipio-server/bip-pod-flow", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "regex_replace.js", "max_forks_repo_name": "bipio-server/bip-pod-flow", "max_forks_repo_forks_event_min_datetime": "2015-08-14T14:56:14.000Z", "max_forks_repo_forks_event_max_datetime": "2020-04-21T20:09:23.000Z"}
{"max_stars_count": 1, "max_issues_count": null, "max_forks_count": 3, "avg_line_length": 30.380952381, "max_line_length": 117, "alphanum_fraction": 0.6410658307}
/**
 *
 * Copyright (c) 2017 InterDigital, Inc. All Rights Reserved
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

var safeRegex = require('safe-regex');

function RegExpReplace() {}

RegExpReplace.prototype = {};

RegExpReplace.prototype.invoke = function(imports, channel, sysImports, contentParts, next) {
  if (safeRegex(imports.regex)) {
    try {
      var exports = {
          out_str : imports.in_str.replace(new RegExp(imports.regex, 'gi'), imports.repl_str ? imports.repl_str : '')
        };

      next(false, exports);
    } catch (e) {
      next(e.message);
    }
  } else {
    next('Regex ' + imports.regex + ' is unsafe');
  }

}

// -----------------------------------------------------------------------------
module.exports = RegExpReplace;