@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.
package/dist/ast-builders.d.mts
CHANGED
|
@@ -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 };
|
package/dist/interface.d.mts
CHANGED
|
@@ -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)[];
|
package/dist/query-schema.d.mts
CHANGED
|
@@ -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 };
|
package/dist/query-schema.mjs
CHANGED
|
@@ -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.
|
|
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.
|
|
64
|
-
"@lakeql/schema-generator": "0.4.
|
|
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.
|
|
68
|
+
"@types/node": "24.13.3",
|
|
69
69
|
"lodash-es": "4.18.1",
|
|
70
|
-
"tsdown": "0.22.
|
|
71
|
-
"vitest": "4.1.
|
|
72
|
-
"@lakeql/column-parser": "0.1.
|
|
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": {
|