Compare commits

..

1 Commits

Author SHA1 Message Date
74e2259b5c Don't throw "token not found" 2025-06-10 15:26:56 +00:00
3 changed files with 144 additions and 73 deletions

213
package-lock.json generated
View File

@ -30,7 +30,7 @@
"docsify-cli": "^4.3.0", "docsify-cli": "^4.3.0",
"eslint": "^9.13.0", "eslint": "^9.13.0",
"eslint-import-resolver-typescript": "^4.3.2", "eslint-import-resolver-typescript": "^4.3.2",
"eslint-plugin-functional": "^9.0.2", "eslint-plugin-functional": "^7.0.2",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsdoc": "^50.3.1", "eslint-plugin-jsdoc": "^50.3.1",
"eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-null": "^1.0.2",
@ -3200,6 +3200,19 @@
"node": ">= 4" "node": ">= 4"
} }
}, },
"node_modules/@typescript-eslint/eslint-plugin/node_modules/ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12"
},
"peerDependencies": {
"typescript": ">=4.8.4"
}
},
"node_modules/@typescript-eslint/parser": { "node_modules/@typescript-eslint/parser": {
"version": "8.33.0", "version": "8.33.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.0.tgz",
@ -3378,6 +3391,19 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@typescript-eslint/type-utils/node_modules/ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12"
},
"peerDependencies": {
"typescript": ">=4.8.4"
}
},
"node_modules/@typescript-eslint/types": { "node_modules/@typescript-eslint/types": {
"version": "8.33.0", "version": "8.33.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.0.tgz",
@ -3472,6 +3498,19 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@typescript-eslint/typescript-estree/node_modules/ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=18.12"
},
"peerDependencies": {
"typescript": ">=4.8.4"
}
},
"node_modules/@typescript-eslint/utils": { "node_modules/@typescript-eslint/utils": {
"version": "8.33.0", "version": "8.33.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.0.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.0.tgz",
@ -6016,9 +6055,9 @@
"dev": true "dev": true
}, },
"node_modules/deepmerge-ts": { "node_modules/deepmerge-ts": {
"version": "7.1.5", "version": "7.1.3",
"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.3.tgz",
"integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", "integrity": "sha512-qCSH6I0INPxd9Y1VtAiLpnYvz5O//6rCfJXKk0z66Up9/VOSr+1yS8XSKA5IWRxjocFGlzPyaZYe+jxq7OOLtQ==",
"dev": true, "dev": true,
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"engines": { "engines": {
@ -6848,9 +6887,9 @@
"dev": true "dev": true
}, },
"node_modules/eslint-plugin-functional": { "node_modules/eslint-plugin-functional": {
"version": "9.0.2", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-functional/-/eslint-plugin-functional-9.0.2.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-functional/-/eslint-plugin-functional-7.1.0.tgz",
"integrity": "sha512-N8kP9HX1CJ2HrufPHLzsKNJ81O1IB25jw2mxOc1H1z3CamEu8MYTn9dOo/FPfQwsqHZVuf7wyDCBcL8r8H7N0w==", "integrity": "sha512-eu7lVAF9dDTw2xzlsLDvJRXx9t4g/S/pmCSdGx2oFmibmkz2LMoPDu7B+UA9CV/RzvNr4wWd4apc71nMAazdKQ==",
"dev": true, "dev": true,
"funding": [ "funding": [
{ {
@ -6862,14 +6901,13 @@
"url": "https://tidelift.com/funding/github/npm/eslint-plugin-functional" "url": "https://tidelift.com/funding/github/npm/eslint-plugin-functional"
} }
], ],
"license": "MIT",
"dependencies": { "dependencies": {
"@typescript-eslint/utils": "^8.26.0", "@typescript-eslint/utils": "^8.10.0",
"deepmerge-ts": "^7.1.5", "deepmerge-ts": "^7.1.3",
"escape-string-regexp": "^5.0.0", "escape-string-regexp": "^5.0.0",
"is-immutable-type": "^5.0.1", "is-immutable-type": "^5.0.0",
"ts-api-utils": "^2.0.1", "ts-api-utils": "^1.3.0",
"ts-declaration-location": "^1.0.6" "ts-declaration-location": "^1.0.4"
}, },
"engines": { "engines": {
"node": ">=v18.18.0" "node": ">=v18.18.0"
@ -9285,14 +9323,14 @@
} }
}, },
"node_modules/is-immutable-type": { "node_modules/is-immutable-type": {
"version": "5.0.1", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-immutable-type/-/is-immutable-type-5.0.1.tgz", "resolved": "https://registry.npmjs.org/is-immutable-type/-/is-immutable-type-5.0.0.tgz",
"integrity": "sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==", "integrity": "sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==",
"dev": true, "dev": true,
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"@typescript-eslint/type-utils": "^8.0.0", "@typescript-eslint/type-utils": "^8.0.0",
"ts-api-utils": "^2.0.0", "ts-api-utils": "^1.3.0",
"ts-declaration-location": "^1.0.4" "ts-declaration-location": "^1.0.4"
}, },
"peerDependencies": { "peerDependencies": {
@ -12893,52 +12931,54 @@
"dev": true "dev": true
}, },
"node_modules/ts-api-utils": { "node_modules/ts-api-utils": {
"version": "2.1.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true, "dev": true,
"license": "MIT",
"engines": { "engines": {
"node": ">=18.12" "node": ">=16"
}, },
"peerDependencies": { "peerDependencies": {
"typescript": ">=4.8.4" "typescript": ">=4.2.0"
} }
}, },
"node_modules/ts-declaration-location": { "node_modules/ts-declaration-location": {
"version": "1.0.7", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.4.tgz",
"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", "integrity": "sha512-r4JoxYhKULbZuH81Pjrp9OEG5St7XWk7zXwGkLKhmVcjiBVHTJXV5wK6dEa9JKW5QGSTW6b1lOjxAKp8R1SQhg==",
"dev": true, "dev": true,
"funding": [
{
"type": "ko-fi",
"url": "https://ko-fi.com/rebeccastevens"
},
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/ts-declaration-location"
}
],
"license": "BSD-3-Clause", "license": "BSD-3-Clause",
"dependencies": { "dependencies": {
"picomatch": "^4.0.2" "minimatch": "^10.0.0"
}, },
"peerDependencies": { "peerDependencies": {
"typescript": ">=4.0.0" "typescript": ">=4.0.0"
} }
}, },
"node_modules/ts-declaration-location/node_modules/picomatch": { "node_modules/ts-declaration-location/node_modules/brace-expansion": {
"version": "4.0.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true, "dev": true,
"license": "MIT", "license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0"
}
},
"node_modules/ts-declaration-location/node_modules/minimatch": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
"dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^2.0.1"
},
"engines": { "engines": {
"node": ">=12" "node": "20 || >=22"
}, },
"funding": { "funding": {
"url": "https://github.com/sponsors/jonschlinkert" "url": "https://github.com/sponsors/isaacs"
} }
}, },
"node_modules/tsconfck": { "node_modules/tsconfck": {
@ -16479,6 +16519,13 @@
"resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz",
"integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==",
"dev": true "dev": true
},
"ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"requires": {}
} }
} }
}, },
@ -16583,6 +16630,13 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true "dev": true
},
"ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"requires": {}
} }
} }
}, },
@ -16642,6 +16696,13 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"dev": true "dev": true
},
"ts-api-utils": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
"dev": true,
"requires": {}
} }
} }
}, },
@ -18441,9 +18502,9 @@
"dev": true "dev": true
}, },
"deepmerge-ts": { "deepmerge-ts": {
"version": "7.1.5", "version": "7.1.3",
"resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.5.tgz", "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.3.tgz",
"integrity": "sha512-HOJkrhaYsweh+W+e74Yn7YStZOilkoPb6fycpwNLKzSPtruFs48nYis0zy5yJz1+ktUhHxoRDJ27RQAWLIJVJw==", "integrity": "sha512-qCSH6I0INPxd9Y1VtAiLpnYvz5O//6rCfJXKk0z66Up9/VOSr+1yS8XSKA5IWRxjocFGlzPyaZYe+jxq7OOLtQ==",
"dev": true "dev": true
}, },
"defer-to-connect": { "defer-to-connect": {
@ -19216,17 +19277,17 @@
} }
}, },
"eslint-plugin-functional": { "eslint-plugin-functional": {
"version": "9.0.2", "version": "7.1.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-functional/-/eslint-plugin-functional-9.0.2.tgz", "resolved": "https://registry.npmjs.org/eslint-plugin-functional/-/eslint-plugin-functional-7.1.0.tgz",
"integrity": "sha512-N8kP9HX1CJ2HrufPHLzsKNJ81O1IB25jw2mxOc1H1z3CamEu8MYTn9dOo/FPfQwsqHZVuf7wyDCBcL8r8H7N0w==", "integrity": "sha512-eu7lVAF9dDTw2xzlsLDvJRXx9t4g/S/pmCSdGx2oFmibmkz2LMoPDu7B+UA9CV/RzvNr4wWd4apc71nMAazdKQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/utils": "^8.26.0", "@typescript-eslint/utils": "^8.10.0",
"deepmerge-ts": "^7.1.5", "deepmerge-ts": "^7.1.3",
"escape-string-regexp": "^5.0.0", "escape-string-regexp": "^5.0.0",
"is-immutable-type": "^5.0.1", "is-immutable-type": "^5.0.0",
"ts-api-utils": "^2.0.1", "ts-api-utils": "^1.3.0",
"ts-declaration-location": "^1.0.6" "ts-declaration-location": "^1.0.4"
}, },
"dependencies": { "dependencies": {
"escape-string-regexp": { "escape-string-regexp": {
@ -20775,13 +20836,13 @@
} }
}, },
"is-immutable-type": { "is-immutable-type": {
"version": "5.0.1", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/is-immutable-type/-/is-immutable-type-5.0.1.tgz", "resolved": "https://registry.npmjs.org/is-immutable-type/-/is-immutable-type-5.0.0.tgz",
"integrity": "sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==", "integrity": "sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@typescript-eslint/type-utils": "^8.0.0", "@typescript-eslint/type-utils": "^8.0.0",
"ts-api-utils": "^2.0.0", "ts-api-utils": "^1.3.0",
"ts-declaration-location": "^1.0.4" "ts-declaration-location": "^1.0.4"
} }
}, },
@ -23382,26 +23443,38 @@
"dev": true "dev": true
}, },
"ts-api-utils": { "ts-api-utils": {
"version": "2.1.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
"integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
"dev": true, "dev": true,
"requires": {} "requires": {}
}, },
"ts-declaration-location": { "ts-declaration-location": {
"version": "1.0.7", "version": "1.0.4",
"resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.7.tgz", "resolved": "https://registry.npmjs.org/ts-declaration-location/-/ts-declaration-location-1.0.4.tgz",
"integrity": "sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==", "integrity": "sha512-r4JoxYhKULbZuH81Pjrp9OEG5St7XWk7zXwGkLKhmVcjiBVHTJXV5wK6dEa9JKW5QGSTW6b1lOjxAKp8R1SQhg==",
"dev": true, "dev": true,
"requires": { "requires": {
"picomatch": "^4.0.2" "minimatch": "^10.0.0"
}, },
"dependencies": { "dependencies": {
"picomatch": { "brace-expansion": {
"version": "4.0.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
"dev": true "dev": true,
"requires": {
"balanced-match": "^1.0.0"
}
},
"minimatch": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz",
"integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==",
"dev": true,
"requires": {
"brace-expansion": "^2.0.1"
}
} }
} }
}, },

View File

@ -85,7 +85,7 @@
"docsify-cli": "^4.3.0", "docsify-cli": "^4.3.0",
"eslint": "^9.13.0", "eslint": "^9.13.0",
"eslint-import-resolver-typescript": "^4.3.2", "eslint-import-resolver-typescript": "^4.3.2",
"eslint-plugin-functional": "^9.0.2", "eslint-plugin-functional": "^7.0.2",
"eslint-plugin-import": "^2.26.0", "eslint-plugin-import": "^2.26.0",
"eslint-plugin-jsdoc": "^50.3.1", "eslint-plugin-jsdoc": "^50.3.1",
"eslint-plugin-no-null": "^1.0.2", "eslint-plugin-no-null": "^1.0.2",

View File

@ -19,8 +19,6 @@ export const findRunElementIndexWithToken = (paragraphElement: Element, token: s
} }
} }
} }
throw new Error("Token not found");
}; };
export const splitRunElement = (runElement: Element, token: string): { readonly left: Element; readonly right: Element } => { export const splitRunElement = (runElement: Element, token: string): { readonly left: Element; readonly right: Element } => {