UNPKG

1.59 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6var Argument_1 = __importDefault(require("./Argument"));
7var TreeRegexp_1 = __importDefault(require("./TreeRegexp"));
8var ParameterType_1 = __importDefault(require("./ParameterType"));
9var RegularExpression = /** @class */ (function () {
10 function RegularExpression(regexp, parameterTypeRegistry) {
11 this.regexp = regexp;
12 this.parameterTypeRegistry = parameterTypeRegistry;
13 this.treeRegexp = new TreeRegexp_1.default(regexp);
14 }
15 RegularExpression.prototype.match = function (text) {
16 var _this = this;
17 var parameterTypes = this.treeRegexp.groupBuilder.children.map(function (groupBuilder) {
18 var parameterTypeRegexp = groupBuilder.source;
19 return (_this.parameterTypeRegistry.lookupByRegexp(parameterTypeRegexp, _this.regexp, text) ||
20 new ParameterType_1.default(null, parameterTypeRegexp, String, function (s) { return (s === undefined ? null : s); }, false, false));
21 });
22 return Argument_1.default.build(this.treeRegexp, text, parameterTypes);
23 };
24 Object.defineProperty(RegularExpression.prototype, "source", {
25 get: function () {
26 return this.regexp.source;
27 },
28 enumerable: true,
29 configurable: true
30 });
31 return RegularExpression;
32}());
33exports.default = RegularExpression;
34//# sourceMappingURL=RegularExpression.js.map
\No newline at end of file