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 514f1888af..2c09da38c2 100644 --- a/output/schema/schema.json +++ b/output/schema/schema.json @@ -24793,7 +24793,7 @@ } ], "shortcutProperty": "context", - "specLocation": "_global/search/_types/suggester.ts#L149-L156" + "specLocation": "_global/search/_types/suggester.ts#L150-L157" }, { "generics": [ @@ -25083,7 +25083,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L124-L130" + "specLocation": "_global/search/_types/suggester.ts#L125-L131" }, { "codegenNames": [ @@ -25098,7 +25098,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": [ { @@ -25248,7 +25248,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L160-L172" + "specLocation": "_global/search/_types/suggester.ts#L161-L173" }, { "kind": "interface", @@ -25586,9 +25586,10 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L101-L114", + "specLocation": "_global/search/_types/suggester.ts#L101-L115", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -26797,7 +26798,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L206-L208" + "specLocation": "_global/search/_types/suggester.ts#L207-L209" }, { "kind": "interface", @@ -26840,7 +26841,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L210-L214" + "specLocation": "_global/search/_types/suggester.ts#L211-L215" }, { "kind": "interface", @@ -26961,7 +26962,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L174-L178" + "specLocation": "_global/search/_types/suggester.ts#L175-L179" }, { "kind": "interface", @@ -26993,7 +26994,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L180-L183" + "specLocation": "_global/search/_types/suggester.ts#L181-L184" }, { "kind": "interface", @@ -27025,7 +27026,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L201-L204" + "specLocation": "_global/search/_types/suggester.ts#L202-L205" }, { "kind": "interface", @@ -27230,7 +27231,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L185-L199" + "specLocation": "_global/search/_types/suggester.ts#L186-L200" }, { "kind": "interface", @@ -27826,7 +27827,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L218-L225", + "specLocation": "_global/search/_types/suggester.ts#L219-L226", "variants": { "kind": "container" } @@ -27957,7 +27958,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", @@ -27978,7 +27979,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L227-L229" + "specLocation": "_global/search/_types/suggester.ts#L228-L230" }, { "generics": [ @@ -28138,7 +28139,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L132-L138" + "specLocation": "_global/search/_types/suggester.ts#L133-L139" }, { "kind": "enum", @@ -28154,7 +28155,7 @@ "name": "SuggestSort", "namespace": "_global.search._types" }, - "specLocation": "_global/search/_types/suggester.ts#L241-L244" + "specLocation": "_global/search/_types/suggester.ts#L242-L245" }, { "attachedBehaviors": [ @@ -28246,7 +28247,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L116-L120" + "specLocation": "_global/search/_types/suggester.ts#L117-L121" }, { "inherits": { @@ -28465,7 +28466,7 @@ } } ], - "specLocation": "_global/search/_types/suggester.ts#L246-L259" + "specLocation": "_global/search/_types/suggester.ts#L247-L260" }, { "kind": "interface", @@ -38330,7 +38331,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L551-L553", + "specLocation": "_types/aggregations/Aggregate.ts#L552-L554", "variantName": "adjacency_matrix" }, { @@ -38387,7 +38388,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L555-L555" + "specLocation": "_types/aggregations/Aggregate.ts#L556-L556" }, { "kind": "type_alias", @@ -38395,7 +38396,7 @@ "name": "Aggregate", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L30-L111", + "specLocation": "_types/aggregations/Aggregate.ts#L30-L112", "type": { "items": [ { @@ -38864,7 +38865,8 @@ "kind": "union_of" }, "variants": { - "kind": "external_tag" + "kind": "external_tag", + "nonExhaustive": true } }, { @@ -38886,7 +38888,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L122-L124" + "specLocation": "_types/aggregations/Aggregate.ts#L123-L125" }, { "kind": "interface", @@ -39790,9 +39792,10 @@ } } ], - "specLocation": "_types/aggregations/AggregationContainer.ts#L104-L206", + "specLocation": "_types/aggregations/AggregationContainer.ts#L104-L207", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -39929,7 +39932,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L148-L152" + "specLocation": "_types/aggregations/Aggregate.ts#L149-L153" }, { "inherits": { @@ -39965,7 +39968,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L342-L346", + "specLocation": "_types/aggregations/Aggregate.ts#L343-L347", "variantName": "auto_date_histogram" }, { @@ -40133,7 +40136,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L197-L198", + "specLocation": "_types/aggregations/Aggregate.ts#L198-L199", "variantName": "avg" }, { @@ -40304,7 +40307,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L656-L672", + "specLocation": "_types/aggregations/Aggregate.ts#L657-L673", "variantName": "box_plot" }, { @@ -40562,7 +40565,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L221-L224", + "specLocation": "_types/aggregations/Aggregate.ts#L222-L225", "variantName": "bucket_metric_value" }, { @@ -40726,7 +40729,7 @@ "name": "Buckets", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L302-L311", + "specLocation": "_types/aggregations/Aggregate.ts#L303-L312", "type": { "items": [ { @@ -40898,7 +40901,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L126-L129", + "specLocation": "_types/aggregations/Aggregate.ts#L127-L130", "variantName": "cardinality" }, { @@ -41162,7 +41165,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L726-L727", + "specLocation": "_types/aggregations/Aggregate.ts#L727-L728", "variantName": "children" }, { @@ -41233,7 +41236,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L587-L591", + "specLocation": "_types/aggregations/Aggregate.ts#L588-L592", "variantName": "composite" }, { @@ -41418,7 +41421,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L593-L595" + "specLocation": "_types/aggregations/Aggregate.ts#L594-L596" }, { "description": "Result of the `cumulative_cardinality` aggregation", @@ -41457,7 +41460,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L697-L705", + "specLocation": "_types/aggregations/Aggregate.ts#L698-L706", "variantName": "simple_long_value" }, { @@ -41561,7 +41564,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L334-L335", + "specLocation": "_types/aggregations/Aggregate.ts#L335-L336", "variantName": "date_histogram" }, { @@ -41809,7 +41812,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.", @@ -41825,7 +41828,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L522-L527", + "specLocation": "_types/aggregations/Aggregate.ts#L523-L528", "variantName": "date_range" }, { @@ -41992,7 +41995,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L215-L219", + "specLocation": "_types/aggregations/Aggregate.ts#L216-L220", "variantName": "derivative" }, { @@ -42104,7 +42107,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L397-L402", + "specLocation": "_types/aggregations/Aggregate.ts#L398-L403", "variantName": "dterms" }, { @@ -42146,7 +42149,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L404-L407" + "specLocation": "_types/aggregations/Aggregate.ts#L405-L408" }, { "kind": "interface", @@ -42448,7 +42451,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L266-L282", + "specLocation": "_types/aggregations/Aggregate.ts#L267-L283", "variantName": "extended_stats" }, { @@ -42491,7 +42494,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L284-L285", + "specLocation": "_types/aggregations/Aggregate.ts#L285-L286", "variantName": "extended_stats_bucket" }, { @@ -42569,7 +42572,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L481-L482", + "specLocation": "_types/aggregations/Aggregate.ts#L482-L483", "variantName": "filter" }, { @@ -42594,7 +42597,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L546-L547", + "specLocation": "_types/aggregations/Aggregate.ts#L547-L548", "variantName": "filters" }, { @@ -42682,7 +42685,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L549-L549" + "specLocation": "_types/aggregations/Aggregate.ts#L550-L550" }, { "inherits": { @@ -42779,7 +42782,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L289-L292", + "specLocation": "_types/aggregations/Aggregate.ts#L290-L293", "variantName": "geo_bounds" }, { @@ -42845,7 +42848,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L294-L298", + "specLocation": "_types/aggregations/Aggregate.ts#L295-L299", "variantName": "geo_centroid" }, { @@ -42900,7 +42903,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L529-L533", + "specLocation": "_types/aggregations/Aggregate.ts#L530-L534", "variantName": "geo_distance" }, { @@ -42999,7 +43002,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L492-L494", + "specLocation": "_types/aggregations/Aggregate.ts#L493-L495", "variantName": "geohash_grid" }, { @@ -43101,7 +43104,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L496-L498" + "specLocation": "_types/aggregations/Aggregate.ts#L497-L499" }, { "inherits": { @@ -43139,7 +43142,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L734-L738", + "specLocation": "_types/aggregations/Aggregate.ts#L735-L739", "variantName": "geo_line" }, { @@ -43271,7 +43274,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L500-L502", + "specLocation": "_types/aggregations/Aggregate.ts#L501-L503", "variantName": "geotile_grid" }, { @@ -43373,7 +43376,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L504-L506" + "specLocation": "_types/aggregations/Aggregate.ts#L505-L507" }, { "inherits": { @@ -43469,7 +43472,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L478-L479", + "specLocation": "_types/aggregations/Aggregate.ts#L479-L480", "variantName": "global" }, { @@ -43542,7 +43545,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L157-L158", + "specLocation": "_types/aggregations/Aggregate.ts#L158-L159", "variantName": "hdr_percentile_ranks" }, { @@ -43558,7 +43561,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L154-L155", + "specLocation": "_types/aggregations/Aggregate.ts#L155-L156", "variantName": "hdr_percentiles" }, { @@ -43583,7 +43586,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L326-L327", + "specLocation": "_types/aggregations/Aggregate.ts#L327-L328", "variantName": "histogram" }, { @@ -43780,7 +43783,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L329-L332" + "specLocation": "_types/aggregations/Aggregate.ts#L330-L333" }, { "kind": "interface", @@ -44097,7 +44100,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L609-L620", + "specLocation": "_types/aggregations/Aggregate.ts#L610-L621", "variantName": "inference" }, { @@ -44168,7 +44171,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L634-L637" + "specLocation": "_types/aggregations/Aggregate.ts#L635-L638" }, { "kind": "interface", @@ -44251,7 +44254,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L628-L632" + "specLocation": "_types/aggregations/Aggregate.ts#L629-L633" }, { "kind": "interface", @@ -44294,7 +44297,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L622-L626" + "specLocation": "_types/aggregations/Aggregate.ts#L623-L627" }, { "inherits": { @@ -44318,7 +44321,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L535-L537", + "specLocation": "_types/aggregations/Aggregate.ts#L536-L538", "variantName": "ip_range" }, { @@ -44468,7 +44471,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L539-L542" + "specLocation": "_types/aggregations/Aggregate.ts#L540-L543" }, { "kind": "type_alias", @@ -44476,7 +44479,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", @@ -44573,7 +44576,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L417-L422", + "specLocation": "_types/aggregations/Aggregate.ts#L418-L423", "variantName": "lrareterms" }, { @@ -44615,7 +44618,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.", @@ -44640,7 +44643,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L385-L390", + "specLocation": "_types/aggregations/Aggregate.ts#L386-L391", "variantName": "lterms" }, { @@ -44682,7 +44685,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L392-L395" + "specLocation": "_types/aggregations/Aggregate.ts#L393-L396" }, { "inherits": { @@ -44772,7 +44775,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L707-L711", + "specLocation": "_types/aggregations/Aggregate.ts#L708-L712", "variantName": "matrix_stats" }, { @@ -44920,7 +44923,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L713-L722" + "specLocation": "_types/aggregations/Aggregate.ts#L714-L723" }, { "inherits": { @@ -44935,7 +44938,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L188-L189", + "specLocation": "_types/aggregations/Aggregate.ts#L189-L190", "variantName": "max" }, { @@ -44981,7 +44984,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L182-L183", + "specLocation": "_types/aggregations/Aggregate.ts#L183-L184", "variantName": "median_absolute_deviation" }, { @@ -45067,7 +45070,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L185-L186", + "specLocation": "_types/aggregations/Aggregate.ts#L186-L187", "variantName": "min" }, { @@ -45134,7 +45137,7 @@ "name": "Missing", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/AggregationContainer.ts#L208-L208", + "specLocation": "_types/aggregations/AggregationContainer.ts#L209-L209", "type": { "items": [ { @@ -45185,7 +45188,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L469-L470", + "specLocation": "_types/aggregations/Aggregate.ts#L470-L471", "variantName": "missing" }, { @@ -45243,7 +45246,7 @@ "name": "MissingOrder", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/AggregationContainer.ts#L209-L213" + "specLocation": "_types/aggregations/AggregationContainer.ts#L210-L214" }, { "kind": "type_alias", @@ -45484,7 +45487,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L313-L315" + "specLocation": "_types/aggregations/Aggregate.ts#L314-L316" }, { "attachedBehaviors": [ @@ -45533,7 +45536,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L317-L324" + "specLocation": "_types/aggregations/Aggregate.ts#L318-L325" }, { "kind": "interface", @@ -45578,7 +45581,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L447-L449", + "specLocation": "_types/aggregations/Aggregate.ts#L448-L450", "variantName": "multi_terms" }, { @@ -45683,7 +45686,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L451-L455" + "specLocation": "_types/aggregations/Aggregate.ts#L452-L456" }, { "kind": "interface", @@ -45733,7 +45736,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L472-L473", + "specLocation": "_types/aggregations/Aggregate.ts#L473-L474", "variantName": "nested" }, { @@ -45835,7 +45838,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L729-L730", + "specLocation": "_types/aggregations/Aggregate.ts#L730-L731", "variantName": "parent" }, { @@ -45959,7 +45962,7 @@ "name": "Percentiles", "namespace": "_types.aggregations" }, - "specLocation": "_types/aggregations/Aggregate.ts#L138-L139", + "specLocation": "_types/aggregations/Aggregate.ts#L139-L140", "type": { "items": [ { @@ -46008,7 +46011,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L134-L136" + "specLocation": "_types/aggregations/Aggregate.ts#L135-L137" }, { "inherits": { @@ -46086,7 +46089,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L166-L167", + "specLocation": "_types/aggregations/Aggregate.ts#L167-L168", "variantName": "percentiles_bucket" }, { @@ -46179,7 +46182,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L510-L511", + "specLocation": "_types/aggregations/Aggregate.ts#L511-L512", "variantName": "range" }, { @@ -46340,7 +46343,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L513-L520" + "specLocation": "_types/aggregations/Aggregate.ts#L514-L521" }, { "inherits": { @@ -46471,7 +46474,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L691-L695", + "specLocation": "_types/aggregations/Aggregate.ts#L692-L696", "variantName": "rate" }, { @@ -46544,7 +46547,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L475-L476", + "specLocation": "_types/aggregations/Aggregate.ts#L476-L477", "variantName": "reverse_nested" }, { @@ -46590,7 +46593,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L484-L485", + "specLocation": "_types/aggregations/Aggregate.ts#L485-L486", "variantName": "sampler" }, { @@ -46681,7 +46684,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L599-L602", + "specLocation": "_types/aggregations/Aggregate.ts#L600-L603", "variantName": "scripted_metric" }, { @@ -46811,7 +46814,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L557-L559", + "specLocation": "_types/aggregations/Aggregate.ts#L558-L560", "variantName": "siglterms" }, { @@ -46853,7 +46856,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L566-L569" + "specLocation": "_types/aggregations/Aggregate.ts#L567-L570" }, { "inherits": { @@ -46877,7 +46880,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L571-L573", + "specLocation": "_types/aggregations/Aggregate.ts#L572-L574", "variantName": "sigsterms" }, { @@ -46908,7 +46911,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L575-L577" + "specLocation": "_types/aggregations/Aggregate.ts#L576-L578" }, { "inherits": { @@ -47130,7 +47133,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L561-L564" + "specLocation": "_types/aggregations/Aggregate.ts#L562-L565" }, { "inherits": { @@ -47398,7 +47401,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L212-L213", + "specLocation": "_types/aggregations/Aggregate.ts#L213-L214", "variantName": "simple_value" }, { @@ -47454,7 +47457,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L459-L467" + "specLocation": "_types/aggregations/Aggregate.ts#L460-L468" }, { "inherits": { @@ -47505,7 +47508,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L171-L180" + "specLocation": "_types/aggregations/Aggregate.ts#L172-L181" }, { "kind": "interface", @@ -47653,7 +47656,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L248-L255" + "specLocation": "_types/aggregations/Aggregate.ts#L249-L256" }, { "kind": "interface", @@ -47729,7 +47732,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).", @@ -47881,7 +47884,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L228-L243", + "specLocation": "_types/aggregations/Aggregate.ts#L229-L244", "variantName": "stats" }, { @@ -47912,7 +47915,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L245-L246", + "specLocation": "_types/aggregations/Aggregate.ts#L246-L247", "variantName": "stats_bucket" }, { @@ -47953,7 +47956,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L429-L433", + "specLocation": "_types/aggregations/Aggregate.ts#L430-L434", "variantName": "srareterms" }, { @@ -47984,7 +47987,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L435-L437" + "specLocation": "_types/aggregations/Aggregate.ts#L436-L438" }, { "inherits": { @@ -48170,7 +48173,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L643-L654", + "specLocation": "_types/aggregations/Aggregate.ts#L644-L655", "variantName": "string_stats" }, { @@ -48223,7 +48226,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L370-L375", + "specLocation": "_types/aggregations/Aggregate.ts#L371-L376", "variantName": "sterms" }, { @@ -48254,7 +48257,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.", @@ -48270,7 +48273,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L191-L195", + "specLocation": "_types/aggregations/Aggregate.ts#L192-L196", "variantName": "sum" }, { @@ -48337,7 +48340,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L163-L164", + "specLocation": "_types/aggregations/Aggregate.ts#L164-L165", "variantName": "tdigest_percentile_ranks" }, { @@ -48353,7 +48356,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L160-L161", + "specLocation": "_types/aggregations/Aggregate.ts#L161-L162", "variantName": "tdigest_percentiles" }, { @@ -48404,7 +48407,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L685-L689", + "specLocation": "_types/aggregations/Aggregate.ts#L686-L690", "variantName": "t_test" }, { @@ -48526,7 +48529,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L363-L368" + "specLocation": "_types/aggregations/Aggregate.ts#L364-L369" }, { "inherits": { @@ -48838,7 +48841,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L377-L379" + "specLocation": "_types/aggregations/Aggregate.ts#L378-L380" }, { "codegenNames": [ @@ -49021,7 +49024,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L604-L607", + "specLocation": "_types/aggregations/Aggregate.ts#L605-L608", "variantName": "top_hits" }, { @@ -49251,7 +49254,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L679-L683" + "specLocation": "_types/aggregations/Aggregate.ts#L680-L684" }, { "inherits": { @@ -49281,7 +49284,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L674-L677", + "specLocation": "_types/aggregations/Aggregate.ts#L675-L678", "variantName": "top_metrics" }, { @@ -49392,7 +49395,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L439-L445", + "specLocation": "_types/aggregations/Aggregate.ts#L440-L446", "variantName": "umrareterms" }, { @@ -49411,7 +49414,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L487-L488", + "specLocation": "_types/aggregations/Aggregate.ts#L488-L489", "variantName": "unmapped_sampler" }, { @@ -49437,7 +49440,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L579-L585", + "specLocation": "_types/aggregations/Aggregate.ts#L580-L586", "variantName": "umsigterms" }, { @@ -49463,7 +49466,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L409-L415", + "specLocation": "_types/aggregations/Aggregate.ts#L410-L416", "variantName": "umterms" }, { @@ -49480,7 +49483,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L206-L210", + "specLocation": "_types/aggregations/Aggregate.ts#L207-L211", "variantName": "value_count" }, { @@ -49560,7 +49563,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L348-L350", + "specLocation": "_types/aggregations/Aggregate.ts#L349-L351", "variantName": "variable_width_histogram" }, { @@ -49700,7 +49703,7 @@ } } ], - "specLocation": "_types/aggregations/Aggregate.ts#L352-L359" + "specLocation": "_types/aggregations/Aggregate.ts#L353-L360" }, { "inherits": { @@ -49819,7 +49822,7 @@ "namespace": "_types.aggregations" }, "properties": [], - "specLocation": "_types/aggregations/Aggregate.ts#L200-L204", + "specLocation": "_types/aggregations/Aggregate.ts#L201-L205", "variantName": "weighted_avg" }, { @@ -49828,7 +49831,7 @@ "name": "Analyzer", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/analyzers.ts#L113-L128", + "specLocation": "_types/analysis/analyzers.ts#L113-L131", "type": { "items": [ { @@ -49935,6 +49938,7 @@ "variants": { "defaultTag": "custom", "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -50031,7 +50035,7 @@ "name": "CharFilterDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/char_filters.ts#L32-L38", + "specLocation": "_types/analysis/char_filters.ts#L32-L41", "type": { "items": [ { @@ -50074,6 +50078,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -50941,7 +50946,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L40-L42" + "specLocation": "_types/analysis/char_filters.ts#L43-L45" }, { "inherits": { @@ -52570,7 +52575,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L44-L48" + "specLocation": "_types/analysis/char_filters.ts#L47-L51" }, { "inherits": { @@ -53231,7 +53236,7 @@ } } ], - "specLocation": "_types/analysis/char_filters.ts#L50-L55" + "specLocation": "_types/analysis/char_filters.ts#L53-L58" }, { "inherits": { @@ -54598,7 +54603,7 @@ "name": "TokenFilterDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/token_filters.ts#L344-L394", + "specLocation": "_types/analysis/token_filters.ts#L344-L397", "type": { "items": [ { @@ -54942,6 +54947,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -55003,7 +55009,7 @@ "name": "TokenizerDefinition", "namespace": "_types.analysis" }, - "specLocation": "_types/analysis/tokenizers.ts#L123-L138", + "specLocation": "_types/analysis/tokenizers.ts#L123-L141", "type": { "items": [ { @@ -55109,6 +55115,7 @@ }, "variants": { "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -57150,7 +57157,7 @@ "name": "FieldType", "namespace": "_types.mapping" }, - "specLocation": "_types/mapping/Property.ts#L67-L110" + "specLocation": "_types/mapping/Property.ts#L70-L113" }, { "inherits": { @@ -58464,7 +58471,7 @@ "name": "Property", "namespace": "_types.mapping" }, - "specLocation": "_types/mapping/Property.ts#L53-L65", + "specLocation": "_types/mapping/Property.ts#L53-L68", "type": { "items": [ { @@ -58550,6 +58557,7 @@ "variants": { "defaultTag": "object", "kind": "internal_tag", + "nonExhaustive": true, "tag": "type" } }, @@ -60363,7 +60371,7 @@ "name": "CombinedFieldsOperator", "namespace": "_types.query_dsl" }, - "specLocation": "_types/query_dsl/abstractions.ts#L203-L206" + "specLocation": "_types/query_dsl/abstractions.ts#L204-L207" }, { "inherits": { @@ -60451,7 +60459,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L182-L196" + "specLocation": "_types/query_dsl/abstractions.ts#L183-L197" }, { "kind": "enum", @@ -60467,7 +60475,7 @@ "name": "CombinedFieldsZeroTerms", "namespace": "_types.query_dsl" }, - "specLocation": "_types/query_dsl/abstractions.ts#L208-L211" + "specLocation": "_types/query_dsl/abstractions.ts#L209-L212" }, { "inherits": { @@ -61130,7 +61138,7 @@ } ], "shortcutProperty": "field", - "specLocation": "_types/query_dsl/abstractions.ts#L213-L227" + "specLocation": "_types/query_dsl/abstractions.ts#L214-L228" }, { "kind": "interface", @@ -61184,7 +61192,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L165-L170" + "specLocation": "_types/query_dsl/abstractions.ts#L166-L171" }, { "kind": "enum", @@ -64684,7 +64692,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L176-L180" + "specLocation": "_types/query_dsl/abstractions.ts#L177-L181" }, { "docId": "query-dsl", @@ -65464,9 +65472,10 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L97-L163", + "specLocation": "_types/query_dsl/abstractions.ts#L97-L164", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -67536,7 +67545,7 @@ } } ], - "specLocation": "_types/query_dsl/abstractions.ts#L198-L201" + "specLocation": "_types/query_dsl/abstractions.ts#L199-L202" }, { "kind": "enum", @@ -111885,7 +111894,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L88-L92" + "specLocation": "ingest/_types/Processors.ts#L89-L93" }, { "inherits": { @@ -111981,7 +111990,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L94-L102" + "specLocation": "ingest/_types/Processors.ts#L95-L103" }, { "inherits": { @@ -112030,7 +112039,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L121-L125" + "specLocation": "ingest/_types/Processors.ts#L122-L126" }, { "inherits": { @@ -112101,7 +112110,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L127-L133" + "specLocation": "ingest/_types/Processors.ts#L128-L134" }, { "inherits": { @@ -112161,7 +112170,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L145-L150" + "specLocation": "ingest/_types/Processors.ts#L146-L151" }, { "kind": "enum", @@ -112192,7 +112201,7 @@ "name": "ConvertType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L135-L143" + "specLocation": "ingest/_types/Processors.ts#L136-L144" }, { "inherits": { @@ -112292,7 +112301,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L152-L161" + "specLocation": "ingest/_types/Processors.ts#L153-L162" }, { "inherits": { @@ -112389,7 +112398,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L163-L176" + "specLocation": "ingest/_types/Processors.ts#L164-L177" }, { "inherits": { @@ -112463,7 +112472,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L178-L184" + "specLocation": "ingest/_types/Processors.ts#L179-L185" }, { "inherits": { @@ -112523,7 +112532,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L186-L191" + "specLocation": "ingest/_types/Processors.ts#L187-L192" }, { "inherits": { @@ -112561,7 +112570,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L193-L196" + "specLocation": "ingest/_types/Processors.ts#L194-L197" }, { "inherits": { @@ -112576,7 +112585,7 @@ "namespace": "ingest._types" }, "properties": [], - "specLocation": "ingest/_types/Processors.ts#L198-L198" + "specLocation": "ingest/_types/Processors.ts#L199-L199" }, { "inherits": { @@ -112669,7 +112678,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L200-L208" + "specLocation": "ingest/_types/Processors.ts#L201-L209" }, { "inherits": { @@ -112696,7 +112705,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L210-L212" + "specLocation": "ingest/_types/Processors.ts#L211-L213" }, { "inherits": { @@ -112745,7 +112754,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L214-L218" + "specLocation": "ingest/_types/Processors.ts#L215-L219" }, { "inherits": { @@ -112830,7 +112839,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L104-L111" + "specLocation": "ingest/_types/Processors.ts#L105-L112" }, { "inherits": { @@ -112915,7 +112924,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L220-L226" + "specLocation": "ingest/_types/Processors.ts#L221-L227" }, { "inherits": { @@ -112986,7 +112995,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L228-L234" + "specLocation": "ingest/_types/Processors.ts#L229-L235" }, { "kind": "interface", @@ -113018,7 +113027,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L243-L249", + "specLocation": "ingest/_types/Processors.ts#L244-L250", "variants": { "kind": "container" } @@ -113086,7 +113095,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L256-L262" + "specLocation": "ingest/_types/Processors.ts#L257-L263" }, { "kind": "interface", @@ -113118,7 +113127,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L251-L254" + "specLocation": "ingest/_types/Processors.ts#L252-L255" }, { "inherits": { @@ -113185,7 +113194,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L236-L241" + "specLocation": "ingest/_types/Processors.ts#L237-L242" }, { "inherits": { @@ -113234,7 +113243,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L264-L268" + "specLocation": "ingest/_types/Processors.ts#L265-L269" }, { "inherits": { @@ -113283,7 +113292,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L270-L274" + "specLocation": "ingest/_types/Processors.ts#L271-L275" }, { "inherits": { @@ -113426,7 +113435,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L276-L288" + "specLocation": "ingest/_types/Processors.ts#L277-L289" }, { "inherits": { @@ -113475,7 +113484,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L290-L294" + "specLocation": "ingest/_types/Processors.ts#L291-L295" }, { "kind": "interface", @@ -113608,7 +113617,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L296-L298" + "specLocation": "ingest/_types/Processors.ts#L297-L299" }, { "kind": "interface", @@ -113665,7 +113674,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L68-L73" + "specLocation": "ingest/_types/Processors.ts#L69-L74" }, { "kind": "interface", @@ -114049,9 +114058,10 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L28-L66", + "specLocation": "ingest/_types/Processors.ts#L28-L67", "variants": { - "kind": "container" + "kind": "container", + "nonExhaustive": true } }, { @@ -114090,7 +114100,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L300-L303" + "specLocation": "ingest/_types/Processors.ts#L301-L304" }, { "inherits": { @@ -114139,7 +114149,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L305-L309" + "specLocation": "ingest/_types/Processors.ts#L306-L310" }, { "inherits": { @@ -114184,7 +114194,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L318-L322" + "specLocation": "ingest/_types/Processors.ts#L319-L323" }, { "inherits": { @@ -114225,7 +114235,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L324-L327" + "specLocation": "ingest/_types/Processors.ts#L325-L328" }, { "kind": "enum", @@ -114241,7 +114251,7 @@ "name": "ShapeType", "namespace": "ingest._types" }, - "specLocation": "ingest/_types/Processors.ts#L329-L332" + "specLocation": "ingest/_types/Processors.ts#L330-L333" }, { "inherits": { @@ -114290,7 +114300,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L334-L338" + "specLocation": "ingest/_types/Processors.ts#L335-L339" }, { "inherits": { @@ -114361,7 +114371,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L340-L346" + "specLocation": "ingest/_types/Processors.ts#L341-L347" }, { "inherits": { @@ -114410,7 +114420,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L348-L352" + "specLocation": "ingest/_types/Processors.ts#L349-L353" }, { "inherits": { @@ -114459,7 +114469,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L354-L358" + "specLocation": "ingest/_types/Processors.ts#L355-L359" }, { "inherits": { @@ -114508,7 +114518,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L360-L364" + "specLocation": "ingest/_types/Processors.ts#L361-L365" }, { "inherits": { @@ -114582,7 +114592,7 @@ } } ], - "specLocation": "ingest/_types/Processors.ts#L113-L119" + "specLocation": "ingest/_types/Processors.ts#L114-L120" }, { "kind": "enum", @@ -114622,7 +114632,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