arangojs 7.8.0 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +264 -3
  2. package/CONTRIBUTING.md +1 -1
  3. package/MIGRATING.md +126 -2
  4. package/README.md +7 -13
  5. package/analyzer.d.ts +531 -253
  6. package/analyzer.d.ts.map +1 -1
  7. package/analyzer.js +9 -8
  8. package/analyzer.js.map +1 -1
  9. package/aql.d.ts +122 -139
  10. package/aql.d.ts.map +1 -1
  11. package/aql.js +146 -148
  12. package/aql.js.map +1 -1
  13. package/collection.d.ts +311 -310
  14. package/collection.d.ts.map +1 -1
  15. package/collection.js +163 -96
  16. package/collection.js.map +1 -1
  17. package/connection.d.ts +65 -52
  18. package/connection.d.ts.map +1 -1
  19. package/connection.js +142 -140
  20. package/connection.js.map +1 -1
  21. package/cursor.d.ts +108 -26
  22. package/cursor.d.ts.map +1 -1
  23. package/cursor.js +24 -23
  24. package/cursor.js.map +1 -1
  25. package/database.d.ts +298 -330
  26. package/database.d.ts.map +1 -1
  27. package/database.js +178 -252
  28. package/database.js.map +1 -1
  29. package/documents.d.ts +3 -4
  30. package/documents.d.ts.map +1 -1
  31. package/documents.js +0 -1
  32. package/documents.js.map +1 -1
  33. package/error.d.ts +3 -6
  34. package/error.d.ts.map +1 -1
  35. package/error.js +5 -7
  36. package/error.js.map +1 -1
  37. package/foxx-manifest.d.ts +7 -8
  38. package/foxx-manifest.d.ts.map +1 -1
  39. package/foxx-manifest.js +1 -1
  40. package/foxx-manifest.js.map +1 -1
  41. package/graph.d.ts +38 -56
  42. package/graph.d.ts.map +1 -1
  43. package/graph.js +59 -63
  44. package/graph.js.map +1 -1
  45. package/index.d.ts +6 -8
  46. package/index.d.ts.map +1 -1
  47. package/index.js +1 -6
  48. package/index.js.map +1 -1
  49. package/indexes.d.ts +348 -127
  50. package/indexes.d.ts.map +1 -1
  51. package/indexes.js +1 -3
  52. package/indexes.js.map +1 -1
  53. package/lib/blob.d.ts +0 -2
  54. package/lib/blob.d.ts.map +1 -1
  55. package/lib/blob.js +0 -1
  56. package/lib/blob.js.map +1 -1
  57. package/lib/btoa.d.ts +1 -3
  58. package/lib/btoa.d.ts.map +1 -1
  59. package/lib/btoa.js +3 -5
  60. package/lib/btoa.js.map +1 -1
  61. package/lib/btoa.web.d.ts +1 -3
  62. package/lib/btoa.web.d.ts.map +1 -1
  63. package/lib/btoa.web.js +4 -6
  64. package/lib/btoa.web.js.map +1 -1
  65. package/lib/codes.d.ts +2 -2
  66. package/lib/codes.d.ts.map +1 -1
  67. package/lib/codes.js +3 -3
  68. package/lib/codes.js.map +1 -1
  69. package/lib/errback.d.ts +0 -2
  70. package/lib/errback.d.ts.map +1 -1
  71. package/lib/errback.js.map +1 -1
  72. package/lib/joinPath.d.ts +0 -2
  73. package/lib/joinPath.d.ts.map +1 -1
  74. package/lib/joinPath.js +0 -2
  75. package/lib/joinPath.js.map +1 -1
  76. package/lib/joinPath.web.d.ts +1 -3
  77. package/lib/joinPath.web.d.ts.map +1 -1
  78. package/lib/joinPath.web.js +7 -4
  79. package/lib/joinPath.web.js.map +1 -1
  80. package/lib/multipart.d.ts +0 -4
  81. package/lib/multipart.d.ts.map +1 -1
  82. package/lib/multipart.js +16 -37
  83. package/lib/multipart.js.map +1 -1
  84. package/lib/multipart.web.d.ts +0 -2
  85. package/lib/multipart.web.d.ts.map +1 -1
  86. package/lib/multipart.web.js +0 -2
  87. package/lib/multipart.web.js.map +1 -1
  88. package/lib/normalizeUrl.d.ts +0 -2
  89. package/lib/normalizeUrl.d.ts.map +1 -1
  90. package/lib/normalizeUrl.js +0 -2
  91. package/lib/normalizeUrl.js.map +1 -1
  92. package/lib/omit.d.ts +1 -3
  93. package/lib/omit.d.ts.map +1 -1
  94. package/lib/omit.js +1 -2
  95. package/lib/omit.js.map +1 -1
  96. package/lib/querystringify.d.ts +4 -0
  97. package/lib/querystringify.d.ts.map +1 -0
  98. package/lib/querystringify.js +20 -0
  99. package/lib/querystringify.js.map +1 -0
  100. package/lib/querystringify.web.d.ts +2 -0
  101. package/lib/querystringify.web.d.ts.map +1 -0
  102. package/lib/querystringify.web.js +30 -0
  103. package/lib/querystringify.web.js.map +1 -0
  104. package/lib/request.d.ts +0 -1
  105. package/lib/request.d.ts.map +1 -1
  106. package/lib/request.js +6 -3
  107. package/lib/request.js.map +1 -1
  108. package/lib/request.node.d.ts +2 -8
  109. package/lib/request.node.d.ts.map +1 -1
  110. package/lib/request.node.js +16 -7
  111. package/lib/request.node.js.map +1 -1
  112. package/lib/request.web.d.ts +2 -3
  113. package/lib/request.web.d.ts.map +1 -1
  114. package/lib/request.web.js +26 -29
  115. package/lib/request.web.js.map +1 -1
  116. package/lib/xhr.d.ts +1 -3
  117. package/lib/xhr.d.ts.map +1 -1
  118. package/lib/xhr.js +0 -2
  119. package/lib/xhr.js.map +1 -1
  120. package/package.json +5 -6
  121. package/route.d.ts +1 -2
  122. package/route.d.ts.map +1 -1
  123. package/route.js +1 -2
  124. package/route.js.map +1 -1
  125. package/transaction.d.ts +31 -6
  126. package/transaction.d.ts.map +1 -1
  127. package/transaction.js +13 -6
  128. package/transaction.js.map +1 -1
  129. package/view.d.ts +237 -181
  130. package/view.d.ts.map +1 -1
  131. package/view.js +17 -25
  132. package/view.js.map +1 -1
  133. package/web.js +1 -1
  134. package/web.js.map +1 -1
  135. package/lib/error.d.ts +0 -18
  136. package/lib/error.d.ts.map +0 -1
  137. package/lib/error.js +0 -18
  138. package/lib/error.js.map +0 -1
