@lakeql/file-generator 0.1.12 → 0.2.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.
@@ -1,5 +1,4 @@
1
1
  import ts from "typescript";
2
-
3
2
  //#region src/ast-builders.d.ts
4
3
  type TypeLike = string | ts.TypeNode;
5
4
  declare function id(name: string): ts.Identifier;
@@ -1,5 +1,4 @@
1
1
  import ts from "typescript";
2
-
3
2
  //#region src/config-registry.d.ts
4
3
  /**
5
4
  * Parameters for generateConfigReqistry.
@@ -11,8 +10,6 @@ interface GenerateConfigReqistryProps {
11
10
  /**
12
11
  * Generates the config registry aggregating all table configs.
13
12
  */
14
- declare function generateConfigReqistry({
15
- configPaths
16
- }: GenerateConfigReqistryProps): (ts.ImportDeclaration | ts.VariableStatement | ts.TypeAliasDeclaration)[];
13
+ declare function generateConfigReqistry({ configPaths }: GenerateConfigReqistryProps): (ts.ImportDeclaration | ts.VariableStatement | ts.TypeAliasDeclaration)[];
17
14
  //#endregion
18
15
  export { GenerateConfigReqistryProps, generateConfigReqistry };
package/dist/config.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  import ts from "typescript";
2
-
3
2
  //#region src/config.d.ts
4
3
  /**
5
4
  * Storage configuration for the mutation write pipeline.
@@ -42,13 +41,6 @@ interface GenerateConfigProps {
42
41
  /**
43
42
  * Generates config.ts AST nodes for a table endpoint.
44
43
  */
45
- declare function generateConfig({
46
- catalog,
47
- schema,
48
- tableName,
49
- queryName,
50
- mutationName,
51
- storageConfig
52
- }: GenerateConfigProps): ts.Node[];
44
+ declare function generateConfig({ catalog, schema, tableName, queryName, mutationName, storageConfig }: GenerateConfigProps): ts.Node[];
53
45
  //#endregion
54
46
  export { GenerateConfigProps, StorageConfigProps, generateConfig };
package/dist/index.d.mts CHANGED
@@ -1,5 +1,4 @@
1
1
  import ts from "typescript";
2
-
3
2
  //#region src/index.d.ts
4
3
  /**
5
4
  * Parameters for generateCode.
@@ -13,9 +12,6 @@ interface GenerateCodeProps {
13
12
  /**
14
13
  * Generates formatted TypeScript source from AST nodes.
15
14
  */
16
- declare function generateCode({
17
- fileName,
18
- nodes
19
- }: GenerateCodeProps): Promise<ts.SourceFile>;
15
+ declare function generateCode({ fileName, nodes }: GenerateCodeProps): Promise<ts.SourceFile>;
20
16
  //#endregion
21
17
  export { GenerateCodeProps, generateCode };
@@ -1,6 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { ModelResponse } from "@lakeql/schema-generator/graphql-schema";
3
-
4
3
  //#region src/interface.d.ts
5
4
  declare function generateInterface(models: Record<string, ModelResponse>): (ts.Identifier | ts.InterfaceDeclaration)[];
6
5
  declare function generateTableDefinition(model: ModelResponse): (ts.Identifier | ts.InterfaceDeclaration)[];
@@ -1,6 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { FilterFieldInput, ModelResponse } from "@lakeql/schema-generator/graphql-schema";
3
-
4
3
  //#region src/query-schema.d.ts
5
4
  /**
6
5
  * Parameters for generateQuerySchema.
@@ -22,13 +21,6 @@ interface GenerateQuerySchemaProps {
22
21
  /**
23
22
  * Generates the Pothos query schema AST for a table.
24
23
  */
25
- declare function generateQuerySchema({
26
- models,
27
- queryName,
28
- transformFields,
29
- filterFields,
30
- filterTypes,
31
- dateTimeFields
32
- }: GenerateQuerySchemaProps): ts.Node[];
24
+ declare function generateQuerySchema({ models, queryName, transformFields, filterFields, filterTypes, dateTimeFields }: GenerateQuerySchemaProps): ts.Node[];
33
25
  //#endregion
