@sebspark/opensearch 2.1.0 → 3.0.1
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 -230
- 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,421 +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
|
-
} : never : never : T extends Record<string, Property> ? {
|
|
48
|
-
[K in keyof T]: MapOpenSearchTypes<T[K]>;
|
|
49
|
-
} : 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;
|
|
50
44
|
type MapQueryProperties<T extends IndexDefinition> = T extends {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
};
|
|
45
|
+
body: {
|
|
46
|
+
mappings: {
|
|
47
|
+
properties: infer P;
|
|
55
48
|
};
|
|
49
|
+
};
|
|
56
50
|
} ? MapOpenSearchTypes<P> : never;
|
|
57
51
|
type Indices = Client['indices'];
|
|
58
52
|
type TransportRequestOptions = Parameters<Indices['exists']>[1];
|
|
59
53
|
interface TransportRequestPromise<T> extends Promise<T> {
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
abort: () => void;
|
|
55
|
+
finally(onFinally?: (() => void) | undefined | null): Promise<T>;
|
|
62
56
|
}
|
|
63
57
|
type Sort<T> = SortOptions<T> | SortOptions<T>[];
|
|
64
58
|
type SortOptions<T> = '_score' | '_doc' | {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
59
|
+
_doc?: Types.Common.ScoreSort;
|
|
60
|
+
_geo_distance?: Types.Common.GeoDistanceSort;
|
|
61
|
+
_score?: Types.Common.ScoreSort;
|
|
62
|
+
_script?: Types.Common.ScriptSort;
|
|
69
63
|
} | Record<NestedPaths<T>, Types.Common.FieldSort>;
|
|
70
64
|
type BuiltinKeys = '_id' | '_index';
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/types/documents.d.ts
|
|
67
|
+
type DocumentFor<T extends IndexDefinition> = { [P in keyof T['body']['mappings']['properties']]?: MapOpenSearchTypes<T['body']['mappings']['properties'][P]> };
|
|
68
|
+
//#endregion
|
|
69
|
+
//#region src/types/bulk.d.ts
|
|
76
70
|
type CreateOperation<T extends IndexDefinition> = Omit<WriteOperation<T>, '_id'> & {
|
|
77
|
-
|
|
71
|
+
_id: Types.Common.Id;
|
|
78
72
|
};
|
|
79
73
|
type DeleteOperation<T extends IndexDefinition> = OperationBase<T>;
|
|
80
74
|
type IndexOperation<T extends IndexDefinition> = WriteOperation<T>;
|
|
81
75
|
type UpdateOperation<T extends IndexDefinition> = Omit<Types.Core_Bulk.UpdateOperation, '_index' | '_id'> & {
|
|
82
|
-
|
|
83
|
-
|
|
76
|
+
_id: Types.Common.Id;
|
|
77
|
+
_index?: T['index'];
|
|
84
78
|
};
|
|
85
79
|
type WriteOperation<T extends IndexDefinition> = Omit<Types.Core_Bulk.WriteOperation, '_index'> & {
|
|
86
|
-
|
|
80
|
+
_index?: T['index'];
|
|
87
81
|
};
|
|
88
82
|
type OperationBase<T extends IndexDefinition> = Omit<Types.Core_Bulk.OperationBase, '_index'> & {
|
|
89
|
-
|
|
83
|
+
_index?: T['index'];
|
|
90
84
|
};
|
|
91
85
|
type OperationContainer<T extends IndexDefinition> = {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
86
|
+
create?: CreateOperation<T>;
|
|
87
|
+
delete?: DeleteOperation<T>;
|
|
88
|
+
index?: IndexOperation<T>;
|
|
89
|
+
update?: UpdateOperation<T>;
|
|
96
90
|
};
|
|
97
91
|
type UpdateAction<T extends IndexDefinition> = Omit<Types.Core_Bulk.UpdateAction, 'doc' | 'upsert'> & ({
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
doc: DeepPartial<DocumentFor<T>>;
|
|
93
|
+
upsert?: DocumentFor<T>;
|
|
100
94
|
} | {
|
|
101
|
-
|
|
102
|
-
|
|
95
|
+
doc?: DeepPartial<DocumentFor<T>>;
|
|
96
|
+
upsert: DocumentFor<T>;
|
|
103
97
|
});
|
|
104
98
|
type BulkRequest<T extends IndexDefinition> = Omit<API.Bulk_Request, 'index' | 'body' | '_source_excludes' | '_source_includes'> & {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
99
|
+
index: T['index'];
|
|
100
|
+
body: BulkRequestBody<T>;
|
|
101
|
+
_source_excludes?: NestedLeafPaths<T> | Types.Common.Fields;
|
|
102
|
+
_source_includes?: NestedLeafPaths<T> | Types.Common.Fields;
|
|
109
103
|
};
|
|
110
104
|
type BulkRequestBody<T extends IndexDefinition> = (OperationContainer<T> | UpdateAction<T> | DocumentFor<T>)[];
|
|
111
105
|
type ResponseItem<T extends IndexDefinition> = Omit<Types.Core_Bulk.ResponseItem, '_index'> & {
|
|
112
|
-
|
|
106
|
+
_index: T['index'];
|
|
113
107
|
};
|
|
114
108
|
type CustomOperation = string;
|
|
115
109
|
type BulkOperation = 'index' | 'update' | 'delete' | 'create' | CustomOperation;
|
|
116
110
|
type BulkResponseBody<T extends IndexDefinition> = Omit<API.Bulk_ResponseBody, 'items'> & {
|
|
117
|
-
|
|
111
|
+
items: Record<BulkOperation, ResponseItem<T>>[];
|
|
118
112
|
};
|
|
119
113
|
type BulkResponse<T extends IndexDefinition> = Omit<API.Bulk_ResponseBody, 'body'> & {
|
|
120
|
-
|
|
114
|
+
body: BulkResponseBody<T>;
|
|
121
115
|
};
|
|
122
|
-
|
|
116
|
+
//#endregion
|
|
117
|
+
//#region src/types/queries.d.ts
|
|
123
118
|
type BoolQuery<T> = Omit<Types.Common_QueryDsl.BoolQuery, 'must' | 'should' | 'filter' | 'must_not'> & {
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
119
|
+
must?: QueryContainer<T>[];
|
|
120
|
+
should?: QueryContainer<T>[];
|
|
121
|
+
filter?: QueryContainer<T>[];
|
|
122
|
+
must_not?: QueryContainer<T>[];
|
|
128
123
|
};
|
|
129
124
|
type BoostingQuery<T> = Omit<Types.Common_QueryDsl.BoostingQuery, 'positive' | 'negative'> & {
|
|
130
|
-
|
|
131
|
-
|
|
125
|
+
positive: QueryContainer<T>;
|
|
126
|
+
negative: QueryContainer<T>;
|
|
132
127
|
};
|
|
133
128
|
type CombinedFieldsQuery<T> = Omit<Types.Common_QueryDsl.CombinedFieldsQuery, 'fields'> & {
|
|
134
|
-
|
|
129
|
+
fields: NestedPaths<T>[];
|
|
135
130
|
};
|
|
136
131
|
type CommonTermsQuery = Types.Common_QueryDsl.CommonTermsQuery;
|
|
137
132
|
type ConstantScoreQuery<T> = Omit<Types.Common_QueryDsl.ConstantScoreQuery, 'filter'> & {
|
|
138
|
-
|
|
133
|
+
filter: QueryContainer<T>;
|
|
139
134
|
};
|
|
140
135
|
type DecayFunction = Types.Common_QueryDsl.DecayFunction;
|
|
141
136
|
type DecayFunctionBase = Types.Common_QueryDsl.DecayFunctionBase;
|
|
142
137
|
type DisMaxQuery<T> = Omit<Types.Common_QueryDsl.DisMaxQuery, 'queries'> & {
|
|
143
|
-
|
|
138
|
+
queries: QueryContainer<T>[];
|
|
144
139
|
};
|
|
145
140
|
type DistanceFeatureQuery<T> = Omit<Types.Common_QueryDsl.DistanceFeatureQuery, 'field'> & {
|
|
146
|
-
|
|
141
|
+
field: NestedPaths<T>;
|
|
147
142
|
};
|
|
148
143
|
type ExistsQuery<T> = Omit<Types.Common_QueryDsl.ExistsQuery, 'field'> & {
|
|
149
|
-
|
|
144
|
+
field: NestedPaths<T>;
|
|
150
145
|
};
|
|
151
146
|
type FieldAndFormat<T> = Omit<Types.Common_QueryDsl.FieldAndFormat, 'field'> & {
|
|
152
|
-
|
|
147
|
+
field: NestedPaths<T>;
|
|
153
148
|
};
|
|
154
|
-
type FieldQuery<T, K> = Partial<Record<NestedLeafPaths<T> | BuiltinKeys, K>>;
|
|
149
|
+
type FieldQuery<T, K$1> = Partial<Record<NestedLeafPaths<T> | BuiltinKeys, K$1>>;
|
|
155
150
|
type FieldValueFactorScoreFunction<T> = Omit<Types.Common_QueryDsl.FieldValueFactorScoreFunction, 'field'> & {
|
|
156
|
-
|
|
151
|
+
field: NestedPaths<T>;
|
|
157
152
|
};
|
|
158
153
|
type FunctionBoostMode = Types.Common_QueryDsl.FunctionBoostMode;
|
|
159
154
|
type FunctionScoreQuery<T> = Omit<Types.Common_QueryDsl.FunctionScoreQuery, 'query'> & {
|
|
160
|
-
|
|
155
|
+
query?: QueryContainer<T> | undefined;
|
|
161
156
|
};
|
|
162
157
|
type FuzzyQuery = Types.Common_QueryDsl.FuzzyQuery;
|
|
163
158
|
type GeoBoundingBoxQuery = Types.Common_QueryDsl.GeoBoundingBoxQuery;
|
|
164
159
|
type GeoDistanceQuery = Types.Common_QueryDsl.GeoDistanceQuery;
|
|
165
160
|
type GeoExecution = Types.Common_QueryDsl.GeoExecution;
|
|
166
161
|
type GeoPolygonQuery<T> = Omit<Types.Common_QueryDsl.GeoPolygonQuery, 'field'> & {
|
|
167
|
-
|
|
162
|
+
field: NestedPaths<T>;
|
|
168
163
|
};
|
|
169
164
|
type GeoShapeQuery<T> = Omit<Types.Common_QueryDsl.GeoShapeQuery, 'ignore_unmapped' | 'field'> & {
|
|
170
|
-
|
|
165
|
+
field: NestedPaths<T>;
|
|
171
166
|
};
|
|
172
167
|
type GeoValidationMethod = Types.Common_QueryDsl.GeoValidationMethod;
|
|
173
168
|
type HasChildQuery<T> = Omit<Types.Common_QueryDsl.HasChildQuery, 'query'> & {
|
|
174
|
-
|
|
169
|
+
query: QueryContainer<T>;
|
|
175
170
|
};
|
|
176
171
|
type HasParentQuery<T> = Omit<Types.Common_QueryDsl.HasParentQuery, 'query'> & {
|
|
177
|
-
|
|
172
|
+
query: QueryContainer<T>;
|
|
178
173
|
};
|
|
179
174
|
type HybridQuery<T> = Omit<Types.Common_QueryDsl.HybridQuery, 'queries'> & {
|
|
180
|
-
|
|
175
|
+
queries?: QueryContainer<T>[];
|
|
181
176
|
};
|
|
182
177
|
type IdsQuery = Types.Common_QueryDsl.IdsQuery;
|
|
183
178
|
type IntervalsQuery = Types.Common_QueryDsl.IntervalsQuery;
|
|
184
179
|
type KnnQuery<T> = Omit<Types.Common_QueryDsl.KnnQuery, 'filter'> & {
|
|
185
|
-
|
|
180
|
+
filter?: QueryContainer<T>[];
|
|
186
181
|
};
|
|
187
182
|
type Like = Types.Common_QueryDsl.Like;
|
|
188
183
|
type LikeDocument = Types.Common_QueryDsl.LikeDocument;
|
|
189
184
|
type MatchAllQuery = Types.Common_QueryDsl.MatchAllQuery;
|
|
190
185
|
type MatchBoolPrefixQuery<T> = Omit<Types.Common_QueryDsl.MatchBoolPrefixQuery, 'query' | 'fields'> & {
|
|
191
|
-
|
|
192
|
-
|
|
186
|
+
fields: NestedPaths<T>[];
|
|
187
|
+
query: string;
|
|
193
188
|
};
|
|
194
189
|
type MatchNoneQuery = Types.Common_QueryDsl.MatchNoneQuery;
|
|
195
190
|
type MatchPhrasePrefixQuery<T> = Omit<Types.Common_QueryDsl.MatchPhrasePrefixQuery, 'query' | 'field'> & {
|
|
196
|
-
|
|
197
|
-
|
|
191
|
+
field: NestedPaths<T>;
|
|
192
|
+
query: string;
|
|
198
193
|
};
|
|
199
194
|
type MatchPhraseQuery<T> = Omit<Types.Common_QueryDsl.MatchPhraseQuery, 'query' | 'field'> & {
|
|
200
|
-
|
|
201
|
-
|
|
195
|
+
field: NestedPaths<T>;
|
|
196
|
+
query: string;
|
|
202
197
|
};
|
|
203
198
|
type MatchQuery = FieldValue | Types.Common_QueryDsl.MatchQuery;
|
|
204
199
|
type MoreLikeThisQuery<T> = Omit<Types.Common_QueryDsl.MoreLikeThisQuery, 'fields'> & {
|
|
205
|
-
|
|
200
|
+
fields?: NestedPaths<T>[];
|
|
206
201
|
};
|
|
207
202
|
type MultiMatchQuery<T> = Omit<Types.Common_QueryDsl.MultiMatchQuery, 'fields'> & {
|
|
208
|
-
|
|
203
|
+
fields?: NestedPaths<T>[];
|
|
209
204
|
};
|
|
210
205
|
type NestedQuery<T> = Omit<Types.Common_QueryDsl.NestedQuery, 'query' | 'path'> & {
|
|
211
|
-
|
|
212
|
-
|
|
206
|
+
path: NestedPaths<T>;
|
|
207
|
+
query: QueryContainer<T>;
|
|
213
208
|
};
|
|
214
209
|
type NeuralQuery<T> = Omit<Types.Common_QueryDsl.NeuralQuery, 'filter'> & {
|
|
215
|
-
|
|
210
|
+
filter?: QueryContainer<T>;
|
|
216
211
|
};
|
|
217
212
|
type NumberRangeQueryParameters<T> = Omit<Types.Common_QueryDsl.NumberRangeQueryParameters, 'field'> & {
|
|
218
|
-
|
|
213
|
+
field: NestedPaths<T>;
|
|
219
214
|
};
|
|
220
215
|
type ParentIdQuery = Types.Common_QueryDsl.ParentIdQuery;
|
|
221
216
|
type PercolateQuery<T> = Omit<Types.Common_QueryDsl.PercolateQuery, 'field'> & {
|
|
222
|
-
|
|
217
|
+
field: NestedPaths<T>;
|
|
223
218
|
};
|
|
224
219
|
type PinnedQuery = Types.Common_QueryDsl.PinnedQuery;
|
|
225
220
|
type PrefixQuery<T> = Omit<Types.Common_QueryDsl.PrefixQuery, 'value' | 'field'> & {
|
|
226
|
-
|
|
227
|
-
|
|
221
|
+
field: NestedPaths<T>;
|
|
222
|
+
value: MapOpenSearchTypes<T>;
|
|
228
223
|
};
|
|
229
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'> & {
|
|
230
|
-
|
|
231
|
-
|
|
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
|
-
|
|
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>;
|
|
286
281
|
};
|
|
287
282
|
type QueryStringQuery = Types.Common_QueryDsl.QueryStringQuery;
|
|
288
283
|
type RangeQuery<T> = Omit<Types.Common_QueryDsl.RangeQuery, 'field'> & {
|
|
289
|
-
|
|
284
|
+
field: NestedPaths<T>;
|
|
290
285
|
};
|
|
291
286
|
type RankFeatureQuery = Types.Common_QueryDsl.RankFeatureQuery;
|
|
292
287
|
type RegexpQuery<T> = Omit<Types.Common_QueryDsl.RegexpQuery, 'value' | 'field'> & {
|
|
293
|
-
|
|
294
|
-
|
|
288
|
+
field: NestedPaths<T>;
|
|
289
|
+
value: MapOpenSearchTypes<T>;
|
|
295
290
|
};
|
|
296
291
|
type ScriptQuery = Types.Common_QueryDsl.ScriptQuery;
|
|
297
292
|
type ScriptScoreQuery<T> = Omit<Types.Common_QueryDsl.ScriptScoreQuery, 'query'> & {
|
|
298
|
-
|
|
293
|
+
query?: QueryContainer<T>;
|
|
299
294
|
};
|
|
300
295
|
type SimpleQueryStringQuery<T> = Omit<Types.Common_QueryDsl.SimpleQueryStringQuery, 'fields'> & {
|
|
301
|
-
|
|
296
|
+
fields: NestedLeafPaths<T>[];
|
|
302
297
|
};
|
|
303
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'> & {
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
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>;
|
|
313
308
|
};
|
|
314
309
|
type SpanContainingQuery<T> = Omit<Types.Common_QueryDsl.SpanContainingQuery, 'big' | 'little'> & {
|
|
315
|
-
|
|
316
|
-
|
|
310
|
+
big: SpanQuery<T>;
|
|
311
|
+
little: SpanQuery<T>;
|
|
317
312
|
};
|
|
318
313
|
type SpanFieldMaskingQuery<T> = Omit<Types.Common_QueryDsl.SpanFieldMaskingQuery, 'field' | 'query'> & {
|
|
319
|
-
|
|
320
|
-
|
|
314
|
+
field: NestedPaths<T>;
|
|
315
|
+
query: SpanQuery<T>;
|
|
321
316
|
};
|
|
322
317
|
type SpanFirstQuery<T> = Omit<Types.Common_QueryDsl.SpanFirstQuery, 'match'> & {
|
|
323
|
-
|
|
318
|
+
match: SpanQuery<T>;
|
|
324
319
|
};
|
|
325
320
|
type SpanMultiTermQuery<T> = Omit<Types.Common_QueryDsl.SpanMultiTermQuery, 'match'> & {
|
|
326
|
-
|
|
321
|
+
match: QueryContainer<T>;
|
|
327
322
|
};
|
|
328
323
|
type SpanNearQuery<T> = Omit<Types.Common_QueryDsl.SpanNearQuery, 'clauses'> & {
|
|
329
|
-
|
|
324
|
+
clauses: SpanQuery<T>[];
|
|
330
325
|
};
|
|
331
326
|
type SpanNotQuery<T> = Omit<Types.Common_QueryDsl.SpanNotQuery, 'include' | 'exclude'> & {
|
|
332
|
-
|
|
333
|
-
|
|
327
|
+
include: SpanQuery<T>;
|
|
328
|
+
exclude: SpanQuery<T>;
|
|
334
329
|
};
|
|
335
330
|
type SpanOrQuery<T> = Omit<Types.Common_QueryDsl.SpanOrQuery, 'clauses'> & {
|
|
336
|
-
|
|
331
|
+
clauses: SpanQuery<T>[];
|
|
337
332
|
};
|
|
338
333
|
type SpanTermQuery<T> = Omit<Types.Common_QueryDsl.SpanTermQuery, 'value' | 'field'> & {
|
|
339
|
-
|
|
340
|
-
|
|
334
|
+
field: NestedPaths<T>;
|
|
335
|
+
value: MapOpenSearchTypes<T>;
|
|
341
336
|
};
|
|
342
337
|
type SpanWithinQuery<T> = Omit<Types.Common_QueryDsl.SpanWithinQuery, 'big' | 'little'> & {
|
|
343
|
-
|
|
344
|
-
|
|
338
|
+
big: SpanQuery<T>;
|
|
339
|
+
little: SpanQuery<T>;
|
|
345
340
|
};
|
|
346
341
|
type TermQuery<T> = Omit<Types.Common_QueryDsl.TermQuery, 'value' | 'field'> & {
|
|
347
|
-
|
|
348
|
-
|
|
342
|
+
field: NestedPaths<T>;
|
|
343
|
+
value: MapOpenSearchTypes<T>;
|
|
349
344
|
};
|
|
350
345
|
type TermsQuery<T> = Omit<Types.Common_QueryDsl.TermsQuery, 'terms' | 'field'> & {
|
|
351
|
-
|
|
352
|
-
|
|
346
|
+
field: NestedPaths<T>;
|
|
347
|
+
terms: FieldValue[];
|
|
353
348
|
};
|
|
354
349
|
type TermsSetQuery<T> = Omit<Types.Common_QueryDsl.TermsSetQuery, 'terms' | 'field'> & {
|
|
355
|
-
|
|
356
|
-
|
|
350
|
+
field: NestedPaths<T>;
|
|
351
|
+
terms: FieldValue[];
|
|
357
352
|
};
|
|
358
353
|
type TypeQuery = Types.Common_QueryDsl.TypeQuery;
|
|
359
354
|
type WildcardQuery<T> = Omit<Types.Common_QueryDsl.WildcardQuery, 'value' | 'field'> & {
|
|
360
|
-
|
|
361
|
-
|
|
355
|
+
field: NestedPaths<T>;
|
|
356
|
+
value: MapOpenSearchTypes<T>;
|
|
362
357
|
};
|
|
363
358
|
type WrapperQuery = Types.Common_QueryDsl.WrapperQuery;
|
|
364
359
|
type XyShapeQuery<T> = Omit<Types.Common_QueryDsl.XyShapeQuery, 'field'> & {
|
|
365
|
-
|
|
360
|
+
field: NestedPaths<T>;
|
|
366
361
|
};
|
|
367
|
-
|
|
362
|
+
//#endregion
|
|
363
|
+
//#region src/types/core_search.d.ts
|
|
368
364
|
type FieldCollapse<T> = Omit<Types.Core_Search.FieldCollapse, 'field'> & {
|
|
369
|
-
|
|
365
|
+
field: NestedPaths<T>;
|
|
370
366
|
};
|
|
371
367
|
type Highlight<T> = Omit<Types.Core_Search.Highlight, 'fields'> & {
|
|
372
|
-
|
|
368
|
+
fields: FieldQuery<T, Types.Core_Search.HighlightField>;
|
|
373
369
|
};
|
|
374
370
|
type Hit<T extends IndexDefinition> = Omit<Types.Core_Search.Hit, '_source'> & {
|
|
375
|
-
|
|
371
|
+
_source: DocumentFor<T>;
|
|
376
372
|
};
|
|
377
373
|
type HitsMetadata<T extends IndexDefinition> = Omit<Types.Core_Search.HitsMetadata, 'hits'> & {
|
|
378
|
-
|
|
374
|
+
hits: Hit<T>[];
|
|
379
375
|
};
|
|
380
376
|
type SourceConfig<T> = boolean | SourceFilter<T>;
|
|
381
377
|
type SourceFilter<T> = NestedPaths<T>[] | {
|
|
382
|
-
|
|
383
|
-
|
|
378
|
+
excludes?: NestedPaths<T>[];
|
|
379
|
+
includes?: NestedPaths<T>[];
|
|
384
380
|
};
|
|
385
|
-
|
|
381
|
+
//#endregion
|
|
382
|
+
//#region src/types/search.d.ts
|
|
386
383
|
type SearchRequest<T extends IndexDefinition> = Omit<API.Search_Request, 'body' | 'index'> & {
|
|
387
|
-
|
|
388
|
-
|
|
384
|
+
index: T['index'];
|
|
385
|
+
body: SearchRequestBody<T>;
|
|
389
386
|
};
|
|
390
387
|
type SearchRequestBody<T extends IndexDefinition> = Omit<API.Search_RequestBody, 'query' | 'collapse' | 'highlight' | 'sort' | '_source'> & {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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>>;
|
|
396
393
|
};
|
|
397
394
|
type SearchResponse<T extends IndexDefinition> = Omit<API.Search_Response, 'body'> & {
|
|
398
|
-
|
|
395
|
+
body: SearchResponseBody<T>;
|
|
399
396
|
};
|
|
400
397
|
type SearchResponseBody<T extends IndexDefinition> = Omit<API.Search_ResponseBody, 'hits'> & {
|
|
401
|
-
|
|
398
|
+
hits: HitsMetadata<T>;
|
|
402
399
|
};
|
|
403
|
-
|
|
400
|
+
//#endregion
|
|
401
|
+
//#region src/types/indx.d.ts
|
|
404
402
|
interface IndexRequest<T> extends Omit<API.Index_Request, 'body' | 'index'> {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
}
|
|
416
|
-
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;
|
|
417
413
|
}
|
|
414
|
+
interface IndexResponse extends API.Index_Response {}
|
|
418
415
|
type IndicesExistsRequest<T extends IndexDefinition> = Omit<API.Indices_Exists_Request, 'index'> & {
|
|
419
|
-
|
|
416
|
+
index: Extract<T['index'], string>;
|
|
420
417
|
};
|
|
421
|
-
|
|
418
|
+
//#endregion
|
|
419
|
+
//#region src/client.d.ts
|
|
422
420
|
type TypedIndices = Omit<Indices, 'exists'> & {
|
|
423
|
-
|
|
421
|
+
exists<T extends IndexDefinition>(params: IndicesExistsRequest<T>, options?: TransportRequestOptions): TransportRequestPromise<API.Indices_Exists_Response>;
|
|
424
422
|
};
|
|
425
|
-
/**
|
|
426
|
-
* ✅ Constructor type that ensures `new OpenSearchClient()` works.
|
|
427
|
-
* - This type is necessary because `OpenSearchClient` is actually a function (not a class).
|
|
428
|
-
*/
|
|
429
|
-
type OpenSearchClientConstructor = new (...args: ConstructorParameters<typeof Client>) => OpenSearchClient;
|
|
430
423
|
/**
|
|
431
424
|
* ✅ Custom interface that extends `Client`, but replaces the `search()` method signature.
|
|
432
425
|
* - Uses `Omit<Client, "search">` to remove `search()` from `Client`.
|
|
433
426
|
* - Defines a new `search<T>()` method with stricter type safety.
|
|
434
427
|
*/
|
|
435
428
|
interface OpenSearchClient extends Omit<Client, 'search' | 'index' | 'bulk' | 'indices'> {
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
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;
|
|
440
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;
|
|
441
439
|
/**
|
|
442
440
|
* ✅ A function that behaves like a class constructor.
|
|
443
441
|
* - Instantiates a new `Client` internally.
|
|
@@ -445,7 +443,8 @@ interface OpenSearchClient extends Omit<Client, 'search' | 'index' | 'bulk' | 'i
|
|
|
445
443
|
* - The `as unknown as` trick ensures `new OpenSearchClient()` is valid.
|
|
446
444
|
*/
|
|
447
445
|
declare const OpenSearchClient: OpenSearchClientConstructor;
|
|
448
|
-
|
|
446
|
+
//#endregion
|
|
447
|
+
//#region src/helpers.d.ts
|
|
449
448
|
type IdFunction<T extends IndexDefinition> = (doc: DocumentFor<T>) => Types.Common.Id;
|
|
450
449
|
/**
|
|
451
450
|
* Constructs a bulk request payload for indexing documents.
|
|
@@ -499,5 +498,6 @@ declare function bulkUpdate<T extends IndexDefinition>(index: T['index'], update
|
|
|
499
498
|
* @returns A BulkRequest payload for delete operations.
|
|
500
499
|
*/
|
|
501
500
|
declare function bulkDelete<T extends IndexDefinition>(index: T['index'], ids: Types.Common.Id[]): BulkRequest<T>;
|
|
502
|
-
|
|
503
|
-
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;EADa,MAAA,CAAA,EEgT1C,WFhT0C,CEgT9B,CFhT8B,CAAA;EAAkB,GAAA,CAAA,EEiT/D,QFjT+D;cEkTzD,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
|
+
"version": "3.0.1",
|
|
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":[]}
|