package/analyzer.d.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  *
9
9
  * @packageDocumentation
10
10
  */
11
- import { ArangoResponseMetadata } from "./connection";
11
+ import { ArangoApiResponse } from "./connection";
12
12
  import { Database } from "./database";
13
13
  /**
14
14
  * Indicates whether the given value represents an {@link Analyzer}.
@@ -19,50 +19,42 @@ export declare function isArangoAnalyzer(analyzer: any): analyzer is Analyzer;
19
19
  /**
20
20
  * Name of a feature enabled for an Analyzer.
21
21
  */
22
- export declare type AnalyzerFeature = "frequency" | "norm" | "position";
23
- /**
24
- * An object describing an Analyzer.
25
- */
26
- export declare type AnalyzerDescription = AnalyzerInfo & {
27
- name: string;
28
- features: AnalyzerFeature[];
29
- };
30
- /**
31
- * Options for creating an Analyzer.
32
- */
33
- export declare type CreateAnalyzerOptions = AnalyzerInfo & {
34
- /**
35
- * Features to enable for this Analyzer.
36
- */
37
- features?: AnalyzerFeature[];
38
- };
22
+ export declare type AnalyzerFeature = "frequency" | "norm" | "position" | "offset";
39
23
  /**
40
24
  * Analyzer type and its type-specific properties.
41
25
  */
42
- export declare type AnalyzerInfo = IdentityAnalyzerInfo | DelimiterAnalyzerInfo | StemAnalyzerInfo | NormAnalyzerInfo | NgramAnalyzerInfo | TextAnalyzerInfo | PipelineAnalyzer | AqlAnalyzer | GeoJsonAnalyzer | GeoPointAnalyzer | StopwordsAnalyzer | SegmentationAnalyzer | CollationAnalyzer;
26
+ export declare type CreateAnalyzerOptions = CreateIdentityAnalyzerOptions | CreateDelimiterAnalyzerOptions | CreateStemAnalyzerOptions | CreateNormAnalyzerOptions | CreateNgramAnalyzerOptions | CreateTextAnalyzerOptions | CreateSegmentationAnalyzerOptions | CreateAqlAnalyzerOptions | CreatePipelineAnalyzerOptions | CreateStopwordsAnalyzerOptions | CreateCollationAnalyzerOptions | CreateMinHashAnalyzerOptions | CreateClassificationAnalyzerOptions | CreateNearestNeighborsAnalyzerOptions | CreateGeoJsonAnalyzerOptions | CreateGeoPointAnalyzerOptions;
43
27
  /**
44
- * Analyzer type and type-specific properties for an Identity Analyzer.
28
+ * Options for creating an Identity Analyzer.
45
29
  */
