rawsql-ts 0.17.0 → 0.18.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.
Files changed (37) hide show
  1. package/LICENSE +21 -0
  2. package/dist/esm/index.d.ts +4 -0
  3. package/dist/esm/index.js +4 -0
  4. package/dist/esm/index.js.map +1 -1
  5. package/dist/esm/index.min.js +4 -4
  6. package/dist/esm/index.min.js.map +4 -4
  7. package/dist/esm/transformers/DynamicQueryBuilder.d.ts +9 -13
  8. package/dist/esm/transformers/DynamicQueryBuilder.js +8 -108
  9. package/dist/esm/transformers/DynamicQueryBuilder.js.map +1 -1
  10. package/dist/esm/transformers/PruneOptionalConditionBranches.d.ts +14 -2
  11. package/dist/esm/transformers/PruneOptionalConditionBranches.js +105 -37
  12. package/dist/esm/transformers/PruneOptionalConditionBranches.js.map +1 -1
  13. package/dist/esm/transformers/SSSQLFilterBuilder.d.ts +30 -0
  14. package/dist/esm/transformers/SSSQLFilterBuilder.js +253 -0
  15. package/dist/esm/transformers/SSSQLFilterBuilder.js.map +1 -0
  16. package/dist/esm/utils/RelationGraph.d.ts +43 -0
  17. package/dist/esm/utils/RelationGraph.js +117 -0
  18. package/dist/esm/utils/RelationGraph.js.map +1 -0
  19. package/dist/index.js +4 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/index.min.js +4 -4
  22. package/dist/index.min.js.map +4 -4
  23. package/dist/src/index.d.ts +4 -0
  24. package/dist/src/transformers/DynamicQueryBuilder.d.ts +9 -13
  25. package/dist/src/transformers/PruneOptionalConditionBranches.d.ts +14 -2
  26. package/dist/src/transformers/SSSQLFilterBuilder.d.ts +30 -0
  27. package/dist/src/utils/RelationGraph.d.ts +43 -0
  28. package/dist/transformers/DynamicQueryBuilder.js +8 -97
  29. package/dist/transformers/DynamicQueryBuilder.js.map +1 -1
  30. package/dist/transformers/PruneOptionalConditionBranches.js +106 -37
  31. package/dist/transformers/PruneOptionalConditionBranches.js.map +1 -1
  32. package/dist/transformers/SSSQLFilterBuilder.js +259 -0
  33. package/dist/transformers/SSSQLFilterBuilder.js.map +1 -0
  34. package/dist/tsconfig.browser.tsbuildinfo +1 -1
  35. package/dist/utils/RelationGraph.js +123 -0
  36. package/dist/utils/RelationGraph.js.map +1 -0
  37. package/package.json +64 -65
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildRelationGraphFromCreateTableQueries = buildRelationGraphFromCreateTableQueries;
4
+ exports.getOutgoingRelations = getOutgoingRelations;
5
+ exports.getIncomingRelations = getIncomingRelations;
6
+ exports.getQualifiedNameText = getQualifiedNameText;
7
+ const TableNameUtils_1 = require("./TableNameUtils");
8
+ /**
9
+ * Build a direction-aware relation graph from parsed CREATE TABLE statements.
10
+ */
11
+ function buildRelationGraphFromCreateTableQueries(queries) {
12
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
13
+ const relations = [];
14
+ const byChildTable = new Map();
15
+ const byParentTable = new Map();
16
+ const tableNames = new Set();
17
+ const seen = new Set();
18
+ for (const query of queries) {
19
+ const childTable = normalizeRelationTableName(buildQualifiedName(query.namespaces, query.tableName.name));
20
+ tableNames.add(childTable);
21
+ for (const column of query.columns) {
22
+ for (const constraint of column.constraints) {
23
+ if (constraint.kind !== 'references' || !constraint.reference) {
24
+ continue;
25
+ }
26
+ const edge = createEdge({
27
+ childTable,
28
+ parentTable: normalizeRelationTableName(constraint.reference.targetTable.toString()),
29
+ childColumns: [column.name.name],
30
+ parentColumns: (_b = (_a = constraint.reference.columns) === null || _a === void 0 ? void 0 : _a.map((item) => item.name)) !== null && _b !== void 0 ? _b : [],
31
+ constraintKind: 'column-reference',
32
+ constraintName: (_d = (_c = constraint.constraintName) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : null,
33
+ evidenceKind: 'column-reference',
34
+ confidence: 'confirmed'
35
+ });
36
+ addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge);
37
+ }
38
+ }
39
+ for (const constraint of query.tableConstraints) {
40
+ if (constraint.kind !== 'foreign-key' || !constraint.reference) {
41
+ continue;
42
+ }
43
+ const edge = createEdge({
44
+ childTable,
45
+ parentTable: normalizeRelationTableName(constraint.reference.targetTable.toString()),
46
+ childColumns: (_f = (_e = constraint.columns) === null || _e === void 0 ? void 0 : _e.map((item) => item.name)) !== null && _f !== void 0 ? _f : [],
47
+ parentColumns: (_h = (_g = constraint.reference.columns) === null || _g === void 0 ? void 0 : _g.map((item) => item.name)) !== null && _h !== void 0 ? _h : [],
48
+ constraintKind: 'table-foreign-key',
49
+ constraintName: (_k = (_j = constraint.constraintName) === null || _j === void 0 ? void 0 : _j.name) !== null && _k !== void 0 ? _k : null,
50
+ evidenceKind: 'table-foreign-key',
51
+ confidence: 'confirmed'
52
+ });
53
+ addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge);
54
+ }
55
+ }
56
+ return {
57
+ relations,
58
+ byChildTable,
59
+ byParentTable,
60
+ tableNames
61
+ };
62
+ }
63
+ /**
64
+ * Return the known parent relations for a child table.
65
+ */
66
+ function getOutgoingRelations(graph, childTable) {
67
+ var _a;
68
+ return [...((_a = graph.byChildTable.get(normalizeRelationTableName(childTable))) !== null && _a !== void 0 ? _a : [])];
69
+ }
70
+ /**
71
+ * Return the known child relations for a parent table.
72
+ */
73
+ function getIncomingRelations(graph, parentTable) {
74
+ var _a;
75
+ return [...((_a = graph.byParentTable.get(normalizeRelationTableName(parentTable))) !== null && _a !== void 0 ? _a : [])];
76
+ }
77
+ function addEdge(relations, byChildTable, byParentTable, seen, tableNames, edge) {
78
+ tableNames.add(edge.childTable);
79
+ tableNames.add(edge.parentTable);
80
+ const signature = [
81
+ edge.childTable,
82
+ edge.parentTable,
83
+ edge.childColumns.join(','),
84
+ edge.parentColumns.join(','),
85
+ edge.constraintKind
86
+ ].join('|');
87
+ if (seen.has(signature)) {
88
+ return;
89
+ }
90
+ seen.add(signature);
91
+ relations.push(edge);
92
+ pushIndexedEdge(byChildTable, edge.childTable, edge);
93
+ pushIndexedEdge(byParentTable, edge.parentTable, edge);
94
+ }
95
+ function pushIndexedEdge(index, key, edge) {
96
+ var _a;
97
+ const bucket = (_a = index.get(key)) !== null && _a !== void 0 ? _a : [];
98
+ bucket.push(edge);
99
+ index.set(key, bucket);
100
+ }
101
+ function createEdge(params) {
102
+ return {
103
+ childTable: params.childTable,
104
+ parentTable: params.parentTable,
105
+ childColumns: [...params.childColumns],
106
+ parentColumns: [...params.parentColumns],
107
+ constraintKind: params.constraintKind,
108
+ constraintName: params.constraintName,
109
+ evidenceKind: params.evidenceKind,
110
+ confidence: params.confidence,
111
+ isSelfReference: params.childTable === params.parentTable
112
+ };
113
+ }
114
+ function buildQualifiedName(namespaces, name) {
115
+ return [...(namespaces !== null && namespaces !== void 0 ? namespaces : []), name].join('.');
116
+ }
117
+ function normalizeRelationTableName(tableName) {
118
+ return (0, TableNameUtils_1.normalizeTableName)(tableName);
119
+ }
120
+ function getQualifiedNameText(value) {
121
+ return normalizeRelationTableName(value.toString());
122
+ }
123
+ //# sourceMappingURL=RelationGraph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationGraph.js","sourceRoot":"","sources":["../../src/utils/RelationGraph.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,66 +1,65 @@
1
1
  {
2
- "name": "rawsql-ts",
3
- "version": "0.17.0",
4
- "description": "High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.",
5
- "main": "dist/index.js",
6
- "module": "dist/esm/index.js",
7
- "types": "dist/src/index.d.ts",
8
- "browser": "dist/esm/index.min.js",
9
- "homepage": "https://github.com/mk3008/rawsql-ts/tree/main/packages/core",
10
- "scripts": {
11
- "test": "vitest run",
12
- "test:watch": "vitest",
13
- "coverage": "vitest run --coverage",
14
- "prepack": "node -e \"const fs=require('fs');const cp=require('child_process');const npm=process.platform==='win32'?'npm.cmd':'npm';const ok=fs.existsSync('dist/index.js')&&fs.existsSync('dist/esm/index.min.js');if(!ok){process.exit(cp.spawnSync(npm,['run','build:all'],{stdio:'inherit'}).status??1)}\"",
15
- "build": "tsc --build",
16
- "build:browser": "tsc --project tsconfig.browser.json",
17
- "build:minify": "esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/index.min.js --format=cjs --sourcemap && esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/esm/index.min.js --format=esm --sourcemap",
18
- "build:all": "npm run clean && npm run build && npm run build:browser && npm run build:minify",
19
- "release": "npm run build:all && node -e \"require('fs').mkdirSync('../../tmp', { recursive: true })\" && pnpm pack --out ../../tmp/rawsql-ts-core.tgz && pnpm publish",
20
- "clean": "tsc --build --clean && node -e \"const fs = require('fs'); if (fs.existsSync('dist')) fs.rmSync('dist', {recursive: true, force: true});\"",
21
- "lint": "eslint . --ext .ts,.tsx --fix",
22
- "postbuild": "node ../../scripts/sync-rawsql-dist.js",
23
- "benchmark": "ts-node ../../benchmarks/parse-benchmark.ts"
24
- },
25
- "keywords": [
26
- "sql",
27
- "sql-parser",
28
- "sql-transformer",
29
- "ast",
30
- "sql-ast",
31
- "sql-formatter"
32
- ],
33
- "author": "msugiura",
34
- "license": "MIT",
35
- "repository": {
36
- "type": "git",
37
- "url": "https://github.com/mk3008/rawsql-ts.git",
38
- "directory": "packages/core"
39
- },
40
- "publishConfig": {
41
- "access": "public"
42
- },
43
- "devDependencies": {
44
- "@types/benchmark": "^2.1.5",
45
- "@types/node": "^22.13.10",
46
- "@typescript-eslint/eslint-plugin": "^8.26.1",
47
- "@typescript-eslint/parser": "^8.26.1",
48
- "@vitest/coverage-v8": "^4.0.15",
49
- "benchmark": "^2.1.4",
50
- "esbuild": "^0.25.5",
51
- "eslint": "^9.22.0",
52
- "eslint-config-prettier": "^10.1.1",
53
- "eslint-plugin-filenames": "^1.3.2",
54
- "eslint-plugin-prettier": "^5.2.3",
55
- "microtime": "^3.1.1",
56
- "node-sql-parser": "^5.4.0",
57
- "sql-formatter": "^15.5.2",
58
- "sql-parser-cst": "^0.33.1",
59
- "ts-node": "^10.9.2",
60
- "typescript": "^5.8.2",
61
- "vitest": "^4.0.15"
62
- },
63
- "files": [
64
- "dist"
65
- ]
66
- }
2
+ "name": "rawsql-ts",
3
+ "version": "0.18.0",
4
+ "description": "High-performance SQL parser and AST analyzer written in TypeScript. Provides fast parsing and advanced transformation capabilities.",
5
+ "main": "dist/index.js",
6
+ "module": "dist/esm/index.js",
7
+ "types": "dist/src/index.d.ts",
8
+ "browser": "dist/esm/index.min.js",
9
+ "homepage": "https://github.com/mk3008/rawsql-ts/tree/main/packages/core",
10
+ "keywords": [
11
+ "sql",
12
+ "sql-parser",
13
+ "sql-transformer",
14
+ "ast",
15
+ "sql-ast",
16
+ "sql-formatter"
17
+ ],
18
+ "author": "msugiura",
19
+ "license": "MIT",
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/mk3008/rawsql-ts.git",
23
+ "directory": "packages/core"
24
+ },
25
+ "publishConfig": {
26
+ "access": "public"
27
+ },
28
+ "devDependencies": {
29
+ "@types/benchmark": "^2.1.5",
30
+ "@types/node": "^22.13.10",
31
+ "@typescript-eslint/eslint-plugin": "^8.26.1",
32
+ "@typescript-eslint/parser": "^8.26.1",
33
+ "@vitest/coverage-v8": "^4.0.15",
34
+ "benchmark": "^2.1.4",
35
+ "esbuild": "^0.25.5",
36
+ "eslint": "^9.22.0",
37
+ "eslint-config-prettier": "^10.1.1",
38
+ "eslint-plugin-filenames": "^1.3.2",
39
+ "eslint-plugin-prettier": "^5.2.3",
40
+ "microtime": "^3.1.1",
41
+ "node-sql-parser": "^5.4.0",
42
+ "sql-formatter": "^15.5.2",
43
+ "sql-parser-cst": "^0.33.1",
44
+ "ts-node": "^10.9.2",
45
+ "typescript": "^5.8.2",
46
+ "vitest": "^4.0.15"
47
+ },
48
+ "files": [
49
+ "dist"
50
+ ],
51
+ "scripts": {
52
+ "test": "vitest run",
53
+ "test:watch": "vitest",
54
+ "coverage": "vitest run --coverage",
55
+ "build": "tsc --build --force",
56
+ "build:browser": "tsc --project tsconfig.browser.json",
57
+ "build:minify": "esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/index.min.js --format=cjs --sourcemap && esbuild src/index.ts --bundle --minify-syntax --minify-whitespace --outfile=dist/esm/index.min.js --format=esm --sourcemap",
58
+ "build:all": "npm run clean && npm run build && npm run build:browser && npm run build:minify",
59
+ "release": "npm run build:all && node -e \"require('fs').mkdirSync('../../tmp', { recursive: true })\" && pnpm pack --out ../../tmp/rawsql-ts-core.tgz && pnpm publish",
60
+ "clean": "tsc --build --clean && node -e \"const fs = require('fs'); if (fs.existsSync('dist')) fs.rmSync('dist', {recursive: true, force: true});\"",
61
+ "lint": "eslint . --ext .ts,.tsx --fix",
62
+ "postbuild": "node ../../scripts/sync-rawsql-dist.js",
63
+ "benchmark": "ts-node ../../benchmarks/parse-benchmark.ts"
64
+ }
65
+ }