@sebspark/opensearch 3.0.0 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{index.d.ts → index.d.mts} +230 -232
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +99 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +10 -4
- package/dist/index.js +0 -46
- package/dist/index.js.map +0 -1
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import { API,
|
|
1
|
+
import { API, Client, Types } from "@opensearch-project/opensearch";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
type
|
|
7
|
-
[K in keyof T & string]: `${Prefix}${Prefix extends '' ? '' : '.'}${K}` | NestedPaths<T[K], `${Prefix}${Prefix extends '' ? '' : '.'}${K}`>;
|
|
8
|
-
}[keyof T & string] : never;
|
|
9
|
-
type NestedLeafPaths<T, Prefix extends string = ''> = T extends object ? {
|
|
10
|
-
[K in keyof T & string]: NestedLeafPaths<T[K], `${Prefix}${Prefix extends '' ? '' : '.'}${K}`>;
|
|
11
|
-
}[keyof T & string] : Prefix;
|
|
3
|
+
//#region src/types/utilityTypes.d.ts
|
|
4
|
+
type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };
|
|
5
|
+
type NestedPaths<T, Prefix extends string = ''> = T extends object ? { [K in keyof T & string]: `${Prefix}${Prefix extends '' ? '' : '.'}${K}` | NestedPaths<T[K], `${Prefix}${Prefix extends '' ? '' : '.'}${K}`> }[keyof T & string] : never;
|
|
6
|
+
type NestedLeafPaths<T, Prefix extends string = ''> = T extends object ? { [K in keyof T & string]: NestedLeafPaths<T[K], `${Prefix}${Prefix extends '' ? '' : '.'}${K}`> }[keyof T & string] : Prefix;
|
|
12
7
|
type Primitive = string | number | boolean;
|
|
13
|
-
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/types/common.d.ts
|
|
14
10
|
/**
|
|
15
11
|
* Defines all possible field value types in OpenSearch.
|
|
16
12
|
*/
|
|
@@ -23,423 +19,423 @@ type Property = Types.Common_Mapping.Property;
|
|
|
23
19
|
* Defines an OpenSearch index mapping.
|
|
24
20
|
*/
|
|
25
21
|
type TypeMapping = Omit<Types.Common_Mapping.TypeMapping, 'properties'> & {
|
|
26
|
-
|
|
22
|
+
properties: Record<string, Property>;
|
|
27
23
|
};
|
|
28
24
|
/**
|
|
29
25
|
* Defines an OpenSearch index mapping configuration.
|
|
30
26
|
*/
|
|
31
27
|
type IndicesCreateRequestBody = Omit<API.Indices_Create_RequestBody, 'mappings'> & {
|
|
32
|
-
|
|
28
|
+
mappings: TypeMapping;
|
|
33
29
|
};
|
|
34
30
|
/**
|
|
35
31
|
* Defines an OpenSearch index with body required.
|
|
36
32
|
*/
|
|
37
33
|
type IndexDefinition = Omit<API.Indices_Create_Request, 'body'> & {
|
|
38
|
-
|
|
34
|
+
body: IndicesCreateRequestBody;
|
|
39
35
|
};
|
|
40
36
|
/**
|
|
41
37
|
* Converts OpenSearch field definitions into TypeScript types.
|
|
42
38
|
*/
|
|
43
39
|
type MapOpenSearchTypes<T> = T extends Property ? T['type'] extends 'keyword' | 'text' ? string : T['type'] extends 'integer' | 'long' | 'short' | 'byte' | 'float' | 'double' ? number : T['type'] extends 'boolean' ? boolean : T['type'] extends 'date' | 'date_nanos' ? Date : T['type'] extends 'object' | 'nested' ? T extends {
|
|
44
|
-
|
|
45
|
-
} ? {
|
|
46
|
-
|
|
47
|
-
} : T extends {
|
|
48
|
-
dynamic: 'true';
|
|
49
|
-
} ? Record<string, unknown> : never : never : T extends Record<string, Property> ? {
|
|
50
|
-
[K in keyof T]: MapOpenSearchTypes<T[K]>;
|
|
51
|
-
} : never;
|
|
40
|
+
properties: Record<string, Property>;
|
|
41
|
+
} ? { [K in keyof T['properties']]: MapOpenSearchTypes<T['properties'][K]> } : T extends {
|
|
42
|
+
dynamic: 'true';
|
|
43
|
+
} ? Record<string, unknown> : never : never : T extends Record<string, Property> ? { [K in keyof T]: MapOpenSearchTypes<T[K]> } : never;
|
|
52
44
|
type MapQueryProperties<T extends IndexDefinition> = T extends {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
};
|
|
45
|
+
body: {
|
|
46
|
+
mappings: {
|
|
47
|
+
properties: infer P;
|
|
57
48
|
};
|
|
49
|
+
};
|
|
58
50
|
} ? MapOpenSearchTypes<P> : never;
|
|
59
51
|
type Indices = Client['indices'];
|
|
60
52
|
type TransportRequestOptions = Parameters<Indices['exists']>[1];
|
|
61
53
|
interface TransportRequestPromise<T> extends Promise<T> {
|
|
62
|
-
|
|
63
|
-
|
|
54
|
+
abort: () => void;
|
|
55
|
+
finally(onFinally?: (() => void) | undefined | null): Promise<T>;
|
|
64
56
|
}
|
|
65
57
|
type Sort<T> = SortOptions<T> | SortOptions<T>[];
|
|
66
58
|
type SortOptions<T> = '_score' | '_doc' | {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
59
|
+
_doc?: Types.Common.ScoreSort;
|
|
60
|
+
_geo_distance?: Types.Common.GeoDistanceSort;
|
|
61
|
+
_score?: Types.Common.ScoreSort;
|
|
62
|
+
_script?: Types.Common.ScriptSort;
|
|
71
63
|
} | Record<NestedPaths<T>, Types.Common.FieldSort>;
|
|
72
64
|
type BuiltinKeys = '_id' | '_index';
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/types/documents.d.ts
|
|
67
|
+
type DocumentFor<T extends IndexDefinition> = { -readonly [P in keyof T['body']['mappings']['properties']]?: MapOpenSearchTypes<T['body']['mappings']['properties'][P]> };
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region src/types/bulk.d.ts
|
|
78
70
|
type CreateOperation<T extends IndexDefinition> = Omit<WriteOperation<T>, '_id'> & {
|
|
79
|
-
|
|
71
|
+
_id: Types.Common.Id;
|
|
80
72
|
};
|
|
81
73
|
type DeleteOperation<T extends IndexDefinition> = OperationBase<T>;
|
|
82
74
|
type IndexOperation<T extends IndexDefinition> = WriteOperation<T>;
|
|
83
75
|
type UpdateOperation<T extends IndexDefinition> = Omit<Types.Core_Bulk.UpdateOperation, '_index' | '_id'> & {
|
|
84
|
-
|
|
85
|
-
|
|
76
|
+
_id: Types.Common.Id;
|
|
77
|
+
_index?: T['index'];
|
|
86
78
|
};
|
|
87
79
|
type WriteOperation<T extends IndexDefinition> = Omit<Types.Core_Bulk.WriteOperation, '_index'> & {
|
|
88
|
-
|
|
80
|
+
_index?: T['index'];
|
|
89
81
|
};
|
|
90
82
|
type OperationBase<T extends IndexDefinition> = Omit<Types.Core_Bulk.OperationBase, '_index'> & {
|
|
91
|
-
|
|
83
|
+
_index?: T['index'];
|
|
92
84
|
};
|
|
93
85
|
type OperationContainer<T extends IndexDefinition> = {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
86
|
+
create?: CreateOperation<T>;
|
|
87
|
+
delete?: DeleteOperation<T>;
|
|
88
|
+
index?: IndexOperation<T>;
|
|
89
|
+
update?: UpdateOperation<T>;
|
|
98
90
|
};
|
|
99
91
|
type UpdateAction<T extends IndexDefinition> = Omit<Types.Core_Bulk.UpdateAction, 'doc' | 'upsert'> & ({
|
|
100
|
-
|
|
101
|
-
|
|
92
|
+
doc: DeepPartial<DocumentFor<T>>;
|
|
93
|
+
upsert?: DocumentFor<T>;
|
|
102
94
|
} | {
|
|
103
|
-
|
|
104
|
-
|
|
95
|
+
doc?: DeepPartial<DocumentFor<T>>;
|
|
96
|
+
upsert: DocumentFor<T>;
|
|
105
97
|
});
|
|
106
98
|
type BulkRequest<T extends IndexDefinition> = Omit<API.Bulk_Request, 'index' | 'body' | '_source_excludes' | '_source_includes'> & {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
99
|
+
index: T['index'];
|
|
100
|
+
body: BulkRequestBody<T>;
|
|
101
|
+
_source_excludes?: NestedLeafPaths<T> | Types.Common.Fields;
|
|
102
|
+
_source_includes?: NestedLeafPaths<T> | Types.Common.Fields;
|
|
111
103
|
};
|
|
112
104
|
type BulkRequestBody<T extends IndexDefinition> = (OperationContainer<T> | UpdateAction<T> | DocumentFor<T>)[];
|
|
113
105
|
type ResponseItem<T extends IndexDefinition> = Omit<Types.Core_Bulk.ResponseItem, '_index'> & {
|
|
114
|
-
|
|
106
|
+
_index: T['index'];
|
|
115
107
|
};
|
|
116
108
|
type CustomOperation = string;
|
|
117
109
|
type BulkOperation = 'index' | 'update' | 'delete' | 'create' | CustomOperation;
|
|
118
110
|
type BulkResponseBody<T extends IndexDefinition> = Omit<API.Bulk_ResponseBody, 'items'> & {
|
|
119
|
-
|
|
111
|
+
items: Record<BulkOperation, ResponseItem<T>>[];
|
|
120
112
|
};
|
|
121
113
|
type BulkResponse<T extends IndexDefinition> = Omit<API.Bulk_ResponseBody, 'body'> & {
|
|
122
|
-
|
|
114
|
+
body: BulkResponseBody<T>;
|
|
123
115
|
};
|
|
124
|
-
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/types/queries.d.ts
|
|
125
118
|
type BoolQuery<T> = Omit<Types.Common_QueryDsl.BoolQuery, 'must' | 'should' | 'filter' | 'must_not'> & {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
119
|
+
must?: QueryContainer<T>[];
|
|
120
|
+
should?: QueryContainer<T>[];
|
|
121
|
+
filter?: QueryContainer<T>[];
|
|
122
|
+
must_not?: QueryContainer<T>[];
|
|
130
123
|
};
|
|
131
124
|
type BoostingQuery<T> = Omit<Types.Common_QueryDsl.BoostingQuery, 'positive' | 'negative'> & {
|
|
132
|
-
|
|
133
|
-
|
|
125
|
+
positive: QueryContainer<T>;
|
|
126
|
+
negative: QueryContainer<T>;
|
|
134
127
|
};
|
|
135
128
|
type CombinedFieldsQuery<T> = Omit<Types.Common_QueryDsl.CombinedFieldsQuery, 'fields'> & {
|
|
136
|
-
|
|
129
|
+
fields: NestedPaths<T>[];
|
|
137
130
|
};
|
|
138
131
|
type CommonTermsQuery = Types.Common_QueryDsl.CommonTermsQuery;
|
|
139
132
|
type ConstantScoreQuery<T> = Omit<Types.Common_QueryDsl.ConstantScoreQuery, 'filter'> & {
|
|
140
|
-
|
|
133
|
+
filter: QueryContainer<T>;
|
|
141
134
|
};
|
|
142
135
|
type DecayFunction = Types.Common_QueryDsl.DecayFunction;
|
|
143
136
|
type DecayFunctionBase = Types.Common_QueryDsl.DecayFunctionBase;
|
|
144
137
|
type DisMaxQuery<T> = Omit<Types.Common_QueryDsl.DisMaxQuery, 'queries'> & {
|
|
145
|
-
|
|
138
|
+
queries: QueryContainer<T>[];
|
|
146
139
|
};
|
|
147
140
|
type DistanceFeatureQuery<T> = Omit<Types.Common_QueryDsl.DistanceFeatureQuery, 'field'> & {
|
|
148
|
-
|
|
141
|
+
field: NestedPaths<T>;
|
|
149
142
|
};
|
|
150
143
|
type ExistsQuery<T> = Omit<Types.Common_QueryDsl.ExistsQuery, 'field'> & {
|
|
151
|
-
|
|
144
|
+
field: NestedPaths<T>;
|
|
152
145
|
};
|
|
153
146
|
type FieldAndFormat<T> = Omit<Types.Common_QueryDsl.FieldAndFormat, 'field'> & {
|
|
154
|
-
|
|
147
|
+
field: NestedPaths<T>;
|
|
155
148
|
};
|
|
156
|
-
type FieldQuery<T, K> = Partial<Record<NestedLeafPaths<T> | BuiltinKeys, K>>;
|
|
149
|
+
type FieldQuery<T, K$1> = Partial<Record<NestedLeafPaths<T> | BuiltinKeys, K$1>>;
|
|
157
150
|
type FieldValueFactorScoreFunction<T> = Omit<Types.Common_QueryDsl.FieldValueFactorScoreFunction, 'field'> & {
|
|
158
|
-
|
|
151
|
+
field: NestedPaths<T>;
|
|
159
152
|
};
|
|
160
153
|
type FunctionBoostMode = Types.Common_QueryDsl.FunctionBoostMode;
|
|
161
154
|
type FunctionScoreQuery<T> = Omit<Types.Common_QueryDsl.FunctionScoreQuery, 'query'> & {
|
|
162
|
-
|
|
155
|
+
query?: QueryContainer<T> | undefined;
|
|
163
156
|
};
|
|
164
157
|
type FuzzyQuery = Types.Common_QueryDsl.FuzzyQuery;
|
|
165
158
|
type GeoBoundingBoxQuery = Types.Common_QueryDsl.GeoBoundingBoxQuery;
|
|
166
159
|
type GeoDistanceQuery = Types.Common_QueryDsl.GeoDistanceQuery;
|
|
167
160
|
type GeoExecution = Types.Common_QueryDsl.GeoExecution;
|
|
168
161
|
type GeoPolygonQuery<T> = Omit<Types.Common_QueryDsl.GeoPolygonQuery, 'field'> & {
|
|
169
|
-
|
|
162
|
+
field: NestedPaths<T>;
|
|
170
163
|
};
|
|
171
164
|
type GeoShapeQuery<T> = Omit<Types.Common_QueryDsl.GeoShapeQuery, 'ignore_unmapped' | 'field'> & {
|
|
172
|
-
|
|
165
|
+
field: NestedPaths<T>;
|
|
173
166
|
};
|
|
174
167
|
type GeoValidationMethod = Types.Common_QueryDsl.GeoValidationMethod;
|
|
175
168
|
type HasChildQuery<T> = Omit<Types.Common_QueryDsl.HasChildQuery, 'query'> & {
|
|
176
|
-
|
|
169
|
+
query: QueryContainer<T>;
|
|
177
170
|
};
|
|
178
171
|
type HasParentQuery<T> = Omit<Types.Common_QueryDsl.HasParentQuery, 'query'> & {
|
|
179
|
-
|
|
172
|
+
query: QueryContainer<T>;
|
|
180
173
|
};
|
|
181
174
|
type HybridQuery<T> = Omit<Types.Common_QueryDsl.HybridQuery, 'queries'> & {
|
|
182
|
-
|
|
175
|
+
queries?: QueryContainer<T>[];
|
|
183
176
|
};
|
|
184
177
|
type IdsQuery = Types.Common_QueryDsl.IdsQuery;
|
|
185
178
|
type IntervalsQuery = Types.Common_QueryDsl.IntervalsQuery;
|
|
186
179
|
type KnnQuery<T> = Omit<Types.Common_QueryDsl.KnnQuery, 'filter'> & {
|
|
187
|
-
|
|
180
|
+
filter?: QueryContainer<T>[];
|
|
188
181
|
};
|
|
189
182
|
type Like = Types.Common_QueryDsl.Like;
|
|
190
183
|
type LikeDocument = Types.Common_QueryDsl.LikeDocument;
|
|
191
184
|
type MatchAllQuery = Types.Common_QueryDsl.MatchAllQuery;
|
|
192
185
|
type MatchBoolPrefixQuery<T> = Omit<Types.Common_QueryDsl.MatchBoolPrefixQuery, 'query' | 'fields'> & {
|
|
193
|
-
|
|
194
|
-
|
|
186
|
+
fields: NestedPaths<T>[];
|
|
187
|
+
query: string;
|
|
195
188
|
};
|
|
196
189
|
type MatchNoneQuery = Types.Common_QueryDsl.MatchNoneQuery;
|
|
197
190
|
type MatchPhrasePrefixQuery<T> = Omit<Types.Common_QueryDsl.MatchPhrasePrefixQuery, 'query' | 'field'> & {
|
|
198
|
-
|
|
199
|
-
|
|
191
|
+
field: NestedPaths<T>;
|
|
192
|
+
query: string;
|
|
200
193
|
};
|
|
201
194
|
type MatchPhraseQuery<T> = Omit<Types.Common_QueryDsl.MatchPhraseQuery, 'query' | 'field'> & {
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
field: NestedPaths<T>;
|
|
196
|
+
query: string;
|
|
204
197
|
};
|
|
205
198
|
type MatchQuery = FieldValue | Types.Common_QueryDsl.MatchQuery;
|
|
206
199
|
type MoreLikeThisQuery<T> = Omit<Types.Common_QueryDsl.MoreLikeThisQuery, 'fields'> & {
|
|
207
|
-
|
|
200
|
+
fields?: NestedPaths<T>[];
|
|
208
201
|
};
|
|
209
202
|
type MultiMatchQuery<T> = Omit<Types.Common_QueryDsl.MultiMatchQuery, 'fields'> & {
|
|
210
|
-
|
|
203
|
+
fields?: NestedPaths<T>[];
|
|
211
204
|
};
|
|
212
205
|
type NestedQuery<T> = Omit<Types.Common_QueryDsl.NestedQuery, 'query' | 'path'> & {
|
|
213
|
-
|
|
214
|
-
|
|
206
|
+
path: NestedPaths<T>;
|
|
207
|
+
query: QueryContainer<T>;
|
|
215
208
|
};
|
|
216
209
|
type NeuralQuery<T> = Omit<Types.Common_QueryDsl.NeuralQuery, 'filter'> & {
|
|
217
|
-
|
|
210
|
+
filter?: QueryContainer<T>;
|
|
218
211
|
};
|
|
219
212
|
type NumberRangeQueryParameters<T> = Omit<Types.Common_QueryDsl.NumberRangeQueryParameters, 'field'> & {
|
|
220
|
-
|
|
213
|
+
field: NestedPaths<T>;
|
|
221
214
|
};
|
|
222
215
|
type ParentIdQuery = Types.Common_QueryDsl.ParentIdQuery;
|
|
223
216
|
type PercolateQuery<T> = Omit<Types.Common_QueryDsl.PercolateQuery, 'field'> & {
|
|
224
|
-
|
|
217
|
+
field: NestedPaths<T>;
|
|
225
218
|
};
|
|
226
219
|
type PinnedQuery = Types.Common_QueryDsl.PinnedQuery;
|
|
227
220
|
type PrefixQuery<T> = Omit<Types.Common_QueryDsl.PrefixQuery, 'value' | 'field'> & {
|
|
228
|
-
|
|
229
|
-
|
|
221
|
+
field: NestedPaths<T>;
|
|
222
|
+
value: MapOpenSearchTypes<T>;
|
|
230
223
|
};
|
|
231
224
|
type QueryContainer<T> = Omit<Types.Common_QueryDsl.QueryContainer, 'bool' | 'boosting' | 'combined_fields' | 'common' | 'constant_score' | 'dis_max' | 'distance_feature' | 'exists' | 'function_score' | 'fuzzy' | 'geo_bounding_box' | 'geo_distance' | 'geo_polygon' | 'geo_shape' | 'has_child' | 'has_parent' | 'hybrid' | 'ids' | 'intervals' | 'knn' | 'match' | 'match_all' | 'match_bool_prefix' | 'match_none' | 'match_phrase' | 'match_phrase_prefix' | 'more_like_this' | 'multi_match' | 'nested' | 'neural' | 'parent_id' | 'percolate' | 'pinned' | 'prefix' | 'query_string' | 'range' | 'rank_feature' | 'regexp' | 'script' | 'script_score' | 'simple_query_string' | 'span_containing' | 'span_first' | 'span_multi' | 'span_near' | 'span_not' | 'span_or' | 'span_term' | 'span_within' | 'term' | 'terms' | 'terms_set' | 'type' | 'wildcard' | 'wrapper' | 'xy_shape'> & {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
225
|
+
bool?: BoolQuery<T>;
|
|
226
|
+
boosting?: BoostingQuery<T>;
|
|
227
|
+
combined_fields?: CombinedFieldsQuery<T>;
|
|
228
|
+
common?: FieldQuery<T, Types.Common_QueryDsl.CommonTermsQuery>;
|
|
229
|
+
constant_score?: ConstantScoreQuery<T>;
|
|
230
|
+
dis_max?: DisMaxQuery<T>;
|
|
231
|
+
distance_feature?: DistanceFeatureQuery<T>;
|
|
232
|
+
exists?: ExistsQuery<T>;
|
|
233
|
+
function_score?: FunctionScoreQuery<T>;
|
|
234
|
+
fuzzy?: FieldQuery<T, Types.Common_QueryDsl.FuzzyQuery>;
|
|
235
|
+
geo_bounding_box?: GeoBoundingBoxQuery;
|
|
236
|
+
geo_distance?: GeoDistanceQuery;
|
|
237
|
+
geo_polygon?: GeoPolygonQuery<T>;
|
|
238
|
+
geo_shape?: GeoShapeQuery<T>;
|
|
239
|
+
has_child?: HasChildQuery<T>;
|
|
240
|
+
has_parent?: HasParentQuery<T>;
|
|
241
|
+
hybrid?: HybridQuery<T>;
|
|
242
|
+
ids?: IdsQuery;
|
|
243
|
+
intervals?: FieldQuery<T, IntervalsQuery>;
|
|
244
|
+
knn?: FieldQuery<T, KnnQuery<T>>;
|
|
245
|
+
match?: FieldQuery<T, MatchQuery>;
|
|
246
|
+
match_all?: MatchAllQuery;
|
|
247
|
+
match_bool_prefix?: FieldQuery<T, MatchBoolPrefixQuery<T>>;
|
|
248
|
+
match_none?: MatchNoneQuery;
|
|
249
|
+
match_phrase?: FieldQuery<T, MatchPhraseQuery<T>>;
|
|
250
|
+
match_phrase_prefix?: FieldQuery<T, MatchPhrasePrefixQuery<T>>;
|
|
251
|
+
more_like_this?: MoreLikeThisQuery<T>;
|
|
252
|
+
multi_match?: MultiMatchQuery<T>;
|
|
253
|
+
nested?: NestedQuery<T>;
|
|
254
|
+
neural?: FieldQuery<T, NeuralQuery<T>>;
|
|
255
|
+
parent_id?: ParentIdQuery;
|
|
256
|
+
percolate?: PercolateQuery<T>;
|
|
257
|
+
pinned?: PinnedQuery;
|
|
258
|
+
prefix?: FieldQuery<T, PrefixQuery<T>>;
|
|
259
|
+
query_string?: QueryStringQuery;
|
|
260
|
+
range?: FieldQuery<T, RangeQuery<T>>;
|
|
261
|
+
rank_feature?: RankFeatureQuery;
|
|
262
|
+
regexp?: FieldQuery<T, RegexpQuery<T>>;
|
|
263
|
+
script?: ScriptQuery;
|
|
264
|
+
script_score?: ScriptScoreQuery<T>;
|
|
265
|
+
simple_query_string?: SimpleQueryStringQuery<T>;
|
|
266
|
+
span_containing?: SpanContainingQuery<T>;
|
|
267
|
+
span_first?: SpanFirstQuery<T>;
|
|
268
|
+
span_multi?: SpanMultiTermQuery<T>;
|
|
269
|
+
span_near?: SpanNearQuery<T>;
|
|
270
|
+
span_not?: SpanNotQuery<T>;
|
|
271
|
+
span_or?: SpanOrQuery<T>;
|
|
272
|
+
span_term?: FieldQuery<T, SpanTermQuery<T>>;
|
|
273
|
+
span_within?: SpanWithinQuery<T>;
|
|
274
|
+
term?: FieldQuery<T, TermQuery<T>>;
|
|
275
|
+
terms?: TermsQuery<T>;
|
|
276
|
+
terms_set?: FieldQuery<T, TermsSetQuery<T>>;
|
|
277
|
+
type?: TypeQuery;
|
|
278
|
+
wildcard?: FieldQuery<T, WildcardQuery<T>>;
|
|
279
|
+
wrapper?: WrapperQuery;
|
|
280
|
+
xy_shape?: XyShapeQuery<T>;
|
|
288
281
|
};
|
|
289
282
|
type QueryStringQuery = Types.Common_QueryDsl.QueryStringQuery;
|
|
290
283
|
type RangeQuery<T> = Omit<Types.Common_QueryDsl.RangeQuery, 'field'> & {
|
|
291
|
-
|
|
284
|
+
field: NestedPaths<T>;
|
|
292
285
|
};
|
|
293
286
|
type RankFeatureQuery = Types.Common_QueryDsl.RankFeatureQuery;
|
|
294
287
|
type RegexpQuery<T> = Omit<Types.Common_QueryDsl.RegexpQuery, 'value' | 'field'> & {
|
|
295
|
-
|
|
296
|
-
|
|
288
|
+
field: NestedPaths<T>;
|
|
289
|
+
value: MapOpenSearchTypes<T>;
|
|
297
290
|
};
|
|
298
291
|
type ScriptQuery = Types.Common_QueryDsl.ScriptQuery;
|
|
299
292
|
type ScriptScoreQuery<T> = Omit<Types.Common_QueryDsl.ScriptScoreQuery, 'query'> & {
|
|
300
|
-
|
|
293
|
+
query?: QueryContainer<T>;
|
|
301
294
|
};
|
|
302
295
|
type SimpleQueryStringQuery<T> = Omit<Types.Common_QueryDsl.SimpleQueryStringQuery, 'fields'> & {
|
|
303
|
-
|
|
296
|
+
fields: NestedLeafPaths<T>[];
|
|
304
297
|
};
|
|
305
298
|
type SpanQuery<T> = Omit<Types.Common_QueryDsl.SpanQuery, 'field_masking_span' | 'span_containing' | 'span_first' | 'span_multi' | 'span_near' | 'span_not' | 'span_or' | 'span_term' | 'span_within'> & {
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
299
|
+
field_masking_span?: SpanFieldMaskingQuery<T>;
|
|
300
|
+
span_containing?: SpanContainingQuery<T>;
|
|
301
|
+
span_first?: SpanFirstQuery<T>;
|
|
302
|
+
span_multi?: SpanMultiTermQuery<T>;
|
|
303
|
+
span_near?: SpanNearQuery<T>;
|
|
304
|
+
span_not?: SpanNotQuery<T>;
|
|
305
|
+
span_or?: SpanOrQuery<T>;
|
|
306
|
+
span_term?: Record<NestedPaths<T>, SpanTermQuery<T>>;
|
|
307
|
+
span_within?: SpanWithinQuery<T>;
|
|
315
308
|
};
|
|
316
309
|
type SpanContainingQuery<T> = Omit<Types.Common_QueryDsl.SpanContainingQuery, 'big' | 'little'> & {
|
|
317
|
-
|
|
318
|
-
|
|
310
|
+
big: SpanQuery<T>;
|
|
311
|
+
little: SpanQuery<T>;
|
|
319
312
|
};
|
|
320
313
|
type SpanFieldMaskingQuery<T> = Omit<Types.Common_QueryDsl.SpanFieldMaskingQuery, 'field' | 'query'> & {
|
|
321
|
-
|
|
322
|
-
|
|
314
|
+
field: NestedPaths<T>;
|
|
315
|
+
query: SpanQuery<T>;
|
|
323
316
|
};
|
|
324
317
|
type SpanFirstQuery<T> = Omit<Types.Common_QueryDsl.SpanFirstQuery, 'match'> & {
|
|
325
|
-
|
|
318
|
+
match: SpanQuery<T>;
|
|
326
319
|
};
|
|
327
320
|
type SpanMultiTermQuery<T> = Omit<Types.Common_QueryDsl.SpanMultiTermQuery, 'match'> & {
|
|
328
|
-
|
|
321
|
+
match: QueryContainer<T>;
|
|
329
322
|
};
|
|
330
323
|
type SpanNearQuery<T> = Omit<Types.Common_QueryDsl.SpanNearQuery, 'clauses'> & {
|
|
331
|
-
|
|
324
|
+
clauses: SpanQuery<T>[];
|
|
332
325
|
};
|
|
333
326
|
type SpanNotQuery<T> = Omit<Types.Common_QueryDsl.SpanNotQuery, 'include' | 'exclude'> & {
|
|
334
|
-
|
|
335
|
-
|
|
327
|
+
include: SpanQuery<T>;
|
|
328
|
+
exclude: SpanQuery<T>;
|
|
336
329
|
};
|
|
337
330
|
type SpanOrQuery<T> = Omit<Types.Common_QueryDsl.SpanOrQuery, 'clauses'> & {
|
|
338
|
-
|
|
331
|
+
clauses: SpanQuery<T>[];
|
|
339
332
|
};
|
|
340
333
|
type SpanTermQuery<T> = Omit<Types.Common_QueryDsl.SpanTermQuery, 'value' | 'field'> & {
|
|
341
|
-
|
|
342
|
-
|
|
334
|
+
field: NestedPaths<T>;
|
|
335
|
+
value: MapOpenSearchTypes<T>;
|
|
343
336
|
};
|
|
344
337
|
type SpanWithinQuery<T> = Omit<Types.Common_QueryDsl.SpanWithinQuery, 'big' | 'little'> & {
|
|
345
|
-
|
|
346
|
-
|
|
338
|
+
big: SpanQuery<T>;
|
|
339
|
+
little: SpanQuery<T>;
|
|
347
340
|
};
|
|
348
341
|
type TermQuery<T> = Omit<Types.Common_QueryDsl.TermQuery, 'value' | 'field'> & {
|
|
349
|
-
|
|
350
|
-
|
|
342
|
+
field: NestedPaths<T>;
|
|
343
|
+
value: MapOpenSearchTypes<T>;
|
|
351
344
|
};
|
|
352
345
|
type TermsQuery<T> = Omit<Types.Common_QueryDsl.TermsQuery, 'terms' | 'field'> & {
|
|
353
|
-
|
|
354
|
-
|
|
346
|
+
field: NestedPaths<T>;
|
|
347
|
+
terms: FieldValue[];
|
|
355
348
|
};
|
|
356
349
|
type TermsSetQuery<T> = Omit<Types.Common_QueryDsl.TermsSetQuery, 'terms' | 'field'> & {
|
|
357
|
-
|
|
358
|
-
|
|
350
|
+
field: NestedPaths<T>;
|
|
351
|
+
terms: FieldValue[];
|
|
359
352
|
};
|
|
360
353
|
type TypeQuery = Types.Common_QueryDsl.TypeQuery;
|
|
361
354
|
type WildcardQuery<T> = Omit<Types.Common_QueryDsl.WildcardQuery, 'value' | 'field'> & {
|
|
362
|
-
|
|
363
|
-
|
|
355
|
+
field: NestedPaths<T>;
|
|
356
|
+
value: MapOpenSearchTypes<T>;
|
|
364
357
|
};
|
|
365
358
|
type WrapperQuery = Types.Common_QueryDsl.WrapperQuery;
|
|
366
359
|
type XyShapeQuery<T> = Omit<Types.Common_QueryDsl.XyShapeQuery, 'field'> & {
|
|
367
|
-
|
|
360
|
+
field: NestedPaths<T>;
|
|
368
361
|
};
|
|
369
|
-
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region src/types/core_search.d.ts
|
|
370
364
|
type FieldCollapse<T> = Omit<Types.Core_Search.FieldCollapse, 'field'> & {
|
|
371
|
-
|
|
365
|
+
field: NestedPaths<T>;
|
|
372
366
|
};
|
|
373
367
|
type Highlight<T> = Omit<Types.Core_Search.Highlight, 'fields'> & {
|
|
374
|
-
|
|
368
|
+
fields: FieldQuery<T, Types.Core_Search.HighlightField>;
|
|
375
369
|
};
|
|
376
370
|
type Hit<T extends IndexDefinition> = Omit<Types.Core_Search.Hit, '_source'> & {
|
|
377
|
-
|
|
371
|
+
_source: DocumentFor<T>;
|
|
378
372
|
};
|
|
379
373
|
type HitsMetadata<T extends IndexDefinition> = Omit<Types.Core_Search.HitsMetadata, 'hits'> & {
|
|
380
|
-
|
|
374
|
+
hits: Hit<T>[];
|
|
381
375
|
};
|
|
382
376
|
type SourceConfig<T> = boolean | SourceFilter<T>;
|
|
383
377
|
type SourceFilter<T> = NestedPaths<T>[] | {
|
|
384
|
-
|
|
385
|
-
|
|
378
|
+
excludes?: NestedPaths<T>[];
|
|
379
|
+
includes?: NestedPaths<T>[];
|
|
386
380
|
};
|
|
387
|
-
|
|
381
|
+
//#endregion
|
|
382
|
+
//#region src/types/search.d.ts
|
|
388
383
|
type SearchRequest<T extends IndexDefinition> = Omit<API.Search_Request, 'body' | 'index'> & {
|
|
389
|
-
|
|
390
|
-
|
|
384
|
+
index: T['index'];
|
|
385
|
+
body: SearchRequestBody<T>;
|
|
391
386
|
};
|
|
392
387
|
type SearchRequestBody<T extends IndexDefinition> = Omit<API.Search_RequestBody, 'query' | 'collapse' | 'highlight' | 'sort' | '_source'> & {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
388
|
+
query?: QueryContainer<MapQueryProperties<T>>;
|
|
389
|
+
collapse?: FieldCollapse<MapQueryProperties<T>>;
|
|
390
|
+
highlight?: Highlight<MapQueryProperties<T>>;
|
|
391
|
+
sort?: Sort<MapQueryProperties<T>>;
|
|
392
|
+
_source?: SourceConfig<MapQueryProperties<T>>;
|
|
398
393
|
};
|
|
399
394
|
type SearchResponse<T extends IndexDefinition> = Omit<API.Search_Response, 'body'> & {
|
|
400
|
-
|
|
395
|
+
body: SearchResponseBody<T>;
|
|
401
396
|
};
|
|
402
397
|
type SearchResponseBody<T extends IndexDefinition> = Omit<API.Search_ResponseBody, 'hits'> & {
|
|
403
|
-
|
|
398
|
+
hits: HitsMetadata<T>;
|
|
404
399
|
};
|
|
405
|
-
|
|
400
|
+
//#endregion
|
|
401
|
+
//#region src/types/indx.d.ts
|
|
406
402
|
interface IndexRequest<T> extends Omit<API.Index_Request, 'body' | 'index'> {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
}
|
|
418
|
-
interface IndexResponse extends API.Index_Response {
|
|
403
|
+
index: T extends {
|
|
404
|
+
index: infer I;
|
|
405
|
+
} ? I : never;
|
|
406
|
+
body: T extends {
|
|
407
|
+
body: {
|
|
408
|
+
mappings: {
|
|
409
|
+
properties: infer P;
|
|
410
|
+
};
|
|
411
|
+
};
|
|
412
|
+
} ? MapOpenSearchTypes<P> : never;
|
|
419
413
|
}
|
|
414
|
+
interface IndexResponse extends API.Index_Response {}
|
|
420
415
|
type IndicesExistsRequest<T extends IndexDefinition> = Omit<API.Indices_Exists_Request, 'index'> & {
|
|
421
|
-
|
|
416
|
+
index: Extract<T['index'], string>;
|
|
422
417
|
};
|
|
423
|
-
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region src/client.d.ts
|
|
424
420
|
type TypedIndices = Omit<Indices, 'exists'> & {
|
|
425
|
-
|
|
421
|
+
exists<T extends IndexDefinition>(params: IndicesExistsRequest<T>, options?: TransportRequestOptions): TransportRequestPromise<API.Indices_Exists_Response>;
|
|
426
422
|
};
|
|
427
|
-
/**
|
|
428
|
-
* ✅ Constructor type that ensures `new OpenSearchClient()` works.
|
|
429
|
-
* - This type is necessary because `OpenSearchClient` is actually a function (not a class).
|
|
430
|
-
*/
|
|
431
|
-
type OpenSearchClientConstructor = new (...args: ConstructorParameters<typeof Client>) => OpenSearchClient;
|
|
432
423
|
/**
|
|
433
424
|
* ✅ Custom interface that extends `Client`, but replaces the `search()` method signature.
|
|
434
425
|
* - Uses `Omit<Client, "search">` to remove `search()` from `Client`.
|
|
435
426
|
* - Defines a new `search<T>()` method with stricter type safety.
|
|
436
427
|
*/
|
|
437
428
|
interface OpenSearchClient extends Omit<Client, 'search' | 'index' | 'bulk' | 'indices'> {
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
429
|
+
search<T extends IndexDefinition>(params: SearchRequest<T>, options?: TransportRequestOptions): TransportRequestPromise<SearchResponse<T>>;
|
|
430
|
+
index<T extends IndexDefinition>(params: IndexRequest<T>, options?: TransportRequestOptions): TransportRequestPromise<API.Index_Response>;
|
|
431
|
+
bulk<T extends IndexDefinition>(params: BulkRequest<T>, options?: TransportRequestOptions): TransportRequestPromise<BulkResponse<T>>;
|
|
432
|
+
indices: TypedIndices;
|
|
442
433
|
}
|
|
434
|
+
/**
|
|
435
|
+
* ✅ Constructor type that ensures `new OpenSearchClient()` works.
|
|
436
|
+
* - This type is necessary because `OpenSearchClient` is actually a function (not a class).
|
|
437
|
+
*/
|
|
438
|
+
type OpenSearchClientConstructor = new (...args: ConstructorParameters<typeof Client>) => OpenSearchClient;
|
|
443
439
|
/**
|
|
444
440
|
* ✅ A function that behaves like a class constructor.
|
|
445
441
|
* - Instantiates a new `Client` internally.
|
|
@@ -447,7 +443,8 @@ interface OpenSearchClient extends Omit<Client, 'search' | 'index' | 'bulk' | 'i
|
|
|
447
443
|
* - The `as unknown as` trick ensures `new OpenSearchClient()` is valid.
|
|
448
444
|
*/
|
|
449
445
|
declare const OpenSearchClient: OpenSearchClientConstructor;
|
|
450
|
-
|
|
446
|
+
//#endregion
|
|
447
|
+
//#region src/helpers.d.ts
|
|
451
448
|
type IdFunction<T extends IndexDefinition> = (doc: DocumentFor<T>) => Types.Common.Id;
|
|
452
449
|
/**
|
|
453
450
|
* Constructs a bulk request payload for indexing documents.
|
|
@@ -501,5 +498,6 @@ declare function bulkUpdate<T extends IndexDefinition>(index: T['index'], update
|
|
|
501
498
|
* @returns A BulkRequest payload for delete operations.
|
|
502
499
|
*/
|
|
503
500
|
declare function bulkDelete<T extends IndexDefinition>(index: T['index'], ids: Types.Common.Id[]): BulkRequest<T>;
|
|
504
|
-
|
|
505
|
-
export {
|
|
501
|
+
//#endregion
|
|
502
|
+
export { BoolQuery, BoostingQuery, type BulkRequest, type BulkResponse, CombinedFieldsQuery, CommonTermsQuery, ConstantScoreQuery, DecayFunction, DecayFunctionBase, type DeepPartial, DisMaxQuery, DistanceFeatureQuery, type DocumentFor, ExistsQuery, FieldAndFormat, FieldQuery, FieldValueFactorScoreFunction, FunctionBoostMode, FunctionScoreQuery, FuzzyQuery, GeoBoundingBoxQuery, GeoDistanceQuery, GeoExecution, GeoPolygonQuery, GeoShapeQuery, GeoValidationMethod, HasChildQuery, HasParentQuery, HybridQuery, IdFunction, IdsQuery, type IndexDefinition, type IndexRequest, type IndexResponse, type IndicesCreateRequestBody, IntervalsQuery, KnnQuery, Like, LikeDocument, MatchAllQuery, MatchBoolPrefixQuery, MatchNoneQuery, MatchPhrasePrefixQuery, MatchPhraseQuery, MatchQuery, MoreLikeThisQuery, MultiMatchQuery, NestedQuery, NeuralQuery, NumberRangeQueryParameters, OpenSearchClient, ParentIdQuery, PercolateQuery, PinnedQuery, PrefixQuery, type Primitive, type Property, QueryContainer, QueryStringQuery, RangeQuery, RankFeatureQuery, RegexpQuery, ScriptQuery, ScriptScoreQuery, type SearchRequest, type SearchResponse, SimpleQueryStringQuery, SpanContainingQuery, SpanFieldMaskingQuery, SpanFirstQuery, SpanMultiTermQuery, SpanNearQuery, SpanNotQuery, SpanOrQuery, SpanQuery, SpanTermQuery, SpanWithinQuery, TermQuery, TermsQuery, TermsSetQuery, type TypeMapping, TypeQuery, type UpdateAction, WildcardQuery, WrapperQuery, XyShapeQuery, bulkCreate, bulkDelete, bulkIndex, bulkUpdate };
|
|
503
|
+
//# sourceMappingURL=index.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/types/utilityTypes.ts","../src/types/common.ts","../src/types/documents.ts","../src/types/bulk.ts","../src/types/queries.ts","../src/types/core_search.ts","../src/types/search.ts","../src/types/indx.ts","../src/client.ts","../src/helpers.ts"],"sourcesContent":[],"mappings":"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CF9SU,CAAA;EADuB,MAAA,CAAA,EEgTpD,WFhToD,CEgTxC,CFhTwC,CAAA;EAAkB,GAAA,CAAA,EEiTzE,QFjTyE;cEkTnE,WAAW,GAAG;QACpB,WAAW,GAAG,SAAS;UACrB,WAAW,GAAG;EDlTZ,SAAA,CAAA,ECmTE,aDnTa;EAAW,iBAAA,CAAA,ECoThB,UDpTgB,CCoTL,CDpTK,ECoTF,oBDpTE,CCoTmB,CDpTnB,CAAA,CAAA;EACrB,UAAA,CAAA,ECoTF,cDpTE;EAAf,YAAA,CAAA,ECqTe,UDrTf,CCqT0B,CDrT1B,ECqT6B,gBDrT7B,CCqT8C,CDrT9C,CAAA,CAAA;EADuD,mBAAA,CAAA,ECuTjC,UDvTiC,CCuTtB,CDvTsB,ECuTnB,sBDvTmB,CCuTI,CDvTJ,CAAA,CAAA;EAIlD,cAAa,CAAA,ECoTD,iBDpTC,CCoTiB,CDpTjB,CAAA;EAAE,WAAA,CAAA,ECqTN,eDrTM,CCqTU,CDrTV,CAAA;EAEV,MAAA,CAAA,ECoTD,WDpTgB,CCoTJ,CDpTI,CAAA;EAAW,MAAA,CAAA,ECqT3B,UDrT2B,CCqThB,CDrTgB,ECqTb,WDrTa,CCqTD,CDrTC,CAAA,CAAA;EAAiC,SAAA,CAAA,ECsTzD,aDtTyD;EAAd,SAAA,CAAA,ECuT3C,cDvT2C,CCuT5B,CDvT4B,CAAA;EAAa,MAAA,CAAA,ECwT3D,WDxT2D;EAC1D,MAAA,CAAA,ECwTD,UDxTe,CCwTJ,CDxTI,ECwTD,WDxTC,CCwTW,CDxTX,CAAA,CAAA;EAAW,YAAA,CAAA,ECyTpB,gBDzToB;EAAkC,KAAA,CAAA,EC0T7D,UD1T6D,CC0TlD,CD1TkD,EC0T/C,UD1T+C,CC0TpC,CD1ToC,CAAA,CAAA;EAAf,YAAA,CAAA,EC2TvC,gBD3TuC;EAAc,MAAA,CAAA,EC4T3D,UD5T2D,CC4ThD,CD5TgD,EC4T7C,WD5T6C,CC4TjC,CD5TiC,CAAA,CAAA;EAC1D,MAAA,CAAA,EC4TD,WD5TgB;EAAW,YAAA,CAAA,EC6TrB,gBD7TqB,CC6TJ,CD7TI,CAAA;EACpC,mBAAgB,CAAA,EC6TM,sBD7TN,CC6T6B,CD7T7B,CAAA;EADuC,eAAA,CAAA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"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Client } from "@opensearch-project/opensearch";
|
|
2
|
+
|
|
3
|
+
//#region src/client.ts
|
|
4
|
+
/**
|
|
5
|
+
* ✅ A function that behaves like a class constructor.
|
|
6
|
+
* - Instantiates a new `Client` internally.
|
|
7
|
+
* - Casts the instance to `OpenSearchClient` so TypeScript recognizes the new `search<T>()` signature.
|
|
8
|
+
* - The `as unknown as` trick ensures `new OpenSearchClient()` is valid.
|
|
9
|
+
*/
|
|
10
|
+
const OpenSearchClient = function(...args) {
|
|
11
|
+
return new Client(...args);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region src/helpers.ts
|
|
16
|
+
/**
|
|
17
|
+
* Constructs a bulk request payload for indexing documents.
|
|
18
|
+
*
|
|
19
|
+
* For each document in the provided array, this helper creates a two‑line bulk operation:
|
|
20
|
+
* 1. An action object for an index operation. If an id generator is provided, its result is used as _id.
|
|
21
|
+
* 2. The document itself.
|
|
22
|
+
*
|
|
23
|
+
* @param index - The name of the index.
|
|
24
|
+
* @param docs - An array of documents to insert.
|
|
25
|
+
* @param idFn - Optional function that returns an _id for a given document.
|
|
26
|
+
* @returns A BulkRequest payload for insert operations.
|
|
27
|
+
*/
|
|
28
|
+
function bulkIndex(index, docs, idFn) {
|
|
29
|
+
return {
|
|
30
|
+
index,
|
|
31
|
+
body: docs.flatMap((doc) => {
|
|
32
|
+
return [{ index: idFn ? { _id: idFn(doc) } : {} }, doc];
|
|
33
|
+
})
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Constructs a bulk request payload for creating documents.
|
|
38
|
+
*
|
|
39
|
+
* For each document in the provided array, this helper creates a two‑line bulk operation:
|
|
40
|
+
* 1. An action object for a create operation with a generated _id.
|
|
41
|
+
* 2. The document itself.
|
|
42
|
+
*
|
|
43
|
+
* @param index - The name of the index.
|
|
44
|
+
* @param docs - An array of documents to create.
|
|
45
|
+
* @param idFn - A function that returns a unique _id for each document.
|
|
46
|
+
* @returns A BulkRequest payload for create operations.
|
|
47
|
+
*/
|
|
48
|
+
function bulkCreate(index, docs, idFn) {
|
|
49
|
+
return {
|
|
50
|
+
index,
|
|
51
|
+
body: docs.flatMap((doc) => {
|
|
52
|
+
return [{ create: { _id: idFn(doc) } }, doc];
|
|
53
|
+
})
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Constructs a bulk request payload for update operations.
|
|
58
|
+
*
|
|
59
|
+
* This helper takes an array of update actions (of type UpdateAction<T>),
|
|
60
|
+
* splits each into its action metadata and payload (with the `doc` and/or `upsert` properties),
|
|
61
|
+
* and returns a BulkRequest payload formatted as a flat array.
|
|
62
|
+
*
|
|
63
|
+
* @param index - The name of the index.
|
|
64
|
+
* @param updates - An array of update actions.
|
|
65
|
+
* @param idFn - A function that returns a unique _id for each document.
|
|
66
|
+
* @returns A BulkRequest payload for update operations.
|
|
67
|
+
*/
|
|
68
|
+
function bulkUpdate(index, updates, idFn) {
|
|
69
|
+
return {
|
|
70
|
+
index,
|
|
71
|
+
body: updates.flatMap((update) => {
|
|
72
|
+
return [{ update: { _id: idFn(update.doc || update.upsert) } }, update];
|
|
73
|
+
})
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Constructs a bulk request payload for deleting documents.
|
|
78
|
+
*
|
|
79
|
+
* For each document in the provided array, this helper creates a single‑line bulk operation:
|
|
80
|
+
* { delete: { _id: <id> } }
|
|
81
|
+
* The provided id generator function is used to compute the _id for each document.
|
|
82
|
+
*
|
|
83
|
+
* @param index - The name of the index.
|
|
84
|
+
* @param docs - An array of documents to delete.
|
|
85
|
+
* @param idFn - A function that returns the _id for a given document.
|
|
86
|
+
* @returns A BulkRequest payload for delete operations.
|
|
87
|
+
*/
|
|
88
|
+
function bulkDelete(index, ids) {
|
|
89
|
+
return {
|
|
90
|
+
index,
|
|
91
|
+
body: ids.map((_id) => {
|
|
92
|
+
return { delete: { _id } };
|
|
93
|
+
})
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
//#endregion
|
|
98
|
+
export { OpenSearchClient, bulkCreate, bulkDelete, bulkIndex, bulkUpdate };
|
|
99
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["OpenSearchClient: OpenSearchClientConstructor"],"sources":["../src/client.ts","../src/helpers.ts"],"sourcesContent":["import { type API, Client } from '@opensearch-project/opensearch'\nimport type {\n BulkRequest,\n BulkResponse,\n IndexDefinition,\n IndexRequest,\n SearchRequest,\n SearchResponse,\n} from './types'\nimport type {\n Indices,\n TransportRequestOptions,\n TransportRequestPromise,\n} from './types/common'\nimport type { IndicesExistsRequest } from './types/indx'\n\ntype TypedIndices = Omit<Indices, 'exists'> & {\n exists<T extends IndexDefinition>(\n params: IndicesExistsRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<API.Indices_Exists_Response>\n}\n\n/**\n * ✅ Custom interface that extends `Client`, but replaces the `search()` method signature.\n * - Uses `Omit<Client, \"search\">` to remove `search()` from `Client`.\n * - Defines a new `search<T>()` method with stricter type safety.\n */\nexport interface OpenSearchClient\n extends Omit<Client, 'search' | 'index' | 'bulk' | 'indices'> {\n search<T extends IndexDefinition>(\n params: SearchRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<SearchResponse<T>>\n\n index<T extends IndexDefinition>(\n params: IndexRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<API.Index_Response>\n\n bulk<T extends IndexDefinition>(\n params: BulkRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<BulkResponse<T>>\n\n indices: TypedIndices\n}\n\n/**\n * ✅ Constructor type that ensures `new OpenSearchClient()` works.\n * - This type is necessary because `OpenSearchClient` is actually a function (not a class).\n */\ntype OpenSearchClientConstructor = new (\n ...args: ConstructorParameters<typeof Client>\n) => OpenSearchClient\n\n/**\n * ✅ A function that behaves like a class constructor.\n * - Instantiates a new `Client` internally.\n * - Casts the instance to `OpenSearchClient` so TypeScript recognizes the new `search<T>()` signature.\n * - The `as unknown as` trick ensures `new OpenSearchClient()` is valid.\n */\nexport const OpenSearchClient: OpenSearchClientConstructor = function (\n this: Client,\n ...args: ConstructorParameters<typeof Client>\n) {\n const clientInstance = new Client(...args)\n return clientInstance as unknown as OpenSearchClient\n} as unknown as {\n new (...args: ConstructorParameters<typeof Client>): OpenSearchClient\n}\n","import type { Types } from '@opensearch-project/opensearch'\nimport type {\n BulkRequest,\n CreateOperation,\n DeleteOperation,\n IndexOperation,\n UpdateAction,\n UpdateOperation,\n} from './types/bulk'\nimport type { IndexDefinition } from './types/common'\nimport type { DocumentFor } from './types/documents'\n\nexport type IdFunction<T extends IndexDefinition> = (\n doc: DocumentFor<T>\n) => Types.Common.Id\n\n/**\n * Constructs a bulk request payload for indexing documents.\n *\n * For each document in the provided array, this helper creates a two‑line bulk operation:\n * 1. An action object for an index operation. If an id generator is provided, its result is used as _id.\n * 2. The document itself.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to insert.\n * @param idFn - Optional function that returns an _id for a given document.\n * @returns A BulkRequest payload for insert operations.\n */\nexport function bulkIndex<T extends IndexDefinition>(\n index: T['index'],\n docs: DocumentFor<T>[],\n idFn?: IdFunction<T>\n): BulkRequest<T> {\n const body = docs.flatMap((doc) => {\n const op: IndexOperation<T> = idFn ? { _id: idFn(doc) } : {}\n return [{ index: op }, doc]\n })\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for creating documents.\n *\n * For each document in the provided array, this helper creates a two‑line bulk operation:\n * 1. An action object for a create operation with a generated _id.\n * 2. The document itself.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to create.\n * @param idFn - A function that returns a unique _id for each document.\n * @returns A BulkRequest payload for create operations.\n */\nexport function bulkCreate<T extends IndexDefinition>(\n index: T['index'],\n docs: DocumentFor<T>[],\n idFn: IdFunction<T>\n): BulkRequest<T> {\n const body = docs.flatMap((doc) => {\n const op: CreateOperation<T> = { _id: idFn(doc) }\n return [{ create: op }, doc]\n })\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for update operations.\n *\n * This helper takes an array of update actions (of type UpdateAction<T>),\n * splits each into its action metadata and payload (with the `doc` and/or `upsert` properties),\n * and returns a BulkRequest payload formatted as a flat array.\n *\n * @param index - The name of the index.\n * @param updates - An array of update actions.\n * @param idFn - A function that returns a unique _id for each document.\n * @returns A BulkRequest payload for update operations.\n */\nexport function bulkUpdate<T extends IndexDefinition>(\n index: T['index'],\n updates: UpdateAction<T>[],\n idFn: IdFunction<T>\n): BulkRequest<T> {\n const body = updates.flatMap((update) => {\n const op: UpdateOperation<T> = {\n _id: idFn((update.doc as DocumentFor<T>) || update.upsert),\n }\n return [{ update: op }, update]\n })\n\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for deleting documents.\n *\n * For each document in the provided array, this helper creates a single‑line bulk operation:\n * { delete: { _id: <id> } }\n * The provided id generator function is used to compute the _id for each document.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to delete.\n * @param idFn - A function that returns the _id for a given document.\n * @returns A BulkRequest payload for delete operations.\n */\nexport function bulkDelete<T extends IndexDefinition>(\n index: T['index'],\n ids: Types.Common.Id[]\n): BulkRequest<T> {\n const body = ids.map((_id) => {\n const op: DeleteOperation<T> = { _id }\n return { delete: op }\n })\n return { index, body }\n}\n"],"mappings":";;;;;;;;;AA8DA,MAAaA,mBAAgD,SAE3D,GAAG,MACH;AAEA,QADuB,IAAI,OAAO,GAAG,KAAK;;;;;;;;;;;;;;;;;ACtC5C,SAAgB,UACd,OACA,MACA,MACgB;AAKhB,QAAO;EAAE;EAAO,MAJH,KAAK,SAAS,QAAQ;AAEjC,UAAO,CAAC,EAAE,OADoB,OAAO,EAAE,KAAK,KAAK,IAAI,EAAE,GAAG,EAAE,EACvC,EAAE,IAAI;IAC3B;EACoB;;;;;;;;;;;;;;AAexB,SAAgB,WACd,OACA,MACA,MACgB;AAKhB,QAAO;EAAE;EAAO,MAJH,KAAK,SAAS,QAAQ;AAEjC,UAAO,CAAC,EAAE,QADqB,EAAE,KAAK,KAAK,IAAI,EAAE,EAC3B,EAAE,IAAI;IAC5B;EACoB;;;;;;;;;;;;;;AAexB,SAAgB,WACd,OACA,SACA,MACgB;AAQhB,QAAO;EAAE;EAAO,MAPH,QAAQ,SAAS,WAAW;AAIvC,UAAO,CAAC,EAAE,QAHqB,EAC7B,KAAK,KAAM,OAAO,OAA0B,OAAO,OAAO,EAC3D,EACqB,EAAE,OAAO;IAC/B;EAEoB;;;;;;;;;;;;;;AAexB,SAAgB,WACd,OACA,KACgB;AAKhB,QAAO;EAAE;EAAO,MAJH,IAAI,KAAK,QAAQ;AAE5B,UAAO,EAAE,QADsB,EAAE,KAAK,EACjB;IACrB;EACoB"}
|
package/package.json
CHANGED
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sebspark/opensearch",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.2",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"main": "dist/index.
|
|
7
|
-
"types": "dist/index.d.
|
|
6
|
+
"main": "dist/index.mjs",
|
|
7
|
+
"types": "dist/index.d.mts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.mts",
|
|
11
|
+
"import": "./dist/index.mjs"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
8
14
|
"files": [
|
|
9
15
|
"dist"
|
|
10
16
|
],
|
|
11
17
|
"scripts": {
|
|
12
|
-
"build": "
|
|
18
|
+
"build": "spark-build src/index.ts",
|
|
13
19
|
"dev": "tsc --watch --noEmit",
|
|
14
20
|
"lint": "biome check .",
|
|
15
21
|
"test": "vitest run --passWithNoTests --coverage",
|
package/dist/index.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
// src/client.ts
|
|
2
|
-
import { Client } from "@opensearch-project/opensearch";
|
|
3
|
-
var OpenSearchClient = function(...args) {
|
|
4
|
-
const clientInstance = new Client(...args);
|
|
5
|
-
return clientInstance;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
// src/helpers.ts
|
|
9
|
-
function bulkIndex(index, docs, idFn) {
|
|
10
|
-
const body = docs.flatMap((doc) => {
|
|
11
|
-
const op = idFn ? { _id: idFn(doc) } : {};
|
|
12
|
-
return [{ index: op }, doc];
|
|
13
|
-
});
|
|
14
|
-
return { index, body };
|
|
15
|
-
}
|
|
16
|
-
function bulkCreate(index, docs, idFn) {
|
|
17
|
-
const body = docs.flatMap((doc) => {
|
|
18
|
-
const op = { _id: idFn(doc) };
|
|
19
|
-
return [{ create: op }, doc];
|
|
20
|
-
});
|
|
21
|
-
return { index, body };
|
|
22
|
-
}
|
|
23
|
-
function bulkUpdate(index, updates, idFn) {
|
|
24
|
-
const body = updates.flatMap((update) => {
|
|
25
|
-
const op = {
|
|
26
|
-
_id: idFn(update.doc || update.upsert)
|
|
27
|
-
};
|
|
28
|
-
return [{ update: op }, update];
|
|
29
|
-
});
|
|
30
|
-
return { index, body };
|
|
31
|
-
}
|
|
32
|
-
function bulkDelete(index, ids) {
|
|
33
|
-
const body = ids.map((_id) => {
|
|
34
|
-
const op = { _id };
|
|
35
|
-
return { delete: op };
|
|
36
|
-
});
|
|
37
|
-
return { index, body };
|
|
38
|
-
}
|
|
39
|
-
export {
|
|
40
|
-
OpenSearchClient,
|
|
41
|
-
bulkCreate,
|
|
42
|
-
bulkDelete,
|
|
43
|
-
bulkIndex,
|
|
44
|
-
bulkUpdate
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/client.ts","../src/helpers.ts"],"sourcesContent":["import { type API, Client } from '@opensearch-project/opensearch'\nimport type {\n BulkRequest,\n BulkResponse,\n IndexDefinition,\n IndexRequest,\n SearchRequest,\n SearchResponse,\n} from './types'\nimport type {\n Indices,\n TransportRequestOptions,\n TransportRequestPromise,\n} from './types/common'\nimport type { IndicesExistsRequest } from './types/indx'\n\ntype TypedIndices = Omit<Indices, 'exists'> & {\n exists<T extends IndexDefinition>(\n params: IndicesExistsRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<API.Indices_Exists_Response>\n}\n\n/**\n * ✅ Custom interface that extends `Client`, but replaces the `search()` method signature.\n * - Uses `Omit<Client, \"search\">` to remove `search()` from `Client`.\n * - Defines a new `search<T>()` method with stricter type safety.\n */\nexport interface OpenSearchClient\n extends Omit<Client, 'search' | 'index' | 'bulk' | 'indices'> {\n search<T extends IndexDefinition>(\n params: SearchRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<SearchResponse<T>>\n\n index<T extends IndexDefinition>(\n params: IndexRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<API.Index_Response>\n\n bulk<T extends IndexDefinition>(\n params: BulkRequest<T>,\n options?: TransportRequestOptions\n ): TransportRequestPromise<BulkResponse<T>>\n\n indices: TypedIndices\n}\n\n/**\n * ✅ Constructor type that ensures `new OpenSearchClient()` works.\n * - This type is necessary because `OpenSearchClient` is actually a function (not a class).\n */\ntype OpenSearchClientConstructor = new (\n ...args: ConstructorParameters<typeof Client>\n) => OpenSearchClient\n\n/**\n * ✅ A function that behaves like a class constructor.\n * - Instantiates a new `Client` internally.\n * - Casts the instance to `OpenSearchClient` so TypeScript recognizes the new `search<T>()` signature.\n * - The `as unknown as` trick ensures `new OpenSearchClient()` is valid.\n */\nexport const OpenSearchClient: OpenSearchClientConstructor = function (\n this: Client,\n ...args: ConstructorParameters<typeof Client>\n) {\n const clientInstance = new Client(...args)\n return clientInstance as unknown as OpenSearchClient\n} as unknown as {\n new (...args: ConstructorParameters<typeof Client>): OpenSearchClient\n}\n","import type { Types } from '@opensearch-project/opensearch'\nimport type {\n BulkRequest,\n CreateOperation,\n DeleteOperation,\n IndexOperation,\n UpdateAction,\n UpdateOperation,\n} from './types/bulk'\nimport type { IndexDefinition } from './types/common'\nimport type { DocumentFor } from './types/documents'\n\nexport type IdFunction<T extends IndexDefinition> = (\n doc: DocumentFor<T>\n) => Types.Common.Id\n\n/**\n * Constructs a bulk request payload for indexing documents.\n *\n * For each document in the provided array, this helper creates a two‑line bulk operation:\n * 1. An action object for an index operation. If an id generator is provided, its result is used as _id.\n * 2. The document itself.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to insert.\n * @param idFn - Optional function that returns an _id for a given document.\n * @returns A BulkRequest payload for insert operations.\n */\nexport function bulkIndex<T extends IndexDefinition>(\n index: T['index'],\n docs: DocumentFor<T>[],\n idFn?: IdFunction<T>\n): BulkRequest<T> {\n const body = docs.flatMap((doc) => {\n const op: IndexOperation<T> = idFn ? { _id: idFn(doc) } : {}\n return [{ index: op }, doc]\n })\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for creating documents.\n *\n * For each document in the provided array, this helper creates a two‑line bulk operation:\n * 1. An action object for a create operation with a generated _id.\n * 2. The document itself.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to create.\n * @param idFn - A function that returns a unique _id for each document.\n * @returns A BulkRequest payload for create operations.\n */\nexport function bulkCreate<T extends IndexDefinition>(\n index: T['index'],\n docs: DocumentFor<T>[],\n idFn: IdFunction<T>\n): BulkRequest<T> {\n const body = docs.flatMap((doc) => {\n const op: CreateOperation<T> = { _id: idFn(doc) }\n return [{ create: op }, doc]\n })\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for update operations.\n *\n * This helper takes an array of update actions (of type UpdateAction<T>),\n * splits each into its action metadata and payload (with the `doc` and/or `upsert` properties),\n * and returns a BulkRequest payload formatted as a flat array.\n *\n * @param index - The name of the index.\n * @param updates - An array of update actions.\n * @param idFn - A function that returns a unique _id for each document.\n * @returns A BulkRequest payload for update operations.\n */\nexport function bulkUpdate<T extends IndexDefinition>(\n index: T['index'],\n updates: UpdateAction<T>[],\n idFn: IdFunction<T>\n): BulkRequest<T> {\n const body = updates.flatMap((update) => {\n const op: UpdateOperation<T> = {\n _id: idFn((update.doc as DocumentFor<T>) || update.upsert),\n }\n return [{ update: op }, update]\n })\n\n return { index, body }\n}\n\n/**\n * Constructs a bulk request payload for deleting documents.\n *\n * For each document in the provided array, this helper creates a single‑line bulk operation:\n * { delete: { _id: <id> } }\n * The provided id generator function is used to compute the _id for each document.\n *\n * @param index - The name of the index.\n * @param docs - An array of documents to delete.\n * @param idFn - A function that returns the _id for a given document.\n * @returns A BulkRequest payload for delete operations.\n */\nexport function bulkDelete<T extends IndexDefinition>(\n index: T['index'],\n ids: Types.Common.Id[]\n): BulkRequest<T> {\n const body = ids.map((_id) => {\n const op: DeleteOperation<T> = { _id }\n return { delete: op }\n })\n return { index, body }\n}\n"],"mappings":";AAAA,SAAmB,cAAc;AA8D1B,IAAM,mBAAgD,YAExD,MACH;AACA,QAAM,iBAAiB,IAAI,OAAO,GAAG,IAAI;AACzC,SAAO;AACT;;;ACxCO,SAAS,UACd,OACA,MACA,MACgB;AAChB,QAAM,OAAO,KAAK,QAAQ,CAAC,QAAQ;AACjC,UAAM,KAAwB,OAAO,EAAE,KAAK,KAAK,GAAG,EAAE,IAAI,CAAC;AAC3D,WAAO,CAAC,EAAE,OAAO,GAAG,GAAG,GAAG;AAAA,EAC5B,CAAC;AACD,SAAO,EAAE,OAAO,KAAK;AACvB;AAcO,SAAS,WACd,OACA,MACA,MACgB;AAChB,QAAM,OAAO,KAAK,QAAQ,CAAC,QAAQ;AACjC,UAAM,KAAyB,EAAE,KAAK,KAAK,GAAG,EAAE;AAChD,WAAO,CAAC,EAAE,QAAQ,GAAG,GAAG,GAAG;AAAA,EAC7B,CAAC;AACD,SAAO,EAAE,OAAO,KAAK;AACvB;AAcO,SAAS,WACd,OACA,SACA,MACgB;AAChB,QAAM,OAAO,QAAQ,QAAQ,CAAC,WAAW;AACvC,UAAM,KAAyB;AAAA,MAC7B,KAAK,KAAM,OAAO,OAA0B,OAAO,MAAM;AAAA,IAC3D;AACA,WAAO,CAAC,EAAE,QAAQ,GAAG,GAAG,MAAM;AAAA,EAChC,CAAC;AAED,SAAO,EAAE,OAAO,KAAK;AACvB;AAcO,SAAS,WACd,OACA,KACgB;AAChB,QAAM,OAAO,IAAI,IAAI,CAAC,QAAQ;AAC5B,UAAM,KAAyB,EAAE,IAAI;AACrC,WAAO,EAAE,QAAQ,GAAG;AAAA,EACtB,CAAC;AACD,SAAO,EAAE,OAAO,KAAK;AACvB;","names":[]}
|