diff --git a/compiler/src/model/metamodel.ts b/compiler/src/model/metamodel.ts index da0c021c31..f3a65a44f0 100644 --- a/compiler/src/model/metamodel.ts +++ b/compiler/src/model/metamodel.ts @@ -177,11 +177,20 @@ export abstract class BaseType { export type Variants = ExternalTag | InternalTag | Container -export class ExternalTag { +export class VariantBase { + /** + * Is this variant type open to extensions? Default to false. Used for variants that can + * be extended with plugins. If true, target clients should allow for additional variants + * with a variant tag outside the ones defined in the spec and arbitrary data as the value. + */ + nonExhaustive?: boolean +} + +export class ExternalTag extends VariantBase { kind: 'external_tag' } -export class InternalTag { +export class InternalTag extends VariantBase { kind: 'internal_tag' /* Name of the property that holds the variant tag */ tag: string @@ -189,7 +198,7 @@ export class InternalTag { defaultTag?: string } -export class Container { +export class Container extends VariantBase { kind: 'container' } diff --git a/compiler/src/model/utils.ts b/compiler/src/model/utils.ts index e1599a1ad0..02131864ac 100644 --- a/compiler/src/model/utils.ts +++ b/compiler/src/model/utils.ts @@ -440,7 +440,7 @@ export function modelEnumDeclaration (declaration: EnumDeclaration): model.Enum } const tags = parseJsDocTags(declaration.getJsDocs()) - if (typeof tags.open_enum === 'string') { + if (typeof tags.non_exhaustive === 'string') { type.isOpen = true } @@ -647,7 +647,7 @@ export function hoistTypeAnnotations (type: model.TypeDefinition, jsDocs: JSDoc[ // We want to enforce a single jsDoc block. assert(jsDocs, jsDocs.length < 2, 'Use a single multiline jsDoc block instead of multiple single line blocks') - const validTags = ['class_serializer', 'doc_url', 'doc_id', 'behavior', 'variants', 'variant', 'shortcut_property', 'codegen_names'] + const validTags = ['class_serializer', 'doc_url', 'doc_id', 'behavior', 'variants', 'variant', 'shortcut_property', 'codegen_names', 'non_exhaustive'] const tags = parseJsDocTags(jsDocs) if (jsDocs.length === 1) { const description = jsDocs[0].getDescription() @@ -665,6 +665,8 @@ export function hoistTypeAnnotations (type: model.TypeDefinition, jsDocs: JSDoc[ } } else if (tag === 'variants') { } else if (tag === 'variant') { + } else if (tag === 'non_exhaustive') { + assert(jsDocs, typeof tags.variants === 'string', '@non_exhaustive only applies to enums and @variants') } else if (tag === 'doc_url') { assert(jsDocs, isValidUrl(value), '@doc_url is not a valid url') type.docUrl = value @@ -954,13 +956,21 @@ export function parseVariantsTag (jsDoc: JSDoc[]): model.Variants | undefined { return undefined } + const nonExhaustive = (typeof tags.non_exhaustive === 'string') ? true : undefined + const [type, ...values] = tags.variants.split(' ') if (type === 'external') { - return { kind: 'external_tag' } + return { + kind: 'external_tag', + nonExhaustive: nonExhaustive + } } if (type === 'container') { - return { kind: 'container' } + return { + kind: 'container', + nonExhaustive: nonExhaustive + } } assert(jsDoc, type === 'internal', `Bad variant type: ${type}`) @@ -970,6 +980,7 @@ export function parseVariantsTag (jsDoc: JSDoc[]): model.Variants | undefined { return { kind: 'internal_tag', + nonExhaustive: nonExhaustive, tag: pairs.tag, defaultTag: pairs.default } @@ -1002,13 +1013,16 @@ export function parseCommaSeparated (value: string): string[] { /** * Parses an array of "key=value" pairs and validate key names. Values can optionally be enclosed with single - * or double quotes. + * or double quotes. If there is only a key with no value (no '=') the value is set to 'true' */ export function parseKeyValues (node: Node | Node[], pairs: string[], ...validKeys: string[]): Record { const result = {} pairs.forEach(item => { const kv = item.split('=') - assert(node, kv.length === 2, 'Malformed key/value list') + assert(node, kv.length <= 2, 'Malformed key/value list') + if (kv.length === 1) { + kv.push('true') + } assert(node, validKeys.includes(kv[0]), `Unknown key '${kv[0]}'`) result[kv[0]] = kv[1].replace(/["']/g, '') }) diff --git a/docs/modeling-guide.md b/docs/modeling-guide.md index 9ed82d9593..65ae87f1cc 100644 --- a/docs/modeling-guide.md +++ b/docs/modeling-guide.md @@ -98,11 +98,11 @@ enum Orientation { } ``` -Some enumerations can accept arbitrary values other than the one defined. The `@open_enum` jsdoc tac can be used to describe this behavior. -By default, an enum is to be considered closed. +Some enumerations can accept arbitrary values other than the ones defined. The `@non_exhaustive` jsdoc tag can be used to describe this behavior. +By default, an enum is to be considered exhaustive. ```ts -/** @open_enum */ +/** @non_exhaustive */ export enum ScriptLanguage { painless, expression, @@ -234,6 +234,11 @@ class Response { Variants is a special syntax that can be used by language generators to understand which type they will need to build based on the variant configuration. + +If the list of variants is not exhaustive (e.g. for types where new variants can be added by +Elasticsearch plugins), you can add the `@non_exhaustive` js doc tag to indicate that additional +variants can exist and should be accepted. + There are three type of variants: #### Internal diff --git a/output/schema/schema.json b/output/schema/schema.json index 33a331e39e..7316d0a8d7 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -24781,7 +24781,7 @@ } ], "shortcutProperty": "context", - "specLocation": "_global/search/_types/suggester.ts#L149-L156" + "specLocation": "_global/search/_types/suggester.ts#L150-L157" }, { "generics": [ @@ -25071,7 +25071,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L124-L130" + "specLocation": "_global/search/_types/suggester.ts#L125-L131" }, { "codegenNames": [ @@ -25086,7 +25086,7 @@ "name": "Context", "namespace": "_global.search._types" }, - "specLocation": "_global/search/_types/suggester.ts#L142-L147", + "specLocation": "_global/search/_types/suggester.ts#L143-L148", "type": { "items": [ { @@ -25236,7 +25236,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L160-L172" + "specLocation": "_global/search/_types/suggester.ts#L161-L173" }, { "kind": "interface", @@ -25574,9 +25574,10 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L101-L114", + "specLocation": "_global/search/_types/suggester.ts#L101-L115", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -26785,7 +26786,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L206-L208" + "specLocation": "_global/search/_types/suggester.ts#L207-L209" }, { "kind": "interface", @@ -26828,7 +26829,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L210-L214" + "specLocation": "_global/search/_types/suggester.ts#L211-L215" }, { "kind": "interface", @@ -26949,7 +26950,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L174-L178" + "specLocation": "_global/search/_types/suggester.ts#L175-L179" }, { "kind": "interface", @@ -26981,7 +26982,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L180-L183" + "specLocation": "_global/search/_types/suggester.ts#L181-L184" }, { "kind": "interface", @@ -27013,7 +27014,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L201-L204" + "specLocation": "_global/search/_types/suggester.ts#L202-L205" }, { "kind": "interface", @@ -27218,7 +27219,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L185-L199" + "specLocation": "_global/search/_types/suggester.ts#L186-L200" }, { "kind": "interface", @@ -27814,7 +27815,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L218-L225", + "specLocation": "_global/search/_types/suggester.ts#L219-L226", "variants": { "kind": "container" } @@ -27945,7 +27946,7 @@ "name": "StringDistance", "namespace": "_global.search._types" }, - "specLocation": "_global/search/_types/suggester.ts#L233-L239" + "specLocation": "_global/search/_types/suggester.ts#L234-L240" }, { "kind": "interface", @@ -27966,7 +27967,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L227-L229" + "specLocation": "_global/search/_types/suggester.ts#L228-L230" }, { "generics": [ @@ -28126,7 +28127,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L132-L138" + "specLocation": "_global/search/_types/suggester.ts#L133-L139" }, { "kind": "enum", @@ -28142,7 +28143,7 @@ "name": "SuggestSort", "namespace": "_global.search._types" }, - "specLocation": "_global/search/_types/suggester.ts#L241-L244" + "specLocation": "_global/search/_types/suggester.ts#L242-L245" }, { "attachedBehaviors": [ @@ -28234,7 +28235,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L116-L120" + "specLocation": "_global/search/_types/suggester.ts#L117-L121" }, { "inherits": { @@ -28453,7 +28454,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L246-L259" + "specLocation": "_global/search/_types/suggester.ts#L247-L260" }, { "kind": "interface", @@ -38318,7 +38319,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L551-L553", + "specLocation": "_types/aggregations/Aggregate.ts#L552-L554", "variantName": "adjacency_matrix" }, { @@ -38375,7 +38376,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L555-L555" + "specLocation": "_types/aggregations/Aggregate.ts#L556-L556" }, { "kind": "type_alias", @@ -38383,7 +38384,7 @@ "name": "Aggregate", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L30-L111", + "specLocation": "_types/aggregations/Aggregate.ts#L30-L112", "type": { "items": [ { @@ -38852,7 +38853,8 @@ "kind": "union_of" }, "variants": { - "kind": "external_tag" + "kind": "external_tag", + "nonExhaustive": true } }, { @@ -38874,7 +38876,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L122-L124" + "specLocation": "_types/aggregations/Aggregate.ts#L123-L125" }, { "kind": "interface", @@ -39778,9 +39780,10 @@ } } ], - "specLocation": "_types/aggregations/AggregationContainer.ts#L104-L206", + "specLocation": "_types/aggregations/AggregationContainer.ts#L104-L207", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -39917,7 +39920,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L148-L152" + "specLocation": "_types/aggregations/Aggregate.ts#L149-L153" }, { "inherits": { @@ -39953,7 +39956,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L342-L346", + "specLocation": "_types/aggregations/Aggregate.ts#L343-L347", "variantName": "auto_date_histogram" }, { @@ -40121,7 +40124,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L197-L198", + "specLocation": "_types/aggregations/Aggregate.ts#L198-L199", "variantName": "avg" }, { @@ -40292,7 +40295,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L656-L672", + "specLocation": "_types/aggregations/Aggregate.ts#L657-L673", "variantName": "box_plot" }, { @@ -40550,7 +40553,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L221-L224", + "specLocation": "_types/aggregations/Aggregate.ts#L222-L225", "variantName": "bucket_metric_value" }, { @@ -40714,7 +40717,7 @@ "name": "Buckets", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L302-L311", + "specLocation": "_types/aggregations/Aggregate.ts#L303-L312", "type": { "items": [ { @@ -40886,7 +40889,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L126-L129", + "specLocation": "_types/aggregations/Aggregate.ts#L127-L130", "variantName": "cardinality" }, { @@ -41150,7 +41153,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L726-L727", + "specLocation": "_types/aggregations/Aggregate.ts#L727-L728", "variantName": "children" }, { @@ -41221,7 +41224,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L587-L591", + "specLocation": "_types/aggregations/Aggregate.ts#L588-L592", "variantName": "composite" }, { @@ -41406,7 +41409,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L593-L595" + "specLocation": "_types/aggregations/Aggregate.ts#L594-L596" }, { "description": "Result of the `cumulative_cardinality` aggregation", @@ -41445,7 +41448,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L697-L705", + "specLocation": "_types/aggregations/Aggregate.ts#L698-L706", "variantName": "simple_long_value" }, { @@ -41549,7 +41552,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L334-L335", + "specLocation": "_types/aggregations/Aggregate.ts#L335-L336", "variantName": "date_histogram" }, { @@ -41797,7 +41800,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L337-L340" + "specLocation": "_types/aggregations/Aggregate.ts#L338-L341" }, { "description": "Result of a `date_range` aggregation. Same format as a for a `range` aggregation: `from` and `to`\nin `buckets` are milliseconds since the Epoch, represented as a floating point number.", @@ -41813,7 +41816,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L522-L527", + "specLocation": "_types/aggregations/Aggregate.ts#L523-L528", "variantName": "date_range" }, { @@ -41980,7 +41983,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L215-L219", + "specLocation": "_types/aggregations/Aggregate.ts#L216-L220", "variantName": "derivative" }, { @@ -42092,7 +42095,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L397-L402", + "specLocation": "_types/aggregations/Aggregate.ts#L398-L403", "variantName": "dterms" }, { @@ -42134,7 +42137,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L404-L407" + "specLocation": "_types/aggregations/Aggregate.ts#L405-L408" }, { "kind": "interface", @@ -42436,7 +42439,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L266-L282", + "specLocation": "_types/aggregations/Aggregate.ts#L267-L283", "variantName": "extended_stats" }, { @@ -42479,7 +42482,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L284-L285", + "specLocation": "_types/aggregations/Aggregate.ts#L285-L286", "variantName": "extended_stats_bucket" }, { @@ -42557,7 +42560,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L481-L482", + "specLocation": "_types/aggregations/Aggregate.ts#L482-L483", "variantName": "filter" }, { @@ -42582,7 +42585,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L546-L547", + "specLocation": "_types/aggregations/Aggregate.ts#L547-L548", "variantName": "filters" }, { @@ -42670,7 +42673,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L549-L549" + "specLocation": "_types/aggregations/Aggregate.ts#L550-L550" }, { "inherits": { @@ -42767,7 +42770,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L289-L292", + "specLocation": "_types/aggregations/Aggregate.ts#L290-L293", "variantName": "geo_bounds" }, { @@ -42833,7 +42836,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L294-L298", + "specLocation": "_types/aggregations/Aggregate.ts#L295-L299", "variantName": "geo_centroid" }, { @@ -42888,7 +42891,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L529-L533", + "specLocation": "_types/aggregations/Aggregate.ts#L530-L534", "variantName": "geo_distance" }, { @@ -42987,7 +42990,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L492-L494", + "specLocation": "_types/aggregations/Aggregate.ts#L493-L495", "variantName": "geohash_grid" }, { @@ -43089,7 +43092,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L496-L498" + "specLocation": "_types/aggregations/Aggregate.ts#L497-L499" }, { "inherits": { @@ -43127,7 +43130,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L734-L738", + "specLocation": "_types/aggregations/Aggregate.ts#L735-L739", "variantName": "geo_line" }, { @@ -43259,7 +43262,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L500-L502", + "specLocation": "_types/aggregations/Aggregate.ts#L501-L503", "variantName": "geotile_grid" }, { @@ -43361,7 +43364,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L504-L506" + "specLocation": "_types/aggregations/Aggregate.ts#L505-L507" }, { "inherits": { @@ -43457,7 +43460,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L478-L479", + "specLocation": "_types/aggregations/Aggregate.ts#L479-L480", "variantName": "global" }, { @@ -43530,7 +43533,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L157-L158", + "specLocation": "_types/aggregations/Aggregate.ts#L158-L159", "variantName": "hdr_percentile_ranks" }, { @@ -43546,7 +43549,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L154-L155", + "specLocation": "_types/aggregations/Aggregate.ts#L155-L156", "variantName": "hdr_percentiles" }, { @@ -43571,7 +43574,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L326-L327", + "specLocation": "_types/aggregations/Aggregate.ts#L327-L328", "variantName": "histogram" }, { @@ -43768,7 +43771,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L329-L332" + "specLocation": "_types/aggregations/Aggregate.ts#L330-L333" }, { "kind": "interface", @@ -44085,7 +44088,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L609-L620", + "specLocation": "_types/aggregations/Aggregate.ts#L610-L621", "variantName": "inference" }, { @@ -44156,7 +44159,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L634-L637" + "specLocation": "_types/aggregations/Aggregate.ts#L635-L638" }, { "kind": "interface", @@ -44239,7 +44242,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L628-L632" + "specLocation": "_types/aggregations/Aggregate.ts#L629-L633" }, { "kind": "interface", @@ -44282,7 +44285,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L622-L626" + "specLocation": "_types/aggregations/Aggregate.ts#L623-L627" }, { "inherits": { @@ -44306,7 +44309,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L535-L537", + "specLocation": "_types/aggregations/Aggregate.ts#L536-L538", "variantName": "ip_range" }, { @@ -44456,7 +44459,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L539-L542" + "specLocation": "_types/aggregations/Aggregate.ts#L540-L543" }, { "kind": "type_alias", @@ -44464,7 +44467,7 @@ "name": "KeyedPercentiles", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L146-L146", + "specLocation": "_types/aggregations/Aggregate.ts#L147-L147", "type": { "key": { "kind": "instance_of", @@ -44561,7 +44564,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L417-L422", + "specLocation": "_types/aggregations/Aggregate.ts#L418-L423", "variantName": "lrareterms" }, { @@ -44603,7 +44606,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L424-L427" + "specLocation": "_types/aggregations/Aggregate.ts#L425-L428" }, { "description": "Result of a `terms` aggregation when the field is some kind of whole number like a integer, long, or a date.", @@ -44628,7 +44631,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L385-L390", + "specLocation": "_types/aggregations/Aggregate.ts#L386-L391", "variantName": "lterms" }, { @@ -44670,7 +44673,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L392-L395" + "specLocation": "_types/aggregations/Aggregate.ts#L393-L396" }, { "inherits": { @@ -44760,7 +44763,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L707-L711", + "specLocation": "_types/aggregations/Aggregate.ts#L708-L712", "variantName": "matrix_stats" }, { @@ -44908,7 +44911,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L713-L722" + "specLocation": "_types/aggregations/Aggregate.ts#L714-L723" }, { "inherits": { @@ -44923,7 +44926,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L188-L189", + "specLocation": "_types/aggregations/Aggregate.ts#L189-L190", "variantName": "max" }, { @@ -44969,7 +44972,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L182-L183", + "specLocation": "_types/aggregations/Aggregate.ts#L183-L184", "variantName": "median_absolute_deviation" }, { @@ -45055,7 +45058,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L185-L186", + "specLocation": "_types/aggregations/Aggregate.ts#L186-L187", "variantName": "min" }, { @@ -45122,7 +45125,7 @@ "name": "Missing", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/AggregationContainer.ts#L208-L208", + "specLocation": "_types/aggregations/AggregationContainer.ts#L209-L209", "type": { "items": [ { @@ -45173,7 +45176,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L469-L470", + "specLocation": "_types/aggregations/Aggregate.ts#L470-L471", "variantName": "missing" }, { @@ -45231,7 +45234,7 @@ "name": "MissingOrder", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/AggregationContainer.ts#L209-L213" + "specLocation": "_types/aggregations/AggregationContainer.ts#L210-L214" }, { "kind": "type_alias", @@ -45472,7 +45475,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L313-L315" + "specLocation": "_types/aggregations/Aggregate.ts#L314-L316" }, { "attachedBehaviors": [ @@ -45521,7 +45524,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L317-L324" + "specLocation": "_types/aggregations/Aggregate.ts#L318-L325" }, { "kind": "interface", @@ -45566,7 +45569,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L447-L449", + "specLocation": "_types/aggregations/Aggregate.ts#L448-L450", "variantName": "multi_terms" }, { @@ -45671,7 +45674,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L451-L455" + "specLocation": "_types/aggregations/Aggregate.ts#L452-L456" }, { "kind": "interface", @@ -45721,7 +45724,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L472-L473", + "specLocation": "_types/aggregations/Aggregate.ts#L473-L474", "variantName": "nested" }, { @@ -45823,7 +45826,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L729-L730", + "specLocation": "_types/aggregations/Aggregate.ts#L730-L731", "variantName": "parent" }, { @@ -45947,7 +45950,7 @@ "name": "Percentiles", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L138-L139", + "specLocation": "_types/aggregations/Aggregate.ts#L139-L140", "type": { "items": [ { @@ -45996,7 +45999,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L134-L136" + "specLocation": "_types/aggregations/Aggregate.ts#L135-L137" }, { "inherits": { @@ -46074,7 +46077,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L166-L167", + "specLocation": "_types/aggregations/Aggregate.ts#L167-L168", "variantName": "percentiles_bucket" }, { @@ -46167,7 +46170,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L510-L511", + "specLocation": "_types/aggregations/Aggregate.ts#L511-L512", "variantName": "range" }, { @@ -46328,7 +46331,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L513-L520" + "specLocation": "_types/aggregations/Aggregate.ts#L514-L521" }, { "inherits": { @@ -46459,7 +46462,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L691-L695", + "specLocation": "_types/aggregations/Aggregate.ts#L692-L696", "variantName": "rate" }, { @@ -46532,7 +46535,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L475-L476", + "specLocation": "_types/aggregations/Aggregate.ts#L476-L477", "variantName": "reverse_nested" }, { @@ -46578,7 +46581,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L484-L485", + "specLocation": "_types/aggregations/Aggregate.ts#L485-L486", "variantName": "sampler" }, { @@ -46669,7 +46672,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L599-L602", + "specLocation": "_types/aggregations/Aggregate.ts#L600-L603", "variantName": "scripted_metric" }, { @@ -46799,7 +46802,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L557-L559", + "specLocation": "_types/aggregations/Aggregate.ts#L558-L560", "variantName": "siglterms" }, { @@ -46841,7 +46844,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L566-L569" + "specLocation": "_types/aggregations/Aggregate.ts#L567-L570" }, { "inherits": { @@ -46865,7 +46868,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L571-L573", + "specLocation": "_types/aggregations/Aggregate.ts#L572-L574", "variantName": "sigsterms" }, { @@ -46896,7 +46899,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L575-L577" + "specLocation": "_types/aggregations/Aggregate.ts#L576-L578" }, { "inherits": { @@ -47118,7 +47121,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L561-L564" + "specLocation": "_types/aggregations/Aggregate.ts#L562-L565" }, { "inherits": { @@ -47386,7 +47389,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L212-L213", + "specLocation": "_types/aggregations/Aggregate.ts#L213-L214", "variantName": "simple_value" }, { @@ -47442,7 +47445,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L459-L467" + "specLocation": "_types/aggregations/Aggregate.ts#L460-L468" }, { "inherits": { @@ -47493,7 +47496,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L171-L180" + "specLocation": "_types/aggregations/Aggregate.ts#L172-L181" }, { "kind": "interface", @@ -47641,7 +47644,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L248-L255" + "specLocation": "_types/aggregations/Aggregate.ts#L249-L256" }, { "kind": "interface", @@ -47717,7 +47720,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L257-L264" + "specLocation": "_types/aggregations/Aggregate.ts#L258-L265" }, { "description": "Statistics aggregation result. `min`, `max` and `avg` are missing if there were no values to process\n(`count` is zero).", @@ -47869,7 +47872,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L228-L243", + "specLocation": "_types/aggregations/Aggregate.ts#L229-L244", "variantName": "stats" }, { @@ -47900,7 +47903,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L245-L246", + "specLocation": "_types/aggregations/Aggregate.ts#L246-L247", "variantName": "stats_bucket" }, { @@ -47941,7 +47944,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L429-L433", + "specLocation": "_types/aggregations/Aggregate.ts#L430-L434", "variantName": "srareterms" }, { @@ -47972,7 +47975,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L435-L437" + "specLocation": "_types/aggregations/Aggregate.ts#L436-L438" }, { "inherits": { @@ -48158,7 +48161,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L643-L654", + "specLocation": "_types/aggregations/Aggregate.ts#L644-L655", "variantName": "string_stats" }, { @@ -48211,7 +48214,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L370-L375", + "specLocation": "_types/aggregations/Aggregate.ts#L371-L376", "variantName": "sterms" }, { @@ -48242,7 +48245,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L381-L383" + "specLocation": "_types/aggregations/Aggregate.ts#L382-L384" }, { "description": "Sum aggregation result. `value` is always present and is zero if there were no values to process.", @@ -48258,7 +48261,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L191-L195", + "specLocation": "_types/aggregations/Aggregate.ts#L192-L196", "variantName": "sum" }, { @@ -48325,7 +48328,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L163-L164", + "specLocation": "_types/aggregations/Aggregate.ts#L164-L165", "variantName": "tdigest_percentile_ranks" }, { @@ -48341,7 +48344,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L160-L161", + "specLocation": "_types/aggregations/Aggregate.ts#L161-L162", "variantName": "tdigest_percentiles" }, { @@ -48392,7 +48395,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L685-L689", + "specLocation": "_types/aggregations/Aggregate.ts#L686-L690", "variantName": "t_test" }, { @@ -48514,7 +48517,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L363-L368" + "specLocation": "_types/aggregations/Aggregate.ts#L364-L369" }, { "inherits": { @@ -48826,7 +48829,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L377-L379" + "specLocation": "_types/aggregations/Aggregate.ts#L378-L380" }, { "codegenNames": [ @@ -49009,7 +49012,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L604-L607", + "specLocation": "_types/aggregations/Aggregate.ts#L605-L608", "variantName": "top_hits" }, { @@ -49239,7 +49242,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L679-L683" + "specLocation": "_types/aggregations/Aggregate.ts#L680-L684" }, { "inherits": { @@ -49269,7 +49272,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L674-L677", + "specLocation": "_types/aggregations/Aggregate.ts#L675-L678", "variantName": "top_metrics" }, { @@ -49380,7 +49383,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L439-L445", + "specLocation": "_types/aggregations/Aggregate.ts#L440-L446", "variantName": "umrareterms" }, { @@ -49399,7 +49402,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L487-L488", + "specLocation": "_types/aggregations/Aggregate.ts#L488-L489", "variantName": "unmapped_sampler" }, { @@ -49425,7 +49428,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L579-L585", + "specLocation": "_types/aggregations/Aggregate.ts#L580-L586", "variantName": "umsigterms" }, { @@ -49451,7 +49454,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L409-L415", + "specLocation": "_types/aggregations/Aggregate.ts#L410-L416", "variantName": "umterms" }, { @@ -49468,7 +49471,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L206-L210", + "specLocation": "_types/aggregations/Aggregate.ts#L207-L211", "variantName": "value_count" }, { @@ -49548,7 +49551,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L348-L350", + "specLocation": "_types/aggregations/Aggregate.ts#L349-L351", "variantName": "variable_width_histogram" }, { @@ -49688,7 +49691,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L352-L359" + "specLocation": "_types/aggregations/Aggregate.ts#L353-L360" }, { "inherits": { @@ -49807,7 +49810,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L200-L204", + "specLocation": "_types/aggregations/Aggregate.ts#L201-L205", "variantName": "weighted_avg" }, { @@ -49816,7 +49819,7 @@ "name": "Analyzer", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/analyzers.ts#L113-L128", + "specLocation": "_types/analysis/analyzers.ts#L113-L131", "type": { "items": [ { @@ -49923,6 +49926,7 @@ "variants": { "defaultTag": "custom", "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -50019,7 +50023,7 @@ "name": "CharFilterDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/char_filters.ts#L32-L38", + "specLocation": "_types/analysis/char_filters.ts#L32-L41", "type": { "items": [ { @@ -50062,6 +50066,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -50929,7 +50934,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L40-L42" + "specLocation": "_types/analysis/char_filters.ts#L43-L45" }, { "inherits": { @@ -52558,7 +52563,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L44-L48" + "specLocation": "_types/analysis/char_filters.ts#L47-L51" }, { "inherits": { @@ -53219,7 +53224,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L50-L55" + "specLocation": "_types/analysis/char_filters.ts#L53-L58" }, { "inherits": { @@ -54586,7 +54591,7 @@ "name": "TokenFilterDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/token_filters.ts#L344-L394", + "specLocation": "_types/analysis/token_filters.ts#L344-L397", "type": { "items": [ { @@ -54930,6 +54935,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -54991,7 +54997,7 @@ "name": "TokenizerDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/tokenizers.ts#L123-L138", + "specLocation": "_types/analysis/tokenizers.ts#L123-L141", "type": { "items": [ { @@ -55097,6 +55103,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -57138,7 +57145,7 @@ "name": "FieldType", "namespace": "_types.mapping" }, - "specLocation": "_types/mapping/Property.ts#L67-L110" + "specLocation": "_types/mapping/Property.ts#L70-L113" }, { "inherits": { @@ -58452,7 +58459,7 @@ "name": "Property", "namespace": "_types.mapping" }, - "specLocation": "_types/mapping/Property.ts#L53-L65", + "specLocation": "_types/mapping/Property.ts#L53-L68", "type": { "items": [ { @@ -58538,6 +58545,7 @@ "variants": { "defaultTag": "object", "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -60351,7 +60359,7 @@ "name": "CombinedFieldsOperator", "namespace": "_types.query_dsl" }, - "specLocation": "_types/query_dsl/abstractions.ts#L203-L206" + "specLocation": "_types/query_dsl/abstractions.ts#L204-L207" }, { "inherits": { @@ -60439,7 +60447,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L182-L196" + "specLocation": "_types/query_dsl/abstractions.ts#L183-L197" }, { "kind": "enum", @@ -60455,7 +60463,7 @@ "name": "CombinedFieldsZeroTerms", "namespace": "_types.query_dsl" }, - "specLocation": "_types/query_dsl/abstractions.ts#L208-L211" + "specLocation": "_types/query_dsl/abstractions.ts#L209-L212" }, { "inherits": { @@ -61118,7 +61126,7 @@ } ], "shortcutProperty": "field", - "specLocation": "_types/query_dsl/abstractions.ts#L213-L227" + "specLocation": "_types/query_dsl/abstractions.ts#L214-L228" }, { "kind": "interface", @@ -61172,7 +61180,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L165-L170" + "specLocation": "_types/query_dsl/abstractions.ts#L166-L171" }, { "kind": "enum", @@ -64672,7 +64680,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L176-L180" + "specLocation": "_types/query_dsl/abstractions.ts#L177-L181" }, { "docId": "query-dsl", @@ -65452,9 +65460,10 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L97-L163", + "specLocation": "_types/query_dsl/abstractions.ts#L97-L164", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -67524,7 +67533,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L198-L201" + "specLocation": "_types/query_dsl/abstractions.ts#L199-L202" }, { "kind": "enum", @@ -111873,7 +111882,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L88-L92" + "specLocation": "ingest/_types/Processors.ts#L89-L93" }, { "inherits": { @@ -111969,7 +111978,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L94-L102" + "specLocation": "ingest/_types/Processors.ts#L95-L103" }, { "inherits": { @@ -112018,7 +112027,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L121-L125" + "specLocation": "ingest/_types/Processors.ts#L122-L126" }, { "inherits": { @@ -112089,7 +112098,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L127-L133" + "specLocation": "ingest/_types/Processors.ts#L128-L134" }, { "inherits": { @@ -112149,7 +112158,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L145-L150" + "specLocation": "ingest/_types/Processors.ts#L146-L151" }, { "kind": "enum", @@ -112180,7 +112189,7 @@ "name": "ConvertType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L135-L143" + "specLocation": "ingest/_types/Processors.ts#L136-L144" }, { "inherits": { @@ -112280,7 +112289,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L152-L161" + "specLocation": "ingest/_types/Processors.ts#L153-L162" }, { "inherits": { @@ -112377,7 +112386,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L163-L176" + "specLocation": "ingest/_types/Processors.ts#L164-L177" }, { "inherits": { @@ -112451,7 +112460,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L178-L184" + "specLocation": "ingest/_types/Processors.ts#L179-L185" }, { "inherits": { @@ -112511,7 +112520,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L186-L191" + "specLocation": "ingest/_types/Processors.ts#L187-L192" }, { "inherits": { @@ -112549,7 +112558,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L193-L196" + "specLocation": "ingest/_types/Processors.ts#L194-L197" }, { "inherits": { @@ -112564,7 +112573,7 @@ "namespace": "ingest._types" }, "properties": [], - "specLocation": "ingest/_types/Processors.ts#L198-L198" + "specLocation": "ingest/_types/Processors.ts#L199-L199" }, { "inherits": { @@ -112657,7 +112666,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L200-L208" + "specLocation": "ingest/_types/Processors.ts#L201-L209" }, { "inherits": { @@ -112684,7 +112693,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L210-L212" + "specLocation": "ingest/_types/Processors.ts#L211-L213" }, { "inherits": { @@ -112733,7 +112742,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L214-L218" + "specLocation": "ingest/_types/Processors.ts#L215-L219" }, { "inherits": { @@ -112818,7 +112827,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L104-L111" + "specLocation": "ingest/_types/Processors.ts#L105-L112" }, { "inherits": { @@ -112903,7 +112912,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L220-L226" + "specLocation": "ingest/_types/Processors.ts#L221-L227" }, { "inherits": { @@ -112974,7 +112983,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L228-L234" + "specLocation": "ingest/_types/Processors.ts#L229-L235" }, { "kind": "interface", @@ -113006,7 +113015,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L243-L249", + "specLocation": "ingest/_types/Processors.ts#L244-L250", "variants": { "kind": "container" } @@ -113074,7 +113083,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L256-L262" + "specLocation": "ingest/_types/Processors.ts#L257-L263" }, { "kind": "interface", @@ -113106,7 +113115,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L251-L254" + "specLocation": "ingest/_types/Processors.ts#L252-L255" }, { "inherits": { @@ -113173,7 +113182,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L236-L241" + "specLocation": "ingest/_types/Processors.ts#L237-L242" }, { "inherits": { @@ -113222,7 +113231,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L264-L268" + "specLocation": "ingest/_types/Processors.ts#L265-L269" }, { "inherits": { @@ -113271,7 +113280,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L270-L274" + "specLocation": "ingest/_types/Processors.ts#L271-L275" }, { "inherits": { @@ -113414,7 +113423,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L276-L288" + "specLocation": "ingest/_types/Processors.ts#L277-L289" }, { "inherits": { @@ -113463,7 +113472,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L290-L294" + "specLocation": "ingest/_types/Processors.ts#L291-L295" }, { "kind": "interface", @@ -113596,7 +113605,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L296-L298" + "specLocation": "ingest/_types/Processors.ts#L297-L299" }, { "kind": "interface", @@ -113653,7 +113662,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L68-L73" + "specLocation": "ingest/_types/Processors.ts#L69-L74" }, { "kind": "interface", @@ -114037,9 +114046,10 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L28-L66", + "specLocation": "ingest/_types/Processors.ts#L28-L67", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -114078,7 +114088,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L300-L303" + "specLocation": "ingest/_types/Processors.ts#L301-L304" }, { "inherits": { @@ -114127,7 +114137,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L305-L309" + "specLocation": "ingest/_types/Processors.ts#L306-L310" }, { "inherits": { @@ -114172,7 +114182,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L318-L322" + "specLocation": "ingest/_types/Processors.ts#L319-L323" }, { "inherits": { @@ -114213,7 +114223,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L324-L327" + "specLocation": "ingest/_types/Processors.ts#L325-L328" }, { "kind": "enum", @@ -114229,7 +114239,7 @@ "name": "ShapeType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L329-L332" + "specLocation": "ingest/_types/Processors.ts#L330-L333" }, { "inherits": { @@ -114278,7 +114288,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L334-L338" + "specLocation": "ingest/_types/Processors.ts#L335-L339" }, { "inherits": { @@ -114349,7 +114359,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L340-L346" + "specLocation": "ingest/_types/Processors.ts#L341-L347" }, { "inherits": { @@ -114398,7 +114408,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L348-L352" + "specLocation": "ingest/_types/Processors.ts#L349-L353" }, { "inherits": { @@ -114447,7 +114457,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L354-L358" + "specLocation": "ingest/_types/Processors.ts#L355-L359" }, { "inherits": { @@ -114496,7 +114506,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L360-L364" + "specLocation": "ingest/_types/Processors.ts#L361-L365" }, { "inherits": { @@ -114570,7 +114580,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L113-L119" + "specLocation": "ingest/_types/Processors.ts#L114-L120" }, { "kind": "enum", @@ -114610,7 +114620,7 @@ "name": "UserAgentProperty", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L75-L86" + "specLocation": "ingest/_types/Processors.ts#L76-L87" }, { "attachedBehaviors": [ diff --git a/specification/_global/search/_types/highlighting.ts b/specification/_global/search/_types/highlighting.ts index d22e915bce..f8e25c0402 100644 --- a/specification/_global/search/_types/highlighting.ts +++ b/specification/_global/search/_types/highlighting.ts @@ -71,7 +71,7 @@ export enum HighlighterTagsSchema { styled = 0 } -/** @open_enum */ +/** @non_exhaustive */ export enum HighlighterType { plain = 0, /** @codegen_name fast_vector */ diff --git a/specification/_global/search/_types/suggester.ts b/specification/_global/search/_types/suggester.ts index 69bb7488e4..f2177eaa09 100644 --- a/specification/_global/search/_types/suggester.ts +++ b/specification/_global/search/_types/suggester.ts @@ -100,6 +100,7 @@ export class Suggester implements AdditionalProperties { /** * @variants container + * @non_exhaustive */ export class FieldSuggester { completion?: CompletionSuggester diff --git a/specification/_types/Scripting.ts b/specification/_types/Scripting.ts index 468617c481..45af55c545 100644 --- a/specification/_types/Scripting.ts +++ b/specification/_types/Scripting.ts @@ -23,7 +23,7 @@ import { Id } from './common' /** * @doc_id modules-scripting - * @open_enum + * @non_exhaustive */ export enum ScriptLanguage { painless = 0, diff --git a/specification/_types/aggregations/Aggregate.ts b/specification/_types/aggregations/Aggregate.ts index ec294e1438..4cdb73339b 100644 --- a/specification/_types/aggregations/Aggregate.ts +++ b/specification/_types/aggregations/Aggregate.ts @@ -29,6 +29,7 @@ import { Void } from '@spec_utils/VoidValue' /** * @variants external + * @non_exhaustive */ export type Aggregate = | CardinalityAggregate diff --git a/specification/_types/aggregations/AggregationContainer.ts b/specification/_types/aggregations/AggregationContainer.ts index 4e1dc60f9d..703b0d078b 100644 --- a/specification/_types/aggregations/AggregationContainer.ts +++ b/specification/_types/aggregations/AggregationContainer.ts @@ -103,6 +103,7 @@ import { /** * @variants container + * @non_exhaustive */ export class AggregationContainer { /** diff --git a/specification/_types/analysis/analyzers.ts b/specification/_types/analysis/analyzers.ts index 75bf8296ab..33cf6d7e92 100644 --- a/specification/_types/analysis/analyzers.ts +++ b/specification/_types/analysis/analyzers.ts @@ -110,7 +110,10 @@ export class WhitespaceAnalyzer { version?: VersionString } -/** @variants internal tag='type' default='custom' */ +/** + * @variants internal tag='type' default='custom' + * @non_exhaustive + */ export type Analyzer = | CustomAnalyzer | FingerprintAnalyzer diff --git a/specification/_types/analysis/char_filters.ts b/specification/_types/analysis/char_filters.ts index 839fa4b761..8c94158de9 100644 --- a/specification/_types/analysis/char_filters.ts +++ b/specification/_types/analysis/char_filters.ts @@ -29,7 +29,10 @@ export class CharFilterBase { // ES: NameOrDefinition, used everywhere charfilter, tokenfilter or tokenizer is used export type CharFilter = string | CharFilterDefinition -/** @variants internal tag='type' */ +/** + * @variants internal tag='type' + * @non_exhaustive + */ export type CharFilterDefinition = | HtmlStripCharFilter | MappingCharFilter diff --git a/specification/_types/analysis/token_filters.ts b/specification/_types/analysis/token_filters.ts index 6df795b246..b03c357aba 100644 --- a/specification/_types/analysis/token_filters.ts +++ b/specification/_types/analysis/token_filters.ts @@ -341,7 +341,10 @@ export class UppercaseTokenFilter extends TokenFilterBase { // ES: NameOrDefinition, used everywhere charfilter, tokenfilter or tokenizer is used export type TokenFilter = string | TokenFilterDefinition -/** @variants internal tag='type' */ +/** + * @variants internal tag='type' + * @non_exhaustive + */ export type TokenFilterDefinition = | AsciiFoldingTokenFilter | CommonGramsTokenFilter diff --git a/specification/_types/analysis/tokenizers.ts b/specification/_types/analysis/tokenizers.ts index f9b8d24a40..ec5a5e952d 100644 --- a/specification/_types/analysis/tokenizers.ts +++ b/specification/_types/analysis/tokenizers.ts @@ -120,7 +120,10 @@ export class WhitespaceTokenizer extends TokenizerBase { // ES: NameOrDefinition, used everywhere charfilter, tokenfilter or tokenizer is used export type Tokenizer = string | TokenizerDefinition -/** @variants internal tag='type' */ +/** + * @variants internal tag='type' + * @non_exhaustive + */ export type TokenizerDefinition = | CharGroupTokenizer | EdgeNGramTokenizer diff --git a/specification/_types/mapping/Property.ts b/specification/_types/mapping/Property.ts index 03013599c9..58fb4cd117 100644 --- a/specification/_types/mapping/Property.ts +++ b/specification/_types/mapping/Property.ts @@ -50,7 +50,10 @@ export class PropertyBase { fields?: Dictionary } -/** @variants internal tag='type' default='object' */ +/** + * @variants internal tag='type' default='object' + * @non_exhaustive + */ export type Property = | FlattenedProperty | JoinProperty diff --git a/specification/_types/query_dsl/abstractions.ts b/specification/_types/query_dsl/abstractions.ts index 88ffe7faf2..ec6e999854 100644 --- a/specification/_types/query_dsl/abstractions.ts +++ b/specification/_types/query_dsl/abstractions.ts @@ -96,6 +96,7 @@ import { /** * @variants container + * @non_exhaustive * @doc_id query-dsl */ export class QueryContainer { diff --git a/specification/ingest/_types/Processors.ts b/specification/ingest/_types/Processors.ts index ad46e91470..e96db354b2 100644 --- a/specification/ingest/_types/Processors.ts +++ b/specification/ingest/_types/Processors.ts @@ -27,6 +27,7 @@ import { Script } from '@_types/Scripting' /** * @variants container + * @non_exhaustive */ export class ProcessorContainer { attachment?: AttachmentProcessor