@ptolemy2002/rgx 12.3.0 → 12.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -6
- package/dist/flag-transformer/end.d.ts +2 -0
- package/dist/flag-transformer/end.js +9 -0
- package/dist/flag-transformer/index.d.ts +3 -0
- package/dist/flag-transformer/index.js +3 -0
- package/dist/flag-transformer/register.js +9 -0
- package/dist/flag-transformer/start.d.ts +2 -0
- package/dist/flag-transformer/start.js +9 -0
- package/dist/flag-transformer/whole.d.ts +2 -0
- package/dist/flag-transformer/whole.js +9 -0
- package/dist/walker/base.d.ts +1 -0
- package/dist/walker/base.js +19 -0
- package/index.mjs +3 -0
- package/package.json +11 -9
package/README.md
CHANGED
|
@@ -38,12 +38,7 @@ Because there is so much to document, it has been broken up into multiple files.
|
|
|
38
38
|
- [lookbehind](./docs/class/token/lookaround/lookbehind.md) - The `RGXLookbehindToken` class, which represents a lookbehind assertion in a regular expression.
|
|
39
39
|
|
|
40
40
|
## Peer Dependencies
|
|
41
|
-
|
|
42
|
-
- `@ptolemy2002/js-utils` ^3.2.2
|
|
43
|
-
- `@ptolemy2002/ts-brand-utils` ^1.0.0
|
|
44
|
-
- `@ptolemy2002/ts-utils` ^3.4.0
|
|
45
|
-
- `is-callable` ^1.2.7
|
|
46
|
-
- `lodash.clonedeep` ^4.5.0
|
|
41
|
+
N/A
|
|
47
42
|
|
|
48
43
|
## Commands
|
|
49
44
|
The following commands exist in the project:
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.endFlagTransformer = void 0;
|
|
4
|
+
const endFlagTransformer = function (exp) {
|
|
5
|
+
// Putting it in a group so that a union of patterns will be wrapped correctly,
|
|
6
|
+
// e.g. "a|b" will become "(?:a|b)$" instead of "a|b$"
|
|
7
|
+
return ["(?:" + exp.source + ")$", exp.flags];
|
|
8
|
+
};
|
|
9
|
+
exports.endFlagTransformer = endFlagTransformer;
|
|
@@ -16,3 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./accentInsensitive"), exports);
|
|
18
18
|
__exportStar(require("./register"), exports);
|
|
19
|
+
__exportStar(require("./whole"), exports);
|
|
20
|
+
__exportStar(require("./start"), exports);
|
|
21
|
+
__exportStar(require("./end"), exports);
|
|
@@ -4,9 +4,18 @@ exports.registerCustomFlagTransformers = registerCustomFlagTransformers;
|
|
|
4
4
|
exports.unregisterCustomFlagTransformers = unregisterCustomFlagTransformers;
|
|
5
5
|
const ExtRegExp_1 = require("../ExtRegExp");
|
|
6
6
|
const accentInsensitive_1 = require("./accentInsensitive");
|
|
7
|
+
const whole_1 = require("./whole");
|
|
8
|
+
const start_1 = require("./start");
|
|
9
|
+
const end_1 = require("./end");
|
|
7
10
|
function registerCustomFlagTransformers() {
|
|
8
11
|
(0, ExtRegExp_1.registerFlagTransformer)("a", accentInsensitive_1.accentInsensitiveFlagTransformer);
|
|
12
|
+
(0, ExtRegExp_1.registerFlagTransformer)("w", whole_1.wholeFlagTransformer);
|
|
13
|
+
(0, ExtRegExp_1.registerFlagTransformer)("b", start_1.beginningFlagTransformer);
|
|
14
|
+
(0, ExtRegExp_1.registerFlagTransformer)("e", end_1.endFlagTransformer);
|
|
9
15
|
}
|
|
10
16
|
function unregisterCustomFlagTransformers() {
|
|
11
17
|
(0, ExtRegExp_1.unregisterFlagTransformer)("a");
|
|
18
|
+
(0, ExtRegExp_1.unregisterFlagTransformer)("w");
|
|
19
|
+
(0, ExtRegExp_1.unregisterFlagTransformer)("b");
|
|
20
|
+
(0, ExtRegExp_1.unregisterFlagTransformer)("e");
|
|
12
21
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.beginningFlagTransformer = void 0;
|
|
4
|
+
const beginningFlagTransformer = function (exp) {
|
|
5
|
+
// Putting it in a group so that a union of patterns will be wrapped correctly,
|
|
6
|
+
// e.g. "a|b" will become "^(?:a|b)" instead of "^a|b"
|
|
7
|
+
return ["^(?:" + exp.source + ")", exp.flags];
|
|
8
|
+
};
|
|
9
|
+
exports.beginningFlagTransformer = beginningFlagTransformer;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.wholeFlagTransformer = void 0;
|
|
4
|
+
const wholeFlagTransformer = function (exp) {
|
|
5
|
+
// Putting it in a group so that a union of patterns will be wrapped correctly,
|
|
6
|
+
// e.g. "a|b" will become "^(?:a|b)$" instead of "^a|b$"
|
|
7
|
+
return ["^(?:" + exp.source + ")$", exp.flags];
|
|
8
|
+
};
|
|
9
|
+
exports.wholeFlagTransformer = wholeFlagTransformer;
|
package/dist/walker/base.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export declare class RGXWalker<R, S = unknown> {
|
|
|
43
43
|
stepToToken(predicate: (token: RGXTokenOrPart<R>) => boolean): this;
|
|
44
44
|
stepToPart(predicate?: (part: RGXPart<R, S, unknown>) => boolean): this;
|
|
45
45
|
walk(): R;
|
|
46
|
+
tryWalk(): boolean;
|
|
46
47
|
clone(depth?: CloneDepth): RGXWalker<R, S>;
|
|
47
48
|
}
|
|
48
49
|
export declare function rgxWalker<R, S = unknown>(...args: ConstructorParameters<typeof RGXWalker<R, S>>): RGXWalker<R, S>;
|
package/dist/walker/base.js
CHANGED
|
@@ -25,6 +25,9 @@ function createBranchGroups(tokens) {
|
|
|
25
25
|
return tokens;
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
+
function isMatchError(e) {
|
|
29
|
+
return e instanceof errors_1.RGXRegexNotMatchedAtPositionError || e instanceof errors_1.RGXPartValidationFailedError;
|
|
30
|
+
}
|
|
28
31
|
class RGXWalker {
|
|
29
32
|
get sourcePosition() {
|
|
30
33
|
return this._sourcePosition;
|
|
@@ -235,6 +238,22 @@ class RGXWalker {
|
|
|
235
238
|
this.stepToToken(() => false);
|
|
236
239
|
return this.reduced;
|
|
237
240
|
}
|
|
241
|
+
tryWalk() {
|
|
242
|
+
const prevSourcePosition = this.sourcePosition;
|
|
243
|
+
const prevTokenPosition = this.tokenPosition;
|
|
244
|
+
try {
|
|
245
|
+
this.walk();
|
|
246
|
+
return true;
|
|
247
|
+
}
|
|
248
|
+
catch (e) {
|
|
249
|
+
this.sourcePosition = prevSourcePosition;
|
|
250
|
+
this.tokenPosition = prevTokenPosition;
|
|
251
|
+
if (isMatchError(e)) {
|
|
252
|
+
return false;
|
|
253
|
+
}
|
|
254
|
+
throw e;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
238
257
|
// Clone method
|
|
239
258
|
clone(depth = "max") {
|
|
240
259
|
if (depth === 0)
|
package/index.mjs
ADDED
package/package.json
CHANGED
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ptolemy2002/rgx",
|
|
3
|
-
"version": "12.
|
|
3
|
+
"version": "12.5.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"import": "./index.mjs",
|
|
10
|
+
"require": "./dist/index.js",
|
|
11
|
+
"types": "./dist/index.d.ts"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
7
14
|
"files": [
|
|
8
|
-
"/dist"
|
|
15
|
+
"/dist",
|
|
16
|
+
"index.mjs"
|
|
9
17
|
],
|
|
10
18
|
"repository": {
|
|
11
19
|
"type": "git",
|
|
@@ -28,22 +36,16 @@
|
|
|
28
36
|
"release-major": "bash ./scripts/release.sh major"
|
|
29
37
|
},
|
|
30
38
|
"devDependencies": {
|
|
31
|
-
"@ptolemy2002/immutability-utils": "^2.0.0",
|
|
32
|
-
"@ptolemy2002/js-utils": "^3.2.2",
|
|
33
|
-
"@ptolemy2002/ts-brand-utils": "^1.0.0",
|
|
34
|
-
"@ptolemy2002/ts-utils": "^3.5.1",
|
|
35
39
|
"@types/is-callable": "^1.1.2",
|
|
36
40
|
"@types/jest": "^29.5.0",
|
|
37
41
|
"@types/lodash.clonedeep": "^4.5.9",
|
|
38
|
-
"is-callable": "^1.2.7",
|
|
39
42
|
"jest": "^29.5.0",
|
|
40
|
-
"lodash.clonedeep": "^4.5.0",
|
|
41
43
|
"ts-jest": "^29.1.0",
|
|
42
44
|
"ts-patch": "^3.3.0",
|
|
43
45
|
"tsconfig-paths": "^4.2.0",
|
|
44
46
|
"typescript-transform-paths": "^3.5.3"
|
|
45
47
|
},
|
|
46
|
-
"
|
|
48
|
+
"dependencies": {
|
|
47
49
|
"@ptolemy2002/immutability-utils": "^2.0.0",
|
|
48
50
|
"@ptolemy2002/js-utils": "^3.2.2",
|
|
49
51
|
"@ptolemy2002/ts-brand-utils": "^1.0.0",
|