@devrev/meerkat-core 0.0.123 → 0.0.124

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 (30) hide show
  1. package/package.json +1 -1
  2. package/src/ast-validator/index.d.ts +1 -1
  3. package/src/ast-validator/index.js +2 -1
  4. package/src/ast-validator/index.js.map +1 -1
  5. package/src/ast-validator/tests/test-data.d.ts +8 -1
  6. package/src/ast-validator/tests/test-data.js +16 -9
  7. package/src/ast-validator/tests/test-data.js.map +1 -1
  8. package/src/ast-validator/utils.d.ts +1 -0
  9. package/src/ast-validator/utils.js +11 -3
  10. package/src/ast-validator/utils.js.map +1 -1
  11. package/src/index.d.ts +5 -1
  12. package/src/index.js +5 -1
  13. package/src/index.js.map +1 -1
  14. package/src/utils/__fixtures__/ensure-sql-expression-column-alias.fixtures.d.ts +15 -0
  15. package/src/utils/__fixtures__/ensure-sql-expression-column-alias.fixtures.js +240 -0
  16. package/src/utils/__fixtures__/ensure-sql-expression-column-alias.fixtures.js.map +1 -0
  17. package/src/utils/duckdb-ast-parse-serialize.d.ts +4 -0
  18. package/src/utils/duckdb-ast-parse-serialize.js +108 -0
  19. package/src/utils/duckdb-ast-parse-serialize.js.map +1 -0
  20. package/src/utils/ensure-sql-expression-column-alias.d.ts +14 -0
  21. package/src/utils/ensure-sql-expression-column-alias.js +184 -0
  22. package/src/utils/ensure-sql-expression-column-alias.js.map +1 -0
  23. package/src/utils/ensure-table-schema-alias-sql.d.ts +19 -0
  24. package/src/utils/ensure-table-schema-alias-sql.js +67 -0
  25. package/src/utils/ensure-table-schema-alias-sql.js.map +1 -0
  26. package/src/utils/get-child-expressions.d.ts +13 -0
  27. package/src/utils/get-child-expressions.js +75 -0
  28. package/src/utils/get-child-expressions.js.map +1 -0
  29. package/src/utils/get-column-names-from-ast.js +4 -27
  30. package/src/utils/get-column-names-from-ast.js.map +1 -1
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureTableSchemaAliasSql = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const collectAliasableDescriptors = ({ members, memberType, tableName, descriptors, }) => {
6
+ members.forEach((member) => {
7
+ descriptors.push({
8
+ sql: member.sql,
9
+ context: {
10
+ tableName,
11
+ memberName: member.name,
12
+ memberType,
13
+ },
14
+ apply: (aliasedSql) => {
15
+ member.sql = aliasedSql;
16
+ },
17
+ });
18
+ });
19
+ };
20
+ const ensureDescriptorBatchAlias = ({ descriptors, ensureExpressionAlias, tableName, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
21
+ if (descriptors.length === 0) {
22
+ return;
23
+ }
24
+ const items = descriptors.map((descriptor) => ({
25
+ sql: descriptor.sql,
26
+ context: descriptor.context,
27
+ }));
28
+ try {
29
+ const aliasedSqls = yield ensureExpressionAlias({ items });
30
+ if (aliasedSqls.length !== descriptors.length) {
31
+ throw new Error(`Expected ${descriptors.length} aliased expressions, received ${aliasedSqls.length}`);
32
+ }
33
+ aliasedSqls.forEach((aliasedSql, index) => {
34
+ descriptors[index].apply(aliasedSql);
35
+ });
36
+ }
37
+ catch (error) {
38
+ const message = error instanceof Error ? error.message : String(error);
39
+ throw new Error(`Failed to ensure alias for table ${tableName}: ${message}`);
40
+ }
41
+ });
42
+ const ensureTableSchemaAliasSql = ({ tableSchemas, ensureExpressionAlias, }) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
43
+ return Promise.all(tableSchemas.map((tableSchema) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
44
+ const aliasedTableSchema = Object.assign(Object.assign({}, tableSchema), { measures: tableSchema.measures.map((measure) => (Object.assign({}, measure))), dimensions: tableSchema.dimensions.map((dimension) => (Object.assign({}, dimension))) });
45
+ const descriptors = [];
46
+ collectAliasableDescriptors({
47
+ members: aliasedTableSchema.measures,
48
+ memberType: 'measure',
49
+ tableName: tableSchema.name,
50
+ descriptors,
51
+ });
52
+ collectAliasableDescriptors({
53
+ members: aliasedTableSchema.dimensions,
54
+ memberType: 'dimension',
55
+ tableName: tableSchema.name,
56
+ descriptors,
57
+ });
58
+ yield ensureDescriptorBatchAlias({
59
+ descriptors,
60
+ ensureExpressionAlias,
61
+ tableName: tableSchema.name,
62
+ });
63
+ return aliasedTableSchema;
64
+ })));
65
+ });
66
+ exports.ensureTableSchemaAliasSql = ensureTableSchemaAliasSql;
67
+ //# sourceMappingURL=ensure-table-schema-alias-sql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensure-table-schema-alias-sql.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/ensure-table-schema-alias-sql.ts"],"names":[],"mappings":";;;;AA2BA,MAAM,2BAA2B,GAAG,CAAC,EACnC,OAAO,EACP,UAAU,EACV,SAAS,EACT,WAAW,GAMZ,EAAQ,EAAE;IACT,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACzB,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE;gBACP,SAAS;gBACT,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,UAAU;aACX;YACD,KAAK,EAAE,CAAC,UAAkB,EAAE,EAAE;gBAC5B,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAO,EACxC,WAAW,EACX,qBAAqB,EACrB,SAAS,GAKV,EAAiB,EAAE;IAClB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;QAC5B,OAAO;KACR;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QAC7C,GAAG,EAAE,UAAU,CAAC,GAAG;QACnB,OAAO,EAAE,UAAU,CAAC,OAAO;KAC5B,CAAC,CAAC,CAAC;IAEJ,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,qBAAqB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAE3D,IAAI,WAAW,CAAC,MAAM,KAAK,WAAW,CAAC,MAAM,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,YAAY,WAAW,CAAC,MAAM,kCAAkC,WAAW,CAAC,MAAM,EAAE,CACrF,CAAC;SACH;QAED,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACxC,WAAW,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,MAAM,IAAI,KAAK,CACb,oCAAoC,SAAS,KAAK,OAAO,EAAE,CAC5D,CAAC;KACH;AACH,CAAC,CAAA,CAAC;AAEK,MAAM,yBAAyB,GAAG,CAAO,EAC9C,YAAY,EACZ,qBAAqB,GACW,EAA0B,EAAE;IAC5D,OAAO,OAAO,CAAC,GAAG,CAChB,YAAY,CAAC,GAAG,CAAC,CAAO,WAAW,EAAE,EAAE;QACrC,MAAM,kBAAkB,mCACnB,WAAW,KACd,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,mBAAM,OAAO,EAAG,CAAC,EACjE,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBACjD,SAAS,EACZ,CAAC,GACJ,CAAC;QAEF,MAAM,WAAW,GAAgC,EAAE,CAAC;QACpD,2BAA2B,CAAC;YAC1B,OAAO,EAAE,kBAAkB,CAAC,QAAQ;YACpC,UAAU,EAAE,SAAS;YACrB,SAAS,EAAE,WAAW,CAAC,IAAI;YAC3B,WAAW;SACZ,CAAC,CAAC;QACH,2BAA2B,CAAC;YAC1B,OAAO,EAAE,kBAAkB,CAAC,UAAU;YACtC,UAAU,EAAE,WAAW;YACvB,SAAS,EAAE,WAAW,CAAC,IAAI;YAC3B,WAAW;SACZ,CAAC,CAAC;QAEH,MAAM,0BAA0B,CAAC;YAC/B,WAAW;YACX,qBAAqB;YACrB,SAAS,EAAE,WAAW,CAAC,IAAI;SAC5B,CAAC,CAAC;QAEH,OAAO,kBAAkB,CAAC;IAC5B,CAAC,CAAA,CAAC,CACH,CAAC;AACJ,CAAC,CAAA,CAAC;AArCW,QAAA,yBAAyB,6BAqCpC"}
@@ -0,0 +1,13 @@
1
+ import { ParsedExpression } from '../types/duckdb-serialization-types';
2
+ /**
3
+ * Returns the direct child ParsedExpression nodes reachable from the given
4
+ * expression node. This centralises the "which fields hold children?" knowledge
5
+ * so that every AST walker does not have to re-implement it.
6
+ *
7
+ * Leaf nodes (ColumnRef, Constant, etc.) return an empty array.
8
+ *
9
+ * NOTE: SubqueryExpression only yields `node.child` here; the nested
10
+ * QueryNode (`node.subquery.node`) requires its own traversal because it is
11
+ * not a ParsedExpression.
12
+ */
13
+ export declare const getChildExpressions: (node: ParsedExpression) => ParsedExpression[];
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChildExpressions = void 0;
4
+ const utils_1 = require("../types/utils");
5
+ /**
6
+ * Returns the direct child ParsedExpression nodes reachable from the given
7
+ * expression node. This centralises the "which fields hold children?" knowledge
8
+ * so that every AST walker does not have to re-implement it.
9
+ *
10
+ * Leaf nodes (ColumnRef, Constant, etc.) return an empty array.
11
+ *
12
+ * NOTE: SubqueryExpression only yields `node.child` here; the nested
13
+ * QueryNode (`node.subquery.node`) requires its own traversal because it is
14
+ * not a ParsedExpression.
15
+ */
16
+ const getChildExpressions = (node) => {
17
+ if ((0, utils_1.isBetweenExpression)(node)) {
18
+ return [node.input, node.lower, node.upper];
19
+ }
20
+ if ((0, utils_1.isCastExpression)(node) || (0, utils_1.isCollateExpression)(node)) {
21
+ return [node.child];
22
+ }
23
+ if ((0, utils_1.isComparisonExpression)(node)) {
24
+ return [node.left, node.right];
25
+ }
26
+ if ((0, utils_1.isFunctionExpression)(node)) {
27
+ const children = [...node.children];
28
+ if (node.filter)
29
+ children.push(node.filter);
30
+ return children;
31
+ }
32
+ if ((0, utils_1.isOperatorExpression)(node) || (0, utils_1.isConjunctionExpression)(node)) {
33
+ return [...node.children];
34
+ }
35
+ if ((0, utils_1.isCaseExpression)(node)) {
36
+ const children = [];
37
+ node.case_checks.forEach((check) => {
38
+ children.push(check.then_expr, check.when_expr);
39
+ });
40
+ if (node.else_expr)
41
+ children.push(node.else_expr);
42
+ return children;
43
+ }
44
+ if ((0, utils_1.isWindowExpression)(node)) {
45
+ const children = [...node.children];
46
+ children.push(...node.partitions);
47
+ node.orders.forEach((order) => children.push(order.expression));
48
+ if (node.start_expr)
49
+ children.push(node.start_expr);
50
+ if (node.end_expr)
51
+ children.push(node.end_expr);
52
+ if (node.offset_expr)
53
+ children.push(node.offset_expr);
54
+ if (node.default_expr)
55
+ children.push(node.default_expr);
56
+ if (node.filter_expr)
57
+ children.push(node.filter_expr);
58
+ return children;
59
+ }
60
+ if ((0, utils_1.isLambdaExpression)(node)) {
61
+ const children = [node.lhs];
62
+ if (node.expr)
63
+ children.push(node.expr);
64
+ return children;
65
+ }
66
+ if ((0, utils_1.isSubqueryExpression)(node)) {
67
+ const children = [];
68
+ if (node.child)
69
+ children.push(node.child);
70
+ return children;
71
+ }
72
+ return [];
73
+ };
74
+ exports.getChildExpressions = getChildExpressions;
75
+ //# sourceMappingURL=get-child-expressions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-child-expressions.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-child-expressions.ts"],"names":[],"mappings":"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"}
@@ -3,42 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getColumnNamesFromAst = void 0;
4
4
  const member_formatters_1 = require("../member-formatters");