34
26
  export { GenerateQuerySchemaProps, generateQuerySchema };
@@ -1 +1 @@
1
- import{access as e,arrayLiteral as t,arrowFunction as n,asConst as r,bool as i,builderCall as a,builderInputRef as o,builderObjectRef as s,constStatement as c,expressionStatement as l,fieldsFunction as u,id as d,implement as f,importDefault as p,importNames as m,objectLiteral as h,parameter as g,property as _,shorthand as v,stringLiteral as y,tArg as b,tExpose as x,tField as S,typeRef as C}from"./ast-builders.mjs";import w from"typescript";function T({models:e,queryName:t,transformFields:n,filterFields:r,filterTypes:i,dateTimeFields:a}){let o=Object.values(e).find(e=>e.root);if(!o)throw Error(`generateQuerySchema requires exactly one root model`);return[...D({filterTypes:i,models:e}),...O({filterFields:r,rootModel:o}),...M({filterFields:r,rootModel:o}),...N({rootModel:o}),...P({models:e,rootModel:o}),...F({models:e}),...I({transformFields:n}),...L({dateTimeFields:a}),...te({queryName:t})]}function E(e){switch(e.type){case`String`:return`StringFieldComparison`;case`Int`:return`IntFieldComparison`;case`Float`:return`FloatFieldComparison`;case`Boolean`:return`BooleanFieldComparison`;case`Date`:return`DateFieldComparison`;case`DateTime`:return`DateTimeFieldComparison`;case`ID`:return`IDFieldComparison`;default:return e.type}}function D({models:e,filterTypes:t}){return[m(`@lakeql/api/types`,[`ConnectionInterface`,`TrinoArrayResponse`],{typeOnly:!0}),m(`json-schema`,[`JSONSchema7`],{typeOnly:!0}),m(`@lakeql/api/builder`,[`builder`,...t.map(e=>`${e}FieldComparison`),`PageInfo`,`Paging`,`SortDirection`]),m(`~/env`,[`env`]),m(`@lakeql/api/helpers`,[`calculatePageInfoData`,`handleErrorResponse`,`transformTrinoResponse`]),m(`@lakeql/query-builder`,[`SortInput`],{typeOnly:!0}),m(`@lakeql/query-builder`,[`formatQuery`,`generateQuery`,`getSelectFields`]),m(`@lakeql/trino-client`,[`TrinoClient`]),m(`./interface`,[...Object.values(e).map(e=>e.interfaceName),`TableDefinition`],{typeOnly:!0}),m(`./config`,[`hiveConfig`]),p(`./json-schema.json`,`jsonSchema`)]}function O({rootModel:e,filterFields:n}){return[c(`FilterInput`,f(o(`${e.modelName}FilterInput`),[_(`fields`,u([...n.map(e=>_(e.name,S([_(`type`,d(E(e)))]))),_(`and`,S([_(`type`,t([d(`FilterInput`)]))])),_(`or`,S([_(`type`,t([d(`FilterInput`)]))]))]))]))]}function k(e,t){return _(e,S([_(`type`,d(t)),_(`required`,i(!0))]))}function A(e,t,n=[]){return _(e,x(e,[_(`type`,t),...n]))}function j(e){return[_(`fields`,u(e))]}function M({rootModel:e,filterFields:n}){return[c(`SortFields`,a(`enumType`,[y(`${e.modelName}SortFields`),h([_(`values`,r(t(n.map(e=>y(e.name)),!0)))])]))]}function N({rootModel:e}){return[c(`SortingInput`,f(o(`${e.modelName}SortOrder`),j([k(`field`,`SortFields`),k(`direction`,`SortDirection`)])))]}function P({rootModel:e,models:n}){return[...Object.values(n).map(e=>c(e.modelName,s(e.modelName,[C(e.interfaceName)]))),c(`Connection`,s(`${e.modelName}Connection`,[C(`ConnectionInterface`,[C(e.interfaceName)])])),l(f(`Connection`,j([A(`totalCount`,y(`Int`)),A(`pageInfo`,d(`PageInfo`)),A(`nodes`,t([d(e.modelName)]),[_(`nullable`,i(!1))])])))]}function F({models:e}){return Object.values(e).toReversed().map(e=>{let t=Object.values(e.fields).map(e=>{let t=A(e.name,d(e.graphqlTplType),[_(`nullable`,i(!0))]);return(e.graphqlType===`DateTime`||e.graphqlType===`Date`)&&(w.addSyntheticLeadingComment(t.initializer,w.SyntaxKind.SingleLineCommentTrivia,` @ts-expect-error not sure why, but it doesn't get the type`,!0),w.addSyntheticLeadingComment(t.initializer,w.SyntaxKind.SingleLineCommentTrivia,` GH Issue: https://github.com/hayes/pothos/issues/1277`,!0)),t});return l(f(e.modelName,j(t)))})}function I({transformFields:e}){let t=new Map;for(let n of e){let[e,r]=n;if(e===void 0||r===void 0)continue;let i=t.get(e);if(i!==void 0&&i!==r)throw Error(`Conflicting transform field mapping for "${e}": "${i}" vs "${r}".`);t.set(e,r)}return[w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList([w.factory.createVariableDeclaration(w.factory.createIdentifier(`transformFields`),void 0,w.factory.createTypeReferenceNode(`Record`,[w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword),w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)]),h([...t.entries()].map(([e,t])=>_(e,y(t)))))],w.NodeFlags.Const))]}function L({dateTimeFields:e}){return[w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList([w.factory.createVariableDeclaration(w.factory.createIdentifier(`dateFields`),void 0,w.factory.createArrayTypeNode(w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)),t(e.map(e=>y(e))))],w.NodeFlags.Const))]}function R(e,t,n){return _(e,b([_(`type`,t),_(`required`,i(n))]))}function z(e){return w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList(e,w.NodeFlags.Const))}function B(t,n){return w.factory.createBinaryExpression(w.factory.createPropertyAccessChain(e(`args`,`paging`),w.factory.createToken(w.SyntaxKind.QuestionDotToken),d(t)),w.factory.createToken(w.SyntaxKind.QuestionQuestionToken),w.factory.createNumericLiteral(n))}function V(e){return h([_(`totalCount`,e),_(`page`,B(`page`,`1`)),_(`perPage`,B(`perPage`,`100`))])}function H(e){return w.factory.createCallExpression(d(`calculatePageInfoData`),void 0,[V(e)])}function U(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`offset`)),w.factory.createBindingElement(void 0,void 0,d(`limit`))]),void 0,void 0,H(w.factory.createNumericLiteral(`0`)))])}function W(){return z([w.factory.createVariableDeclaration(d(`selectFields`),void 0,void 0,w.factory.createCallExpression(d(`getSelectFields`),[C(`TableDefinition`)],[d(`info`),i(!0)]))])}function G(){return z([w.factory.createVariableDeclaration(d(`query`),void 0,void 0,w.factory.createCallExpression(d(`generateQuery`),[C(`TableDefinition`)],[h([v(`selectFields`),_(`schema`,e(`hiveConfig`,`schema`)),_(`table`,e(`hiveConfig`,`tableName`)),v(`transformFields`),_(`catalog`,e(`hiveConfig`,`catalog`)),_(`userQuery`,w.factory.createBinaryExpression(e(`args`,`filter`),w.factory.createToken(w.SyntaxKind.QuestionQuestionToken),h([],!1))),v(`dateFields`),_(`paging`,h([v(`offset`),v(`limit`)])),_(`sorting`,w.factory.createAsExpression(e(`args`,`sorting`),w.factory.createArrayTypeNode(C(`SortInput`,[C(`TableDefinition`)]))))])]))])}function K(){return z([w.factory.createVariableDeclaration(d(`client`),void 0,void 0,w.factory.createNewExpression(d(`TrinoClient`),void 0,[h([_(`host`,e(`env`,`HIVE_HOST`)),_(`port`,e(`env`,`HIVE_PORT`)),_(`auth`,h([_(`type`,y(`basic`)),_(`username`,e(`env`,`HIVE_USERNAME`)),_(`password`,e(`env`,`HIVE_PASSWORD`))])),_(`catalog`,e(`env`,`HIVE_CATALOG`)),_(`source`,e(`env`,`HIVE_SOURCE`))])]))])}function q(){return z([w.factory.createVariableDeclaration(d(`records`),void 0,void 0,w.factory.createAwaitExpression(w.factory.createCallExpression(e(w.factory.createCallExpression(e(d(`client`),`query`),[C(`TrinoArrayResponse`,[C(`TableDefinition`)])],[h([_(`sql`,w.factory.createCallExpression(d(`formatQuery`),[C(`TableDefinition`)],[h([v(`query`)],!1)]))],!0)]),`catch`),void 0,[n([w.factory.createParameterDeclaration(void 0,void 0,d(`e`),void 0,w.factory.createKeywordTypeNode(w.SyntaxKind.UnknownKeyword))],w.factory.createBlock([w.addSyntheticLeadingComment(w.factory.createThrowStatement(w.factory.createCallExpression(d(`handleErrorResponse`),void 0,[h([_(`errorMessage`,d(`e`)),v(`context`),v(`info`)],!1)])),w.SyntaxKind.SingleLineCommentTrivia,` @ts-expect-error e is unknown - ignore it for now`,!0)],!0))])))])}function J(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`total_count`)),w.factory.createBindingElement(void 0,void 0,d(`data`))]),void 0,void 0,w.factory.createCallExpression(d(`transformTrinoResponse`),void 0,[h([_(`response`,d(`records`)),_(`selectFields`,w.factory.createAsExpression(d(`selectFields`),w.factory.createArrayTypeNode(w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)))),v(`dateFields`),v(`transformFields`),_(`jsonSchema`,w.factory.createAsExpression(d(`jsonSchema`),C(`JSONSchema7`)))])]))])}function Y(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`totalCount`)),w.factory.createBindingElement(w.factory.createToken(w.SyntaxKind.DotDotDotToken),void 0,d(`pageInfo`))]),void 0,void 0,H(d(`total_count`)))])}function X(){return w.factory.createReturnStatement(h([v(`totalCount`),v(`pageInfo`),_(`nodes`,d(`data`))]))}function Z(){return h([_(`catalog`,e(`hiveConfig`,`catalog`)),_(`schema`,e(`hiveConfig`,`schema`)),_(`tableName`,e(`hiveConfig`,`tableName`))])}function Q(){return h([_(`authorized`,i(!0)),_(`readPermission`,Z())])}function $(){return n([g(`_parent`),g(`args`),g(`context`),g(`info`)],w.factory.createBlock([U(),W(),G(),K(),q(),J(),Y(),X()],!0),{async:!0})}function ee(e){return _(e,S([_(`type`,d(`Connection`)),_(`args`,h([R(`filter`,d(`FilterInput`),!1),R(`paging`,d(`Paging`),!1),R(`sorting`,t([d(`SortingInput`)]),!0)])),_(`authScopes`,Q()),_(`resolve`,$())]))}function te({queryName:e}){return[a(`queryFields`,[u([ee(e)])])]}export{T as generateQuerySchema};
1
+ import{access as e,arrayLiteral as t,arrowFunction as n,asConst as r,bool as i,builderCall as a,builderInputRef as o,builderObjectRef as s,constStatement as c,expressionStatement as l,fieldsFunction as u,id as d,implement as f,importDefault as p,importNames as m,objectLiteral as h,parameter as g,property as _,shorthand as v,stringLiteral as y,tArg as b,tExpose as x,tField as S,typeRef as C}from"./ast-builders.mjs";import w from"typescript";function T({models:e,queryName:t,transformFields:n,filterFields:r,filterTypes:i,dateTimeFields:a}){let o=Object.values(e).find(e=>e.root);if(!o)throw Error(`generateQuerySchema requires exactly one root model`);return[...D({filterTypes:i,models:e}),...O({filterFields:r,rootModel:o}),...M({filterFields:r,rootModel:o}),...N({rootModel:o}),...P({models:e,rootModel:o}),...F({models:e}),...I({transformFields:n}),...L({dateTimeFields:a}),...te({queryName:t})]}function E(e){switch(e.type){case`String`:return`StringFieldComparison`;case`Int`:return`IntFieldComparison`;case`Float`:return`FloatFieldComparison`;case`Boolean`:return`BooleanFieldComparison`;case`Date`:return`DateFieldComparison`;case`DateTime`:return`DateTimeFieldComparison`;case`ID`:return`IDFieldComparison`;default:return e.type}}function D({models:e,filterTypes:t}){return[m(`@lakeql/api/types`,[`ConnectionInterface`,`TrinoArrayResponse`],{typeOnly:!0}),m(`json-schema`,[`JSONSchema7`],{typeOnly:!0}),m(`@lakeql/api/builder`,[`builder`,...t.map(e=>`${e}FieldComparison`),`PageInfo`,`Paging`,`SortDirection`]),m(`~/env`,[`env`]),m(`@lakeql/api/helpers`,[`calculatePageInfoData`,`handleErrorResponse`,`transformTrinoResponse`]),m(`@lakeql/query-builder`,[`SortInput`],{typeOnly:!0}),m(`@lakeql/query-builder`,[`formatQuery`,`generateQuery`,`getSelectFields`]),m(`@lakeql/trino-client`,[`TrinoClient`]),m(`./interface`,[...Object.values(e).map(e=>e.interfaceName),`TableDefinition`],{typeOnly:!0}),m(`./config`,[`hiveConfig`]),p(`./json-schema.json`,`jsonSchema`)]}function O({rootModel:e,filterFields:n}){return[c(`FilterInput`,f(o(`${e.modelName}FilterInput`),[_(`fields`,u([...n.map(e=>_(e.name,S([_(`type`,d(E(e)))]))),_(`and`,S([_(`type`,t([d(`FilterInput`)]))])),_(`or`,S([_(`type`,t([d(`FilterInput`)]))]))]))]))]}function k(e,t){return _(e,S([_(`type`,d(t)),_(`required`,i(!0))]))}function A(e,t,n=[]){return _(e,x(e,[_(`type`,t),...n]))}function j(e){return[_(`fields`,u(e))]}function M({rootModel:e,filterFields:n}){return[c(`SortFields`,a(`enumType`,[y(`${e.modelName}SortFields`),h([_(`values`,r(t(n.map(e=>y(e.name)),!0)))])]))]}function N({rootModel:e}){return[c(`SortingInput`,f(o(`${e.modelName}SortOrder`),j([k(`field`,`SortFields`),k(`direction`,`SortDirection`)])))]}function P({rootModel:e,models:n}){return[...Object.values(n).map(e=>c(e.modelName,s(e.modelName,[C(e.interfaceName)]))),c(`Connection`,s(`${e.modelName}Connection`,[C(`ConnectionInterface`,[C(e.interfaceName)])])),l(f(`Connection`,j([A(`totalCount`,y(`Int`)),A(`pageInfo`,d(`PageInfo`)),A(`nodes`,t([d(e.modelName)]),[_(`nullable`,i(!1))])])))]}function F({models:e}){return Object.values(e).toReversed().map(e=>{let t=Object.values(e.fields).map(e=>{let t=A(e.name,d(e.graphqlTplType),[_(`nullable`,i(!0))]);return(e.graphqlType===`DateTime`||e.graphqlType===`Date`)&&(w.addSyntheticLeadingComment(t.initializer,w.SyntaxKind.SingleLineCommentTrivia,` @ts-expect-error not sure why, but it doesn't get the type`,!0),w.addSyntheticLeadingComment(t.initializer,w.SyntaxKind.SingleLineCommentTrivia,` GH Issue: https://github.com/hayes/pothos/issues/1277`,!0)),t});return l(f(e.modelName,j(t)))})}function I({transformFields:e}){let t=new Map;for(let n of e){let[e,r]=n;if(e===void 0||r===void 0)continue;let i=t.get(e);if(i!==void 0&&i!==r)throw Error(`Conflicting transform field mapping for "${e}": "${i}" vs "${r}".`);t.set(e,r)}return[w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList([w.factory.createVariableDeclaration(w.factory.createIdentifier(`transformFields`),void 0,w.factory.createTypeReferenceNode(`Record`,[w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword),w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)]),h([...t.entries()].map(([e,t])=>_(e,y(t)))))],w.NodeFlags.Const))]}function L({dateTimeFields:e}){return[w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList([w.factory.createVariableDeclaration(w.factory.createIdentifier(`dateFields`),void 0,w.factory.createArrayTypeNode(w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)),t(e.map(e=>y(e))))],w.NodeFlags.Const))]}function R(e,t,n){return _(e,b([_(`type`,t),_(`required`,i(n))]))}function z(e){return w.factory.createVariableStatement(void 0,w.factory.createVariableDeclarationList(e,w.NodeFlags.Const))}function B(t,n){return w.factory.createBinaryExpression(w.factory.createPropertyAccessChain(e(`args`,`paging`),w.factory.createToken(w.SyntaxKind.QuestionDotToken),d(t)),w.factory.createToken(w.SyntaxKind.QuestionQuestionToken),w.factory.createNumericLiteral(n))}function V(e){return h([_(`totalCount`,e),_(`page`,B(`page`,`1`)),_(`perPage`,B(`perPage`,`100`))])}function H(e){return w.factory.createCallExpression(d(`calculatePageInfoData`),void 0,[V(e)])}function U(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`offset`)),w.factory.createBindingElement(void 0,void 0,d(`limit`))]),void 0,void 0,H(w.factory.createNumericLiteral(`0`)))])}function W(){return z([w.factory.createVariableDeclaration(d(`selectFields`),void 0,void 0,w.factory.createCallExpression(d(`getSelectFields`),[C(`TableDefinition`)],[w.factory.createObjectLiteralExpression([w.factory.createPropertyAssignment(d(`graphqlInfo`),d(`info`)),w.factory.createPropertyAssignment(d(`withNodes`),i(!0))],!1)]))])}function G(){return z([w.factory.createVariableDeclaration(d(`query`),void 0,void 0,w.factory.createCallExpression(d(`generateQuery`),[C(`TableDefinition`)],[h([v(`selectFields`),_(`schema`,e(`hiveConfig`,`schema`)),_(`table`,e(`hiveConfig`,`tableName`)),v(`transformFields`),_(`catalog`,e(`hiveConfig`,`catalog`)),_(`userQuery`,w.factory.createBinaryExpression(e(`args`,`filter`),w.factory.createToken(w.SyntaxKind.QuestionQuestionToken),h([],!1))),v(`dateFields`),_(`paging`,h([v(`offset`),v(`limit`)])),_(`sorting`,w.factory.createAsExpression(e(`args`,`sorting`),w.factory.createArrayTypeNode(C(`SortInput`,[C(`TableDefinition`)]))))])]))])}function K(){return z([w.factory.createVariableDeclaration(d(`client`),void 0,void 0,w.factory.createNewExpression(d(`TrinoClient`),void 0,[h([_(`host`,e(`env`,`HIVE_HOST`)),_(`port`,e(`env`,`HIVE_PORT`)),_(`auth`,h([_(`type`,y(`basic`)),_(`username`,e(`env`,`HIVE_USERNAME`)),_(`password`,e(`env`,`HIVE_PASSWORD`))])),_(`catalog`,e(`env`,`HIVE_CATALOG`)),_(`source`,e(`env`,`HIVE_SOURCE`))])]))])}function q(){return z([w.factory.createVariableDeclaration(d(`records`),void 0,void 0,w.factory.createAwaitExpression(w.factory.createCallExpression(e(w.factory.createCallExpression(e(d(`client`),`query`),[C(`TrinoArrayResponse`,[C(`TableDefinition`)])],[h([_(`sql`,w.factory.createCallExpression(d(`formatQuery`),[C(`TableDefinition`)],[h([v(`query`)],!1)]))],!0)]),`catch`),void 0,[n([w.factory.createParameterDeclaration(void 0,void 0,d(`e`),void 0,w.factory.createKeywordTypeNode(w.SyntaxKind.UnknownKeyword))],w.factory.createBlock([w.addSyntheticLeadingComment(w.factory.createThrowStatement(w.factory.createCallExpression(d(`handleErrorResponse`),void 0,[h([_(`errorMessage`,d(`e`)),v(`context`),v(`info`)],!1)])),w.SyntaxKind.SingleLineCommentTrivia,` @ts-expect-error e is unknown - ignore it for now`,!0)],!0))])))])}function J(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`total_count`)),w.factory.createBindingElement(void 0,void 0,d(`data`))]),void 0,void 0,w.factory.createCallExpression(d(`transformTrinoResponse`),void 0,[h([_(`response`,d(`records`)),_(`selectFields`,w.factory.createAsExpression(d(`selectFields`),w.factory.createArrayTypeNode(w.factory.createKeywordTypeNode(w.SyntaxKind.StringKeyword)))),v(`dateFields`),v(`transformFields`),_(`jsonSchema`,w.factory.createAsExpression(d(`jsonSchema`),C(`JSONSchema7`)))])]))])}function Y(){return z([w.factory.createVariableDeclaration(w.factory.createObjectBindingPattern([w.factory.createBindingElement(void 0,void 0,d(`totalCount`)),w.factory.createBindingElement(w.factory.createToken(w.SyntaxKind.DotDotDotToken),void 0,d(`pageInfo`))]),void 0,void 0,H(d(`total_count`)))])}function X(){return w.factory.createReturnStatement(h([v(`totalCount`),v(`pageInfo`),_(`nodes`,d(`data`))]))}function Z(){return h([_(`catalog`,e(`hiveConfig`,`catalog`)),_(`schema`,e(`hiveConfig`,`schema`)),_(`tableName`,e(`hiveConfig`,`tableName`))])}function Q(){return h([_(`authorized`,i(!0)),_(`readPermission`,Z())])}function $(){return n([g(`_parent`),g(`args`),g(`context`),g(`info`)],w.factory.createBlock([U(),W(),G(),K(),q(),J(),Y(),X()],!0),{async:!0})}function ee(e){return _(e,S([_(`type`,d(`Connection`)),_(`args`,h([R(`filter`,d(`FilterInput`),!1),R(`paging`,d(`Paging`),!1),R(`sorting`,t([d(`SortingInput`)]),!0)])),_(`authScopes`,Q()),_(`resolve`,$())]))}function te({queryName:e}){return[a(`queryFields`,[u([ee(e)])])]}export{T as generateQuerySchema};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lakeql/file-generator",
3
- "version": "0.1.12",
3
+ "version": "0.2.0",
4
4
  "description": "Generates TypeScript source files from Trino table metadata",
5
5
  "keywords": [
6
6
  "ast",
@@ -60,16 +60,16 @@
60
60
  },
61
61
  "dependencies": {
62
62
  "typescript": "6.0.3",
63
- "@lakeql/helpers": "0.1.6",
64
- "@lakeql/schema-generator": "0.4.5"
63
+ "@lakeql/helpers": "0.1.7",
64
+ "@lakeql/schema-generator": "0.4.6"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@types/json-schema": "7.0.15",
68
- "@types/node": "24.13.2",
68
+ "@types/node": "24.13.3",
69
69
  "lodash-es": "4.18.1",
70
- "tsdown": "0.22.3",
71
- "vitest": "4.1.9",
72
- "@lakeql/column-parser": "0.1.5",
70
+ "tsdown": "0.22.13",
71
+ "vitest": "4.1.10",
72
+ "@lakeql/column-parser": "0.1.6",
73
73
  "@lakeql/tsconfig": "0.1.0"
74
74
  },
75
75
  "scripts": {