elasticlink 0.4.1-beta → 0.5.0-beta
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/README.md +98 -23
- package/dist/bulk.builder.d.ts +3 -123
- package/dist/bulk.builder.d.ts.map +1 -1
- package/dist/field.helpers.d.ts +45 -3
- package/dist/field.helpers.d.ts.map +1 -1
- package/dist/field.helpers.js +50 -9
- package/dist/field.types.d.ts +18 -1
- package/dist/field.types.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/mapping.builder.d.ts +15 -6
- package/dist/mapping.builder.d.ts.map +1 -1
- package/dist/mapping.builder.js +1 -0
- package/dist/mapping.types.d.ts +44 -12
- package/dist/mapping.types.d.ts.map +1 -1
- package/dist/query.builder.d.ts.map +1 -1
- package/dist/query.builder.js +64 -64
- package/dist/query.types.d.ts +57 -5
- package/dist/query.types.d.ts.map +1 -1
- package/package.json +1 -2
package/README.md
CHANGED
|
@@ -134,23 +134,25 @@ query(productMappings)
|
|
|
134
134
|
|
|
135
135
|
### Conditional Building
|
|
136
136
|
|
|
137
|
-
Build queries dynamically based on runtime values
|
|
137
|
+
Build queries dynamically based on runtime values. `.when(condition, fn)` — the chain is never broken. When the condition is falsy, the builder is returned unchanged, so no extra clauses or arrays are added. If you already called `.bool()`, that empty wrapper is preserved.
|
|
138
|
+
|
|
139
|
+
`condition` resolves as: functions are called, booleans are used as-is, and any other value uses a nullish check (`!= null`) — so numeric `0` and empty string `''` are treated as truthy.
|
|
138
140
|
|
|
139
141
|
```typescript
|
|
140
|
-
const searchTerm =
|
|
141
|
-
const minPrice =
|
|
142
|
+
const searchTerm: string | undefined = param.searchTerm;
|
|
143
|
+
const minPrice: number | undefined = param.minPrice;
|
|
142
144
|
|
|
143
145
|
query(productMappings)
|
|
144
146
|
.bool()
|
|
145
|
-
.
|
|
146
|
-
|
|
147
|
-
)
|
|
148
|
-
.filter(q =>
|
|
149
|
-
q.when(minPrice, q => q.range('price', { gte: minPrice })) || q.matchAll()
|
|
150
|
-
)
|
|
147
|
+
.when(searchTerm, q => q.must(q2 => q2.match('name', searchTerm!)))
|
|
148
|
+
.when(minPrice, q => q.filter(q2 => q2.range('price', { gte: minPrice! })))
|
|
151
149
|
.build();
|
|
152
150
|
```
|
|
153
151
|
|
|
152
|
+
> **Note:** TypeScript cannot narrow closure variables inside callbacks. Even though `.when(searchTerm, fn)` guarantees the value is defined inside `fn`, you still need a non-null assertion (`!`) to satisfy the type checker.
|
|
153
|
+
>
|
|
154
|
+
> **Note:** When the condition is false, any already-introduced `.bool()` wrapper is preserved. A `.bool().when(false, fn)` chain produces `{ query: { bool: {} } }` — not an error, just an empty bool clause.
|
|
155
|
+
|
|
154
156
|
### Query Parameters
|
|
155
157
|
|
|
156
158
|
```typescript
|
|
@@ -602,6 +604,89 @@ Produces:
|
|
|
602
604
|
}
|
|
603
605
|
```
|
|
604
606
|
|
|
607
|
+
#### Object and Nested Fields
|
|
608
|
+
|
|
609
|
+
Use `object()` for structured sub-documents queried with dot-notation — the common case for addresses, names, and similar JSON-like objects. Use `nested()` for arrays of objects where cross-field queries within the same element must be accurate.
|
|
610
|
+
|
|
611
|
+
```typescript
|
|
612
|
+
import { mappings, text, keyword, float, integer, boolean, object, nested, type Infer } from 'elasticlink';
|
|
613
|
+
|
|
614
|
+
const productMappings = mappings({
|
|
615
|
+
name: text(),
|
|
616
|
+
in_stock: boolean(),
|
|
617
|
+
|
|
618
|
+
// object() — single structured value, queried with dot-notation (no wrapper needed)
|
|
619
|
+
address: object({
|
|
620
|
+
street: text(),
|
|
621
|
+
city: keyword(),
|
|
622
|
+
country: keyword(),
|
|
623
|
+
}),
|
|
624
|
+
|
|
625
|
+
// nested() — array of objects; cross-field queries require the .nested() wrapper
|
|
626
|
+
variants: nested({
|
|
627
|
+
sku: keyword(),
|
|
628
|
+
color: keyword(),
|
|
629
|
+
price: float(),
|
|
630
|
+
stock: integer(),
|
|
631
|
+
}),
|
|
632
|
+
});
|
|
633
|
+
|
|
634
|
+
// Infer<> produces the correct nested TypeScript types:
|
|
635
|
+
type Product = Infer<typeof productMappings>;
|
|
636
|
+
// {
|
|
637
|
+
// name: string;
|
|
638
|
+
// in_stock: boolean;
|
|
639
|
+
// address: { street: string; city: string; country: string };
|
|
640
|
+
// variants: Array<{ sku: string; color: string; price: number; stock: number }>;
|
|
641
|
+
// }
|
|
642
|
+
|
|
643
|
+
// object sub-fields — query with dot-notation directly
|
|
644
|
+
query(productMappings)
|
|
645
|
+
.bool()
|
|
646
|
+
.filter(q => q.term('address.country', 'US')) // ✅ 'address.country' is a keyword field
|
|
647
|
+
.filter(q => q.match('address.street', 'Main')) // ✅ 'address.street' is a text field
|
|
648
|
+
.build();
|
|
649
|
+
|
|
650
|
+
// nested sub-fields — must use .nested() wrapper; inner builder is fully typed
|
|
651
|
+
query(productMappings)
|
|
652
|
+
.nested('variants', q => q.term('color', 'black')) // ✅ 'color' is typed as keyword
|
|
653
|
+
.build();
|
|
654
|
+
|
|
655
|
+
query(productMappings)
|
|
656
|
+
.nested('variants', q => q.range('price', { lte: 150 }), { score_mode: 'min' })
|
|
657
|
+
.build();
|
|
658
|
+
```
|
|
659
|
+
|
|
660
|
+
> **Inner field names are relative.** Inside a `.nested()` callback, you write field names relative to the nested path (e.g. `'color'`, not `'variants.color'`). The library automatically qualifies them to the correct full path in the generated DSL.
|
|
661
|
+
|
|
662
|
+
Object and nested fields can be composed to any depth. A 2-level deep mapping works the same way:
|
|
663
|
+
|
|
664
|
+
```typescript
|
|
665
|
+
const orderMappings = mappings({
|
|
666
|
+
title: text(),
|
|
667
|
+
shipments: nested({
|
|
668
|
+
tracking: keyword(),
|
|
669
|
+
address: object({ // object() inside nested()
|
|
670
|
+
city: keyword(),
|
|
671
|
+
country: keyword(),
|
|
672
|
+
}),
|
|
673
|
+
}),
|
|
674
|
+
});
|
|
675
|
+
|
|
676
|
+
// Root-level fields are queried directly
|
|
677
|
+
query(orderMappings)
|
|
678
|
+
.term('title', 'urgent')
|
|
679
|
+
.build();
|
|
680
|
+
|
|
681
|
+
// Nested sub-fields use .nested(); dot-notation inside is relative to the nested path
|
|
682
|
+
query(orderMappings)
|
|
683
|
+
.nested('shipments', q => q.term('address.city', 'London')) // ✅ 'address.city' relative to 'shipments'
|
|
684
|
+
.build();
|
|
685
|
+
```
|
|
686
|
+
|
|
687
|
+
> **Why the difference?**
|
|
688
|
+
> `object` fields are stored inline in the parent document — Elasticsearch flattens their sub-fields and you query them directly. `nested` fields are stored as separate hidden documents to preserve the relationship between sub-fields within each array element. Without the `.nested()` wrapper, a query like `color=black AND price<50` could incorrectly match a product where different variants have those values.
|
|
689
|
+
|
|
605
690
|
**Field Helpers** (shorthand for common field types):
|
|
606
691
|
|
|
607
692
|
```typescript
|
|
@@ -967,20 +1052,10 @@ Produces:
|
|
|
967
1052
|
const buildDynamicQuery = (filters: SearchFilters) => {
|
|
968
1053
|
return query(productMappings)
|
|
969
1054
|
.bool()
|
|
970
|
-
.
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
)
|
|
975
|
-
.filter(q =>
|
|
976
|
-
q.when(filters.minPrice && filters.maxPrice,
|
|
977
|
-
q => q.range('price', { gte: filters.minPrice, lte: filters.maxPrice })
|
|
978
|
-
) || q.matchAll()
|
|
979
|
-
)
|
|
980
|
-
.filter(q =>
|
|
981
|
-
q.when(filters.category,
|
|
982
|
-
q => q.term('category', filters.category)
|
|
983
|
-
) || q.matchAll()
|
|
1055
|
+
.when(filters.searchTerm, q => q.must(q2 => q2.match('name', filters.searchTerm!, { boost: 2 })))
|
|
1056
|
+
.when(filters.category, q => q.filter(q2 => q2.term('category', filters.category!)))
|
|
1057
|
+
.when(filters.minPrice != null && filters.maxPrice != null,
|
|
1058
|
+
q => q.filter(q2 => q2.range('price', { gte: filters.minPrice!, lte: filters.maxPrice! }))
|
|
984
1059
|
)
|
|
985
1060
|
.from(filters.offset || 0)
|
|
986
1061
|
.size(filters.limit || 20)
|
package/dist/bulk.builder.d.ts
CHANGED
|
@@ -22,127 +22,7 @@ export declare const createBulkBuilder: <T>(operations?: any[]) => BulkBuilder<T
|
|
|
22
22
|
* .delete({ _index: 'products', _id: '4' })
|
|
23
23
|
* .build(); // POST to /_bulk with Content-Type: application/x-ndjson
|
|
24
24
|
*/
|
|
25
|
-
export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema: MappingsSchema<M>) => BulkBuilder<{
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
keyword: string;
|
|
29
|
-
constant_keyword: string;
|
|
30
|
-
wildcard: string;
|
|
31
|
-
long: number;
|
|
32
|
-
integer: number;
|
|
33
|
-
short: number;
|
|
34
|
-
byte: number;
|
|
35
|
-
float: number;
|
|
36
|
-
double: number;
|
|
37
|
-
half_float: number;
|
|
38
|
-
scaled_float: number;
|
|
39
|
-
date: string;
|
|
40
|
-
boolean: boolean;
|
|
41
|
-
binary: string;
|
|
42
|
-
ip: string;
|
|
43
|
-
geo_point: {
|
|
44
|
-
lat: number;
|
|
45
|
-
lon: number;
|
|
46
|
-
};
|
|
47
|
-
geo_shape: Record<string, unknown>;
|
|
48
|
-
dense_vector: number[];
|
|
49
|
-
completion: string;
|
|
50
|
-
search_as_you_type: string;
|
|
51
|
-
nested: unknown;
|
|
52
|
-
object: unknown;
|
|
53
|
-
flattened: Record<string, unknown>;
|
|
54
|
-
alias: unknown;
|
|
55
|
-
percolator: unknown;
|
|
56
|
-
integer_range: {
|
|
57
|
-
gte?: number;
|
|
58
|
-
lte?: number;
|
|
59
|
-
gt?: number;
|
|
60
|
-
lt?: number;
|
|
61
|
-
};
|
|
62
|
-
float_range: {
|
|
63
|
-
gte?: number;
|
|
64
|
-
lte?: number;
|
|
65
|
-
gt?: number;
|
|
66
|
-
lt?: number;
|
|
67
|
-
};
|
|
68
|
-
long_range: {
|
|
69
|
-
gte?: number;
|
|
70
|
-
lte?: number;
|
|
71
|
-
gt?: number;
|
|
72
|
-
lt?: number;
|
|
73
|
-
};
|
|
74
|
-
double_range: {
|
|
75
|
-
gte?: number;
|
|
76
|
-
lte?: number;
|
|
77
|
-
gt?: number;
|
|
78
|
-
lt?: number;
|
|
79
|
-
};
|
|
80
|
-
date_range: {
|
|
81
|
-
gte?: string;
|
|
82
|
-
lte?: string;
|
|
83
|
-
gt?: string;
|
|
84
|
-
lt?: string;
|
|
85
|
-
};
|
|
86
|
-
} ? {
|
|
87
|
-
text: string;
|
|
88
|
-
match_only_text: string;
|
|
89
|
-
keyword: string;
|
|
90
|
-
constant_keyword: string;
|
|
91
|
-
wildcard: string;
|
|
92
|
-
long: number;
|
|
93
|
-
integer: number;
|
|
94
|
-
short: number;
|
|
95
|
-
byte: number;
|
|
96
|
-
float: number;
|
|
97
|
-
double: number;
|
|
98
|
-
half_float: number;
|
|
99
|
-
scaled_float: number;
|
|
100
|
-
date: string;
|
|
101
|
-
boolean: boolean;
|
|
102
|
-
binary: string;
|
|
103
|
-
ip: string;
|
|
104
|
-
geo_point: {
|
|
105
|
-
lat: number;
|
|
106
|
-
lon: number;
|
|
107
|
-
};
|
|
108
|
-
geo_shape: Record<string, unknown>;
|
|
109
|
-
dense_vector: number[];
|
|
110
|
-
completion: string;
|
|
111
|
-
search_as_you_type: string;
|
|
112
|
-
nested: unknown;
|
|
113
|
-
object: unknown;
|
|
114
|
-
flattened: Record<string, unknown>;
|
|
115
|
-
alias: unknown;
|
|
116
|
-
percolator: unknown;
|
|
117
|
-
integer_range: {
|
|
118
|
-
gte?: number;
|
|
119
|
-
lte?: number;
|
|
120
|
-
gt?: number;
|
|
121
|
-
lt?: number;
|
|
122
|
-
};
|
|
123
|
-
float_range: {
|
|
124
|
-
gte?: number;
|
|
125
|
-
lte?: number;
|
|
126
|
-
gt?: number;
|
|
127
|
-
lt?: number;
|
|
128
|
-
};
|
|
129
|
-
long_range: {
|
|
130
|
-
gte?: number;
|
|
131
|
-
lte?: number;
|
|
132
|
-
gt?: number;
|
|
133
|
-
lt?: number;
|
|
134
|
-
};
|
|
135
|
-
double_range: {
|
|
136
|
-
gte?: number;
|
|
137
|
-
lte?: number;
|
|
138
|
-
gt?: number;
|
|
139
|
-
lt?: number;
|
|
140
|
-
};
|
|
141
|
-
date_range: {
|
|
142
|
-
gte?: string;
|
|
143
|
-
lte?: string;
|
|
144
|
-
gt?: string;
|
|
145
|
-
lt?: string;
|
|
146
|
-
};
|
|
147
|
-
}[M[K]] : unknown; }>;
|
|
25
|
+
export declare const bulk: <M extends Record<string, FieldTypeString>>(_schema: MappingsSchema<M>) => BulkBuilder<{
|
|
26
|
+
[x: string]: unknown;
|
|
27
|
+
}>;
|
|
148
28
|
//# sourceMappingURL=bulk.builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bulk.builder.d.ts","sourceRoot":"","sources":["../src/bulk.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAEjC,aAAY,GAAG,EAAO,KACrB,WAAW,CAAC,CAAC,CAiCd,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"bulk.builder.d.ts","sourceRoot":"","sources":["../src/bulk.builder.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAS,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAEjC,aAAY,GAAG,EAAO,KACrB,WAAW,CAAC,CAAC,CAiCd,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,IAAI,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC;;EAC3C,CAAC"}
|
package/dist/field.helpers.d.ts
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* embedding: denseVector({ dims: 384 }),
|
|
14
14
|
* });
|
|
15
15
|
*/
|
|
16
|
-
import type { TextFieldOptions, KeywordFieldOptions, NumericFieldOptions, ScaledFloatFieldOptions, DateFieldOptions, BooleanFieldOptions, DenseVectorFieldOptions,
|
|
16
|
+
import type { TextFieldOptions, KeywordFieldOptions, NumericFieldOptions, ScaledFloatFieldOptions, DateFieldOptions, BooleanFieldOptions, DenseVectorFieldOptions, ObjectFieldOptions, CompletionFieldOptions, GeoPointFieldOptions, GeoShapeFieldOptions, AliasFieldOptions, IpFieldOptions, RangeFieldOptions, MatchOnlyTextFieldOptions, SearchAsYouTypeFieldOptions, ConstantKeywordFieldOptions, WildcardFieldOptions, FlattenedFieldOptions, FieldMappingWithLiteralType, TextFieldMapping, KeywordFieldMapping, LongFieldMapping, IntegerFieldMapping, ShortFieldMapping, ByteFieldMapping, DoubleFieldMapping, FloatFieldMapping, HalfFloatFieldMapping, ScaledFloatFieldMapping, DateFieldMapping, BooleanFieldMapping, BinaryFieldMapping, IpFieldMapping, DenseVectorFieldMapping, GeoPointFieldMapping, GeoShapeFieldMapping, CompletionFieldMapping, TypedNestedFieldMapping, TypedObjectFieldMapping, AliasFieldMapping, PercolatorFieldMapping, IntegerRangeFieldMapping, FloatRangeFieldMapping, LongRangeFieldMapping, DoubleRangeFieldMapping, DateRangeFieldMapping, MatchOnlyTextFieldMapping, SearchAsYouTypeFieldMapping, ConstantKeywordFieldMapping, WildcardFieldMapping, FlattenedFieldMapping } from './field.types.js';
|
|
17
17
|
export declare const text: (options?: TextFieldOptions) => TextFieldMapping;
|
|
18
18
|
export declare const keyword: (options?: KeywordFieldOptions) => KeywordFieldMapping;
|
|
19
19
|
export declare const long: (options?: NumericFieldOptions) => LongFieldMapping;
|
|
@@ -64,8 +64,50 @@ export declare const quantizedDenseVector: (options?: DenseVectorFieldOptions) =
|
|
|
64
64
|
export declare const geoPoint: (options?: GeoPointFieldOptions) => GeoPointFieldMapping;
|
|
65
65
|
export declare const geoShape: (options?: GeoShapeFieldOptions) => GeoShapeFieldMapping;
|
|
66
66
|
export declare const completion: (options?: CompletionFieldOptions) => CompletionFieldMapping;
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
/**
|
|
68
|
+
* Object field — for JSON-like structured documents where sub-fields are queried with dot-notation.
|
|
69
|
+
*
|
|
70
|
+
* The most common way to model structured data (e.g. `{ address: { city, zip } }`).
|
|
71
|
+
* Sub-fields are indexed inline within the parent document — no special query wrapper needed.
|
|
72
|
+
* Query sub-fields directly using dot-notation: `.term('address.city', 'NYC')`.
|
|
73
|
+
*
|
|
74
|
+
* Use `nested()` instead when you have **arrays of objects** and need cross-field queries
|
|
75
|
+
* within each element to be accurate (e.g. tags with both a label and weight).
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* const m = mappings({
|
|
79
|
+
* address: object({
|
|
80
|
+
* street: text(),
|
|
81
|
+
* city: keyword(),
|
|
82
|
+
* zip: keyword(),
|
|
83
|
+
* }),
|
|
84
|
+
* });
|
|
85
|
+
* query(m).term('address.city', 'NYC').build();
|
|
86
|
+
*/
|
|
87
|
+
export declare function object<F extends Record<string, FieldMappingWithLiteralType>>(fields: F, options?: ObjectFieldOptions): TypedObjectFieldMapping<F>;
|
|
88
|
+
/**
|
|
89
|
+
* Nested field — for **arrays of objects** where cross-field queries within each element must be accurate.
|
|
90
|
+
*
|
|
91
|
+
* Each nested object is stored as a separate hidden Elasticsearch document, preserving the
|
|
92
|
+
* relationship between sub-fields within each element. Without `nested`, Elasticsearch flattens
|
|
93
|
+
* array sub-fields and loses which values belong to the same element.
|
|
94
|
+
*
|
|
95
|
+
* Queries on nested fields **must** use the `.nested()` query builder method — direct dot-notation
|
|
96
|
+
* queries will not find nested documents.
|
|
97
|
+
*
|
|
98
|
+
* Use `object()` instead for single structured objects (addresses, names, etc.) — it is simpler,
|
|
99
|
+
* more efficient, and does not require a query wrapper.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* const m = mappings({
|
|
103
|
+
* tags: nested({
|
|
104
|
+
* label: keyword(),
|
|
105
|
+
* weight: float(),
|
|
106
|
+
* }),
|
|
107
|
+
* });
|
|
108
|
+
* query(m).nested('tags', q => q.term('label', 'sale')).build();
|
|
109
|
+
*/
|
|
110
|
+
export declare function nested<F extends Record<string, FieldMappingWithLiteralType>>(fields: F): TypedNestedFieldMapping<F>;
|
|
69
111
|
export declare const alias: (options: AliasFieldOptions) => AliasFieldMapping;
|
|
70
112
|
export declare const percolator: () => PercolatorFieldMapping;
|
|
71
113
|
export declare const integerRange: (options?: RangeFieldOptions) => IntegerRangeFieldMapping;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.helpers.d.ts","sourceRoot":"","sources":["../src/field.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"field.helpers.d.ts","sourceRoot":"","sources":["../src/field.helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/field.helpers.js
CHANGED
|
@@ -128,15 +128,56 @@ export const completion = (options) => ({
|
|
|
128
128
|
...options
|
|
129
129
|
});
|
|
130
130
|
// Structured
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
})
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
131
|
+
/**
|
|
132
|
+
* Object field — for JSON-like structured documents where sub-fields are queried with dot-notation.
|
|
133
|
+
*
|
|
134
|
+
* The most common way to model structured data (e.g. `{ address: { city, zip } }`).
|
|
135
|
+
* Sub-fields are indexed inline within the parent document — no special query wrapper needed.
|
|
136
|
+
* Query sub-fields directly using dot-notation: `.term('address.city', 'NYC')`.
|
|
137
|
+
*
|
|
138
|
+
* Use `nested()` instead when you have **arrays of objects** and need cross-field queries
|
|
139
|
+
* within each element to be accurate (e.g. tags with both a label and weight).
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* const m = mappings({
|
|
143
|
+
* address: object({
|
|
144
|
+
* street: text(),
|
|
145
|
+
* city: keyword(),
|
|
146
|
+
* zip: keyword(),
|
|
147
|
+
* }),
|
|
148
|
+
* });
|
|
149
|
+
* query(m).term('address.city', 'NYC').build();
|
|
150
|
+
*/
|
|
151
|
+
export function object(fields, options) {
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
153
|
+
return { type: 'object', ...(options ?? {}), properties: fields };
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Nested field — for **arrays of objects** where cross-field queries within each element must be accurate.
|
|
157
|
+
*
|
|
158
|
+
* Each nested object is stored as a separate hidden Elasticsearch document, preserving the
|
|
159
|
+
* relationship between sub-fields within each element. Without `nested`, Elasticsearch flattens
|
|
160
|
+
* array sub-fields and loses which values belong to the same element.
|
|
161
|
+
*
|
|
162
|
+
* Queries on nested fields **must** use the `.nested()` query builder method — direct dot-notation
|
|
163
|
+
* queries will not find nested documents.
|
|
164
|
+
*
|
|
165
|
+
* Use `object()` instead for single structured objects (addresses, names, etc.) — it is simpler,
|
|
166
|
+
* more efficient, and does not require a query wrapper.
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* const m = mappings({
|
|
170
|
+
* tags: nested({
|
|
171
|
+
* label: keyword(),
|
|
172
|
+
* weight: float(),
|
|
173
|
+
* }),
|
|
174
|
+
* });
|
|
175
|
+
* query(m).nested('tags', q => q.term('label', 'sale')).build();
|
|
176
|
+
*/
|
|
177
|
+
export function nested(fields) {
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
179
|
+
return { type: 'nested', properties: fields };
|
|
180
|
+
}
|
|
140
181
|
// Alias
|
|
141
182
|
export const alias = (options) => ({
|
|
142
183
|
type: 'alias',
|
package/dist/field.types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Each helper function returns a mapping with a literal `type` field,
|
|
4
4
|
* enabling compile-time field-type inference in the query builder.
|
|
5
5
|
*/
|
|
6
|
-
import type { FieldMapping } from './index-management.types.js';
|
|
6
|
+
import type { FieldMapping, FieldTypeString } from './index-management.types.js';
|
|
7
7
|
/** Options for text fields */
|
|
8
8
|
export type TextFieldOptions = {
|
|
9
9
|
analyzer?: string;
|
|
@@ -184,6 +184,23 @@ export type FlattenedFieldOptions = {
|
|
|
184
184
|
export type TypedFieldMapping<T extends string> = Omit<FieldMapping, 'type'> & {
|
|
185
185
|
type: T;
|
|
186
186
|
};
|
|
187
|
+
export type FieldMappingWithLiteralType = FieldMapping & {
|
|
188
|
+
type: FieldTypeString;
|
|
189
|
+
};
|
|
190
|
+
/**
|
|
191
|
+
* Typed variant of `NestedFieldMapping` carrying sub-field type info at compile time.
|
|
192
|
+
* Produced when `nested()` is called with a typed field map.
|
|
193
|
+
*/
|
|
194
|
+
export type TypedNestedFieldMapping<F extends Record<string, FieldMappingWithLiteralType>> = NestedFieldMapping & Readonly<{
|
|
195
|
+
_subFields: F;
|
|
196
|
+
}>;
|
|
197
|
+
/**
|
|
198
|
+
* Typed variant of `ObjectFieldMapping` carrying sub-field type info at compile time.
|
|
199
|
+
* Produced when `object()` is called with a typed field map.
|
|
200
|
+
*/
|
|
201
|
+
export type TypedObjectFieldMapping<F extends Record<string, FieldMappingWithLiteralType>> = ObjectFieldMapping & Readonly<{
|
|
202
|
+
_subFields: F;
|
|
203
|
+
}>;
|
|
187
204
|
export type TextFieldMapping = TypedFieldMapping<'text'>;
|
|
188
205
|
export type KeywordFieldMapping = TypedFieldMapping<'keyword'>;
|
|
189
206
|
export type LongFieldMapping = TypedFieldMapping<'long'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.types.d.ts","sourceRoot":"","sources":["../src/field.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"field.types.d.ts","sourceRoot":"","sources":["../src/field.types.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ export type { AggregationBuilder } from './aggregation.types.js';
|
|
|
7
7
|
export { mappings } from './mapping.builder.js';
|
|
8
8
|
export { text, keyword, long, integer, short, byte, double, float, halfFloat, scaledFloat, date, boolean, binary, ip, denseVector, geoPoint, geoShape, completion, nested, object, alias, percolator, integerRange, floatRange, longRange, doubleRange, dateRange, matchOnlyText, searchAsYouType, constantKeyword, wildcardField, flattened, quantizedDenseVector } from './field.helpers.js';
|
|
9
9
|
export type { MappingsSchema, Infer, FieldsOfType, TextFields, KeywordFields, NumericFields, DateFields, BooleanFields, GeoPointFields, VectorFields, IpFields } from './mapping.types.js';
|
|
10
|
+
export type { FieldMappingWithLiteralType, TypedNestedFieldMapping, TypedObjectFieldMapping } from './field.types.js';
|
|
10
11
|
export { msearch } from './multi-search.builder.js';
|
|
11
12
|
export type { MSearchBuilder } from './multi-search.types.js';
|
|
12
13
|
export { bulk } from './bulk.builder.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7D,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,eAAc,OAAc,+CAC6B,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,IAAI,EACJ,OAAO,EACP,MAAM,EACN,EAAE,EACF,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,EACT,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAIzD,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC7D,SAAS,cAAc,CAAC,CAAC,CAAC,EAC1B,eAAc,OAAc,+CAC6B,CAAC;AAC5D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EACL,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,OAAO,EACP,KAAK,EACL,IAAI,EACJ,MAAM,EACN,KAAK,EACL,SAAS,EACT,WAAW,EACX,IAAI,EACJ,OAAO,EACP,MAAM,EACN,EAAE,EACF,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,KAAK,EACL,UAAU,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,eAAe,EACf,eAAe,EACf,aAAa,EACb,SAAS,EACT,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,aAAa,EACb,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,QAAQ,EACT,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAGtH,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,OAAO,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -24,14 +24,23 @@
|
|
|
24
24
|
* _source: { excludes: ['embedding'] },
|
|
25
25
|
* });
|
|
26
26
|
*/
|
|
27
|
-
import type { FieldMapping, FieldTypeString } from './index-management.types.js';
|
|
28
27
|
import type { MappingOptions, MappingsSchema } from './mapping.types.js';
|
|
29
|
-
type FieldMappingWithLiteralType
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
import type { FieldMappingWithLiteralType } from './field.types.js';
|
|
29
|
+
type UnionToIntersection<U> = (U extends unknown ? (x: U) => never : never) extends (x: infer I) => never ? I : never;
|
|
30
|
+
type FlattenSubFields<Prefix extends string, F extends Record<string, FieldMappingWithLiteralType>> = UnionToIntersection<{
|
|
31
|
+
[K in keyof F & string]: {
|
|
32
|
+
[Key in `${Prefix}.${K}`]: F[K]['type'];
|
|
33
|
+
} & (F[K] extends {
|
|
34
|
+
_subFields: infer Sub extends Record<string, FieldMappingWithLiteralType>;
|
|
35
|
+
} ? FlattenSubFields<`${Prefix}.${K}`, Sub> : Record<never, never>);
|
|
36
|
+
}[keyof F & string]>;
|
|
32
37
|
type ExtractFieldTypes<F extends Record<string, FieldMappingWithLiteralType>> = {
|
|
33
38
|
[K in keyof F]: F[K]['type'];
|
|
34
|
-
}
|
|
35
|
-
|
|
39
|
+
} & UnionToIntersection<{
|
|
40
|
+
[K in keyof F & string]: F[K] extends {
|
|
41
|
+
_subFields: infer Sub extends Record<string, FieldMappingWithLiteralType>;
|
|
42
|
+
} ? FlattenSubFields<K, Sub> : Record<never, never>;
|
|
43
|
+
}[keyof F & string]>;
|
|
44
|
+
export declare const mappings: <F extends Record<string, FieldMappingWithLiteralType>>(fields: F, options?: MappingOptions) => MappingsSchema<ExtractFieldTypes<F>, F>;
|
|
36
45
|
export {};
|
|
37
46
|
//# sourceMappingURL=mapping.builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.builder.d.ts","sourceRoot":"","sources":["../src/mapping.builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;
|
|
1
|
+
{"version":3,"file":"mapping.builder.d.ts","sourceRoot":"","sources":["../src/mapping.builder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAEpE,KAAK,mBAAmB,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC;AAEtH,KAAK,gBAAgB,CACnB,MAAM,SAAS,MAAM,EACrB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,IACnD,mBAAmB,CACrB;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG;SAAG,GAAG,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACnF,UAAU,EAAE,MAAM,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;KAC3E,GACG,gBAAgB,CAAC,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,GACvC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;CAC1B,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CACpB,CAAC;AAEF,KAAK,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,IAAI;KAC7E,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;CAC7B,GAAG,mBAAmB,CACrB;KACG,CAAC,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACpC,UAAU,EAAE,MAAM,GAAG,SAAS,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC;KAC3E,GACG,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,GACxB,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC;CACzB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CACpB,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,EAC5E,QAAQ,CAAC,EACT,UAAU,cAAc,KACvB,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAcxC,CAAC"}
|
package/dist/mapping.builder.js
CHANGED
package/dist/mapping.types.d.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* that maps field names to their ES type literals.
|
|
5
5
|
*/
|
|
6
6
|
import type { FieldMapping, FieldTypeString, SourceConfig } from './index-management.types.js';
|
|
7
|
+
import type { FieldMappingWithLiteralType } from './field.types.js';
|
|
7
8
|
/**
|
|
8
9
|
* Options for `mappings()`.
|
|
9
10
|
*
|
|
@@ -20,8 +21,9 @@ export type MappingOptions = {
|
|
|
20
21
|
_source?: SourceConfig;
|
|
21
22
|
_meta?: Record<string, unknown>;
|
|
22
23
|
};
|
|
23
|
-
export type MappingsSchema<M extends Record<string, FieldTypeString>> = Readonly<{
|
|
24
|
+
export type MappingsSchema<M extends Record<string, FieldTypeString>, F extends Record<string, FieldMappingWithLiteralType> = Record<string, FieldMappingWithLiteralType>> = Readonly<{
|
|
24
25
|
_fieldTypes: M;
|
|
26
|
+
_fields?: F;
|
|
25
27
|
properties: Record<string, FieldMapping>;
|
|
26
28
|
_mappingOptions?: MappingOptions;
|
|
27
29
|
}>;
|
|
@@ -87,19 +89,49 @@ type ESTypeToTS = {
|
|
|
87
89
|
lt?: string;
|
|
88
90
|
};
|
|
89
91
|
};
|
|
90
|
-
|
|
91
|
-
[K in keyof
|
|
92
|
-
|
|
92
|
+
type InferSubFields<F extends Record<string, FieldMappingWithLiteralType>> = {
|
|
93
|
+
[K in keyof F]: F[K] extends {
|
|
94
|
+
_subFields: infer Sub extends Record<string, FieldMappingWithLiteralType>;
|
|
95
|
+
} ? F[K] extends {
|
|
96
|
+
type: 'nested';
|
|
97
|
+
} ? Array<InferSubFields<Sub>> : InferSubFields<Sub> : F[K]['type'] extends keyof ESTypeToTS ? ESTypeToTS[F[K]['type']] : unknown;
|
|
98
|
+
};
|
|
99
|
+
export type Infer<S> = S extends MappingsSchema<infer _M, infer F> ? InferSubFields<F> : never;
|
|
93
100
|
export type FieldsOfType<M extends Record<string, FieldTypeString>, Types extends FieldTypeString> = {
|
|
94
101
|
[K in keyof M]: M[K] extends Types ? K : never;
|
|
95
102
|
}[keyof M];
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Removes keys from M that are sub-fields of a `nested` parent.
|
|
105
|
+
* For example, if `variants` is a nested field, `variants.color` is excluded.
|
|
106
|
+
* Used to prevent root-level query methods from accepting nested descendants —
|
|
107
|
+
* those fields must be queried inside a `.nested()` callback instead.
|
|
108
|
+
*/
|
|
109
|
+
type ExcludeNestedDescendants<M extends Record<string, FieldTypeString>> = {
|
|
110
|
+
[K in keyof M as K extends `${FieldsOfType<M, 'nested'> & string}.${string}` ? never : K]: M[K];
|
|
111
|
+
};
|
|
112
|
+
export type TextFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'text' | 'match_only_text' | 'search_as_you_type'>;
|
|
113
|
+
export type KeywordFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'keyword' | 'constant_keyword' | 'wildcard'>;
|
|
114
|
+
export type NumericFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'long' | 'integer' | 'short' | 'byte' | 'double' | 'float' | 'half_float' | 'scaled_float'>;
|
|
115
|
+
export type DateFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'date'>;
|
|
116
|
+
export type BooleanFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'boolean'>;
|
|
117
|
+
export type GeoPointFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'geo_point'>;
|
|
118
|
+
export type VectorFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'dense_vector'>;
|
|
119
|
+
export type IpFields<M extends Record<string, FieldTypeString>> = FieldsOfType<ExcludeNestedDescendants<M>, 'ip'>;
|
|
120
|
+
/** Maps a single FieldTypeString to its TypeScript value type. Used by Val<M,K> in query constraints. */
|
|
121
|
+
export type FieldValueType<T extends FieldTypeString> = T extends keyof ESTypeToTS ? ESTypeToTS[T] : unknown;
|
|
122
|
+
/**
|
|
123
|
+
* Extracts field names from M that have type `'nested'`.
|
|
124
|
+
* Used to constrain the `path` argument of `.nested()` to valid nested field names.
|
|
125
|
+
*/
|
|
126
|
+
export type NestedPathFields<M extends Record<string, FieldTypeString>> = FieldsOfType<M, 'nested'>;
|
|
127
|
+
/**
|
|
128
|
+
* Given a parent field path (e.g. `'tags'`), extracts the sub-fields of that path
|
|
129
|
+
* from the flat expanded M map. Keys like `'tags.label'` become `'label'` in the result.
|
|
130
|
+
*
|
|
131
|
+
* Used to provide a typed `ClauseBuilder` for the inner callback of `.nested()`.
|
|
132
|
+
*/
|
|
133
|
+
export type SubFieldsOf<M extends Record<string, FieldTypeString>, Path extends string> = {
|
|
134
|
+
[K in keyof M as K extends `${Path}.${infer Rest}` ? Rest : never]: M[K] & FieldTypeString;
|
|
135
|
+
};
|
|
104
136
|
export {};
|
|
105
137
|
//# sourceMappingURL=mapping.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapping.types.d.ts","sourceRoot":"","sources":["../src/mapping.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"mapping.types.d.ts","sourceRoot":"","sources":["../src/mapping.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.builder.d.ts","sourceRoot":"","sources":["../src/query.builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"query.builder.d.ts","sourceRoot":"","sources":["../src/query.builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAiB,MAAM,kBAAkB,CAAC;AAwFhF,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,EAC1E,QAAO,UAAU,CAAC,CAAC,CAAM,KACxB,YAAY,CAAC,CAAC,CAgMf,CAAC"}
|
package/dist/query.builder.js
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { createAggregationBuilder } from './aggregation.builder.js';
|
|
2
2
|
import { createSuggesterBuilder } from './suggester.builder.js';
|
|
3
|
+
const resolveCondition = (c) => typeof c === 'function' ? resolveCondition(c()) : typeof c === 'boolean' ? c : c != null;
|
|
3
4
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
-
const createClauseMethods = (wrap) => ({
|
|
5
|
+
const createClauseMethods = (wrap, qualifyField = (f) => f) => ({
|
|
5
6
|
// eslint-disable-next-line functional/functional-parameters
|
|
6
7
|
matchAll: () => wrap({ match_all: {} }),
|
|
7
|
-
match: (field, value, options) => wrap({ match: { [field]: options ? { query: value, ...options } : value } }),
|
|
8
|
-
multiMatch: (fields, query, options) => wrap({ multi_match: { fields, query, ...(options && options) } }),
|
|
9
|
-
matchPhrase: (field, query) => wrap({ match_phrase: { [field]: query } }),
|
|
10
|
-
matchPhrasePrefix: (field, value, options) => wrap({ match_phrase_prefix: { [field]: options ? { query: value, ...options } : value } }),
|
|
11
|
-
term: (field, value) => wrap({ term: { [field]: value } }),
|
|
12
|
-
terms: (field, value) => wrap({ terms: { [field]: value } }),
|
|
13
|
-
range: (field, conditions) => wrap({ range: { [field]: conditions } }),
|
|
14
|
-
exists: (field) => wrap({ exists: { field } }),
|
|
15
|
-
prefix: (field, value) => wrap({ prefix: { [field]: value } }),
|
|
16
|
-
wildcard: (field, value) => wrap({ wildcard: { [field]: value } }),
|
|
17
|
-
fuzzy: (field, value, options) => wrap({ fuzzy: { [field]: options ? { value, ...options } : { value } } }),
|
|
8
|
+
match: (field, value, options) => wrap({ match: { [qualifyField(field)]: options ? { query: value, ...options } : value } }),
|
|
9
|
+
multiMatch: (fields, query, options) => wrap({ multi_match: { fields: fields.map(qualifyField), query, ...(options && options) } }),
|
|
10
|
+
matchPhrase: (field, query) => wrap({ match_phrase: { [qualifyField(field)]: query } }),
|
|
11
|
+
matchPhrasePrefix: (field, value, options) => wrap({ match_phrase_prefix: { [qualifyField(field)]: options ? { query: value, ...options } : value } }),
|
|
12
|
+
term: (field, value) => wrap({ term: { [qualifyField(field)]: value } }),
|
|
13
|
+
terms: (field, value) => wrap({ terms: { [qualifyField(field)]: value } }),
|
|
14
|
+
range: (field, conditions) => wrap({ range: { [qualifyField(field)]: conditions } }),
|
|
15
|
+
exists: (field) => wrap({ exists: { field: qualifyField(field) } }),
|
|
16
|
+
prefix: (field, value) => wrap({ prefix: { [qualifyField(field)]: value } }),
|
|
17
|
+
wildcard: (field, value) => wrap({ wildcard: { [qualifyField(field)]: value } }),
|
|
18
|
+
fuzzy: (field, value, options) => wrap({ fuzzy: { [qualifyField(field)]: options ? { value, ...options } : { value } } }),
|
|
18
19
|
ids: (values) => wrap({ ids: { values } }),
|
|
19
20
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
20
21
|
script: (options) => {
|
|
@@ -26,37 +27,45 @@ const createClauseMethods = (wrap) => ({
|
|
|
26
27
|
}
|
|
27
28
|
});
|
|
28
29
|
},
|
|
29
|
-
combinedFields: (fields, query, options) => wrap({ combined_fields: { fields, query, ...(options && options) } }),
|
|
30
|
+
combinedFields: (fields, query, options) => wrap({ combined_fields: { fields: fields.map(qualifyField), query, ...(options && options) } }),
|
|
30
31
|
queryString: (query, options) => wrap({ query_string: { query, ...(options && options) } }),
|
|
31
32
|
simpleQueryString: (query, options) => wrap({ simple_query_string: { query, ...(options && options) } }),
|
|
32
33
|
moreLikeThis: (fields, like, options) => wrap({
|
|
33
34
|
more_like_this: {
|
|
34
|
-
fields,
|
|
35
|
+
fields: fields.map(qualifyField),
|
|
35
36
|
like: Array.isArray(like) ? like : [like],
|
|
36
37
|
...(options && options)
|
|
37
38
|
}
|
|
38
39
|
}),
|
|
39
|
-
matchBoolPrefix: (field, value, options) => wrap({ match_bool_prefix: { [field]: options ? { query: value, ...options } : value } })
|
|
40
|
-
});
|
|
41
|
-
// eslint-disable-next-line functional/functional-parameters
|
|
42
|
-
const createClauseBuilder = () => ({
|
|
43
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
44
|
-
...createClauseMethods((dsl) => dsl),
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
-
knn: (field, queryVector, options) => {
|
|
47
|
-
const { k, num_candidates, ...restOptions } = options;
|
|
48
|
-
return {
|
|
49
|
-
knn: {
|
|
50
|
-
field,
|
|
51
|
-
query_vector: queryVector,
|
|
52
|
-
k,
|
|
53
|
-
num_candidates,
|
|
54
|
-
...(restOptions && restOptions)
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
},
|
|
58
|
-
when: (condition, thenFn, elseFn) => condition ? thenFn(createClauseBuilder()) : elseFn ? elseFn(createClauseBuilder()) : undefined
|
|
40
|
+
matchBoolPrefix: (field, value, options) => wrap({ match_bool_prefix: { [qualifyField(field)]: options ? { query: value, ...options } : value } })
|
|
59
41
|
});
|
|
42
|
+
const createClauseBuilder = (prefix) => {
|
|
43
|
+
const qualifyField = prefix ? (f) => `${prefix}.${f}` : (f) => f;
|
|
44
|
+
return {
|
|
45
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
46
|
+
...createClauseMethods((dsl) => dsl, qualifyField),
|
|
47
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
|
+
knn: (field, queryVector, options) => {
|
|
49
|
+
const { k, num_candidates, ...restOptions } = options;
|
|
50
|
+
return {
|
|
51
|
+
knn: {
|
|
52
|
+
field: qualifyField(field),
|
|
53
|
+
query_vector: queryVector,
|
|
54
|
+
k,
|
|
55
|
+
num_candidates,
|
|
56
|
+
...(restOptions && restOptions)
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
},
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
61
|
+
nested: (path, fn, options) => {
|
|
62
|
+
const nestedPath = prefix ? `${prefix}.${path}` : path;
|
|
63
|
+
const nestedQuery = fn(createClauseBuilder(nestedPath));
|
|
64
|
+
return nestedQuery === undefined ? undefined : { nested: { path, query: nestedQuery, ...(options && options) } };
|
|
65
|
+
},
|
|
66
|
+
when: (condition, thenFn) => (resolveCondition(condition) ? thenFn(createClauseBuilder(prefix)) : undefined)
|
|
67
|
+
};
|
|
68
|
+
};
|
|
60
69
|
export const createQueryBuilder = (state = {}) => ({
|
|
61
70
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
62
71
|
...createClauseMethods((dsl) => createQueryBuilder({ ...state, query: dsl })),
|
|
@@ -65,34 +74,30 @@ export const createQueryBuilder = (state = {}) => ({
|
|
|
65
74
|
must: (builderFn) => {
|
|
66
75
|
const clause = builderFn(createClauseBuilder());
|
|
67
76
|
const existing = state.query?.bool?.must || [];
|
|
68
|
-
return
|
|
69
|
-
|
|
70
|
-
query: { bool: { ...state.query.bool, must: [...existing, clause]
|
|
71
|
-
});
|
|
77
|
+
return clause === undefined
|
|
78
|
+
? createQueryBuilder(state)
|
|
79
|
+
: createQueryBuilder({ ...state, query: { bool: { ...state.query.bool, must: [...existing, clause] } } });
|
|
72
80
|
},
|
|
73
81
|
mustNot: (builderFn) => {
|
|
74
82
|
const clause = builderFn(createClauseBuilder());
|
|
75
83
|
const existing = state.query?.bool?.must_not || [];
|
|
76
|
-
return
|
|
77
|
-
|
|
78
|
-
query: { bool: { ...state.query.bool, must_not: [...existing, clause]
|
|
79
|
-
});
|
|
84
|
+
return clause === undefined
|
|
85
|
+
? createQueryBuilder(state)
|
|
86
|
+
: createQueryBuilder({ ...state, query: { bool: { ...state.query.bool, must_not: [...existing, clause] } } });
|
|
80
87
|
},
|
|
81
88
|
should: (builderFn) => {
|
|
82
89
|
const clause = builderFn(createClauseBuilder());
|
|
83
90
|
const existing = state.query?.bool?.should || [];
|
|
84
|
-
return
|
|
85
|
-
|
|
86
|
-
query: { bool: { ...state.query.bool, should: [...existing, clause]
|
|
87
|
-
});
|
|
91
|
+
return clause === undefined
|
|
92
|
+
? createQueryBuilder(state)
|
|
93
|
+
: createQueryBuilder({ ...state, query: { bool: { ...state.query.bool, should: [...existing, clause] } } });
|
|
88
94
|
},
|
|
89
95
|
filter: (builderFn) => {
|
|
90
96
|
const clause = builderFn(createClauseBuilder());
|
|
91
97
|
const existing = state.query?.bool?.filter || [];
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
query: { bool: { ...state.query.bool, filter: [...existing, clause]
|
|
95
|
-
});
|
|
98
|
+
return clause === undefined
|
|
99
|
+
? createQueryBuilder(state)
|
|
100
|
+
: createQueryBuilder({ ...state, query: { bool: { ...state.query.bool, filter: [...existing, clause] } } });
|
|
96
101
|
},
|
|
97
102
|
minimumShouldMatch: (value) => createQueryBuilder({
|
|
98
103
|
...state,
|
|
@@ -112,21 +117,16 @@ export const createQueryBuilder = (state = {}) => ({
|
|
|
112
117
|
});
|
|
113
118
|
},
|
|
114
119
|
nested: (path, fn, options) => {
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
nested: {
|
|
121
|
-
|
|
122
|
-
query: nestedQuery,
|
|
123
|
-
...(options && options)
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
});
|
|
120
|
+
const nestedQuery = fn(createClauseBuilder(path));
|
|
121
|
+
return nestedQuery === undefined
|
|
122
|
+
? createQueryBuilder(state)
|
|
123
|
+
: createQueryBuilder({
|
|
124
|
+
...state,
|
|
125
|
+
query: { nested: { path, query: nestedQuery, ...(options && options) } }
|
|
126
|
+
});
|
|
127
127
|
},
|
|
128
128
|
scriptScore: (queryFn, script, options) => {
|
|
129
|
-
const innerQuery = queryFn(createClauseBuilder());
|
|
129
|
+
const innerQuery = queryFn(createClauseBuilder()) ?? { match_all: {} };
|
|
130
130
|
const { source, lang = 'painless', params } = script;
|
|
131
131
|
return createQueryBuilder({
|
|
132
132
|
...state,
|
|
@@ -141,7 +141,7 @@ export const createQueryBuilder = (state = {}) => ({
|
|
|
141
141
|
});
|
|
142
142
|
},
|
|
143
143
|
percolate: (options) => createQueryBuilder({ ...state, query: { percolate: { ...options } } }),
|
|
144
|
-
when: (condition, thenFn
|
|
144
|
+
when: (condition, thenFn) => resolveCondition(condition) ? thenFn(createQueryBuilder(state)) : createQueryBuilder(state),
|
|
145
145
|
sort: (field, direction = 'asc') => {
|
|
146
146
|
const existing = state.sort || [];
|
|
147
147
|
return createQueryBuilder({
|
package/dist/query.types.d.ts
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import type { QueryDslMatchQuery, QueryDslMultiMatchQuery, QueryDslFuzzyQuery, QueryDslRegexpQuery, QueryDslConstantScoreQuery, QueryDslScriptQuery, QueryDslScriptScoreQuery, QueryDslPercolateQuery, QueryDslMatchPhrasePrefixQuery, QueryDslCombinedFieldsQuery, QueryDslQueryStringQuery, QueryDslSimpleQueryStringQuery, QueryDslMoreLikeThisQuery, QueryDslMatchBoolPrefixQuery, SearchHighlightBase, Script } from '@elastic/elasticsearch/lib/api/types';
|
|
7
7
|
import type { FieldTypeString } from './index-management.types.js';
|
|
8
|
-
import type {
|
|
8
|
+
import type { TextFields, KeywordFields, NumericFields, DateFields, BooleanFields, GeoPointFields, VectorFields, IpFields, NestedPathFields, SubFieldsOf, FieldValueType } from './mapping.types.js';
|
|
9
9
|
import type { AggregationBuilder, AggregationState } from './aggregation.types.js';
|
|
10
10
|
import type { KnnOptions } from './vector.types.js';
|
|
11
11
|
import type { SuggesterBuilder, SuggesterState } from './suggester.types.js';
|
|
@@ -53,7 +53,7 @@ export type MatchBoolPrefixOptions = Omit<QueryDslMatchBoolPrefixQuery, 'query'>
|
|
|
53
53
|
type TermableFields<M extends Record<string, FieldTypeString>> = KeywordFields<M> | NumericFields<M> | DateFields<M> | BooleanFields<M> | IpFields<M>;
|
|
54
54
|
type RangeableFields<M extends Record<string, FieldTypeString>> = NumericFields<M> | DateFields<M> | KeywordFields<M> | IpFields<M>;
|
|
55
55
|
type FuzzyableFields<M extends Record<string, FieldTypeString>> = TextFields<M> | KeywordFields<M>;
|
|
56
|
-
type Val<M extends Record<string, FieldTypeString>, K extends keyof M> =
|
|
56
|
+
type Val<M extends Record<string, FieldTypeString>, K extends keyof M> = FieldValueType<M[K]>;
|
|
57
57
|
export type QueryState<M extends Record<string, FieldTypeString>> = {
|
|
58
58
|
_includeQuery?: boolean;
|
|
59
59
|
query?: any;
|
|
@@ -133,7 +133,30 @@ export type ClauseBuilder<M extends Record<string, FieldTypeString>> = {
|
|
|
133
133
|
_id: string;
|
|
134
134
|
}>, options?: MoreLikeThisOptions) => any;
|
|
135
135
|
matchBoolPrefix: <K extends TextFields<M> & string>(field: K, value: string, options?: MatchBoolPrefixOptions) => any;
|
|
136
|
-
|
|
136
|
+
/**
|
|
137
|
+
* Conditionally execute a clause. Returns the clause DSL when `condition` is truthy, `undefined` otherwise.
|
|
138
|
+
* The parent bool method (`must`, `filter`, etc.) treats `undefined` as a no-op — no empty arrays are emitted.
|
|
139
|
+
*
|
|
140
|
+
* `condition` is resolved as follows: functions are called, booleans are used as-is,
|
|
141
|
+
* and any other value is checked for nullishness (`!= null`) — so `0` and `''` are truthy.
|
|
142
|
+
*
|
|
143
|
+
* **Note:** TypeScript cannot narrow closure variables inside callbacks, so values typed as `T | undefined`
|
|
144
|
+
* still require a non-null assertion (`!`) inside the callback even when `condition` guarantees they are defined:
|
|
145
|
+
* ```ts
|
|
146
|
+
* .must(q => q.when(searchTerm, q => q.match('name', searchTerm!)))
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
/**
|
|
150
|
+
* Nested query inside a clause context — use inside `must`, `filter`, `should`, or `mustNot`.
|
|
151
|
+
*
|
|
152
|
+
* ```ts
|
|
153
|
+
* query(m).bool().filter(q => q.nested('variants', qn => qn.term('color', 'red')))
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
nested: <K extends NestedPathFields<M> & string>(path: K, fn: (q: ClauseBuilder<SubFieldsOf<M, K>>) => any, options?: {
|
|
157
|
+
score_mode?: 'avg' | 'sum' | 'min' | 'max' | 'none';
|
|
158
|
+
}) => any;
|
|
159
|
+
when: (condition: unknown, thenFn: (q: ClauseBuilder<M>) => any) => any | undefined;
|
|
137
160
|
};
|
|
138
161
|
export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
|
|
139
162
|
bool: () => QueryBuilder<M>;
|
|
@@ -160,14 +183,43 @@ export type QueryBuilder<M extends Record<string, FieldTypeString>> = {
|
|
|
160
183
|
wildcard: <K extends KeywordFields<M> & string>(field: K, value: string) => QueryBuilder<M>;
|
|
161
184
|
fuzzy: <K extends FuzzyableFields<M> & string>(field: K, value: string, options?: FuzzyOptions) => QueryBuilder<M>;
|
|
162
185
|
ids: (values: string[]) => QueryBuilder<M>;
|
|
163
|
-
|
|
186
|
+
/**
|
|
187
|
+
* Nested query — for querying fields mapped as `nested()`.
|
|
188
|
+
*
|
|
189
|
+
* Each nested object is stored as a separate hidden document. The `.nested()` wrapper
|
|
190
|
+
* is required for Elasticsearch to search those hidden documents correctly. Without it,
|
|
191
|
+
* queries against nested sub-fields will return no results.
|
|
192
|
+
*
|
|
193
|
+
* The inner callback receives a typed `ClauseBuilder` constrained to the sub-fields of
|
|
194
|
+
* `path`, so field names and value types are checked at compile time.
|
|
195
|
+
*
|
|
196
|
+
* For `object()` fields, no wrapper is needed — query sub-fields directly with dot-notation
|
|
197
|
+
* (e.g. `.term('address.city', 'NYC')`).
|
|
198
|
+
*/
|
|
199
|
+
nested: <K extends NestedPathFields<M> & string>(path: K, fn: (q: ClauseBuilder<SubFieldsOf<M, K>>) => any, options?: {
|
|
164
200
|
score_mode?: 'avg' | 'sum' | 'min' | 'max' | 'none';
|
|
165
201
|
}) => QueryBuilder<M>;
|
|
166
202
|
knn: <K extends VectorFields<M> & string>(field: K, queryVector: number[], options: KnnOptions) => QueryBuilder<M>;
|
|
167
203
|
script: (options: ScriptQueryOptions) => QueryBuilder<M>;
|
|
168
204
|
scriptScore: (query: (q: ClauseBuilder<M>) => any, script: ScriptOptions, options?: ScriptScoreOptions) => QueryBuilder<M>;
|
|
169
205
|
percolate: (options: PercolateOptions) => QueryBuilder<M>;
|
|
170
|
-
|
|
206
|
+
/**
|
|
207
|
+
* Conditionally apply a branch to the query chain. Returns the result of `thenFn` when `condition` is truthy,
|
|
208
|
+
* otherwise returns the current builder unchanged — the chain is never broken.
|
|
209
|
+
*
|
|
210
|
+
* `condition` is resolved as follows: functions are called, booleans are used as-is,
|
|
211
|
+
* and any other value is checked for nullishness (`!= null`) — so `0` and `''` are truthy.
|
|
212
|
+
*
|
|
213
|
+
* **Note:** TypeScript cannot narrow closure variables inside callbacks, so values typed as `T | undefined`
|
|
214
|
+
* still require a non-null assertion (`!`) inside the callback even when `condition` guarantees they are defined:
|
|
215
|
+
* ```ts
|
|
216
|
+
* query(m).bool()
|
|
217
|
+
* .when(searchTerm, q => q.must(q2 => q2.match('name', searchTerm!)))
|
|
218
|
+
* .when(minPrice, q => q.filter(q2 => q2.range('price', { gte: minPrice! })))
|
|
219
|
+
* .build()
|
|
220
|
+
* ```
|
|
221
|
+
*/
|
|
222
|
+
when: (condition: unknown, thenFn: (q: QueryBuilder<M>) => QueryBuilder<M>) => QueryBuilder<M>;
|
|
171
223
|
aggs: (fn: (agg: AggregationBuilder<M>) => AggregationBuilder<M>) => QueryBuilder<M>;
|
|
172
224
|
suggest: (fn: (s: SuggesterBuilder<M>) => SuggesterBuilder<M>) => QueryBuilder<M>;
|
|
173
225
|
sort: (field: (string & keyof M) | '_score' | '_doc', direction: 'asc' | 'desc') => QueryBuilder<M>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../src/query.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"query.types.d.ts","sourceRoot":"","sources":["../src/query.types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "elasticlink",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0-beta",
|
|
4
4
|
"description": "Type-safe, lightweight Elasticsearch query builder with fluent API",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "rm -rf dist && tsc -p tsconfig.build.json",
|
|
21
21
|
"test": "vitest run",
|
|
22
|
-
"test:integration": "vitest run --config vitest.integration.config.ts",
|
|
23
22
|
"test:watch": "vitest",
|
|
24
23
|
"test:coverage": "vitest run --coverage",
|
|
25
24
|
"lint": "eslint src --ext .ts",
|