@squidcloud/client 1.0.28 → 1.0.30
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/common/src/api-call.context.d.ts +8 -13
- package/dist/common/src/api.types.d.ts +14 -1
- package/dist/common/src/application.schemas.d.ts +343 -51
- package/dist/common/src/application.types.d.ts +10 -4
- package/dist/common/src/backend-run.types.d.ts +0 -1
- package/dist/common/src/context.types.d.ts +10 -0
- package/dist/common/src/graphql.context.d.ts +0 -8
- package/dist/common/src/graphql.types.d.ts +8 -0
- package/dist/common/src/index.d.ts +1 -1
- package/dist/common/src/integration.types.d.ts +102 -22
- package/dist/common/src/logger.types.d.ts +0 -1
- package/dist/common/src/metrics.types.d.ts +56 -63
- package/dist/common/src/mutation.context.d.ts +0 -1
- package/dist/common/src/query/query-context.d.ts +0 -1
- package/dist/common/src/query/simple-query-builder.d.ts +78 -2
- package/dist/common/src/regions.d.ts +1 -0
- package/dist/common/src/secret.types.d.ts +2 -0
- package/dist/common/src/security.types.d.ts +3 -0
- package/dist/common/src/utils/validation.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/package.json +1 -1
- package/dist/typescript-client/src/collection-reference.d.ts +38 -6
- package/dist/typescript-client/src/destruct.manager.d.ts +1 -1
- package/dist/typescript-client/src/document-reference.d.ts +74 -6
- package/dist/typescript-client/src/graphql-client.d.ts +3 -0
- package/dist/typescript-client/src/query/join-query-builder.factory.d.ts +49 -13
- package/dist/typescript-client/src/query/query-builder.factory.d.ts +27 -11
- package/dist/typescript-client/src/query/query.types.d.ts +7 -0
- package/dist/typescript-client/src/squid.d.ts +132 -12
- package/dist/typescript-client/src/types.d.ts +1 -1
- package/package.json +1 -1
- package/dist/common/src/metrics.schemas.d.ts +0 -3
|
@@ -58,6 +58,21 @@ export interface PostgresConnectionOptions {
|
|
|
58
58
|
export interface GraphQLConnectionOptions {
|
|
59
59
|
baseUrl: string;
|
|
60
60
|
}
|
|
61
|
+
export interface OpenApiDiscoveryOptions {
|
|
62
|
+
openApiSpecUrl: string;
|
|
63
|
+
}
|
|
64
|
+
export interface SnowflakeConnectionSecretOptions {
|
|
65
|
+
password: string;
|
|
66
|
+
}
|
|
67
|
+
export interface SnowflakeConnectionOptions {
|
|
68
|
+
secrets: SnowflakeConnectionSecretOptions;
|
|
69
|
+
account: string;
|
|
70
|
+
username: string;
|
|
71
|
+
database: string;
|
|
72
|
+
schema: string;
|
|
73
|
+
warehouse: string;
|
|
74
|
+
role: string;
|
|
75
|
+
}
|
|
61
76
|
export declare enum IntegrationType {
|
|
62
77
|
'built_in_db' = "built_in_db",
|
|
63
78
|
'mongo' = "mongo",
|
|
@@ -66,16 +81,26 @@ export declare enum IntegrationType {
|
|
|
66
81
|
'postgres' = "postgres",
|
|
67
82
|
'cockroach' = "cockroach",
|
|
68
83
|
'api' = "api",
|
|
69
|
-
'
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
84
|
+
'openapi' = "openapi",
|
|
85
|
+
'graphql' = "graphql",
|
|
86
|
+
'snowflake' = "snowflake",
|
|
87
|
+
'datadog' = "datadog",
|
|
88
|
+
'newrelic' = "newrelic"
|
|
89
|
+
}
|
|
90
|
+
export type DataIntegration = MySqlIntegration | MssqlIntegration | MongoIntegration | InternalIntegration | PostgresIntegration | CockroachIntegration | SnowflakeIntegration;
|
|
91
|
+
export type Integration = DataIntegration | ApiIntegration | OpenApiIntegration | GraphQLIntegration | DatadogIntegration | NewRelicIntegration;
|
|
73
92
|
type TableName = string;
|
|
74
93
|
export interface IntegrationDataSchema {
|
|
75
94
|
collections: Record<TableName, CollectionSchema>;
|
|
76
95
|
}
|
|
77
96
|
export interface IntegrationGraphQLSchema {
|
|
78
97
|
introspection: IntrospectionQuery;
|
|
98
|
+
injectionSchema?: Record<FieldName, ApiInjectionField>;
|
|
99
|
+
}
|
|
100
|
+
export interface IntegrationApiSchema {
|
|
101
|
+
baseUrl: string;
|
|
102
|
+
endpoints: IntegrationApiEndpoints;
|
|
103
|
+
injectionSchema?: Record<FieldName, ApiInjectionField>;
|
|
79
104
|
}
|
|
80
105
|
export type IntegrationApiEndpoints = Record<ApiEndpointId, ApiEndpoint>;
|
|
81
106
|
export type IntegrationSchema = IntegrationDataSchema | IntegrationGraphQLSchema;
|
|
@@ -86,6 +111,27 @@ interface BaseIntegration {
|
|
|
86
111
|
updateDate: Date;
|
|
87
112
|
secured: boolean;
|
|
88
113
|
}
|
|
114
|
+
export interface DatadogIntegration extends BaseIntegration {
|
|
115
|
+
type: IntegrationType.datadog;
|
|
116
|
+
configuration: DatadogIntegrationConfiguration;
|
|
117
|
+
}
|
|
118
|
+
export interface NewRelicIntegration extends BaseIntegration {
|
|
119
|
+
type: IntegrationType.newrelic;
|
|
120
|
+
configuration: NewRelicIntegrationConfiguration;
|
|
121
|
+
}
|
|
122
|
+
export type DatadogRegion = 'us1' | 'us3' | 'us5' | 'eu1' | 'us1-fed';
|
|
123
|
+
export declare const datadogRegionMap: Record<DatadogRegion, string>;
|
|
124
|
+
export interface DatadogIntegrationConfiguration {
|
|
125
|
+
apiKey: string;
|
|
126
|
+
appKey: string;
|
|
127
|
+
datadogRegion: DatadogRegion;
|
|
128
|
+
}
|
|
129
|
+
export type NewRelicRegion = 'worldwide' | 'eu';
|
|
130
|
+
export declare const newRelicRegionMap: Record<NewRelicRegion, string>;
|
|
131
|
+
export interface NewRelicIntegrationConfiguration {
|
|
132
|
+
apiKey: string;
|
|
133
|
+
newRelicRegion: NewRelicRegion;
|
|
134
|
+
}
|
|
89
135
|
export interface BaseDataIntegration extends BaseIntegration {
|
|
90
136
|
schema?: IntegrationDataSchema;
|
|
91
137
|
supportsExternalChanges: boolean;
|
|
@@ -95,25 +141,41 @@ export declare function isDataIntegrationType(type: IntegrationType): boolean;
|
|
|
95
141
|
export type HttpMethod = 'post' | 'get' | 'delete' | 'patch' | 'put';
|
|
96
142
|
export type ApiEndpointId = string;
|
|
97
143
|
export type ApiParameterLocation = 'query' | 'body' | 'header' | 'path';
|
|
144
|
+
export type ApiResponseParameterLocation = 'header' | 'body';
|
|
145
|
+
export type ApiInjectionParameterLocation = 'header';
|
|
98
146
|
export type FieldPath = string;
|
|
99
147
|
export interface ApiRequestField {
|
|
100
|
-
|
|
101
|
-
fieldNameInRequest?: FieldName;
|
|
148
|
+
location: ApiParameterLocation;
|
|
102
149
|
}
|
|
103
150
|
export interface ApiResponseField {
|
|
104
|
-
|
|
105
|
-
|
|
151
|
+
location: ApiResponseParameterLocation;
|
|
152
|
+
path?: FieldPath;
|
|
153
|
+
}
|
|
154
|
+
export type ApiInjectionFieldType = 'secret' | 'regular';
|
|
155
|
+
export interface ApiInjectionField {
|
|
156
|
+
value: string;
|
|
157
|
+
type: ApiInjectionFieldType;
|
|
158
|
+
location: ApiInjectionParameterLocation;
|
|
106
159
|
}
|
|
107
160
|
export interface ApiEndpoint {
|
|
108
161
|
relativePath: string;
|
|
109
162
|
method: HttpMethod;
|
|
110
163
|
requestSchema?: Record<FieldName, ApiRequestField>;
|
|
111
164
|
responseSchema?: Record<FieldPath, ApiResponseField>;
|
|
165
|
+
injectionSchema?: Record<FieldName, ApiInjectionField>;
|
|
166
|
+
}
|
|
167
|
+
export interface BaseApiIntegration extends BaseIntegration {
|
|
168
|
+
type: IntegrationType.api | IntegrationType.openapi;
|
|
169
|
+
schema: IntegrationApiSchema;
|
|
112
170
|
}
|
|
113
|
-
export interface ApiIntegration extends
|
|
171
|
+
export interface ApiIntegration extends BaseApiIntegration {
|
|
114
172
|
type: IntegrationType.api;
|
|
115
|
-
|
|
116
|
-
|
|
173
|
+
}
|
|
174
|
+
export interface OpenApiIntegration extends BaseApiIntegration {
|
|
175
|
+
type: IntegrationType.openapi;
|
|
176
|
+
configuration: {
|
|
177
|
+
discoveryOptions: OpenApiDiscoveryOptions;
|
|
178
|
+
};
|
|
117
179
|
}
|
|
118
180
|
export interface GraphQLIntegration extends BaseIntegration {
|
|
119
181
|
type: IntegrationType.graphql;
|
|
@@ -134,6 +196,9 @@ export interface PostgresIntegrationConfiguration {
|
|
|
134
196
|
export interface MongoIntegrationConfiguration {
|
|
135
197
|
connectionOptions: MongoConnectionOptions;
|
|
136
198
|
}
|
|
199
|
+
export interface SnowflakeIntegrationConfiguration {
|
|
200
|
+
connectionOptions: SnowflakeConnectionOptions;
|
|
201
|
+
}
|
|
137
202
|
export interface MySqlIntegration extends BaseDataIntegration {
|
|
138
203
|
type: IntegrationType.mysql;
|
|
139
204
|
configuration: MySqlIntegrationConfiguration;
|
|
@@ -167,6 +232,11 @@ export interface MongoIntegration extends BaseDataIntegration {
|
|
|
167
232
|
configuration: MongoIntegrationConfiguration;
|
|
168
233
|
supportsExternalChanges: true;
|
|
169
234
|
}
|
|
235
|
+
export interface SnowflakeIntegration extends BaseDataIntegration {
|
|
236
|
+
type: IntegrationType.snowflake;
|
|
237
|
+
configuration: SnowflakeIntegrationConfiguration;
|
|
238
|
+
schema: IntegrationDataSchema;
|
|
239
|
+
}
|
|
170
240
|
export interface InternalIntegration extends BaseDataIntegration {
|
|
171
241
|
type: IntegrationType.built_in_db;
|
|
172
242
|
}
|
|
@@ -198,19 +268,28 @@ interface TestPostgresDataConnectionRequest {
|
|
|
198
268
|
connectionOptions: PostgresConnectionOptions;
|
|
199
269
|
};
|
|
200
270
|
}
|
|
271
|
+
interface TestSnowflakeDataConnectionRequest {
|
|
272
|
+
type: IntegrationType.snowflake;
|
|
273
|
+
configuration: {
|
|
274
|
+
connectionOptions: SnowflakeConnectionOptions;
|
|
275
|
+
};
|
|
276
|
+
}
|
|
201
277
|
interface TestCockroachDataConnectionRequest {
|
|
202
278
|
type: IntegrationType.cockroach;
|
|
203
279
|
configuration: {
|
|
204
280
|
connectionOptions: PostgresConnectionOptions;
|
|
205
281
|
};
|
|
206
282
|
}
|
|
207
|
-
export type TestDataConnectionRequest = TestMongoDataConnectionRequest | TestMysqlDataConnectionRequest | TestMssqlDataConnectionRequest | TestCockroachDataConnectionRequest | TestPostgresDataConnectionRequest;
|
|
283
|
+
export type TestDataConnectionRequest = TestMongoDataConnectionRequest | TestMysqlDataConnectionRequest | TestMssqlDataConnectionRequest | TestCockroachDataConnectionRequest | TestPostgresDataConnectionRequest | TestSnowflakeDataConnectionRequest;
|
|
208
284
|
export interface DiscoverDataConnectionSchemaResponse {
|
|
209
285
|
schema: IntegrationDataSchema;
|
|
210
286
|
}
|
|
211
287
|
export interface DiscoverGraphQLConnectionSchemaResponse {
|
|
212
288
|
schema: IntegrationGraphQLSchema;
|
|
213
289
|
}
|
|
290
|
+
export interface DiscoverOpenApiSchemaResponse {
|
|
291
|
+
schema: IntegrationApiSchema;
|
|
292
|
+
}
|
|
214
293
|
interface DiscoverMongoDataConnectionSchemaRequest {
|
|
215
294
|
integrationType: IntegrationType.mongo;
|
|
216
295
|
connectionOptions: MongoConnectionOptions;
|
|
@@ -226,24 +305,25 @@ interface DiscoverMssqlDataConnectionSchemaRequest {
|
|
|
226
305
|
integrationType: IntegrationType.mssql;
|
|
227
306
|
connectionOptions: MssqlConnectionOptions;
|
|
228
307
|
}
|
|
229
|
-
export interface DiscoverGraphQLConnectionSchemaRequest {
|
|
230
|
-
integrationType: IntegrationType.graphql;
|
|
231
|
-
connectionOptions: GraphQLConnectionOptions;
|
|
232
|
-
}
|
|
233
308
|
interface DiscoverPostgresDataConnectionSchemaRequest {
|
|
234
309
|
integrationType: IntegrationType.postgres;
|
|
235
310
|
connectionOptions: PostgresConnectionOptions;
|
|
236
311
|
}
|
|
312
|
+
interface DiscoverSnowflakeDataConnectionSchemaRequest {
|
|
313
|
+
integrationType: IntegrationType.snowflake;
|
|
314
|
+
connectionOptions: SnowflakeConnectionOptions;
|
|
315
|
+
}
|
|
237
316
|
interface DiscoverCockroachDataConnectionSchemaRequest {
|
|
238
317
|
integrationType: IntegrationType.cockroach;
|
|
239
318
|
connectionOptions: PostgresConnectionOptions;
|
|
240
319
|
}
|
|
241
|
-
export type DiscoverDataConnectionSchemaRequest = DiscoverMongoDataConnectionSchemaRequest | DiscoverInternalDataConnectionSchemaRequest | DiscoverMysqlDataConnectionSchemaRequest | DiscoverMssqlDataConnectionSchemaRequest | DiscoverCockroachDataConnectionSchemaRequest | DiscoverPostgresDataConnectionSchemaRequest;
|
|
242
|
-
export interface
|
|
243
|
-
|
|
320
|
+
export type DiscoverDataConnectionSchemaRequest = DiscoverMongoDataConnectionSchemaRequest | DiscoverInternalDataConnectionSchemaRequest | DiscoverMysqlDataConnectionSchemaRequest | DiscoverMssqlDataConnectionSchemaRequest | DiscoverCockroachDataConnectionSchemaRequest | DiscoverPostgresDataConnectionSchemaRequest | DiscoverSnowflakeDataConnectionSchemaRequest;
|
|
321
|
+
export interface DiscoverGraphQLConnectionSchemaRequest {
|
|
322
|
+
integrationType: IntegrationType.graphql;
|
|
323
|
+
connectionOptions: GraphQLConnectionOptions;
|
|
244
324
|
}
|
|
245
|
-
export interface
|
|
246
|
-
|
|
247
|
-
|
|
325
|
+
export interface DiscoverOpenApiSchemaRequest {
|
|
326
|
+
integrationType: IntegrationType.openapi;
|
|
327
|
+
discoveryOptions: OpenApiDiscoveryOptions;
|
|
248
328
|
}
|
|
249
329
|
export {};
|
|
@@ -5,7 +5,6 @@ export interface Logger {
|
|
|
5
5
|
info(message: string, context?: LoggerContext): void;
|
|
6
6
|
warn(message: string, context?: LoggerContext): void;
|
|
7
7
|
error(message: string, context?: LoggerContext): void;
|
|
8
|
-
child(context: LoggerContext): Logger;
|
|
9
8
|
log(record: LogRecord): void;
|
|
10
9
|
}
|
|
11
10
|
export declare enum LogLevel {
|
|
@@ -1,65 +1,58 @@
|
|
|
1
|
-
export type
|
|
2
|
-
export type
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export type MetricGroupName = 'backendBootstrap' | 'backendFunctionCall' | 'integrationConnectAttempt' | 'integrationReadOperation' | 'integrationWriteOperation';
|
|
10
|
-
/**
|
|
11
|
-
* Filter key descriptions:
|
|
12
|
-
* - `functionName` - Only supported by 'backendFunctionCall' metric. The name of the function.
|
|
13
|
-
* - `integrationId` - Only supported by `integration*` metrics. The id of the integration.
|
|
14
|
-
* - `resultType` - Only supported by all metrics. The result of the operation being either 'success' or 'failure'.
|
|
15
|
-
*/
|
|
16
|
-
export type MetricFilterKey = 'functionName' | 'integrationId' | 'resultType';
|
|
17
|
-
/**
|
|
18
|
-
* Internal filters are automatically assigned and are not configurable through the open API.
|
|
19
|
-
*/
|
|
20
|
-
export type MetricInternalFilterKey = MetricFilterKey | 'appId' | 'operationType';
|
|
21
|
-
export type MetricFilterValue = string | number | boolean;
|
|
22
|
-
export type MetricFilterOperationType = 'read' | 'write';
|
|
23
|
-
export type MetricFilterResultType = 'success' | 'failure';
|
|
24
|
-
export type MetricInternalFilters = MetricFilters<MetricInternalFilterKey> & {
|
|
25
|
-
operationType?: MetricFilterOperationType;
|
|
26
|
-
};
|
|
27
|
-
export type MetricFilters<T extends string> = {
|
|
28
|
-
[key in T]?: MetricFilterValue;
|
|
29
|
-
} & {
|
|
30
|
-
resultType?: MetricFilterResultType;
|
|
31
|
-
};
|
|
32
|
-
export interface MetricRequest {
|
|
33
|
-
summary?: boolean;
|
|
34
|
-
histogram?: {
|
|
35
|
-
rate: MetricRate;
|
|
36
|
-
resolution: MetricResolution;
|
|
37
|
-
};
|
|
1
|
+
export type MetricType = 'count' | 'gauge';
|
|
2
|
+
export type AggregationPeriod = '1m' | '5m' | '15m' | '1h' | '1d' | '1w';
|
|
3
|
+
export declare const aggregationPeriodMap: Record<AggregationPeriod, number>;
|
|
4
|
+
export interface CountMetricHistogramData {
|
|
5
|
+
stepInterval: number;
|
|
6
|
+
sumInStep: number;
|
|
7
|
+
cumulativeSum: number;
|
|
8
|
+
rate: number;
|
|
38
9
|
}
|
|
39
|
-
export interface
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
metricGroup: MetricGroupName;
|
|
43
|
-
metrics: {
|
|
44
|
-
[key in MetricType]?: MetricRequest;
|
|
45
|
-
};
|
|
46
|
-
}>;
|
|
47
|
-
timeWindow: MetricTimeWindow;
|
|
10
|
+
export interface CountMetricSummary {
|
|
11
|
+
cumulativeRate: number;
|
|
12
|
+
cumulativeSum: number;
|
|
48
13
|
}
|
|
49
|
-
export
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
export
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
14
|
+
export interface GaugeMetricHistogramData {
|
|
15
|
+
stepInterval: number;
|
|
16
|
+
sumInStep: number;
|
|
17
|
+
countInStep: number;
|
|
18
|
+
minInStep: number;
|
|
19
|
+
maxInStep: number;
|
|
20
|
+
avgInStep: number;
|
|
21
|
+
medianInStep: number;
|
|
22
|
+
}
|
|
23
|
+
export interface GaugeMetricSummary {
|
|
24
|
+
cumulativeSum: number;
|
|
25
|
+
cumulativeMin: number;
|
|
26
|
+
cumulativeMax: number;
|
|
27
|
+
cumulativeAvg: number;
|
|
28
|
+
cumulativeCount: number;
|
|
29
|
+
}
|
|
30
|
+
interface BaseMetricResponse {
|
|
31
|
+
type: MetricType;
|
|
32
|
+
}
|
|
33
|
+
export interface CountMetricResponse extends BaseMetricResponse {
|
|
34
|
+
type: 'count';
|
|
35
|
+
histogram: Array<CountMetricHistogramData>;
|
|
36
|
+
summary: CountMetricSummary;
|
|
37
|
+
}
|
|
38
|
+
export interface GaugeMetricResponse extends BaseMetricResponse {
|
|
39
|
+
type: 'gauge';
|
|
40
|
+
histogram: Array<GaugeMetricHistogramData>;
|
|
41
|
+
summary: GaugeMetricSummary;
|
|
42
|
+
}
|
|
43
|
+
export type MetricResponse = CountMetricResponse | GaugeMetricResponse;
|
|
44
|
+
export interface GetSingleMetricRequest {
|
|
45
|
+
metricName: string;
|
|
46
|
+
tagFilters: Record<string, string | Array<string>>;
|
|
47
|
+
metricType: MetricType;
|
|
48
|
+
}
|
|
49
|
+
export interface GetMetricsRequest {
|
|
50
|
+
requests: Array<GetSingleMetricRequest>;
|
|
51
|
+
from: number;
|
|
52
|
+
to: number;
|
|
53
|
+
aggregationPeriod: AggregationPeriod;
|
|
54
|
+
}
|
|
55
|
+
export interface GetMetricsResponse {
|
|
56
|
+
responses: Array<MetricResponse>;
|
|
57
|
+
}
|
|
58
|
+
export {};
|
|
@@ -5,7 +5,6 @@ export declare class MutationContext<T = any> {
|
|
|
5
5
|
readonly mutation: Mutation<T>;
|
|
6
6
|
readonly beforeAndAfterDocs: BeforeAndAfterDocs<T>;
|
|
7
7
|
readonly serverTimeStamp: Date;
|
|
8
|
-
constructor(mutation: Mutation<T>, beforeAndAfterDocs: BeforeAndAfterDocs<T>, serverTimeStamp: Date);
|
|
9
8
|
getMutationType(): MutationType;
|
|
10
9
|
affectsPath(path: Paths<T>): boolean;
|
|
11
10
|
}
|
|
@@ -5,7 +5,6 @@ import { PartialBy, Paths } from '../types';
|
|
|
5
5
|
export declare class QueryContext<T = any> {
|
|
6
6
|
readonly query: Query<T>;
|
|
7
7
|
private readonly parsedConditions;
|
|
8
|
-
constructor(query: Query<T>);
|
|
9
8
|
get integrationId(): IntegrationId;
|
|
10
9
|
get collectionName(): CollectionName;
|
|
11
10
|
get limit(): number;
|
|
@@ -1,14 +1,90 @@
|
|
|
1
1
|
import { IntegrationId } from '../communication.types';
|
|
2
2
|
import { CollectionName, DocumentData, FieldName, PrimitiveFieldType } from '../document.types';
|
|
3
3
|
import { Operator, Query } from '../query.types';
|
|
4
|
+
/** A query builder that can be used to build a query that returns a list of documents. */
|
|
4
5
|
export declare class SimpleQueryBuilder<MyDocType extends DocumentData> {
|
|
5
6
|
protected readonly collectionName: CollectionName;
|
|
6
7
|
protected readonly integrationId: IntegrationId;
|
|
7
8
|
protected readonly query: Query<MyDocType>;
|
|
8
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Adds a condition to the query.
|
|
11
|
+
* @param fieldName The name of the field to query.
|
|
12
|
+
* @param operator The operator to use.
|
|
13
|
+
* @param value The value to compare against.
|
|
14
|
+
* @returns The query builder.
|
|
15
|
+
*/
|
|
9
16
|
where(fieldName: (keyof MyDocType & FieldName) | string, operator: Operator | 'in' | 'not in', value: PrimitiveFieldType | Array<PrimitiveFieldType>): this;
|
|
17
|
+
/**
|
|
18
|
+
* A shortcut for where(fieldName, '==', value)
|
|
19
|
+
*
|
|
20
|
+
* @param fieldName The name of the field to query.
|
|
21
|
+
* @param value The value to compare against.
|
|
22
|
+
* @returns The query builder.
|
|
23
|
+
*/
|
|
24
|
+
eq(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
25
|
+
/**
|
|
26
|
+
* A shortcut for where(fieldName, '!=', value)
|
|
27
|
+
* @param fieldName The name of the field to query.
|
|
28
|
+
* @param value The value to compare against.
|
|
29
|
+
* @returns The query builder.
|
|
30
|
+
*/
|
|
31
|
+
neq(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
32
|
+
/**
|
|
33
|
+
* A shortcut for where(fieldName, 'in', value)
|
|
34
|
+
* @param fieldName The name of the field to query.
|
|
35
|
+
* @param value An array of values to compare against.
|
|
36
|
+
* @returns The query builder.
|
|
37
|
+
*/
|
|
38
|
+
in(fieldName: (keyof MyDocType & FieldName) | string, value: Array<PrimitiveFieldType>): this;
|
|
39
|
+
/**
|
|
40
|
+
* A shortcut for where(fieldName, 'not in', value)
|
|
41
|
+
* @param fieldName The name of the field to query.
|
|
42
|
+
* @param value An array of values to compare against.
|
|
43
|
+
* @returns The query builder.
|
|
44
|
+
*/
|
|
45
|
+
nin(fieldName: (keyof MyDocType & FieldName) | string, value: Array<PrimitiveFieldType>): this;
|
|
46
|
+
/**
|
|
47
|
+
* A shortcut for where(fieldName, '>', value)
|
|
48
|
+
* @param fieldName The name of the field to query.
|
|
49
|
+
* @param value The value to compare against.
|
|
50
|
+
* @returns The query builder.
|
|
51
|
+
*/
|
|
52
|
+
gt(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
53
|
+
/**
|
|
54
|
+
* A shortcut for where(fieldName, '>=', value)
|
|
55
|
+
* @param fieldName The name of the field to query.
|
|
56
|
+
* @param value The value to compare against.
|
|
57
|
+
* @returns The query builder.
|
|
58
|
+
*/
|
|
59
|
+
gte(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
60
|
+
/**
|
|
61
|
+
* A shortcut for where(fieldName, '<', value)
|
|
62
|
+
* @param fieldName The name of the field to query.
|
|
63
|
+
* @param value The value to compare against.
|
|
64
|
+
* @returns The query builder.
|
|
65
|
+
*/
|
|
66
|
+
lt(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
67
|
+
/**
|
|
68
|
+
* A shortcut for where(fieldName, '<=', value)
|
|
69
|
+
* @param fieldName The name of the field to query.
|
|
70
|
+
* @param value The value to compare against.
|
|
71
|
+
* @returns The query builder.
|
|
72
|
+
*/
|
|
73
|
+
lte(fieldName: (keyof MyDocType & FieldName) | string, value: PrimitiveFieldType): this;
|
|
74
|
+
/**
|
|
75
|
+
* Sets a limit to the number of results returned by the query. The maximum limit is 1000 and this is the default if
|
|
76
|
+
* none is provided.
|
|
77
|
+
* @param limit The limit to set.
|
|
78
|
+
* @returns The query builder.
|
|
79
|
+
*/
|
|
10
80
|
limit(limit: number): this;
|
|
81
|
+
/**
|
|
82
|
+
* Adds a sort order to the query. You can add multiple sort orders to the query. The order in which you add them
|
|
83
|
+
* determines the order in which they are applied.
|
|
84
|
+
* @param fieldName The name of the field to sort by.
|
|
85
|
+
* @param asc Whether to sort in ascending order. Defaults to true.
|
|
86
|
+
* @returns The query builder.
|
|
87
|
+
*/
|
|
11
88
|
sortBy(fieldName: keyof MyDocType & FieldName, asc?: boolean): this;
|
|
12
|
-
build(): Query;
|
|
13
89
|
private mergeConditions;
|
|
14
90
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export type SquidCloudId = 'aws' | 'gcp' | 'azure';
|
|
2
|
+
/** The list of supported Squid regions. */
|
|
2
3
|
export type SupportedSquidRegion = 'us-east-1.aws' | 'local';
|
|
3
4
|
export declare const supportedSquidRegions: Array<SupportedSquidRegion>;
|
|
4
5
|
export interface SquidCloudRegion {
|
|
@@ -20,7 +20,7 @@ export declare function validateQueryLimit(limit: any): void;
|
|
|
20
20
|
export declare function isNotEmpty(value: string | undefined | null): value is string;
|
|
21
21
|
/**
|
|
22
22
|
* All type names returned by 'typeof' supported by JavaScript:
|
|
23
|
-
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof.
|
|
23
|
+
* {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/typeof}.
|
|
24
24
|
* and a few other supported types.
|
|
25
25
|
*/
|
|
26
26
|
export type JavascriptTypeName = 'undefined' | 'object' | 'boolean' | 'number' | 'bigint' | 'string' | 'symbol' | 'function';
|