occam-parsers 23.0.56 → 23.0.58
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/example.js +26 -60
- package/lib/utilities/parse.js +6 -9
- package/package.json +3 -3
- package/src/utilities/parse.js +5 -11
package/lib/utilities/parse.js
CHANGED
|
@@ -16,8 +16,6 @@ _export(exports, {
|
|
|
16
16
|
return parseParts;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
-
var _necessary = require("necessary");
|
|
20
|
-
var push = _necessary.arrayUtilities.push, clear = _necessary.arrayUtilities.clear;
|
|
21
19
|
function parsePart(part, nodes, state, callback, callAhead) {
|
|
22
20
|
var parsed;
|
|
23
21
|
var index = 0, parts = [
|
|
@@ -46,17 +44,16 @@ function parsePartOfParts(index, parts, nodes, state, callback, callAhead) {
|
|
|
46
44
|
}
|
|
47
45
|
function parsePartWithCallAhead(part, index, parts, nodes, state, callback, callAhead) {
|
|
48
46
|
var parsed;
|
|
49
|
-
var
|
|
47
|
+
var nodesLength = nodes.length;
|
|
50
48
|
callAhead = function() {
|
|
51
49
|
var parsed;
|
|
52
|
-
|
|
53
|
-
var _$nodes = partNodes; ///
|
|
54
|
-
parsed = parsePartOfParts(index, parts, _$nodes, state, callback, callAhead);
|
|
50
|
+
parsed = parsePartOfParts(index, parts, nodes, state, callback, callAhead);
|
|
55
51
|
return parsed;
|
|
56
52
|
};
|
|
57
53
|
parsed = part.parse(nodes, state, callback, callAhead);
|
|
58
|
-
if (parsed) {
|
|
59
|
-
|
|
54
|
+
if (!parsed) {
|
|
55
|
+
var start = nodesLength; ///
|
|
56
|
+
nodes.splice(start);
|
|
60
57
|
}
|
|
61
58
|
return parsed;
|
|
62
59
|
}
|
|
@@ -69,4 +66,4 @@ function parsePartWithoutCallAhead(part, index, parts, nodes, state, callback, c
|
|
|
69
66
|
return parsed;
|
|
70
67
|
}
|
|
71
68
|
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvcGFyc2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZVBhcnQocGFydCwgbm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKSB7XG4gIGxldCBwYXJzZWQ7XG5cbiAgY29uc3QgaW5kZXggPSAwLFxuICAgICAgICBwYXJ0cyA9IFtcbiAgICAgICAgICBwYXJ0XG4gICAgICAgIF07XG5cbiAgcGFyc2VkID0gcGFyc2VQYXJ0T2ZQYXJ0cyhpbmRleCwgcGFydHMsIG5vZGVzLCBzdGF0ZSwgY2FsbGJhY2ssIGNhbGxBaGVhZCk7XG5cbiAgcmV0dXJuIHBhcnNlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGFydHMocGFydHMsIG5vZGVzLCBzdGF0ZSwgY2FsbGJhY2ssIGNhbGxBaGVhZCkge1xuICBsZXQgcGFyc2VkO1xuXG4gIGNvbnN0IGluZGV4ID0gMDtcblxuICBwYXJzZWQgPSBwYXJzZVBhcnRPZlBhcnRzKGluZGV4LCBwYXJ0cywgbm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKTtcblxuICByZXR1cm4gcGFyc2VkO1xufVxuXG5mdW5jdGlvbiBwYXJzZVBhcnRPZlBhcnRzKGluZGV4LCBwYXJ0cywgbm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKSB7XG4gIGxldCBwYXJzZWQ7XG5cbiAgY29uc3QgcGFydHNMZW5ndGggPSBwYXJ0cy5sZW5ndGg7XG5cbiAgaWYgKGluZGV4ID09PSBwYXJ0c0xlbmd0aCkge1xuICAgIHBhcnNlZCA9IChjYWxsYmFjayAhPT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgY2FsbGJhY2soKSA6XG4gICAgICAgICAgICAgICAgIHRydWU7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgcGFydCA9IHBhcnRzW2luZGV4XSxcbiAgICAgICAgICBwYXJ0Q2FsbEFoZWFkID0gKGNhbGxBaGVhZCA9PT0gbnVsbCkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnQuaXNDYWxsQWhlYWQoKSA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlO1xuXG4gICAgaW5kZXgrKztcblxuICAgIHBhcnNlZCA9IHBhcnRDYWxsQWhlYWQgP1xuICAgICAgICAgICAgICAgcGFyc2VQYXJ0V2l0aENhbGxBaGVhZChwYXJ0LCBpbmRleCwgcGFydHMsIG5vZGVzLCBzdGF0ZSwgY2FsbGJhY2ssIGNhbGxBaGVhZCkgOlxuICAgICAgICAgICAgICAgICBwYXJzZVBhcnRXaXRob3V0Q2FsbEFoZWFkKHBhcnQsIGluZGV4LCBwYXJ0cywgbm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGFydFdpdGhDYWxsQWhlYWQocGFydCwgaW5kZXgsIHBhcnRzLCBub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpIHtcbiAgbGV0IHBhcnNlZDtcblxuICBjb25zdCBub2Rlc0xlbmd0aCA9IG5vZGVzLmxlbmd0aDtcblxuICBjYWxsQWhlYWQgPSAoKSA9PiB7IC8vL1xuICAgIGxldCBwYXJzZWQ7XG5cbiAgICBwYXJzZWQgPSBwYXJzZVBhcnRPZlBhcnRzKGluZGV4LCBwYXJ0cywgbm9kZXMsIHN0YXRlLCBjYWxsYmFjaywgY2FsbEFoZWFkKTtcblxuICAgIHJldHVybiBwYXJzZWQ7XG4gIH07XG5cbiAgcGFyc2VkID0gcGFydC5wYXJzZShub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpO1xuXG4gIGlmICghcGFyc2VkKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBub2Rlc0xlbmd0aDsgIC8vL1xuXG4gICAgbm9kZXMuc3BsaWNlKHN0YXJ0KTtcbiAgfVxuXG4gIHJldHVybiBwYXJzZWQ7XG59XG5cbmZ1bmN0aW9uIHBhcnNlUGFydFdpdGhvdXRDYWxsQWhlYWQocGFydCwgaW5kZXgsIHBhcnRzLCBub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpIHtcbiAgbGV0IHBhcnNlZDtcblxuICBwYXJzZWQgPSBwYXJ0LnBhcnNlKG5vZGVzLCBzdGF0ZSwgY2FsbGJhY2ssIGNhbGxBaGVhZCk7XG5cbiAgaWYgKHBhcnNlZCkge1xuICAgIHBhcnNlZCA9IHBhcnNlUGFydE9mUGFydHMoaW5kZXgsIHBhcnRzLCBub2Rlcywgc3RhdGUsIGNhbGxiYWNrLCBjYWxsQWhlYWQpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlZDtcbn1cbiJdLCJuYW1lcyI6WyJwYXJzZVBhcnQiLCJwYXJzZVBhcnRzIiwicGFydCIsIm5vZGVzIiwic3RhdGUiLCJjYWxsYmFjayIsImNhbGxBaGVhZCIsInBhcnNlZCIsImluZGV4IiwicGFydHMiLCJwYXJzZVBhcnRPZlBhcnRzIiwicGFydHNMZW5ndGgiLCJsZW5ndGgiLCJwYXJ0Q2FsbEFoZWFkIiwiaXNDYWxsQWhlYWQiLCJwYXJzZVBhcnRXaXRoQ2FsbEFoZWFkIiwicGFyc2VQYXJ0V2l0aG91dENhbGxBaGVhZCIsIm5vZGVzTGVuZ3RoIiwicGFyc2UiLCJzdGFydCIsInNwbGljZSJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O0lBRWdCQSxTQUFTO2VBQVRBOztJQWFBQyxVQUFVO2VBQVZBOzs7QUFiVCxTQUFTRCxVQUFVRSxJQUFJLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFNBQVM7SUFDL0QsSUFBSUM7SUFFSixJQUFNQyxRQUFRLEdBQ1JDLFFBQVE7UUFDTlA7S0FDRDtJQUVQSyxTQUFTRyxpQkFBaUJGLE9BQU9DLE9BQU9OLE9BQU9DLE9BQU9DLFVBQVVDO0lBRWhFLE9BQU9DO0FBQ1Q7QUFFTyxTQUFTTixXQUFXUSxLQUFLLEVBQUVOLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFNBQVM7SUFDakUsSUFBSUM7SUFFSixJQUFNQyxRQUFRO0lBRWRELFNBQVNHLGlCQUFpQkYsT0FBT0MsT0FBT04sT0FBT0MsT0FBT0MsVUFBVUM7SUFFaEUsT0FBT0M7QUFDVDtBQUVBLFNBQVNHLGlCQUFpQkYsS0FBSyxFQUFFQyxLQUFLLEVBQUVOLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFNBQVM7SUFDdkUsSUFBSUM7SUFFSixJQUFNSSxjQUFjRixNQUFNRyxNQUFNO0lBRWhDLElBQUlKLFVBQVVHLGFBQWE7UUFDekJKLFNBQVMsQUFBQ0YsYUFBYSxPQUNaQSxhQUNFO0lBQ2YsT0FBTztRQUNMLElBQU1ILE9BQU9PLEtBQUssQ0FBQ0QsTUFBTSxFQUNuQkssZ0JBQWdCLEFBQUNQLGNBQWMsT0FDYkosS0FBS1ksV0FBVyxLQUNkO1FBRTFCTjtRQUVBRCxTQUFTTSxnQkFDRUUsdUJBQXVCYixNQUFNTSxPQUFPQyxPQUFPTixPQUFPQyxPQUFPQyxVQUFVQyxhQUNqRVUsMEJBQTBCZCxNQUFNTSxPQUFPQyxPQUFPTixPQUFPQyxPQUFPQyxVQUFVQztJQUNyRjtJQUVBLE9BQU9DO0FBQ1Q7QUFFQSxTQUFTUSx1QkFBdUJiLElBQUksRUFBRU0sS0FBSyxFQUFFQyxLQUFLLEVBQUVOLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFNBQVM7SUFDbkYsSUFBSUM7SUFFSixJQUFNVSxjQUFjZCxNQUFNUyxNQUFNO0lBRWhDTixZQUFZO1FBQ1YsSUFBSUM7UUFFSkEsU0FBU0csaUJBQWlCRixPQUFPQyxPQUFPTixPQUFPQyxPQUFPQyxVQUFVQztRQUVoRSxPQUFPQztJQUNUO0lBRUFBLFNBQVNMLEtBQUtnQixLQUFLLENBQUNmLE9BQU9DLE9BQU9DLFVBQVVDO0lBRTVDLElBQUksQ0FBQ0MsUUFBUTtRQUNYLElBQU1ZLFFBQVFGLGFBQWMsR0FBRztRQUUvQmQsTUFBTWlCLE1BQU0sQ0FBQ0Q7SUFDZjtJQUVBLE9BQU9aO0FBQ1Q7QUFFQSxTQUFTUywwQkFBMEJkLElBQUksRUFBRU0sS0FBSyxFQUFFQyxLQUFLLEVBQUVOLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEVBQUVDLFNBQVM7SUFDdEYsSUFBSUM7SUFFSkEsU0FBU0wsS0FBS2dCLEtBQUssQ0FBQ2YsT0FBT0MsT0FBT0MsVUFBVUM7SUFFNUMsSUFBSUMsUUFBUTtRQUNWQSxTQUFTRyxpQkFBaUJGLE9BQU9DLE9BQU9OLE9BQU9DLE9BQU9DLFVBQVVDO0lBQ2xFO0lBRUEsT0FBT0M7QUFDVCJ9
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "occam-parsers",
|
|
3
3
|
"author": "James Smith",
|
|
4
|
-
"version": "23.0.
|
|
4
|
+
"version": "23.0.58",
|
|
5
5
|
"license": "MIT, Anti-996",
|
|
6
6
|
"homepage": "https://github.com/djalbat/occam-parsers",
|
|
7
7
|
"description": "Occam's parsers.",
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@swc/core": "^1.5.6",
|
|
18
18
|
"easy": "^23.0.1",
|
|
19
|
-
"easy-layout": "^6.0.
|
|
20
|
-
"easy-with-style": "^3.0.
|
|
19
|
+
"easy-layout": "^6.0.217",
|
|
20
|
+
"easy-with-style": "^3.0.440",
|
|
21
21
|
"esbuild": "^0.9.6",
|
|
22
22
|
"express": "^4.17.1",
|
|
23
23
|
"juxtapose": "^4.0.117",
|
package/src/utilities/parse.js
CHANGED
|
@@ -1,9 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { arrayUtilities } from "necessary";
|
|
4
|
-
|
|
5
|
-
const { push, clear } = arrayUtilities;
|
|
6
|
-
|
|
7
3
|
export function parsePart(part, nodes, state, callback, callAhead) {
|
|
8
4
|
let parsed;
|
|
9
5
|
|
|
@@ -55,15 +51,11 @@ function parsePartOfParts(index, parts, nodes, state, callback, callAhead) {
|
|
|
55
51
|
function parsePartWithCallAhead(part, index, parts, nodes, state, callback, callAhead) {
|
|
56
52
|
let parsed;
|
|
57
53
|
|
|
58
|
-
const
|
|
54
|
+
const nodesLength = nodes.length;
|
|
59
55
|
|
|
60
56
|
callAhead = () => { ///
|
|
61
57
|
let parsed;
|
|
62
58
|
|
|
63
|
-
clear(partNodes);
|
|
64
|
-
|
|
65
|
-
const nodes = partNodes; ///
|
|
66
|
-
|
|
67
59
|
parsed = parsePartOfParts(index, parts, nodes, state, callback, callAhead);
|
|
68
60
|
|
|
69
61
|
return parsed;
|
|
@@ -71,8 +63,10 @@ function parsePartWithCallAhead(part, index, parts, nodes, state, callback, call
|
|
|
71
63
|
|
|
72
64
|
parsed = part.parse(nodes, state, callback, callAhead);
|
|
73
65
|
|
|
74
|
-
if (parsed) {
|
|
75
|
-
|
|
66
|
+
if (!parsed) {
|
|
67
|
+
const start = nodesLength; ///
|
|
68
|
+
|
|
69
|
+
nodes.splice(start);
|
|
76
70
|
}
|
|
77
71
|
|
|
78
72
|
return parsed;
|