UNPKG

typescript-dotnet-core

Version:

A the core classes and utilities of a JavaScript-Friendly .NET Based TypeScript Library.

3 lines (2 loc) 3.53 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var RegexOptions,tslib_1=require("tslib"),EMPTY="",_I="i",_G="g",_M="m",_U="u",_W="w",_Y="y";!function(e){e.IGNORE_CASE=_I,e.I=_I,e.GLOBAL=_G,e.G=_G,e.MULTI_LINE=_M,e.M=_M,e.UNICODE=_U,e.U=_U,e.STICKY=_Y,e.Y=_Y,e.IGNORE_PATTERN_WHITESPACE=_W,e.W=_W}(RegexOptions=exports.RegexOptions||(exports.RegexOptions={}));var Regex=function(){function o(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];if(!e)throw new Error("'pattern' cannot be null or empty.");var o,i=(t&&(t instanceof Array?t:[t]).concat(r)||r).join(EMPTY).toLowerCase();if(e instanceof RegExp){var u=e;u.ignoreCase&&-1===i.indexOf(_I)&&(i+=_I),u.multiline&&-1===i.indexOf(_M)&&(i+=_M),o=u.source}else o=e;var s=-1!=i.indexOf(_W);i=i.replace(/[gw]/g,EMPTY);var p=[],c=o.match(/(?!\(\?<)(\w+)(?=>)/g);if(c){for(var a=0,f=c.length;a<f;a++)p[a+1]=c[a];o=o.replace(/\?<\w+>/g,EMPTY),this._keys=p}s&&(o=o.replace(/\s+/g,"\\s*")),this._re=new RegExp(o,i),Object.freeze(this)}return o.prototype.match=function(e,t){void 0===t&&(t=0);var r,n=this;if(!e||t>=e.length||!(r=this._re.exec(e.substring(t))))return Match.Empty;0<t||(t=0);for(var o=t+r.index,i=o,u=[],s={},p=0,c=r.length;p<c;++p){var a=r[p],f=EmptyGroup;null!=a&&(f=new Group(a,i)).freeze(),p&&n._keys&&p<n._keys.length&&(s[n._keys[p]]=f),u.push(f),a&&0!==p&&(i+=a.length)}var h=new Match(r[0],o,u,s);return h.freeze(),h},o.prototype.matches=function(e){for(var t,r=[],n=0,o=e&&e.length||0;n<o&&(t=this.match(e,n))&&t.success;)r.push(t),n=t.index+t.length;return Object.freeze(r),r},o.prototype.replace=function(e,t,r){if(void 0===r&&(r=1/0),!(e&&null!=t&&0<r))return e;for(var n,o=[],i=0,u=e.length,s="function"==typeof t,p=0;p<r&&i<u&&(n=this.match(e,i))&&n.success;){var c=n.index,a=n.length;i!==c&&o.push(e.substring(i,c)),o.push(s?t(n,p++):t),i=c+a}return i<u&&o.push(e.substring(i)),o.join(EMPTY)},o.prototype.isMatch=function(e){return this._re.test(e)},o.isMatch=function(e,t,r){return new o(t,r).isMatch(e)},o.replace=function(e,t,r,n){return new o(t,n).replace(e,r)},o}();exports.Regex=Regex;var Capture=function(){function e(e,t){void 0===e&&(e=EMPTY),void 0===t&&(t=-1),this.value=e,this.index=t}return Object.defineProperty(e.prototype,"length",{get:function(){var e=this.value;return e&&e.length||0},enumerable:!0,configurable:!0}),e.prototype.freeze=function(){Object.freeze(this)},e}(),Group=function(r){function e(e,t){return void 0===e&&(e=EMPTY),void 0===t&&(t=-1),r.call(this,e,t)||this}return tslib_1.__extends(e,r),Object.defineProperty(e.prototype,"success",{get:function(){return-1!=this.index},enumerable:!0,configurable:!0}),Object.defineProperty(e,"Empty",{get:function(){return EmptyGroup},enumerable:!0,configurable:!0}),e}(exports.Capture=Capture),EmptyGroup=new(exports.Group=Group);EmptyGroup.freeze();var Match=function(i){function e(e,t,r,n){void 0===e&&(e=EMPTY),void 0===t&&(t=-1),void 0===r&&(r=[]),void 0===n&&(n={});var o=i.call(this,e,t)||this;return o.groups=r,o.namedGroups=n,o}return tslib_1.__extends(e,i),e.prototype.freeze=function(){if(!this.groups)throw new Error("'groups' cannot be null.");if(!this.namedGroups)throw new Error("'groupMap' cannot be null.");Object.freeze(this.groups),Object.freeze(this.namedGroups),i.prototype.freeze.call(this)},Object.defineProperty(e,"Empty",{get:function(){return EmptyMatch},enumerable:!0,configurable:!0}),e}(Group),EmptyMatch=new(exports.Match=Match);EmptyMatch.freeze(),exports.default=Regex; //# sourceMappingURL=RegularExpressions.js.map