@danielsimonjr/mathts-parser 0.1.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 ADDED
@@ -0,0 +1,37 @@
1
+ # @danielsimonjr/mathts-parser
2
+
3
+ Standalone expression parser for [MathTS](https://github.com/danielsimonjr/mathts).
4
+
5
+ This package is a focused entry point over the parser that lives in
6
+ [`@danielsimonjr/mathts-expression`](https://www.npmjs.com/package/@danielsimonjr/mathts-expression).
7
+ It re-exports the parser surface so you can install and consume just the parser
8
+ (mirroring the other MathTS packages — `expression`, `matrix`, `parallel`,
9
+ `functions`, …). The implementation is not duplicated; it is re-exported.
10
+
11
+ ## Install
12
+
13
+ ```sh
14
+ npm install @danielsimonjr/mathts-parser
15
+ ```
16
+
17
+ ## What it exports
18
+
19
+ - `createParse` — factory for the `parse` function (string → AST).
20
+ - `createParserClass` — factory for the `Parser` class (stateful, scope-aware).
21
+ - AST node constructors produced by parsing: `createNode`, `createConstantNode`,
22
+ `createOperatorNode`, `createSymbolNode`, `createFunctionNode`, … and the rest.
23
+ - Operator/keyword metadata: `keywords`, `properties`, `getPrecedence`,
24
+ `getAssociativity`, `isAssociativeWith`, `getOperator`.
25
+ - The associated TypeScript types (AST node types, parser/operator types).
26
+
27
+ These are MathTS **factory functions**: wire them into a MathTS instance via
28
+ `create()` / `typed-function`, exactly as you would when importing them from
29
+ `@danielsimonjr/mathts-expression`.
30
+
31
+ ```ts
32
+ import { createParse, createParserClass } from '@danielsimonjr/mathts-parser';
33
+ ```
34
+
35
+ ## License
36
+
37
+ MIT © Daniel Simon Jr.
@@ -0,0 +1,2 @@
1
+ export * from '@danielsimonjr/mathts-expression';
2
+ export { createAccessorNode, createArrayNode, createAssignmentNode, createBlockNode, createConditionalNode, createConstantNode, createFunctionAssignmentNode, createFunctionNode, createIndexNode, createNode, createObjectNode, createOperatorNode, createParenthesisNode, createParse, createParserClass, createRangeNode, createRelationalNode, createSymbolNode, getAssociativity, getOperator, getPrecedence, isAssociativeWith, keywords, properties } from '@danielsimonjr/mathts-expression';
package/dist/index.js ADDED
@@ -0,0 +1,53 @@
1
+ // src/index.ts
2
+ import {
3
+ createParse,
4
+ createParserClass,
5
+ createNode,
6
+ createAccessorNode,
7
+ createArrayNode,
8
+ createAssignmentNode,
9
+ createBlockNode,
10
+ createConditionalNode,
11
+ createConstantNode,
12
+ createFunctionAssignmentNode,
13
+ createFunctionNode,
14
+ createIndexNode,
15
+ createObjectNode,
16
+ createOperatorNode,
17
+ createParenthesisNode,
18
+ createRangeNode,
19
+ createRelationalNode,
20
+ createSymbolNode,
21
+ keywords,
22
+ properties,
23
+ getPrecedence,
24
+ getAssociativity,
25
+ isAssociativeWith,
26
+ getOperator
27
+ } from "@danielsimonjr/mathts-expression";
28
+ export {
29
+ createAccessorNode,
30
+ createArrayNode,
31
+ createAssignmentNode,
32
+ createBlockNode,
33
+ createConditionalNode,
34
+ createConstantNode,
35
+ createFunctionAssignmentNode,
36
+ createFunctionNode,
37
+ createIndexNode,
38
+ createNode,
39
+ createObjectNode,
40
+ createOperatorNode,
41
+ createParenthesisNode,
42
+ createParse,
43
+ createParserClass,
44
+ createRangeNode,
45
+ createRelationalNode,
46
+ createSymbolNode,
47
+ getAssociativity,
48
+ getOperator,
49
+ getPrecedence,
50
+ isAssociativeWith,
51
+ keywords,
52
+ properties
53
+ };
package/package.json ADDED
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "@danielsimonjr/mathts-parser",
3
+ "version": "0.1.0",
4
+ "description": "Standalone expression parser for MathTS — the parse function and Parser class, re-exported as a focused package",
5
+ "author": "Daniel Simon Jr.",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "module": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "exports": {
12
+ ".": {
13
+ "import": "./dist/index.js",
14
+ "types": "./dist/index.d.ts"
15
+ }
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsup src/index.ts --format esm --dts --clean",
23
+ "dev": "tsup src/index.ts --format esm --dts --watch",
24
+ "test": "vitest run",
25
+ "test:watch": "vitest",
26
+ "test:coverage": "vitest run --coverage",
27
+ "typecheck": "tsc --noEmit",
28
+ "lint": "eslint src --ext .ts",
29
+ "lint:fix": "eslint src --ext .ts --fix",
30
+ "clean": "rm -rf dist",
31
+ "build:prod": "tsup src/index.ts --format esm --dts --clean --minify --treeshake"
32
+ },
33
+ "dependencies": {
34
+ "@danielsimonjr/mathts-core": "0.1.3",
35
+ "@danielsimonjr/mathts-expression": "0.2.1",
36
+ "typed-function": "^4.0.0"
37
+ },
38
+ "devDependencies": {
39
+ "@types/node": "^25.5.2",
40
+ "tsup": "^8.0.0",
41
+ "typescript": "^5.3.0",
42
+ "vitest": "^4.1.5"
43
+ },
44
+ "publishConfig": {
45
+ "access": "public"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/danielsimonjr/mathts",
50
+ "directory": "parser"
51
+ },
52
+ "keywords": [
53
+ "math",
54
+ "typescript",
55
+ "parser",
56
+ "parse",
57
+ "expression",
58
+ "ast",
59
+ "tokenizer"
60
+ ]
61
+ }