punctuate
Version:
A robust repository for replacing punctuation. it has no dependencies.
2 lines (1 loc) • 1.64 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0});var e={EN2ZH:{".":"。","?":"?","!":"!",",":",","\\":"、",";":";",":":":","~":"~","[":"【","]":"】","{":"「","}":"」","<":"《",">":"》","(":"(",")":")","|":"|","'":["‘","’"],'"':["“","”"]},ZH2EN:{"。":".","?":"?","!":"!",",":",","、":"\\",";":";",":":":","~":"~","【":"[","】":"]","《":"<","》":">","(":"(",")":")","|":"|","「":"{","」":"}","“":'"',"”":'"',"‘":"'","’":"'"}},r=function(e){if(!function(e){if("object"!=typeof e)return!1;for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var t=e[r];if(!Array.isArray(t)&&"string"!=typeof t)return!1}return!0}(e))throw"replacer must be an object that value type is string or plain array";var r="";for(var t in e)if(Object.hasOwnProperty.call(e,t)){var n=t;"$()*+.?[\\^{|".includes(n)&&(n="\\".concat(n)),r+=""===r?n:"|".concat(n)}return new RegExp(r,"g")};function t(e,r,t){var n={},a=e.replace(r,(function(e){var r=t[e];if("string"==typeof r)return r;n[e]||(n[e]=0);var a=r[n[e]];return n[e]=n[e]<r.length-1?n[e]+1:0,a}));return n=null,a}function n(e,n){return t(e,r(n),n)}var a={EN2ZH:r(e.EN2ZH),ZH2EN:r(e.ZH2EN)};function c(r,n){if(!a[n])throw"Failed to verify key , it must be within [".concat(Object.keys(a).join(","),"]");return t(r,a[n],e[n])}var i=function(){function e(e){var n=this;this.replace=function(e){return t(e,n.replaceReg,n.map)},this.map=e,this.replaceReg=r(e)}return e.replaceByMap=n,e.replaceByPredefined=c,e}();exports.DEFAULT_CHARACTER=e,exports.PunctuateReplacer=i,exports.replacePunctuate=c,exports.replacePunctuateByMap=n;