@xata.io/client 0.0.0-alpha.vf231460 → 0.0.0-alpha.vf3081bb
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/.eslintrc.cjs +1 -2
- package/CHANGELOG.md +96 -0
- package/README.md +265 -1
- package/dist/index.cjs +594 -231
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +609 -140
- package/dist/index.mjs +587 -232
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -2
- package/tsconfig.json +1 -0
package/dist/index.d.ts
CHANGED
@@ -19,11 +19,39 @@ declare type ErrorWrapper<TError> = TError | {
|
|
19
19
|
payload: string;
|
20
20
|
};
|
21
21
|
|
22
|
+
interface CacheImpl {
|
23
|
+
cacheRecords: boolean;
|
24
|
+
defaultQueryTTL: number;
|
25
|
+
getAll(): Promise<Record<string, unknown>>;
|
26
|
+
get: <T>(key: string) => Promise<T | null>;
|
27
|
+
set: <T>(key: string, value: T) => Promise<void>;
|
28
|
+
delete: (key: string) => Promise<void>;
|
29
|
+
clear: () => Promise<void>;
|
30
|
+
}
|
31
|
+
interface SimpleCacheOptions {
|
32
|
+
max?: number;
|
33
|
+
cacheRecords?: boolean;
|
34
|
+
defaultQueryTTL?: number;
|
35
|
+
}
|
36
|
+
declare class SimpleCache implements CacheImpl {
|
37
|
+
#private;
|
38
|
+
capacity: number;
|
39
|
+
cacheRecords: boolean;
|
40
|
+
defaultQueryTTL: number;
|
41
|
+
constructor(options?: SimpleCacheOptions);
|
42
|
+
getAll(): Promise<Record<string, unknown>>;
|
43
|
+
get<T>(key: string): Promise<T | null>;
|
44
|
+
set<T>(key: string, value: T): Promise<void>;
|
45
|
+
delete(key: string): Promise<void>;
|
46
|
+
clear(): Promise<void>;
|
47
|
+
}
|
48
|
+
|
22
49
|
declare abstract class XataPlugin {
|
23
50
|
abstract build(options: XataPluginOptions): unknown | Promise<unknown>;
|
24
51
|
}
|
25
52
|
declare type XataPluginOptions = {
|
26
53
|
getFetchProps: () => Promise<FetcherExtraProps>;
|
54
|
+
cache: CacheImpl;
|
27
55
|
};
|
28
56
|
|
29
57
|
/**
|
@@ -110,6 +138,12 @@ declare type ListBranchesResponse = {
|
|
110
138
|
displayName: string;
|
111
139
|
branches: Branch[];
|
112
140
|
};
|
141
|
+
declare type ListGitBranchesResponse = {
|
142
|
+
mapping: {
|
143
|
+
gitBranch: string;
|
144
|
+
xataBranch: string;
|
145
|
+
}[];
|
146
|
+
};
|
113
147
|
declare type Branch = {
|
114
148
|
name: string;
|
115
149
|
createdAt: DateTime;
|
@@ -158,7 +192,7 @@ declare type Table = {
|
|
158
192
|
*/
|
159
193
|
declare type Column = {
|
160
194
|
name: string;
|
161
|
-
type: 'bool' | 'int' | 'float' | 'string' | 'text' | 'email' | 'multiple' | 'link' | 'object';
|
195
|
+
type: 'bool' | 'int' | 'float' | 'string' | 'text' | 'email' | 'multiple' | 'link' | 'object' | 'datetime';
|
162
196
|
link?: {
|
163
197
|
table: string;
|
164
198
|
};
|
@@ -234,6 +268,17 @@ declare type SortExpression = string[] | {
|
|
234
268
|
[key: string]: SortOrder;
|
235
269
|
}[];
|
236
270
|
declare type SortOrder = 'asc' | 'desc';
|
271
|
+
/**
|
272
|
+
* Maximum [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance) for the search terms. The Levenshtein
|
273
|
+
* distance is the number of one charcter changes needed to make two strings equal. The default is 1, meaning that single
|
274
|
+
* character typos per word are tollerated by search. You can set it to 0 to remove the typo tollerance or set it to 2
|
275
|
+
* to allow two typos in a word.
|
276
|
+
*
|
277
|
+
* @default 1
|
278
|
+
* @maximum 2
|
279
|
+
* @minimum 0
|
280
|
+
*/
|
281
|
+
declare type FuzzinessExpression = number;
|
237
282
|
/**
|
238
283
|
* @minProperties 1
|
239
284
|
*/
|
@@ -247,6 +292,10 @@ declare type FilterExpression = {
|
|
247
292
|
} & {
|
248
293
|
[key: string]: FilterColumn;
|
249
294
|
};
|
295
|
+
declare type HighlightExpression = {
|
296
|
+
enabled?: boolean;
|
297
|
+
encodeHTML?: boolean;
|
298
|
+
};
|
250
299
|
declare type FilterList = FilterExpression | FilterExpression[];
|
251
300
|
declare type FilterColumn = FilterColumnIncludes | FilterPredicate | FilterList;
|
252
301
|
/**
|
@@ -332,6 +381,11 @@ declare type XataRecord$1 = {
|
|
332
381
|
xata: {
|
333
382
|
version: number;
|
334
383
|
table?: string;
|
384
|
+
highlight?: {
|
385
|
+
[key: string]: string[] | {
|
386
|
+
[key: string]: any;
|
387
|
+
};
|
388
|
+
};
|
335
389
|
warnings?: string[];
|
336
390
|
};
|
337
391
|
} & {
|
@@ -354,6 +408,7 @@ type schemas_WorkspaceMembers = WorkspaceMembers;
|
|
354
408
|
type schemas_InviteKey = InviteKey;
|
355
409
|
type schemas_ListDatabasesResponse = ListDatabasesResponse;
|
356
410
|
type schemas_ListBranchesResponse = ListBranchesResponse;
|
411
|
+
type schemas_ListGitBranchesResponse = ListGitBranchesResponse;
|
357
412
|
type schemas_Branch = Branch;
|
358
413
|
type schemas_BranchMetadata = BranchMetadata;
|
359
414
|
type schemas_DBBranch = DBBranch;
|
@@ -374,7 +429,9 @@ type schemas_TableMigration = TableMigration;
|
|
374
429
|
type schemas_ColumnMigration = ColumnMigration;
|
375
430
|
type schemas_SortExpression = SortExpression;
|
376
431
|
type schemas_SortOrder = SortOrder;
|
432
|
+
type schemas_FuzzinessExpression = FuzzinessExpression;
|
377
433
|
type schemas_FilterExpression = FilterExpression;
|
434
|
+
type schemas_HighlightExpression = HighlightExpression;
|
378
435
|
type schemas_FilterList = FilterList;
|
379
436
|
type schemas_FilterColumn = FilterColumn;
|
380
437
|
type schemas_FilterColumnIncludes = FilterColumnIncludes;
|
@@ -406,6 +463,7 @@ declare namespace schemas {
|
|
406
463
|
schemas_InviteKey as InviteKey,
|
407
464
|
schemas_ListDatabasesResponse as ListDatabasesResponse,
|
408
465
|
schemas_ListBranchesResponse as ListBranchesResponse,
|
466
|
+
schemas_ListGitBranchesResponse as ListGitBranchesResponse,
|
409
467
|
schemas_Branch as Branch,
|
410
468
|
schemas_BranchMetadata as BranchMetadata,
|
411
469
|
schemas_DBBranch as DBBranch,
|
@@ -426,7 +484,9 @@ declare namespace schemas {
|
|
426
484
|
schemas_ColumnMigration as ColumnMigration,
|
427
485
|
schemas_SortExpression as SortExpression,
|
428
486
|
schemas_SortOrder as SortOrder,
|
487
|
+
schemas_FuzzinessExpression as FuzzinessExpression,
|
429
488
|
schemas_FilterExpression as FilterExpression,
|
489
|
+
schemas_HighlightExpression as HighlightExpression,
|
430
490
|
schemas_FilterList as FilterList,
|
431
491
|
schemas_FilterColumn as FilterColumn,
|
432
492
|
schemas_FilterColumnIncludes as FilterColumnIncludes,
|
@@ -982,6 +1042,163 @@ declare type DeleteDatabaseVariables = {
|
|
982
1042
|
* Delete a database and all of its branches and tables permanently.
|
983
1043
|
*/
|
984
1044
|
declare const deleteDatabase: (variables: DeleteDatabaseVariables) => Promise<undefined>;
|
1045
|
+
declare type GetGitBranchesMappingPathParams = {
|
1046
|
+
dbName: DBName;
|
1047
|
+
workspace: string;
|
1048
|
+
};
|
1049
|
+
declare type GetGitBranchesMappingError = ErrorWrapper<{
|
1050
|
+
status: 400;
|
1051
|
+
payload: BadRequestError;
|
1052
|
+
} | {
|
1053
|
+
status: 401;
|
1054
|
+
payload: AuthError;
|
1055
|
+
}>;
|
1056
|
+
declare type GetGitBranchesMappingVariables = {
|
1057
|
+
pathParams: GetGitBranchesMappingPathParams;
|
1058
|
+
} & FetcherExtraProps;
|
1059
|
+
/**
|
1060
|
+
* Lists all the git branches in the mapping, and their associated Xata branches.
|
1061
|
+
*
|
1062
|
+
* Example response:
|
1063
|
+
*
|
1064
|
+
* ```json
|
1065
|
+
* {
|
1066
|
+
* "mappings": [
|
1067
|
+
* {
|
1068
|
+
* "gitBranch": "main",
|
1069
|
+
* "xataBranch": "main"
|
1070
|
+
* },
|
1071
|
+
* {
|
1072
|
+
* "gitBranch": "gitBranch1",
|
1073
|
+
* "xataBranch": "xataBranch1"
|
1074
|
+
* }
|
1075
|
+
* {
|
1076
|
+
* "gitBranch": "xataBranch2",
|
1077
|
+
* "xataBranch": "xataBranch2"
|
1078
|
+
* }
|
1079
|
+
* ]
|
1080
|
+
* }
|
1081
|
+
* ```
|
1082
|
+
*/
|
1083
|
+
declare const getGitBranchesMapping: (variables: GetGitBranchesMappingVariables) => Promise<ListGitBranchesResponse>;
|
1084
|
+
declare type AddGitBranchesEntryPathParams = {
|
1085
|
+
dbName: DBName;
|
1086
|
+
workspace: string;
|
1087
|
+
};
|
1088
|
+
declare type AddGitBranchesEntryError = ErrorWrapper<{
|
1089
|
+
status: 400;
|
1090
|
+
payload: BadRequestError;
|
1091
|
+
} | {
|
1092
|
+
status: 401;
|
1093
|
+
payload: AuthError;
|
1094
|
+
}>;
|
1095
|
+
declare type AddGitBranchesEntryResponse = {
|
1096
|
+
warning?: string;
|
1097
|
+
};
|
1098
|
+
declare type AddGitBranchesEntryRequestBody = {
|
1099
|
+
gitBranch: string;
|
1100
|
+
xataBranch: BranchName;
|
1101
|
+
};
|
1102
|
+
declare type AddGitBranchesEntryVariables = {
|
1103
|
+
body: AddGitBranchesEntryRequestBody;
|
1104
|
+
pathParams: AddGitBranchesEntryPathParams;
|
1105
|
+
} & FetcherExtraProps;
|
1106
|
+
/**
|
1107
|
+
* Adds an entry to the mapping of git branches to Xata branches. The git branch and the Xata branch must be present in the body of the request. If the Xata branch doesn't exist, a 400 error is returned.
|
1108
|
+
*
|
1109
|
+
* If the git branch is already present in the mapping, the old entry is overwritten, and a warning message is included in the response. If the git branch is added and didn't exist before, the response code is 204. If the git branch existed and it was overwritten, the response code is 201.
|
1110
|
+
*
|
1111
|
+
* Example request:
|
1112
|
+
*
|
1113
|
+
* ```json
|
1114
|
+
* // POST https://tutorial-ng7s8c.xata.sh/dbs/demo/gitBranches
|
1115
|
+
* {
|
1116
|
+
* "gitBranch": "fix/bug123",
|
1117
|
+
* "xataBranch": "fix_bug"
|
1118
|
+
* }
|
1119
|
+
* ```
|
1120
|
+
*/
|
1121
|
+
declare const addGitBranchesEntry: (variables: AddGitBranchesEntryVariables) => Promise<AddGitBranchesEntryResponse>;
|
1122
|
+
declare type RemoveGitBranchesEntryPathParams = {
|
1123
|
+
dbName: DBName;
|
1124
|
+
workspace: string;
|
1125
|
+
};
|
1126
|
+
declare type RemoveGitBranchesEntryQueryParams = {
|
1127
|
+
gitBranch: string;
|
1128
|
+
};
|
1129
|
+
declare type RemoveGitBranchesEntryError = ErrorWrapper<{
|
1130
|
+
status: 400;
|
1131
|
+
payload: BadRequestError;
|
1132
|
+
} | {
|
1133
|
+
status: 401;
|
1134
|
+
payload: AuthError;
|
1135
|
+
}>;
|
1136
|
+
declare type RemoveGitBranchesEntryVariables = {
|
1137
|
+
pathParams: RemoveGitBranchesEntryPathParams;
|
1138
|
+
queryParams: RemoveGitBranchesEntryQueryParams;
|
1139
|
+
} & FetcherExtraProps;
|
1140
|
+
/**
|
1141
|
+
* Removes an entry from the mapping of git branches to Xata branches. The name of the git branch must be passed as a query parameter. If the git branch is not found, the endpoint returns a 404 status code.
|
1142
|
+
*
|
1143
|
+
* Example request:
|
1144
|
+
*
|
1145
|
+
* ```json
|
1146
|
+
* // DELETE https://tutorial-ng7s8c.xata.sh/dbs/demo/gitBranches?gitBranch=fix%2Fbug123
|
1147
|
+
* ```
|
1148
|
+
*/
|
1149
|
+
declare const removeGitBranchesEntry: (variables: RemoveGitBranchesEntryVariables) => Promise<undefined>;
|
1150
|
+
declare type ResolveBranchPathParams = {
|
1151
|
+
dbName: DBName;
|
1152
|
+
workspace: string;
|
1153
|
+
};
|
1154
|
+
declare type ResolveBranchQueryParams = {
|
1155
|
+
gitBranch?: string;
|
1156
|
+
fallbackBranch?: string;
|
1157
|
+
};
|
1158
|
+
declare type ResolveBranchError = ErrorWrapper<{
|
1159
|
+
status: 400;
|
1160
|
+
payload: BadRequestError;
|
1161
|
+
} | {
|
1162
|
+
status: 401;
|
1163
|
+
payload: AuthError;
|
1164
|
+
}>;
|
1165
|
+
declare type ResolveBranchResponse = {
|
1166
|
+
branch: string;
|
1167
|
+
reason: {
|
1168
|
+
code: 'FOUND_IN_MAPPING' | 'BRANCH_EXISTS' | 'FALLBACK_BRANCH' | 'DEFAULT_BRANCH';
|
1169
|
+
message: string;
|
1170
|
+
};
|
1171
|
+
};
|
1172
|
+
declare type ResolveBranchVariables = {
|
1173
|
+
pathParams: ResolveBranchPathParams;
|
1174
|
+
queryParams?: ResolveBranchQueryParams;
|
1175
|
+
} & FetcherExtraProps;
|
1176
|
+
/**
|
1177
|
+
* In order to resolve the database branch, the following algorithm is used:
|
1178
|
+
* * if the `gitBranch` was provided and is found in the [git branches mapping](/api-reference/dbs/db_name/gitBranches), the associated Xata branch is returned
|
1179
|
+
* * else, if a Xata branch with the exact same name as `gitBranch` exists, return it
|
1180
|
+
* * else, if `fallbackBranch` is provided and a branch with that name exists, return it
|
1181
|
+
* * else, return the default branch of the DB (`main` or the first branch)
|
1182
|
+
*
|
1183
|
+
* Example call:
|
1184
|
+
*
|
1185
|
+
* ```json
|
1186
|
+
* // GET https://tutorial-ng7s8c.xata.sh/dbs/demo/dbs/demo/resolveBranch?gitBranch=test&fallbackBranch=tsg
|
1187
|
+
* ```
|
1188
|
+
*
|
1189
|
+
* Example response:
|
1190
|
+
*
|
1191
|
+
* ```json
|
1192
|
+
* {
|
1193
|
+
* "branch": "main",
|
1194
|
+
* "reason": {
|
1195
|
+
* "code": "DEFAULT_BRANCH",
|
1196
|
+
* "message": "Default branch for this database (main)"
|
1197
|
+
* }
|
1198
|
+
* }
|
1199
|
+
* ```
|
1200
|
+
*/
|
1201
|
+
declare const resolveBranch: (variables: ResolveBranchVariables) => Promise<ResolveBranchResponse>;
|
985
1202
|
declare type GetBranchDetailsPathParams = {
|
986
1203
|
dbBranchName: DBBranchName;
|
987
1204
|
workspace: string;
|
@@ -1266,8 +1483,9 @@ declare type UpdateTableVariables = {
|
|
1266
1483
|
*
|
1267
1484
|
* In the example below, we rename a table from “users” to “people”:
|
1268
1485
|
*
|
1269
|
-
* ```
|
1270
|
-
* PATCH /db/test:main/tables/users
|
1486
|
+
* ```json
|
1487
|
+
* // PATCH /db/test:main/tables/users
|
1488
|
+
*
|
1271
1489
|
* {
|
1272
1490
|
* "name": "people"
|
1273
1491
|
* }
|
@@ -1675,7 +1893,7 @@ declare type QueryTableVariables = {
|
|
1675
1893
|
* {
|
1676
1894
|
* "columns": [...],
|
1677
1895
|
* "filter": {
|
1678
|
-
* "$all": [...]
|
1896
|
+
* "$all": [...],
|
1679
1897
|
* "$any": [...]
|
1680
1898
|
* ...
|
1681
1899
|
* },
|
@@ -1721,7 +1939,11 @@ declare type QueryTableVariables = {
|
|
1721
1939
|
* "link": {
|
1722
1940
|
* "table": "users"
|
1723
1941
|
* }
|
1724
|
-
* }
|
1942
|
+
* },
|
1943
|
+
* {
|
1944
|
+
* "name": "foundedDate",
|
1945
|
+
* "type": "datetime"
|
1946
|
+
* },
|
1725
1947
|
* ]
|
1726
1948
|
* },
|
1727
1949
|
* {
|
@@ -1809,7 +2031,7 @@ declare type QueryTableVariables = {
|
|
1809
2031
|
* {
|
1810
2032
|
* "name": "Kilian",
|
1811
2033
|
* "address": {
|
1812
|
-
* "street": "New street"
|
2034
|
+
* "street": "New street"
|
1813
2035
|
* }
|
1814
2036
|
* }
|
1815
2037
|
* ```
|
@@ -1818,10 +2040,7 @@ declare type QueryTableVariables = {
|
|
1818
2040
|
*
|
1819
2041
|
* ```json
|
1820
2042
|
* {
|
1821
|
-
* "columns": [
|
1822
|
-
* "*",
|
1823
|
-
* "team.name"
|
1824
|
-
* ]
|
2043
|
+
* "columns": ["*", "team.name"]
|
1825
2044
|
* }
|
1826
2045
|
* ```
|
1827
2046
|
*
|
@@ -1839,7 +2058,7 @@ declare type QueryTableVariables = {
|
|
1839
2058
|
* "team": {
|
1840
2059
|
* "id": "XX",
|
1841
2060
|
* "xata": {
|
1842
|
-
* "version": 0
|
2061
|
+
* "version": 0
|
1843
2062
|
* },
|
1844
2063
|
* "name": "first team"
|
1845
2064
|
* }
|
@@ -1850,10 +2069,7 @@ declare type QueryTableVariables = {
|
|
1850
2069
|
*
|
1851
2070
|
* ```json
|
1852
2071
|
* {
|
1853
|
-
* "columns": [
|
1854
|
-
* "*",
|
1855
|
-
* "team.*"
|
1856
|
-
* ]
|
2072
|
+
* "columns": ["*", "team.*"]
|
1857
2073
|
* }
|
1858
2074
|
* ```
|
1859
2075
|
*
|
@@ -1871,10 +2087,11 @@ declare type QueryTableVariables = {
|
|
1871
2087
|
* "team": {
|
1872
2088
|
* "id": "XX",
|
1873
2089
|
* "xata": {
|
1874
|
-
* "version": 0
|
2090
|
+
* "version": 0
|
1875
2091
|
* },
|
1876
2092
|
* "name": "first team",
|
1877
|
-
* "code": "A1"
|
2093
|
+
* "code": "A1",
|
2094
|
+
* "foundedDate": "2020-03-04T10:43:54.32Z"
|
1878
2095
|
* }
|
1879
2096
|
* }
|
1880
2097
|
* ```
|
@@ -1889,7 +2106,7 @@ declare type QueryTableVariables = {
|
|
1889
2106
|
* `$none`, etc.
|
1890
2107
|
*
|
1891
2108
|
* All operators start with an `$` to differentiate them from column names
|
1892
|
-
* (which are not allowed to start with
|
2109
|
+
* (which are not allowed to start with a dollar sign).
|
1893
2110
|
*
|
1894
2111
|
* #### Exact matching and control operators
|
1895
2112
|
*
|
@@ -1920,7 +2137,7 @@ declare type QueryTableVariables = {
|
|
1920
2137
|
* ```json
|
1921
2138
|
* {
|
1922
2139
|
* "filter": {
|
1923
|
-
*
|
2140
|
+
* "name": "r2"
|
1924
2141
|
* }
|
1925
2142
|
* }
|
1926
2143
|
* ```
|
@@ -1942,7 +2159,7 @@ declare type QueryTableVariables = {
|
|
1942
2159
|
* ```json
|
1943
2160
|
* {
|
1944
2161
|
* "filter": {
|
1945
|
-
*
|
2162
|
+
* "settings.plan": "free"
|
1946
2163
|
* }
|
1947
2164
|
* }
|
1948
2165
|
* ```
|
@@ -1952,8 +2169,8 @@ declare type QueryTableVariables = {
|
|
1952
2169
|
* "filter": {
|
1953
2170
|
* "settings": {
|
1954
2171
|
* "plan": "free"
|
1955
|
-
* }
|
1956
|
-
* }
|
2172
|
+
* }
|
2173
|
+
* }
|
1957
2174
|
* }
|
1958
2175
|
* ```
|
1959
2176
|
*
|
@@ -1962,8 +2179,8 @@ declare type QueryTableVariables = {
|
|
1962
2179
|
* ```json
|
1963
2180
|
* {
|
1964
2181
|
* "filter": {
|
1965
|
-
* "settings.plan": {"$any": ["free", "paid"]}
|
1966
|
-
* }
|
2182
|
+
* "settings.plan": { "$any": ["free", "paid"] }
|
2183
|
+
* }
|
1967
2184
|
* }
|
1968
2185
|
* ```
|
1969
2186
|
*
|
@@ -1972,9 +2189,9 @@ declare type QueryTableVariables = {
|
|
1972
2189
|
* ```json
|
1973
2190
|
* {
|
1974
2191
|
* "filter": {
|
1975
|
-
*
|
1976
|
-
*
|
1977
|
-
* }
|
2192
|
+
* "settings.dark": true,
|
2193
|
+
* "settings.plan": "free"
|
2194
|
+
* }
|
1978
2195
|
* }
|
1979
2196
|
* ```
|
1980
2197
|
*
|
@@ -1985,11 +2202,11 @@ declare type QueryTableVariables = {
|
|
1985
2202
|
* ```json
|
1986
2203
|
* {
|
1987
2204
|
* "filter": {
|
1988
|
-
*
|
1989
|
-
*
|
1990
|
-
*
|
1991
|
-
*
|
1992
|
-
* }
|
2205
|
+
* "$any": {
|
2206
|
+
* "settings.dark": true,
|
2207
|
+
* "settings.plan": "free"
|
2208
|
+
* }
|
2209
|
+
* }
|
1993
2210
|
* }
|
1994
2211
|
* ```
|
1995
2212
|
*
|
@@ -2000,10 +2217,10 @@ declare type QueryTableVariables = {
|
|
2000
2217
|
* "filter": {
|
2001
2218
|
* "$any": [
|
2002
2219
|
* {
|
2003
|
-
* "name": "r1"
|
2220
|
+
* "name": "r1"
|
2004
2221
|
* },
|
2005
2222
|
* {
|
2006
|
-
* "name": "r2"
|
2223
|
+
* "name": "r2"
|
2007
2224
|
* }
|
2008
2225
|
* ]
|
2009
2226
|
* }
|
@@ -2015,7 +2232,7 @@ declare type QueryTableVariables = {
|
|
2015
2232
|
* ```json
|
2016
2233
|
* {
|
2017
2234
|
* "filter": {
|
2018
|
-
* "$exists": "settings"
|
2235
|
+
* "$exists": "settings"
|
2019
2236
|
* }
|
2020
2237
|
* }
|
2021
2238
|
* ```
|
@@ -2027,10 +2244,10 @@ declare type QueryTableVariables = {
|
|
2027
2244
|
* "filter": {
|
2028
2245
|
* "$all": [
|
2029
2246
|
* {
|
2030
|
-
* "$exists": "settings"
|
2247
|
+
* "$exists": "settings"
|
2031
2248
|
* },
|
2032
2249
|
* {
|
2033
|
-
* "$exists": "name"
|
2250
|
+
* "$exists": "name"
|
2034
2251
|
* }
|
2035
2252
|
* ]
|
2036
2253
|
* }
|
@@ -2042,7 +2259,7 @@ declare type QueryTableVariables = {
|
|
2042
2259
|
* ```json
|
2043
2260
|
* {
|
2044
2261
|
* "filter": {
|
2045
|
-
* "$notExists": "settings"
|
2262
|
+
* "$notExists": "settings"
|
2046
2263
|
* }
|
2047
2264
|
* }
|
2048
2265
|
* ```
|
@@ -2069,43 +2286,59 @@ declare type QueryTableVariables = {
|
|
2069
2286
|
* {
|
2070
2287
|
* "filter": {
|
2071
2288
|
* "<column_name>": {
|
2072
|
-
*
|
2289
|
+
* "$pattern": "v*alu?"
|
2073
2290
|
* }
|
2074
2291
|
* }
|
2075
2292
|
* }
|
2076
2293
|
* ```
|
2077
2294
|
*
|
2295
|
+
* The `$pattern` operator accepts two wildcard characters:
|
2296
|
+
* * `*` matches zero or more characters
|
2297
|
+
* * `?` matches exactly one character
|
2298
|
+
*
|
2299
|
+
* If you want to match a string that contains a wildcard character, you can escape them using a backslash (`\`). You can escape a backslash by usign another backslash.
|
2300
|
+
*
|
2078
2301
|
* We could also have `$endsWith` and `$startsWith` operators:
|
2079
2302
|
*
|
2080
2303
|
* ```json
|
2081
2304
|
* {
|
2082
2305
|
* "filter": {
|
2083
2306
|
* "<column_name>": {
|
2084
|
-
*
|
2307
|
+
* "$endsWith": ".gz"
|
2085
2308
|
* },
|
2086
2309
|
* "<column_name>": {
|
2087
|
-
*
|
2310
|
+
* "$startsWith": "tmp-"
|
2088
2311
|
* }
|
2089
2312
|
* }
|
2090
2313
|
* }
|
2091
2314
|
* ```
|
2092
2315
|
*
|
2093
|
-
* #### Numeric ranges
|
2316
|
+
* #### Numeric or datetime ranges
|
2094
2317
|
*
|
2095
2318
|
* ```json
|
2096
2319
|
* {
|
2097
2320
|
* "filter": {
|
2098
|
-
*
|
2099
|
-
*
|
2100
|
-
*
|
2101
|
-
*
|
2321
|
+
* "<column_name>": {
|
2322
|
+
* "$ge": 0,
|
2323
|
+
* "$lt": 100
|
2324
|
+
* }
|
2325
|
+
* }
|
2326
|
+
* }
|
2327
|
+
* ```
|
2328
|
+
* Date ranges support the same operators, with the date using the format defined in
|
2329
|
+
* [RFC 3339](https://www.rfc-editor.org/rfc/rfc3339):
|
2330
|
+
* ```json
|
2331
|
+
* {
|
2332
|
+
* "filter": {
|
2333
|
+
* "<column_name>": {
|
2334
|
+
* "$gt": "2019-10-12T07:20:50.52Z",
|
2335
|
+
* "$lt": "2021-10-12T07:20:50.52Z"
|
2336
|
+
* }
|
2102
2337
|
* }
|
2103
2338
|
* }
|
2104
2339
|
* ```
|
2105
|
-
*
|
2106
2340
|
* The supported operators are `$gt`, `$lt`, `$ge`, `$le`.
|
2107
2341
|
*
|
2108
|
-
*
|
2109
2342
|
* #### Negations
|
2110
2343
|
*
|
2111
2344
|
* A general `$not` operator can inverse any operation.
|
@@ -2130,15 +2363,21 @@ declare type QueryTableVariables = {
|
|
2130
2363
|
* {
|
2131
2364
|
* "filter": {
|
2132
2365
|
* "$not": {
|
2133
|
-
* "$any": [
|
2134
|
-
*
|
2135
|
-
*
|
2136
|
-
*
|
2137
|
-
*
|
2138
|
-
*
|
2139
|
-
*
|
2140
|
-
*
|
2141
|
-
*
|
2366
|
+
* "$any": [
|
2367
|
+
* {
|
2368
|
+
* "<column_name1>": "value1"
|
2369
|
+
* },
|
2370
|
+
* {
|
2371
|
+
* "$all": [
|
2372
|
+
* {
|
2373
|
+
* "<column_name2>": "value2"
|
2374
|
+
* },
|
2375
|
+
* {
|
2376
|
+
* "<column_name3>": "value3"
|
2377
|
+
* }
|
2378
|
+
* ]
|
2379
|
+
* }
|
2380
|
+
* ]
|
2142
2381
|
* }
|
2143
2382
|
* }
|
2144
2383
|
* }
|
@@ -2193,8 +2432,8 @@ declare type QueryTableVariables = {
|
|
2193
2432
|
* "<array name>": {
|
2194
2433
|
* "$includes": {
|
2195
2434
|
* "$all": [
|
2196
|
-
* {"$contains": "label"},
|
2197
|
-
* {"$not": {"$endsWith": "-debug"}}
|
2435
|
+
* { "$contains": "label" },
|
2436
|
+
* { "$not": { "$endsWith": "-debug" } }
|
2198
2437
|
* ]
|
2199
2438
|
* }
|
2200
2439
|
* }
|
@@ -2214,9 +2453,7 @@ declare type QueryTableVariables = {
|
|
2214
2453
|
* {
|
2215
2454
|
* "filter": {
|
2216
2455
|
* "settings.labels": {
|
2217
|
-
* "$includesAll": [
|
2218
|
-
* {"$contains": "label"},
|
2219
|
-
* ]
|
2456
|
+
* "$includesAll": [{ "$contains": "label" }]
|
2220
2457
|
* }
|
2221
2458
|
* }
|
2222
2459
|
* }
|
@@ -2264,7 +2501,6 @@ declare type QueryTableVariables = {
|
|
2264
2501
|
* }
|
2265
2502
|
* ```
|
2266
2503
|
*
|
2267
|
-
*
|
2268
2504
|
* ### Pagination
|
2269
2505
|
*
|
2270
2506
|
* We offer cursor pagination and offset pagination. The offset pagination is limited
|
@@ -2330,8 +2566,8 @@ declare type QueryTableVariables = {
|
|
2330
2566
|
* can be queried by update `page.after` to the returned cursor while keeping the
|
2331
2567
|
* `page.before` cursor from the first range query.
|
2332
2568
|
*
|
2333
|
-
* The `filter` , `columns`,
|
2334
|
-
* encoded with the cursor.
|
2569
|
+
* The `filter` , `columns`, `sort` , and `page.size` configuration will be
|
2570
|
+
* encoded with the cursor. The pagination request will be invalid if
|
2335
2571
|
* `filter` or `sort` is set. The columns returned and page size can be changed
|
2336
2572
|
* anytime by passing the `columns` or `page.size` settings to the next query.
|
2337
2573
|
*
|
@@ -2368,6 +2604,39 @@ declare type QueryTableVariables = {
|
|
2368
2604
|
* ```
|
2369
2605
|
*/
|
2370
2606
|
declare const queryTable: (variables: QueryTableVariables) => Promise<QueryResponse>;
|
2607
|
+
declare type SearchTablePathParams = {
|
2608
|
+
dbBranchName: DBBranchName;
|
2609
|
+
tableName: TableName;
|
2610
|
+
workspace: string;
|
2611
|
+
};
|
2612
|
+
declare type SearchTableError = ErrorWrapper<{
|
2613
|
+
status: 400;
|
2614
|
+
payload: BadRequestError;
|
2615
|
+
} | {
|
2616
|
+
status: 401;
|
2617
|
+
payload: AuthError;
|
2618
|
+
} | {
|
2619
|
+
status: 404;
|
2620
|
+
payload: SimpleError;
|
2621
|
+
}>;
|
2622
|
+
declare type SearchTableRequestBody = {
|
2623
|
+
query: string;
|
2624
|
+
fuzziness?: FuzzinessExpression;
|
2625
|
+
filter?: FilterExpression;
|
2626
|
+
highlight?: HighlightExpression;
|
2627
|
+
};
|
2628
|
+
declare type SearchTableVariables = {
|
2629
|
+
body: SearchTableRequestBody;
|
2630
|
+
pathParams: SearchTablePathParams;
|
2631
|
+
} & FetcherExtraProps;
|
2632
|
+
/**
|
2633
|
+
* Run a free text search operation in a particular table.
|
2634
|
+
*
|
2635
|
+
* The endpoint accepts a `query` parameter that is used for the free text search and a set of structured filters (via the `filter` parameter) that are applied before the search. The `filter` parameter uses the same syntax as the [query endpoint](/api-reference/db/db_branch_name/tables/table_name/) with the following exceptions:
|
2636
|
+
* * filters `$contains`, `$startsWith`, `$endsWith` don't work on columns of type `text`
|
2637
|
+
* * filtering on columns of type `multiple` is currently unsupported
|
2638
|
+
*/
|
2639
|
+
declare const searchTable: (variables: SearchTableVariables) => Promise<SearchResponse>;
|
2371
2640
|
declare type SearchBranchPathParams = {
|
2372
2641
|
dbBranchName: DBBranchName;
|
2373
2642
|
workspace: string;
|
@@ -2383,9 +2652,13 @@ declare type SearchBranchError = ErrorWrapper<{
|
|
2383
2652
|
payload: SimpleError;
|
2384
2653
|
}>;
|
2385
2654
|
declare type SearchBranchRequestBody = {
|
2386
|
-
tables?: string
|
2655
|
+
tables?: (string | {
|
2656
|
+
table: string;
|
2657
|
+
filter?: FilterExpression;
|
2658
|
+
})[];
|
2387
2659
|
query: string;
|
2388
|
-
fuzziness?:
|
2660
|
+
fuzziness?: FuzzinessExpression;
|
2661
|
+
highlight?: HighlightExpression;
|
2389
2662
|
};
|
2390
2663
|
declare type SearchBranchVariables = {
|
2391
2664
|
body: SearchBranchRequestBody;
|
@@ -2422,6 +2695,10 @@ declare const operationsByTag: {
|
|
2422
2695
|
getDatabaseList: (variables: GetDatabaseListVariables) => Promise<ListDatabasesResponse>;
|
2423
2696
|
createDatabase: (variables: CreateDatabaseVariables) => Promise<CreateDatabaseResponse>;
|
2424
2697
|
deleteDatabase: (variables: DeleteDatabaseVariables) => Promise<undefined>;
|
2698
|
+
getGitBranchesMapping: (variables: GetGitBranchesMappingVariables) => Promise<ListGitBranchesResponse>;
|
2699
|
+
addGitBranchesEntry: (variables: AddGitBranchesEntryVariables) => Promise<AddGitBranchesEntryResponse>;
|
2700
|
+
removeGitBranchesEntry: (variables: RemoveGitBranchesEntryVariables) => Promise<undefined>;
|
2701
|
+
resolveBranch: (variables: ResolveBranchVariables) => Promise<ResolveBranchResponse>;
|
2425
2702
|
};
|
2426
2703
|
branch: {
|
2427
2704
|
getBranchList: (variables: GetBranchListVariables) => Promise<ListBranchesResponse>;
|
@@ -2456,6 +2733,7 @@ declare const operationsByTag: {
|
|
2456
2733
|
getRecord: (variables: GetRecordVariables) => Promise<XataRecord$1>;
|
2457
2734
|
bulkInsertTableRecords: (variables: BulkInsertTableRecordsVariables) => Promise<BulkInsertTableRecordsResponse>;
|
2458
2735
|
queryTable: (variables: QueryTableVariables) => Promise<QueryResponse>;
|
2736
|
+
searchTable: (variables: SearchTableVariables) => Promise<SearchResponse>;
|
2459
2737
|
searchBranch: (variables: SearchBranchVariables) => Promise<SearchResponse>;
|
2460
2738
|
};
|
2461
2739
|
};
|
@@ -2472,6 +2750,9 @@ interface XataApiClientOptions {
|
|
2472
2750
|
apiKey?: string;
|
2473
2751
|
host?: HostProvider;
|
2474
2752
|
}
|
2753
|
+
/**
|
2754
|
+
* @deprecated Use XataApiPlugin instead
|
2755
|
+
*/
|
2475
2756
|
declare class XataApiClient {
|
2476
2757
|
#private;
|
2477
2758
|
constructor(options?: XataApiClientOptions);
|
@@ -2514,6 +2795,10 @@ declare class DatabaseApi {
|
|
2514
2795
|
getDatabaseList(workspace: WorkspaceID): Promise<ListDatabasesResponse>;
|
2515
2796
|
createDatabase(workspace: WorkspaceID, dbName: DBName, options?: CreateDatabaseRequestBody): Promise<CreateDatabaseResponse>;
|
2516
2797
|
deleteDatabase(workspace: WorkspaceID, dbName: DBName): Promise<void>;
|
2798
|
+
getGitBranchesMapping(workspace: WorkspaceID, dbName: DBName): Promise<ListGitBranchesResponse>;
|
2799
|
+
addGitBranchesEntry(workspace: WorkspaceID, dbName: DBName, body: AddGitBranchesEntryRequestBody): Promise<AddGitBranchesEntryResponse>;
|
2800
|
+
removeGitBranchesEntry(workspace: WorkspaceID, dbName: DBName, gitBranch: string): Promise<void>;
|
2801
|
+
resolveBranch(workspace: WorkspaceID, dbName: DBName, gitBranch: string): Promise<ResolveBranchResponse>;
|
2517
2802
|
}
|
2518
2803
|
declare class BranchApi {
|
2519
2804
|
private extraProps;
|
@@ -2554,6 +2839,7 @@ declare class RecordsApi {
|
|
2554
2839
|
getRecord(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, recordId: RecordID, options?: GetRecordRequestBody): Promise<XataRecord$1>;
|
2555
2840
|
bulkInsertTableRecords(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, records: Record<string, any>[]): Promise<BulkInsertTableRecordsResponse>;
|
2556
2841
|
queryTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, query: QueryTableRequestBody): Promise<QueryResponse>;
|
2842
|
+
searchTable(workspace: WorkspaceID, database: DBName, branch: BranchName, tableName: TableName, query: SearchTableRequestBody): Promise<SearchResponse>;
|
2557
2843
|
searchBranch(workspace: WorkspaceID, database: DBName, branch: BranchName, query: SearchBranchRequestBody): Promise<SearchResponse>;
|
2558
2844
|
}
|
2559
2845
|
|
@@ -2575,30 +2861,31 @@ declare type RequiredBy<T, K extends keyof T> = T & {
|
|
2575
2861
|
};
|
2576
2862
|
declare type GetArrayInnerType<T extends readonly any[]> = T[number];
|
2577
2863
|
declare type SingleOrArray<T> = T | T[];
|
2578
|
-
declare type
|
2864
|
+
declare type OmitBy<T, K extends keyof T> = T extends any ? Omit<T, K> : never;
|
2579
2865
|
|
2580
2866
|
declare type SelectableColumn<O, RecursivePath extends any[] = []> = '*' | 'id' | DataProps<O> | NestedColumns<O, RecursivePath>;
|
2581
2867
|
declare type SelectedPick<O extends XataRecord, Key extends SelectableColumn<O>[]> = XataRecord & UnionToIntersection<Values<{
|
2582
2868
|
[K in Key[number]]: NestedValueAtColumn<O, K> & XataRecord;
|
2583
2869
|
}>>;
|
2584
|
-
declare type ValueAtColumn<O, P extends SelectableColumn<O>> = P extends '*' ? Values<O> : P extends 'id' ? string : P extends keyof O ? O[P] : P extends `${infer K}.${infer V}` ? K extends keyof O ? Values<O[K] extends
|
2585
|
-
V: ValueAtColumn<O[K]
|
2586
|
-
} : never
|
2870
|
+
declare type ValueAtColumn<O, P extends SelectableColumn<O>> = P extends '*' ? Values<O> : P extends 'id' ? string : P extends keyof O ? O[P] : P extends `${infer K}.${infer V}` ? K extends keyof O ? Values<RemoveNullable<O[K]> extends Record<string, any> ? V extends SelectableColumn<RemoveNullable<O[K]>> ? {
|
2871
|
+
V: ValueAtColumn<RemoveNullable<O[K]>, V>;
|
2872
|
+
} : never : O[K]> : never : never;
|
2587
2873
|
declare type MAX_RECURSION = 5;
|
2588
2874
|
declare type NestedColumns<O, RecursivePath extends any[]> = RecursivePath['length'] extends MAX_RECURSION ? never : If<IsObject<O>, Values<{
|
2589
|
-
[K in DataProps<O>]: If<IsArray<
|
2590
|
-
If<IsObject<
|
2875
|
+
[K in DataProps<O>]: If<IsArray<RemoveNullable<O[K]>>, K, // If the property is an array, we stop recursion. We don't support object arrays yet
|
2876
|
+
If<IsObject<RemoveNullable<O[K]>>, RemoveNullable<O[K]> extends XataRecord ? SelectableColumn<RemoveNullable<O[K]>, [...RecursivePath, O[K]]> extends infer Column ? Column extends string ? K | `${K}.${Column}` : never : never : `${K}.${StringKeys<RemoveNullable<O[K]>> | '*'}`, // This allows usage of objects that are not links
|
2591
2877
|
K>>;
|
2592
2878
|
}>, never>;
|
2593
2879
|
declare type DataProps<O> = Exclude<StringKeys<O>, StringKeys<XataRecord>>;
|
2594
2880
|
declare type NestedValueAtColumn<O, Key extends SelectableColumn<O>> = Key extends `${infer N}.${infer M}` ? N extends DataProps<O> ? {
|
2595
|
-
[K in N]: M extends SelectableColumn<
|
2881
|
+
[K in N]: M extends SelectableColumn<RemoveNullable<O[K]>> ? RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], NestedValueAtColumn<RemoveNullable<O[K]>, M> & XataRecord> : ForwardNullable<O[K], NestedValueAtColumn<RemoveNullable<O[K]>, M>> : unknown;
|
2596
2882
|
} : unknown : Key extends DataProps<O> ? {
|
2597
|
-
[K in Key]:
|
2883
|
+
[K in Key]: RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], SelectedPick<RemoveNullable<O[K]>, ['*']>> : O[K];
|
2598
2884
|
} : Key extends '*' ? {
|
2599
|
-
[K in StringKeys<O>]:
|
2885
|
+
[K in StringKeys<O>]: RemoveNullable<O[K]> extends XataRecord ? ForwardNullable<O[K], Link<RemoveNullable<O[K]>>> : O[K];
|
2600
2886
|
} : unknown;
|
2601
|
-
declare type
|
2887
|
+
declare type RemoveNullable<T> = T extends null | undefined ? never : T;
|
2888
|
+
declare type ForwardNullable<T, R> = T extends RemoveNullable<T> ? R : R | null;
|
2602
2889
|
|
2603
2890
|
/**
|
2604
2891
|
* Represents an identifiable record from the database.
|
@@ -2615,16 +2902,11 @@ interface BaseData {
|
|
2615
2902
|
/**
|
2616
2903
|
* Represents a persisted record from the database.
|
2617
2904
|
*/
|
2618
|
-
interface XataRecord extends Identifiable {
|
2905
|
+
interface XataRecord<ExtraMetadata extends Record<string, unknown> = Record<string, unknown>> extends Identifiable {
|
2619
2906
|
/**
|
2620
|
-
*
|
2907
|
+
* Get metadata of this record.
|
2621
2908
|
*/
|
2622
|
-
|
2623
|
-
/**
|
2624
|
-
* Number that is increased every time the record is updated.
|
2625
|
-
*/
|
2626
|
-
version: number;
|
2627
|
-
};
|
2909
|
+
getMetadata(): XataRecordMetadata & ExtraMetadata;
|
2628
2910
|
/**
|
2629
2911
|
* Retrieves a refreshed copy of the current record from the database.
|
2630
2912
|
*/
|
@@ -2632,7 +2914,7 @@ interface XataRecord extends Identifiable {
|
|
2632
2914
|
/**
|
2633
2915
|
* Performs a partial update of the current record. On success a new object is
|
2634
2916
|
* returned and the current object is not mutated.
|
2635
|
-
* @param
|
2917
|
+
* @param partialUpdate The columns and their values that have to be updated.
|
2636
2918
|
* @returns A new record containing the latest values for all the columns of the current record.
|
2637
2919
|
*/
|
2638
2920
|
update(partialUpdate: Partial<EditableData<Omit<this, keyof XataRecord>>>): Promise<Readonly<SelectedPick<this, ['*']>>>;
|
@@ -2651,11 +2933,18 @@ declare type Link<Record extends XataRecord> = Omit<XataRecord, 'read' | 'update
|
|
2651
2933
|
/**
|
2652
2934
|
* Performs a partial update of the current record. On success a new object is
|
2653
2935
|
* returned and the current object is not mutated.
|
2654
|
-
* @param
|
2936
|
+
* @param partialUpdate The columns and their values that have to be updated.
|
2655
2937
|
* @returns A new record containing the latest values for all the columns of the current record.
|
2656
2938
|
*/
|
2657
2939
|
update(partialUpdate: Partial<EditableData<Omit<Record, keyof XataRecord>>>): Promise<Readonly<SelectedPick<Record, ['*']>>>;
|
2658
2940
|
};
|
2941
|
+
declare type XataRecordMetadata = {
|
2942
|
+
/**
|
2943
|
+
* Number that is increased every time the record is updated.
|
2944
|
+
*/
|
2945
|
+
version: number;
|
2946
|
+
warnings?: string[];
|
2947
|
+
};
|
2659
2948
|
declare function isIdentifiable(x: any): x is Identifiable & Record<string, unknown>;
|
2660
2949
|
declare function isXataRecord(x: any): x is XataRecord & Record<string, unknown>;
|
2661
2950
|
declare type EditableData<O extends BaseData> = {
|
@@ -2739,8 +3028,8 @@ declare type ValueTypeFilters<T> = T | T extends string ? StringTypeFilter : T e
|
|
2739
3028
|
],
|
2740
3029
|
}
|
2741
3030
|
*/
|
2742
|
-
declare type AggregatorFilter<
|
2743
|
-
[key in '$all' | '$any' | '$not' | '$none']?: SingleOrArray<Filter<
|
3031
|
+
declare type AggregatorFilter<T> = {
|
3032
|
+
[key in '$all' | '$any' | '$not' | '$none']?: SingleOrArray<Filter<T>>;
|
2744
3033
|
};
|
2745
3034
|
/**
|
2746
3035
|
* Existance filter
|
@@ -2755,10 +3044,10 @@ declare type BaseApiFilter<Record> = PropertyAccessFilter<Record> | AggregatorFi
|
|
2755
3044
|
* Injects the Api filters on nested properties
|
2756
3045
|
* Example: { filter: { settings: { plan: { $any: ['free', 'trial'] } } } }
|
2757
3046
|
*/
|
2758
|
-
declare type NestedApiFilter<T> =
|
3047
|
+
declare type NestedApiFilter<T> = {
|
2759
3048
|
[key in keyof T]?: T[key] extends Record<string, any> ? SingleOrArray<Filter<T[key]>> : PropertyFilter<T[key]>;
|
2760
|
-
}
|
2761
|
-
declare type Filter<
|
3049
|
+
};
|
3050
|
+
declare type Filter<T> = T extends Record<string, any> ? BaseApiFilter<T> | NestedApiFilter<T> : PropertyFilter<T>;
|
2762
3051
|
|
2763
3052
|
declare type SortDirection = 'asc' | 'desc';
|
2764
3053
|
declare type SortFilterExtended<T extends XataRecord> = {
|
@@ -2770,12 +3059,21 @@ declare type SortFilterBase<T extends XataRecord> = {
|
|
2770
3059
|
[Key in StringKeys<T>]: SortDirection;
|
2771
3060
|
};
|
2772
3061
|
|
2773
|
-
declare type
|
2774
|
-
page?: PaginationOptions;
|
3062
|
+
declare type BaseOptions<T extends XataRecord> = {
|
2775
3063
|
columns?: NonEmptyArray<SelectableColumn<T>>;
|
3064
|
+
cache?: number;
|
3065
|
+
};
|
3066
|
+
declare type CursorQueryOptions = {
|
3067
|
+
pagination?: CursorNavigationOptions & OffsetNavigationOptions;
|
3068
|
+
filter?: never;
|
3069
|
+
sort?: never;
|
3070
|
+
};
|
3071
|
+
declare type OffsetQueryOptions<T extends XataRecord> = {
|
3072
|
+
pagination?: OffsetNavigationOptions;
|
2776
3073
|
filter?: FilterExpression;
|
2777
3074
|
sort?: SortFilter<T> | SortFilter<T>[];
|
2778
3075
|
};
|
3076
|
+
declare type QueryOptions<T extends XataRecord> = BaseOptions<T> & (CursorQueryOptions | OffsetQueryOptions<T>);
|
2779
3077
|
/**
|
2780
3078
|
* Query objects contain the information of all filters, sorting, etc. to be included in the database query.
|
2781
3079
|
*
|
@@ -2785,9 +3083,10 @@ declare type QueryOptions<T extends XataRecord> = {
|
|
2785
3083
|
declare class Query<Record extends XataRecord, Result extends XataRecord = Record> implements Paginable<Record, Result> {
|
2786
3084
|
#private;
|
2787
3085
|
readonly meta: PaginationQueryMeta;
|
2788
|
-
readonly records: Result
|
2789
|
-
constructor(repository: Repository<Record> | null, table: string, data: Partial<QueryOptions<Record>>,
|
3086
|
+
readonly records: RecordArray<Result>;
|
3087
|
+
constructor(repository: Repository<Record> | null, table: string, data: Partial<QueryOptions<Record>>, rawParent?: Partial<QueryOptions<Record>>);
|
2790
3088
|
getQueryOptions(): QueryOptions<Record>;
|
3089
|
+
key(): string;
|
2791
3090
|
/**
|
2792
3091
|
* Builds a new query object representing a logical OR between the given subqueries.
|
2793
3092
|
* @param queries An array of subqueries.
|
@@ -2817,18 +3116,28 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
|
|
2817
3116
|
*
|
2818
3117
|
* ```
|
2819
3118
|
* query.filter("columnName", columnValue)
|
2820
|
-
* query.filter(
|
2821
|
-
*
|
2822
|
-
*
|
3119
|
+
* query.filter("columnName", operator(columnValue)) // Use gt, gte, lt, lte, startsWith,...
|
3120
|
+
* ```
|
3121
|
+
*
|
3122
|
+
* @param column The name of the column to filter.
|
3123
|
+
* @param value The value to filter.
|
3124
|
+
* @returns A new Query object.
|
3125
|
+
*/
|
3126
|
+
filter<F extends SelectableColumn<Record>>(column: F, value: Filter<ValueAtColumn<Record, F>>): Query<Record, Result>;
|
3127
|
+
/**
|
3128
|
+
* Builds a new query object adding one or more constraints. Examples:
|
3129
|
+
*
|
3130
|
+
* ```
|
3131
|
+
* query.filter({ "columnName": columnValue })
|
2823
3132
|
* query.filter({
|
2824
3133
|
* "columnName": operator(columnValue) // Use gt, gte, lt, lte, startsWith,...
|
2825
3134
|
* })
|
2826
3135
|
* ```
|
2827
3136
|
*
|
3137
|
+
* @param filters A filter object
|
2828
3138
|
* @returns A new Query object.
|
2829
3139
|
*/
|
2830
3140
|
filter(filters: Filter<Record>): Query<Record, Result>;
|
2831
|
-
filter<F extends SelectableColumn<Record>>(column: F, value: Filter<ValueAtColumn<Record, F>>): Query<Record, Result>;
|
2832
3141
|
/**
|
2833
3142
|
* Builds a new query with a new sort option.
|
2834
3143
|
* @param column The column name.
|
@@ -2842,42 +3151,148 @@ declare class Query<Record extends XataRecord, Result extends XataRecord = Recor
|
|
2842
3151
|
* @returns A new Query object.
|
2843
3152
|
*/
|
2844
3153
|
select<K extends SelectableColumn<Record>>(columns: NonEmptyArray<K>): Query<Record, SelectedPick<Record, NonEmptyArray<K>>>;
|
3154
|
+
/**
|
3155
|
+
* Get paginated results
|
3156
|
+
*
|
3157
|
+
* @returns A page of results
|
3158
|
+
*/
|
2845
3159
|
getPaginated(): Promise<Page<Record, Result>>;
|
2846
|
-
|
3160
|
+
/**
|
3161
|
+
* Get paginated results
|
3162
|
+
*
|
3163
|
+
* @param options Pagination options
|
3164
|
+
* @returns A page of results
|
3165
|
+
*/
|
3166
|
+
getPaginated(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<Page<Record, Result>>;
|
3167
|
+
/**
|
3168
|
+
* Get paginated results
|
3169
|
+
*
|
3170
|
+
* @param options Pagination options
|
3171
|
+
* @returns A page of results
|
3172
|
+
*/
|
2847
3173
|
getPaginated<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<Page<Record, SelectedPick<Record, typeof options['columns']>>>;
|
3174
|
+
/**
|
3175
|
+
* Get results in an iterator
|
3176
|
+
*
|
3177
|
+
* @async
|
3178
|
+
* @returns Async interable of results
|
3179
|
+
*/
|
2848
3180
|
[Symbol.asyncIterator](): AsyncIterableIterator<Result>;
|
2849
|
-
|
2850
|
-
|
2851
|
-
|
3181
|
+
/**
|
3182
|
+
* Build an iterator of results
|
3183
|
+
*
|
3184
|
+
* @returns Async generator of results array
|
3185
|
+
*/
|
3186
|
+
getIterator(): AsyncGenerator<Result[]>;
|
3187
|
+
/**
|
3188
|
+
* Build an iterator of results
|
3189
|
+
*
|
3190
|
+
* @param options Pagination options with batchSize
|
3191
|
+
* @returns Async generator of results array
|
3192
|
+
*/
|
3193
|
+
getIterator(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'> & {
|
3194
|
+
batchSize?: number;
|
3195
|
+
}): AsyncGenerator<Result[]>;
|
3196
|
+
/**
|
3197
|
+
* Build an iterator of results
|
3198
|
+
*
|
3199
|
+
* @param options Pagination options with batchSize
|
3200
|
+
* @returns Async generator of results array
|
3201
|
+
*/
|
3202
|
+
getIterator<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'> & {
|
3203
|
+
batchSize?: number;
|
3204
|
+
}>(options: Options): AsyncGenerator<SelectedPick<Record, typeof options['columns']>[]>;
|
3205
|
+
/**
|
3206
|
+
* Performs the query in the database and returns a set of results.
|
3207
|
+
* @returns An array of records from the database.
|
3208
|
+
*/
|
3209
|
+
getMany(): Promise<RecordArray<Result>>;
|
3210
|
+
/**
|
3211
|
+
* Performs the query in the database and returns a set of results.
|
3212
|
+
* @param options Additional options to be used when performing the query.
|
3213
|
+
* @returns An array of records from the database.
|
3214
|
+
*/
|
3215
|
+
getMany(options: OmitBy<QueryOptions<Record>, 'columns'>): Promise<RecordArray<Result>>;
|
2852
3216
|
/**
|
2853
3217
|
* Performs the query in the database and returns a set of results.
|
2854
3218
|
* @param options Additional options to be used when performing the query.
|
2855
3219
|
* @returns An array of records from the database.
|
2856
3220
|
*/
|
2857
|
-
getMany(): Promise<
|
2858
|
-
|
2859
|
-
|
3221
|
+
getMany<Options extends RequiredBy<QueryOptions<Record>, 'columns'>>(options: Options): Promise<RecordArray<SelectedPick<Record, typeof options['columns']>>>;
|
3222
|
+
/**
|
3223
|
+
* Performs the query in the database and returns all the results.
|
3224
|
+
* Warning: If there are a large number of results, this method can have performance implications.
|
3225
|
+
* @returns An array of records from the database.
|
3226
|
+
*/
|
3227
|
+
getAll(): Promise<Result[]>;
|
2860
3228
|
/**
|
2861
3229
|
* Performs the query in the database and returns all the results.
|
2862
3230
|
* Warning: If there are a large number of results, this method can have performance implications.
|
2863
3231
|
* @param options Additional options to be used when performing the query.
|
2864
3232
|
* @returns An array of records from the database.
|
2865
3233
|
*/
|
2866
|
-
getAll(
|
2867
|
-
|
2868
|
-
|
3234
|
+
getAll(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'> & {
|
3235
|
+
batchSize?: number;
|
3236
|
+
}): Promise<Result[]>;
|
3237
|
+
/**
|
3238
|
+
* Performs the query in the database and returns all the results.
|
3239
|
+
* Warning: If there are a large number of results, this method can have performance implications.
|
3240
|
+
* @param options Additional options to be used when performing the query.
|
3241
|
+
* @returns An array of records from the database.
|
3242
|
+
*/
|
3243
|
+
getAll<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'> & {
|
3244
|
+
batchSize?: number;
|
3245
|
+
}>(options: Options): Promise<SelectedPick<Record, typeof options['columns']>[]>;
|
3246
|
+
/**
|
3247
|
+
* Performs the query in the database and returns the first result.
|
3248
|
+
* @returns The first record that matches the query, or null if no record matched the query.
|
3249
|
+
*/
|
3250
|
+
getFirst(): Promise<Result | null>;
|
3251
|
+
/**
|
3252
|
+
* Performs the query in the database and returns the first result.
|
3253
|
+
* @param options Additional options to be used when performing the query.
|
3254
|
+
* @returns The first record that matches the query, or null if no record matched the query.
|
3255
|
+
*/
|
3256
|
+
getFirst(options: OmitBy<QueryOptions<Record>, 'columns' | 'pagination'>): Promise<Result | null>;
|
2869
3257
|
/**
|
2870
3258
|
* Performs the query in the database and returns the first result.
|
2871
3259
|
* @param options Additional options to be used when performing the query.
|
2872
3260
|
* @returns The first record that matches the query, or null if no record matched the query.
|
2873
3261
|
*/
|
2874
|
-
|
2875
|
-
|
2876
|
-
|
3262
|
+
getFirst<Options extends RequiredBy<OmitBy<QueryOptions<Record>, 'pagination'>, 'columns'>>(options: Options): Promise<SelectedPick<Record, typeof options['columns']> | null>;
|
3263
|
+
/**
|
3264
|
+
* Builds a new query object adding a cache TTL in milliseconds.
|
3265
|
+
* @param ttl The cache TTL in milliseconds.
|
3266
|
+
* @returns A new Query object.
|
3267
|
+
*/
|
3268
|
+
cache(ttl: number): Query<Record, Result>;
|
3269
|
+
/**
|
3270
|
+
* Retrieve next page of records
|
3271
|
+
*
|
3272
|
+
* @returns A new page object.
|
3273
|
+
*/
|
2877
3274
|
nextPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
3275
|
+
/**
|
3276
|
+
* Retrieve previous page of records
|
3277
|
+
*
|
3278
|
+
* @returns A new page object
|
3279
|
+
*/
|
2878
3280
|
previousPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
3281
|
+
/**
|
3282
|
+
* Retrieve first page of records
|
3283
|
+
*
|
3284
|
+
* @returns A new page object
|
3285
|
+
*/
|
2879
3286
|
firstPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
3287
|
+
/**
|
3288
|
+
* Retrieve last page of records
|
3289
|
+
*
|
3290
|
+
* @returns A new page object
|
3291
|
+
*/
|
2880
3292
|
lastPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
3293
|
+
/**
|
3294
|
+
* @returns Boolean indicating if there is a next page
|
3295
|
+
*/
|
2881
3296
|
hasNextPage(): boolean;
|
2882
3297
|
}
|
2883
3298
|
|
@@ -2889,7 +3304,7 @@ declare type PaginationQueryMeta = {
|
|
2889
3304
|
};
|
2890
3305
|
interface Paginable<Record extends XataRecord, Result extends XataRecord = Record> {
|
2891
3306
|
meta: PaginationQueryMeta;
|
2892
|
-
records: Result
|
3307
|
+
records: RecordArray<Result>;
|
2893
3308
|
nextPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
2894
3309
|
previousPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
2895
3310
|
firstPage(size?: number, offset?: number): Promise<Page<Record, Result>>;
|
@@ -2909,7 +3324,7 @@ declare class Page<Record extends XataRecord, Result extends XataRecord = Record
|
|
2909
3324
|
/**
|
2910
3325
|
* The set of results for this page.
|
2911
3326
|
*/
|
2912
|
-
readonly records: Result
|
3327
|
+
readonly records: RecordArray<Result>;
|
2913
3328
|
constructor(query: Query<Record, Result>, meta: PaginationQueryMeta, records?: Result[]);
|
2914
3329
|
/**
|
2915
3330
|
* Retrieves the next page of results.
|
@@ -2957,14 +3372,44 @@ declare type OffsetNavigationOptions = {
|
|
2957
3372
|
size?: number;
|
2958
3373
|
offset?: number;
|
2959
3374
|
};
|
2960
|
-
declare type PaginationOptions = CursorNavigationOptions & OffsetNavigationOptions;
|
2961
3375
|
declare const PAGINATION_MAX_SIZE = 200;
|
2962
|
-
declare const PAGINATION_DEFAULT_SIZE =
|
3376
|
+
declare const PAGINATION_DEFAULT_SIZE = 20;
|
2963
3377
|
declare const PAGINATION_MAX_OFFSET = 800;
|
2964
3378
|
declare const PAGINATION_DEFAULT_OFFSET = 0;
|
3379
|
+
declare function isCursorPaginationOptions(options: Record<string, unknown> | undefined | null): options is CursorNavigationOptions;
|
3380
|
+
declare class RecordArray<Result extends XataRecord> extends Array<Result> {
|
3381
|
+
#private;
|
3382
|
+
constructor(page: Paginable<any, Result>, overrideRecords?: Result[]);
|
3383
|
+
/**
|
3384
|
+
* Retrieve next page of records
|
3385
|
+
*
|
3386
|
+
* @returns A new array of objects
|
3387
|
+
*/
|
3388
|
+
nextPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
|
3389
|
+
/**
|
3390
|
+
* Retrieve previous page of records
|
3391
|
+
*
|
3392
|
+
* @returns A new array of objects
|
3393
|
+
*/
|
3394
|
+
previousPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
|
3395
|
+
/**
|
3396
|
+
* Retrieve first page of records
|
3397
|
+
*
|
3398
|
+
* @returns A new array of objects
|
3399
|
+
*/
|
3400
|
+
firstPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
|
3401
|
+
/**
|
3402
|
+
* Retrieve last page of records
|
3403
|
+
*
|
3404
|
+
* @returns A new array of objects
|
3405
|
+
*/
|
3406
|
+
lastPage(size?: number, offset?: number): Promise<RecordArray<Result>>;
|
3407
|
+
/**
|
3408
|
+
* @returns Boolean indicating if there is a next page
|
3409
|
+
*/
|
3410
|
+
hasNextPage(): boolean;
|
3411
|
+
}
|
2965
3412
|
|
2966
|
-
declare type TableLink = string[];
|
2967
|
-
declare type LinkDictionary = Dictionary<TableLink[]>;
|
2968
3413
|
/**
|
2969
3414
|
* Common interface for performing operations on a table.
|
2970
3415
|
*/
|
@@ -2989,6 +3434,12 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
|
|
2989
3434
|
* @returns The persisted record for the given id or null if the record could not be found.
|
2990
3435
|
*/
|
2991
3436
|
abstract read(id: string): Promise<Readonly<SelectedPick<Record, ['*']> | null>>;
|
3437
|
+
/**
|
3438
|
+
* Queries multiple records from the table given their unique id.
|
3439
|
+
* @param ids The unique ids array.
|
3440
|
+
* @returns The persisted records for the given ids (if a record could not be found it is not returned).
|
3441
|
+
*/
|
3442
|
+
abstract read(ids: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
|
2992
3443
|
/**
|
2993
3444
|
* Partially update a single record.
|
2994
3445
|
* @param object An object with its id and the columns to be updated.
|
@@ -3061,7 +3512,9 @@ declare abstract class Repository<Data extends BaseData, Record extends XataReco
|
|
3061
3512
|
* @returns The found records.
|
3062
3513
|
*/
|
3063
3514
|
abstract search(query: string, options?: {
|
3064
|
-
fuzziness?:
|
3515
|
+
fuzziness?: FuzzinessExpression;
|
3516
|
+
highlight?: HighlightExpression;
|
3517
|
+
filter?: Filter<Record>;
|
3065
3518
|
}): Promise<SelectedPick<Record, ['*']>[]>;
|
3066
3519
|
abstract query<Result extends XataRecord>(query: Query<Record, Result>): Promise<Page<Record, Result>>;
|
3067
3520
|
}
|
@@ -3070,23 +3523,25 @@ declare class RestRepository<Data extends BaseData, Record extends XataRecord =
|
|
3070
3523
|
db: SchemaPluginResult<any>;
|
3071
3524
|
constructor(options: {
|
3072
3525
|
table: string;
|
3073
|
-
links?: LinkDictionary;
|
3074
|
-
getFetchProps: () => Promise<FetcherExtraProps>;
|
3075
3526
|
db: SchemaPluginResult<any>;
|
3527
|
+
pluginOptions: XataPluginOptions;
|
3076
3528
|
});
|
3077
3529
|
create(object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
|
3078
3530
|
create(recordId: string, object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
|
3079
3531
|
create(objects: EditableData<Data>[]): Promise<SelectedPick<Record, ['*']>[]>;
|
3080
3532
|
read(recordId: string): Promise<SelectedPick<Record, ['*']> | null>;
|
3533
|
+
read(recordIds: string[]): Promise<Array<Readonly<SelectedPick<Record, ['*']>>>>;
|
3081
3534
|
update(object: Partial<EditableData<Data>> & Identifiable): Promise<SelectedPick<Record, ['*']>>;
|
3082
3535
|
update(recordId: string, object: Partial<EditableData<Data>>): Promise<SelectedPick<Record, ['*']>>;
|
3083
3536
|
update(objects: Array<Partial<EditableData<Data>> & Identifiable>): Promise<SelectedPick<Record, ['*']>[]>;
|
3084
3537
|
createOrUpdate(object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
|
3085
3538
|
createOrUpdate(recordId: string, object: EditableData<Data>): Promise<SelectedPick<Record, ['*']>>;
|
3086
3539
|
createOrUpdate(objects: EditableData<Data>[]): Promise<SelectedPick<Record, ['*']>[]>;
|
3087
|
-
delete(
|
3540
|
+
delete(a: string | Identifiable | Array<string | Identifiable>): Promise<void>;
|
3088
3541
|
search(query: string, options?: {
|
3089
|
-
fuzziness?:
|
3542
|
+
fuzziness?: FuzzinessExpression;
|
3543
|
+
highlight?: HighlightExpression;
|
3544
|
+
filter?: Filter<Record>;
|
3090
3545
|
}): Promise<SelectedPick<Record, ['*']>[]>;
|
3091
3546
|
query<Result extends XataRecord>(query: Query<Record, Result>): Promise<Page<Record, Result>>;
|
3092
3547
|
}
|
@@ -3166,46 +3621,59 @@ declare const includesAny: <T>(value: T) => ArrayFilter<T>;
|
|
3166
3621
|
|
3167
3622
|
declare type SchemaDefinition = {
|
3168
3623
|
table: string;
|
3169
|
-
links?: LinkDictionary;
|
3170
3624
|
};
|
3171
3625
|
declare type SchemaPluginResult<Schemas extends Record<string, BaseData>> = {
|
3172
3626
|
[Key in keyof Schemas]: Repository<Schemas[Key]>;
|
3627
|
+
} & {
|
3628
|
+
[key: string]: Repository<XataRecord$1>;
|
3173
3629
|
};
|
3174
3630
|
declare class SchemaPlugin<Schemas extends Record<string, BaseData>> extends XataPlugin {
|
3175
3631
|
#private;
|
3176
|
-
private links?;
|
3177
3632
|
private tableNames?;
|
3178
|
-
constructor(
|
3179
|
-
build(
|
3633
|
+
constructor(tableNames?: string[] | undefined);
|
3634
|
+
build(pluginOptions: XataPluginOptions): SchemaPluginResult<Schemas>;
|
3180
3635
|
}
|
3181
3636
|
|
3182
3637
|
declare type SearchOptions<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>> = {
|
3183
|
-
fuzziness?:
|
3184
|
-
|
3638
|
+
fuzziness?: FuzzinessExpression;
|
3639
|
+
highlight?: HighlightExpression;
|
3640
|
+
tables?: Array<Tables | Values<{
|
3641
|
+
[Model in GetArrayInnerType<NonNullable<Tables[]>>]: {
|
3642
|
+
table: Model;
|
3643
|
+
filter?: Filter<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>>;
|
3644
|
+
};
|
3645
|
+
}>>;
|
3185
3646
|
};
|
3186
3647
|
declare type SearchPluginResult<Schemas extends Record<string, BaseData>> = {
|
3187
3648
|
all: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<Values<{
|
3188
|
-
[Model in GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']
|
3649
|
+
[Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]: {
|
3189
3650
|
table: Model;
|
3190
3651
|
record: Awaited<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>>;
|
3191
3652
|
};
|
3192
3653
|
}>[]>;
|
3193
3654
|
byTable: <Tables extends StringKeys<Schemas>>(query: string, options?: SearchOptions<Schemas, Tables>) => Promise<{
|
3194
|
-
[Model in GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']
|
3655
|
+
[Model in ExtractTables<Schemas, Tables, GetArrayInnerType<NonNullable<NonNullable<typeof options>['tables']>>>]?: Awaited<SelectedPick<Schemas[Model] & SearchXataRecord, ['*']>[]>;
|
3195
3656
|
}>;
|
3196
3657
|
};
|
3197
3658
|
declare class SearchPlugin<Schemas extends Record<string, BaseData>> extends XataPlugin {
|
3198
3659
|
#private;
|
3199
3660
|
private db;
|
3200
|
-
|
3201
|
-
constructor(db: SchemaPluginResult<Schemas>, links: LinkDictionary);
|
3661
|
+
constructor(db: SchemaPluginResult<Schemas>);
|
3202
3662
|
build({ getFetchProps }: XataPluginOptions): SearchPluginResult<Schemas>;
|
3203
3663
|
}
|
3204
|
-
declare type SearchXataRecord = XataRecord
|
3205
|
-
|
3206
|
-
|
3664
|
+
declare type SearchXataRecord = XataRecord<SearchExtraProperties>;
|
3665
|
+
declare type SearchExtraProperties = {
|
3666
|
+
table: string;
|
3667
|
+
highlight?: {
|
3668
|
+
[key: string]: string[] | {
|
3669
|
+
[key: string]: any;
|
3670
|
+
};
|
3207
3671
|
};
|
3208
3672
|
};
|
3673
|
+
declare type ReturnTable<Table, Tables> = Table extends Tables ? Table : never;
|
3674
|
+
declare type ExtractTables<Schemas extends Record<string, BaseData>, Tables extends StringKeys<Schemas>, TableOptions extends GetArrayInnerType<NonNullable<NonNullable<SearchOptions<Schemas, Tables>>['tables']>>> = TableOptions extends `${infer Table}` ? ReturnTable<Table, Tables> : TableOptions extends {
|
3675
|
+
table: infer Table;
|
3676
|
+
} ? ReturnTable<Table, Tables> : never;
|
3209
3677
|
|
3210
3678
|
declare type BranchStrategyValue = string | undefined | null;
|
3211
3679
|
declare type BranchStrategyBuilder = () => BranchStrategyValue | Promise<BranchStrategyValue>;
|
@@ -3217,10 +3685,11 @@ declare type BaseClientOptions = {
|
|
3217
3685
|
apiKey?: string;
|
3218
3686
|
databaseURL?: string;
|
3219
3687
|
branch?: BranchStrategyOption;
|
3688
|
+
cache?: CacheImpl;
|
3220
3689
|
};
|
3221
3690
|
declare const buildClient: <Plugins extends Record<string, XataPlugin> = {}>(plugins?: Plugins | undefined) => ClientConstructor<Plugins>;
|
3222
3691
|
interface ClientConstructor<Plugins extends Record<string, XataPlugin>> {
|
3223
|
-
new <Schemas extends Record<string, BaseData
|
3692
|
+
new <Schemas extends Record<string, BaseData> = {}>(options?: Partial<BaseClientOptions>, tables?: string[]): Omit<{
|
3224
3693
|
db: Awaited<ReturnType<SchemaPlugin<Schemas>['build']>>;
|
3225
3694
|
search: Awaited<ReturnType<SearchPlugin<Schemas>['build']>>;
|
3226
3695
|
}, keyof Plugins> & {
|
@@ -3236,7 +3705,7 @@ declare type BranchResolutionOptions = {
|
|
3236
3705
|
apiKey?: string;
|
3237
3706
|
fetchImpl?: FetchImpl;
|
3238
3707
|
};
|
3239
|
-
declare function getCurrentBranchName(options?: BranchResolutionOptions): Promise<string
|
3708
|
+
declare function getCurrentBranchName(options?: BranchResolutionOptions): Promise<string>;
|
3240
3709
|
declare function getCurrentBranchDetails(options?: BranchResolutionOptions): Promise<DBBranch | null>;
|
3241
3710
|
declare function getDatabaseURL(): string | undefined;
|
3242
3711
|
|
@@ -3247,4 +3716,4 @@ declare class XataError extends Error {
|
|
3247
3716
|
constructor(message: string, status: number);
|
3248
3717
|
}
|
3249
3718
|
|
3250
|
-
export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsResponse, BulkInsertTableRecordsVariables, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetRecordError, GetRecordPathParams, GetRecordRequestBody, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordResponse, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables,
|
3719
|
+
export { AcceptWorkspaceMemberInviteError, AcceptWorkspaceMemberInvitePathParams, AcceptWorkspaceMemberInviteVariables, AddGitBranchesEntryError, AddGitBranchesEntryPathParams, AddGitBranchesEntryRequestBody, AddGitBranchesEntryResponse, AddGitBranchesEntryVariables, AddTableColumnError, AddTableColumnPathParams, AddTableColumnVariables, BaseClient, BaseClientOptions, BaseData, BulkInsertTableRecordsError, BulkInsertTableRecordsPathParams, BulkInsertTableRecordsRequestBody, BulkInsertTableRecordsResponse, BulkInsertTableRecordsVariables, CacheImpl, CancelWorkspaceMemberInviteError, CancelWorkspaceMemberInvitePathParams, CancelWorkspaceMemberInviteVariables, ClientConstructor, CreateBranchError, CreateBranchPathParams, CreateBranchQueryParams, CreateBranchRequestBody, CreateBranchVariables, CreateDatabaseError, CreateDatabasePathParams, CreateDatabaseRequestBody, CreateDatabaseResponse, CreateDatabaseVariables, CreateTableError, CreateTablePathParams, CreateTableVariables, CreateUserAPIKeyError, CreateUserAPIKeyPathParams, CreateUserAPIKeyResponse, CreateUserAPIKeyVariables, CreateWorkspaceError, CreateWorkspaceVariables, CursorNavigationOptions, DeleteBranchError, DeleteBranchPathParams, DeleteBranchVariables, DeleteColumnError, DeleteColumnPathParams, DeleteColumnVariables, DeleteDatabaseError, DeleteDatabasePathParams, DeleteDatabaseVariables, DeleteRecordError, DeleteRecordPathParams, DeleteRecordVariables, DeleteTableError, DeleteTablePathParams, DeleteTableVariables, DeleteUserAPIKeyError, DeleteUserAPIKeyPathParams, DeleteUserAPIKeyVariables, DeleteUserError, DeleteUserVariables, DeleteWorkspaceError, DeleteWorkspacePathParams, DeleteWorkspaceVariables, EditableData, ExecuteBranchMigrationPlanError, ExecuteBranchMigrationPlanPathParams, ExecuteBranchMigrationPlanRequestBody, ExecuteBranchMigrationPlanVariables, FetchImpl, FetcherExtraProps, GetBranchDetailsError, GetBranchDetailsPathParams, GetBranchDetailsVariables, GetBranchListError, GetBranchListPathParams, GetBranchListVariables, GetBranchMetadataError, GetBranchMetadataPathParams, GetBranchMetadataVariables, GetBranchMigrationHistoryError, GetBranchMigrationHistoryPathParams, GetBranchMigrationHistoryRequestBody, GetBranchMigrationHistoryResponse, GetBranchMigrationHistoryVariables, GetBranchMigrationPlanError, GetBranchMigrationPlanPathParams, GetBranchMigrationPlanVariables, GetBranchStatsError, GetBranchStatsPathParams, GetBranchStatsResponse, GetBranchStatsVariables, GetColumnError, GetColumnPathParams, GetColumnVariables, GetDatabaseListError, GetDatabaseListPathParams, GetDatabaseListVariables, GetGitBranchesMappingError, GetGitBranchesMappingPathParams, GetGitBranchesMappingVariables, GetRecordError, GetRecordPathParams, GetRecordRequestBody, GetRecordVariables, GetTableColumnsError, GetTableColumnsPathParams, GetTableColumnsResponse, GetTableColumnsVariables, GetTableSchemaError, GetTableSchemaPathParams, GetTableSchemaResponse, GetTableSchemaVariables, GetUserAPIKeysError, GetUserAPIKeysResponse, GetUserAPIKeysVariables, GetUserError, GetUserVariables, GetWorkspaceError, GetWorkspaceMembersListError, GetWorkspaceMembersListPathParams, GetWorkspaceMembersListVariables, GetWorkspacePathParams, GetWorkspaceVariables, GetWorkspacesListError, GetWorkspacesListResponse, GetWorkspacesListVariables, Identifiable, InsertRecordError, InsertRecordPathParams, InsertRecordResponse, InsertRecordVariables, InsertRecordWithIDError, InsertRecordWithIDPathParams, InsertRecordWithIDQueryParams, InsertRecordWithIDVariables, InviteWorkspaceMemberError, InviteWorkspaceMemberPathParams, InviteWorkspaceMemberRequestBody, InviteWorkspaceMemberVariables, OffsetNavigationOptions, operationsByTag as Operations, PAGINATION_DEFAULT_OFFSET, PAGINATION_DEFAULT_SIZE, PAGINATION_MAX_OFFSET, PAGINATION_MAX_SIZE, Page, Paginable, PaginationQueryMeta, Query, QueryTableError, QueryTablePathParams, QueryTableRequestBody, QueryTableVariables, RecordArray, RemoveGitBranchesEntryError, RemoveGitBranchesEntryPathParams, RemoveGitBranchesEntryQueryParams, RemoveGitBranchesEntryVariables, RemoveWorkspaceMemberError, RemoveWorkspaceMemberPathParams, RemoveWorkspaceMemberVariables, Repository, ResendWorkspaceMemberInviteError, ResendWorkspaceMemberInvitePathParams, ResendWorkspaceMemberInviteVariables, ResolveBranchError, ResolveBranchPathParams, ResolveBranchQueryParams, ResolveBranchResponse, ResolveBranchVariables, responses as Responses, RestRepository, SchemaDefinition, SchemaPlugin, SchemaPluginResult, schemas as Schemas, SearchBranchError, SearchBranchPathParams, SearchBranchRequestBody, SearchBranchVariables, SearchOptions, SearchPlugin, SearchPluginResult, SearchTableError, SearchTablePathParams, SearchTableRequestBody, SearchTableVariables, SelectableColumn, SelectedPick, SetTableSchemaError, SetTableSchemaPathParams, SetTableSchemaRequestBody, SetTableSchemaVariables, SimpleCache, SimpleCacheOptions, UpdateBranchMetadataError, UpdateBranchMetadataPathParams, UpdateBranchMetadataVariables, UpdateColumnError, UpdateColumnPathParams, UpdateColumnRequestBody, UpdateColumnVariables, UpdateRecordWithIDError, UpdateRecordWithIDPathParams, UpdateRecordWithIDQueryParams, UpdateRecordWithIDVariables, UpdateTableError, UpdateTablePathParams, UpdateTableRequestBody, UpdateTableVariables, UpdateUserError, UpdateUserVariables, UpdateWorkspaceError, UpdateWorkspaceMemberRoleError, UpdateWorkspaceMemberRolePathParams, UpdateWorkspaceMemberRoleRequestBody, UpdateWorkspaceMemberRoleVariables, UpdateWorkspacePathParams, UpdateWorkspaceVariables, UpsertRecordWithIDError, UpsertRecordWithIDPathParams, UpsertRecordWithIDQueryParams, UpsertRecordWithIDVariables, ValueAtColumn, XataApiClient, XataApiClientOptions, XataApiPlugin, XataError, XataPlugin, XataPluginOptions, XataRecord, acceptWorkspaceMemberInvite, addGitBranchesEntry, addTableColumn, buildClient, bulkInsertTableRecords, cancelWorkspaceMemberInvite, contains, createBranch, createDatabase, createTable, createUserAPIKey, createWorkspace, deleteBranch, deleteColumn, deleteDatabase, deleteRecord, deleteTable, deleteUser, deleteUserAPIKey, deleteWorkspace, endsWith, executeBranchMigrationPlan, exists, ge, getAPIKey, getBranchDetails, getBranchList, getBranchMetadata, getBranchMigrationHistory, getBranchMigrationPlan, getBranchStats, getColumn, getCurrentBranchDetails, getCurrentBranchName, getDatabaseList, getDatabaseURL, getGitBranchesMapping, getRecord, getTableColumns, getTableSchema, getUser, getUserAPIKeys, getWorkspace, getWorkspaceMembersList, getWorkspacesList, gt, gte, includes, includesAll, includesAny, includesNone, insertRecord, insertRecordWithID, inviteWorkspaceMember, is, isCursorPaginationOptions, isIdentifiable, isNot, isXataRecord, le, lt, lte, notExists, operationsByTag, pattern, queryTable, removeGitBranchesEntry, removeWorkspaceMember, resendWorkspaceMemberInvite, resolveBranch, searchBranch, searchTable, setTableSchema, startsWith, updateBranchMetadata, updateColumn, updateRecordWithID, updateTable, updateUser, updateWorkspace, updateWorkspaceMemberRole, upsertRecordWithID };
|