@narrative.io/data-collaboration-sdk-ts 0.0.123 → 0.0.125
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/build/index.d.ts +2 -2
- package/build/index.js +2 -2
- package/build/nql/Ast.d.ts +2 -2
- package/build/nql/AstParser.d.ts +20 -1
- package/build/nql/AstParser.js +65 -0
- package/build/nql/NQLParser.js +1 -1
- package/build/nql/NqlBuilder.d.ts +6 -3
- package/build/nql/NqlBuilder.js +30 -1
- package/build/nql/index.d.ts +5 -3
- package/build/nql/index.js +3 -0
- package/package.json +1 -1
package/build/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { type PingStatus } from "./ping/types";
|
|
|
16
16
|
import { type Product, ProductsApi } from "./products";
|
|
17
17
|
import { CompanyInfoApi, type CompanyInfo } from "./company-info";
|
|
18
18
|
import { InstallationsApi, type Installation } from "./installations";
|
|
19
|
-
import { NqlApi, type Nql, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression } from "./nql";
|
|
19
|
+
import { NqlApi, type CompiledNql, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, compileStatement, parseStatement } from "./nql";
|
|
20
20
|
import { DataStreamsApi, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet } from "./data-streams";
|
|
21
21
|
import { ForecastApi, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState } from "./forecast";
|
|
22
22
|
import { ContractsApi, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView } from "./contracts";
|
|
@@ -33,4 +33,4 @@ declare class NarrativeApi extends BaseApi {
|
|
|
33
33
|
}
|
|
34
34
|
interface NarrativeApi extends BaseApi, HealthCheckApi, DatasetApi, RosettaStoneApi, AttributeApi, PingApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, MappingsApi, AccessRulesApi, AppsApi, SubscriptionsApi {
|
|
35
35
|
}
|
|
36
|
-
export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, type App, type Resource, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type Dataset, type HealthCheckResult, type SampleRecords, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaArrayProperty, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type Nql, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, };
|
|
36
|
+
export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, type App, type Resource, type UploadsResponse, type PingStatus, type Attribute, type ShallowAttribute, type RefAttribute, type SubAttribute, type PrimitiveAttribute, type ArrayAttribute, type ObjectAttribute, type Environment, type Config, type ApiRecords, type Dataset, type HealthCheckResult, type SampleRecords, type DatasetTableSummary, type DatasetTableSummaryAPIResponse, type UpdateDatasetRequest, type SchemaFileConfigType, type SchemaPropertiesType, type DatasetStatus, type DatasetWriteMode, type SchemaFileConfig, type SchemaProperties, type SchemaArrayProperty, type Schema, type AdvancedStatisticsMetadata, type SnapshotRange, type Configuration, type Columns, type ColumnSummary, type BasicStatistics, type AdvancedStatistics, type Histogram, type Value, type Product, type MonetaryAmount, type CompanyInfo, type Installation, type FilePerSnapshotResponse, type BucketCreationRequest, type UpdateAccessTypeRequest, type CompiledNql, type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table, type Nql, type NqlAst, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, type DataStream, type DataRules, type ColumnSet, type ColumnWithFilterAndExport, type AttributeSet, type ForecastRequest, type ForecastResponse, type CostForecastRequest, type CostForecastResponse, type JobState, type ContractDetails, type CustomerContract, type PaymentMethod, type ContractRateView, type LoginRequest, type LoginResponse, type RegisterRequest, type RegisterResponse, type LoggedInUser, type StytchToken, type ApiToken, type UserRole, type RegistrationStatus, type RegistrationStatusRequest, type RegistrationStatusResponse, type ForecastBody, type ConversationAssistantMessage, type ConversationFunctionMessage, type ConversationIOMessage, type ConversationMessage, type ConversationMessageName, type ConversationMessageRole, type ConversationMessages, type ConversationSystemMessage, type ConversationUserMessage, type RosettaRequestMessage, type ConversationMessageFunctionCall, type ConversationAssistantMessageWithFunctionCall, type RosettaResponseMessage, type ConversationAssistantMessageWithoutFunctionCall, type RetentionPolicy, type AccessRule, type Subscription, type SubscriptionDetails, type DataStreamSubscriptionDetails, type MarketplaceSubscriptionDetails, type SubscriptionOutput, type SubscriptionType, type SubscriptionStatus, type SubscriptionBudget, compileStatement, parseStatement, };
|
package/build/index.js
CHANGED
|
@@ -10,7 +10,7 @@ import { UploadsApi } from "./uploads";
|
|
|
10
10
|
import { ProductsApi } from "./products";
|
|
11
11
|
import { CompanyInfoApi } from "./company-info";
|
|
12
12
|
import { InstallationsApi } from "./installations";
|
|
13
|
-
import { NqlApi, } from "./nql";
|
|
13
|
+
import { NqlApi, compileStatement, parseStatement, } from "./nql";
|
|
14
14
|
import { DataStreamsApi, } from "./data-streams";
|
|
15
15
|
import { ForecastApi, } from "./forecast";
|
|
16
16
|
import { ContractsApi, } from "./contracts";
|
|
@@ -45,4 +45,4 @@ applyMixins(NarrativeApi, [
|
|
|
45
45
|
AccessRulesApi,
|
|
46
46
|
SubscriptionsApi,
|
|
47
47
|
]);
|
|
48
|
-
export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, };
|
|
48
|
+
export { NarrativeApi, AttributeApi, HealthCheckApi, DatasetApi, PingApi, ProductsApi, CompanyInfoApi, InstallationsApi, UploadsApi, ResourceApi, NqlApi, DataStreamsApi, ForecastApi, ContractsApi, AuthenticationApi, AppsApi, MappingsApi, AccessRulesApi, SubscriptionsApi, getNqlObject, buildNql, convertNqlObjectToForecastBody, isConversationAssistantMessage, isConversationFunctionMessage, isConversationInputMessage, isConversationMessage, isConversationMessageName, isConversationMessageRole, isConversationMessages, isConversationSystemMessage, isConversationUserMessage, isType, isConversationMessageFunctionCall, isConversationAssistantMessageWithFunctionCall, isRosettaRequestMessage, isConversationAssistantMessageWithoutFunctionCall, compileStatement, parseStatement, };
|
package/build/nql/Ast.d.ts
CHANGED
|
@@ -174,9 +174,9 @@ interface NqlExplain {
|
|
|
174
174
|
query: NqlAst;
|
|
175
175
|
type: "explain";
|
|
176
176
|
}
|
|
177
|
-
|
|
177
|
+
interface NqlAstList extends Array<NqlAst> {
|
|
178
178
|
type: "ast_list";
|
|
179
|
-
}
|
|
179
|
+
}
|
|
180
180
|
export declare function isAstArray(n: NqlAst): n is NqlAstList;
|
|
181
181
|
type NqlAst = {
|
|
182
182
|
type: string;
|
package/build/nql/AstParser.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import * as ast from "./Ast";
|
|
2
|
+
type Statement = CreateMaterializedView | Explain;
|
|
3
|
+
interface CreateMaterializedView {
|
|
4
|
+
type: "create_materialized_view";
|
|
5
|
+
name: string;
|
|
6
|
+
select: Select;
|
|
7
|
+
}
|
|
8
|
+
interface Explain {
|
|
9
|
+
type: "explain";
|
|
10
|
+
query: Select;
|
|
11
|
+
}
|
|
2
12
|
interface Select {
|
|
3
13
|
type: "select";
|
|
4
14
|
budget: ast.NqlBudget | null;
|
|
5
15
|
columns: Expression[];
|
|
16
|
+
deduplication: Deduplication | Raw | null;
|
|
6
17
|
from: Table[] | Raw;
|
|
7
18
|
where: BooleanExpression | Raw | null;
|
|
8
19
|
}
|
|
@@ -12,6 +23,10 @@ interface Raw {
|
|
|
12
23
|
as?: string;
|
|
13
24
|
nql: string;
|
|
14
25
|
}
|
|
26
|
+
interface Deduplication {
|
|
27
|
+
type: "deduplication";
|
|
28
|
+
expressions: Expression[];
|
|
29
|
+
}
|
|
15
30
|
type ColumnRef = AttributeRef | DatasetColumnRef | RawRef;
|
|
16
31
|
type ArithmeticExpression = BinaryArithmeticExpression | UnaryMinus;
|
|
17
32
|
type BinaryArithmeticExpression = Add | Divide | Multiply | Subtract;
|
|
@@ -179,8 +194,12 @@ interface Concat {
|
|
|
179
194
|
as?: string;
|
|
180
195
|
operands: Expression[];
|
|
181
196
|
}
|
|
182
|
-
export type { Expression, Raw, Select, Table };
|
|
197
|
+
export type { CreateMaterializedView, Deduplication, Explain, Expression, Raw, Select, Statement, Table, };
|
|
198
|
+
export declare function parseStatement(n: ast.NqlAst): Statement | Raw;
|
|
199
|
+
export declare function parseCreateMaterializedView(n: ast.NqlCreateMaterializedView): CreateMaterializedView;
|
|
200
|
+
export declare function parseExplain(n: ast.NqlExplain): Explain | Raw;
|
|
183
201
|
export declare function parseSelect(n: ast.NqlSelect): Select;
|
|
184
202
|
export declare function parseFrom(n: ast.NqlAst): Table[];
|
|
185
203
|
export declare function parseWhere(n: ast.NqlAst): BooleanExpression | Raw;
|
|
204
|
+
export declare function parseDeduplication(n: ast.NqlSelect): Deduplication | Raw | null;
|
|
186
205
|
export declare function parseExpression(n: ast.NqlAst): Expression;
|
package/build/nql/AstParser.js
CHANGED
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
import * as ast from "./Ast";
|
|
2
|
+
export function parseStatement(n) {
|
|
3
|
+
switch (n.type) {
|
|
4
|
+
case "create_materialized_view":
|
|
5
|
+
return parseCreateMaterializedView(n);
|
|
6
|
+
case "explain":
|
|
7
|
+
return parseExplain(n);
|
|
8
|
+
default:
|
|
9
|
+
return nqlOrFail(n);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function parseCreateMaterializedView(n) {
|
|
13
|
+
const select = parseSelect(n.select);
|
|
14
|
+
const create = {
|
|
15
|
+
type: "create_materialized_view",
|
|
16
|
+
name: n.name,
|
|
17
|
+
select,
|
|
18
|
+
};
|
|
19
|
+
return create;
|
|
20
|
+
}
|
|
21
|
+
export function parseExplain(n) {
|
|
22
|
+
switch (n.query.type) {
|
|
23
|
+
case "select": {
|
|
24
|
+
const explain = {
|
|
25
|
+
type: "explain",
|
|
26
|
+
query: parseSelect(n.query),
|
|
27
|
+
};
|
|
28
|
+
return explain;
|
|
29
|
+
}
|
|
30
|
+
default:
|
|
31
|
+
return nqlOrFail(n);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
2
34
|
export function parseSelect(n) {
|
|
3
35
|
const select = {
|
|
4
36
|
type: "select",
|
|
5
37
|
budget: n.budget,
|
|
6
38
|
columns: n.columns.map((col) => parseExpression(col)),
|
|
39
|
+
deduplication: parseDeduplication(n),
|
|
7
40
|
from: n.from !== null ? parseFrom(n.from) : [],
|
|
8
41
|
where: n.where !== null ? parseWhere(n.where) : null,
|
|
9
42
|
};
|
|
@@ -34,6 +67,38 @@ export function parseWhere(n) {
|
|
|
34
67
|
return nqlOrFail(n);
|
|
35
68
|
}
|
|
36
69
|
}
|
|
70
|
+
// Expect deduplication to be a qualify clause of the form:
|
|
71
|
+
// row_number() over(partition by $expr0, $expr1, ... order by 0) = 1
|
|
72
|
+
export function parseDeduplication(n) {
|
|
73
|
+
if (n.qualify !== null &&
|
|
74
|
+
n.qualify.type === "binary_op" &&
|
|
75
|
+
n.qualify.name === "=" &&
|
|
76
|
+
n.qualify.left.type === "binary_op" &&
|
|
77
|
+
n.qualify.left.name === "OVER" &&
|
|
78
|
+
n.qualify.left.left.type === "agg_function" &&
|
|
79
|
+
n.qualify.left.left.name === "ROW_NUMBER" &&
|
|
80
|
+
n.qualify.left.right.type === "window" &&
|
|
81
|
+
n.qualify.left.right.order_by.length === 1 &&
|
|
82
|
+
n.qualify.left.right.order_by[0].type === "literal" &&
|
|
83
|
+
n.qualify.left.right.order_by[0].value_type.type === "long" &&
|
|
84
|
+
n.qualify.left.right.order_by[0].value === "0" &&
|
|
85
|
+
n.qualify.left.right.lower_bound === null &&
|
|
86
|
+
n.qualify.left.right.upper_bound === null &&
|
|
87
|
+
n.qualify.left.right.partitions.length > 0 &&
|
|
88
|
+
// assert all partition expression are known/knowable
|
|
89
|
+
!n.qualify.left.right.partitions.some((e) => parseExpression(e).type === "nql") &&
|
|
90
|
+
n.qualify.right.type === "literal" &&
|
|
91
|
+
n.qualify.right.value_type.type === "long" &&
|
|
92
|
+
n.qualify.right.value === "1") {
|
|
93
|
+
const partitions = n.qualify.left.right.partitions.map(parseExpression);
|
|
94
|
+
const dedup = {
|
|
95
|
+
type: "deduplication",
|
|
96
|
+
expressions: partitions,
|
|
97
|
+
};
|
|
98
|
+
return dedup;
|
|
99
|
+
}
|
|
100
|
+
return n.qualify !== null ? nqlOrFail(n.qualify) : null;
|
|
101
|
+
}
|
|
37
102
|
export function parseExpression(n) {
|
|
38
103
|
const parse = oneOf(parseArithmetic, parseBooleanExpression, parseColumnRef, parseFunctionCall, parseLit, parseStringExpression);
|
|
39
104
|
return parse(n);
|
package/build/nql/NQLParser.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { type NqlBudget } from "./Ast";
|
|
2
|
-
import { type
|
|
3
|
-
type CompiledNql = string;
|
|
2
|
+
import { type CreateMaterializedView, type Deduplication, type Explain, type Expression, type Raw, type Select, type Statement, type Table } from "./AstParser";
|
|
3
|
+
export type CompiledNql = string;
|
|
4
|
+
export declare function compileStatement(n: Statement): CompiledNql;
|
|
5
|
+
export declare function compileCreateMaterializedView(n: CreateMaterializedView): CompiledNql;
|
|
6
|
+
export declare function compileExplain(n: Explain): CompiledNql;
|
|
4
7
|
export declare function compileSelect(q: Select): CompiledNql;
|
|
5
8
|
export declare function compileBudget(budget: NqlBudget): CompiledNql;
|
|
9
|
+
export declare function compileDeduplication(d: Deduplication | Raw): CompiledNql;
|
|
6
10
|
export declare function compileFrom(tables: Table[] | Raw): CompiledNql;
|
|
7
11
|
export declare function compileExpression(n: Expression): CompiledNql;
|
|
8
|
-
export {};
|
package/build/nql/NqlBuilder.js
CHANGED
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
const quoteChar = '"';
|
|
2
|
+
export function compileStatement(n) {
|
|
3
|
+
switch (n.type) {
|
|
4
|
+
case "create_materialized_view":
|
|
5
|
+
return compileCreateMaterializedView(n);
|
|
6
|
+
case "explain":
|
|
7
|
+
return compileExplain(n);
|
|
8
|
+
default:
|
|
9
|
+
return unreachable(n);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export function compileCreateMaterializedView(n) {
|
|
13
|
+
// eslint-disable-next-line prettier/prettier
|
|
14
|
+
return `CREATE MATERIALIZE VIEW ${quote(n.name)} (${compileSelect(n.select)})`;
|
|
15
|
+
}
|
|
16
|
+
export function compileExplain(n) {
|
|
17
|
+
return `EXPLAIN ${compileSelect(n.query)}`;
|
|
18
|
+
}
|
|
2
19
|
export function compileSelect(q) {
|
|
3
20
|
const columns = q.columns.map((e) => compileExpression(e));
|
|
4
21
|
const select = `SELECT ${columns.join(", ")}`;
|
|
5
22
|
const budget = q.budget !== null ? compileBudget(q.budget) : "";
|
|
6
23
|
const from = `FROM ${compileFrom(q.from)}`;
|
|
7
24
|
const where = q.where !== null ? `WHERE ${compileExpression(q.where)}` : "";
|
|
8
|
-
|
|
25
|
+
const qualify = q.deduplication !== null
|
|
26
|
+
? `QUALIFY ${compileDeduplication(q.deduplication)}`
|
|
27
|
+
: "";
|
|
28
|
+
return `${select} ${from} ${where} ${qualify} ${budget}`;
|
|
9
29
|
}
|
|
10
30
|
export function compileBudget(budget) {
|
|
11
31
|
let period;
|
|
@@ -24,6 +44,15 @@ export function compileBudget(budget) {
|
|
|
24
44
|
// eslint-disable-next-line prettier/prettier
|
|
25
45
|
return `LIMIT ${budget.amount.value} ${budget.amount.currency.toUpperCase()} ${period}`;
|
|
26
46
|
}
|
|
47
|
+
export function compileDeduplication(d) {
|
|
48
|
+
if (d.type === "deduplication") {
|
|
49
|
+
const expressions = d.expressions.map(compileExpression).join(", ");
|
|
50
|
+
return `ROW_NUMBER() OVER (PARTITION BY ${expressions} ORDER BY 0) = 1`;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return raw(d);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
27
56
|
export function compileFrom(tables) {
|
|
28
57
|
if (isArray(tables)) {
|
|
29
58
|
return compileTableRefs(tables);
|
package/build/nql/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BaseApi } from "../base-api";
|
|
2
|
-
import type { Plan } from "./SubstraitParser";
|
|
3
2
|
import { type NqlAst } from "./Ast";
|
|
4
3
|
import type { Nql, NqlField, NqlResult, NqlCompileResult, NqlQueryInput, NqlExpression, NqlWhere, NqlFilterBinaryExpression, NqlBooleanExpression, NqlFilterExpression, NqlFilterUnaryExpression } from "./types";
|
|
5
4
|
/**
|
|
@@ -27,7 +26,7 @@ declare class NqlApi extends BaseApi {
|
|
|
27
26
|
* @param {string} nqlQuery - The NQL query to compile.
|
|
28
27
|
* @returns {Promise<NqlCompileResult>} A promise that resolves with the result of the NQL compilation.
|
|
29
28
|
*/
|
|
30
|
-
parseNql(nqlQuery: NqlQueryInput): Promise<
|
|
29
|
+
parseNql(nqlQuery: NqlQueryInput): Promise<NqlAst>;
|
|
31
30
|
/**
|
|
32
31
|
* Validates an NQL query and returns an abstract syntax tree (AST) representing a structured form of
|
|
33
32
|
* the query.
|
|
@@ -44,4 +43,7 @@ declare class NqlApi extends BaseApi {
|
|
|
44
43
|
*/
|
|
45
44
|
getNqlByJobId(id: string): Promise<NqlResult>;
|
|
46
45
|
}
|
|
47
|
-
export { NqlApi, type Nql, type
|
|
46
|
+
export { NqlApi, type Nql, type NqlField, type NqlResult, type NqlQueryInput, type NqlCompileResult, type NqlExpression, type NqlWhere, type NqlFilterExpression, type NqlBooleanExpression, type NqlFilterBinaryExpression, type NqlFilterUnaryExpression, };
|
|
47
|
+
export * from "./Ast";
|
|
48
|
+
export * from "./AstParser";
|
|
49
|
+
export * from "./NqlBuilder";
|
package/build/nql/index.js
CHANGED