46
- export declare type IdentityAnalyzerInfo = {
30
+ export declare type CreateIdentityAnalyzerOptions = {
47
31
  /**
48
32
  * Type of the Analyzer.
49
33
  */
50
34
  type: "identity";
35
+ /**
36
+ * Features to enable for this Analyzer.
37
+ */
38
+ features?: AnalyzerFeature[];
51
39
  /**
52
40
  * Additional properties for the Analyzer.
53
41
  *
54
42
  * The `identity` Analyzer does not take additional properties.
55
43
  */
56
- properties?: null;
44
+ properties?: Record<string, never>;
57
45
  };
58
46
  /**
59
- * Analyzer type and type-specific properties for a Delimiter Analyzer.
47
+ * Options for creating a Delimiter Analyzer.
60
48
  */
61
- export declare type DelimiterAnalyzerInfo = {
49
+ export declare type CreateDelimiterAnalyzerOptions = {
62
50
  /**
63
51
  * Type of the Analyzer.
64
52
  */
65
53
  type: "delimiter";
54
+ /**
55
+ * Features to enable for this Analyzer.
56
+ */
57
+ features?: AnalyzerFeature[];
66
58
  /**
67
59
  * Additional properties for the Analyzer.
68
60
  *
@@ -74,13 +66,17 @@ export declare type DelimiterAnalyzerInfo = {
74
66
  };
75
67
  };
76
68
  /**
77
- * Analyzer type and type-specific properties for a Stem Analyzer.
69
+ * Options for creating a Stem Analyzer.
78
70
  */
79
- export declare type StemAnalyzerInfo = {
71
+ export declare type CreateStemAnalyzerOptions = {
80
72
  /**
81
73
  * Type of the Analyzer.
82
74
  */
83
75
  type: "stem";
76
+ /**
77
+ * Features to enable for this Analyzer.
78
+ */
79
+ features?: AnalyzerFeature[];
84
80
  /**
85
81
  * Additional properties for the Analyzer.
86
82
  *
@@ -93,377 +89,659 @@ export declare type StemAnalyzerInfo = {
93
89
  };
94
90
  };
95
91
  /**
96
- * Properties of a Norm Analyzer.
92
+ * Options for creating a Norm Analyzer.
97
93
  */
98
- export declare type NormAnalyzerProperties = {
94
+ export declare type CreateNormAnalyzerOptions = {
99
95
  /**
100
- * Text locale.
101
- *
102
- * Format: `language[_COUNTRY][.encoding][@variant]`
96
+ * Type of the Analyzer.
103
97
  */
104
- locale: string;
98
+ type: "norm";
105
99
  /**
106
- * Case conversion.
107
- *
108
- * Default: `"lower"`
100
+ * Features to enable for this Analyzer.
109
101
  */
110
- case?: "lower" | "none" | "upper";
102
+ features?: AnalyzerFeature[];
111
103
  /**
112
- * Preserve accents in returned words.
113
- *
114
- * Default: `false`
104
+ * Additional properties for the Analyzer.
115
105
  */
116
- accent?: boolean;
106
+ properties: {
107
+ /**
108
+ * Text locale.
109
+ *
110
+ * Format: `language[_COUNTRY][.encoding][@variant]`
111
+ */
112
+ locale: string;
113
+ /**
114
+ * Case conversion.
115
+ *
116
+ * Default: `"lower"`
117
+ */
118
+ case?: "lower" | "none" | "upper";
119
+ /**
120
+ * Preserve accents in returned words.
121
+ *
122
+ * Default: `false`
123
+ */
124
+ accent?: boolean;
125
+ };
117
126
  };
118
127
  /**
119
- * Analyzer type and type-specific properties for a Norm Analyzer.
128
+ * Options for creating an Ngram Analyzer.
120
129
  */
121
- export declare type NormAnalyzerInfo = {
130
+ export declare type CreateNgramAnalyzerOptions = {
122
131
  /**
123
132
  * Type of the Analyzer.
124
133
  */
125
- type: "norm";
134
+ type: "ngram";
135
+ /**
136
+ * Features to enable for this Analyzer.
137
+ */
138
+ features?: AnalyzerFeature[];
126
139
  /**
127
140
  * Additional properties for the Analyzer.
128
141
  */
129
- properties: NormAnalyzerProperties;
142
+ properties: {
143
+ /**
144
+ * Maximum n-gram length.
145
+ */
146
+ max: number;
147
+ /**
148
+ * Minimum n-gram length.
149
+ */
150
+ min: number;
151
+ /**
152
+ * Output the original value as well.
153
+ */
154
+ preserveOriginal: boolean;
155
+ };
130
156
  };
131
157
  /**
132
- * Properties of an Ngram Analyzer.
158
+ * Options for creating a Text Analyzer.
133
159
  */
134
- export declare type NgramAnalyzerProperties = {
160
+ export declare type CreateTextAnalyzerOptions = {
135
161
  /**
136
- * Maximum n-gram length.
162
+ * Type of the Analyzer.
137
163
  */
138
- max: number;
164
+ type: "text";
139
165
  /**
140
- * Minimum n-gram length.
166
+ * Features to enable for this Analyzer.
141
167
  */
142
- min: number;
168
+ features?: AnalyzerFeature[];
143
169
  /**
144
- * Output the original value as well.
170
+ * Additional properties for the Analyzer.
145
171
  */
146
- preserveOriginal: boolean;
172
+ properties: {
173
+ /**
174
+ * Text locale.
175
+ *
176
+ * Format: `language[_COUNTRY][.encoding][@variant]`
177
+ */
178
+ locale: string;
179
+ /**
180
+ * Case conversion.
181
+ *
182
+ * Default: `"lower"`
183
+ */
184
+ case?: "lower" | "none" | "upper";
185
+ /**
186
+ * Words to omit from result.
187
+ *
188
+ * Defaults to the words loaded from the file at `stopwordsPath`.
189
+ */
190
+ stopwords?: string[];
191
+ /**
192
+ * Path with a `language` sub-directory containing files with words to omit.
193
+ *
194
+ * Defaults to the path specified in the server-side environment variable
195
+ * `IRESEARCH_TEXT_STOPWORD_PATH` or the current working directory of the
196
+ * ArangoDB process.
197
+ */
198
+ stopwordsPath?: string;
199
+ /**
200
+ * Preserve accents in returned words.
201
+ *
202
+ * Default: `false`
203
+ */
204
+ accent?: boolean;
205
+ /**
206
+ * Apply stemming on returned words.
207
+ *
208
+ * Default: `true`
209
+ */
210
+ stemming?: boolean;
211
+ /**
212
+ * If present, then edge n-grams are generated for each token (word).
213
+ */
214
+ edgeNgram?: {
215
+ min?: number;
216
+ max?: number;
217
+ preserveOriginal?: boolean;
218
+ };
219
+ };
147
220
  };
148
221
  /**
149
- * Analyzer type and type-specific properties for an Ngram Analyzer.
222
+ * Options for creating a Segmentation Analyzer
150
223
  */
151
- export declare type NgramAnalyzerInfo = {
224
+ export declare type CreateSegmentationAnalyzerOptions = {
152
225
  /**
153
226
  * Type of the Analyzer.
154
227
  */
155
- type: "ngram";
228
+ type: "segmentation";
229
+ /**
230
+ * Features to enable for this Analyzer.
231
+ */
232
+ features?: AnalyzerFeature[];
156
233
  /**
157
234
  * Additional properties for the Analyzer.
158
235
  */
159
- properties: NgramAnalyzerProperties;
236
+ properties: {
237
+ /**
238
+ * Which tokens should be returned.
239
+ *
240
+ * Default: `"alpha"`
241
+ */
242
+ break?: "all" | "alpha" | "graphic";
243
+ /**
244
+ * What case all returned tokens should be converted to if applicable.
245
+ *
246
+ * Default: `"none"`
247
+ */
248
+ case?: "lower" | "upper" | "none";
249
+ };
160
250
  };
161
251
  /**
162
- * Properties of a Text Analyzer.
252
+ * Options for creating an AQL Analyzer
163
253
  */
164
- export declare type TextAnalyzerProperties = {
165
- /**
166
- * Text locale.
167
- *
168
- * Format: `language[_COUNTRY][.encoding][@variant]`
169
- */
170
- locale: string;
171
- /**
172
- * Case conversion.
173
- *
174
- * Default: `"lower"`
175
- */
176
- case?: "lower" | "none" | "upper";
254
+ export declare type CreateAqlAnalyzerOptions = {
177
255
  /**
178
- * Words to omit from result.
179
- *
180
- * Defaults to the words loaded from the file at `stopwordsPath`.
181
- */
182
- stopwords?: string[];
183
- /**
184
- * Path with a `language` sub-directory containing files with words to omit.
185
- *
186
- * Defaults to the path specified in the server-side environment variable
187
- * `IRESEARCH_TEXT_STOPWORD_PATH` or the current working directory of the
188
- * ArangoDB process.
189
- */
190
- stopwordsPath?: string;
191
- /**
192
- * Preserve accents in returned words.
193
- *
194
- * Default: `false`
256
+ * Type of the Analyzer.
195
257
  */
196
- accent?: boolean;
258
+ type: "aql";
197
259
  /**
198
- * Apply stemming on returned words.
199
- *
200
- * Default: `true`
260
+ * Features to enable for this Analyzer.
201
261
  */
202
- stemming?: boolean;
262
+ features?: AnalyzerFeature[];
203
263
  /**
204
- * If present, then edge n-grams are generated for each token (word).
264
+ * Additional properties for the Analyzer.
205
265
  */
206
- edgeNgram?: {
207
- min?: number;
208
- max?: number;
209
- preserveOriginal?: boolean;
266
+ properties: {
267
+ /**
268
+ * AQL query to be executed.
269
+ */
270
+ queryString: string;
271
+ /**
272
+ * If set to `true`, the position is set to `0` for all members of the query result array.
273
+ *
274
+ * Default: `false`
275
+ */
276
+ collapsePositions?: boolean;
277
+ /**
278
+ * If set to `false`, `null` values will be discarded from the View index.
279
+ *
280
+ * Default: `true`
281
+ */
282
+ keepNull?: boolean;
283
+ /**
284
+ * Number between `1` and `1000` that determines the batch size for reading
285
+ * data from the query.
286
+ *
287
+ * Default: `1`
288
+ */
289
+ batchSize?: number;
290
+ /**
291
+ * Memory limit for query execution in bytes.
292
+ *
293
+ * Default: `1048576` (1 MiB)
294
+ */
295
+ memoryLimit?: number;
296
+ /**
297
+ * Data type of the returned tokens.
298
+ *
299
+ * Default: `"string"`
300
+ */
301
+ returnType?: "string" | "number" | "bool";
210
302
  };
211
303
  };
212
304
  /**
213
- * Analyzer type and type-specific properties for a Text Analyzer.
305
+ * Options for creating a Pipeline Analyzer
214
306
  */
215
- export declare type TextAnalyzerInfo = {
307
+ export declare type CreatePipelineAnalyzerOptions = {
216
308
  /**
217
309
  * Type of the Analyzer.
218
310
  */
219
- type: "text";
311
+ type: "pipeline";
220
312
  /**
221
- * Additional properties for the Analyzer.
313
+ * Features to enable for this Analyzer.
222
314
  */
223
- properties: TextAnalyzerProperties;
224
- };
225
- /**
226
- * Properties of a Pipeline Analyzer.
227
- */
228
- export declare type PipelineAnalyzerProperties = {
315
+ features?: AnalyzerFeature[];
229
316
  /**
230
- * Definitions for Analyzers to chain in this Pipeline Analyzer.
317
+ * Additional properties for the Analyzer.
231
318
  */
232
- pipeline: AnalyzerInfo[];
319
+ properties: {
320
+ /**
321
+ * Definitions for Analyzers to chain in this Pipeline Analyzer.
322
+ */
323
+ pipeline: Omit<CreateAnalyzerOptions, "features">[];
324
+ };
233
325
  };
234
326
  /**
235
- * Analyzer type and type-specific properties for a Pipeline Analyzer
327
+ * Options for creating a Stopwords Analyzer
236
328
  */
237
- export declare type PipelineAnalyzer = {
329
+ export declare type CreateStopwordsAnalyzerOptions = {
238
330
  /**
239
331
  * Type of the Analyzer.
240
332
  */
241
- type: "pipeline";
333
+ type: "stopwords";
334
+ /**
335
+ * Features to enable for this Analyzer.
336
+ */
337
+ features?: AnalyzerFeature[];
242
338
  /**
243
339
  * Additional properties for the Analyzer.
244
340
  */
245
- properties: PipelineAnalyzerProperties;
341
+ properties: {
342
+ /**
343
+ * Array of strings that describe the tokens to be discarded.
344
+ */
345
+ stopwords: string[];
346
+ /**
347
+ * Whether stopword values should be interpreted as hex-encoded strings.
348
+ *
349
+ * Default: `false`
350
+ */
351
+ hex?: boolean;
352
+ };
246
353
  };
247
354
  /**
248
- * Properties of an AQL Analyzer.
355
+ * Options for creating a Collation Analyzer
249
356
  */
250
- export declare type AqlAnalyzerProperties = {
251
- /**
252
- * AQL query to be executed.
253
- */
254
- queryString: string;
357
+ export declare type CreateCollationAnalyzerOptions = {
255
358
  /**
256
- * If set to `true`, the position is set to `0` for all members of the query result array.
257
- *
258
- * Default: `false`
259
- */
260
- collapsePositions?: boolean;
261
- /**
262
- * If set to `false`, `null` values will be discarded from the View index.
263
- *
264
- * Default: `true`
265
- */
266
- keepNull?: boolean;
267
- /**
268
- * Number between `1` and `1000` that determines the batch size for reading
269
- * data from the query.
270
- *
271
- * Default: `1`
359
+ * Type of the Analyzer.
272
360
  */
273
- batchSize?: number;
361
+ type: "collation";
274
362
  /**
275
- * Memory limit for query execution in bytes.
276
- *
277
- * Default: `1048576` (1 MiB)
363
+ * Features to enable for this Analyzer.
278
364
  */
279
- memoryLimit?: number;
365
+ features?: AnalyzerFeature[];
280
366
  /**
281
- * Data type of the returned tokens.
282
- *
283
- * Default: `"string"`
367
+ * Additional properties for the Analyzer.
284
368
  */
285
- returnType?: "string" | "number" | "bool";
369
+ properties: {
370
+ /**
371
+ * Text locale.
372
+ *
373
+ * Format: `language[_COUNTRY][.encoding][@variant]`
374
+ */
375
+ locale: string;
376
+ };
286
377
  };
287
378
  /**
288
- * Analyzer type and type-specific properties for an AQL Analyzer
379
+ * Options for creating a MinHash Analyzer
289
380
  */
290
- export declare type AqlAnalyzer = {
381
+ export declare type CreateMinHashAnalyzerOptions = {
291
382
  /**
292
383
  * Type of the Analyzer.
293
384
  */
294
- type: "aql";
385
+ type: "minhash";
386
+ /**
387
+ * Features to enable for this Analyzer.
388
+ */
389
+ features?: AnalyzerFeature[];
295
390
  /**
296
391
  * Additional properties for the Analyzer.
297
392
  */
298
- properties: AqlAnalyzerProperties;
393
+ properties: {
394
+ /**
395
+ * An Analyzer definition-like object with `type` and `properties` attributes.
396
+ */
397
+ analyzer: Omit<CreateAnalyzerOptions, "features">;
398
+ /**
399
+ * Size of the MinHash signature.
400
+ */
401
+ numHashes: number;
402
+ };
299
403
  };
300
404
  /**
301
- * Properties of a GeoJSON Analyzer.
405
+ * Options for creating a Classification Analyzer
302
406
  */
303
- export declare type GeoJsonAnalyzerProperties = {
407
+ export declare type CreateClassificationAnalyzerOptions = {
304
408
  /**
305
- * If set to `"centroid"`, only the centroid of the input geometry will be
306
- * computed and indexed.
307
- *
308
- * If set to `"point"` only GeoJSON objects of type Point will be indexed and
309
- * all other geometry types will be ignored.
310
- *
311
- * Default: `"shape"`
409
+ * Type of the Analyzer.
312
410
  */
313
- type?: "shape" | "centroid" | "point";
411
+ type: "classification";
314
412
  /**
315
- * Options for fine-tuning geo queries.
316
- *
317
- * Default: `{ maxCells: 20, minLevel: 4, maxLevel: 23 }`
413
+ * Features to enable for this Analyzer.
414
+ */
415
+ features?: AnalyzerFeature[];
416
+ /**
417
+ * Additional properties for the Analyzer.
318
418
  */
319
- options?: {
320
- maxCells?: number;
321
- minLevel?: number;
322
- maxLevel?: number;
419
+ properties: {
420
+ /**
421
+ * On-disk path to the trained fastText supervised model.
422
+ */
423
+ model_location: string;
424
+ /**
425
+ * Number of class labels that will be produced per input.
426
+ *
427
+ * Default: `1`
428
+ */
429
+ top_k?: number;
430
+ /**
431
+ * Probability threshold for which a label will be assigned to an input.
432
+ *
433
+ * Default: `0.99`
434
+ */
435
+ threshold?: number;
323
436
  };
324
437
  };
325
438
  /**
326
- * Analyzer type and type-specific properties for a GeoJSON Analyzer
439
+ * Options for creating a NearestNeighbors Analyzer
327
440
  */
328
- export declare type GeoJsonAnalyzer = {
441
+ export declare type CreateNearestNeighborsAnalyzerOptions = {
329
442
  /**
330
443
  * Type of the Analyzer.
331
444
  */
332
- type: "geojson";
445
+ type: "nearest_neighbors";
446
+ /**
447
+ * Features to enable for this Analyzer.
448
+ */
449
+ features?: AnalyzerFeature[];
333
450
  /**
334
451
  * Additional properties for the Analyzer.
335
452
  */
336
- properties: GeoJsonAnalyzerProperties;
453
+ properties: {
454
+ /**
455
+ * On-disk path to the trained fastText supervised model.
456
+ */
457
+ model_location: string;
458
+ /**
459
+ * Number of class labels that will be produced per input.
460
+ *
461
+ * Default: `1`
462
+ */
463
+ top_k?: number;
464
+ };
337
465
  };
338
466
  /**
339
- * Properties of a GeoPoint Analyzer.
467
+ * Options for creating a GeoJSON Analyzer
340
468
  */
341
- export declare type GeoPointAnalyzerProperties = {
469
+ export declare type CreateGeoJsonAnalyzerOptions = {
342
470
  /**
343
- * Attribute paths of the latitude value relative to the field for which the
344
- * Analyzer is defined in the View.
471
+ * Type of the Analyzer.
345
472
  */
346
- latitude?: string[];
473
+ type: "geojson";
347
474
  /**
348
- * Attribute paths of the longitude value relative to the field for which the
349
- * Analyzer is defined in the View.
475
+ * Features to enable for this Analyzer.
350
476
  */
351
- longitude?: string[];
477
+ features?: AnalyzerFeature[];
352
478
  /**
353
- * Options for fine-tuning geo queries.
354
- *
355
- * Default: `{ maxCells: 20, minLevel: 4, maxLevel: 23 }`
479
+ * Additional properties for the Analyzer.
356
480
  */
357
- options?: {
358
- minCells?: number;
359
- minLevel?: number;
360
- maxLevel?: number;
481
+ properties: {
482
+ /**
483
+ * If set to `"centroid"`, only the centroid of the input geometry will be
484
+ * computed and indexed.
485
+ *
486
+ * If set to `"point"` only GeoJSON objects of type Point will be indexed and
487
+ * all other geometry types will be ignored.
488
+ *
489
+ * Default: `"shape"`
490
+ */
491
+ type?: "shape" | "centroid" | "point";
492
+ /**
493
+ * Options for fine-tuning geo queries.
494
+ *
495
+ * Default: `{ maxCells: 20, minLevel: 4, maxLevel: 23 }`
496
+ */
497
+ options?: {
498
+ maxCells?: number;
499
+ minLevel?: number;
500
+ maxLevel?: number;
501
+ };
361
502
  };
362
503
  };
363
504
  /**
364
- * Analyzer type and type-specific properties for a GeoPoint Analyzer
505
+ * Options for creating a GeoPoint Analyzer
365
506
  */
366
- export declare type GeoPointAnalyzer = {
507
+ export declare type CreateGeoPointAnalyzerOptions = {
367
508
  /**
368
509
  * Type of the Analyzer.
369
510
  */
370
511
  type: "geopoint";
512
+ /**
513
+ * Features to enable for this Analyzer.
514
+ */
515
+ features?: AnalyzerFeature[];
371
516
  /**
372
517
  * Additional properties for the Analyzer.
373
518
  */
374
- properties: GeoPointAnalyzerProperties;
519
+ properties: {
520
+ /**
521
+ * Attribute paths of the latitude value relative to the field for which the
522
+ * Analyzer is defined in the View.
523
+ */
524
+ latitude?: string[];
525
+ /**
526
+ * Attribute paths of the longitude value relative to the field for which the
527
+ * Analyzer is defined in the View.
528
+ */
529
+ longitude?: string[];
530
+ /**
531
+ * Options for fine-tuning geo queries.
532
+ *
533
+ * Default: `{ maxCells: 20, minLevel: 4, maxLevel: 23 }`
534
+ */
535
+ options?: {
536
+ minCells?: number;
537
+ minLevel?: number;
538
+ maxLevel?: number;
539
+ };
540
+ };
375
541
  };
376
542
  /**
377
- * Properties of a Stopwords Analyzer.
543
+ * Shared attributes of all Analyzer descriptions.
378
544
  */
379
- export declare type StopwordsAnalyzerProperties = {
545
+ export declare type GenericAnalyzerDescription = {
380
546
  /**
381
- * Array of strings that describe the tokens to be discarded.
547
+ * A unique name for this Analyzer.
382
548
  */
383
- stopwords: string[];
549
+ name: string;
384
550
  /**
385
- * Whether stopword values should be interpreted as hex-encoded strings.
386
- *
387
- * Default: `false`
551
+ * Features enabled for this Analyzer.
388
552
  */
389
- hex?: boolean;
553
+ features: AnalyzerFeature[];
390
554
  };
391
555
  /**
392
- * Analyzer type and type-specific properties for a Stopwords Analyzer
556
+ * An object describing an Analyzer.
393
557
  */
394
- export declare type StopwordsAnalyzer = {
395
- /**
396
- * Type of the Analyzer.
397
- */
398
- type: "stopwords";
399
- /**
400
- * Additional properties for the Analyzer.
401
- */
402
- properties: StopwordsAnalyzerProperties;
558
+ export declare type AnalyzerDescription = IdentityAnalyzerDescription | DelimiterAnalyzerDescription | StemAnalyzerDescription | NormAnalyzerDescription | NgramAnalyzerDescription | TextAnalyzerDescription | SegmentationAnalyzerDescription | AqlAnalyzerDescription | PipelineAnalyzerDescription | StopwordsAnalyzerDescription | CollationAnalyzerDescription | MinHashAnalyzerDescription | ClassificationAnalyzerDescription | NearestNeighborsAnalyzerDescription | GeoJsonAnalyzerDescription | GeoPointAnalyzerDescription;
559
+ /**
560
+ * An object describing an Identity Analyzer.
561
+ */
562
+ export declare type IdentityAnalyzerDescription = GenericAnalyzerDescription & {
563
+ type: "identity";
564
+ properties: Record<string, never>;
403
565
  };
404
566
  /**
405
- * Properties of a Segmentation Analyzer.
567
+ * An object describing a Delimiter Analyzer.
406
568
  */
407
- export declare type SegmentationAnalyzerProperties = {
408
- /**
409
- * Which tokens should be returned.
410
- *
411
- * Default: `"alpha"`
412
- */
413
- break?: "all" | "alpha" | "graphic";
414
- /**
415
- * What case all returned tokens should be converted to if applicable.
416
- *
417
- * Default: `"none"`
418
- */
419
- case?: "lower" | "upper" | "none";
569
+ export declare type DelimiterAnalyzerDescription = GenericAnalyzerDescription & {
570
+ type: "delimiter";
571
+ properties: {
572
+ delimiter: string;
573
+ };
420
574
  };
421
575
  /**
422
- * Analyzer type and type-specific properties for a Segmentation Analyzer
576
+ * An object describing a Stem Analyzer.
423
577
  */
424
- export declare type SegmentationAnalyzer = {
425
- /**
426
- * Type of the Analyzer.
427
- */
578
+ export declare type StemAnalyzerDescription = GenericAnalyzerDescription & {
579
+ type: "stem";
580
+ properties: {
581
+ locale: string;
582
+ };
583
+ };
584
+ /**
585
+ * An object describing a Norm Analyzer.
586
+ */
587
+ export declare type NormAnalyzerDescription = GenericAnalyzerDescription & {
588
+ type: "norm";
589
+ properties: {
590
+ locale: string;
591
+ case: "lower" | "none" | "upper";
592
+ accent: boolean;
593
+ };
594
+ };
595
+ /**
596
+ * An object describing an Ngram Analyzer.
597
+ */
598
+ export declare type NgramAnalyzerDescription = GenericAnalyzerDescription & {
599
+ type: "ngram";
600
+ properties: {
601
+ max: number;
602
+ min: number;
603
+ preserveOriginal: boolean;
604
+ };
605
+ };
606
+ /**
607
+ * An object describing a Text Analyzer.
608
+ */
609
+ export declare type TextAnalyzerDescription = GenericAnalyzerDescription & {
610
+ type: "text";
611
+ properties: {
612
+ locale: string;
613
+ case: "lower" | "none" | "upper";
614
+ stopwords: string[];
615
+ stopwordsPath: string;
616
+ accent: boolean;
617
+ stemming: boolean;
618
+ edgeNgram: {
619
+ min: number;
620
+ max: number;
621
+ preserveOriginal: boolean;
622
+ };
623
+ };
624
+ };
625
+ /**
626
+ * An object describing a Segmentation Analyzer
627
+ */
628
+ export declare type SegmentationAnalyzerDescription = GenericAnalyzerDescription & {
428
629
  type: "segmentation";
429
- /**
430
- * Additional properties for the Analyzer.
431
- */
432
- properties: SegmentationAnalyzerProperties;
630
+ properties: {
631
+ break: "all" | "alpha" | "graphic";
632
+ case: "lower" | "upper" | "none";
633
+ };
433
634
  };
434
635
  /**
435
- * Properties of a Collation Analyzer.
636
+ * An object describing an AQL Analyzer
436
637
  */
437
- export declare type CollationAnalyzerProperties = {
438
- /**
439
- * Text locale.
440
- *
441
- * Format: `language[_COUNTRY][.encoding][@variant]`
442
- */
443
- locale: string;
638
+ export declare type AqlAnalyzerDescription = GenericAnalyzerDescription & {
639
+ type: "aql";
640
+ properties: {
641
+ queryString: string;
642
+ collapsePositions: boolean;
643
+ keepNull: boolean;
644
+ batchSize: number;
645
+ memoryLimit: number;
646
+ returnType: "string" | "number" | "bool";
647
+ };
444
648
  };
445
649
  /**
446
- * Analyzer type and type-specific properties for a Collation Analyzer
650
+ * An object describing a Pipeline Analyzer
447
651
  */
448
- export declare type CollationAnalyzer = {
449
- /**
450
- * Type of the Analyzer.
451
- */
652
+ export declare type PipelineAnalyzerDescription = GenericAnalyzerDescription & {
653
+ type: "pipeline";
654
+ properties: {
655
+ pipeline: Omit<AnalyzerDescription, "name" | "features">[];
656
+ };
657
+ };
658
+ /**
659
+ * An object describing a Stopwords Analyzer
660
+ */
661
+ export declare type StopwordsAnalyzerDescription = GenericAnalyzerDescription & {
662
+ type: "stopwords";
663
+ properties: {
664
+ stopwords: string[];
665
+ hex: boolean;
666
+ };
667
+ };
668
+ /**
669
+ * An object describing a Collation Analyzer
670
+ */
671
+ export declare type CollationAnalyzerDescription = GenericAnalyzerDescription & {
452
672
  type: "collation";
453
- /**
454
- * Additional properties for the Analyzer.
455
- */
456
- properties: CollationAnalyzerProperties;
673
+ properties: {
674
+ locale: string;
675
+ };
676
+ };
677
+ /**
678
+ * (Enterprise Edition only.) An object describing a MinHash Analyzer
679
+ */
680
+ export declare type MinHashAnalyzerDescription = GenericAnalyzerDescription & {
681
+ type: "minhash";
682
+ properties: {
683
+ analyzer: Omit<AnalyzerDescription, "name" | "features">;
684
+ numHashes: number;
685
+ };
686
+ };
687
+ /**
688
+ * (Enterprise Edition only.) An object describing a Classification Analyzer
689
+ */
690
+ export declare type ClassificationAnalyzerDescription = GenericAnalyzerDescription & {
691
+ type: "classification";
692
+ properties: {
693
+ model_location: string;
694
+ top_k: number;
695
+ threshold: number;
696
+ };
697
+ };
698
+ /**
699
+ * (Enterprise Edition only.) An object describing a NearestNeighbors Analyzer
700
+ */
701
+ export declare type NearestNeighborsAnalyzerDescription = GenericAnalyzerDescription & {
702
+ type: "nearest_neighbors";
703
+ properties: {
704
+ model_location: string;
705
+ top_k: number;
706
+ };
707
+ };
708
+ /**
709
+ * An object describing a GeoJSON Analyzer
710
+ */
711
+ export declare type GeoJsonAnalyzerDescription = GenericAnalyzerDescription & {
712
+ type: "geojson";
713
+ properties: {
714
+ type: "shape" | "centroid" | "point";
715
+ description: {
716
+ maxCells: number;
717
+ minLevel: number;
718
+ maxLevel: number;
719
+ };
720
+ };
721
+ };
722
+ /**
723
+ * An object describing a GeoPoint Analyzer
724
+ */
725
+ export declare type GeoPointAnalyzerDescription = GenericAnalyzerDescription & {
726
+ type: "geopoint";
727
+ properties: {
728
+ latitude: string[];
729
+ longitude: string[];
730
+ description: {
731
+ minCells: number;
732
+ minLevel: number;
733
+ maxLevel: number;
734
+ };
735
+ };
457
736
  };
458
737
  /**
459
- * Represents an Analyzer in a {@link Database}.
738
+ * Represents an Analyzer in a {@link database.Database}.
460
739
  */
461
740
  export declare class Analyzer {
462
741
  protected _name: string;
463
742
  protected _db: Database;
464
743
  /**
465
744
  * @internal
466
- * @hidden
467
745
  */
468
746
  constructor(db: Database, name: string);
469
747
  /**
@@ -475,7 +753,7 @@ export declare class Analyzer {
475
753
  /**
476
754
  * Name of this Analyzer.
477
755
  *
478
- * See also {@link Database.analyzer}.
756
+ * See also {@link database.Database}.
479
757
  */
480
758
  get name(): string;
481
759
  /**
@@ -501,11 +779,11 @@ export declare class Analyzer {
501
779
  * // definition contains the Analyzer definition
502
780
  * ```
503
781
  */
504
- get(): Promise<ArangoResponseMetadata & AnalyzerDescription>;
782
+ get(): Promise<ArangoApiResponse<AnalyzerDescription>>;
505
783
  /**
506
784
  * Creates a new Analyzer with the given `options` and the instance's name.
507
785
  *
508
- * See also {@link Database.createAnalyzer}.
786
+ * See also {@link database.Database#createAnalyzer}.
509
787
  *
510
788
  * @param options - Options for creating the Analyzer.
511
789
  *
@@ -517,7 +795,7 @@ export declare class Analyzer {
517
795
  * // the identity Analyzer "potatoes" now exists
518
796
  * ```
519
797
  */
520
- create(options: CreateAnalyzerOptions): Promise<AnalyzerDescription>;
798
+ create<Options extends CreateAnalyzerOptions>(options: Options): Promise<Options extends CreateIdentityAnalyzerOptions ? IdentityAnalyzerDescription : Options extends CreateDelimiterAnalyzerOptions ? DelimiterAnalyzerDescription : Options extends CreateStemAnalyzerOptions ? StemAnalyzerDescription : Options extends CreateNormAnalyzerOptions ? NormAnalyzerDescription : Options extends CreateNgramAnalyzerOptions ? NgramAnalyzerDescription : Options extends CreateTextAnalyzerOptions ? TextAnalyzerDescription : Options extends CreateSegmentationAnalyzerOptions ? SegmentationAnalyzerDescription : Options extends CreateAqlAnalyzerOptions ? AqlAnalyzerDescription : Options extends CreatePipelineAnalyzerOptions ? PipelineAnalyzerDescription : Options extends CreateStopwordsAnalyzerOptions ? StopwordsAnalyzerDescription : Options extends CreateCollationAnalyzerOptions ? CollationAnalyzerDescription : Options extends CreateMinHashAnalyzerOptions ? MinHashAnalyzerDescription : Options extends CreateClassificationAnalyzerOptions ? ClassificationAnalyzerDescription : Options extends CreateNearestNeighborsAnalyzerOptions ? NearestNeighborsAnalyzerDescription : Options extends CreateGeoJsonAnalyzerOptions ? GeoJsonAnalyzerDescription : Options extends CreateGeoPointAnalyzerOptions ? GeoPointAnalyzerDescription : AnalyzerDescription>;
521
799
  /**
522
800
  * Deletes the Analyzer from the database.
523
801
  *
@@ -532,8 +810,8 @@ export declare class Analyzer {
532
810
  * // the Analyzer "some-analyzer" no longer exists
533
811
  * ```
534
812
  */
535
- drop(force?: boolean): Promise<ArangoResponseMetadata & {
813
+ drop(force?: boolean): Promise<ArangoApiResponse<{
536
814
  name: string;
537
- }>;
815
+ }>>;
538
816
  }
539
817
  //# sourceMappingURL=analyzer.d.ts.map