5
5
  const utils_1 = require("../types/utils");
6
+ const get_child_expressions_1 = require("./get-child-expressions");
6
7
  const getColumnNamesFromAst = (node, columnSet = new Set()) => {
7
8
  if (!node)
8
9
  return Array.from(columnSet);
9
- if ((0, utils_1.isBetweenExpression)(node)) {
10
- (0, exports.getColumnNamesFromAst)(node.input, columnSet);
11
- (0, exports.getColumnNamesFromAst)(node.lower, columnSet);
12
- (0, exports.getColumnNamesFromAst)(node.upper, columnSet);
13
- }
14
10
  if ((0, utils_1.isColumnRefExpression)(node)) {
15
11
  columnSet.add(node.column_names.join(member_formatters_1.COLUMN_NAME_DELIMITER));
16
12
  }
17
- if ((0, utils_1.isCastExpression)(node) || (0, utils_1.isCollateExpression)(node)) {
18
- (0, exports.getColumnNamesFromAst)(node.child, columnSet);
19
- }
20
- if ((0, utils_1.isComparisonExpression)(node)) {
21
- (0, exports.getColumnNamesFromAst)(node.left, columnSet);
22
- (0, exports.getColumnNamesFromAst)(node.right, columnSet);
23
- }
24
- if ((0, utils_1.isFunctionExpression)(node) ||
25
- (0, utils_1.isWindowExpression)(node) ||
26
- (0, utils_1.isOperatorExpression)(node) ||
27
- (0, utils_1.isConjunctionExpression)(node)) {
28
- node.children.forEach((child) => (0, exports.getColumnNamesFromAst)(child, columnSet));
29
- }
30
- if ((0, utils_1.isCaseExpression)(node)) {
31
- node.case_checks.forEach((check) => {
32
- (0, exports.getColumnNamesFromAst)(check.then_expr, columnSet);
33
- (0, exports.getColumnNamesFromAst)(check.when_expr, columnSet);
34
- });
35
- (0, exports.getColumnNamesFromAst)(node.else_expr, columnSet);
36
- }
37
13
  if ((0, utils_1.isSubqueryExpression)(node) && (0, utils_1.isSelectNode)(node.subquery.node)) {
38
- node.subquery.node.select_list.forEach((node) => {
39
- (0, exports.getColumnNamesFromAst)(node, columnSet);
14
+ node.subquery.node.select_list.forEach((child) => {
15
+ (0, exports.getColumnNamesFromAst)(child, columnSet);
40
16
  });
41
17
  }
18
+ (0, get_child_expressions_1.getChildExpressions)(node).forEach((child) => (0, exports.getColumnNamesFromAst)(child, columnSet));
42
19
  return Array.from(columnSet);
43
20
  };
44
21
  exports.getColumnNamesFromAst = getColumnNamesFromAst;
@@ -1 +1 @@
1
- {"version":3,"file":"get-column-names-from-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-column-names-from-ast.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;AAE7D,0CAawB;AAEjB,MAAM,qBAAqB,GAAG,CACnC,IAAsB,EACtB,YAAyB,IAAI,GAAG,EAAE,EACxB,EAAE;IACZ,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;QAC7B,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC7C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE;QAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yCAAqB,CAAC,CAAC,CAAC;KAC9D;IAED,IAAI,IAAA,wBAAgB,EAAC,IAAI,CAAC,IAAI,IAAA,2BAAmB,EAAC,IAAI,CAAC,EAAE;QACvD,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IAAI,IAAA,8BAAsB,EAAC,IAAI,CAAC,EAAE;QAChC,IAAA,6BAAqB,EAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAA,6BAAqB,EAAC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KAC9C;IAED,IACE,IAAA,4BAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,0BAAkB,EAAC,IAAI,CAAC;QACxB,IAAA,4BAAoB,EAAC,IAAI,CAAC;QAC1B,IAAA,+BAAuB,EAAC,IAAI,CAAC,EAC7B;QACA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,6BAAqB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;KAC3E;IAED,IAAI,IAAA,wBAAgB,EAAC,IAAI,CAAC,EAAE;QAC1B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACjC,IAAA,6BAAqB,EAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;YAClD,IAAA,6BAAqB,EAAC,KAAK,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QACH,IAAA,6BAAqB,EAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;KAClD;IAED,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC9C,IAAA,6BAAqB,EAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AAjDW,QAAA,qBAAqB,yBAiDhC"}
1
+ {"version":3,"file":"get-column-names-from-ast.js","sourceRoot":"","sources":["../../../../meerkat-core/src/utils/get-column-names-from-ast.ts"],"names":[],"mappings":";;;AAAA,4DAA6D;AAE7D,0CAA2F;AAC3F,mEAA8D;AAEvD,MAAM,qBAAqB,GAAG,CACnC,IAAsB,EACtB,YAAyB,IAAI,GAAG,EAAE,EACxB,EAAE;IACZ,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAExC,IAAI,IAAA,6BAAqB,EAAC,IAAI,CAAC,EAAE;QAC/B,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,yCAAqB,CAAC,CAAC,CAAC;KAC9D;IAED,IAAI,IAAA,4BAAoB,EAAC,IAAI,CAAC,IAAI,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAClE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YAC/C,IAAA,6BAAqB,EAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;KACJ;IAED,IAAA,2CAAmB,EAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,IAAA,6BAAqB,EAAC,KAAK,EAAE,SAAS,CAAC,CACxC,CAAC;IAEF,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC/B,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}