@azure/search-documents 11.3.2 → 11.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +10 -10
- package/dist/index.js.map +1 -1
- package/dist-esm/src/constants.js +1 -1
- package/dist-esm/src/constants.js.map +1 -1
- package/dist-esm/src/generated/service/models/mappers.js +9 -9
- package/dist-esm/src/generated/service/models/mappers.js.map +1 -1
- package/package.json +4 -4
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/generated/data/models/mappers.ts","../src/generated/data/models/parameters.ts","../src/generated/data/operations/documents.ts","../src/generated/data/searchClientContext.ts","../src/generated/data/searchClient.ts","../src/searchApiKeyCredentialPolicy.ts","../src/logger.ts","../src/tracing.ts","../src/geographyPoint.ts","../src/serialization.ts","../src/odataMetadataPolicy.ts","../src/indexDocumentsBatch.ts","../src/base64.ts","../src/serviceModels.ts","../src/serviceUtils.ts","../src/searchAudience.ts","../src/constants.ts","../src/searchClient.ts","../src/searchIndexingBufferedSender.ts","../src/generated/service/models/mappers.ts","../src/generated/service/models/parameters.ts","../src/generated/service/operations/dataSources.ts","../src/generated/service/operations/indexers.ts","../src/generated/service/operations/skillsets.ts","../src/generated/service/operations/synonymMaps.ts","../src/generated/service/operations/indexes.ts","../src/generated/service/searchServiceClientContext.ts","../src/generated/service/searchServiceClient.ts","../src/searchIndexClient.ts","../src/searchIndexerClient.ts","../src/odata.ts","../src/synonymMapHelper.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const SearchError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchDocumentsResult\",\n modelProperties: {\n count: {\n serializedName: \"@odata\\\\.count\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n facets: {\n serializedName: \"@search\\\\.facets\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"FacetResult\" } }\n }\n }\n }\n },\n nextPageParameters: {\n serializedName: \"@search\\\\.nextPageParameters\",\n type: {\n name: \"Composite\",\n className: \"SearchRequest\"\n }\n },\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchResult\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@odata\\\\.nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FacetResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FacetResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n count: {\n serializedName: \"count\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchRequest\",\n modelProperties: {\n includeTotalResultCount: {\n serializedName: \"count\",\n type: {\n name: \"Boolean\"\n }\n },\n facets: {\n serializedName: \"facets\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n highlightFields: {\n serializedName: \"highlight\",\n type: {\n name: \"String\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n orderBy: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n },\n queryType: {\n serializedName: \"queryType\",\n type: {\n name: \"Enum\",\n allowedValues: [\"simple\", \"full\"]\n }\n },\n scoringStatistics: {\n serializedName: \"scoringStatistics\",\n type: {\n name: \"Enum\",\n allowedValues: [\"local\", \"global\"]\n }\n },\n sessionId: {\n serializedName: \"sessionId\",\n type: {\n name: \"String\"\n }\n },\n scoringParameters: {\n serializedName: \"scoringParameters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n scoringProfile: {\n serializedName: \"scoringProfile\",\n type: {\n name: \"String\"\n }\n },\n searchText: {\n serializedName: \"search\",\n type: {\n name: \"String\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n searchMode: {\n serializedName: \"searchMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"any\", \"all\"]\n }\n },\n select: {\n serializedName: \"select\",\n type: {\n name: \"String\"\n }\n },\n skip: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n _score: {\n serializedName: \"@search\\\\.score\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n _highlights: {\n serializedName: \"@search\\\\.highlights\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Sequence\", element: { type: { name: \"String\" } } }\n }\n }\n }\n }\n }\n};\n\nexport const SuggestDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestDocumentsResult\",\n modelProperties: {\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SuggestResult\"\n }\n }\n }\n },\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SuggestResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n _text: {\n serializedName: \"@search\\\\.text\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SuggestRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestRequest\",\n modelProperties: {\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n useFuzzyMatching: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n orderBy: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n },\n searchText: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n select: {\n serializedName: \"select\",\n type: {\n name: \"String\"\n }\n },\n suggesterName: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const IndexBatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexBatch\",\n modelProperties: {\n actions: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexAction\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IndexAction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexAction\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n __actionType: {\n serializedName: \"@search\\\\.action\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"upload\", \"merge\", \"mergeOrUpload\", \"delete\"]\n }\n }\n }\n }\n};\n\nexport const IndexDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexDocumentsResult\",\n modelProperties: {\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexingResult\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IndexingResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingResult\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n succeeded: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n statusCode: {\n serializedName: \"statusCode\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AutocompleteResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteResult\",\n modelProperties: {\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AutocompleteItem\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AutocompleteItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteItem\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n queryPlusText: {\n serializedName: \"queryPlusText\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AutocompleteRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteRequest\",\n modelProperties: {\n searchText: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n autocompleteMode: {\n serializedName: \"autocompleteMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"oneTerm\", \"twoTerms\", \"oneTermWithContext\"]\n }\n },\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n useFuzzyMatching: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n suggesterName: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SearchRequest as SearchRequestMapper,\n SuggestRequest as SuggestRequestMapper,\n IndexBatch as IndexBatchMapper,\n AutocompleteRequest as AutocompleteRequestMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const indexName: OperationURLParameter = {\n parameterPath: \"indexName\",\n mapper: {\n serializedName: \"indexName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchText: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchText\"],\n mapper: {\n serializedName: \"search\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const includeTotalResultCount: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"includeTotalResultCount\"],\n mapper: {\n serializedName: \"$count\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const facets: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"facets\"],\n mapper: {\n serializedName: \"facet\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const filter: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightFields\"],\n mapper: {\n serializedName: \"highlight\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const highlightPostTag: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const orderBy: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"orderBy\"],\n mapper: {\n serializedName: \"$orderby\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const queryType: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"queryType\"],\n mapper: {\n serializedName: \"queryType\",\n type: {\n name: \"Enum\",\n allowedValues: [\"simple\", \"full\"]\n }\n }\n};\n\nexport const scoringParameters: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringParameters\"],\n mapper: {\n serializedName: \"scoringParameter\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const scoringProfile: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringProfile\"],\n mapper: {\n serializedName: \"scoringProfile\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchMode: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"searchMode\"],\n mapper: {\n serializedName: \"searchMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"any\", \"all\"]\n }\n }\n};\n\nexport const scoringStatistics: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringStatistics\"],\n mapper: {\n serializedName: \"scoringStatistics\",\n type: {\n name: \"Enum\",\n allowedValues: [\"local\", \"global\"]\n }\n }\n};\n\nexport const sessionId: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"sessionId\"],\n mapper: {\n serializedName: \"sessionId\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const skip: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"skip\"],\n mapper: {\n serializedName: \"$skip\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchRequest: OperationParameter = {\n parameterPath: \"searchRequest\",\n mapper: SearchRequestMapper\n};\n\nexport const key: OperationURLParameter = {\n parameterPath: \"key\",\n mapper: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const selectedFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"selectedFields\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchText1: OperationQueryParameter = {\n parameterPath: \"searchText\",\n mapper: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const suggesterName: OperationQueryParameter = {\n parameterPath: \"suggesterName\",\n mapper: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const filter1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const useFuzzyMatching: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"useFuzzyMatching\"],\n mapper: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const highlightPostTag1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const orderBy1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"orderBy\"],\n mapper: {\n serializedName: \"$orderby\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchFields1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const select1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const top1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const suggestRequest: OperationParameter = {\n parameterPath: \"suggestRequest\",\n mapper: SuggestRequestMapper\n};\n\nexport const batch: OperationParameter = {\n parameterPath: \"batch\",\n mapper: IndexBatchMapper\n};\n\nexport const autocompleteMode: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"autocompleteMode\"],\n mapper: {\n serializedName: \"autocompleteMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"oneTerm\", \"twoTerms\", \"oneTermWithContext\"]\n }\n }\n};\n\nexport const filter2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const useFuzzyMatching1: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"useFuzzyMatching\"],\n mapper: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const highlightPostTag2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const searchFields2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const top2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const autocompleteRequest: OperationParameter = {\n parameterPath: \"autocompleteRequest\",\n mapper: AutocompleteRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Documents } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchClientContext } from \"../searchClientContext\";\nimport {\n DocumentsCountOptionalParams,\n DocumentsCountResponse,\n DocumentsSearchGetOptionalParams,\n DocumentsSearchGetResponse,\n SearchRequest,\n DocumentsSearchPostOptionalParams,\n DocumentsSearchPostResponse,\n DocumentsGetOptionalParams,\n DocumentsGetResponse,\n DocumentsSuggestGetOptionalParams,\n DocumentsSuggestGetResponse,\n SuggestRequest,\n DocumentsSuggestPostOptionalParams,\n DocumentsSuggestPostResponse,\n IndexBatch,\n DocumentsIndexOptionalParams,\n DocumentsIndexResponse,\n DocumentsAutocompleteGetOptionalParams,\n DocumentsAutocompleteGetResponse,\n AutocompleteRequest,\n DocumentsAutocompletePostOptionalParams,\n DocumentsAutocompletePostResponse\n} from \"../models\";\n\n/** Class representing a Documents. */\nexport class DocumentsImpl implements Documents {\n private readonly client: SearchClientContext;\n\n /**\n * Initialize a new instance of the class Documents class.\n * @param client Reference to the service client\n */\n constructor(client: SearchClientContext) {\n this.client = client;\n }\n\n /**\n * Queries the number of documents in the index.\n * @param options The options parameters.\n */\n count(\n options?: DocumentsCountOptionalParams\n ): Promise<DocumentsCountResponse> {\n return this.client.sendOperationRequest({ options }, countOperationSpec);\n }\n\n /**\n * Searches for documents in the index.\n * @param options The options parameters.\n */\n searchGet(\n options?: DocumentsSearchGetOptionalParams\n ): Promise<DocumentsSearchGetResponse> {\n return this.client.sendOperationRequest(\n { options },\n searchGetOperationSpec\n );\n }\n\n /**\n * Searches for documents in the index.\n * @param searchRequest The definition of the Search request.\n * @param options The options parameters.\n */\n searchPost(\n searchRequest: SearchRequest,\n options?: DocumentsSearchPostOptionalParams\n ): Promise<DocumentsSearchPostResponse> {\n return this.client.sendOperationRequest(\n { searchRequest, options },\n searchPostOperationSpec\n );\n }\n\n /**\n * Retrieves a document from the index.\n * @param key The key of the document to retrieve.\n * @param options The options parameters.\n */\n get(\n key: string,\n options?: DocumentsGetOptionalParams\n ): Promise<DocumentsGetResponse> {\n return this.client.sendOperationRequest({ key, options }, getOperationSpec);\n }\n\n /**\n * Suggests documents in the index that match the given partial query text.\n * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no\n * more than 100 characters.\n * @param suggesterName The name of the suggester as specified in the suggesters collection that's part\n * of the index definition.\n * @param options The options parameters.\n */\n suggestGet(\n searchText: string,\n suggesterName: string,\n options?: DocumentsSuggestGetOptionalParams\n ): Promise<DocumentsSuggestGetResponse> {\n return this.client.sendOperationRequest(\n { searchText, suggesterName, options },\n suggestGetOperationSpec\n );\n }\n\n /**\n * Suggests documents in the index that match the given partial query text.\n * @param suggestRequest The Suggest request.\n * @param options The options parameters.\n */\n suggestPost(\n suggestRequest: SuggestRequest,\n options?: DocumentsSuggestPostOptionalParams\n ): Promise<DocumentsSuggestPostResponse> {\n return this.client.sendOperationRequest(\n { suggestRequest, options },\n suggestPostOperationSpec\n );\n }\n\n /**\n * Sends a batch of document write actions to the index.\n * @param batch The batch of index actions.\n * @param options The options parameters.\n */\n index(\n batch: IndexBatch,\n options?: DocumentsIndexOptionalParams\n ): Promise<DocumentsIndexResponse> {\n return this.client.sendOperationRequest(\n { batch, options },\n indexOperationSpec\n );\n }\n\n /**\n * Autocompletes incomplete query terms based on input text and matching terms in the index.\n * @param searchText The incomplete term which should be auto-completed.\n * @param suggesterName The name of the suggester as specified in the suggesters collection that's part\n * of the index definition.\n * @param options The options parameters.\n */\n autocompleteGet(\n searchText: string,\n suggesterName: string,\n options?: DocumentsAutocompleteGetOptionalParams\n ): Promise<DocumentsAutocompleteGetResponse> {\n return this.client.sendOperationRequest(\n { searchText, suggesterName, options },\n autocompleteGetOperationSpec\n );\n }\n\n /**\n * Autocompletes incomplete query terms based on input text and matching terms in the index.\n * @param autocompleteRequest The definition of the Autocomplete request.\n * @param options The options parameters.\n */\n autocompletePost(\n autocompleteRequest: AutocompleteRequest,\n options?: DocumentsAutocompletePostOptionalParams\n ): Promise<DocumentsAutocompletePostResponse> {\n return this.client.sendOperationRequest(\n { autocompleteRequest, options },\n autocompletePostOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst countOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/$count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"Number\" } }\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst searchGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText,\n Parameters.includeTotalResultCount,\n Parameters.facets,\n Parameters.filter,\n Parameters.highlightFields,\n Parameters.highlightPostTag,\n Parameters.highlightPreTag,\n Parameters.minimumCoverage,\n Parameters.orderBy,\n Parameters.queryType,\n Parameters.scoringParameters,\n Parameters.scoringProfile,\n Parameters.searchFields,\n Parameters.searchMode,\n Parameters.scoringStatistics,\n Parameters.sessionId,\n Parameters.select,\n Parameters.skip,\n Parameters.top\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst searchPostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.search\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.searchRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/docs('{key}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"any\" } }\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.selectedFields],\n urlParameters: [Parameters.endpoint, Parameters.indexName, Parameters.key],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst suggestGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.suggest\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SuggestDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText1,\n Parameters.suggesterName,\n Parameters.filter1,\n Parameters.useFuzzyMatching,\n Parameters.highlightPostTag1,\n Parameters.highlightPreTag1,\n Parameters.minimumCoverage1,\n Parameters.orderBy1,\n Parameters.searchFields1,\n Parameters.select1,\n Parameters.top1\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst suggestPostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.suggest\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.SuggestDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.suggestRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst indexOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.index\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.IndexDocumentsResult\n },\n 207: {\n bodyMapper: Mappers.IndexDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.batch,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst autocompleteGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.autocomplete\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AutocompleteResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText1,\n Parameters.suggesterName,\n Parameters.autocompleteMode,\n Parameters.filter2,\n Parameters.useFuzzyMatching1,\n Parameters.highlightPostTag2,\n Parameters.highlightPreTag2,\n Parameters.minimumCoverage2,\n Parameters.searchFields2,\n Parameters.top2\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst autocompletePostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.autocomplete\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AutocompleteResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.autocompleteRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { ApiVersion20200630, SearchClientOptionalParams } from \"./models\";\n\n/** @internal */\nexport class SearchClientContext extends coreClient.ServiceClient {\n endpoint: string;\n indexName: string;\n apiVersion: ApiVersion20200630;\n\n /**\n * Initializes a new instance of the SearchClientContext class.\n * @param endpoint The endpoint URL of the search service.\n * @param indexName The name of the index.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n indexName: string,\n apiVersion: ApiVersion20200630,\n options?: SearchClientOptionalParams\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n if (indexName === undefined) {\n throw new Error(\"'indexName' cannot be null\");\n }\n if (apiVersion === undefined) {\n throw new Error(\"'apiVersion' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: SearchClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n baseUri: options.endpoint || \"{endpoint}/indexes('{indexName}')\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n this.indexName = indexName;\n this.apiVersion = apiVersion;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { DocumentsImpl } from \"./operations\";\nimport { Documents } from \"./operationsInterfaces\";\nimport { SearchClientContext } from \"./searchClientContext\";\nimport { SearchClientOptionalParams, ApiVersion20200630 } from \"./models\";\n\n/** @internal */\nexport class SearchClient extends SearchClientContext {\n /**\n * Initializes a new instance of the SearchClient class.\n * @param endpoint The endpoint URL of the search service.\n * @param indexName The name of the index.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n indexName: string,\n apiVersion: ApiVersion20200630,\n options?: SearchClientOptionalParams\n ) {\n super(endpoint, indexName, apiVersion, options);\n this.documents = new DocumentsImpl(this);\n }\n\n documents: Documents;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential } from \"@azure/core-auth\";\nimport {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\nconst API_KEY_HEADER_NAME = \"api-key\";\nconst searchApiKeyCredentialPolicy = \"SearchApiKeyCredentialPolicy\";\n\n/**\n * Create an HTTP pipeline policy to authenticate a request\n * using an `AzureKeyCredential` for Azure Cognitive Search\n */\nexport function createSearchApiKeyCredentialPolicy(credential: KeyCredential): PipelinePolicy {\n return {\n name: searchApiKeyCredentialPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (!request.headers.has(API_KEY_HEADER_NAME)) {\n request.headers.set(API_KEY_HEADER_NAME, credential.key);\n }\n return next(request);\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The `@azure/logger` configuration for this package.\n */\nexport const logger = createClientLogger(\"search\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * Creates a tracing client using the global tracer.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Search\",\n packageName: \"Azure.Search\",\n});\n\nexport const createSpan = tracingClient.startSpan;\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\n/**\n * Represents a geographic point in global coordinates.\n */\nexport default class GeographyPoint {\n /**\n * The latitude in decimal.\n */\n public latitude: number;\n /**\n * The longitude in decimal.\n */\n public longitude: number;\n\n /**\n * Constructs a new instance of GeographyPoint given\n * the specified coordinates.\n * @param geographyPoint - object with longitude and latitude values in decimal\n */\n constructor(geographyPoint: { longitude: number; latitude: number }) {\n this.longitude = geographyPoint.longitude;\n this.latitude = geographyPoint.latitude;\n }\n\n /**\n * Used to serialize to a GeoJSON Point.\n */\n public toJSON(): Record<string, unknown> {\n return {\n type: \"Point\",\n coordinates: [this.longitude, this.latitude],\n crs: { type: \"name\", properties: { name: WorldGeodeticSystem1984 } },\n };\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport GeographyPoint from \"./geographyPoint\";\n\nconst ISO8601DateRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$/i;\nconst GeoJSONPointTypeName = \"Point\";\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\nexport function serialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, (value) => {\n const result = serializeSpecialNumbers(value);\n return result;\n });\n}\n\nexport function deserialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, (value) => {\n let result = deserializeSpecialNumbers(value);\n result = deserializeDates(result);\n result = deserializeGeoPoint(result);\n return result;\n });\n}\n\nfunction walk(start: unknown, mapper: (val: any) => any): any {\n // eslint-disable-next-line @typescript-eslint/ban-types\n const seenMarker = new WeakMap<object, boolean>();\n const result = { value: undefined };\n const queue: { value: any; parent: any; key: string }[] = [\n { value: start, parent: result, key: \"value\" },\n ];\n\n while (queue.length) {\n const current = queue.shift()!;\n\n if (typeof current.value === \"object\" && current.value !== null) {\n if (seenMarker.has(current.value)) {\n continue;\n } else {\n seenMarker.set(current.value, true);\n }\n }\n\n const mapped = mapper(current.value);\n if (current?.parent && current.key) {\n current.parent[current.key] = mapped;\n }\n if (typeof mapped === \"object\" && mapped !== null) {\n for (const key of Object.keys(mapped)) {\n queue.push({\n value: mapped[key],\n parent: mapped,\n key,\n });\n }\n }\n }\n\n return result.value;\n}\n\nfunction serializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"number\") {\n if (isNaN(input)) {\n return \"NaN\";\n } else if (input === Infinity) {\n return \"INF\";\n } else if (input === -Infinity) {\n return \"-INF\";\n }\n }\n return input;\n}\n\nfunction deserializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"string\") {\n if (input === \"NaN\") {\n return NaN;\n } else if (input === \"INF\") {\n return Infinity;\n } else if (input === \"-INF\") {\n return -Infinity;\n }\n }\n return input;\n}\n\nfunction deserializeDates(input: unknown): Date | unknown {\n if (typeof input === \"string\") {\n if (ISO8601DateRegex.test(input)) {\n return new Date(input);\n }\n }\n return input;\n}\n\nfunction deserializeGeoPoint(input: unknown): GeographyPoint | unknown {\n if (isGeoJSONPoint(input)) {\n return new GeographyPoint({ longitude: input.coordinates[0], latitude: input.coordinates[1] });\n }\n\n return input;\n}\n\ninterface GeoJSONPoint {\n type: \"Point\";\n coordinates: [number, number];\n crs: {\n type: \"name\";\n properties: {\n name: \"EPSG:4326\";\n };\n };\n}\n\nfunction isGeoJSONPoint(obj: any): obj is GeoJSONPoint {\n const requiredKeys = [\"type\", \"coordinates\"];\n return isValidObject(obj, {\n requiredKeys,\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return obj.type === GeoJSONPointTypeName;\n break;\n case \"coordinates\":\n return isCoordinateArray(obj.coordinates);\n break;\n case \"crs\":\n return isCrs(obj.crs);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCoordinateArray(maybeCoordinates: any): boolean {\n if (!Array.isArray(maybeCoordinates)) {\n return false;\n }\n if (maybeCoordinates.length !== 2) {\n return false;\n }\n if (typeof maybeCoordinates[0] !== \"number\" || typeof maybeCoordinates[1] !== \"number\") {\n return false;\n }\n return true;\n}\n\nfunction isCrs(maybeCrs: any): boolean {\n return isValidObject(maybeCrs, {\n requiredKeys: [\"type\", \"properties\"],\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return maybeCrs.type === \"name\";\n break;\n case \"properties\":\n return isCrsProperties(maybeCrs.properties);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCrsProperties(maybeProperties: any): boolean {\n return isValidObject(maybeProperties, {\n requiredKeys: [\"name\"],\n propertyValidator: (key) => {\n if (key === \"name\") {\n return maybeProperties.name === WorldGeodeticSystem1984;\n } else {\n return false;\n }\n },\n });\n}\n\nfunction isValidObject(\n obj: any,\n options: {\n requiredKeys?: string[];\n propertyValidator?: (keyName: string) => boolean;\n } = {}\n): boolean {\n if (typeof obj !== \"object\" || obj === null) {\n return false;\n }\n\n const keys = Object.keys(obj);\n\n if (options.requiredKeys) {\n for (const requiredKey of options.requiredKeys) {\n if (!keys.includes(requiredKey)) {\n return false;\n }\n }\n }\n\n if (options.propertyValidator) {\n for (const key of keys) {\n if (!options.propertyValidator(key)) {\n return false;\n }\n }\n }\n\n return true;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\nconst AcceptHeaderName = \"Accept\";\n\nexport type MetadataLevel = \"none\" | \"minimal\";\nconst odataMetadataPolicy = \"OdataMetadataPolicy\";\n\n/**\n * A policy factory for setting the Accept header to ignore odata metadata\n * @internal\n */\nexport function createOdataMetadataPolicy(metadataLevel: MetadataLevel): PipelinePolicy {\n return {\n name: odataMetadataPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n request.headers.set(AcceptHeaderName, `application/json;odata.metadata=${metadataLevel}`);\n return next(request);\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IndexDocumentsAction } from \"./indexModels\";\n\n/**\n * Class used to perform batch operations\n * with multiple documents to the index.\n */\nexport class IndexDocumentsBatch<TModel> {\n /**\n * The set of actions taken in this batch.\n */\n public readonly actions: IndexDocumentsAction<TModel>[];\n\n constructor(actions: IndexDocumentsAction<TModel>[] = []) {\n this.actions = actions;\n }\n\n /**\n * Upload an array of documents to the index.\n * @param documents - The documents to upload.\n */\n public upload(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"upload\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Update a set of documents in the index.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n */\n public merge(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"merge\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Update a set of documents in the index or uploads them if they don't exist.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The new/updated documents.\n */\n public mergeOrUpload(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"mergeOrUpload\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Delete a set of documents.\n * @param keyName - The name of their primary key in the index.\n * @param keyValues - The primary key values of documents to delete.\n */\n public delete(keyName: keyof TModel, keyValues: string[]): void;\n\n /**\n * Delete a set of documents.\n * @param documents - Documents to be deleted.\n */\n public delete(documents: TModel[]): void;\n\n public delete(keyNameOrDocuments: keyof TModel | TModel[], keyValues?: string[]): void {\n if (keyValues) {\n const keyName = keyNameOrDocuments as keyof TModel;\n\n const batch = keyValues.map<IndexDocumentsAction<TModel>>((keyValue) => {\n return {\n __actionType: \"delete\",\n [keyName]: keyValue,\n } as IndexDocumentsAction<TModel>;\n });\n\n this.actions.push(...batch);\n } else {\n const documents = keyNameOrDocuments as TModel[];\n\n const batch = documents.map<IndexDocumentsAction<TModel>>((document) => {\n return {\n __actionType: \"delete\",\n ...document,\n } as IndexDocumentsAction<TModel>;\n });\n\n this.actions.push(...batch);\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Encodes a string in base64 format.\n * @param value - The string to encode.\n */\nexport function encode(value: string): string {\n return Buffer.from(value).toString(\"base64\");\n}\n\n/**\n * Decodes a base64 string into a regular string.\n * @param value - The base64 string to decode.\n */\nexport function decode(value: string): string {\n return Buffer.from(value, \"base64\").toString();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport {\n AsciiFoldingTokenFilter,\n BM25Similarity,\n CjkBigramTokenFilter,\n ClassicSimilarity,\n ClassicTokenizer,\n CognitiveServicesAccountKey,\n CommonGramTokenFilter,\n ConditionalSkill,\n CorsOptions,\n CustomEntityLookupSkill,\n DefaultCognitiveServicesAccount,\n DictionaryDecompounderTokenFilter,\n DistanceScoringFunction,\n DocumentExtractionSkill,\n EdgeNGramTokenFilterSide,\n EdgeNGramTokenizer,\n ElisionTokenFilter,\n EntityRecognitionSkill,\n FieldMapping,\n FreshnessScoringFunction,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n IndexingParameters,\n IndexingSchedule,\n KeepTokenFilter,\n KeyPhraseExtractionSkill,\n KeywordMarkerTokenFilter,\n LanguageDetectionSkill,\n LengthTokenFilter,\n LexicalAnalyzerName,\n LimitTokenFilter,\n LuceneStandardAnalyzer,\n MagnitudeScoringFunction,\n MappingCharFilter,\n MergeSkill,\n MicrosoftLanguageStemmingTokenizer,\n MicrosoftLanguageTokenizer,\n NGramTokenizer,\n OcrSkill,\n PathHierarchyTokenizerV2 as PathHierarchyTokenizer,\n PatternCaptureTokenFilter,\n PatternReplaceCharFilter,\n PatternReplaceTokenFilter,\n PhoneticTokenFilter,\n RegexFlags,\n ScoringFunctionAggregation,\n SearchIndexerDataContainer,\n SearchIndexerDataSourceType,\n SearchIndexerKnowledgeStore,\n Suggester as SearchSuggester,\n SentimentSkill,\n ServiceCounters,\n ServiceLimits,\n ShaperSkill,\n ShingleTokenFilter,\n SnowballTokenFilter,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StemmerOverrideTokenFilter,\n StemmerTokenFilter,\n StopAnalyzer,\n StopwordsTokenFilter,\n SynonymTokenFilter,\n TagScoringFunction,\n TextTranslationSkill,\n TextWeights,\n TruncateTokenFilter,\n UaxUrlEmailTokenizer,\n UniqueTokenFilter,\n WebApiSkill,\n WordDelimiterTokenFilter,\n} from \"./generated/service/models\";\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\n/**\n * Options for a list skillsets operation.\n */\nexport type ListSkillsetsOptions = OperationOptions;\n\n/**\n * Options for a list synonymMaps operation.\n */\nexport type ListSynonymMapsOptions = OperationOptions;\n\n/**\n * Options for a list indexes operation.\n */\nexport type ListIndexesOptions = OperationOptions;\n\n/**\n * Options for a list indexers operation.\n */\nexport type ListIndexersOptions = OperationOptions;\n\n/**\n * Options for a list data sources operation.\n */\nexport type ListDataSourceConnectionsOptions = OperationOptions;\n\n/**\n * Options for get index operation.\n */\nexport type GetIndexOptions = OperationOptions;\n\n/**\n * Options for get skillset operation.\n */\nexport type GetSkillSetOptions = OperationOptions;\n\n/**\n * Options for get synonymmaps operation.\n */\nexport type GetSynonymMapsOptions = OperationOptions;\n\n/**\n * Options for get indexer operation.\n */\nexport type GetIndexerOptions = OperationOptions;\n\n/**\n * Options for get datasource operation.\n */\nexport type GetDataSourceConnectionOptions = OperationOptions;\n\n/**\n * Options for get index statistics operation.\n */\nexport type GetIndexStatisticsOptions = OperationOptions;\n\n/**\n * Statistics for a given index. Statistics are collected periodically and are not guaranteed to\n * always be up-to-date.\n */\nexport interface SearchIndexStatistics {\n /**\n * The number of documents in the index.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly documentCount: number;\n /**\n * The amount of storage in bytes consumed by the index.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly storageSize: number;\n}\n\n/**\n * Response from a get service statistics request. If successful, it includes service level\n * counters and limits.\n */\nexport interface SearchServiceStatistics {\n /**\n * Service level resource counters.\n */\n counters: ServiceCounters;\n /**\n * Service level general limits.\n */\n limits: ServiceLimits;\n}\n\n/**\n * Options for get service statistics operation.\n */\nexport type GetServiceStatisticsOptions = OperationOptions;\n\n/**\n * Options for get indexer status operation.\n */\nexport type GetIndexerStatusOptions = OperationOptions;\n\n/**\n * Options for reset indexer operation.\n */\nexport type ResetIndexerOptions = OperationOptions;\n\n/**\n * Options for run indexer operation.\n */\nexport type RunIndexerOptions = OperationOptions;\n\n/**\n * Options for create index operation.\n */\nexport type CreateIndexOptions = OperationOptions;\n\n/**\n * Options for create skillset operation.\n */\nexport type CreateSkillsetOptions = OperationOptions;\n/**\n * Options for create synonymmap operation.\n */\nexport type CreateSynonymMapOptions = OperationOptions;\n\n/**\n * Options for create indexer operation.\n */\nexport type CreateIndexerOptions = OperationOptions;\n\n/**\n * Options for create datasource operation.\n */\nexport type CreateDataSourceConnectionOptions = OperationOptions;\n\n/**\n * Options for create/update index operation.\n */\nexport interface CreateOrUpdateIndexOptions extends OperationOptions {\n /**\n * Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by\n * taking the index offline for at least a few seconds. This temporarily causes indexing and\n * query requests to fail. Performance and write availability of the index can be impaired for\n * several minutes after the index is updated, or longer for very large indexes.\n */\n allowIndexDowntime?: boolean;\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update skillset operation.\n */\nexport interface CreateOrUpdateSkillsetOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update synonymmap operation.\n */\nexport interface CreateOrUpdateSynonymMapOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update indexer operation.\n */\nexport interface CreateorUpdateIndexerOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update datasource operation.\n */\nexport interface CreateorUpdateDataSourceConnectionOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete index operation.\n */\nexport interface DeleteIndexOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete skillset operaion.\n */\nexport interface DeleteSkillsetOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete synonymmap operation.\n */\nexport interface DeleteSynonymMapOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete indexer operation.\n */\nexport interface DeleteIndexerOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete datasource operation.\n */\nexport interface DeleteDataSourceConnectionOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Specifies some text and analysis components used to break that text into tokens.\n */\nexport interface AnalyzeRequest {\n /**\n * The text to break into tokens.\n */\n text: string;\n /**\n * The name of the analyzer to use to break the given text. If this parameter is not specified,\n * you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually\n * exclusive. KnownAnalyzerNames is an enum containing known values.\n * NOTE: Either analyzerName or tokenizerName is required in an AnalyzeRequest.\n */\n analyzerName?: string;\n /**\n * The name of the tokenizer to use to break the given text. If this parameter is not specified,\n * you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually\n * exclusive. KnownTokenizerNames is an enum containing known values.\n * NOTE: Either analyzerName or tokenizerName is required in an AnalyzeRequest.\n */\n tokenizerName?: string;\n /**\n * An optional list of token filters to use when breaking the given text. This parameter can only\n * be set when using the tokenizer parameter.\n */\n tokenFilters?: string[];\n /**\n * An optional list of character filters to use when breaking the given text. This parameter can\n * only be set when using the tokenizer parameter.\n */\n charFilters?: string[];\n}\n\n/**\n * Options for analyze text operation.\n */\nexport type AnalyzeTextOptions = OperationOptions & AnalyzeRequest;\n\n// BEGIN manually modified generated interfaces\n//\n// This section is for places where we have to manually fix issues\n// with interfaces from the generated code.\n// One issue is that unions of discriminated types generated with\n// their abstract base class as a member.\n\n/**\n * Flexibly separates text into terms via a regular expression pattern. This analyzer is\n * implemented using Apache Lucene.\n */\nexport interface PatternAnalyzer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.PatternAnalyzer\";\n /**\n * The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores,\n * can only start and end with alphanumeric characters, and is limited to 128 characters.\n */\n name: string;\n /**\n * A value indicating whether terms should be lower-cased. Default is true. Default value: true.\n */\n lowerCaseTerms?: boolean;\n /**\n * A regular expression pattern to match token separators. Default is an expression that matches\n * one or more whitespace characters. Default value: `\\W+`.\n */\n pattern?: string;\n /**\n * Regular expression flags. Possible values include: 'CANON_EQ', 'CASE_INSENSITIVE', 'COMMENTS',\n * 'DOTALL', 'LITERAL', 'MULTILINE', 'UNICODE_CASE', 'UNIX_LINES'\n */\n flags?: RegexFlags[];\n /**\n * A list of stopwords.\n */\n stopwords?: string[];\n}\n\n/**\n * Allows you to take control over the process of converting text into indexable/searchable tokens.\n * It's a user-defined configuration consisting of a single predefined tokenizer and one or more\n * filters. The tokenizer is responsible for breaking text into tokens, and the filters for\n * modifying tokens emitted by the tokenizer.\n */\nexport interface CustomAnalyzer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.CustomAnalyzer\";\n /**\n * The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores,\n * can only start and end with alphanumeric characters, and is limited to 128 characters.\n */\n name: string;\n /**\n * The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as\n * breaking a sentence into words. KnownTokenizerNames is an enum containing known values.\n */\n tokenizerName: string;\n /**\n * A list of token filters used to filter out or modify the tokens generated by a tokenizer. For\n * example, you can specify a lowercase filter that converts all characters to lowercase. The\n * filters are run in the order in which they are listed.\n */\n tokenFilters?: string[];\n /**\n * A list of character filters used to prepare input text before it is processed by the\n * tokenizer. For instance, they can replace certain characters or symbols. The filters are run\n * in the order in which they are listed.\n */\n charFilters?: string[];\n}\n\n/**\n * Contains the possible cases for Analyzer.\n */\nexport type LexicalAnalyzer =\n | CustomAnalyzer\n | PatternAnalyzer\n | LuceneStandardAnalyzer\n | StopAnalyzer;\n\n/**\n * Contains the possible cases for Skill.\n */\nexport type SearchIndexerSkill =\n | ConditionalSkill\n | KeyPhraseExtractionSkill\n | OcrSkill\n | ImageAnalysisSkill\n | LanguageDetectionSkill\n | ShaperSkill\n | MergeSkill\n | EntityRecognitionSkill\n | SentimentSkill\n | SplitSkill\n | CustomEntityLookupSkill\n | TextTranslationSkill\n | DocumentExtractionSkill\n | WebApiSkill;\n\n/**\n * Contains the possible cases for CognitiveServicesAccount.\n */\nexport type CognitiveServicesAccount =\n | DefaultCognitiveServicesAccount\n | CognitiveServicesAccountKey;\n/**\n * Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is\n * implemented using Apache Lucene.\n */\nexport interface PatternTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.PatternTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * A regular expression pattern to match token separators. Default is an expression that matches\n * one or more whitespace characters. Default value: `\\W+`.\n */\n pattern?: string;\n /**\n * Regular expression flags. Possible values include: 'CANON_EQ', 'CASE_INSENSITIVE', 'COMMENTS',\n * 'DOTALL', 'LITERAL', 'MULTILINE', 'UNICODE_CASE', 'UNIX_LINES'\n */\n flags?: RegexFlags[];\n /**\n * The zero-based ordinal of the matching group in the regular expression pattern to extract into\n * tokens. Use -1 if you want to use the entire pattern to split the input into tokens,\n * irrespective of matching groups. Default is -1. Default value: -1.\n */\n group?: number;\n}\n/**\n * Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using\n * Apache Lucene.\n */\nexport interface LuceneStandardTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.StandardTokenizerV2\"\n | \"#Microsoft.Azure.Search.StandardTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The maximum token length. Default is 255. Tokens longer than the maximum length are split. The\n * maximum token length that can be used is 300 characters. Default value: 255.\n */\n maxTokenLength?: number;\n}\n\n/**\n * Generates n-grams of the given size(s) starting from the front or the back of an input token.\n * This token filter is implemented using Apache Lucene.\n */\nexport interface EdgeNGramTokenFilter {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\"\n | \"#Microsoft.Azure.Search.EdgeNGramTokenFilter\";\n /**\n * The name of the token filter. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of\n * maxGram. Default value: 1.\n */\n minGram?: number;\n /**\n * The maximum n-gram length. Default is 2. Maximum is 300. Default value: 2.\n */\n maxGram?: number;\n /**\n * Specifies which side of the input the n-gram should be generated from. Default is \"front\".\n * Possible values include: 'Front', 'Back'\n */\n side?: EdgeNGramTokenFilterSide;\n}\n\n/**\n * Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.\n */\nexport interface KeywordTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.KeywordTokenizerV2\"\n | \"#Microsoft.Azure.Search.KeywordTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The maximum token length. Default is 256. Tokens longer than the maximum length are split. The\n * maximum token length that can be used is 300 characters. Default value: 256.\n */\n maxTokenLength?: number;\n}\n\n/**\n * Contains the possible cases for Tokenizer.\n */\nexport type LexicalTokenizer =\n | ClassicTokenizer\n | EdgeNGramTokenizer\n | KeywordTokenizer\n | MicrosoftLanguageTokenizer\n | MicrosoftLanguageStemmingTokenizer\n | NGramTokenizer\n | PathHierarchyTokenizer\n | PatternTokenizer\n | LuceneStandardTokenizer\n | UaxUrlEmailTokenizer;\n\n/**\n * Contains the possible cases for Similarity.\n */\nexport type SimilarityAlgorithm = ClassicSimilarity | BM25Similarity;\n\n/**\n * Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.\n */\nexport interface NGramTokenFilter {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.NGramTokenFilterV2\"\n | \"#Microsoft.Azure.Search.NGramTokenFilter\";\n /**\n * The name of the token filter. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of\n * maxGram. Default value: 1.\n */\n minGram?: number;\n /**\n * The maximum n-gram length. Default is 2. Maximum is 300. Default value: 2.\n */\n maxGram?: number;\n}\n\n/**\n * Contains the possible cases for TokenFilter.\n */\nexport type TokenFilter =\n | AsciiFoldingTokenFilter\n | CjkBigramTokenFilter\n | CommonGramTokenFilter\n | DictionaryDecompounderTokenFilter\n | EdgeNGramTokenFilter\n | ElisionTokenFilter\n | KeepTokenFilter\n | KeywordMarkerTokenFilter\n | LengthTokenFilter\n | LimitTokenFilter\n | NGramTokenFilter\n | PatternCaptureTokenFilter\n | PatternReplaceTokenFilter\n | PhoneticTokenFilter\n | ShingleTokenFilter\n | SnowballTokenFilter\n | StemmerTokenFilter\n | StemmerOverrideTokenFilter\n | StopwordsTokenFilter\n | SynonymTokenFilter\n | TruncateTokenFilter\n | UniqueTokenFilter\n | WordDelimiterTokenFilter;\n\n/**\n * Contains the possible cases for CharFilter.\n */\nexport type CharFilter = MappingCharFilter | PatternReplaceCharFilter;\n\n/**\n * Contains the possible cases for ScoringFunction.\n */\nexport type ScoringFunction =\n | DistanceScoringFunction\n | FreshnessScoringFunction\n | MagnitudeScoringFunction\n | TagScoringFunction;\n\n/**\n * Defines values for SearchFieldDataType.\n * Possible values include: 'Edm.String', 'Edm.Int32', 'Edm.Int64', 'Edm.Double', 'Edm.Boolean',\n * 'Edm.DateTimeOffset', 'Edm.GeographyPoint', 'Collection(Edm.String)', 'Collection(Edm.Int32)',\n * 'Collection(Edm.Int64)', 'Collection(Edm.Double)', 'Collection(Edm.Boolean)',\n * 'Collection(Edm.DateTimeOffset)', 'Collection(Edm.GeographyPoint)'\n * @readonly\n */\nexport type SearchFieldDataType =\n | \"Edm.String\"\n | \"Edm.Int32\"\n | \"Edm.Int64\"\n | \"Edm.Double\"\n | \"Edm.Boolean\"\n | \"Edm.DateTimeOffset\"\n | \"Edm.GeographyPoint\"\n | \"Collection(Edm.String)\"\n | \"Collection(Edm.Int32)\"\n | \"Collection(Edm.Int64)\"\n | \"Collection(Edm.Double)\"\n | \"Collection(Edm.Boolean)\"\n | \"Collection(Edm.DateTimeOffset)\"\n | \"Collection(Edm.GeographyPoint)\";\n\n/**\n * Defines values for ComplexDataType.\n * Possible values include: 'Edm.ComplexType', 'Collection(Edm.ComplexType)'\n * @readonly\n */\nexport type ComplexDataType = \"Edm.ComplexType\" | \"Collection(Edm.ComplexType)\";\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport type SearchField = SimpleField | ComplexField;\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport interface SimpleField {\n /**\n * The name of the field, which must be unique within the fields collection of the index or\n * parent field.\n */\n name: string;\n /**\n * The data type of the field. Possible values include: 'Edm.String', 'Edm.Int32', 'Edm.Int64',\n * 'Edm.Double', 'Edm.Boolean', 'Edm.DateTimeOffset', 'Edm.GeographyPoint',\n * 'Collection(Edm.String)', 'Collection(Edm.Int32)', 'Collection(Edm.Int64)',\n * 'Collection(Edm.Double)', 'Collection(Edm.Boolean)', 'Collection(Edm.DateTimeOffset)',\n * 'Collection(Edm.GeographyPoint)'\n */\n type: SearchFieldDataType;\n /**\n * A value indicating whether the field uniquely identifies documents in the index. Exactly one\n * top-level field in each index must be chosen as the key field and it must be of type\n * Edm.String. Key fields can be used to look up documents directly and update or delete specific\n * documents. Default is false.\n */\n key?: boolean;\n /**\n * A value indicating whether the field can be returned in a search result. You can enable this\n * option if you want to use a field (for example, margin) as a filter, sorting, or scoring\n * mechanism but do not want the field to be visible to the end user. This property must be false\n * for key fields. This property can be changed on existing fields.\n * Disabling this property does not cause any increase in index storage requirements.\n * Default is false.\n */\n hidden?: boolean;\n /**\n * A value indicating whether the field is full-text searchable. This means it will undergo\n * analysis such as word-breaking during indexing. If you set a searchable field to a value like\n * \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This\n * enables full-text searches for these terms. This property must be false for simple\n * fields of other non-string data types.\n * Note: searchable fields consume extra space in your index since Azure Cognitive Search will store an\n * additional tokenized version of the field value for full-text searches.\n * Defaults to false for simple fields.\n */\n searchable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in $filter queries. Filterable\n * differs from searchable in how strings are handled. Fields of type Edm.String or\n * Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are\n * for exact matches only. For example, if you set such a field f to \"sunny day\", $filter=f eq\n * 'sunny' will find no matches, but $filter=f eq 'sunny day' will.\n * Default is false.\n */\n filterable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in $orderby expressions. By\n * default Azure Cognitive Search sorts results by score, but in many experiences users will want\n * to sort by fields in the documents. A simple field can be sortable only if it is single-valued\n * (it has a single value in the scope of the parent document). Simple collection fields cannot\n * be sortable, since they are multi-valued. Simple sub-fields of complex collections are also\n * multi-valued, and therefore cannot be sortable. This is true whether it's an immediate parent\n * field, or an ancestor field, that's the complex collection. The default for sortable is false.\n */\n sortable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in facet queries. Typically\n * used in a presentation of search results that includes hit count by category (for example,\n * search for digital cameras and see hits by brand, by megapixels, by price, and so on).\n * Fields of type Edm.GeographyPoint or Collection(Edm.GeographyPoint) cannot be facetable.\n * Default is false for all other simple fields.\n */\n facetable?: boolean;\n /**\n * The name of the language analyzer to use for the field. This option can be used only with\n * searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer.\n * Once the analyzer is chosen, it cannot be changed for the field.\n * KnownAnalyzerNames is an enum containing known values.\n */\n analyzerName?: LexicalAnalyzerName;\n /**\n * The name of the analyzer used at search time for the field. This option can be used only with\n * searchable fields. It must be set together with indexAnalyzer and it cannot be set together\n * with the analyzer option. This analyzer can be updated on an existing field.\n * KnownAnalyzerNames is an enum containing known values.\n */\n searchAnalyzerName?: LexicalAnalyzerName;\n /**\n * The name of the analyzer used at indexing time for the field. This option can be used only\n * with searchable fields. It must be set together with searchAnalyzer and it cannot be set\n * together with the analyzer option. Once the analyzer is chosen, it cannot be changed for the\n * field. KnownAnalyzerNames is an enum containing known values.\n */\n indexAnalyzerName?: LexicalAnalyzerName;\n /**\n * A list of the names of synonym maps to associate with this field. This option can be used only\n * with searchable fields. Currently only one synonym map per field is supported. Assigning a\n * synonym map to a field ensures that query terms targeting that field are expanded at\n * query-time using the rules in the synonym map. This attribute can be changed on existing\n * fields.\n */\n synonymMapNames?: string[];\n}\n\nexport function isComplexField(field: SearchField): field is ComplexField {\n return field.type === \"Edm.ComplexType\" || field.type === \"Collection(Edm.ComplexType)\";\n}\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport interface ComplexField {\n /**\n * The name of the field, which must be unique within the fields collection of the index or\n * parent field.\n */\n name: string;\n /**\n * The data type of the field.\n * Possible values include: 'Edm.ComplexType','Collection(Edm.ComplexType)'\n */\n type: ComplexDataType;\n /**\n * A list of sub-fields.\n */\n fields: SearchField[];\n}\n\n/**\n * Represents a synonym map definition.\n */\nexport interface SynonymMap {\n /**\n * The name of the synonym map.\n */\n name: string;\n /**\n * An array of synonym rules in the specified synonym map format.\n */\n synonyms: string[];\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your data when you want full assurance\n * that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you\n * have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore\n * attempts to set this property to null. You can change this property as needed if you want to\n * rotate your encryption key; Your data will be unaffected. Encryption with customer-managed\n * keys is not available for free search services, and is only available for paid services\n * created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n /**\n * The ETag of the synonym map.\n */\n etag?: string;\n}\n\n/**\n * An iterator for listing the indexes that exist in the Search service. Will make requests\n * as needed during iteration. Use .byPage() to make one request to the server\n * per iteration.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IndexIterator = PagedAsyncIterableIterator<SearchIndex, SearchIndex[], {}>;\n\n/**\n * An iterator for listing the indexes that exist in the Search service. Will make requests\n * as needed during iteration. Use .byPage() to make one request to the server\n * per iteration.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IndexNameIterator = PagedAsyncIterableIterator<string, string[], {}>;\n\n/**\n * Represents a search index definition, which describes the fields and search behavior of an\n * index.\n */\nexport interface SearchIndex {\n /**\n * The name of the index.\n */\n name: string;\n /**\n * The fields of the index.\n */\n fields: SearchField[];\n /**\n * The scoring profiles for the index.\n */\n scoringProfiles?: ScoringProfile[];\n /**\n * The name of the scoring profile to use if none is specified in the query. If this property is\n * not set and no scoring profile is specified in the query, then default scoring (tf-idf) will\n * be used.\n */\n defaultScoringProfile?: string;\n /**\n * Options to control Cross-Origin Resource Sharing (CORS) for the index.\n */\n corsOptions?: CorsOptions | null;\n /**\n * The suggesters for the index.\n */\n suggesters?: SearchSuggester[];\n /**\n * The analyzers for the index.\n */\n analyzers?: LexicalAnalyzer[];\n /**\n * The tokenizers for the index.\n */\n tokenizers?: LexicalTokenizer[];\n /**\n * The token filters for the index.\n */\n tokenFilters?: TokenFilter[];\n /**\n * The character filters for the index.\n */\n charFilters?: CharFilter[];\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your data when you want full assurance\n * that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you\n * have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore\n * attempts to set this property to null. You can change this property as needed if you want to\n * rotate your encryption key; Your data will be unaffected. Encryption with customer-managed\n * keys is not available for free search services, and is only available for paid services\n * created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n /**\n * The type of similarity algorithm to be used when scoring and ranking the documents matching a\n * search query. The similarity algorithm can only be defined at index creation time and cannot\n * be modified on existing indexes. If null, the ClassicSimilarity algorithm is used.\n */\n similarity?: SimilarityAlgorithm;\n /**\n * The ETag of the index.\n */\n etag?: string;\n}\n\n/**\n * Represents an indexer.\n */\nexport interface SearchIndexer {\n /**\n * The name of the indexer.\n */\n name: string;\n /**\n * The description of the indexer.\n */\n description?: string;\n /**\n * The name of the datasource from which this indexer reads data.\n */\n dataSourceName: string;\n /**\n * The name of the skillset executing with this indexer.\n */\n skillsetName?: string;\n /**\n * The name of the index to which this indexer writes data.\n */\n targetIndexName: string;\n /**\n * The schedule for this indexer.\n */\n schedule?: IndexingSchedule | null;\n /**\n * Parameters for indexer execution.\n */\n parameters?: IndexingParameters | null;\n /**\n * Defines mappings between fields in the data source and corresponding target fields in the\n * index.\n */\n fieldMappings?: FieldMapping[];\n /**\n * Output field mappings are applied after enrichment and immediately before indexing.\n */\n outputFieldMappings?: FieldMapping[];\n /**\n * A value indicating whether the indexer is disabled. Default is false. Default value: false.\n */\n isDisabled?: boolean | null;\n /**\n * The ETag of the indexer.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your indexer definition (as well as\n * indexer execution status) when you want full assurance that no one, not even Microsoft, can\n * decrypt them in Azure Cognitive Search. Once you have encrypted your indexer definition, it\n * will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property\n * to null. You can change this property as needed if you want to rotate your encryption key;\n * Your indexer definition (and indexer execution status) will be unaffected. Encryption with\n * customer-managed keys is not available for free search services, and is only available for\n * paid services created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n\n/**\n * A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be\n * used to encrypt or decrypt data-at-rest in Azure Cognitive Search, such as indexes and synonym\n * maps.\n */\nexport interface SearchResourceEncryptionKey {\n /**\n * The name of your Azure Key Vault key to be used to encrypt your data at rest.\n */\n keyName: string;\n /**\n * The version of your Azure Key Vault key to be used to encrypt your data at rest.\n */\n keyVersion: string;\n /**\n * The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be\n * used to encrypt your data at rest. An example URI might be\n * https://my-keyvault-name.vault.azure.net.\n */\n vaultUrl: string;\n /**\n * An AAD Application ID that was granted the required access permissions to the Azure Key Vault\n * that is to be used when encrypting your data at rest. The Application ID should not be\n * confused with the Object ID for your AAD Application.\n */\n applicationId?: string;\n /**\n * The authentication key of the specified AAD application.\n */\n applicationSecret?: string;\n}\n\n/**\n * A list of skills.\n */\nexport interface SearchIndexerSkillset {\n /**\n * The name of the skillset.\n */\n name: string;\n /**\n * The description of the skillset.\n */\n description?: string;\n /**\n * A list of skills in the skillset.\n */\n skills: SearchIndexerSkill[];\n /**\n * Details about cognitive services to be used when running skills.\n */\n cognitiveServicesAccount?: CognitiveServicesAccount;\n /**\n * Definition of additional projections to azure blob, table, or files, of enriched data.\n */\n knowledgeStore?: SearchIndexerKnowledgeStore;\n /**\n * The ETag of the skillset.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your skillset definition when you want\n * full assurance that no one, not even Microsoft, can decrypt your skillset definition in Azure\n * Cognitive Search. Once you have encrypted your skillset definition, it will always remain\n * encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can\n * change this property as needed if you want to rotate your encryption key; Your skillset\n * definition will be unaffected. Encryption with customer-managed keys is not available for free\n * search services, and is only available for paid services created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n\n/**\n * Defines parameters for a search index that influence scoring in search queries.\n */\nexport interface ScoringProfile {\n /**\n * The name of the scoring profile.\n */\n name: string;\n /**\n * Parameters that boost scoring based on text matches in certain index fields.\n */\n textWeights?: TextWeights;\n /**\n * The collection of functions that influence the scoring of documents.\n */\n functions?: ScoringFunction[];\n /**\n * A value indicating how the results of individual scoring functions should be combined.\n * Defaults to \"Sum\". Ignored if there are no scoring functions. Possible values include: 'sum',\n * 'average', 'minimum', 'maximum', 'firstMatching'\n */\n functionAggregation?: ScoringFunctionAggregation;\n}\n\n/**\n * Defines values for TokenizerName.\n * @readonly\n */\nexport enum KnownTokenizerNames {\n /**\n * Grammar-based tokenizer that is suitable for processing most European-language documents. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html\n */\n Classic = \"classic\",\n /**\n * Tokenizes the input from an edge into n-grams of the given size(s). See\n * https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html\n */\n EdgeNGram = \"edgeNGram\",\n /**\n * Emits the entire input as a single token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html\n */\n Keyword = \"keyword_v2\",\n /**\n * Divides text at non-letters. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LetterTokenizer.html\n */\n Letter = \"letter\",\n /**\n * Divides text at non-letters and converts them to lower case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseTokenizer.html\n */\n Lowercase = \"lowercase\",\n /**\n * Divides text using language-specific rules.\n */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n MicrosoftLanguageTokenizer = \"microsoft_language_tokenizer\",\n /**\n * Divides text using language-specific rules and reduces words to their base forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n MicrosoftLanguageStemmingTokenizer = \"microsoft_language_stemming_tokenizer\",\n /**\n * Tokenizes the input into n-grams of the given size(s). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html\n */\n NGram = \"nGram\",\n /**\n * Tokenizer for path-like hierarchies. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html\n */\n PathHierarchy = \"path_hierarchy_v2\",\n /**\n * Tokenizer that uses regex pattern matching to construct distinct tokens. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html\n */\n Pattern = \"pattern\",\n /**\n * Standard Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop\n * filter. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html\n */\n Standard = \"standard_v2\",\n /**\n * Tokenizes urls and emails as one token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html\n */\n UaxUrlEmail = \"uax_url_email\",\n /**\n * Divides text at whitespace. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceTokenizer.html\n */\n Whitespace = \"whitespace\",\n}\n\n/**\n * Defines values for TokenFilterName.\n * @readonly\n */\nexport enum KnownTokenFilterNames {\n /**\n * A token filter that applies the Arabic normalizer to normalize the orthography. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.html\n */\n ArabicNormalization = \"arabic_normalization\",\n /**\n * Strips all characters after an apostrophe (including the apostrophe itself). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/tr/ApostropheFilter.html\n */\n Apostrophe = \"apostrophe\",\n /**\n * Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127\n * ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such\n * equivalents exist. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html\n */\n AsciiFolding = \"asciifolding\",\n /**\n * Forms bigrams of CJK terms that are generated from StandardTokenizer. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html\n */\n CjkBigram = \"cjk_bigram\",\n /**\n * Normalizes CJK width differences. Folds fullwidth ASCII variants into the equivalent basic\n * Latin, and half-width Katakana variants into the equivalent Kana. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKWidthFilter.html\n */\n CjkWidth = \"cjk_width\",\n /**\n * Removes English possessives, and dots from acronyms. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicFilter.html\n */\n Classic = \"classic\",\n /**\n * Construct bigrams for frequently occurring terms while indexing. Single terms are still\n * indexed too, with bigrams overlaid. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html\n */\n CommonGram = \"common_grams\",\n /**\n * Generates n-grams of the given size(s) starting from the front or the back of an input token.\n * See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html\n */\n EdgeNGram = \"edgeNGram_v2\",\n /**\n * Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html\n */\n Elision = \"elision\",\n /**\n * Normalizes German characters according to the heuristics of the German2 snowball algorithm.\n * See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html\n */\n GermanNormalization = \"german_normalization\",\n /**\n * Normalizes text in Hindi to remove some differences in spelling variations. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/hi/HindiNormalizationFilter.html\n */\n HindiNormalization = \"hindi_normalization\",\n /**\n * Normalizes the Unicode representation of text in Indian languages. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/in/IndicNormalizationFilter.html\n */\n IndicNormalization = \"indic_normalization\",\n /**\n * Emits each incoming token twice, once as keyword and once as non-keyword. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.html\n */\n KeywordRepeat = \"keyword_repeat\",\n /**\n * A high-performance kstem filter for English. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/en/KStemFilter.html\n */\n KStem = \"kstem\",\n /**\n * Removes words that are too long or too short. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html\n */\n Length = \"length\",\n /**\n * Limits the number of tokens while indexing. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html\n */\n Limit = \"limit\",\n /**\n * Normalizes token text to lower case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm\n */\n Lowercase = \"lowercase\",\n /**\n * Generates n-grams of the given size(s). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html\n */\n NGram = \"nGram_v2\",\n /**\n * Applies normalization for Persian. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/fa/PersianNormalizationFilter.html\n */\n PersianNormalization = \"persian_normalization\",\n /**\n * Create tokens for phonetic matches. See\n * https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html\n */\n Phonetic = \"phonetic\",\n /**\n * Uses the Porter stemming algorithm to transform the token stream. See\n * http://tartarus.org/~martin/PorterStemmer\n */\n PorterStem = \"porter_stem\",\n /**\n * Reverses the token string. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html\n */\n Reverse = \"reverse\",\n /**\n * Normalizes use of the interchangeable Scandinavian characters. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.html\n */\n ScandinavianNormalization = \"scandinavian_normalization\",\n /**\n * Folds Scandinavian characters åÅäæÄÆ->a and öÖøØ->o. It also discriminates against use\n * of double vowels aa, ae, ao, oe and oo, leaving just the first one. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.html\n */\n ScandinavianFoldingNormalization = \"scandinavian_folding\",\n /**\n * Creates combinations of tokens as a single token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html\n */\n Shingle = \"shingle\",\n /**\n * A filter that stems words using a Snowball-generated stemmer. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html\n */\n Snowball = \"snowball\",\n /**\n * Normalizes the Unicode representation of Sorani text. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.html\n */\n SoraniNormalization = \"sorani_normalization\",\n /**\n * Language specific stemming filter. See\n * https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters\n */\n Stemmer = \"stemmer\",\n /**\n * Removes stop words from a token stream. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html\n */\n Stopwords = \"stopwords\",\n /**\n * Trims leading and trailing whitespace from tokens. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TrimFilter.html\n */\n Trim = \"trim\",\n /**\n * Truncates the terms to a specific length. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html\n */\n Truncate = \"truncate\",\n /**\n * Filters out tokens with same text as the previous token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html\n */\n Unique = \"unique\",\n /**\n * Normalizes token text to upper case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html\n */\n Uppercase = \"uppercase\",\n /**\n * Splits words into subwords and performs optional transformations on subword groups.\n */\n WordDelimiter = \"word_delimiter\",\n}\n\n/**\n * Defines values for CharFilterName.\n * @readonly\n */\nexport enum KnownCharFilterNames {\n /**\n * A character filter that attempts to strip out HTML constructs. See\n * https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html\n */\n HtmlStrip = \"html_strip\",\n}\n\n/**\n * Defines values for AnalyzerName.\n * See https://docs.microsoft.com/rest/api/searchservice/Language-support\n * @readonly\n */\nexport enum KnownAnalyzerNames {\n /**\n * Arabic\n */\n ArMicrosoft = \"ar.microsoft\",\n /**\n * Arabic\n */\n ArLucene = \"ar.lucene\",\n /**\n * Armenian\n */\n HyLucene = \"hy.lucene\",\n /**\n * Bangla\n */\n BnMicrosoft = \"bn.microsoft\",\n /**\n * Basque\n */\n EuLucene = \"eu.lucene\",\n /**\n * Bulgarian\n */\n BgMicrosoft = \"bg.microsoft\",\n /**\n * Bulgarian\n */\n BgLucene = \"bg.lucene\",\n /**\n * Catalan\n */\n CaMicrosoft = \"ca.microsoft\",\n /**\n * Catalan\n */\n CaLucene = \"ca.lucene\",\n /**\n * Chinese Simplified\n */\n ZhHansMicrosoft = \"zh-Hans.microsoft\",\n /**\n * Chinese Simplified\n */\n ZhHansLucene = \"zh-Hans.lucene\",\n /**\n * Chinese Traditional\n */\n ZhHantMicrosoft = \"zh-Hant.microsoft\",\n /**\n * Chinese Traditional\n */\n ZhHantLucene = \"zh-Hant.lucene\",\n /**\n * Croatian\n */\n HrMicrosoft = \"hr.microsoft\",\n /**\n * Czech\n */\n CsMicrosoft = \"cs.microsoft\",\n /**\n * Czech\n */\n CsLucene = \"cs.lucene\",\n /**\n * Danish\n */\n DaMicrosoft = \"da.microsoft\",\n /**\n * Danish\n */\n DaLucene = \"da.lucene\",\n /**\n * Dutch\n */\n NlMicrosoft = \"nl.microsoft\",\n /**\n * Dutch\n */\n NlLucene = \"nl.lucene\",\n /**\n * English\n */\n EnMicrosoft = \"en.microsoft\",\n /**\n * English\n */\n EnLucene = \"en.lucene\",\n /**\n * Estonian\n */\n EtMicrosoft = \"et.microsoft\",\n /**\n * Finnish\n */\n FiMicrosoft = \"fi.microsoft\",\n /**\n * Finnish\n */\n FiLucene = \"fi.lucene\",\n /**\n * French\n */\n FrMicrosoft = \"fr.microsoft\",\n /**\n * French\n */\n FrLucene = \"fr.lucene\",\n /**\n * Galician\n */\n GlLucene = \"gl.lucene\",\n /**\n * German\n */\n DeMicrosoft = \"de.microsoft\",\n /**\n * German\n */\n DeLucene = \"de.lucene\",\n /**\n * Greek\n */\n ElMicrosoft = \"el.microsoft\",\n /**\n * Greek\n */\n ElLucene = \"el.lucene\",\n /**\n * Gujarati\n */\n GuMicrosoft = \"gu.microsoft\",\n /**\n * Hebrew\n */\n HeMicrosoft = \"he.microsoft\",\n /**\n * Hindi\n */\n HiMicrosoft = \"hi.microsoft\",\n /**\n * Hindi\n */\n HiLucene = \"hi.lucene\",\n /**\n * Hungarian\n */\n HuMicrosoft = \"hu.microsoft\",\n /**\n * Hungarian\n */\n HuLucene = \"hu.lucene\",\n /**\n * Icelandic\n */\n IsMicrosoft = \"is.microsoft\",\n /**\n * Indonesian (Bahasa)\n */\n IdMicrosoft = \"id.microsoft\",\n /**\n * Indonesian (Bahasa)\n */\n IdLucene = \"id.lucene\",\n /**\n * Irish\n */\n GaLucene = \"ga.lucene\",\n /**\n * Italian\n */\n ItMicrosoft = \"it.microsoft\",\n /**\n * Italian\n */\n ItLucene = \"it.lucene\",\n /**\n * Japanese\n */\n JaMicrosoft = \"ja.microsoft\",\n /**\n * Japanese\n */\n JaLucene = \"ja.lucene\",\n /**\n * Kannada\n */\n KnMicrosoft = \"kn.microsoft\",\n /**\n * Korean\n */\n KoMicrosoft = \"ko.microsoft\",\n /**\n * Korean\n */\n KoLucene = \"ko.lucene\",\n /**\n * Latvian\n */\n LvMicrosoft = \"lv.microsoft\",\n /**\n * Latvian\n */\n LvLucene = \"lv.lucene\",\n /**\n * Lithuanian\n */\n LtMicrosoft = \"lt.microsoft\",\n /**\n * Malayalam\n */\n MlMicrosoft = \"ml.microsoft\",\n /**\n * Malay (Latin)\n */\n MsMicrosoft = \"ms.microsoft\",\n /**\n * Marathi\n */\n MrMicrosoft = \"mr.microsoft\",\n /**\n * Norwegian\n */\n NbMicrosoft = \"nb.microsoft\",\n /**\n * Norwegian\n */\n NoLucene = \"no.lucene\",\n /**\n * Persian\n */\n FaLucene = \"fa.lucene\",\n /**\n * Polish\n */\n PlMicrosoft = \"pl.microsoft\",\n /**\n * Polish\n */\n PlLucene = \"pl.lucene\",\n /**\n * Portuguese (Brazil)\n */\n PtBRMicrosoft = \"pt-BR.microsoft\",\n /**\n * Portuguese (Brazil)\n */\n PtBRLucene = \"pt-BR.lucene\",\n /**\n * Portuguese (Portugal)\n */\n PtPTMicrosoft = \"pt-PT.microsoft\",\n /**\n * Portuguese (Portugal)\n */\n PtPTLucene = \"pt-PT.lucene\",\n /**\n * Punjabi\n */ PaMicrosoft = \"pa.microsoft\",\n /**\n * Romanian\n */\n RoMicrosoft = \"ro.microsoft\",\n /**\n * Romanian\n */\n RoLucene = \"ro.lucene\",\n /**\n * Russian\n */\n RuMicrosoft = \"ru.microsoft\",\n /**\n * Russian\n */\n RuLucene = \"ru.lucene\",\n /**\n * Serbian (Cyrillic)\n */\n SrCyrillicMicrosoft = \"sr-cyrillic.microsoft\",\n /**\n * Serbian (Latin)\n */\n SrLatinMicrosoft = \"sr-latin.microsoft\",\n /**\n * Slovak\n */\n SkMicrosoft = \"sk.microsoft\",\n /**\n * Slovenian\n */\n SlMicrosoft = \"sl.microsoft\",\n /**\n * Spanish\n */\n EsMicrosoft = \"es.microsoft\",\n /**\n * Spanish\n */\n EsLucene = \"es.lucene\",\n /**\n * Swedish\n */\n SvMicrosoft = \"sv.microsoft\",\n /**\n * Swedish\n */\n SvLucene = \"sv.lucene\",\n /**\n * Tamil\n */\n TaMicrosoft = \"ta.microsoft\",\n /**\n * Telugu\n */\n TeMicrosoft = \"te.microsoft\",\n /**\n * Thai\n */\n ThMicrosoft = \"th.microsoft\",\n /**\n * Thai\n */\n ThLucene = \"th.lucene\",\n /**\n * Turkish\n */\n TrMicrosoft = \"tr.microsoft\",\n /**\n * Turkish\n */\n TrLucene = \"tr.lucene\",\n /**\n * Ukrainian\n */\n UkMicrosoft = \"uk.microsoft\",\n /**\n * Urdu\n */\n UrMicrosoft = \"ur.microsoft\",\n /**\n * Vietnamese\n */\n ViMicrosoft = \"vi.microsoft\",\n /**\n * See: https://lucene.apache.org/core/6_6_1/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html\n */\n StandardLucene = \"standard.lucene\",\n /**\n * See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html\n */\n StandardAsciiFoldingLucene = \"standardasciifolding.lucene\",\n /**\n * Treats the entire content of a field as a single token. This is useful for data like zip codes, ids, and some product names.\n */\n Keyword = \"keyword\",\n /**\n * Flexibly separates text into terms via a regular expression pattern.\n */\n Pattern = \"pattern\",\n /**\n * Divides text at non-letters and converts them to lower case.\n */\n Simple = \"simple\",\n /**\n * Divides text at non-letters; Applies the lowercase and stopword token filters.\n */\n Stop = \"stop\",\n /**\n * An analyzer that uses the whitespace tokenizer.\n */\n Whitespace = \"whitespace\",\n}\n\n/**\n * Contains the possible cases for DataChangeDetectionPolicy.\n */\nexport type DataChangeDetectionPolicy =\n | HighWaterMarkChangeDetectionPolicy\n | SqlIntegratedChangeTrackingPolicy;\n\n/**\n * Contains the possible cases for DataDeletionDetectionPolicy.\n */\nexport type DataDeletionDetectionPolicy = SoftDeleteColumnDeletionDetectionPolicy;\n\n/**\n * Represents a datasource definition, which can be used to configure an indexer.\n */\nexport interface SearchIndexerDataSourceConnection {\n /**\n * The name of the datasource.\n */\n name: string;\n /**\n * The description of the datasource.\n */\n description?: string;\n /**\n * The type of the datasource. Possible values include: 'AzureSql', 'CosmosDb', 'AzureBlob',\n * 'AzureTable', 'MySql', 'AdlsGen2'\n */\n type: SearchIndexerDataSourceType;\n /**\n * The connection string for the datasource.\n */\n connectionString?: string;\n /**\n * The data container for the datasource.\n */\n container: SearchIndexerDataContainer;\n /**\n * The data change detection policy for the datasource.\n */\n dataChangeDetectionPolicy?: DataChangeDetectionPolicy | null;\n /**\n * The data deletion detection policy for the datasource.\n */\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicy | null;\n /**\n * The ETag of the DataSource.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your datasource definition when you want\n * full assurance that no one, not even Microsoft, can decrypt your data source definition in\n * Azure Cognitive Search. Once you have encrypted your data source definition, it will always\n * remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null.\n * You can change this property as needed if you want to rotate your encryption key; Your\n * datasource definition will be unaffected. Encryption with customer-managed keys is not\n * available for free search services, and is only available for paid services created on or\n * after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n// END manually modified generated interfaces\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer,\n CustomEntityLookupSkill,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityRecognitionSkill,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\n SynonymMap as GeneratedSynonymMap,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n KeyPhraseExtractionSkill,\n LanguageDetectionSkill,\n LexicalAnalyzerName,\n LexicalAnalyzerUnion,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n OcrSkill,\n PatternTokenizer,\n RegexFlags,\n SearchIndexerSkillUnion,\n SentimentSkill,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n TextTranslationSkill,\n TokenFilterUnion,\n WebApiSkill,\n} from \"./generated/service/models\";\nimport {\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n LexicalAnalyzer,\n LexicalTokenizer,\n PatternAnalyzer,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerDataSourceConnection,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n isComplexField,\n} from \"./serviceModels\";\nimport { SearchResult, SuggestDocumentsResult, SuggestResult } from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n} from \"./generated/data/models\";\n\nexport function convertSkillsToPublic(skills: SearchIndexerSkillUnion[]): SearchIndexerSkill[] {\n if (!skills) {\n return skills;\n }\n\n const result: SearchIndexerSkill[] = [];\n for (const skill of skills) {\n switch (skill.odatatype) {\n case \"#Microsoft.Skills.Util.ConditionalSkill\":\n result.push(skill as ConditionalSkill);\n break;\n case \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\":\n result.push(skill as KeyPhraseExtractionSkill);\n break;\n case \"#Microsoft.Skills.Vision.OcrSkill\":\n result.push(skill as OcrSkill);\n break;\n case \"#Microsoft.Skills.Vision.ImageAnalysisSkill\":\n result.push(skill as ImageAnalysisSkill);\n break;\n case \"#Microsoft.Skills.Text.LanguageDetectionSkill\":\n result.push(skill as LanguageDetectionSkill);\n break;\n case \"#Microsoft.Skills.Util.ShaperSkill\":\n result.push(skill as ShaperSkill);\n break;\n case \"#Microsoft.Skills.Text.MergeSkill\":\n result.push(skill as MergeSkill);\n break;\n case \"#Microsoft.Skills.Text.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkill);\n break;\n case \"#Microsoft.Skills.Text.SentimentSkill\":\n result.push(skill as SentimentSkill);\n break;\n case \"#Microsoft.Skills.Text.SplitSkill\":\n result.push(skill as SplitSkill);\n break;\n case \"#Microsoft.Skills.Text.TranslationSkill\":\n result.push(skill as TextTranslationSkill);\n break;\n case \"#Microsoft.Skills.Custom.WebApiSkill\":\n result.push(skill as WebApiSkill);\n break;\n case \"#Microsoft.Skills.Text.CustomEntityLookupSkill\":\n result.push(skill as CustomEntityLookupSkill);\n break;\n case \"#Microsoft.Skills.Util.DocumentExtractionSkill\":\n result.push(skill as DocumentExtractionSkill);\n break;\n }\n }\n return result;\n}\n\nexport function convertCognitiveServicesAccountToGenerated(\n cognitiveServicesAccount?: CognitiveServicesAccount\n): CognitiveServicesAccountUnion | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n return cognitiveServicesAccount as CognitiveServicesAccountUnion;\n}\n\nexport function convertCognitiveServicesAccountToPublic(\n cognitiveServicesAccount?: CognitiveServicesAccountUnion\n): CognitiveServicesAccount | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n if (cognitiveServicesAccount.odatatype === \"#Microsoft.Azure.Search.DefaultCognitiveServices\") {\n return cognitiveServicesAccount as DefaultCognitiveServicesAccount;\n } else {\n return cognitiveServicesAccount as CognitiveServicesAccountKey;\n }\n}\n\nexport function convertTokenFiltersToGenerated(\n tokenFilters?: TokenFilter[]\n): TokenFilterUnion[] | undefined {\n if (!tokenFilters) {\n return tokenFilters;\n }\n\n const result: TokenFilterUnion[] = [];\n for (const filter of tokenFilters) {\n result.push(filter);\n }\n\n return result;\n}\n\nexport function convertAnalyzersToGenerated(\n analyzers?: LexicalAnalyzer[]\n): LexicalAnalyzerUnion[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzerUnion[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: analyzer.flags ? analyzer.flags.join(\"|\") : undefined,\n });\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: analyzer.tokenizerName,\n });\n break;\n }\n }\n return result;\n}\n\nexport function convertAnalyzersToPublic(\n analyzers?: LexicalAnalyzerUnion[]\n): LexicalAnalyzer[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzer[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n result.push(analyzer as LuceneStandardAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer as StopAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: (analyzer as GeneratedPatternAnalyzer).flags\n ? ((analyzer as GeneratedPatternAnalyzer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n } as PatternAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: (analyzer as CustomAnalyzer).tokenizerName,\n } as CustomAnalyzer);\n break;\n }\n }\n return result;\n}\n\nexport function convertFieldsToPublic(fields: GeneratedSearchField[]): SearchField[] {\n if (!fields) {\n return fields;\n }\n\n return fields.map<SearchField>((field): SearchField => {\n if (field.type === \"Collection(Edm.ComplexType)\" || field.type === \"Edm.ComplexType\") {\n const result: ComplexField = {\n name: field.name,\n type: field.type,\n fields: convertFieldsToPublic(field.fields!),\n };\n return result;\n } else {\n const { synonymMaps, retrievable, ...restField } = field;\n\n const type: SearchFieldDataType = field.type as SearchFieldDataType;\n const hidden = typeof retrievable === \"boolean\" ? !retrievable : retrievable;\n const analyzerName = field.analyzer as LexicalAnalyzerName | undefined;\n const searchAnalyzerName = field.searchAnalyzer as LexicalAnalyzerName | undefined;\n const indexAnalyzerName = field.indexAnalyzer as LexicalAnalyzerName | undefined;\n\n const result: SimpleField = {\n ...restField,\n type,\n hidden,\n analyzerName,\n searchAnalyzerName,\n indexAnalyzerName,\n synonymMapNames: synonymMaps,\n };\n return result;\n }\n });\n}\n\nexport function convertFieldsToGenerated(fields: SearchField[]): GeneratedSearchField[] {\n return fields.map<GeneratedSearchField>((field) => {\n if (isComplexField(field)) {\n return {\n name: field.name,\n type: field.type,\n fields: convertFieldsToGenerated(field.fields),\n };\n } else {\n const { hidden, ...restField } = field;\n const retrievable = typeof hidden === \"boolean\" ? !hidden : hidden;\n return {\n ...restField,\n retrievable,\n // modify API defaults to use less storage for simple types\n searchable: field.searchable ?? false,\n filterable: field.filterable ?? false,\n facetable: field.facetable ?? false,\n sortable: field.sortable ?? false,\n analyzer: field.analyzerName,\n searchAnalyzer: field.searchAnalyzerName,\n indexAnalyzer: field.indexAnalyzerName,\n synonymMaps: field.synonymMapNames,\n };\n }\n });\n}\n\nexport function convertTokenizersToGenerated(\n tokenizers?: LexicalTokenizer[]\n): LexicalTokenizerUnion[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizerUnion[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: tokenizer.flags ? tokenizer.flags.join(\"|\") : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertTokenizersToPublic(\n tokenizers?: LexicalTokenizerUnion[]\n): LexicalTokenizer[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizer[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: (tokenizer as PatternTokenizer).flags\n ? ((tokenizer as PatternTokenizer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertSimilarityToGenerated(\n similarity?: SimilarityAlgorithm\n): SimilarityUnion | undefined {\n if (!similarity) {\n return similarity;\n }\n\n return similarity as SimilarityUnion;\n}\n\nexport function convertSimilarityToPublic(\n similarity?: SimilarityUnion\n): SimilarityAlgorithm | undefined {\n if (!similarity) {\n return similarity;\n }\n\n if (similarity.odatatype === \"#Microsoft.Azure.Search.ClassicSimilarity\") {\n return similarity as ClassicSimilarity;\n } else {\n return similarity as BM25Similarity;\n }\n}\n\nexport function convertEncryptionKeyToPublic(\n encryptionKey?: GeneratedSearchResourceEncryptionKey | null\n): SearchResourceEncryptionKey | null | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: SearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUrl: encryptionKey.vaultUri,\n };\n\n if (encryptionKey.accessCredentials) {\n result.applicationId = encryptionKey.accessCredentials.applicationId;\n result.applicationSecret = encryptionKey.accessCredentials.applicationSecret;\n }\n\n return result;\n}\n\nexport function convertEncryptionKeyToGenerated(\n encryptionKey?: SearchResourceEncryptionKey | null\n): GeneratedSearchResourceEncryptionKey | null | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: GeneratedSearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUri: encryptionKey.vaultUrl,\n };\n\n if (encryptionKey.applicationId) {\n result.accessCredentials = {\n applicationId: encryptionKey.applicationId,\n applicationSecret: encryptionKey.applicationSecret,\n };\n }\n\n return result;\n}\n\nexport function generatedIndexToPublicIndex(generatedIndex: GeneratedSearchIndex): SearchIndex {\n return {\n name: generatedIndex.name,\n defaultScoringProfile: generatedIndex.defaultScoringProfile,\n corsOptions: generatedIndex.corsOptions,\n suggesters: generatedIndex.suggesters,\n encryptionKey: convertEncryptionKeyToPublic(generatedIndex.encryptionKey),\n etag: generatedIndex.etag,\n analyzers: convertAnalyzersToPublic(generatedIndex.analyzers),\n tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),\n tokenFilters: generatedIndex.tokenFilters as TokenFilter[],\n charFilters: generatedIndex.charFilters as CharFilter[],\n scoringProfiles: generatedIndex.scoringProfiles as ScoringProfile[],\n fields: convertFieldsToPublic(generatedIndex.fields),\n similarity: convertSimilarityToPublic(generatedIndex.similarity),\n };\n}\n\nexport function generatedSearchResultToPublicSearchResult<T>(\n results: GeneratedSearchResult[]\n): SearchResult<T>[] {\n const returnValues: SearchResult<T>[] = results.map<SearchResult<T>>((result) => {\n const { _score, _highlights, rerankerScore, captions, ...restProps } = result;\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n const obj = {\n score: _score,\n highlights: _highlights,\n rerankerScore,\n captions,\n document: doc,\n };\n return obj as unknown as SearchResult<T>;\n });\n return returnValues;\n}\n\nexport function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<T>(\n searchDocumentsResult: GeneratedSuggestDocumentsResult\n): SuggestDocumentsResult<T> {\n const results = searchDocumentsResult.results.map<SuggestResult<T>>((element) => {\n const { _text, ...restProps } = element;\n\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n\n const obj = {\n text: _text,\n document: doc,\n };\n\n return obj as SuggestResult<T>;\n });\n\n const result: SuggestDocumentsResult<T> = {\n results: results,\n coverage: searchDocumentsResult.coverage,\n };\n\n return result;\n}\n\nexport function publicIndexToGeneratedIndex(index: SearchIndex): GeneratedSearchIndex {\n const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity, ...props } =\n index;\n\n return {\n ...props,\n encryptionKey: convertEncryptionKeyToGenerated(encryptionKey),\n tokenFilters: convertTokenFiltersToGenerated(tokenFilters),\n analyzers: convertAnalyzersToGenerated(analyzers),\n tokenizers: convertTokenizersToGenerated(tokenizers),\n fields: convertFieldsToGenerated(fields),\n similarity: convertSimilarityToGenerated(similarity),\n };\n}\n\nexport function generatedSkillsetToPublicSkillset(\n generatedSkillset: GeneratedSearchIndexerSkillset\n): SearchIndexerSkillset {\n const { skills, cognitiveServicesAccount, encryptionKey, ...props } = generatedSkillset;\n\n return {\n ...props,\n skills: convertSkillsToPublic(skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount),\n encryptionKey: convertEncryptionKeyToPublic(encryptionKey),\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset\n): GeneratedSearchIndexerSkillset {\n return {\n name: skillset.name,\n description: skillset.description,\n etag: skillset.etag,\n skills: skillset.skills,\n cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(\n skillset.cognitiveServicesAccount\n ),\n knowledgeStore: skillset.knowledgeStore,\n encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey),\n };\n}\n\nexport function generatedSynonymMapToPublicSynonymMap(synonymMap: GeneratedSynonymMap): SynonymMap {\n const result: SynonymMap = {\n name: synonymMap.name,\n encryptionKey: convertEncryptionKeyToPublic(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: [],\n };\n\n if (synonymMap.synonyms) {\n result.synonyms = synonymMap.synonyms.split(\"\\n\");\n }\n\n return result;\n}\n\nexport function publicSynonymMapToGeneratedSynonymMap(synonymMap: SynonymMap): GeneratedSynonymMap {\n const result: GeneratedSynonymMap = {\n name: synonymMap.name,\n format: \"solr\",\n encryptionKey: convertEncryptionKeyToGenerated(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: synonymMap.synonyms.join(\"\\n\"),\n };\n\n result.encryptionKey = convertEncryptionKeyToGenerated(synonymMap.encryptionKey);\n\n return result;\n}\n\nexport function publicSearchIndexerToGeneratedSearchIndexer(\n indexer: SearchIndexer\n): GeneratedSearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey),\n };\n}\n\nexport function generatedSearchIndexerToPublicSearchIndexer(\n indexer: GeneratedSearchIndexer\n): SearchIndexer {\n const { encryptionKey, ...props } = indexer;\n\n return {\n ...props,\n encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),\n };\n}\n\nexport function publicDataSourceToGeneratedDataSource(\n dataSource: SearchIndexerDataSourceConnection\n): GeneratedSearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.description,\n type: dataSource.type,\n credentials: {\n connectionString: dataSource.connectionString,\n },\n container: dataSource.container,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,\n dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,\n encryptionKey: convertEncryptionKeyToGenerated(dataSource.encryptionKey),\n };\n}\n\nexport function generatedDataSourceToPublicDataSource(\n dataSource: GeneratedSearchIndexerDataSourceConnection\n): SearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.name,\n type: dataSource.type,\n connectionString: dataSource.credentials.connectionString,\n container: dataSource.container,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(\n dataSource.dataChangeDetectionPolicy\n ),\n dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(\n dataSource.dataDeletionDetectionPolicy\n ),\n encryptionKey: convertEncryptionKeyToPublic(dataSource.encryptionKey),\n };\n}\n\nexport function convertDataChangeDetectionPolicyToPublic(\n dataChangeDetectionPolicy?: DataChangeDetectionPolicyUnion | null\n): DataChangeDetectionPolicy | null | undefined {\n if (!dataChangeDetectionPolicy) {\n return dataChangeDetectionPolicy;\n }\n\n if (\n dataChangeDetectionPolicy.odatatype ===\n \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\"\n ) {\n return dataChangeDetectionPolicy as HighWaterMarkChangeDetectionPolicy;\n } else {\n return dataChangeDetectionPolicy as SqlIntegratedChangeTrackingPolicy;\n }\n}\n\nexport function convertDataDeletionDetectionPolicyToPublic(\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicyUnion | null\n): DataDeletionDetectionPolicy | null | undefined {\n if (!dataDeletionDetectionPolicy) {\n return dataDeletionDetectionPolicy;\n }\n\n return dataDeletionDetectionPolicy as SoftDeleteColumnDeletionDetectionPolicy;\n}\n\nexport function getRandomIntegerInclusive(min: number, max: number): number {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n\n/**\n * A wrapper for setTimeout that resolves a promise after timeInMs milliseconds.\n * @param timeInMs - The number of milliseconds to be delayed.\n * @returns Promise that is resolved after timeInMs\n */\nexport function delay(timeInMs: number): Promise<void> {\n return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));\n}\n\nexport const serviceVersions = [\"2020-06-30\"];\n\nexport const defaultServiceVersion = \"2020-06-30\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Known values for Search Audience\n */\nexport enum KnownSearchAudience {\n /**\n * Audience for Azure China\n */\n AzureChina = \"https://search.azure.cn\",\n /**\n * Audience for Azure Government\n */\n AzureGovernment = \"https://search.azure.us\",\n /**\n * Audience for Azure Public\n */\n AzurePublicCloud = \"https://search.azure.com\",\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"11.3.2\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { SearchClient as GeneratedClient } from \"./generated/data/searchClient\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport { logger } from \"./logger\";\nimport {\n AutocompleteRequest,\n AutocompleteResult,\n IndexDocumentsResult,\n SuggestRequest,\n SearchRequest as GeneratedSearchRequest,\n} from \"./generated/data/models\";\nimport { createSpan } from \"./tracing\";\nimport { deserialize, serialize } from \"./serialization\";\nimport {\n AutocompleteOptions,\n CountDocumentsOptions,\n DeleteDocumentsOptions,\n GetDocumentOptions,\n IndexDocumentsOptions,\n ListSearchResultsPageSettings,\n MergeDocumentsOptions,\n MergeOrUploadDocumentsOptions,\n SearchDocumentsPageResult,\n SearchDocumentsResult,\n SearchIterator,\n SearchOptions,\n SearchRequest,\n SearchResult,\n SuggestDocumentsResult,\n SuggestOptions,\n UploadDocumentsOptions,\n} from \"./indexModels\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch\";\nimport { decode, encode } from \"./base64\";\nimport * as utils from \"./serviceUtils\";\nimport { IndexDocumentsClient } from \"./searchIndexingBufferedSender\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class used to perform operations against a search index,\n * including querying documents in the index as well as\n * adding, updating, and removing them.\n */\nexport class SearchClient<TModel> implements IndexDocumentsClient<TModel> {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * The name of the index\n */\n public readonly indexName: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of SearchClient.\n *\n * Example usage:\n * ```ts\n * const { SearchClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchClient(\n * \"<endpoint>\",\n * \"<indexName>\",\n * new AzureKeyCredential(\"<Admin Key>\")\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param indexName - The name of the index\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search client.\n *\n * @typeParam TModel - An optional type that represents the documents stored in\n * the search index. For the best typing experience, all non-key fields should\n * be marked optional and nullable, and the key property should have the\n * non-nullable type `string`.\n */\n constructor(\n endpoint: string,\n indexName: string,\n credential: KeyCredential | TokenCredential,\n options: SearchClientOptions = {}\n ) {\n this.endpoint = endpoint;\n this.indexName = indexName;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...options.userAgentOptions,\n userAgentPrefix: options.userAgentOptions?.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.indexName,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = options.audience\n ? `${options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"none\"));\n }\n\n /**\n * Retrieves the number of documents in the index.\n * @param options - Options to the count operation.\n */\n public async getDocumentsCount(options: CountDocumentsOptions = {}): Promise<number> {\n const { span, updatedOptions } = createSpan(\"SearchClient-getDocumentsCount\", options);\n try {\n let documentsCount: number = 0;\n await this.client.documents.count({\n ...updatedOptions,\n onResponse: (rawResponse, flatResponse) => {\n documentsCount = Number(rawResponse.bodyAsText);\n if (updatedOptions.onResponse) {\n updatedOptions.onResponse(rawResponse, flatResponse);\n }\n },\n });\n\n return documentsCount;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Based on a partial searchText from the user, return a list\n * of potential completion strings based on a specified suggester.\n * @param searchText - The search text on which to base autocomplete results.\n * @param suggesterName - The name of the suggester as specified in the suggesters collection that's part of the index definition.\n * @param options - Options to the autocomplete operation.\n */\n public async autocomplete<TFields extends keyof TModel>(\n searchText: string,\n suggesterName: string,\n options: AutocompleteOptions<TFields> = {}\n ): Promise<AutocompleteResult> {\n const { searchFields, ...nonFieldOptions } = options;\n const fullOptions: AutocompleteRequest = {\n searchText: searchText,\n suggesterName: suggesterName,\n searchFields: this.convertSearchFields(searchFields as unknown as string[]),\n ...nonFieldOptions,\n };\n\n if (!fullOptions.searchText) {\n throw new RangeError(\"searchText must be provided.\");\n }\n\n if (!fullOptions.suggesterName) {\n throw new RangeError(\"suggesterName must be provided.\");\n }\n\n const { span, updatedOptions } = createSpan(\"SearchClient-autocomplete\", options);\n\n try {\n const result = await this.client.documents.autocompletePost(fullOptions, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async searchDocuments<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {},\n nextPageParameters: SearchRequest = {}\n ): Promise<SearchDocumentsPageResult<Pick<TModel, TFields>>> {\n const { searchFields, select, orderBy, includeTotalCount, ...restOptions } = options;\n const fullOptions: GeneratedSearchRequest = {\n ...restOptions,\n ...nextPageParameters,\n searchFields: this.convertSearchFields(searchFields as string[]),\n select: this.convertSelect<TFields>(select as TFields[]) || \"*\",\n orderBy: this.convertOrderBy(orderBy),\n includeTotalResultCount: includeTotalCount,\n };\n\n const { span, updatedOptions } = createSpan(\"SearchClient-searchDocuments\", options);\n\n try {\n const result = await this.client.documents.searchPost(\n {\n ...fullOptions,\n searchText: searchText,\n },\n updatedOptions\n );\n\n const {\n results,\n nextLink,\n nextPageParameters: resultNextPageParameters,\n ...restResult\n } = result;\n\n const modifiedResults = utils.generatedSearchResultToPublicSearchResult<TModel>(results);\n\n const converted: SearchDocumentsPageResult<Pick<TModel, TFields>> = {\n ...restResult,\n results: modifiedResults,\n continuationToken: this.encodeContinuationToken(nextLink, resultNextPageParameters),\n };\n\n return deserialize<SearchDocumentsPageResult<Pick<TModel, TFields>>>(converted);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listSearchResultsPage<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {},\n settings: ListSearchResultsPageSettings = {}\n ): AsyncIterableIterator<SearchDocumentsPageResult<Pick<TModel, TFields>>> {\n let decodedContinuation = this.decodeContinuationToken(settings.continuationToken);\n let result = await this.searchDocuments<TFields>(\n searchText,\n options,\n decodedContinuation?.nextPageParameters\n );\n\n yield result;\n\n // Technically, we should also leverage nextLink, but the generated code\n // doesn't support this yet.\n while (result.continuationToken) {\n decodedContinuation = this.decodeContinuationToken(result.continuationToken);\n result = await this.searchDocuments(\n searchText,\n options,\n decodedContinuation?.nextPageParameters\n );\n yield result;\n }\n }\n\n private async *listSearchResultsAll<TFields extends keyof TModel>(\n firstPage: SearchDocumentsPageResult<Pick<TModel, TFields>>,\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): AsyncIterableIterator<SearchResult<Pick<TModel, TFields>>> {\n yield* firstPage.results;\n if (firstPage.continuationToken) {\n for await (const page of this.listSearchResultsPage(searchText, options, {\n continuationToken: firstPage.continuationToken,\n })) {\n yield* page.results;\n }\n }\n }\n\n private listSearchResults<TFields extends keyof TModel>(\n firstPage: SearchDocumentsPageResult<Pick<TModel, TFields>>,\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): SearchIterator<Pick<TModel, TFields>> {\n const iter = this.listSearchResultsAll(firstPage, searchText, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListSearchResultsPageSettings = {}) => {\n return this.listSearchResultsPage(searchText, options, settings);\n },\n };\n }\n\n /**\n * Performs a search on the current index given\n * the specified arguments.\n * @param searchText - Text to search\n * @param options - Options for the search operation.\n */\n public async search<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): Promise<SearchDocumentsResult<Pick<TModel, TFields>>> {\n const { span, updatedOptions } = createSpan(\"SearchClient-search\", options);\n\n try {\n const pageResult = await this.searchDocuments(searchText, updatedOptions);\n\n return {\n ...pageResult,\n results: this.listSearchResults(pageResult, searchText, updatedOptions),\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns a short list of suggestions based on the searchText\n * and specified suggester.\n * @param searchText - The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.\n * @param suggesterName - The name of the suggester as specified in the suggesters collection that's part of the index definition.\n * @param options - Options for the suggest operation\n */\n public async suggest<TFields extends keyof TModel = never>(\n searchText: string,\n suggesterName: string,\n options: SuggestOptions<TFields> = {}\n ): Promise<SuggestDocumentsResult<Pick<TModel, TFields>>> {\n const { select, searchFields, orderBy, ...nonFieldOptions } = options;\n const fullOptions: SuggestRequest = {\n searchText: searchText,\n suggesterName: suggesterName,\n select: this.convertSelect<TFields>(select as TFields[]),\n searchFields: this.convertSearchFields(searchFields as string[]),\n orderBy: this.convertOrderBy(orderBy),\n ...nonFieldOptions,\n };\n\n if (!fullOptions.searchText) {\n throw new RangeError(\"searchText must be provided.\");\n }\n\n if (!fullOptions.suggesterName) {\n throw new RangeError(\"suggesterName must be provided.\");\n }\n\n const { span, updatedOptions } = createSpan(\"SearchClient-suggest\", options);\n\n try {\n const result = await this.client.documents.suggestPost(fullOptions, updatedOptions);\n\n const modifiedResult =\n utils.generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<TModel>(result);\n\n return deserialize<SuggestDocumentsResult<Pick<TModel, TFields>>>(modifiedResult);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieve a particular document from the index by key.\n * @param key - The primary key value of the document\n * @param options - Additional options\n */\n public async getDocument<TFields extends Extract<keyof TModel, string>>(\n key: string,\n options: GetDocumentOptions<TFields> = {}\n ): Promise<TModel> {\n const { span, updatedOptions } = createSpan(\"SearchClient-getDocument\", options);\n try {\n const result = await this.client.documents.get(key, updatedOptions);\n return deserialize<TModel>(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n * This operation may partially succeed and not all document operations will\n * be reflected in the index. If you would like to treat this as an exception,\n * set the `throwOnAnyFailure` option to true.\n * For more details about how merging works, see: https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n public async indexDocuments(\n // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-indexDocuments\", options);\n try {\n let status: number = 0;\n const result = await this.client.documents.index(\n { actions: serialize(batch.actions) },\n {\n ...updatedOptions,\n onResponse: (rawResponse, flatResponse) => {\n status = rawResponse.status;\n if (updatedOptions.onResponse) {\n updatedOptions.onResponse(rawResponse, flatResponse);\n }\n },\n }\n );\n if (options.throwOnAnyFailure && status === 207) {\n throw result;\n }\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Upload an array of documents to the index.\n * @param documents - The documents to upload.\n * @param options - Additional options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: UploadDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-uploadDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.upload(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Update a set of documents in the index.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n * @param options - Additional options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: MergeDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-mergeDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.merge(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Update a set of documents in the index or upload them if they don't exist.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n * @param options - Additional options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: MergeOrUploadDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-mergeDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.mergeOrUpload(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Delete a set of documents.\n * @param documents - Documents to be deleted.\n * @param options - Additional options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options?: DeleteDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n\n /**\n * Delete a set of documents.\n * @param keyName - The name of their primary key in the index.\n * @param keyValues - The primary key values of documents to delete.\n * @param options - Additional options.\n */\n public async deleteDocuments(\n keyName: keyof TModel,\n keyValues: string[],\n options?: DeleteDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n\n public async deleteDocuments(\n keyNameOrDocuments: keyof TModel | TModel[],\n keyValuesOrOptions?: string[] | DeleteDocumentsOptions,\n options: DeleteDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-deleteDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n if (typeof keyNameOrDocuments === \"string\") {\n batch.delete(keyNameOrDocuments, keyValuesOrOptions as string[]);\n } else {\n batch.delete(keyNameOrDocuments as TModel[]);\n }\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private encodeContinuationToken(\n nextLink: string | undefined,\n nextPageParameters: SearchRequest | undefined\n ): string | undefined {\n if (!nextLink || !nextPageParameters) {\n return undefined;\n }\n const payload = JSON.stringify({\n apiVersion: this.apiVersion,\n nextLink,\n nextPageParameters,\n });\n return encode(payload);\n }\n\n private decodeContinuationToken(\n token?: string\n ): { nextPageParameters: SearchRequest; nextLink: string } | undefined {\n if (!token) {\n return undefined;\n }\n\n const decodedToken = decode(token);\n\n try {\n const result: {\n apiVersion: string;\n nextLink: string;\n nextPageParameters: SearchRequest;\n } = JSON.parse(decodedToken);\n\n if (result.apiVersion !== this.apiVersion) {\n throw new RangeError(`Continuation token uses unsupported apiVersion \"${this.apiVersion}\"`);\n }\n\n return {\n nextLink: result.nextLink,\n nextPageParameters: result.nextPageParameters,\n };\n } catch (e: any) {\n throw new Error(`Corrupted or invalid continuation token: ${decodedToken}`);\n }\n }\n\n private convertSelect<TFields>(select?: TFields[]): string | undefined {\n if (select) {\n return select.join(\",\");\n }\n return select;\n }\n\n private convertSearchFields(searchFields?: string[]): string | undefined {\n if (searchFields) {\n return searchFields.join(\",\");\n }\n return searchFields;\n }\n\n private convertOrderBy(orderBy?: string[]): string | undefined {\n if (orderBy) {\n return orderBy.join(\",\");\n }\n return orderBy;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch\";\nimport {\n IndexDocumentsAction,\n IndexDocumentsOptions,\n SearchIndexingBufferedSenderDeleteDocumentsOptions,\n SearchIndexingBufferedSenderFlushDocumentsOptions,\n SearchIndexingBufferedSenderMergeDocumentsOptions,\n SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions,\n SearchIndexingBufferedSenderOptions,\n SearchIndexingBufferedSenderUploadDocumentsOptions,\n} from \"./indexModels\";\nimport { IndexDocumentsResult } from \"./generated/data/models\";\nimport { OperationOptions } from \"@azure/core-client\";\nimport EventEmitter from \"events\";\nimport { createSpan } from \"./tracing\";\nimport { delay } from \"./serviceUtils\";\nimport { getRandomIntegerInclusive } from \"./serviceUtils\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\n\n/**\n * Index Documents Client\n */\nexport interface IndexDocumentsClient<TModel> {\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n *\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n indexDocuments(\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n}\n\n/**\n * Default Batch Size\n */\nexport const DEFAULT_BATCH_SIZE: number = 512;\n/**\n * Default window flush interval\n */\nexport const DEFAULT_FLUSH_WINDOW: number = 60000;\n/**\n * Default number of times to retry.\n */\nexport const DEFAULT_RETRY_COUNT: number = 3;\n/**\n * Default retry delay.\n */\nexport const DEFAULT_RETRY_DELAY: number = 800;\n/**\n * Default Max Delay between retries.\n */\nexport const DEFAULT_MAX_RETRY_DELAY: number = 60000;\n\n/**\n * Class used to perform buffered operations against a search index,\n * including adding, updating, and removing them.\n */\nexport class SearchIndexingBufferedSender<TModel> {\n /**\n * Search Client used to call the underlying IndexBatch operations.\n */\n private client: IndexDocumentsClient<TModel>;\n /**\n * Indicates if autoFlush is enabled.\n */\n private autoFlush: boolean;\n /**\n * Interval between flushes (in milliseconds).\n */\n private flushWindowInMs: number;\n /**\n * Delay between retries\n */\n private throttlingDelayInMs: number;\n /**\n * Maximum number of Retries\n */\n private maxRetriesPerAction: number;\n /**\n * Max Delay between retries\n */\n private maxThrottlingDelayInMs: number;\n /**\n * Size of the batch.\n */\n private initialBatchActionCount: number;\n /**\n * Batch object used to complete the service call.\n */\n private batchObject: IndexDocumentsBatch<TModel>;\n /**\n * Clean up for the timer\n */\n private cleanupTimer?: () => void;\n /**\n * Event emitter/publisher used in the Buffered Sender\n */\n private readonly emitter = new EventEmitter();\n /**\n * Method to retrieve the document key\n */\n private documentKeyRetriever: (document: TModel) => string;\n\n /**\n * Creates a new instance of SearchIndexingBufferedSender.\n *\n * @param client - Search Client used to call the underlying IndexBatch operations.\n * @param options - Options to modify auto flush.\n *\n */\n constructor(\n client: IndexDocumentsClient<TModel>,\n documentKeyRetriever: (document: TModel) => string,\n options: SearchIndexingBufferedSenderOptions = {}\n ) {\n this.client = client;\n this.documentKeyRetriever = documentKeyRetriever;\n // General Configuration properties\n this.autoFlush = options.autoFlush ?? true;\n this.initialBatchActionCount = options.initialBatchActionCount ?? DEFAULT_BATCH_SIZE;\n this.flushWindowInMs = options.flushWindowInMs ?? DEFAULT_FLUSH_WINDOW;\n // Retry specific configuration properties\n this.throttlingDelayInMs = options.throttlingDelayInMs ?? DEFAULT_FLUSH_WINDOW;\n this.maxRetriesPerAction = options.maxRetriesPerAction ?? DEFAULT_RETRY_COUNT;\n this.maxThrottlingDelayInMs = options.maxThrottlingDelayInMs ?? DEFAULT_MAX_RETRY_DELAY;\n\n this.batchObject = new IndexDocumentsBatch<TModel>();\n if (this.autoFlush) {\n const interval = setInterval(() => this.flush(), this.flushWindowInMs);\n interval?.unref();\n this.cleanupTimer = () => {\n clearInterval(interval);\n };\n }\n }\n\n /**\n * Uploads the documents/Adds the documents to the upload queue.\n *\n * @param documents - Documents to be uploaded.\n * @param options - Upload options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderUploadDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-uploadDocuments\",\n options\n );\n try {\n this.batchObject.upload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"upload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges the documents/Adds the documents to the merge queue.\n *\n * @param documents - Documents to be merged.\n * @param options - Upload options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeDocuments\",\n options\n );\n try {\n this.batchObject.merge(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"merge\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges/Uploads the documents/Adds the documents to the merge/upload queue.\n *\n * @param documents - Documents to be merged/uploaded.\n * @param options - Upload options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeOrUploadDocuments\",\n options\n );\n try {\n this.batchObject.mergeOrUpload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"mergeOrUpload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes the documents/Adds the documents to the delete queue.\n *\n * @param documents - Documents to be deleted.\n * @param options - Upload options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderDeleteDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-deleteDocuments\",\n options\n );\n try {\n this.batchObject.delete(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"delete\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Flushes the queue manually.\n *\n * @param options - Flush options.\n */\n public async flush(\n options: SearchIndexingBufferedSenderFlushDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexingBufferedSender-flush\", options);\n try {\n if (this.batchObject.actions.length > 0) {\n return this.internalFlush(true, updatedOptions);\n }\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * If using autoFlush: true, call this to cleanup the autoflush timer.\n */\n public async dispose(): Promise<void> {\n if (this.batchObject.actions.length > 0) {\n await this.internalFlush(true);\n }\n if (this.cleanupTimer) {\n this.cleanupTimer();\n }\n }\n\n /**\n * Attach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void\n ): void;\n /**\n * Attach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"beforeDocumentSent\", listener: (e: IndexDocumentsAction<TModel>) => void): void;\n /**\n * Attach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Attach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public on(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\" | \"batchResizing\",\n listener: (e: any) => void\n ): void {\n this.emitter.on(event, listener);\n }\n\n /**\n * Detach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void\n ): void;\n /**\n * Detach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"beforeDocumentSent\",\n listener: (e: IndexDocumentsAction<TModel>) => void\n ): void;\n /**\n * Detach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Detach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public off(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\",\n listener: (e: any) => void\n ): void {\n this.emitter.removeListener(event, listener);\n }\n\n private isBatchReady(): boolean {\n return this.batchObject.actions.length >= this.initialBatchActionCount;\n }\n\n private async internalFlush(force: boolean, options: OperationOptions = {}): Promise<void> {\n if (force || (this.autoFlush && this.isBatchReady())) {\n // Split it\n const actions: IndexDocumentsAction<TModel>[] = this.batchObject.actions;\n this.batchObject = new IndexDocumentsBatch<TModel>();\n while (actions.length > 0) {\n const actionsToSend = actions.splice(0, this.initialBatchActionCount);\n const { batchToSubmit, submitLater } = this.pruneActions(actionsToSend);\n actions.unshift(...submitLater);\n await this.submitDocuments(batchToSubmit, options);\n }\n }\n }\n\n private pruneActions(batch: IndexDocumentsAction<TModel>[]): {\n batchToSubmit: IndexDocumentsAction<TModel>[];\n submitLater: IndexDocumentsAction<TModel>[];\n } {\n const hashSet: Set<string> = new Set<string>();\n const resultBatch: IndexDocumentsAction<TModel>[] = [];\n const pruned: IndexDocumentsAction<TModel>[] = [];\n\n for (const document of batch) {\n const key = this.documentKeyRetriever(document as unknown as TModel);\n if (hashSet.has(key)) {\n pruned.push(document);\n } else {\n hashSet.add(key);\n resultBatch.push(document);\n }\n }\n return { batchToSubmit: resultBatch, submitLater: pruned };\n }\n\n private async submitDocuments(\n actionsToSend: IndexDocumentsAction<TModel>[],\n options: OperationOptions,\n retryAttempt: number = 1\n ): Promise<void> {\n try {\n for (const action of actionsToSend) {\n this.emitter.emit(\"beforeDocumentSent\", action);\n }\n const result = await this.client.indexDocuments(\n new IndexDocumentsBatch<TModel>(actionsToSend),\n options\n );\n // raise success event\n this.emitter.emit(\"batchSucceeded\", result);\n } catch (e: any) {\n if (e.statusCode && e.statusCode === 413 && actionsToSend.length > 1) {\n // Cut the payload size to half\n const splitActionsArray = [\n actionsToSend.slice(0, actionsToSend.length / 2),\n actionsToSend.slice(actionsToSend.length / 2, actionsToSend.length),\n ];\n this.initialBatchActionCount = splitActionsArray[0].length; // So, we do not want 413 happening again and again\n for (const actions of splitActionsArray) {\n await this.submitDocuments(actions, options);\n }\n } else if (this.isRetryAbleError(e) && retryAttempt <= this.maxRetriesPerAction) {\n // Exponentially increase the delay each time\n const exponentialDelay = this.throttlingDelayInMs * Math.pow(2, retryAttempt);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(this.maxThrottlingDelayInMs, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n const delayWithJitter =\n clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n await delay(delayWithJitter);\n await this.submitDocuments(actionsToSend, options, retryAttempt + 1);\n } else {\n this.emitter.emit(\"batchFailed\", e);\n throw e;\n }\n }\n }\n\n private isRetryAbleError(e: any): boolean {\n return e.statusCode && (e.statusCode === 422 || e.statusCode === 409 || e.statusCode === 503);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const SearchIndexerDataSource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataSource\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n credentials: {\n serializedName: \"credentials\",\n type: {\n name: \"Composite\",\n className: \"DataSourceCredentials\"\n }\n },\n container: {\n serializedName: \"container\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataContainer\"\n }\n },\n dataChangeDetectionPolicy: {\n serializedName: \"dataChangeDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"DataChangeDetectionPolicy\"\n }\n },\n dataDeletionDetectionPolicy: {\n serializedName: \"dataDeletionDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"DataDeletionDetectionPolicy\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const DataSourceCredentials: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataSourceCredentials\",\n modelProperties: {\n connectionString: {\n serializedName: \"connectionString\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerDataContainer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataContainer\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n query: {\n serializedName: \"query\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataChangeDetectionPolicy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataChangeDetectionPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataDeletionDetectionPolicy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataDeletionDetectionPolicy\",\n uberParent: \"DataDeletionDetectionPolicy\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchResourceEncryptionKey: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\",\n modelProperties: {\n keyName: {\n serializedName: \"keyVaultKeyName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n keyVersion: {\n serializedName: \"keyVaultKeyVersion\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n vaultUri: {\n serializedName: \"keyVaultUri\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n accessCredentials: {\n serializedName: \"accessCredentials\",\n type: {\n name: \"Composite\",\n className: \"AzureActiveDirectoryApplicationCredentials\"\n }\n }\n }\n }\n};\n\nexport const AzureActiveDirectoryApplicationCredentials: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AzureActiveDirectoryApplicationCredentials\",\n modelProperties: {\n applicationId: {\n serializedName: \"applicationId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n applicationSecret: {\n serializedName: \"applicationSecret\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ListDataSourcesResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListDataSourcesResult\",\n modelProperties: {\n dataSources: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataSource\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexer\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n dataSourceName: {\n serializedName: \"dataSourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skillsetName: {\n serializedName: \"skillsetName\",\n type: {\n name: \"String\"\n }\n },\n targetIndexName: {\n serializedName: \"targetIndexName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n schedule: {\n serializedName: \"schedule\",\n type: {\n name: \"Composite\",\n className: \"IndexingSchedule\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Composite\",\n className: \"IndexingParameters\"\n }\n },\n fieldMappings: {\n serializedName: \"fieldMappings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\"\n }\n }\n }\n },\n outputFieldMappings: {\n serializedName: \"outputFieldMappings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\"\n }\n }\n }\n },\n isDisabled: {\n serializedName: \"disabled\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const IndexingSchedule: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingSchedule\",\n modelProperties: {\n interval: {\n serializedName: \"interval\",\n required: true,\n type: {\n name: \"TimeSpan\"\n }\n },\n startTime: {\n serializedName: \"startTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const IndexingParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingParameters\",\n modelProperties: {\n batchSize: {\n serializedName: \"batchSize\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFailedItems: {\n serializedName: \"maxFailedItems\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFailedItemsPerBatch: {\n serializedName: \"maxFailedItemsPerBatch\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n configuration: {\n serializedName: \"configuration\",\n type: {\n name: \"Composite\",\n className: \"IndexingParametersConfiguration\"\n }\n }\n }\n }\n};\n\nexport const IndexingParametersConfiguration: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingParametersConfiguration\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n parsingMode: {\n defaultValue: \"default\",\n serializedName: \"parsingMode\",\n type: {\n name: \"String\"\n }\n },\n excludedFileNameExtensions: {\n serializedName: \"excludedFileNameExtensions\",\n type: {\n name: \"String\"\n }\n },\n indexedFileNameExtensions: {\n serializedName: \"indexedFileNameExtensions\",\n type: {\n name: \"String\"\n }\n },\n failOnUnsupportedContentType: {\n serializedName: \"failOnUnsupportedContentType\",\n type: {\n name: \"Boolean\"\n }\n },\n failOnUnprocessableDocument: {\n serializedName: \"failOnUnprocessableDocument\",\n type: {\n name: \"Boolean\"\n }\n },\n indexStorageMetadataOnlyForOversizedDocuments: {\n serializedName: \"indexStorageMetadataOnlyForOversizedDocuments\",\n type: {\n name: \"Boolean\"\n }\n },\n delimitedTextHeaders: {\n serializedName: \"delimitedTextHeaders\",\n type: {\n name: \"String\"\n }\n },\n delimitedTextDelimiter: {\n serializedName: \"delimitedTextDelimiter\",\n type: {\n name: \"String\"\n }\n },\n firstLineContainsHeaders: {\n defaultValue: true,\n serializedName: \"firstLineContainsHeaders\",\n type: {\n name: \"Boolean\"\n }\n },\n documentRoot: {\n serializedName: \"documentRoot\",\n type: {\n name: \"String\"\n }\n },\n dataToExtract: {\n defaultValue: \"contentAndMetadata\",\n serializedName: \"dataToExtract\",\n type: {\n name: \"String\"\n }\n },\n imageAction: {\n defaultValue: \"none\",\n serializedName: \"imageAction\",\n type: {\n name: \"String\"\n }\n },\n allowSkillsetToReadFileData: {\n serializedName: \"allowSkillsetToReadFileData\",\n type: {\n name: \"Boolean\"\n }\n },\n pdfTextRotationAlgorithm: {\n defaultValue: \"none\",\n serializedName: \"pdfTextRotationAlgorithm\",\n type: {\n name: \"String\"\n }\n },\n executionEnvironment: {\n defaultValue: \"standard\",\n serializedName: \"executionEnvironment\",\n type: {\n name: \"String\"\n }\n },\n queryTimeout: {\n defaultValue: \"00:05:00\",\n serializedName: \"queryTimeout\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FieldMapping: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\",\n modelProperties: {\n sourceFieldName: {\n serializedName: \"sourceFieldName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetFieldName: {\n serializedName: \"targetFieldName\",\n type: {\n name: \"String\"\n }\n },\n mappingFunction: {\n serializedName: \"mappingFunction\",\n type: {\n name: \"Composite\",\n className: \"FieldMappingFunction\"\n }\n }\n }\n }\n};\n\nexport const FieldMappingFunction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FieldMappingFunction\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const ListIndexersResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListIndexersResult\",\n modelProperties: {\n indexers: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexer\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerStatus: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerStatus\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"unknown\", \"error\", \"running\"]\n }\n },\n lastResult: {\n serializedName: \"lastResult\",\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\"\n }\n },\n executionHistory: {\n serializedName: \"executionHistory\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\"\n }\n }\n }\n },\n limits: {\n serializedName: \"limits\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerLimits\"\n }\n }\n }\n }\n};\n\nexport const IndexerExecutionResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"transientFailure\", \"success\", \"inProgress\", \"reset\"]\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n startTime: {\n serializedName: \"startTime\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n endTime: {\n serializedName: \"endTime\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"DateTime\"\n }\n },\n errors: {\n serializedName: \"errors\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerError\"\n }\n }\n }\n },\n warnings: {\n serializedName: \"warnings\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerWarning\"\n }\n }\n }\n },\n itemCount: {\n serializedName: \"itemsProcessed\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n failedItemCount: {\n serializedName: \"itemsFailed\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n initialTrackingState: {\n serializedName: \"initialTrackingState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n finalTrackingState: {\n serializedName: \"finalTrackingState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerError\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n statusCode: {\n serializedName: \"statusCode\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n documentationLink: {\n serializedName: \"documentationLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerWarning: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerWarning\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n documentationLink: {\n serializedName: \"documentationLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerLimits: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerLimits\",\n modelProperties: {\n maxRunTime: {\n serializedName: \"maxRunTime\",\n readOnly: true,\n type: {\n name: \"TimeSpan\"\n }\n },\n maxDocumentExtractionSize: {\n serializedName: \"maxDocumentExtractionSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n maxDocumentContentCharactersToExtract: {\n serializedName: \"maxDocumentContentCharactersToExtract\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerSkillset: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkillset\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n skills: {\n serializedName: \"skills\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkill\"\n }\n }\n }\n },\n cognitiveServicesAccount: {\n serializedName: \"cognitiveServices\",\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccount\"\n }\n },\n knowledgeStore: {\n serializedName: \"knowledgeStore\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStore\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerSkill: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n context: {\n serializedName: \"context\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n },\n outputs: {\n serializedName: \"outputs\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OutputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const InputFieldMappingEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"source\",\n type: {\n name: \"String\"\n }\n },\n sourceContext: {\n serializedName: \"sourceContext\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const OutputFieldMappingEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OutputFieldMappingEntry\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetName: {\n serializedName: \"targetName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CognitiveServicesAccount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccount\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStore: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStore\",\n modelProperties: {\n storageConnectionString: {\n serializedName: \"storageConnectionString\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n projections: {\n serializedName: \"projections\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjection\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreProjection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjection\",\n modelProperties: {\n tables: {\n serializedName: \"tables\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreTableProjectionSelector\"\n }\n }\n }\n },\n objects: {\n serializedName: \"objects\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreObjectProjectionSelector\"\n }\n }\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreFileProjectionSelector\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjectionSelector\",\n modelProperties: {\n referenceKeyName: {\n serializedName: \"referenceKeyName\",\n type: {\n name: \"String\"\n }\n },\n generatedKeyName: {\n serializedName: \"generatedKeyName\",\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"source\",\n type: {\n name: \"String\"\n }\n },\n sourceContext: {\n serializedName: \"sourceContext\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ListSkillsetsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListSkillsetsResult\",\n modelProperties: {\n skillsets: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkillset\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SynonymMap: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SynonymMap\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n format: {\n defaultValue: \"solr\",\n isConstant: true,\n serializedName: \"format\",\n type: {\n name: \"String\"\n }\n },\n synonyms: {\n serializedName: \"synonyms\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ListSynonymMapsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListSynonymMapsResult\",\n modelProperties: {\n synonymMaps: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SynonymMap\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndex: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndex\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n fields: {\n serializedName: \"fields\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchField\"\n }\n }\n }\n },\n scoringProfiles: {\n serializedName: \"scoringProfiles\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ScoringProfile\"\n }\n }\n }\n },\n defaultScoringProfile: {\n serializedName: \"defaultScoringProfile\",\n type: {\n name: \"String\"\n }\n },\n corsOptions: {\n serializedName: \"corsOptions\",\n type: {\n name: \"Composite\",\n className: \"CorsOptions\"\n }\n },\n suggesters: {\n serializedName: \"suggesters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Suggester\"\n }\n }\n }\n },\n analyzers: {\n serializedName: \"analyzers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LexicalAnalyzer\"\n }\n }\n }\n },\n tokenizers: {\n serializedName: \"tokenizers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LexicalTokenizer\"\n }\n }\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TokenFilter\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CharFilter\"\n }\n }\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n },\n similarity: {\n serializedName: \"similarity\",\n type: {\n name: \"Composite\",\n className: \"Similarity\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchField: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchField\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n key: {\n serializedName: \"key\",\n type: {\n name: \"Boolean\"\n }\n },\n retrievable: {\n serializedName: \"retrievable\",\n type: {\n name: \"Boolean\"\n }\n },\n searchable: {\n serializedName: \"searchable\",\n type: {\n name: \"Boolean\"\n }\n },\n filterable: {\n serializedName: \"filterable\",\n type: {\n name: \"Boolean\"\n }\n },\n sortable: {\n serializedName: \"sortable\",\n type: {\n name: \"Boolean\"\n }\n },\n facetable: {\n serializedName: \"facetable\",\n type: {\n name: \"Boolean\"\n }\n },\n analyzer: {\n serializedName: \"analyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n searchAnalyzer: {\n serializedName: \"searchAnalyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n indexAnalyzer: {\n serializedName: \"indexAnalyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n synonymMaps: {\n serializedName: \"synonymMaps\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n fields: {\n serializedName: \"fields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchField\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ScoringProfile: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ScoringProfile\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n textWeights: {\n serializedName: \"text\",\n type: {\n name: \"Composite\",\n className: \"TextWeights\"\n }\n },\n functions: {\n serializedName: \"functions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ScoringFunction\"\n }\n }\n }\n },\n functionAggregation: {\n serializedName: \"functionAggregation\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"sum\",\n \"average\",\n \"minimum\",\n \"maximum\",\n \"firstMatching\"\n ]\n }\n }\n }\n }\n};\n\nexport const TextWeights: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TextWeights\",\n modelProperties: {\n weights: {\n serializedName: \"weights\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } }\n }\n }\n }\n }\n};\n\nexport const ScoringFunction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: {\n serializedName: \"type\",\n clientName: \"type\"\n },\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n fieldName: {\n serializedName: \"fieldName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boost: {\n serializedName: \"boost\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n interpolation: {\n serializedName: \"interpolation\",\n type: {\n name: \"Enum\",\n allowedValues: [\"linear\", \"constant\", \"quadratic\", \"logarithmic\"]\n }\n }\n }\n }\n};\n\nexport const CorsOptions: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CorsOptions\",\n modelProperties: {\n allowedOrigins: {\n serializedName: \"allowedOrigins\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n maxAgeInSeconds: {\n serializedName: \"maxAgeInSeconds\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Suggester: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Suggester\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n searchMode: {\n defaultValue: \"analyzingInfixMatching\",\n isConstant: true,\n serializedName: \"searchMode\",\n type: {\n name: \"String\"\n }\n },\n sourceFields: {\n serializedName: \"sourceFields\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LexicalAnalyzer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LexicalAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LexicalTokenizer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LexicalTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TokenFilter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CharFilter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Similarity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Similarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"@odata\\\\.type\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ListIndexesResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListIndexesResult\",\n modelProperties: {\n indexes: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndex\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const GetIndexStatisticsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GetIndexStatisticsResult\",\n modelProperties: {\n documentCount: {\n serializedName: \"documentCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n storageSize: {\n serializedName: \"storageSize\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AnalyzeRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeRequest\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n analyzer: {\n serializedName: \"analyzer\",\n type: {\n name: \"String\"\n }\n },\n tokenizer: {\n serializedName: \"tokenizer\",\n type: {\n name: \"String\"\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AnalyzeResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeResult\",\n modelProperties: {\n tokens: {\n serializedName: \"tokens\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AnalyzedTokenInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AnalyzedTokenInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzedTokenInfo\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n startOffset: {\n serializedName: \"startOffset\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n endOffset: {\n serializedName: \"endOffset\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n position: {\n serializedName: \"position\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ServiceStatistics: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceStatistics\",\n modelProperties: {\n counters: {\n serializedName: \"counters\",\n type: {\n name: \"Composite\",\n className: \"ServiceCounters\"\n }\n },\n limits: {\n serializedName: \"limits\",\n type: {\n name: \"Composite\",\n className: \"ServiceLimits\"\n }\n }\n }\n }\n};\n\nexport const ServiceCounters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceCounters\",\n modelProperties: {\n documentCounter: {\n serializedName: \"documentCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n indexCounter: {\n serializedName: \"indexesCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n indexerCounter: {\n serializedName: \"indexersCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n dataSourceCounter: {\n serializedName: \"dataSourcesCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n storageSizeCounter: {\n serializedName: \"storageSize\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n synonymMapCounter: {\n serializedName: \"synonymMaps\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n skillsetCounter: {\n serializedName: \"skillsetCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n }\n }\n }\n};\n\nexport const ResourceCounter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\",\n modelProperties: {\n usage: {\n serializedName: \"usage\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n quota: {\n serializedName: \"quota\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ServiceLimits: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceLimits\",\n modelProperties: {\n maxFieldsPerIndex: {\n serializedName: \"maxFieldsPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFieldNestingDepthPerIndex: {\n serializedName: \"maxFieldNestingDepthPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxComplexCollectionFieldsPerIndex: {\n serializedName: \"maxComplexCollectionFieldsPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxComplexObjectsInCollectionsPerDocument: {\n serializedName: \"maxComplexObjectsInCollectionsPerDocument\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DistanceScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DistanceScoringParameters\",\n modelProperties: {\n referencePointParameter: {\n serializedName: \"referencePointParameter\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boostingDistance: {\n serializedName: \"boostingDistance\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const FreshnessScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringParameters\",\n modelProperties: {\n boostingDuration: {\n serializedName: \"boostingDuration\",\n required: true,\n type: {\n name: \"TimeSpan\"\n }\n }\n }\n }\n};\n\nexport const MagnitudeScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringParameters\",\n modelProperties: {\n boostingRangeStart: {\n serializedName: \"boostingRangeStart\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n boostingRangeEnd: {\n serializedName: \"boostingRangeEnd\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n shouldBoostBeyondRangeByConstant: {\n serializedName: \"constantBoostBeyondRange\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagScoringParameters\",\n modelProperties: {\n tagsParameter: {\n serializedName: \"tagsParameter\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomEntity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomEntity\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n subtype: {\n serializedName: \"subtype\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n caseSensitive: {\n serializedName: \"caseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n accentSensitive: {\n serializedName: \"accentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n fuzzyEditDistance: {\n serializedName: \"fuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n defaultCaseSensitive: {\n serializedName: \"defaultCaseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n defaultAccentSensitive: {\n serializedName: \"defaultAccentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n defaultFuzzyEditDistance: {\n serializedName: \"defaultFuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n aliases: {\n serializedName: \"aliases\",\n nullable: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CustomEntityAlias\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CustomEntityAlias: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomEntityAlias\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n caseSensitive: {\n serializedName: \"caseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n accentSensitive: {\n serializedName: \"accentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n fuzzyEditDistance: {\n serializedName: \"fuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const HighWaterMarkChangeDetectionPolicy: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"HighWaterMarkChangeDetectionPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator:\n DataChangeDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataChangeDetectionPolicy.type.modelProperties,\n highWaterMarkColumnName: {\n serializedName: \"highWaterMarkColumnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SqlIntegratedChangeTrackingPolicy: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy\",\n type: {\n name: \"Composite\",\n className: \"SqlIntegratedChangeTrackingPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator:\n DataChangeDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataChangeDetectionPolicy.type.modelProperties\n }\n }\n};\n\nexport const SoftDeleteColumnDeletionDetectionPolicy: coreClient.CompositeMapper = {\n serializedName:\n \"#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"SoftDeleteColumnDeletionDetectionPolicy\",\n uberParent: \"DataDeletionDetectionPolicy\",\n polymorphicDiscriminator:\n DataDeletionDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataDeletionDetectionPolicy.type.modelProperties,\n softDeleteColumnName: {\n serializedName: \"softDeleteColumnName\",\n type: {\n name: \"String\"\n }\n },\n softDeleteMarkerValue: {\n serializedName: \"softDeleteMarkerValue\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ConditionalSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.ConditionalSkill\",\n type: {\n name: \"Composite\",\n className: \"ConditionalSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties\n }\n }\n};\n\nexport const KeyPhraseExtractionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\",\n type: {\n name: \"Composite\",\n className: \"KeyPhraseExtractionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n maxKeyPhraseCount: {\n serializedName: \"maxKeyPhraseCount\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n modelVersion: {\n serializedName: \"modelVersion\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OcrSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Vision.OcrSkill\",\n type: {\n name: \"Composite\",\n className: \"OcrSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n shouldDetectOrientation: {\n serializedName: \"detectOrientation\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ImageAnalysisSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Vision.ImageAnalysisSkill\",\n type: {\n name: \"Composite\",\n className: \"ImageAnalysisSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n visualFeatures: {\n serializedName: \"visualFeatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LanguageDetectionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.LanguageDetectionSkill\",\n type: {\n name: \"Composite\",\n className: \"LanguageDetectionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultCountryHint: {\n serializedName: \"defaultCountryHint\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n modelVersion: {\n serializedName: \"modelVersion\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ShaperSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.ShaperSkill\",\n type: {\n name: \"Composite\",\n className: \"ShaperSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties\n }\n }\n};\n\nexport const MergeSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.MergeSkill\",\n type: {\n name: \"Composite\",\n className: \"MergeSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n insertPreTag: {\n defaultValue: \" \",\n serializedName: \"insertPreTag\",\n type: {\n name: \"String\"\n }\n },\n insertPostTag: {\n defaultValue: \" \",\n serializedName: \"insertPostTag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EntityRecognitionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.EntityRecognitionSkill\",\n type: {\n name: \"Composite\",\n className: \"EntityRecognitionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n categories: {\n serializedName: \"categories\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n includeTypelessEntities: {\n serializedName: \"includeTypelessEntities\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n minimumPrecision: {\n serializedName: \"minimumPrecision\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SentimentSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.SentimentSkill\",\n type: {\n name: \"Composite\",\n className: \"SentimentSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SplitSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.SplitSkill\",\n type: {\n name: \"Composite\",\n className: \"SplitSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n textSplitMode: {\n serializedName: \"textSplitMode\",\n type: {\n name: \"String\"\n }\n },\n maxPageLength: {\n serializedName: \"maximumPageLength\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const CustomEntityLookupSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.CustomEntityLookupSkill\",\n type: {\n name: \"Composite\",\n className: \"CustomEntityLookupSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n entitiesDefinitionUri: {\n serializedName: \"entitiesDefinitionUri\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n inlineEntitiesDefinition: {\n serializedName: \"inlineEntitiesDefinition\",\n nullable: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CustomEntity\"\n }\n }\n }\n },\n globalDefaultCaseSensitive: {\n serializedName: \"globalDefaultCaseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n globalDefaultAccentSensitive: {\n serializedName: \"globalDefaultAccentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n globalDefaultFuzzyEditDistance: {\n serializedName: \"globalDefaultFuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const TextTranslationSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.TranslationSkill\",\n type: {\n name: \"Composite\",\n className: \"TextTranslationSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultToLanguageCode: {\n serializedName: \"defaultToLanguageCode\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n defaultFromLanguageCode: {\n serializedName: \"defaultFromLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n suggestedFrom: {\n serializedName: \"suggestedFrom\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentExtractionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.DocumentExtractionSkill\",\n type: {\n name: \"Composite\",\n className: \"DocumentExtractionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n parsingMode: {\n serializedName: \"parsingMode\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n dataToExtract: {\n serializedName: \"dataToExtract\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n configuration: {\n serializedName: \"configuration\",\n nullable: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const WebApiSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Custom.WebApiSkill\",\n type: {\n name: \"Composite\",\n className: \"WebApiSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n uri: {\n serializedName: \"uri\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n httpHeaders: {\n serializedName: \"httpHeaders\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n httpMethod: {\n serializedName: \"httpMethod\",\n type: {\n name: \"String\"\n }\n },\n timeout: {\n serializedName: \"timeout\",\n type: {\n name: \"TimeSpan\"\n }\n },\n batchSize: {\n serializedName: \"batchSize\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n degreeOfParallelism: {\n serializedName: \"degreeOfParallelism\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DefaultCognitiveServicesAccount: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.DefaultCognitiveServices\",\n type: {\n name: \"Composite\",\n className: \"DefaultCognitiveServicesAccount\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator:\n CognitiveServicesAccount.type.polymorphicDiscriminator,\n modelProperties: {\n ...CognitiveServicesAccount.type.modelProperties\n }\n }\n};\n\nexport const CognitiveServicesAccountKey: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CognitiveServicesByKey\",\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccountKey\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator:\n CognitiveServicesAccount.type.polymorphicDiscriminator,\n modelProperties: {\n ...CognitiveServicesAccount.type.modelProperties,\n key: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreTableProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreTableProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreProjectionSelector.type.modelProperties,\n tableName: {\n serializedName: \"tableName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreBlobProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreBlobProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreProjectionSelector.type.modelProperties,\n storageContainer: {\n serializedName: \"storageContainer\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DistanceScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"distance\",\n type: {\n name: \"Composite\",\n className: \"DistanceScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"distance\",\n type: {\n name: \"Composite\",\n className: \"DistanceScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const FreshnessScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"freshness\",\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"freshness\",\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const MagnitudeScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"magnitude\",\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"magnitude\",\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const TagScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"tag\",\n type: {\n name: \"Composite\",\n className: \"TagScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"tag\",\n type: {\n name: \"Composite\",\n className: \"TagScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const CustomAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CustomAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"CustomAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n tokenizerName: {\n serializedName: \"tokenizer\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatternAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"PatternAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n lowerCaseTerms: {\n defaultValue: true,\n serializedName: \"lowercase\",\n type: {\n name: \"Boolean\"\n }\n },\n pattern: {\n defaultValue: \"W+\",\n serializedName: \"pattern\",\n type: {\n name: \"String\"\n }\n },\n flags: {\n serializedName: \"flags\",\n type: {\n name: \"String\"\n }\n },\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LuceneStandardAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const StopAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StopAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"StopAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ClassicTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ClassicTokenizer\",\n type: {\n name: \"Composite\",\n className: \"ClassicTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenizer\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n tokenChars: {\n serializedName: \"tokenChars\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\n \"letter\",\n \"digit\",\n \"whitespace\",\n \"punctuation\",\n \"symbol\"\n ]\n }\n }\n }\n }\n }\n }\n};\n\nexport const KeywordTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordTokenizer\",\n type: {\n name: \"Composite\",\n className: \"KeywordTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n bufferSize: {\n defaultValue: 256,\n serializedName: \"bufferSize\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const KeywordTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"KeywordTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 256,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftLanguageTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MicrosoftLanguageTokenizer\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftLanguageTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n isSearchTokenizer: {\n serializedName: \"isSearchTokenizer\",\n type: {\n name: \"Boolean\"\n }\n },\n language: {\n serializedName: \"language\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"bangla\",\n \"bulgarian\",\n \"catalan\",\n \"chineseSimplified\",\n \"chineseTraditional\",\n \"croatian\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"french\",\n \"german\",\n \"greek\",\n \"gujarati\",\n \"hindi\",\n \"icelandic\",\n \"indonesian\",\n \"italian\",\n \"japanese\",\n \"kannada\",\n \"korean\",\n \"malay\",\n \"malayalam\",\n \"marathi\",\n \"norwegianBokmaal\",\n \"polish\",\n \"portuguese\",\n \"portugueseBrazilian\",\n \"punjabi\",\n \"romanian\",\n \"russian\",\n \"serbianCyrillic\",\n \"serbianLatin\",\n \"slovenian\",\n \"spanish\",\n \"swedish\",\n \"tamil\",\n \"telugu\",\n \"thai\",\n \"ukrainian\",\n \"urdu\",\n \"vietnamese\"\n ]\n }\n }\n }\n }\n};\n\nexport const MicrosoftLanguageStemmingTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftLanguageStemmingTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n isSearchTokenizer: {\n serializedName: \"isSearchTokenizer\",\n type: {\n name: \"Boolean\"\n }\n },\n language: {\n serializedName: \"language\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"bangla\",\n \"bulgarian\",\n \"catalan\",\n \"croatian\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"estonian\",\n \"finnish\",\n \"french\",\n \"german\",\n \"greek\",\n \"gujarati\",\n \"hebrew\",\n \"hindi\",\n \"hungarian\",\n \"icelandic\",\n \"indonesian\",\n \"italian\",\n \"kannada\",\n \"latvian\",\n \"lithuanian\",\n \"malay\",\n \"malayalam\",\n \"marathi\",\n \"norwegianBokmaal\",\n \"polish\",\n \"portuguese\",\n \"portugueseBrazilian\",\n \"punjabi\",\n \"romanian\",\n \"russian\",\n \"serbianCyrillic\",\n \"serbianLatin\",\n \"slovak\",\n \"slovenian\",\n \"spanish\",\n \"swedish\",\n \"tamil\",\n \"telugu\",\n \"turkish\",\n \"ukrainian\",\n \"urdu\"\n ]\n }\n }\n }\n }\n};\n\nexport const NGramTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenizer\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n tokenChars: {\n serializedName: \"tokenChars\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\n \"letter\",\n \"digit\",\n \"whitespace\",\n \"punctuation\",\n \"symbol\"\n ]\n }\n }\n }\n }\n }\n }\n};\n\nexport const PathHierarchyTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PathHierarchyTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"PathHierarchyTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n delimiter: {\n defaultValue: \"/\",\n serializedName: \"delimiter\",\n type: {\n name: \"String\"\n }\n },\n replacement: {\n defaultValue: \"/\",\n serializedName: \"replacement\",\n type: {\n name: \"String\"\n }\n },\n maxTokenLength: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n reverseTokenOrder: {\n serializedName: \"reverse\",\n type: {\n name: \"Boolean\"\n }\n },\n numberOfTokensToSkip: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PatternTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternTokenizer\",\n type: {\n name: \"Composite\",\n className: \"PatternTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n pattern: {\n defaultValue: \"W+\",\n serializedName: \"pattern\",\n type: {\n name: \"String\"\n }\n },\n flags: {\n serializedName: \"flags\",\n type: {\n name: \"String\"\n }\n },\n group: {\n defaultValue: -1,\n serializedName: \"group\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LuceneStandardTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardTokenizer\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LuceneStandardTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const UaxUrlEmailTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.UaxUrlEmailTokenizer\",\n type: {\n name: \"Composite\",\n className: \"UaxUrlEmailTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AsciiFoldingTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.AsciiFoldingTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"AsciiFoldingTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n preserveOriginal: {\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CjkBigramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CjkBigramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"CjkBigramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n ignoreScripts: {\n serializedName: \"ignoreScripts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\"han\", \"hiragana\", \"katakana\", \"hangul\"]\n }\n }\n }\n },\n outputUnigrams: {\n serializedName: \"outputUnigrams\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CommonGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CommonGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"CommonGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n commonWords: {\n serializedName: \"commonWords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n useQueryMode: {\n serializedName: \"queryMode\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const DictionaryDecompounderTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"DictionaryDecompounderTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n wordList: {\n serializedName: \"wordList\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n minWordSize: {\n defaultValue: 5,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minWordSize\",\n type: {\n name: \"Number\"\n }\n },\n minSubwordSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minSubwordSize\",\n type: {\n name: \"Number\"\n }\n },\n maxSubwordSize: {\n defaultValue: 15,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxSubwordSize\",\n type: {\n name: \"Number\"\n }\n },\n onlyLongestMatch: {\n serializedName: \"onlyLongestMatch\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n side: {\n serializedName: \"side\",\n type: {\n name: \"Enum\",\n allowedValues: [\"front\", \"back\"]\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenFilterV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenFilterV2\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n side: {\n serializedName: \"side\",\n type: {\n name: \"Enum\",\n allowedValues: [\"front\", \"back\"]\n }\n }\n }\n }\n};\n\nexport const ElisionTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ElisionTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"ElisionTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n articles: {\n serializedName: \"articles\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const KeepTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeepTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"KeepTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n keepWords: {\n serializedName: \"keepWords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n lowerCaseKeepWords: {\n serializedName: \"keepWordsCase\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const KeywordMarkerTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordMarkerTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"KeywordMarkerTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n keywords: {\n serializedName: \"keywords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const LengthTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.LengthTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"LengthTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minLength: {\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"min\",\n type: {\n name: \"Number\"\n }\n },\n maxLength: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"max\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LimitTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.LimitTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"LimitTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n maxTokenCount: {\n defaultValue: 1,\n serializedName: \"maxTokenCount\",\n type: {\n name: \"Number\"\n }\n },\n consumeAllTokens: {\n serializedName: \"consumeAllTokens\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const NGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const NGramTokenFilterV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenFilterV2\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenFilterV2\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PatternCaptureTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternCaptureTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternCaptureTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n patterns: {\n serializedName: \"patterns\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n preserveOriginal: {\n defaultValue: true,\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const PatternReplaceTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternReplaceTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternReplaceTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n pattern: {\n serializedName: \"pattern\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n replacement: {\n serializedName: \"replacement\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneticTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PhoneticTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PhoneticTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n encoder: {\n serializedName: \"encoder\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"metaphone\",\n \"doubleMetaphone\",\n \"soundex\",\n \"refinedSoundex\",\n \"caverphone1\",\n \"caverphone2\",\n \"cologne\",\n \"nysiis\",\n \"koelnerPhonetik\",\n \"haasePhonetik\",\n \"beiderMorse\"\n ]\n }\n },\n replaceOriginalTokens: {\n defaultValue: true,\n serializedName: \"replace\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ShingleTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ShingleTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"ShingleTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n maxShingleSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMinimum: 2\n },\n serializedName: \"maxShingleSize\",\n type: {\n name: \"Number\"\n }\n },\n minShingleSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMinimum: 2\n },\n serializedName: \"minShingleSize\",\n type: {\n name: \"Number\"\n }\n },\n outputUnigrams: {\n defaultValue: true,\n serializedName: \"outputUnigrams\",\n type: {\n name: \"Boolean\"\n }\n },\n outputUnigramsIfNoShingles: {\n serializedName: \"outputUnigramsIfNoShingles\",\n type: {\n name: \"Boolean\"\n }\n },\n tokenSeparator: {\n defaultValue: \" \",\n serializedName: \"tokenSeparator\",\n type: {\n name: \"String\"\n }\n },\n filterToken: {\n defaultValue: \"_\",\n serializedName: \"filterToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SnowballTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SnowballTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"SnowballTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n language: {\n serializedName: \"language\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"armenian\",\n \"basque\",\n \"catalan\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"finnish\",\n \"french\",\n \"german\",\n \"german2\",\n \"hungarian\",\n \"italian\",\n \"kp\",\n \"lovins\",\n \"norwegian\",\n \"porter\",\n \"portuguese\",\n \"romanian\",\n \"russian\",\n \"spanish\",\n \"swedish\",\n \"turkish\"\n ]\n }\n }\n }\n }\n};\n\nexport const StemmerTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StemmerTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StemmerTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n language: {\n serializedName: \"language\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"armenian\",\n \"basque\",\n \"brazilian\",\n \"bulgarian\",\n \"catalan\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"dutchKp\",\n \"english\",\n \"lightEnglish\",\n \"minimalEnglish\",\n \"possessiveEnglish\",\n \"porter2\",\n \"lovins\",\n \"finnish\",\n \"lightFinnish\",\n \"french\",\n \"lightFrench\",\n \"minimalFrench\",\n \"galician\",\n \"minimalGalician\",\n \"german\",\n \"german2\",\n \"lightGerman\",\n \"minimalGerman\",\n \"greek\",\n \"hindi\",\n \"hungarian\",\n \"lightHungarian\",\n \"indonesian\",\n \"irish\",\n \"italian\",\n \"lightItalian\",\n \"sorani\",\n \"latvian\",\n \"norwegian\",\n \"lightNorwegian\",\n \"minimalNorwegian\",\n \"lightNynorsk\",\n \"minimalNynorsk\",\n \"portuguese\",\n \"lightPortuguese\",\n \"minimalPortuguese\",\n \"portugueseRslp\",\n \"romanian\",\n \"russian\",\n \"lightRussian\",\n \"spanish\",\n \"lightSpanish\",\n \"swedish\",\n \"lightSwedish\",\n \"turkish\"\n ]\n }\n }\n }\n }\n};\n\nexport const StemmerOverrideTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StemmerOverrideTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StemmerOverrideTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n rules: {\n serializedName: \"rules\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const StopwordsTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StopwordsTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StopwordsTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n stopwordsList: {\n serializedName: \"stopwordsList\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"armenian\",\n \"basque\",\n \"brazilian\",\n \"bulgarian\",\n \"catalan\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"finnish\",\n \"french\",\n \"galician\",\n \"german\",\n \"greek\",\n \"hindi\",\n \"hungarian\",\n \"indonesian\",\n \"irish\",\n \"italian\",\n \"latvian\",\n \"norwegian\",\n \"persian\",\n \"portuguese\",\n \"romanian\",\n \"russian\",\n \"sorani\",\n \"spanish\",\n \"swedish\",\n \"thai\",\n \"turkish\"\n ]\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n removeTrailingStopWords: {\n defaultValue: true,\n serializedName: \"removeTrailing\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const SynonymTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SynonymTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"SynonymTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n synonyms: {\n serializedName: \"synonyms\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n expand: {\n defaultValue: true,\n serializedName: \"expand\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TruncateTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.TruncateTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"TruncateTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n length: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"length\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const UniqueTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.UniqueTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"UniqueTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n onlyOnSamePosition: {\n serializedName: \"onlyOnSamePosition\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const WordDelimiterTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.WordDelimiterTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"WordDelimiterTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n generateWordParts: {\n defaultValue: true,\n serializedName: \"generateWordParts\",\n type: {\n name: \"Boolean\"\n }\n },\n generateNumberParts: {\n defaultValue: true,\n serializedName: \"generateNumberParts\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateWords: {\n serializedName: \"catenateWords\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateNumbers: {\n serializedName: \"catenateNumbers\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateAll: {\n serializedName: \"catenateAll\",\n type: {\n name: \"Boolean\"\n }\n },\n splitOnCaseChange: {\n defaultValue: true,\n serializedName: \"splitOnCaseChange\",\n type: {\n name: \"Boolean\"\n }\n },\n preserveOriginal: {\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n },\n splitOnNumerics: {\n defaultValue: true,\n serializedName: \"splitOnNumerics\",\n type: {\n name: \"Boolean\"\n }\n },\n stemEnglishPossessive: {\n defaultValue: true,\n serializedName: \"stemEnglishPossessive\",\n type: {\n name: \"Boolean\"\n }\n },\n protectedWords: {\n serializedName: \"protectedWords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MappingCharFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MappingCharFilter\",\n type: {\n name: \"Composite\",\n className: \"MappingCharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: CharFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...CharFilter.type.modelProperties,\n mappings: {\n serializedName: \"mappings\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatternReplaceCharFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternReplaceCharFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternReplaceCharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: CharFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...CharFilter.type.modelProperties,\n pattern: {\n serializedName: \"pattern\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n replacement: {\n serializedName: \"replacement\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ClassicSimilarity: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ClassicSimilarity\",\n type: {\n name: \"Composite\",\n className: \"ClassicSimilarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: Similarity.type.polymorphicDiscriminator,\n modelProperties: {\n ...Similarity.type.modelProperties\n }\n }\n};\n\nexport const BM25Similarity: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.BM25Similarity\",\n type: {\n name: \"Composite\",\n className: \"BM25Similarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: Similarity.type.polymorphicDiscriminator,\n modelProperties: {\n ...Similarity.type.modelProperties,\n k1: {\n serializedName: \"k1\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n b: {\n serializedName: \"b\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreObjectProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreObjectProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreBlobProjectionSelector.type.modelProperties\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreFileProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreFileProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreBlobProjectionSelector.type.modelProperties\n }\n }\n};\n\nexport let discriminators = {\n DataChangeDetectionPolicy: DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy: DataDeletionDetectionPolicy,\n SearchIndexerSkill: SearchIndexerSkill,\n CognitiveServicesAccount: CognitiveServicesAccount,\n ScoringFunction: ScoringFunction,\n LexicalAnalyzer: LexicalAnalyzer,\n LexicalTokenizer: LexicalTokenizer,\n TokenFilter: TokenFilter,\n CharFilter: CharFilter,\n Similarity: Similarity,\n \"DataChangeDetectionPolicy.#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\": HighWaterMarkChangeDetectionPolicy,\n \"DataChangeDetectionPolicy.#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy\": SqlIntegratedChangeTrackingPolicy,\n \"DataDeletionDetectionPolicy.#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy\": SoftDeleteColumnDeletionDetectionPolicy,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.ConditionalSkill\": ConditionalSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.KeyPhraseExtractionSkill\": KeyPhraseExtractionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Vision.OcrSkill\": OcrSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Vision.ImageAnalysisSkill\": ImageAnalysisSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.LanguageDetectionSkill\": LanguageDetectionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.ShaperSkill\": ShaperSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.MergeSkill\": MergeSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.EntityRecognitionSkill\": EntityRecognitionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.SentimentSkill\": SentimentSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.SplitSkill\": SplitSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.CustomEntityLookupSkill\": CustomEntityLookupSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.TranslationSkill\": TextTranslationSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.DocumentExtractionSkill\": DocumentExtractionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Custom.WebApiSkill\": WebApiSkill,\n \"CognitiveServicesAccount.#Microsoft.Azure.Search.DefaultCognitiveServices\": DefaultCognitiveServicesAccount,\n \"CognitiveServicesAccount.#Microsoft.Azure.Search.CognitiveServicesByKey\": CognitiveServicesAccountKey,\n \"ScoringFunction.distance\": DistanceScoringFunction,\n \"ScoringFunction.freshness\": FreshnessScoringFunction,\n \"ScoringFunction.magnitude\": MagnitudeScoringFunction,\n \"ScoringFunction.tag\": TagScoringFunction,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.CustomAnalyzer\": CustomAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.PatternAnalyzer\": PatternAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.StandardAnalyzer\": LuceneStandardAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.StopAnalyzer\": StopAnalyzer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.ClassicTokenizer\": ClassicTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.EdgeNGramTokenizer\": EdgeNGramTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.KeywordTokenizer\": KeywordTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.KeywordTokenizerV2\": KeywordTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.MicrosoftLanguageTokenizer\": MicrosoftLanguageTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer\": MicrosoftLanguageStemmingTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.NGramTokenizer\": NGramTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.PathHierarchyTokenizerV2\": PathHierarchyTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.PatternTokenizer\": PatternTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.StandardTokenizer\": LuceneStandardTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.StandardTokenizerV2\": LuceneStandardTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.UaxUrlEmailTokenizer\": UaxUrlEmailTokenizer,\n \"TokenFilter.#Microsoft.Azure.Search.AsciiFoldingTokenFilter\": AsciiFoldingTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.CjkBigramTokenFilter\": CjkBigramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.CommonGramTokenFilter\": CommonGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter\": DictionaryDecompounderTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.EdgeNGramTokenFilter\": EdgeNGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\": EdgeNGramTokenFilterV2,\n \"TokenFilter.#Microsoft.Azure.Search.ElisionTokenFilter\": ElisionTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.KeepTokenFilter\": KeepTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.KeywordMarkerTokenFilter\": KeywordMarkerTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.LengthTokenFilter\": LengthTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.LimitTokenFilter\": LimitTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.NGramTokenFilter\": NGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.NGramTokenFilterV2\": NGramTokenFilterV2,\n \"TokenFilter.#Microsoft.Azure.Search.PatternCaptureTokenFilter\": PatternCaptureTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.PatternReplaceTokenFilter\": PatternReplaceTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.PhoneticTokenFilter\": PhoneticTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.ShingleTokenFilter\": ShingleTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.SnowballTokenFilter\": SnowballTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StemmerTokenFilter\": StemmerTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StemmerOverrideTokenFilter\": StemmerOverrideTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StopwordsTokenFilter\": StopwordsTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.SynonymTokenFilter\": SynonymTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.TruncateTokenFilter\": TruncateTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.UniqueTokenFilter\": UniqueTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.WordDelimiterTokenFilter\": WordDelimiterTokenFilter,\n \"CharFilter.#Microsoft.Azure.Search.MappingCharFilter\": MappingCharFilter,\n \"CharFilter.#Microsoft.Azure.Search.PatternReplaceCharFilter\": PatternReplaceCharFilter,\n \"Similarity.#Microsoft.Azure.Search.ClassicSimilarity\": ClassicSimilarity,\n \"Similarity.#Microsoft.Azure.Search.BM25Similarity\": BM25Similarity\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SearchIndexerDataSource as SearchIndexerDataSourceMapper,\n SearchIndexer as SearchIndexerMapper,\n SearchIndexerSkillset as SearchIndexerSkillsetMapper,\n SynonymMap as SynonymMapMapper,\n SearchIndex as SearchIndexMapper,\n AnalyzeRequest as AnalyzeRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const dataSource: OperationParameter = {\n parameterPath: \"dataSource\",\n mapper: SearchIndexerDataSourceMapper\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const dataSourceName: OperationURLParameter = {\n parameterPath: \"dataSourceName\",\n mapper: {\n serializedName: \"dataSourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifMatch\"],\n mapper: {\n serializedName: \"If-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifNoneMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifNoneMatch\"],\n mapper: {\n serializedName: \"If-None-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const prefer: OperationParameter = {\n parameterPath: \"prefer\",\n mapper: {\n defaultValue: \"return=representation\",\n isConstant: true,\n serializedName: \"Prefer\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const indexerName: OperationURLParameter = {\n parameterPath: \"indexerName\",\n mapper: {\n serializedName: \"indexerName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const indexer: OperationParameter = {\n parameterPath: \"indexer\",\n mapper: SearchIndexerMapper\n};\n\nexport const skillset: OperationParameter = {\n parameterPath: \"skillset\",\n mapper: SearchIndexerSkillsetMapper\n};\n\nexport const skillsetName: OperationURLParameter = {\n parameterPath: \"skillsetName\",\n mapper: {\n serializedName: \"skillsetName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const synonymMap: OperationParameter = {\n parameterPath: \"synonymMap\",\n mapper: SynonymMapMapper\n};\n\nexport const synonymMapName: OperationURLParameter = {\n parameterPath: \"synonymMapName\",\n mapper: {\n serializedName: \"synonymMapName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const index: OperationParameter = {\n parameterPath: \"index\",\n mapper: SearchIndexMapper\n};\n\nexport const indexName: OperationURLParameter = {\n parameterPath: \"indexName\",\n mapper: {\n serializedName: \"indexName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const allowIndexDowntime: OperationQueryParameter = {\n parameterPath: [\"options\", \"allowIndexDowntime\"],\n mapper: {\n serializedName: \"allowIndexDowntime\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const request: OperationParameter = {\n parameterPath: \"request\",\n mapper: AnalyzeRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { DataSources } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndexerDataSource,\n DataSourcesCreateOrUpdateOptionalParams,\n DataSourcesCreateOrUpdateResponse,\n DataSourcesDeleteOptionalParams,\n DataSourcesGetOptionalParams,\n DataSourcesGetResponse,\n DataSourcesListOptionalParams,\n DataSourcesListResponse,\n DataSourcesCreateOptionalParams,\n DataSourcesCreateResponse\n} from \"../models\";\n\n/** Class representing a DataSources. */\nexport class DataSourcesImpl implements DataSources {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class DataSources class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new datasource or updates a datasource if it already exists.\n * @param dataSourceName The name of the datasource to create or update.\n * @param dataSource The definition of the datasource to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n dataSourceName: string,\n dataSource: SearchIndexerDataSource,\n options?: DataSourcesCreateOrUpdateOptionalParams\n ): Promise<DataSourcesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { dataSourceName, dataSource, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a datasource.\n * @param dataSourceName The name of the datasource to delete.\n * @param options The options parameters.\n */\n delete(\n dataSourceName: string,\n options?: DataSourcesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { dataSourceName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a datasource definition.\n * @param dataSourceName The name of the datasource to retrieve.\n * @param options The options parameters.\n */\n get(\n dataSourceName: string,\n options?: DataSourcesGetOptionalParams\n ): Promise<DataSourcesGetResponse> {\n return this.client.sendOperationRequest(\n { dataSourceName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all datasources available for a search service.\n * @param options The options parameters.\n */\n list(\n options?: DataSourcesListOptionalParams\n ): Promise<DataSourcesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new datasource.\n * @param dataSource The definition of the datasource to create.\n * @param options The options parameters.\n */\n create(\n dataSource: SearchIndexerDataSource,\n options?: DataSourcesCreateOptionalParams\n ): Promise<DataSourcesCreateResponse> {\n return this.client.sendOperationRequest(\n { dataSource, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n 201: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.dataSource,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListDataSourcesResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.dataSource,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Indexers } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n IndexersResetOptionalParams,\n IndexersRunOptionalParams,\n SearchIndexer,\n IndexersCreateOrUpdateOptionalParams,\n IndexersCreateOrUpdateResponse,\n IndexersDeleteOptionalParams,\n IndexersGetOptionalParams,\n IndexersGetResponse,\n IndexersListOptionalParams,\n IndexersListResponse,\n IndexersCreateOptionalParams,\n IndexersCreateResponse,\n IndexersGetStatusOptionalParams,\n IndexersGetStatusResponse\n} from \"../models\";\n\n/** Class representing a Indexers. */\nexport class IndexersImpl implements Indexers {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Indexers class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Resets the change tracking state associated with an indexer.\n * @param indexerName The name of the indexer to reset.\n * @param options The options parameters.\n */\n reset(\n indexerName: string,\n options?: IndexersResetOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n resetOperationSpec\n );\n }\n\n /**\n * Runs an indexer on-demand.\n * @param indexerName The name of the indexer to run.\n * @param options The options parameters.\n */\n run(indexerName: string, options?: IndexersRunOptionalParams): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n runOperationSpec\n );\n }\n\n /**\n * Creates a new indexer or updates an indexer if it already exists.\n * @param indexerName The name of the indexer to create or update.\n * @param indexer The definition of the indexer to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n indexerName: string,\n indexer: SearchIndexer,\n options?: IndexersCreateOrUpdateOptionalParams\n ): Promise<IndexersCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { indexerName, indexer, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an indexer.\n * @param indexerName The name of the indexer to delete.\n * @param options The options parameters.\n */\n delete(\n indexerName: string,\n options?: IndexersDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves an indexer definition.\n * @param indexerName The name of the indexer to retrieve.\n * @param options The options parameters.\n */\n get(\n indexerName: string,\n options?: IndexersGetOptionalParams\n ): Promise<IndexersGetResponse> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all indexers available for a search service.\n * @param options The options parameters.\n */\n list(options?: IndexersListOptionalParams): Promise<IndexersListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new indexer.\n * @param indexer The definition of the indexer to create.\n * @param options The options parameters.\n */\n create(\n indexer: SearchIndexer,\n options?: IndexersCreateOptionalParams\n ): Promise<IndexersCreateResponse> {\n return this.client.sendOperationRequest(\n { indexer, options },\n createOperationSpec\n );\n }\n\n /**\n * Returns the current status and execution history of an indexer.\n * @param indexerName The name of the indexer for which to retrieve status.\n * @param options The options parameters.\n */\n getStatus(\n indexerName: string,\n options?: IndexersGetStatusOptionalParams\n ): Promise<IndexersGetStatusResponse> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n getStatusOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst resetOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.reset\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst runOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.run\",\n httpMethod: \"POST\",\n responses: {\n 202: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexer\n },\n 201: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.indexer,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListIndexersResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.indexer,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.status\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerStatus\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Skillsets } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndexerSkillset,\n SkillsetsCreateOrUpdateOptionalParams,\n SkillsetsCreateOrUpdateResponse,\n SkillsetsDeleteOptionalParams,\n SkillsetsGetOptionalParams,\n SkillsetsGetResponse,\n SkillsetsListOptionalParams,\n SkillsetsListResponse,\n SkillsetsCreateOptionalParams,\n SkillsetsCreateResponse\n} from \"../models\";\n\n/** Class representing a Skillsets. */\nexport class SkillsetsImpl implements Skillsets {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Skillsets class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new skillset in a search service or updates the skillset if it already exists.\n * @param skillsetName The name of the skillset to create or update.\n * @param skillset The skillset containing one or more skills to create or update in a search service.\n * @param options The options parameters.\n */\n createOrUpdate(\n skillsetName: string,\n skillset: SearchIndexerSkillset,\n options?: SkillsetsCreateOrUpdateOptionalParams\n ): Promise<SkillsetsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { skillsetName, skillset, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a skillset in a search service.\n * @param skillsetName The name of the skillset to delete.\n * @param options The options parameters.\n */\n delete(\n skillsetName: string,\n options?: SkillsetsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { skillsetName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a skillset in a search service.\n * @param skillsetName The name of the skillset to retrieve.\n * @param options The options parameters.\n */\n get(\n skillsetName: string,\n options?: SkillsetsGetOptionalParams\n ): Promise<SkillsetsGetResponse> {\n return this.client.sendOperationRequest(\n { skillsetName, options },\n getOperationSpec\n );\n }\n\n /**\n * List all skillsets in a search service.\n * @param options The options parameters.\n */\n list(options?: SkillsetsListOptionalParams): Promise<SkillsetsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new skillset in a search service.\n * @param skillset The skillset containing one or more skills to create in a search service.\n * @param options The options parameters.\n */\n create(\n skillset: SearchIndexerSkillset,\n options?: SkillsetsCreateOptionalParams\n ): Promise<SkillsetsCreateResponse> {\n return this.client.sendOperationRequest(\n { skillset, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n 201: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.skillset,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListSkillsetsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.skillset,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { SynonymMaps } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SynonymMap,\n SynonymMapsCreateOrUpdateOptionalParams,\n SynonymMapsCreateOrUpdateResponse,\n SynonymMapsDeleteOptionalParams,\n SynonymMapsGetOptionalParams,\n SynonymMapsGetResponse,\n SynonymMapsListOptionalParams,\n SynonymMapsListResponse,\n SynonymMapsCreateOptionalParams,\n SynonymMapsCreateResponse\n} from \"../models\";\n\n/** Class representing a SynonymMaps. */\nexport class SynonymMapsImpl implements SynonymMaps {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class SynonymMaps class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new synonym map or updates a synonym map if it already exists.\n * @param synonymMapName The name of the synonym map to create or update.\n * @param synonymMap The definition of the synonym map to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n synonymMapName: string,\n synonymMap: SynonymMap,\n options?: SynonymMapsCreateOrUpdateOptionalParams\n ): Promise<SynonymMapsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { synonymMapName, synonymMap, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a synonym map.\n * @param synonymMapName The name of the synonym map to delete.\n * @param options The options parameters.\n */\n delete(\n synonymMapName: string,\n options?: SynonymMapsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { synonymMapName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a synonym map definition.\n * @param synonymMapName The name of the synonym map to retrieve.\n * @param options The options parameters.\n */\n get(\n synonymMapName: string,\n options?: SynonymMapsGetOptionalParams\n ): Promise<SynonymMapsGetResponse> {\n return this.client.sendOperationRequest(\n { synonymMapName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all synonym maps available for a search service.\n * @param options The options parameters.\n */\n list(\n options?: SynonymMapsListOptionalParams\n ): Promise<SynonymMapsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new synonym map.\n * @param synonymMap The definition of the synonym map to create.\n * @param options The options parameters.\n */\n create(\n synonymMap: SynonymMap,\n options?: SynonymMapsCreateOptionalParams\n ): Promise<SynonymMapsCreateResponse> {\n return this.client.sendOperationRequest(\n { synonymMap, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SynonymMap\n },\n 201: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.synonymMap,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListSynonymMapsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.synonymMap,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Indexes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndex,\n IndexesCreateOptionalParams,\n IndexesCreateResponse,\n IndexesListOptionalParams,\n IndexesListResponse,\n IndexesCreateOrUpdateOptionalParams,\n IndexesCreateOrUpdateResponse,\n IndexesDeleteOptionalParams,\n IndexesGetOptionalParams,\n IndexesGetResponse,\n IndexesGetStatisticsOptionalParams,\n IndexesGetStatisticsResponse,\n AnalyzeRequest,\n IndexesAnalyzeOptionalParams,\n IndexesAnalyzeResponse\n} from \"../models\";\n\n/** Class representing a Indexes. */\nexport class IndexesImpl implements Indexes {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Indexes class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new search index.\n * @param index The definition of the index to create.\n * @param options The options parameters.\n */\n create(\n index: SearchIndex,\n options?: IndexesCreateOptionalParams\n ): Promise<IndexesCreateResponse> {\n return this.client.sendOperationRequest(\n { index, options },\n createOperationSpec\n );\n }\n\n /**\n * Lists all indexes available for a search service.\n * @param options The options parameters.\n */\n list(options?: IndexesListOptionalParams): Promise<IndexesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new search index or updates an index if it already exists.\n * @param indexName The definition of the index to create or update.\n * @param index The definition of the index to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n indexName: string,\n index: SearchIndex,\n options?: IndexesCreateOrUpdateOptionalParams\n ): Promise<IndexesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { indexName, index, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a search index and all the documents it contains. This operation is permanent, with no\n * recovery option. Make sure you have a master copy of your index definition, data ingestion code, and\n * a backup of the primary data source in case you need to re-build the index.\n * @param indexName The name of the index to delete.\n * @param options The options parameters.\n */\n delete(\n indexName: string,\n options?: IndexesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves an index definition.\n * @param indexName The name of the index to retrieve.\n * @param options The options parameters.\n */\n get(\n indexName: string,\n options?: IndexesGetOptionalParams\n ): Promise<IndexesGetResponse> {\n return this.client.sendOperationRequest(\n { indexName, options },\n getOperationSpec\n );\n }\n\n /**\n * Returns statistics for the given index, including a document count and storage usage.\n * @param indexName The name of the index for which to retrieve statistics.\n * @param options The options parameters.\n */\n getStatistics(\n indexName: string,\n options?: IndexesGetStatisticsOptionalParams\n ): Promise<IndexesGetStatisticsResponse> {\n return this.client.sendOperationRequest(\n { indexName, options },\n getStatisticsOperationSpec\n );\n }\n\n /**\n * Shows how an analyzer breaks text into tokens.\n * @param indexName The name of the index for which to test an analyzer.\n * @param request The text and analyzer or analysis components to test.\n * @param options The options parameters.\n */\n analyze(\n indexName: string,\n request: AnalyzeRequest,\n options?: IndexesAnalyzeOptionalParams\n ): Promise<IndexesAnalyzeResponse> {\n return this.client.sendOperationRequest(\n { indexName, request, options },\n analyzeOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.index,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListIndexesResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndex\n },\n 201: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.index,\n queryParameters: [Parameters.apiVersion, Parameters.allowIndexDowntime],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getStatisticsOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')/search.stats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetIndexStatisticsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst analyzeOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')/search.analyze\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.request,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n ApiVersion20200630,\n SearchServiceClientOptionalParams\n} from \"./models\";\n\n/** @internal */\nexport class SearchServiceClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: ApiVersion20200630;\n\n /**\n * Initializes a new instance of the SearchServiceClientContext class.\n * @param endpoint The endpoint URL of the search service.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n apiVersion: ApiVersion20200630,\n options?: SearchServiceClientOptionalParams\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n if (apiVersion === undefined) {\n throw new Error(\"'apiVersion' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: SearchServiceClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n this.apiVersion = apiVersion;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n DataSourcesImpl,\n IndexersImpl,\n SkillsetsImpl,\n SynonymMapsImpl,\n IndexesImpl\n} from \"./operations\";\nimport {\n DataSources,\n Indexers,\n Skillsets,\n SynonymMaps,\n Indexes\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport { SearchServiceClientContext } from \"./searchServiceClientContext\";\nimport {\n SearchServiceClientOptionalParams,\n ApiVersion20200630,\n SearchServiceClientGetServiceStatisticsOptionalParams,\n SearchServiceClientGetServiceStatisticsResponse\n} from \"./models\";\n\n/** @internal */\nexport class SearchServiceClient extends SearchServiceClientContext {\n /**\n * Initializes a new instance of the SearchServiceClient class.\n * @param endpoint The endpoint URL of the search service.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n apiVersion: ApiVersion20200630,\n options?: SearchServiceClientOptionalParams\n ) {\n super(endpoint, apiVersion, options);\n this.dataSources = new DataSourcesImpl(this);\n this.indexers = new IndexersImpl(this);\n this.skillsets = new SkillsetsImpl(this);\n this.synonymMaps = new SynonymMapsImpl(this);\n this.indexes = new IndexesImpl(this);\n }\n\n /**\n * Gets service level statistics for a search service.\n * @param options The options parameters.\n */\n getServiceStatistics(\n options?: SearchServiceClientGetServiceStatisticsOptionalParams\n ): Promise<SearchServiceClientGetServiceStatisticsResponse> {\n return this.sendOperationRequest(\n { options },\n getServiceStatisticsOperationSpec\n );\n }\n\n dataSources: DataSources;\n indexers: Indexers;\n skillsets: Skillsets;\n synonymMaps: SynonymMaps;\n indexes: Indexes;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getServiceStatisticsOperationSpec: coreClient.OperationSpec = {\n path: \"/servicestats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ServiceStatistics\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { AnalyzeResult } from \"./generated/service/models\";\nimport { SearchServiceClient as GeneratedClient } from \"./generated/service/searchServiceClient\";\nimport { logger } from \"./logger\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport {\n AnalyzeTextOptions,\n CreateIndexOptions,\n CreateOrUpdateIndexOptions,\n CreateOrUpdateSynonymMapOptions,\n CreateSynonymMapOptions,\n DeleteIndexOptions,\n DeleteSynonymMapOptions,\n GetIndexOptions,\n GetIndexStatisticsOptions,\n GetServiceStatisticsOptions,\n GetSynonymMapsOptions,\n IndexIterator,\n IndexNameIterator,\n ListIndexesOptions,\n ListSynonymMapsOptions,\n SearchIndex,\n SearchIndexStatistics,\n SearchServiceStatistics,\n SynonymMap,\n} from \"./serviceModels\";\nimport * as utils from \"./serviceUtils\";\nimport { createSpan } from \"./tracing\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { SearchClientOptions as GetSearchClientOptions, SearchClient } from \"./searchClient\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchIndexClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class to perform operations to manage\n * (create, update, list/delete)\n * indexes, & synonymmaps.\n */\nexport class SearchIndexClient {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchServiceClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Used to authenticate requests to the service.\n */\n private readonly credential: KeyCredential | TokenCredential;\n\n /**\n * Used to configure the Search Index client.\n */\n private readonly options: SearchIndexClientOptions;\n\n /**\n * Creates an instance of SearchIndexClient.\n *\n * Example usage:\n * ```ts\n * const { SearchIndexClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchIndexClient(\n * \"<endpoint>\",\n * new AzureKeyCredential(\"<Admin Key>\");\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search Index client.\n */\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: SearchIndexClientOptions = {}\n ) {\n this.endpoint = endpoint;\n this.credential = credential;\n this.options = options;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...this.options.userAgentOptions,\n userAgentPrefix: this.options.userAgentOptions?.userAgentPrefix\n ? `${this.options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...this.options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = this.options.audience\n ? `${this.options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"minimal\"));\n }\n\n private async *listIndexesPage(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<SearchIndex[]> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listIndexesPage\", options);\n try {\n const result = await this.client.indexes.list(updatedOptions);\n const mapped = result.indexes.map(utils.generatedIndexToPublicIndex);\n yield mapped;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listIndexesAll(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<SearchIndex> {\n for await (const page of this.listIndexesPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a list of existing indexes in the service.\n * @param options - Options to the list index operation.\n */\n public listIndexes(options: ListIndexesOptions = {}): IndexIterator {\n const iter = this.listIndexesAll(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listIndexesPage(options);\n },\n };\n }\n\n private async *listIndexesNamesPage(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<string[]> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listIndexesNamesPage\", options);\n try {\n const result = await this.client.indexes.list({\n ...updatedOptions,\n select: \"name\",\n });\n const mapped = result.indexes.map((idx) => idx.name);\n yield mapped;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listIndexesNamesAll(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<string> {\n for await (const page of this.listIndexesNamesPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a list of names of existing indexes in the service.\n * @param options - Options to the list index operation.\n */\n public listIndexesNames(options: ListIndexesOptions = {}): IndexNameIterator {\n const iter = this.listIndexesNamesAll(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listIndexesNamesPage(options);\n },\n };\n }\n\n /**\n * Retrieves a list of existing SynonymMaps in the service.\n * @param options - Options to the list SynonymMaps operation.\n */\n public async listSynonymMaps(options: ListSynonymMapsOptions = {}): Promise<Array<SynonymMap>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.list(updatedOptions);\n return result.synonymMaps.map(utils.generatedSynonymMapToPublicSynonymMap);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing SynonymMaps in the service.\n * @param options - Options to the list SynonymMaps operation.\n */\n public async listSynonymMapsNames(options: ListSynonymMapsOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listSynonymMapsNames\", options);\n try {\n const result = await this.client.synonymMaps.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.synonymMaps.map((sm) => sm.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an index.\n * @param indexName - The name of the index.\n * @param options - Additional optional arguments.\n */\n public async getIndex(indexName: string, options: GetIndexOptions = {}): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getIndex\", options);\n try {\n const result = await this.client.indexes.get(indexName, updatedOptions);\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about a SynonymMap.\n * @param synonymMapName - The name of the SynonymMap.\n * @param options - Additional optional arguments.\n */\n public async getSynonymMap(\n synonymMapName: string,\n options: GetSynonymMapsOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.get(synonymMapName, updatedOptions);\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new index.\n * @param index - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createIndex(\n index: SearchIndex,\n options: CreateIndexOptions = {}\n ): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createIndex\", options);\n try {\n const result = await this.client.indexes.create(\n utils.publicIndexToGeneratedIndex(index),\n updatedOptions\n );\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new SynonymMap in a search service.\n * @param synonymMap - The synonymMap definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createSynonymMap(\n synonymMap: SynonymMap,\n options: CreateSynonymMapOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.create(\n utils.publicSynonymMapToGeneratedSynonymMap(synonymMap),\n updatedOptions\n );\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new index or modifies an existing one.\n * @param index - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateIndex(\n index: SearchIndex,\n options: CreateOrUpdateIndexOptions = {}\n ): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createOrUpdateIndex\", options);\n try {\n const etag = options.onlyIfUnchanged ? index.etag : undefined;\n\n const result = await this.client.indexes.createOrUpdate(\n index.name,\n utils.publicIndexToGeneratedIndex(index),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new SynonymMap or modifies an existing one.\n * @param synonymMap - The information describing the SynonymMap to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateSynonymMap(\n synonymMap: SynonymMap,\n options: CreateOrUpdateSynonymMapOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexClient-createOrUpdateSynonymMap\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? synonymMap.etag : undefined;\n\n const result = await this.client.synonymMaps.createOrUpdate(\n synonymMap.name,\n utils.publicSynonymMapToGeneratedSynonymMap(synonymMap),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing index.\n * @param indexName - Index/Name of the index to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteIndex(\n index: string | SearchIndex,\n options: DeleteIndexOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-deleteIndex\", options);\n try {\n const indexName: string = typeof index === \"string\" ? index : index.name;\n const etag =\n typeof index === \"string\" ? undefined : options.onlyIfUnchanged ? index.etag : undefined;\n\n await this.client.indexes.delete(indexName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing SynonymMap.\n * @param synonymMapName - SynonymMap/Name of the synonymMap to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteSynonymMap(\n synonymMap: string | SynonymMap,\n options: DeleteSynonymMapOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-deleteSynonymMap\", options);\n try {\n const synonymMapName: string = typeof synonymMap === \"string\" ? synonymMap : synonymMap.name;\n const etag =\n typeof synonymMap === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? synonymMap.etag\n : undefined;\n\n await this.client.synonymMaps.delete(synonymMapName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves statistics about an index, such as the count of documents and the size\n * of index storage.\n * @param indexName - The name of the index.\n * @param options - Additional optional arguments.\n */\n public async getIndexStatistics(\n indexName: string,\n options: GetIndexStatisticsOptions = {}\n ): Promise<SearchIndexStatistics> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getIndexStatistics\", options);\n try {\n const result = await this.client.indexes.getStatistics(indexName, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Calls an analyzer or tokenizer manually on provided text.\n * @param indexName - The name of the index that contains the field to analyze\n * @param text - The text to break into tokens.\n * @param options - Additional arguments\n */\n public async analyzeText(indexName: string, options: AnalyzeTextOptions): Promise<AnalyzeResult> {\n const { abortSignal, requestOptions, tracingOptions, ...restOptions } = options;\n const operationOptions = {\n abortSignal,\n requestOptions,\n tracingOptions,\n };\n\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-analyzeText\", operationOptions);\n try {\n const result = await this.client.indexes.analyze(\n indexName,\n {\n ...restOptions,\n analyzer: restOptions.analyzerName,\n tokenizer: restOptions.tokenizerName,\n },\n updatedOptions\n );\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves statistics about the service, such as the count of documents, index, etc.\n * @param options - Additional optional arguments.\n */\n public async getServiceStatistics(\n options: GetServiceStatisticsOptions = {}\n ): Promise<SearchServiceStatistics> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getServiceStatistics\", options);\n try {\n const result = await this.client.getServiceStatistics(updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves the SearchClient corresponding to this SearchIndexClient\n * @param indexName - Name of the index\n * @param options - SearchClient Options\n * @typeParam TModel - An optional type that represents the documents stored in\n * the search index. For the best typing experience, all non-key fields should\n * be marked optional and nullable, and the key property should have the\n * non-nullable type `string`.\n */\n public getSearchClient<TModel>(\n indexName: string,\n options?: GetSearchClientOptions\n ): SearchClient<TModel> {\n return new SearchClient<TModel>(\n this.endpoint,\n indexName,\n this.credential,\n options || this.options\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { SearchIndexerStatus } from \"./generated/service/models\";\nimport { SearchServiceClient as GeneratedClient } from \"./generated/service/searchServiceClient\";\nimport { logger } from \"./logger\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport {\n CreateDataSourceConnectionOptions,\n CreateIndexerOptions,\n CreateOrUpdateSkillsetOptions,\n CreateSkillsetOptions,\n CreateorUpdateDataSourceConnectionOptions,\n CreateorUpdateIndexerOptions,\n DeleteDataSourceConnectionOptions,\n DeleteIndexerOptions,\n DeleteSkillsetOptions,\n GetDataSourceConnectionOptions,\n GetIndexerOptions,\n GetIndexerStatusOptions,\n GetSkillSetOptions,\n ListDataSourceConnectionsOptions,\n ListIndexersOptions,\n ListSkillsetsOptions,\n ResetIndexerOptions,\n RunIndexerOptions,\n SearchIndexer,\n SearchIndexerDataSourceConnection,\n SearchIndexerSkillset,\n} from \"./serviceModels\";\nimport * as utils from \"./serviceUtils\";\nimport { createSpan } from \"./tracing\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchIndexerClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class to perform operations to manage\n * (create, update, list/delete)\n * indexers, datasources & skillsets.\n */\nexport class SearchIndexerClient {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchServiceClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of SearchIndexerClient.\n *\n * Example usage:\n * ```ts\n * const { SearchIndexerClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchIndexerClient(\n * \"<endpoint>\",\n * new AzureKeyCredential(\"<Admin Key>\");\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search client.\n */\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: SearchIndexerClientOptions = {}\n ) {\n this.endpoint = endpoint;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...options.userAgentOptions,\n userAgentPrefix: options.userAgentOptions?.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = options.audience\n ? `${options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"minimal\"));\n }\n\n /**\n * Retrieves a list of existing indexers in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listIndexers(options: ListIndexersOptions = {}): Promise<Array<SearchIndexer>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listIndexers\", options);\n try {\n const result = await this.client.indexers.list(updatedOptions);\n return result.indexers.map(utils.generatedSearchIndexerToPublicSearchIndexer);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing indexers in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listIndexersNames(options: ListIndexersOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listIndexersNames\", options);\n try {\n const result = await this.client.indexers.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.indexers.map((idx) => idx.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of existing data sources in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listDataSourceConnections(\n options: ListDataSourceConnectionsOptions = {}\n ): Promise<Array<SearchIndexerDataSourceConnection>> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-listDataSourceConnections\",\n options\n );\n try {\n const result = await this.client.dataSources.list(updatedOptions);\n return result.dataSources.map(utils.generatedDataSourceToPublicDataSource);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing data sources in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listDataSourceConnectionsNames(\n options: ListDataSourceConnectionsOptions = {}\n ): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-listDataSourceConnectionsNames\",\n options\n );\n try {\n const result = await this.client.dataSources.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.dataSources.map((ds) => ds.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of existing Skillsets in the service.\n * @param options - Options to the list Skillsets operation.\n */\n public async listSkillsets(\n options: ListSkillsetsOptions = {}\n ): Promise<Array<SearchIndexerSkillset>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listSkillsets\", options);\n try {\n const result = await this.client.skillsets.list(updatedOptions);\n return result.skillsets.map(utils.generatedSkillsetToPublicSkillset);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing Skillsets in the service.\n * @param options - Options to the list Skillsets operation.\n */\n public async listSkillsetsNames(options: ListSkillsetsOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listSkillsetsNames\", options);\n try {\n const result = await this.client.skillsets.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.skillsets.map((sks) => sks.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an Indexer.\n * @param indexerName - The name of the Indexer.\n * @param options - Additional optional arguments.\n */\n public async getIndexer(\n indexerName: string,\n options: GetIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getIndexer\", options);\n try {\n const result = await this.client.indexers.get(indexerName, updatedOptions);\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about a DataSource\n * @param dataSourceName - The name of the DataSource\n * @param options - Additional optional arguments\n */\n public async getDataSourceConnection(\n dataSourceConnectionName: string,\n options: GetDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-getDataSourceConnection\",\n options\n );\n try {\n const result = await this.client.dataSources.get(dataSourceConnectionName, updatedOptions);\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an Skillset.\n * @param indexName - The name of the Skillset.\n * @param options - Additional optional arguments.\n */\n public async getSkillset(\n skillsetName: string,\n options: GetSkillSetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getSkillset\", options);\n try {\n const result = await this.client.skillsets.get(skillsetName, updatedOptions);\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new indexer in a search service.\n * @param indexer - The indexer definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createIndexer(\n indexer: SearchIndexer,\n options: CreateIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-createIndexer\", options);\n try {\n const result = await this.client.indexers.create(\n utils.publicSearchIndexerToGeneratedSearchIndexer(indexer),\n updatedOptions\n );\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new dataSource in a search service.\n * @param dataSourceConnection - The dataSource definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createDataSourceConnection(\n dataSourceConnection: SearchIndexerDataSourceConnection,\n options: CreateDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createDataSourceConnection\",\n options\n );\n try {\n const result = await this.client.dataSources.create(\n utils.publicDataSourceToGeneratedDataSource(dataSourceConnection),\n updatedOptions\n );\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new skillset in a search service.\n * @param skillset - The skillset containing one or more skills to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createSkillset(\n skillset: SearchIndexerSkillset,\n options: CreateSkillsetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-createSkillset\", options);\n try {\n const result = await this.client.skillsets.create(\n utils.publicSkillsetToGeneratedSkillset(skillset),\n updatedOptions\n );\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new indexer or modifies an existing one.\n * @param indexer - The information describing the indexer to be created/updated.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateIndexer(\n indexer: SearchIndexer,\n options: CreateorUpdateIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateIndexer\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? indexer.etag : undefined;\n\n const result = await this.client.indexers.createOrUpdate(\n indexer.name,\n utils.publicSearchIndexerToGeneratedSearchIndexer(indexer),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new datasource or modifies an existing one.\n * @param dataSourceConnection - The information describing the datasource to be created/updated.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateDataSourceConnection(\n dataSourceConnection: SearchIndexerDataSourceConnection,\n options: CreateorUpdateDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateDataSourceConnection\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? dataSourceConnection.etag : undefined;\n\n const result = await this.client.dataSources.createOrUpdate(\n dataSourceConnection.name,\n utils.publicDataSourceToGeneratedDataSource(dataSourceConnection),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new Skillset or modifies an existing one.\n * @param skillset - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateSkillset(\n skillset: SearchIndexerSkillset,\n options: CreateOrUpdateSkillsetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateSkillset\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? skillset.etag : undefined;\n\n const result = await this.client.skillsets.createOrUpdate(\n skillset.name,\n utils.publicSkillsetToGeneratedSkillset(skillset),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing indexer.\n * @param indexer - Indexer/Name of the indexer to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteIndexer(\n indexer: string | SearchIndexer,\n options: DeleteIndexerOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-deleteIndexer\", options);\n try {\n const indexerName: string = typeof indexer === \"string\" ? indexer : indexer.name;\n const etag =\n typeof indexer === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? indexer.etag\n : undefined;\n\n await this.client.indexers.delete(indexerName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing datasource.\n * @param dataSource - Datasource/Name of the datasource to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteDataSourceConnection(\n dataSourceConnection: string | SearchIndexerDataSourceConnection,\n options: DeleteDataSourceConnectionOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-deleteDataSourceConnection\",\n options\n );\n try {\n const dataSourceConnectionName: string =\n typeof dataSourceConnection === \"string\" ? dataSourceConnection : dataSourceConnection.name;\n const etag =\n typeof dataSourceConnection === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? dataSourceConnection.etag\n : undefined;\n\n await this.client.dataSources.delete(dataSourceConnectionName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing Skillset.\n * @param skillset - Skillset/Name of the Skillset to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteSkillset(\n skillset: string | SearchIndexerSkillset,\n options: DeleteSkillsetOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-deleteSkillset\", options);\n try {\n const skillsetName: string = typeof skillset === \"string\" ? skillset : skillset.name;\n const etag =\n typeof skillset === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? skillset.etag\n : undefined;\n\n await this.client.skillsets.delete(skillsetName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns the current status and execution history of an indexer.\n * @param indexerName - The name of the indexer.\n * @param options - Additional optional arguments.\n */\n public async getIndexerStatus(\n indexerName: string,\n options: GetIndexerStatusOptions = {}\n ): Promise<SearchIndexerStatus> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getIndexerStatus\", options);\n try {\n const result = await this.client.indexers.getStatus(indexerName, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Resets the change tracking state associated with an indexer.\n * @param indexerName - The name of the indexer to reset.\n * @param options - Additional optional arguments.\n */\n public async resetIndexer(indexerName: string, options: ResetIndexerOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-resetIndexer\", options);\n try {\n await this.client.indexers.reset(indexerName, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Runs an indexer on-demand.\n * @param indexerName - The name of the indexer to run.\n * @param options - Additional optional arguments.\n */\n public async runIndexer(indexerName: string, options: RunIndexerOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-runIndexer\", options);\n try {\n await this.client.indexers.run(indexerName, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nfunction formatNullAndUndefined(input: unknown): string | unknown {\n if (input === null || input === undefined) {\n return \"null\";\n }\n\n return input;\n}\n\nfunction escapeQuotesIfString(input: unknown, previous: string): string | unknown {\n let result = input;\n\n if (typeof input === \"string\") {\n result = input.replace(/'/g, \"''\");\n // check if we need to escape this literal\n if (!previous.trim().endsWith(\"'\")) {\n result = `'${result}'`;\n }\n }\n\n return result;\n}\n\n/**\n * Escapes an odata filter expression to avoid errors with quoting string literals.\n * Example usage:\n * ```ts\n * const baseRateMax = 200;\n * const ratingMin = 4;\n * const filter = odata`Rooms/any(room: room/BaseRate lt ${baseRateMax}) and Rating ge ${ratingMin}`;\n * ```\n * For more information on supported syntax see: https://docs.microsoft.com/en-us/azure/search/search-query-odata-filter\n * @param strings - Array of strings for the expression\n * @param values - Array of values for the expression\n */\nexport function odata(strings: TemplateStringsArray, ...values: unknown[]): string {\n const results = [];\n for (let i = 0; i < strings.length; i++) {\n results.push(strings[i]);\n if (i < values.length) {\n if (values[i] === null || values[i] === undefined) {\n results.push(formatNullAndUndefined(values[i]));\n } else {\n results.push(escapeQuotesIfString(values[i], strings[i]));\n }\n }\n }\n return results.join(\"\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SynonymMap } from \"./serviceModels\";\nimport { promisify } from \"util\";\nimport * as fs from \"fs\";\nconst readFileAsync = promisify(fs.readFile);\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n *\n * @param name - Name of the SynonymMap.\n * @param filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n name: string,\n filePath: string\n): Promise<SynonymMap> {\n const synonyms: string[] = (await readFileAsync(filePath, \"utf-8\"))\n .replace(/\\r/g, \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n return {\n name,\n synonyms,\n };\n}\n"],"names":["SearchError","accept","endpoint","indexName","apiVersion","select","contentType","SearchRequestMapper","SuggestRequestMapper","IndexBatchMapper","AutocompleteRequestMapper","getOperationSpec","serializer","coreClient","Mappers","Mappers.SearchError","Parameters.apiVersion","Parameters.endpoint","Parameters.indexName","Parameters.accept","Mappers.SearchDocumentsResult","Parameters.searchText","Parameters.includeTotalResultCount","Parameters.facets","Parameters.filter","Parameters.highlightFields","Parameters.highlightPostTag","Parameters.highlightPreTag","Parameters.minimumCoverage","Parameters.orderBy","Parameters.queryType","Parameters.scoringParameters","Parameters.scoringProfile","Parameters.searchFields","Parameters.searchMode","Parameters.scoringStatistics","Parameters.sessionId","Parameters.select","Parameters.skip","Parameters.top","Parameters.searchRequest","Parameters.contentType","Parameters.selectedFields","Parameters.key","Mappers.SuggestDocumentsResult","Parameters.searchText1","Parameters.suggesterName","Parameters.filter1","Parameters.useFuzzyMatching","Parameters.highlightPostTag1","Parameters.highlightPreTag1","Parameters.minimumCoverage1","Parameters.orderBy1","Parameters.searchFields1","Parameters.select1","Parameters.top1","Parameters.suggestRequest","Mappers.IndexDocumentsResult","Parameters.batch","Mappers.AutocompleteResult","Parameters.autocompleteMode","Parameters.filter2","Parameters.useFuzzyMatching1","Parameters.highlightPostTag2","Parameters.highlightPreTag2","Parameters.minimumCoverage2","Parameters.searchFields2","Parameters.top2","Parameters.autocompleteRequest","SearchClient","createClientLogger","createTracingClient","WorldGeodeticSystem1984","KnownTokenizerNames","KnownTokenFilterNames","KnownCharFilterNames","KnownAnalyzerNames","__rest","KnownSearchAudience","utils.defaultServiceVersion","GeneratedClient","isTokenCredential","bearerTokenAuthenticationPolicy","utils.generatedSearchResultToPublicSearchResult","__await","__asyncDelegator","__asyncValues","utils.generatedSuggestDocumentsResultToPublicSuggestDocumentsResult","EventEmitter","SearchIndexerDataSourceMapper","SearchIndexerMapper","SearchIndexerSkillsetMapper","SynonymMapMapper","SearchIndexMapper","AnalyzeRequestMapper","createOrUpdateOperationSpec","deleteOperationSpec","listOperationSpec","createOperationSpec","Mappers.SearchIndexerDataSource","Parameters.dataSource","Parameters.dataSourceName","Parameters.ifMatch","Parameters.ifNoneMatch","Parameters.prefer","Mappers.ListDataSourcesResult","Parameters.indexerName","Mappers.SearchIndexer","Parameters.indexer","Mappers.ListIndexersResult","Mappers.SearchIndexerStatus","Mappers.SearchIndexerSkillset","Parameters.skillset","Parameters.skillsetName","Mappers.ListSkillsetsResult","Mappers.SynonymMap","Parameters.synonymMap","Parameters.synonymMapName","Mappers.ListSynonymMapsResult","Mappers.SearchIndex","Parameters.index","Mappers.ListIndexesResult","Parameters.allowIndexDowntime","Mappers.GetIndexStatisticsResult","Mappers.AnalyzeResult","Parameters.request","Mappers.ServiceStatistics","utils.generatedIndexToPublicIndex","utils.generatedSynonymMapToPublicSynonymMap","utils.publicIndexToGeneratedIndex","utils.publicSynonymMapToGeneratedSynonymMap","utils.generatedSearchIndexerToPublicSearchIndexer","utils.generatedDataSourceToPublicDataSource","utils.generatedSkillsetToPublicSkillset","utils.publicSearchIndexerToGeneratedSearchIndexer","utils.publicDataSourceToGeneratedDataSource","utils.publicSkillsetToGeneratedSkillset","promisify","fs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/generated/data/models/mappers.ts","../src/generated/data/models/parameters.ts","../src/generated/data/operations/documents.ts","../src/generated/data/searchClientContext.ts","../src/generated/data/searchClient.ts","../src/searchApiKeyCredentialPolicy.ts","../src/logger.ts","../src/tracing.ts","../src/geographyPoint.ts","../src/serialization.ts","../src/odataMetadataPolicy.ts","../src/indexDocumentsBatch.ts","../src/base64.ts","../src/serviceModels.ts","../src/serviceUtils.ts","../src/searchAudience.ts","../src/constants.ts","../src/searchClient.ts","../src/searchIndexingBufferedSender.ts","../src/generated/service/models/mappers.ts","../src/generated/service/models/parameters.ts","../src/generated/service/operations/dataSources.ts","../src/generated/service/operations/indexers.ts","../src/generated/service/operations/skillsets.ts","../src/generated/service/operations/synonymMaps.ts","../src/generated/service/operations/indexes.ts","../src/generated/service/searchServiceClientContext.ts","../src/generated/service/searchServiceClient.ts","../src/searchIndexClient.ts","../src/searchIndexerClient.ts","../src/odata.ts","../src/synonymMapHelper.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const SearchError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchDocumentsResult\",\n modelProperties: {\n count: {\n serializedName: \"@odata\\\\.count\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n facets: {\n serializedName: \"@search\\\\.facets\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: {\n name: \"Sequence\",\n element: { type: { name: \"Composite\", className: \"FacetResult\" } }\n }\n }\n }\n },\n nextPageParameters: {\n serializedName: \"@search\\\\.nextPageParameters\",\n type: {\n name: \"Composite\",\n className: \"SearchRequest\"\n }\n },\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchResult\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@odata\\\\.nextLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FacetResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FacetResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n count: {\n serializedName: \"count\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchRequest\",\n modelProperties: {\n includeTotalResultCount: {\n serializedName: \"count\",\n type: {\n name: \"Boolean\"\n }\n },\n facets: {\n serializedName: \"facets\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n highlightFields: {\n serializedName: \"highlight\",\n type: {\n name: \"String\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n orderBy: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n },\n queryType: {\n serializedName: \"queryType\",\n type: {\n name: \"Enum\",\n allowedValues: [\"simple\", \"full\"]\n }\n },\n scoringStatistics: {\n serializedName: \"scoringStatistics\",\n type: {\n name: \"Enum\",\n allowedValues: [\"local\", \"global\"]\n }\n },\n sessionId: {\n serializedName: \"sessionId\",\n type: {\n name: \"String\"\n }\n },\n scoringParameters: {\n serializedName: \"scoringParameters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n scoringProfile: {\n serializedName: \"scoringProfile\",\n type: {\n name: \"String\"\n }\n },\n searchText: {\n serializedName: \"search\",\n type: {\n name: \"String\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n searchMode: {\n serializedName: \"searchMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"any\", \"all\"]\n }\n },\n select: {\n serializedName: \"select\",\n type: {\n name: \"String\"\n }\n },\n skip: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n _score: {\n serializedName: \"@search\\\\.score\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n _highlights: {\n serializedName: \"@search\\\\.highlights\",\n readOnly: true,\n type: {\n name: \"Dictionary\",\n value: {\n type: { name: \"Sequence\", element: { type: { name: \"String\" } } }\n }\n }\n }\n }\n }\n};\n\nexport const SuggestDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestDocumentsResult\",\n modelProperties: {\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SuggestResult\"\n }\n }\n }\n },\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SuggestResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestResult\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n _text: {\n serializedName: \"@search\\\\.text\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SuggestRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SuggestRequest\",\n modelProperties: {\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n useFuzzyMatching: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n orderBy: {\n serializedName: \"orderby\",\n type: {\n name: \"String\"\n }\n },\n searchText: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n select: {\n serializedName: \"select\",\n type: {\n name: \"String\"\n }\n },\n suggesterName: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const IndexBatch: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexBatch\",\n modelProperties: {\n actions: {\n serializedName: \"value\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexAction\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IndexAction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexAction\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n __actionType: {\n serializedName: \"@search\\\\.action\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"upload\", \"merge\", \"mergeOrUpload\", \"delete\"]\n }\n }\n }\n }\n};\n\nexport const IndexDocumentsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexDocumentsResult\",\n modelProperties: {\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexingResult\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const IndexingResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingResult\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n succeeded: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Boolean\"\n }\n },\n statusCode: {\n serializedName: \"statusCode\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AutocompleteResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteResult\",\n modelProperties: {\n coverage: {\n serializedName: \"@search\\\\.coverage\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n results: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AutocompleteItem\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AutocompleteItem: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteItem\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n queryPlusText: {\n serializedName: \"queryPlusText\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AutocompleteRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AutocompleteRequest\",\n modelProperties: {\n searchText: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n autocompleteMode: {\n serializedName: \"autocompleteMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"oneTerm\", \"twoTerms\", \"oneTermWithContext\"]\n }\n },\n filter: {\n serializedName: \"filter\",\n type: {\n name: \"String\"\n }\n },\n useFuzzyMatching: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n },\n highlightPostTag: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n },\n highlightPreTag: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n },\n minimumCoverage: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n },\n searchFields: {\n serializedName: \"searchFields\",\n type: {\n name: \"String\"\n }\n },\n suggesterName: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n top: {\n serializedName: \"top\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SearchRequest as SearchRequestMapper,\n SuggestRequest as SuggestRequestMapper,\n IndexBatch as IndexBatchMapper,\n AutocompleteRequest as AutocompleteRequestMapper\n} from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const indexName: OperationURLParameter = {\n parameterPath: \"indexName\",\n mapper: {\n serializedName: \"indexName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchText: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchText\"],\n mapper: {\n serializedName: \"search\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const includeTotalResultCount: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"includeTotalResultCount\"],\n mapper: {\n serializedName: \"$count\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const facets: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"facets\"],\n mapper: {\n serializedName: \"facet\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const filter: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightFields\"],\n mapper: {\n serializedName: \"highlight\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const highlightPostTag: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const orderBy: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"orderBy\"],\n mapper: {\n serializedName: \"$orderby\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const queryType: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"queryType\"],\n mapper: {\n serializedName: \"queryType\",\n type: {\n name: \"Enum\",\n allowedValues: [\"simple\", \"full\"]\n }\n }\n};\n\nexport const scoringParameters: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringParameters\"],\n mapper: {\n serializedName: \"scoringParameter\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"Multi\"\n};\n\nexport const scoringProfile: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringProfile\"],\n mapper: {\n serializedName: \"scoringProfile\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchMode: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"searchMode\"],\n mapper: {\n serializedName: \"searchMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"any\", \"all\"]\n }\n }\n};\n\nexport const scoringStatistics: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"scoringStatistics\"],\n mapper: {\n serializedName: \"scoringStatistics\",\n type: {\n name: \"Enum\",\n allowedValues: [\"local\", \"global\"]\n }\n }\n};\n\nexport const sessionId: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"sessionId\"],\n mapper: {\n serializedName: \"sessionId\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const skip: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"skip\"],\n mapper: {\n serializedName: \"$skip\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const top: OperationQueryParameter = {\n parameterPath: [\"options\", \"searchOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const searchRequest: OperationParameter = {\n parameterPath: \"searchRequest\",\n mapper: SearchRequestMapper\n};\n\nexport const key: OperationURLParameter = {\n parameterPath: \"key\",\n mapper: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const selectedFields: OperationQueryParameter = {\n parameterPath: [\"options\", \"selectedFields\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchText1: OperationQueryParameter = {\n parameterPath: \"searchText\",\n mapper: {\n serializedName: \"search\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const suggesterName: OperationQueryParameter = {\n parameterPath: \"suggesterName\",\n mapper: {\n serializedName: \"suggesterName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const filter1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const useFuzzyMatching: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"useFuzzyMatching\"],\n mapper: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const highlightPostTag1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const orderBy1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"orderBy\"],\n mapper: {\n serializedName: \"$orderby\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const searchFields1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const select1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const top1: OperationQueryParameter = {\n parameterPath: [\"options\", \"suggestOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const suggestRequest: OperationParameter = {\n parameterPath: \"suggestRequest\",\n mapper: SuggestRequestMapper\n};\n\nexport const batch: OperationParameter = {\n parameterPath: \"batch\",\n mapper: IndexBatchMapper\n};\n\nexport const autocompleteMode: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"autocompleteMode\"],\n mapper: {\n serializedName: \"autocompleteMode\",\n type: {\n name: \"Enum\",\n allowedValues: [\"oneTerm\", \"twoTerms\", \"oneTermWithContext\"]\n }\n }\n};\n\nexport const filter2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"filter\"],\n mapper: {\n serializedName: \"$filter\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const useFuzzyMatching1: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"useFuzzyMatching\"],\n mapper: {\n serializedName: \"fuzzy\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const highlightPostTag2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"highlightPostTag\"],\n mapper: {\n serializedName: \"highlightPostTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const highlightPreTag2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"highlightPreTag\"],\n mapper: {\n serializedName: \"highlightPreTag\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const minimumCoverage2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"minimumCoverage\"],\n mapper: {\n serializedName: \"minimumCoverage\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const searchFields2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"searchFields\"],\n mapper: {\n serializedName: \"searchFields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const top2: OperationQueryParameter = {\n parameterPath: [\"options\", \"autocompleteOptions\", \"top\"],\n mapper: {\n serializedName: \"$top\",\n type: {\n name: \"Number\"\n }\n }\n};\n\nexport const autocompleteRequest: OperationParameter = {\n parameterPath: \"autocompleteRequest\",\n mapper: AutocompleteRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Documents } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchClientContext } from \"../searchClientContext\";\nimport {\n DocumentsCountOptionalParams,\n DocumentsCountResponse,\n DocumentsSearchGetOptionalParams,\n DocumentsSearchGetResponse,\n SearchRequest,\n DocumentsSearchPostOptionalParams,\n DocumentsSearchPostResponse,\n DocumentsGetOptionalParams,\n DocumentsGetResponse,\n DocumentsSuggestGetOptionalParams,\n DocumentsSuggestGetResponse,\n SuggestRequest,\n DocumentsSuggestPostOptionalParams,\n DocumentsSuggestPostResponse,\n IndexBatch,\n DocumentsIndexOptionalParams,\n DocumentsIndexResponse,\n DocumentsAutocompleteGetOptionalParams,\n DocumentsAutocompleteGetResponse,\n AutocompleteRequest,\n DocumentsAutocompletePostOptionalParams,\n DocumentsAutocompletePostResponse\n} from \"../models\";\n\n/** Class representing a Documents. */\nexport class DocumentsImpl implements Documents {\n private readonly client: SearchClientContext;\n\n /**\n * Initialize a new instance of the class Documents class.\n * @param client Reference to the service client\n */\n constructor(client: SearchClientContext) {\n this.client = client;\n }\n\n /**\n * Queries the number of documents in the index.\n * @param options The options parameters.\n */\n count(\n options?: DocumentsCountOptionalParams\n ): Promise<DocumentsCountResponse> {\n return this.client.sendOperationRequest({ options }, countOperationSpec);\n }\n\n /**\n * Searches for documents in the index.\n * @param options The options parameters.\n */\n searchGet(\n options?: DocumentsSearchGetOptionalParams\n ): Promise<DocumentsSearchGetResponse> {\n return this.client.sendOperationRequest(\n { options },\n searchGetOperationSpec\n );\n }\n\n /**\n * Searches for documents in the index.\n * @param searchRequest The definition of the Search request.\n * @param options The options parameters.\n */\n searchPost(\n searchRequest: SearchRequest,\n options?: DocumentsSearchPostOptionalParams\n ): Promise<DocumentsSearchPostResponse> {\n return this.client.sendOperationRequest(\n { searchRequest, options },\n searchPostOperationSpec\n );\n }\n\n /**\n * Retrieves a document from the index.\n * @param key The key of the document to retrieve.\n * @param options The options parameters.\n */\n get(\n key: string,\n options?: DocumentsGetOptionalParams\n ): Promise<DocumentsGetResponse> {\n return this.client.sendOperationRequest({ key, options }, getOperationSpec);\n }\n\n /**\n * Suggests documents in the index that match the given partial query text.\n * @param searchText The search text to use to suggest documents. Must be at least 1 character, and no\n * more than 100 characters.\n * @param suggesterName The name of the suggester as specified in the suggesters collection that's part\n * of the index definition.\n * @param options The options parameters.\n */\n suggestGet(\n searchText: string,\n suggesterName: string,\n options?: DocumentsSuggestGetOptionalParams\n ): Promise<DocumentsSuggestGetResponse> {\n return this.client.sendOperationRequest(\n { searchText, suggesterName, options },\n suggestGetOperationSpec\n );\n }\n\n /**\n * Suggests documents in the index that match the given partial query text.\n * @param suggestRequest The Suggest request.\n * @param options The options parameters.\n */\n suggestPost(\n suggestRequest: SuggestRequest,\n options?: DocumentsSuggestPostOptionalParams\n ): Promise<DocumentsSuggestPostResponse> {\n return this.client.sendOperationRequest(\n { suggestRequest, options },\n suggestPostOperationSpec\n );\n }\n\n /**\n * Sends a batch of document write actions to the index.\n * @param batch The batch of index actions.\n * @param options The options parameters.\n */\n index(\n batch: IndexBatch,\n options?: DocumentsIndexOptionalParams\n ): Promise<DocumentsIndexResponse> {\n return this.client.sendOperationRequest(\n { batch, options },\n indexOperationSpec\n );\n }\n\n /**\n * Autocompletes incomplete query terms based on input text and matching terms in the index.\n * @param searchText The incomplete term which should be auto-completed.\n * @param suggesterName The name of the suggester as specified in the suggesters collection that's part\n * of the index definition.\n * @param options The options parameters.\n */\n autocompleteGet(\n searchText: string,\n suggesterName: string,\n options?: DocumentsAutocompleteGetOptionalParams\n ): Promise<DocumentsAutocompleteGetResponse> {\n return this.client.sendOperationRequest(\n { searchText, suggesterName, options },\n autocompleteGetOperationSpec\n );\n }\n\n /**\n * Autocompletes incomplete query terms based on input text and matching terms in the index.\n * @param autocompleteRequest The definition of the Autocomplete request.\n * @param options The options parameters.\n */\n autocompletePost(\n autocompleteRequest: AutocompleteRequest,\n options?: DocumentsAutocompletePostOptionalParams\n ): Promise<DocumentsAutocompletePostResponse> {\n return this.client.sendOperationRequest(\n { autocompleteRequest, options },\n autocompletePostOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst countOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/$count\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"Number\" } }\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst searchGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText,\n Parameters.includeTotalResultCount,\n Parameters.facets,\n Parameters.filter,\n Parameters.highlightFields,\n Parameters.highlightPostTag,\n Parameters.highlightPreTag,\n Parameters.minimumCoverage,\n Parameters.orderBy,\n Parameters.queryType,\n Parameters.scoringParameters,\n Parameters.scoringProfile,\n Parameters.searchFields,\n Parameters.searchMode,\n Parameters.scoringStatistics,\n Parameters.sessionId,\n Parameters.select,\n Parameters.skip,\n Parameters.top\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst searchPostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.search\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.searchRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/docs('{key}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: { type: { name: \"any\" } }\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.selectedFields],\n urlParameters: [Parameters.endpoint, Parameters.indexName, Parameters.key],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst suggestGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.suggest\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SuggestDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText1,\n Parameters.suggesterName,\n Parameters.filter1,\n Parameters.useFuzzyMatching,\n Parameters.highlightPostTag1,\n Parameters.highlightPreTag1,\n Parameters.minimumCoverage1,\n Parameters.orderBy1,\n Parameters.searchFields1,\n Parameters.select1,\n Parameters.top1\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst suggestPostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.suggest\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.SuggestDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.suggestRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst indexOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.index\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.IndexDocumentsResult\n },\n 207: {\n bodyMapper: Mappers.IndexDocumentsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.batch,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\nconst autocompleteGetOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.autocomplete\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.AutocompleteResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.searchText1,\n Parameters.suggesterName,\n Parameters.autocompleteMode,\n Parameters.filter2,\n Parameters.useFuzzyMatching1,\n Parameters.highlightPostTag2,\n Parameters.highlightPreTag2,\n Parameters.minimumCoverage2,\n Parameters.searchFields2,\n Parameters.top2\n ],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst autocompletePostOperationSpec: coreClient.OperationSpec = {\n path: \"/docs/search.post.autocomplete\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AutocompleteResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.autocompleteRequest,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept, Parameters.contentType],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport { ApiVersion20200630, SearchClientOptionalParams } from \"./models\";\n\n/** @internal */\nexport class SearchClientContext extends coreClient.ServiceClient {\n endpoint: string;\n indexName: string;\n apiVersion: ApiVersion20200630;\n\n /**\n * Initializes a new instance of the SearchClientContext class.\n * @param endpoint The endpoint URL of the search service.\n * @param indexName The name of the index.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n indexName: string,\n apiVersion: ApiVersion20200630,\n options?: SearchClientOptionalParams\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n if (indexName === undefined) {\n throw new Error(\"'indexName' cannot be null\");\n }\n if (apiVersion === undefined) {\n throw new Error(\"'apiVersion' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: SearchClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n baseUri: options.endpoint || \"{endpoint}/indexes('{indexName}')\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n this.indexName = indexName;\n this.apiVersion = apiVersion;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { DocumentsImpl } from \"./operations\";\nimport { Documents } from \"./operationsInterfaces\";\nimport { SearchClientContext } from \"./searchClientContext\";\nimport { SearchClientOptionalParams, ApiVersion20200630 } from \"./models\";\n\n/** @internal */\nexport class SearchClient extends SearchClientContext {\n /**\n * Initializes a new instance of the SearchClient class.\n * @param endpoint The endpoint URL of the search service.\n * @param indexName The name of the index.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n indexName: string,\n apiVersion: ApiVersion20200630,\n options?: SearchClientOptionalParams\n ) {\n super(endpoint, indexName, apiVersion, options);\n this.documents = new DocumentsImpl(this);\n }\n\n documents: Documents;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential } from \"@azure/core-auth\";\nimport {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\nconst API_KEY_HEADER_NAME = \"api-key\";\nconst searchApiKeyCredentialPolicy = \"SearchApiKeyCredentialPolicy\";\n\n/**\n * Create an HTTP pipeline policy to authenticate a request\n * using an `AzureKeyCredential` for Azure Cognitive Search\n */\nexport function createSearchApiKeyCredentialPolicy(credential: KeyCredential): PipelinePolicy {\n return {\n name: searchApiKeyCredentialPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n if (!request.headers.has(API_KEY_HEADER_NAME)) {\n request.headers.set(API_KEY_HEADER_NAME, credential.key);\n }\n return next(request);\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createClientLogger } from \"@azure/logger\";\n\n/**\n * The `@azure/logger` configuration for this package.\n */\nexport const logger = createClientLogger(\"search\");\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\n\n/**\n * Creates a tracing client using the global tracer.\n * @internal\n */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.Search\",\n packageName: \"Azure.Search\",\n});\n\nexport const createSpan = tracingClient.startSpan;\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\n/**\n * Represents a geographic point in global coordinates.\n */\nexport default class GeographyPoint {\n /**\n * The latitude in decimal.\n */\n public latitude: number;\n /**\n * The longitude in decimal.\n */\n public longitude: number;\n\n /**\n * Constructs a new instance of GeographyPoint given\n * the specified coordinates.\n * @param geographyPoint - object with longitude and latitude values in decimal\n */\n constructor(geographyPoint: { longitude: number; latitude: number }) {\n this.longitude = geographyPoint.longitude;\n this.latitude = geographyPoint.latitude;\n }\n\n /**\n * Used to serialize to a GeoJSON Point.\n */\n public toJSON(): Record<string, unknown> {\n return {\n type: \"Point\",\n coordinates: [this.longitude, this.latitude],\n crs: { type: \"name\", properties: { name: WorldGeodeticSystem1984 } },\n };\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport GeographyPoint from \"./geographyPoint\";\n\nconst ISO8601DateRegex = /^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d{1,3})?Z$/i;\nconst GeoJSONPointTypeName = \"Point\";\nconst WorldGeodeticSystem1984 = \"EPSG:4326\"; // See https://epsg.io/4326\n\nexport function serialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, (value) => {\n const result = serializeSpecialNumbers(value);\n return result;\n });\n}\n\nexport function deserialize<OutputT>(obj: unknown): OutputT {\n return walk(obj, (value) => {\n let result = deserializeSpecialNumbers(value);\n result = deserializeDates(result);\n result = deserializeGeoPoint(result);\n return result;\n });\n}\n\nfunction walk(start: unknown, mapper: (val: any) => any): any {\n // eslint-disable-next-line @typescript-eslint/ban-types\n const seenMarker = new WeakMap<object, boolean>();\n const result = { value: undefined };\n const queue: { value: any; parent: any; key: string }[] = [\n { value: start, parent: result, key: \"value\" },\n ];\n\n while (queue.length) {\n const current = queue.shift()!;\n\n if (typeof current.value === \"object\" && current.value !== null) {\n if (seenMarker.has(current.value)) {\n continue;\n } else {\n seenMarker.set(current.value, true);\n }\n }\n\n const mapped = mapper(current.value);\n if (current?.parent && current.key) {\n current.parent[current.key] = mapped;\n }\n if (typeof mapped === \"object\" && mapped !== null) {\n for (const key of Object.keys(mapped)) {\n queue.push({\n value: mapped[key],\n parent: mapped,\n key,\n });\n }\n }\n }\n\n return result.value;\n}\n\nfunction serializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"number\") {\n if (isNaN(input)) {\n return \"NaN\";\n } else if (input === Infinity) {\n return \"INF\";\n } else if (input === -Infinity) {\n return \"-INF\";\n }\n }\n return input;\n}\n\nfunction deserializeSpecialNumbers(input: unknown): unknown {\n if (typeof input === \"string\") {\n if (input === \"NaN\") {\n return NaN;\n } else if (input === \"INF\") {\n return Infinity;\n } else if (input === \"-INF\") {\n return -Infinity;\n }\n }\n return input;\n}\n\nfunction deserializeDates(input: unknown): Date | unknown {\n if (typeof input === \"string\") {\n if (ISO8601DateRegex.test(input)) {\n return new Date(input);\n }\n }\n return input;\n}\n\nfunction deserializeGeoPoint(input: unknown): GeographyPoint | unknown {\n if (isGeoJSONPoint(input)) {\n return new GeographyPoint({ longitude: input.coordinates[0], latitude: input.coordinates[1] });\n }\n\n return input;\n}\n\ninterface GeoJSONPoint {\n type: \"Point\";\n coordinates: [number, number];\n crs: {\n type: \"name\";\n properties: {\n name: \"EPSG:4326\";\n };\n };\n}\n\nfunction isGeoJSONPoint(obj: any): obj is GeoJSONPoint {\n const requiredKeys = [\"type\", \"coordinates\"];\n return isValidObject(obj, {\n requiredKeys,\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return obj.type === GeoJSONPointTypeName;\n break;\n case \"coordinates\":\n return isCoordinateArray(obj.coordinates);\n break;\n case \"crs\":\n return isCrs(obj.crs);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCoordinateArray(maybeCoordinates: any): boolean {\n if (!Array.isArray(maybeCoordinates)) {\n return false;\n }\n if (maybeCoordinates.length !== 2) {\n return false;\n }\n if (typeof maybeCoordinates[0] !== \"number\" || typeof maybeCoordinates[1] !== \"number\") {\n return false;\n }\n return true;\n}\n\nfunction isCrs(maybeCrs: any): boolean {\n return isValidObject(maybeCrs, {\n requiredKeys: [\"type\", \"properties\"],\n propertyValidator: (key) => {\n switch (key) {\n case \"type\":\n return maybeCrs.type === \"name\";\n break;\n case \"properties\":\n return isCrsProperties(maybeCrs.properties);\n break;\n default:\n return false;\n }\n },\n });\n}\n\nfunction isCrsProperties(maybeProperties: any): boolean {\n return isValidObject(maybeProperties, {\n requiredKeys: [\"name\"],\n propertyValidator: (key) => {\n if (key === \"name\") {\n return maybeProperties.name === WorldGeodeticSystem1984;\n } else {\n return false;\n }\n },\n });\n}\n\nfunction isValidObject(\n obj: any,\n options: {\n requiredKeys?: string[];\n propertyValidator?: (keyName: string) => boolean;\n } = {}\n): boolean {\n if (typeof obj !== \"object\" || obj === null) {\n return false;\n }\n\n const keys = Object.keys(obj);\n\n if (options.requiredKeys) {\n for (const requiredKey of options.requiredKeys) {\n if (!keys.includes(requiredKey)) {\n return false;\n }\n }\n }\n\n if (options.propertyValidator) {\n for (const key of keys) {\n if (!options.propertyValidator(key)) {\n return false;\n }\n }\n }\n\n return true;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\nconst AcceptHeaderName = \"Accept\";\n\nexport type MetadataLevel = \"none\" | \"minimal\";\nconst odataMetadataPolicy = \"OdataMetadataPolicy\";\n\n/**\n * A policy factory for setting the Accept header to ignore odata metadata\n * @internal\n */\nexport function createOdataMetadataPolicy(metadataLevel: MetadataLevel): PipelinePolicy {\n return {\n name: odataMetadataPolicy,\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n request.headers.set(AcceptHeaderName, `application/json;odata.metadata=${metadataLevel}`);\n return next(request);\n },\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IndexDocumentsAction } from \"./indexModels\";\n\n/**\n * Class used to perform batch operations\n * with multiple documents to the index.\n */\nexport class IndexDocumentsBatch<TModel> {\n /**\n * The set of actions taken in this batch.\n */\n public readonly actions: IndexDocumentsAction<TModel>[];\n\n constructor(actions: IndexDocumentsAction<TModel>[] = []) {\n this.actions = actions;\n }\n\n /**\n * Upload an array of documents to the index.\n * @param documents - The documents to upload.\n */\n public upload(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"upload\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Update a set of documents in the index.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n */\n public merge(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"merge\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Update a set of documents in the index or uploads them if they don't exist.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The new/updated documents.\n */\n public mergeOrUpload(documents: TModel[]): void {\n const batch = documents.map<IndexDocumentsAction<TModel>>((doc) => {\n return {\n ...doc,\n __actionType: \"mergeOrUpload\",\n };\n });\n\n this.actions.push(...batch);\n }\n\n /**\n * Delete a set of documents.\n * @param keyName - The name of their primary key in the index.\n * @param keyValues - The primary key values of documents to delete.\n */\n public delete(keyName: keyof TModel, keyValues: string[]): void;\n\n /**\n * Delete a set of documents.\n * @param documents - Documents to be deleted.\n */\n public delete(documents: TModel[]): void;\n\n public delete(keyNameOrDocuments: keyof TModel | TModel[], keyValues?: string[]): void {\n if (keyValues) {\n const keyName = keyNameOrDocuments as keyof TModel;\n\n const batch = keyValues.map<IndexDocumentsAction<TModel>>((keyValue) => {\n return {\n __actionType: \"delete\",\n [keyName]: keyValue,\n } as IndexDocumentsAction<TModel>;\n });\n\n this.actions.push(...batch);\n } else {\n const documents = keyNameOrDocuments as TModel[];\n\n const batch = documents.map<IndexDocumentsAction<TModel>>((document) => {\n return {\n __actionType: \"delete\",\n ...document,\n } as IndexDocumentsAction<TModel>;\n });\n\n this.actions.push(...batch);\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Encodes a string in base64 format.\n * @param value - The string to encode.\n */\nexport function encode(value: string): string {\n return Buffer.from(value).toString(\"base64\");\n}\n\n/**\n * Decodes a base64 string into a regular string.\n * @param value - The base64 string to decode.\n */\nexport function decode(value: string): string {\n return Buffer.from(value, \"base64\").toString();\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { OperationOptions } from \"@azure/core-client\";\nimport {\n AsciiFoldingTokenFilter,\n BM25Similarity,\n CjkBigramTokenFilter,\n ClassicSimilarity,\n ClassicTokenizer,\n CognitiveServicesAccountKey,\n CommonGramTokenFilter,\n ConditionalSkill,\n CorsOptions,\n CustomEntityLookupSkill,\n DefaultCognitiveServicesAccount,\n DictionaryDecompounderTokenFilter,\n DistanceScoringFunction,\n DocumentExtractionSkill,\n EdgeNGramTokenFilterSide,\n EdgeNGramTokenizer,\n ElisionTokenFilter,\n EntityRecognitionSkill,\n FieldMapping,\n FreshnessScoringFunction,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n IndexingParameters,\n IndexingSchedule,\n KeepTokenFilter,\n KeyPhraseExtractionSkill,\n KeywordMarkerTokenFilter,\n LanguageDetectionSkill,\n LengthTokenFilter,\n LexicalAnalyzerName,\n LimitTokenFilter,\n LuceneStandardAnalyzer,\n MagnitudeScoringFunction,\n MappingCharFilter,\n MergeSkill,\n MicrosoftLanguageStemmingTokenizer,\n MicrosoftLanguageTokenizer,\n NGramTokenizer,\n OcrSkill,\n PathHierarchyTokenizerV2 as PathHierarchyTokenizer,\n PatternCaptureTokenFilter,\n PatternReplaceCharFilter,\n PatternReplaceTokenFilter,\n PhoneticTokenFilter,\n RegexFlags,\n ScoringFunctionAggregation,\n SearchIndexerDataContainer,\n SearchIndexerDataSourceType,\n SearchIndexerKnowledgeStore,\n Suggester as SearchSuggester,\n SentimentSkill,\n ServiceCounters,\n ServiceLimits,\n ShaperSkill,\n ShingleTokenFilter,\n SnowballTokenFilter,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StemmerOverrideTokenFilter,\n StemmerTokenFilter,\n StopAnalyzer,\n StopwordsTokenFilter,\n SynonymTokenFilter,\n TagScoringFunction,\n TextTranslationSkill,\n TextWeights,\n TruncateTokenFilter,\n UaxUrlEmailTokenizer,\n UniqueTokenFilter,\n WebApiSkill,\n WordDelimiterTokenFilter,\n} from \"./generated/service/models\";\n\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\n/**\n * Options for a list skillsets operation.\n */\nexport type ListSkillsetsOptions = OperationOptions;\n\n/**\n * Options for a list synonymMaps operation.\n */\nexport type ListSynonymMapsOptions = OperationOptions;\n\n/**\n * Options for a list indexes operation.\n */\nexport type ListIndexesOptions = OperationOptions;\n\n/**\n * Options for a list indexers operation.\n */\nexport type ListIndexersOptions = OperationOptions;\n\n/**\n * Options for a list data sources operation.\n */\nexport type ListDataSourceConnectionsOptions = OperationOptions;\n\n/**\n * Options for get index operation.\n */\nexport type GetIndexOptions = OperationOptions;\n\n/**\n * Options for get skillset operation.\n */\nexport type GetSkillSetOptions = OperationOptions;\n\n/**\n * Options for get synonymmaps operation.\n */\nexport type GetSynonymMapsOptions = OperationOptions;\n\n/**\n * Options for get indexer operation.\n */\nexport type GetIndexerOptions = OperationOptions;\n\n/**\n * Options for get datasource operation.\n */\nexport type GetDataSourceConnectionOptions = OperationOptions;\n\n/**\n * Options for get index statistics operation.\n */\nexport type GetIndexStatisticsOptions = OperationOptions;\n\n/**\n * Statistics for a given index. Statistics are collected periodically and are not guaranteed to\n * always be up-to-date.\n */\nexport interface SearchIndexStatistics {\n /**\n * The number of documents in the index.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly documentCount: number;\n /**\n * The amount of storage in bytes consumed by the index.\n * **NOTE: This property will not be serialized. It can only be populated by the server.**\n */\n readonly storageSize: number;\n}\n\n/**\n * Response from a get service statistics request. If successful, it includes service level\n * counters and limits.\n */\nexport interface SearchServiceStatistics {\n /**\n * Service level resource counters.\n */\n counters: ServiceCounters;\n /**\n * Service level general limits.\n */\n limits: ServiceLimits;\n}\n\n/**\n * Options for get service statistics operation.\n */\nexport type GetServiceStatisticsOptions = OperationOptions;\n\n/**\n * Options for get indexer status operation.\n */\nexport type GetIndexerStatusOptions = OperationOptions;\n\n/**\n * Options for reset indexer operation.\n */\nexport type ResetIndexerOptions = OperationOptions;\n\n/**\n * Options for run indexer operation.\n */\nexport type RunIndexerOptions = OperationOptions;\n\n/**\n * Options for create index operation.\n */\nexport type CreateIndexOptions = OperationOptions;\n\n/**\n * Options for create skillset operation.\n */\nexport type CreateSkillsetOptions = OperationOptions;\n/**\n * Options for create synonymmap operation.\n */\nexport type CreateSynonymMapOptions = OperationOptions;\n\n/**\n * Options for create indexer operation.\n */\nexport type CreateIndexerOptions = OperationOptions;\n\n/**\n * Options for create datasource operation.\n */\nexport type CreateDataSourceConnectionOptions = OperationOptions;\n\n/**\n * Options for create/update index operation.\n */\nexport interface CreateOrUpdateIndexOptions extends OperationOptions {\n /**\n * Allows new analyzers, tokenizers, token filters, or char filters to be added to an index by\n * taking the index offline for at least a few seconds. This temporarily causes indexing and\n * query requests to fail. Performance and write availability of the index can be impaired for\n * several minutes after the index is updated, or longer for very large indexes.\n */\n allowIndexDowntime?: boolean;\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update skillset operation.\n */\nexport interface CreateOrUpdateSkillsetOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update synonymmap operation.\n */\nexport interface CreateOrUpdateSynonymMapOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update indexer operation.\n */\nexport interface CreateorUpdateIndexerOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for create/update datasource operation.\n */\nexport interface CreateorUpdateDataSourceConnectionOptions extends OperationOptions {\n /**\n * If set to true, Resource will be updated only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete index operation.\n */\nexport interface DeleteIndexOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete skillset operaion.\n */\nexport interface DeleteSkillsetOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete synonymmap operation.\n */\nexport interface DeleteSynonymMapOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete indexer operation.\n */\nexport interface DeleteIndexerOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Options for delete datasource operation.\n */\nexport interface DeleteDataSourceConnectionOptions extends OperationOptions {\n /**\n * If set to true, Resource will be deleted only if the etag matches.\n */\n onlyIfUnchanged?: boolean;\n}\n\n/**\n * Specifies some text and analysis components used to break that text into tokens.\n */\nexport interface AnalyzeRequest {\n /**\n * The text to break into tokens.\n */\n text: string;\n /**\n * The name of the analyzer to use to break the given text. If this parameter is not specified,\n * you must specify a tokenizer instead. The tokenizer and analyzer parameters are mutually\n * exclusive. KnownAnalyzerNames is an enum containing known values.\n * NOTE: Either analyzerName or tokenizerName is required in an AnalyzeRequest.\n */\n analyzerName?: string;\n /**\n * The name of the tokenizer to use to break the given text. If this parameter is not specified,\n * you must specify an analyzer instead. The tokenizer and analyzer parameters are mutually\n * exclusive. KnownTokenizerNames is an enum containing known values.\n * NOTE: Either analyzerName or tokenizerName is required in an AnalyzeRequest.\n */\n tokenizerName?: string;\n /**\n * An optional list of token filters to use when breaking the given text. This parameter can only\n * be set when using the tokenizer parameter.\n */\n tokenFilters?: string[];\n /**\n * An optional list of character filters to use when breaking the given text. This parameter can\n * only be set when using the tokenizer parameter.\n */\n charFilters?: string[];\n}\n\n/**\n * Options for analyze text operation.\n */\nexport type AnalyzeTextOptions = OperationOptions & AnalyzeRequest;\n\n// BEGIN manually modified generated interfaces\n//\n// This section is for places where we have to manually fix issues\n// with interfaces from the generated code.\n// One issue is that unions of discriminated types generated with\n// their abstract base class as a member.\n\n/**\n * Flexibly separates text into terms via a regular expression pattern. This analyzer is\n * implemented using Apache Lucene.\n */\nexport interface PatternAnalyzer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.PatternAnalyzer\";\n /**\n * The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores,\n * can only start and end with alphanumeric characters, and is limited to 128 characters.\n */\n name: string;\n /**\n * A value indicating whether terms should be lower-cased. Default is true. Default value: true.\n */\n lowerCaseTerms?: boolean;\n /**\n * A regular expression pattern to match token separators. Default is an expression that matches\n * one or more whitespace characters. Default value: `\\W+`.\n */\n pattern?: string;\n /**\n * Regular expression flags. Possible values include: 'CANON_EQ', 'CASE_INSENSITIVE', 'COMMENTS',\n * 'DOTALL', 'LITERAL', 'MULTILINE', 'UNICODE_CASE', 'UNIX_LINES'\n */\n flags?: RegexFlags[];\n /**\n * A list of stopwords.\n */\n stopwords?: string[];\n}\n\n/**\n * Allows you to take control over the process of converting text into indexable/searchable tokens.\n * It's a user-defined configuration consisting of a single predefined tokenizer and one or more\n * filters. The tokenizer is responsible for breaking text into tokens, and the filters for\n * modifying tokens emitted by the tokenizer.\n */\nexport interface CustomAnalyzer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.CustomAnalyzer\";\n /**\n * The name of the analyzer. It must only contain letters, digits, spaces, dashes or underscores,\n * can only start and end with alphanumeric characters, and is limited to 128 characters.\n */\n name: string;\n /**\n * The name of the tokenizer to use to divide continuous text into a sequence of tokens, such as\n * breaking a sentence into words. KnownTokenizerNames is an enum containing known values.\n */\n tokenizerName: string;\n /**\n * A list of token filters used to filter out or modify the tokens generated by a tokenizer. For\n * example, you can specify a lowercase filter that converts all characters to lowercase. The\n * filters are run in the order in which they are listed.\n */\n tokenFilters?: string[];\n /**\n * A list of character filters used to prepare input text before it is processed by the\n * tokenizer. For instance, they can replace certain characters or symbols. The filters are run\n * in the order in which they are listed.\n */\n charFilters?: string[];\n}\n\n/**\n * Contains the possible cases for Analyzer.\n */\nexport type LexicalAnalyzer =\n | CustomAnalyzer\n | PatternAnalyzer\n | LuceneStandardAnalyzer\n | StopAnalyzer;\n\n/**\n * Contains the possible cases for Skill.\n */\nexport type SearchIndexerSkill =\n | ConditionalSkill\n | KeyPhraseExtractionSkill\n | OcrSkill\n | ImageAnalysisSkill\n | LanguageDetectionSkill\n | ShaperSkill\n | MergeSkill\n | EntityRecognitionSkill\n | SentimentSkill\n | SplitSkill\n | CustomEntityLookupSkill\n | TextTranslationSkill\n | DocumentExtractionSkill\n | WebApiSkill;\n\n/**\n * Contains the possible cases for CognitiveServicesAccount.\n */\nexport type CognitiveServicesAccount =\n | DefaultCognitiveServicesAccount\n | CognitiveServicesAccountKey;\n/**\n * Tokenizer that uses regex pattern matching to construct distinct tokens. This tokenizer is\n * implemented using Apache Lucene.\n */\nexport interface PatternTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype: \"#Microsoft.Azure.Search.PatternTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * A regular expression pattern to match token separators. Default is an expression that matches\n * one or more whitespace characters. Default value: `\\W+`.\n */\n pattern?: string;\n /**\n * Regular expression flags. Possible values include: 'CANON_EQ', 'CASE_INSENSITIVE', 'COMMENTS',\n * 'DOTALL', 'LITERAL', 'MULTILINE', 'UNICODE_CASE', 'UNIX_LINES'\n */\n flags?: RegexFlags[];\n /**\n * The zero-based ordinal of the matching group in the regular expression pattern to extract into\n * tokens. Use -1 if you want to use the entire pattern to split the input into tokens,\n * irrespective of matching groups. Default is -1. Default value: -1.\n */\n group?: number;\n}\n/**\n * Breaks text following the Unicode Text Segmentation rules. This tokenizer is implemented using\n * Apache Lucene.\n */\nexport interface LuceneStandardTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.StandardTokenizerV2\"\n | \"#Microsoft.Azure.Search.StandardTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The maximum token length. Default is 255. Tokens longer than the maximum length are split. The\n * maximum token length that can be used is 300 characters. Default value: 255.\n */\n maxTokenLength?: number;\n}\n\n/**\n * Generates n-grams of the given size(s) starting from the front or the back of an input token.\n * This token filter is implemented using Apache Lucene.\n */\nexport interface EdgeNGramTokenFilter {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\"\n | \"#Microsoft.Azure.Search.EdgeNGramTokenFilter\";\n /**\n * The name of the token filter. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of\n * maxGram. Default value: 1.\n */\n minGram?: number;\n /**\n * The maximum n-gram length. Default is 2. Maximum is 300. Default value: 2.\n */\n maxGram?: number;\n /**\n * Specifies which side of the input the n-gram should be generated from. Default is \"front\".\n * Possible values include: 'Front', 'Back'\n */\n side?: EdgeNGramTokenFilterSide;\n}\n\n/**\n * Emits the entire input as a single token. This tokenizer is implemented using Apache Lucene.\n */\nexport interface KeywordTokenizer {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.KeywordTokenizerV2\"\n | \"#Microsoft.Azure.Search.KeywordTokenizer\";\n /**\n * The name of the tokenizer. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The maximum token length. Default is 256. Tokens longer than the maximum length are split. The\n * maximum token length that can be used is 300 characters. Default value: 256.\n */\n maxTokenLength?: number;\n}\n\n/**\n * Contains the possible cases for Tokenizer.\n */\nexport type LexicalTokenizer =\n | ClassicTokenizer\n | EdgeNGramTokenizer\n | KeywordTokenizer\n | MicrosoftLanguageTokenizer\n | MicrosoftLanguageStemmingTokenizer\n | NGramTokenizer\n | PathHierarchyTokenizer\n | PatternTokenizer\n | LuceneStandardTokenizer\n | UaxUrlEmailTokenizer;\n\n/**\n * Contains the possible cases for Similarity.\n */\nexport type SimilarityAlgorithm = ClassicSimilarity | BM25Similarity;\n\n/**\n * Generates n-grams of the given size(s). This token filter is implemented using Apache Lucene.\n */\nexport interface NGramTokenFilter {\n /**\n * Polymorphic Discriminator\n */\n odatatype:\n | \"#Microsoft.Azure.Search.NGramTokenFilterV2\"\n | \"#Microsoft.Azure.Search.NGramTokenFilter\";\n /**\n * The name of the token filter. It must only contain letters, digits, spaces, dashes or\n * underscores, can only start and end with alphanumeric characters, and is limited to 128\n * characters.\n */\n name: string;\n /**\n * The minimum n-gram length. Default is 1. Maximum is 300. Must be less than the value of\n * maxGram. Default value: 1.\n */\n minGram?: number;\n /**\n * The maximum n-gram length. Default is 2. Maximum is 300. Default value: 2.\n */\n maxGram?: number;\n}\n\n/**\n * Contains the possible cases for TokenFilter.\n */\nexport type TokenFilter =\n | AsciiFoldingTokenFilter\n | CjkBigramTokenFilter\n | CommonGramTokenFilter\n | DictionaryDecompounderTokenFilter\n | EdgeNGramTokenFilter\n | ElisionTokenFilter\n | KeepTokenFilter\n | KeywordMarkerTokenFilter\n | LengthTokenFilter\n | LimitTokenFilter\n | NGramTokenFilter\n | PatternCaptureTokenFilter\n | PatternReplaceTokenFilter\n | PhoneticTokenFilter\n | ShingleTokenFilter\n | SnowballTokenFilter\n | StemmerTokenFilter\n | StemmerOverrideTokenFilter\n | StopwordsTokenFilter\n | SynonymTokenFilter\n | TruncateTokenFilter\n | UniqueTokenFilter\n | WordDelimiterTokenFilter;\n\n/**\n * Contains the possible cases for CharFilter.\n */\nexport type CharFilter = MappingCharFilter | PatternReplaceCharFilter;\n\n/**\n * Contains the possible cases for ScoringFunction.\n */\nexport type ScoringFunction =\n | DistanceScoringFunction\n | FreshnessScoringFunction\n | MagnitudeScoringFunction\n | TagScoringFunction;\n\n/**\n * Defines values for SearchFieldDataType.\n * Possible values include: 'Edm.String', 'Edm.Int32', 'Edm.Int64', 'Edm.Double', 'Edm.Boolean',\n * 'Edm.DateTimeOffset', 'Edm.GeographyPoint', 'Collection(Edm.String)', 'Collection(Edm.Int32)',\n * 'Collection(Edm.Int64)', 'Collection(Edm.Double)', 'Collection(Edm.Boolean)',\n * 'Collection(Edm.DateTimeOffset)', 'Collection(Edm.GeographyPoint)'\n * @readonly\n */\nexport type SearchFieldDataType =\n | \"Edm.String\"\n | \"Edm.Int32\"\n | \"Edm.Int64\"\n | \"Edm.Double\"\n | \"Edm.Boolean\"\n | \"Edm.DateTimeOffset\"\n | \"Edm.GeographyPoint\"\n | \"Collection(Edm.String)\"\n | \"Collection(Edm.Int32)\"\n | \"Collection(Edm.Int64)\"\n | \"Collection(Edm.Double)\"\n | \"Collection(Edm.Boolean)\"\n | \"Collection(Edm.DateTimeOffset)\"\n | \"Collection(Edm.GeographyPoint)\";\n\n/**\n * Defines values for ComplexDataType.\n * Possible values include: 'Edm.ComplexType', 'Collection(Edm.ComplexType)'\n * @readonly\n */\nexport type ComplexDataType = \"Edm.ComplexType\" | \"Collection(Edm.ComplexType)\";\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport type SearchField = SimpleField | ComplexField;\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport interface SimpleField {\n /**\n * The name of the field, which must be unique within the fields collection of the index or\n * parent field.\n */\n name: string;\n /**\n * The data type of the field. Possible values include: 'Edm.String', 'Edm.Int32', 'Edm.Int64',\n * 'Edm.Double', 'Edm.Boolean', 'Edm.DateTimeOffset', 'Edm.GeographyPoint',\n * 'Collection(Edm.String)', 'Collection(Edm.Int32)', 'Collection(Edm.Int64)',\n * 'Collection(Edm.Double)', 'Collection(Edm.Boolean)', 'Collection(Edm.DateTimeOffset)',\n * 'Collection(Edm.GeographyPoint)'\n */\n type: SearchFieldDataType;\n /**\n * A value indicating whether the field uniquely identifies documents in the index. Exactly one\n * top-level field in each index must be chosen as the key field and it must be of type\n * Edm.String. Key fields can be used to look up documents directly and update or delete specific\n * documents. Default is false.\n */\n key?: boolean;\n /**\n * A value indicating whether the field can be returned in a search result. You can enable this\n * option if you want to use a field (for example, margin) as a filter, sorting, or scoring\n * mechanism but do not want the field to be visible to the end user. This property must be false\n * for key fields. This property can be changed on existing fields.\n * Disabling this property does not cause any increase in index storage requirements.\n * Default is false.\n */\n hidden?: boolean;\n /**\n * A value indicating whether the field is full-text searchable. This means it will undergo\n * analysis such as word-breaking during indexing. If you set a searchable field to a value like\n * \"sunny day\", internally it will be split into the individual tokens \"sunny\" and \"day\". This\n * enables full-text searches for these terms. This property must be false for simple\n * fields of other non-string data types.\n * Note: searchable fields consume extra space in your index since Azure Cognitive Search will store an\n * additional tokenized version of the field value for full-text searches.\n * Defaults to false for simple fields.\n */\n searchable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in $filter queries. Filterable\n * differs from searchable in how strings are handled. Fields of type Edm.String or\n * Collection(Edm.String) that are filterable do not undergo word-breaking, so comparisons are\n * for exact matches only. For example, if you set such a field f to \"sunny day\", $filter=f eq\n * 'sunny' will find no matches, but $filter=f eq 'sunny day' will.\n * Default is false.\n */\n filterable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in $orderby expressions. By\n * default Azure Cognitive Search sorts results by score, but in many experiences users will want\n * to sort by fields in the documents. A simple field can be sortable only if it is single-valued\n * (it has a single value in the scope of the parent document). Simple collection fields cannot\n * be sortable, since they are multi-valued. Simple sub-fields of complex collections are also\n * multi-valued, and therefore cannot be sortable. This is true whether it's an immediate parent\n * field, or an ancestor field, that's the complex collection. The default for sortable is false.\n */\n sortable?: boolean;\n /**\n * A value indicating whether to enable the field to be referenced in facet queries. Typically\n * used in a presentation of search results that includes hit count by category (for example,\n * search for digital cameras and see hits by brand, by megapixels, by price, and so on).\n * Fields of type Edm.GeographyPoint or Collection(Edm.GeographyPoint) cannot be facetable.\n * Default is false for all other simple fields.\n */\n facetable?: boolean;\n /**\n * The name of the language analyzer to use for the field. This option can be used only with\n * searchable fields and it can't be set together with either searchAnalyzer or indexAnalyzer.\n * Once the analyzer is chosen, it cannot be changed for the field.\n * KnownAnalyzerNames is an enum containing known values.\n */\n analyzerName?: LexicalAnalyzerName;\n /**\n * The name of the analyzer used at search time for the field. This option can be used only with\n * searchable fields. It must be set together with indexAnalyzer and it cannot be set together\n * with the analyzer option. This analyzer can be updated on an existing field.\n * KnownAnalyzerNames is an enum containing known values.\n */\n searchAnalyzerName?: LexicalAnalyzerName;\n /**\n * The name of the analyzer used at indexing time for the field. This option can be used only\n * with searchable fields. It must be set together with searchAnalyzer and it cannot be set\n * together with the analyzer option. Once the analyzer is chosen, it cannot be changed for the\n * field. KnownAnalyzerNames is an enum containing known values.\n */\n indexAnalyzerName?: LexicalAnalyzerName;\n /**\n * A list of the names of synonym maps to associate with this field. This option can be used only\n * with searchable fields. Currently only one synonym map per field is supported. Assigning a\n * synonym map to a field ensures that query terms targeting that field are expanded at\n * query-time using the rules in the synonym map. This attribute can be changed on existing\n * fields.\n */\n synonymMapNames?: string[];\n}\n\nexport function isComplexField(field: SearchField): field is ComplexField {\n return field.type === \"Edm.ComplexType\" || field.type === \"Collection(Edm.ComplexType)\";\n}\n\n/**\n * Represents a field in an index definition, which describes the name, data type, and search\n * behavior of a field.\n */\nexport interface ComplexField {\n /**\n * The name of the field, which must be unique within the fields collection of the index or\n * parent field.\n */\n name: string;\n /**\n * The data type of the field.\n * Possible values include: 'Edm.ComplexType','Collection(Edm.ComplexType)'\n */\n type: ComplexDataType;\n /**\n * A list of sub-fields.\n */\n fields: SearchField[];\n}\n\n/**\n * Represents a synonym map definition.\n */\nexport interface SynonymMap {\n /**\n * The name of the synonym map.\n */\n name: string;\n /**\n * An array of synonym rules in the specified synonym map format.\n */\n synonyms: string[];\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your data when you want full assurance\n * that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you\n * have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore\n * attempts to set this property to null. You can change this property as needed if you want to\n * rotate your encryption key; Your data will be unaffected. Encryption with customer-managed\n * keys is not available for free search services, and is only available for paid services\n * created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n /**\n * The ETag of the synonym map.\n */\n etag?: string;\n}\n\n/**\n * An iterator for listing the indexes that exist in the Search service. Will make requests\n * as needed during iteration. Use .byPage() to make one request to the server\n * per iteration.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IndexIterator = PagedAsyncIterableIterator<SearchIndex, SearchIndex[], {}>;\n\n/**\n * An iterator for listing the indexes that exist in the Search service. Will make requests\n * as needed during iteration. Use .byPage() to make one request to the server\n * per iteration.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport type IndexNameIterator = PagedAsyncIterableIterator<string, string[], {}>;\n\n/**\n * Represents a search index definition, which describes the fields and search behavior of an\n * index.\n */\nexport interface SearchIndex {\n /**\n * The name of the index.\n */\n name: string;\n /**\n * The fields of the index.\n */\n fields: SearchField[];\n /**\n * The scoring profiles for the index.\n */\n scoringProfiles?: ScoringProfile[];\n /**\n * The name of the scoring profile to use if none is specified in the query. If this property is\n * not set and no scoring profile is specified in the query, then default scoring (tf-idf) will\n * be used.\n */\n defaultScoringProfile?: string;\n /**\n * Options to control Cross-Origin Resource Sharing (CORS) for the index.\n */\n corsOptions?: CorsOptions | null;\n /**\n * The suggesters for the index.\n */\n suggesters?: SearchSuggester[];\n /**\n * The analyzers for the index.\n */\n analyzers?: LexicalAnalyzer[];\n /**\n * The tokenizers for the index.\n */\n tokenizers?: LexicalTokenizer[];\n /**\n * The token filters for the index.\n */\n tokenFilters?: TokenFilter[];\n /**\n * The character filters for the index.\n */\n charFilters?: CharFilter[];\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your data when you want full assurance\n * that no one, not even Microsoft, can decrypt your data in Azure Cognitive Search. Once you\n * have encrypted your data, it will always remain encrypted. Azure Cognitive Search will ignore\n * attempts to set this property to null. You can change this property as needed if you want to\n * rotate your encryption key; Your data will be unaffected. Encryption with customer-managed\n * keys is not available for free search services, and is only available for paid services\n * created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n /**\n * The type of similarity algorithm to be used when scoring and ranking the documents matching a\n * search query. The similarity algorithm can only be defined at index creation time and cannot\n * be modified on existing indexes. If null, the ClassicSimilarity algorithm is used.\n */\n similarity?: SimilarityAlgorithm;\n /**\n * The ETag of the index.\n */\n etag?: string;\n}\n\n/**\n * Represents an indexer.\n */\nexport interface SearchIndexer {\n /**\n * The name of the indexer.\n */\n name: string;\n /**\n * The description of the indexer.\n */\n description?: string;\n /**\n * The name of the datasource from which this indexer reads data.\n */\n dataSourceName: string;\n /**\n * The name of the skillset executing with this indexer.\n */\n skillsetName?: string;\n /**\n * The name of the index to which this indexer writes data.\n */\n targetIndexName: string;\n /**\n * The schedule for this indexer.\n */\n schedule?: IndexingSchedule | null;\n /**\n * Parameters for indexer execution.\n */\n parameters?: IndexingParameters | null;\n /**\n * Defines mappings between fields in the data source and corresponding target fields in the\n * index.\n */\n fieldMappings?: FieldMapping[];\n /**\n * Output field mappings are applied after enrichment and immediately before indexing.\n */\n outputFieldMappings?: FieldMapping[];\n /**\n * A value indicating whether the indexer is disabled. Default is false. Default value: false.\n */\n isDisabled?: boolean | null;\n /**\n * The ETag of the indexer.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your indexer definition (as well as\n * indexer execution status) when you want full assurance that no one, not even Microsoft, can\n * decrypt them in Azure Cognitive Search. Once you have encrypted your indexer definition, it\n * will always remain encrypted. Azure Cognitive Search will ignore attempts to set this property\n * to null. You can change this property as needed if you want to rotate your encryption key;\n * Your indexer definition (and indexer execution status) will be unaffected. Encryption with\n * customer-managed keys is not available for free search services, and is only available for\n * paid services created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n\n/**\n * A customer-managed encryption key in Azure Key Vault. Keys that you create and manage can be\n * used to encrypt or decrypt data-at-rest in Azure Cognitive Search, such as indexes and synonym\n * maps.\n */\nexport interface SearchResourceEncryptionKey {\n /**\n * The name of your Azure Key Vault key to be used to encrypt your data at rest.\n */\n keyName: string;\n /**\n * The version of your Azure Key Vault key to be used to encrypt your data at rest.\n */\n keyVersion: string;\n /**\n * The URI of your Azure Key Vault, also referred to as DNS name, that contains the key to be\n * used to encrypt your data at rest. An example URI might be\n * https://my-keyvault-name.vault.azure.net.\n */\n vaultUrl: string;\n /**\n * An AAD Application ID that was granted the required access permissions to the Azure Key Vault\n * that is to be used when encrypting your data at rest. The Application ID should not be\n * confused with the Object ID for your AAD Application.\n */\n applicationId?: string;\n /**\n * The authentication key of the specified AAD application.\n */\n applicationSecret?: string;\n}\n\n/**\n * A list of skills.\n */\nexport interface SearchIndexerSkillset {\n /**\n * The name of the skillset.\n */\n name: string;\n /**\n * The description of the skillset.\n */\n description?: string;\n /**\n * A list of skills in the skillset.\n */\n skills: SearchIndexerSkill[];\n /**\n * Details about cognitive services to be used when running skills.\n */\n cognitiveServicesAccount?: CognitiveServicesAccount;\n /**\n * Definition of additional projections to azure blob, table, or files, of enriched data.\n */\n knowledgeStore?: SearchIndexerKnowledgeStore;\n /**\n * The ETag of the skillset.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your skillset definition when you want\n * full assurance that no one, not even Microsoft, can decrypt your skillset definition in Azure\n * Cognitive Search. Once you have encrypted your skillset definition, it will always remain\n * encrypted. Azure Cognitive Search will ignore attempts to set this property to null. You can\n * change this property as needed if you want to rotate your encryption key; Your skillset\n * definition will be unaffected. Encryption with customer-managed keys is not available for free\n * search services, and is only available for paid services created on or after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n\n/**\n * Defines parameters for a search index that influence scoring in search queries.\n */\nexport interface ScoringProfile {\n /**\n * The name of the scoring profile.\n */\n name: string;\n /**\n * Parameters that boost scoring based on text matches in certain index fields.\n */\n textWeights?: TextWeights;\n /**\n * The collection of functions that influence the scoring of documents.\n */\n functions?: ScoringFunction[];\n /**\n * A value indicating how the results of individual scoring functions should be combined.\n * Defaults to \"Sum\". Ignored if there are no scoring functions. Possible values include: 'sum',\n * 'average', 'minimum', 'maximum', 'firstMatching'\n */\n functionAggregation?: ScoringFunctionAggregation;\n}\n\n/**\n * Defines values for TokenizerName.\n * @readonly\n */\nexport enum KnownTokenizerNames {\n /**\n * Grammar-based tokenizer that is suitable for processing most European-language documents. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicTokenizer.html\n */\n Classic = \"classic\",\n /**\n * Tokenizes the input from an edge into n-grams of the given size(s). See\n * https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenizer.html\n */\n EdgeNGram = \"edgeNGram\",\n /**\n * Emits the entire input as a single token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/KeywordTokenizer.html\n */\n Keyword = \"keyword_v2\",\n /**\n * Divides text at non-letters. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LetterTokenizer.html\n */\n Letter = \"letter\",\n /**\n * Divides text at non-letters and converts them to lower case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseTokenizer.html\n */\n Lowercase = \"lowercase\",\n /**\n * Divides text using language-specific rules.\n */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n MicrosoftLanguageTokenizer = \"microsoft_language_tokenizer\",\n /**\n * Divides text using language-specific rules and reduces words to their base forms.\n */\n // eslint-disable-next-line @typescript-eslint/no-shadow\n MicrosoftLanguageStemmingTokenizer = \"microsoft_language_stemming_tokenizer\",\n /**\n * Tokenizes the input into n-grams of the given size(s). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenizer.html\n */\n NGram = \"nGram\",\n /**\n * Tokenizer for path-like hierarchies. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokenizer.html\n */\n PathHierarchy = \"path_hierarchy_v2\",\n /**\n * Tokenizer that uses regex pattern matching to construct distinct tokens. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/pattern/PatternTokenizer.html\n */\n Pattern = \"pattern\",\n /**\n * Standard Lucene analyzer; Composed of the standard tokenizer, lowercase filter and stop\n * filter. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/StandardTokenizer.html\n */\n Standard = \"standard_v2\",\n /**\n * Tokenizes urls and emails as one token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/UAX29URLEmailTokenizer.html\n */\n UaxUrlEmail = \"uax_url_email\",\n /**\n * Divides text at whitespace. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/WhitespaceTokenizer.html\n */\n Whitespace = \"whitespace\",\n}\n\n/**\n * Defines values for TokenFilterName.\n * @readonly\n */\nexport enum KnownTokenFilterNames {\n /**\n * A token filter that applies the Arabic normalizer to normalize the orthography. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ar/ArabicNormalizationFilter.html\n */\n ArabicNormalization = \"arabic_normalization\",\n /**\n * Strips all characters after an apostrophe (including the apostrophe itself). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/tr/ApostropheFilter.html\n */\n Apostrophe = \"apostrophe\",\n /**\n * Converts alphabetic, numeric, and symbolic Unicode characters which are not in the first 127\n * ASCII characters (the \"Basic Latin\" Unicode block) into their ASCII equivalents, if such\n * equivalents exist. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html\n */\n AsciiFolding = \"asciifolding\",\n /**\n * Forms bigrams of CJK terms that are generated from StandardTokenizer. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKBigramFilter.html\n */\n CjkBigram = \"cjk_bigram\",\n /**\n * Normalizes CJK width differences. Folds fullwidth ASCII variants into the equivalent basic\n * Latin, and half-width Katakana variants into the equivalent Kana. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/cjk/CJKWidthFilter.html\n */\n CjkWidth = \"cjk_width\",\n /**\n * Removes English possessives, and dots from acronyms. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/standard/ClassicFilter.html\n */\n Classic = \"classic\",\n /**\n * Construct bigrams for frequently occurring terms while indexing. Single terms are still\n * indexed too, with bigrams overlaid. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/commongrams/CommonGramsFilter.html\n */\n CommonGram = \"common_grams\",\n /**\n * Generates n-grams of the given size(s) starting from the front or the back of an input token.\n * See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/EdgeNGramTokenFilter.html\n */\n EdgeNGram = \"edgeNGram_v2\",\n /**\n * Removes elisions. For example, \"l'avion\" (the plane) will be converted to \"avion\" (plane). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/util/ElisionFilter.html\n */\n Elision = \"elision\",\n /**\n * Normalizes German characters according to the heuristics of the German2 snowball algorithm.\n * See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/de/GermanNormalizationFilter.html\n */\n GermanNormalization = \"german_normalization\",\n /**\n * Normalizes text in Hindi to remove some differences in spelling variations. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/hi/HindiNormalizationFilter.html\n */\n HindiNormalization = \"hindi_normalization\",\n /**\n * Normalizes the Unicode representation of text in Indian languages. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/in/IndicNormalizationFilter.html\n */\n IndicNormalization = \"indic_normalization\",\n /**\n * Emits each incoming token twice, once as keyword and once as non-keyword. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/KeywordRepeatFilter.html\n */\n KeywordRepeat = \"keyword_repeat\",\n /**\n * A high-performance kstem filter for English. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/en/KStemFilter.html\n */\n KStem = \"kstem\",\n /**\n * Removes words that are too long or too short. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LengthFilter.html\n */\n Length = \"length\",\n /**\n * Limits the number of tokens while indexing. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/LimitTokenCountFilter.html\n */\n Limit = \"limit\",\n /**\n * Normalizes token text to lower case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/LowerCaseFilter.htm\n */\n Lowercase = \"lowercase\",\n /**\n * Generates n-grams of the given size(s). See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ngram/NGramTokenFilter.html\n */\n NGram = \"nGram_v2\",\n /**\n * Applies normalization for Persian. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/fa/PersianNormalizationFilter.html\n */\n PersianNormalization = \"persian_normalization\",\n /**\n * Create tokens for phonetic matches. See\n * https://lucene.apache.org/core/4_10_3/analyzers-phonetic/org/apache/lucene/analysis/phonetic/package-tree.html\n */\n Phonetic = \"phonetic\",\n /**\n * Uses the Porter stemming algorithm to transform the token stream. See\n * http://tartarus.org/~martin/PorterStemmer\n */\n PorterStem = \"porter_stem\",\n /**\n * Reverses the token string. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/reverse/ReverseStringFilter.html\n */\n Reverse = \"reverse\",\n /**\n * Normalizes use of the interchangeable Scandinavian characters. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianNormalizationFilter.html\n */\n ScandinavianNormalization = \"scandinavian_normalization\",\n /**\n * Folds Scandinavian characters åÅäæÄÆ->a and öÖøØ->o. It also discriminates against use\n * of double vowels aa, ae, ao, oe and oo, leaving just the first one. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/ScandinavianFoldingFilter.html\n */\n ScandinavianFoldingNormalization = \"scandinavian_folding\",\n /**\n * Creates combinations of tokens as a single token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/shingle/ShingleFilter.html\n */\n Shingle = \"shingle\",\n /**\n * A filter that stems words using a Snowball-generated stemmer. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/snowball/SnowballFilter.html\n */\n Snowball = \"snowball\",\n /**\n * Normalizes the Unicode representation of Sorani text. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/ckb/SoraniNormalizationFilter.html\n */\n SoraniNormalization = \"sorani_normalization\",\n /**\n * Language specific stemming filter. See\n * https://docs.microsoft.com/rest/api/searchservice/Custom-analyzers-in-Azure-Search#TokenFilters\n */\n Stemmer = \"stemmer\",\n /**\n * Removes stop words from a token stream. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/StopFilter.html\n */\n Stopwords = \"stopwords\",\n /**\n * Trims leading and trailing whitespace from tokens. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TrimFilter.html\n */\n Trim = \"trim\",\n /**\n * Truncates the terms to a specific length. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/TruncateTokenFilter.html\n */\n Truncate = \"truncate\",\n /**\n * Filters out tokens with same text as the previous token. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/miscellaneous/RemoveDuplicatesTokenFilter.html\n */\n Unique = \"unique\",\n /**\n * Normalizes token text to upper case. See\n * http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/core/UpperCaseFilter.html\n */\n Uppercase = \"uppercase\",\n /**\n * Splits words into subwords and performs optional transformations on subword groups.\n */\n WordDelimiter = \"word_delimiter\",\n}\n\n/**\n * Defines values for CharFilterName.\n * @readonly\n */\nexport enum KnownCharFilterNames {\n /**\n * A character filter that attempts to strip out HTML constructs. See\n * https://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/charfilter/HTMLStripCharFilter.html\n */\n HtmlStrip = \"html_strip\",\n}\n\n/**\n * Defines values for AnalyzerName.\n * See https://docs.microsoft.com/rest/api/searchservice/Language-support\n * @readonly\n */\nexport enum KnownAnalyzerNames {\n /**\n * Arabic\n */\n ArMicrosoft = \"ar.microsoft\",\n /**\n * Arabic\n */\n ArLucene = \"ar.lucene\",\n /**\n * Armenian\n */\n HyLucene = \"hy.lucene\",\n /**\n * Bangla\n */\n BnMicrosoft = \"bn.microsoft\",\n /**\n * Basque\n */\n EuLucene = \"eu.lucene\",\n /**\n * Bulgarian\n */\n BgMicrosoft = \"bg.microsoft\",\n /**\n * Bulgarian\n */\n BgLucene = \"bg.lucene\",\n /**\n * Catalan\n */\n CaMicrosoft = \"ca.microsoft\",\n /**\n * Catalan\n */\n CaLucene = \"ca.lucene\",\n /**\n * Chinese Simplified\n */\n ZhHansMicrosoft = \"zh-Hans.microsoft\",\n /**\n * Chinese Simplified\n */\n ZhHansLucene = \"zh-Hans.lucene\",\n /**\n * Chinese Traditional\n */\n ZhHantMicrosoft = \"zh-Hant.microsoft\",\n /**\n * Chinese Traditional\n */\n ZhHantLucene = \"zh-Hant.lucene\",\n /**\n * Croatian\n */\n HrMicrosoft = \"hr.microsoft\",\n /**\n * Czech\n */\n CsMicrosoft = \"cs.microsoft\",\n /**\n * Czech\n */\n CsLucene = \"cs.lucene\",\n /**\n * Danish\n */\n DaMicrosoft = \"da.microsoft\",\n /**\n * Danish\n */\n DaLucene = \"da.lucene\",\n /**\n * Dutch\n */\n NlMicrosoft = \"nl.microsoft\",\n /**\n * Dutch\n */\n NlLucene = \"nl.lucene\",\n /**\n * English\n */\n EnMicrosoft = \"en.microsoft\",\n /**\n * English\n */\n EnLucene = \"en.lucene\",\n /**\n * Estonian\n */\n EtMicrosoft = \"et.microsoft\",\n /**\n * Finnish\n */\n FiMicrosoft = \"fi.microsoft\",\n /**\n * Finnish\n */\n FiLucene = \"fi.lucene\",\n /**\n * French\n */\n FrMicrosoft = \"fr.microsoft\",\n /**\n * French\n */\n FrLucene = \"fr.lucene\",\n /**\n * Galician\n */\n GlLucene = \"gl.lucene\",\n /**\n * German\n */\n DeMicrosoft = \"de.microsoft\",\n /**\n * German\n */\n DeLucene = \"de.lucene\",\n /**\n * Greek\n */\n ElMicrosoft = \"el.microsoft\",\n /**\n * Greek\n */\n ElLucene = \"el.lucene\",\n /**\n * Gujarati\n */\n GuMicrosoft = \"gu.microsoft\",\n /**\n * Hebrew\n */\n HeMicrosoft = \"he.microsoft\",\n /**\n * Hindi\n */\n HiMicrosoft = \"hi.microsoft\",\n /**\n * Hindi\n */\n HiLucene = \"hi.lucene\",\n /**\n * Hungarian\n */\n HuMicrosoft = \"hu.microsoft\",\n /**\n * Hungarian\n */\n HuLucene = \"hu.lucene\",\n /**\n * Icelandic\n */\n IsMicrosoft = \"is.microsoft\",\n /**\n * Indonesian (Bahasa)\n */\n IdMicrosoft = \"id.microsoft\",\n /**\n * Indonesian (Bahasa)\n */\n IdLucene = \"id.lucene\",\n /**\n * Irish\n */\n GaLucene = \"ga.lucene\",\n /**\n * Italian\n */\n ItMicrosoft = \"it.microsoft\",\n /**\n * Italian\n */\n ItLucene = \"it.lucene\",\n /**\n * Japanese\n */\n JaMicrosoft = \"ja.microsoft\",\n /**\n * Japanese\n */\n JaLucene = \"ja.lucene\",\n /**\n * Kannada\n */\n KnMicrosoft = \"kn.microsoft\",\n /**\n * Korean\n */\n KoMicrosoft = \"ko.microsoft\",\n /**\n * Korean\n */\n KoLucene = \"ko.lucene\",\n /**\n * Latvian\n */\n LvMicrosoft = \"lv.microsoft\",\n /**\n * Latvian\n */\n LvLucene = \"lv.lucene\",\n /**\n * Lithuanian\n */\n LtMicrosoft = \"lt.microsoft\",\n /**\n * Malayalam\n */\n MlMicrosoft = \"ml.microsoft\",\n /**\n * Malay (Latin)\n */\n MsMicrosoft = \"ms.microsoft\",\n /**\n * Marathi\n */\n MrMicrosoft = \"mr.microsoft\",\n /**\n * Norwegian\n */\n NbMicrosoft = \"nb.microsoft\",\n /**\n * Norwegian\n */\n NoLucene = \"no.lucene\",\n /**\n * Persian\n */\n FaLucene = \"fa.lucene\",\n /**\n * Polish\n */\n PlMicrosoft = \"pl.microsoft\",\n /**\n * Polish\n */\n PlLucene = \"pl.lucene\",\n /**\n * Portuguese (Brazil)\n */\n PtBRMicrosoft = \"pt-BR.microsoft\",\n /**\n * Portuguese (Brazil)\n */\n PtBRLucene = \"pt-BR.lucene\",\n /**\n * Portuguese (Portugal)\n */\n PtPTMicrosoft = \"pt-PT.microsoft\",\n /**\n * Portuguese (Portugal)\n */\n PtPTLucene = \"pt-PT.lucene\",\n /**\n * Punjabi\n */ PaMicrosoft = \"pa.microsoft\",\n /**\n * Romanian\n */\n RoMicrosoft = \"ro.microsoft\",\n /**\n * Romanian\n */\n RoLucene = \"ro.lucene\",\n /**\n * Russian\n */\n RuMicrosoft = \"ru.microsoft\",\n /**\n * Russian\n */\n RuLucene = \"ru.lucene\",\n /**\n * Serbian (Cyrillic)\n */\n SrCyrillicMicrosoft = \"sr-cyrillic.microsoft\",\n /**\n * Serbian (Latin)\n */\n SrLatinMicrosoft = \"sr-latin.microsoft\",\n /**\n * Slovak\n */\n SkMicrosoft = \"sk.microsoft\",\n /**\n * Slovenian\n */\n SlMicrosoft = \"sl.microsoft\",\n /**\n * Spanish\n */\n EsMicrosoft = \"es.microsoft\",\n /**\n * Spanish\n */\n EsLucene = \"es.lucene\",\n /**\n * Swedish\n */\n SvMicrosoft = \"sv.microsoft\",\n /**\n * Swedish\n */\n SvLucene = \"sv.lucene\",\n /**\n * Tamil\n */\n TaMicrosoft = \"ta.microsoft\",\n /**\n * Telugu\n */\n TeMicrosoft = \"te.microsoft\",\n /**\n * Thai\n */\n ThMicrosoft = \"th.microsoft\",\n /**\n * Thai\n */\n ThLucene = \"th.lucene\",\n /**\n * Turkish\n */\n TrMicrosoft = \"tr.microsoft\",\n /**\n * Turkish\n */\n TrLucene = \"tr.lucene\",\n /**\n * Ukrainian\n */\n UkMicrosoft = \"uk.microsoft\",\n /**\n * Urdu\n */\n UrMicrosoft = \"ur.microsoft\",\n /**\n * Vietnamese\n */\n ViMicrosoft = \"vi.microsoft\",\n /**\n * See: https://lucene.apache.org/core/6_6_1/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html\n */\n StandardLucene = \"standard.lucene\",\n /**\n * See https://lucene.apache.org/core/6_6_1/analyzers-common/org/apache/lucene/analysis/miscellaneous/ASCIIFoldingFilter.html\n */\n StandardAsciiFoldingLucene = \"standardasciifolding.lucene\",\n /**\n * Treats the entire content of a field as a single token. This is useful for data like zip codes, ids, and some product names.\n */\n Keyword = \"keyword\",\n /**\n * Flexibly separates text into terms via a regular expression pattern.\n */\n Pattern = \"pattern\",\n /**\n * Divides text at non-letters and converts them to lower case.\n */\n Simple = \"simple\",\n /**\n * Divides text at non-letters; Applies the lowercase and stopword token filters.\n */\n Stop = \"stop\",\n /**\n * An analyzer that uses the whitespace tokenizer.\n */\n Whitespace = \"whitespace\",\n}\n\n/**\n * Contains the possible cases for DataChangeDetectionPolicy.\n */\nexport type DataChangeDetectionPolicy =\n | HighWaterMarkChangeDetectionPolicy\n | SqlIntegratedChangeTrackingPolicy;\n\n/**\n * Contains the possible cases for DataDeletionDetectionPolicy.\n */\nexport type DataDeletionDetectionPolicy = SoftDeleteColumnDeletionDetectionPolicy;\n\n/**\n * Represents a datasource definition, which can be used to configure an indexer.\n */\nexport interface SearchIndexerDataSourceConnection {\n /**\n * The name of the datasource.\n */\n name: string;\n /**\n * The description of the datasource.\n */\n description?: string;\n /**\n * The type of the datasource. Possible values include: 'AzureSql', 'CosmosDb', 'AzureBlob',\n * 'AzureTable', 'MySql', 'AdlsGen2'\n */\n type: SearchIndexerDataSourceType;\n /**\n * The connection string for the datasource.\n */\n connectionString?: string;\n /**\n * The data container for the datasource.\n */\n container: SearchIndexerDataContainer;\n /**\n * The data change detection policy for the datasource.\n */\n dataChangeDetectionPolicy?: DataChangeDetectionPolicy | null;\n /**\n * The data deletion detection policy for the datasource.\n */\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicy | null;\n /**\n * The ETag of the DataSource.\n */\n etag?: string;\n /**\n * A description of an encryption key that you create in Azure Key Vault. This key is used to\n * provide an additional level of encryption-at-rest for your datasource definition when you want\n * full assurance that no one, not even Microsoft, can decrypt your data source definition in\n * Azure Cognitive Search. Once you have encrypted your data source definition, it will always\n * remain encrypted. Azure Cognitive Search will ignore attempts to set this property to null.\n * You can change this property as needed if you want to rotate your encryption key; Your\n * datasource definition will be unaffected. Encryption with customer-managed keys is not\n * available for free search services, and is only available for paid services created on or\n * after January 1, 2019.\n */\n encryptionKey?: SearchResourceEncryptionKey | null;\n}\n// END manually modified generated interfaces\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n BM25Similarity,\n ClassicSimilarity,\n CognitiveServicesAccountKey,\n CognitiveServicesAccountUnion,\n ConditionalSkill,\n CustomAnalyzer,\n CustomEntityLookupSkill,\n DataChangeDetectionPolicyUnion,\n DataDeletionDetectionPolicyUnion,\n DefaultCognitiveServicesAccount,\n DocumentExtractionSkill,\n EntityRecognitionSkill,\n PatternAnalyzer as GeneratedPatternAnalyzer,\n SearchField as GeneratedSearchField,\n SearchIndex as GeneratedSearchIndex,\n SearchIndexer as GeneratedSearchIndexer,\n SearchIndexerDataSource as GeneratedSearchIndexerDataSourceConnection,\n SearchIndexerSkillset as GeneratedSearchIndexerSkillset,\n SearchResourceEncryptionKey as GeneratedSearchResourceEncryptionKey,\n SynonymMap as GeneratedSynonymMap,\n HighWaterMarkChangeDetectionPolicy,\n ImageAnalysisSkill,\n KeyPhraseExtractionSkill,\n LanguageDetectionSkill,\n LexicalAnalyzerName,\n LexicalAnalyzerUnion,\n LexicalTokenizerUnion,\n LuceneStandardAnalyzer,\n MergeSkill,\n OcrSkill,\n PatternTokenizer,\n RegexFlags,\n SearchIndexerSkillUnion,\n SentimentSkill,\n ShaperSkill,\n SimilarityUnion,\n SoftDeleteColumnDeletionDetectionPolicy,\n SplitSkill,\n SqlIntegratedChangeTrackingPolicy,\n StopAnalyzer,\n TextTranslationSkill,\n TokenFilterUnion,\n WebApiSkill,\n} from \"./generated/service/models\";\nimport {\n CharFilter,\n CognitiveServicesAccount,\n ComplexField,\n DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy,\n LexicalAnalyzer,\n LexicalTokenizer,\n PatternAnalyzer,\n ScoringProfile,\n SearchField,\n SearchFieldDataType,\n SearchIndex,\n SearchIndexer,\n SearchIndexerDataSourceConnection,\n SearchIndexerSkill,\n SearchIndexerSkillset,\n SearchResourceEncryptionKey,\n SimilarityAlgorithm,\n SimpleField,\n SynonymMap,\n TokenFilter,\n isComplexField,\n} from \"./serviceModels\";\nimport { SearchResult, SuggestDocumentsResult, SuggestResult } from \"./indexModels\";\nimport {\n SearchResult as GeneratedSearchResult,\n SuggestDocumentsResult as GeneratedSuggestDocumentsResult,\n} from \"./generated/data/models\";\n\nexport function convertSkillsToPublic(skills: SearchIndexerSkillUnion[]): SearchIndexerSkill[] {\n if (!skills) {\n return skills;\n }\n\n const result: SearchIndexerSkill[] = [];\n for (const skill of skills) {\n switch (skill.odatatype) {\n case \"#Microsoft.Skills.Util.ConditionalSkill\":\n result.push(skill as ConditionalSkill);\n break;\n case \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\":\n result.push(skill as KeyPhraseExtractionSkill);\n break;\n case \"#Microsoft.Skills.Vision.OcrSkill\":\n result.push(skill as OcrSkill);\n break;\n case \"#Microsoft.Skills.Vision.ImageAnalysisSkill\":\n result.push(skill as ImageAnalysisSkill);\n break;\n case \"#Microsoft.Skills.Text.LanguageDetectionSkill\":\n result.push(skill as LanguageDetectionSkill);\n break;\n case \"#Microsoft.Skills.Util.ShaperSkill\":\n result.push(skill as ShaperSkill);\n break;\n case \"#Microsoft.Skills.Text.MergeSkill\":\n result.push(skill as MergeSkill);\n break;\n case \"#Microsoft.Skills.Text.EntityRecognitionSkill\":\n result.push(skill as EntityRecognitionSkill);\n break;\n case \"#Microsoft.Skills.Text.SentimentSkill\":\n result.push(skill as SentimentSkill);\n break;\n case \"#Microsoft.Skills.Text.SplitSkill\":\n result.push(skill as SplitSkill);\n break;\n case \"#Microsoft.Skills.Text.TranslationSkill\":\n result.push(skill as TextTranslationSkill);\n break;\n case \"#Microsoft.Skills.Custom.WebApiSkill\":\n result.push(skill as WebApiSkill);\n break;\n case \"#Microsoft.Skills.Text.CustomEntityLookupSkill\":\n result.push(skill as CustomEntityLookupSkill);\n break;\n case \"#Microsoft.Skills.Util.DocumentExtractionSkill\":\n result.push(skill as DocumentExtractionSkill);\n break;\n }\n }\n return result;\n}\n\nexport function convertCognitiveServicesAccountToGenerated(\n cognitiveServicesAccount?: CognitiveServicesAccount\n): CognitiveServicesAccountUnion | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n return cognitiveServicesAccount as CognitiveServicesAccountUnion;\n}\n\nexport function convertCognitiveServicesAccountToPublic(\n cognitiveServicesAccount?: CognitiveServicesAccountUnion\n): CognitiveServicesAccount | undefined {\n if (!cognitiveServicesAccount) {\n return cognitiveServicesAccount;\n }\n\n if (cognitiveServicesAccount.odatatype === \"#Microsoft.Azure.Search.DefaultCognitiveServices\") {\n return cognitiveServicesAccount as DefaultCognitiveServicesAccount;\n } else {\n return cognitiveServicesAccount as CognitiveServicesAccountKey;\n }\n}\n\nexport function convertTokenFiltersToGenerated(\n tokenFilters?: TokenFilter[]\n): TokenFilterUnion[] | undefined {\n if (!tokenFilters) {\n return tokenFilters;\n }\n\n const result: TokenFilterUnion[] = [];\n for (const filter of tokenFilters) {\n result.push(filter);\n }\n\n return result;\n}\n\nexport function convertAnalyzersToGenerated(\n analyzers?: LexicalAnalyzer[]\n): LexicalAnalyzerUnion[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzerUnion[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: analyzer.flags ? analyzer.flags.join(\"|\") : undefined,\n });\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: analyzer.tokenizerName,\n });\n break;\n }\n }\n return result;\n}\n\nexport function convertAnalyzersToPublic(\n analyzers?: LexicalAnalyzerUnion[]\n): LexicalAnalyzer[] | undefined {\n if (!analyzers) {\n return analyzers;\n }\n\n const result: LexicalAnalyzer[] = [];\n for (const analyzer of analyzers) {\n switch (analyzer.odatatype) {\n case \"#Microsoft.Azure.Search.StandardAnalyzer\":\n result.push(analyzer as LuceneStandardAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.StopAnalyzer\":\n result.push(analyzer as StopAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.PatternAnalyzer\":\n result.push({\n ...analyzer,\n flags: (analyzer as GeneratedPatternAnalyzer).flags\n ? ((analyzer as GeneratedPatternAnalyzer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n } as PatternAnalyzer);\n break;\n case \"#Microsoft.Azure.Search.CustomAnalyzer\":\n result.push({\n ...analyzer,\n tokenizerName: (analyzer as CustomAnalyzer).tokenizerName,\n } as CustomAnalyzer);\n break;\n }\n }\n return result;\n}\n\nexport function convertFieldsToPublic(fields: GeneratedSearchField[]): SearchField[] {\n if (!fields) {\n return fields;\n }\n\n return fields.map<SearchField>((field): SearchField => {\n if (field.type === \"Collection(Edm.ComplexType)\" || field.type === \"Edm.ComplexType\") {\n const result: ComplexField = {\n name: field.name,\n type: field.type,\n fields: convertFieldsToPublic(field.fields!),\n };\n return result;\n } else {\n const { synonymMaps, retrievable, ...restField } = field;\n\n const type: SearchFieldDataType = field.type as SearchFieldDataType;\n const hidden = typeof retrievable === \"boolean\" ? !retrievable : retrievable;\n const analyzerName = field.analyzer as LexicalAnalyzerName | undefined;\n const searchAnalyzerName = field.searchAnalyzer as LexicalAnalyzerName | undefined;\n const indexAnalyzerName = field.indexAnalyzer as LexicalAnalyzerName | undefined;\n\n const result: SimpleField = {\n ...restField,\n type,\n hidden,\n analyzerName,\n searchAnalyzerName,\n indexAnalyzerName,\n synonymMapNames: synonymMaps,\n };\n return result;\n }\n });\n}\n\nexport function convertFieldsToGenerated(fields: SearchField[]): GeneratedSearchField[] {\n return fields.map<GeneratedSearchField>((field) => {\n if (isComplexField(field)) {\n return {\n name: field.name,\n type: field.type,\n fields: convertFieldsToGenerated(field.fields),\n };\n } else {\n const { hidden, ...restField } = field;\n const retrievable = typeof hidden === \"boolean\" ? !hidden : hidden;\n return {\n ...restField,\n retrievable,\n // modify API defaults to use less storage for simple types\n searchable: field.searchable ?? false,\n filterable: field.filterable ?? false,\n facetable: field.facetable ?? false,\n sortable: field.sortable ?? false,\n analyzer: field.analyzerName,\n searchAnalyzer: field.searchAnalyzerName,\n indexAnalyzer: field.indexAnalyzerName,\n synonymMaps: field.synonymMapNames,\n };\n }\n });\n}\n\nexport function convertTokenizersToGenerated(\n tokenizers?: LexicalTokenizer[]\n): LexicalTokenizerUnion[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizerUnion[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: tokenizer.flags ? tokenizer.flags.join(\"|\") : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertTokenizersToPublic(\n tokenizers?: LexicalTokenizerUnion[]\n): LexicalTokenizer[] | undefined {\n if (!tokenizers) {\n return tokenizers;\n }\n\n const result: LexicalTokenizer[] = [];\n for (const tokenizer of tokenizers) {\n if (tokenizer.odatatype === \"#Microsoft.Azure.Search.PatternTokenizer\") {\n result.push({\n ...tokenizer,\n flags: (tokenizer as PatternTokenizer).flags\n ? ((tokenizer as PatternTokenizer).flags!.split(\"|\") as RegexFlags[])\n : undefined,\n });\n } else {\n result.push(tokenizer);\n }\n }\n return result;\n}\n\nexport function convertSimilarityToGenerated(\n similarity?: SimilarityAlgorithm\n): SimilarityUnion | undefined {\n if (!similarity) {\n return similarity;\n }\n\n return similarity as SimilarityUnion;\n}\n\nexport function convertSimilarityToPublic(\n similarity?: SimilarityUnion\n): SimilarityAlgorithm | undefined {\n if (!similarity) {\n return similarity;\n }\n\n if (similarity.odatatype === \"#Microsoft.Azure.Search.ClassicSimilarity\") {\n return similarity as ClassicSimilarity;\n } else {\n return similarity as BM25Similarity;\n }\n}\n\nexport function convertEncryptionKeyToPublic(\n encryptionKey?: GeneratedSearchResourceEncryptionKey | null\n): SearchResourceEncryptionKey | null | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: SearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUrl: encryptionKey.vaultUri,\n };\n\n if (encryptionKey.accessCredentials) {\n result.applicationId = encryptionKey.accessCredentials.applicationId;\n result.applicationSecret = encryptionKey.accessCredentials.applicationSecret;\n }\n\n return result;\n}\n\nexport function convertEncryptionKeyToGenerated(\n encryptionKey?: SearchResourceEncryptionKey | null\n): GeneratedSearchResourceEncryptionKey | null | undefined {\n if (!encryptionKey) {\n return encryptionKey;\n }\n\n const result: GeneratedSearchResourceEncryptionKey = {\n keyName: encryptionKey.keyName,\n keyVersion: encryptionKey.keyVersion,\n vaultUri: encryptionKey.vaultUrl,\n };\n\n if (encryptionKey.applicationId) {\n result.accessCredentials = {\n applicationId: encryptionKey.applicationId,\n applicationSecret: encryptionKey.applicationSecret,\n };\n }\n\n return result;\n}\n\nexport function generatedIndexToPublicIndex(generatedIndex: GeneratedSearchIndex): SearchIndex {\n return {\n name: generatedIndex.name,\n defaultScoringProfile: generatedIndex.defaultScoringProfile,\n corsOptions: generatedIndex.corsOptions,\n suggesters: generatedIndex.suggesters,\n encryptionKey: convertEncryptionKeyToPublic(generatedIndex.encryptionKey),\n etag: generatedIndex.etag,\n analyzers: convertAnalyzersToPublic(generatedIndex.analyzers),\n tokenizers: convertTokenizersToPublic(generatedIndex.tokenizers),\n tokenFilters: generatedIndex.tokenFilters as TokenFilter[],\n charFilters: generatedIndex.charFilters as CharFilter[],\n scoringProfiles: generatedIndex.scoringProfiles as ScoringProfile[],\n fields: convertFieldsToPublic(generatedIndex.fields),\n similarity: convertSimilarityToPublic(generatedIndex.similarity),\n };\n}\n\nexport function generatedSearchResultToPublicSearchResult<T>(\n results: GeneratedSearchResult[]\n): SearchResult<T>[] {\n const returnValues: SearchResult<T>[] = results.map<SearchResult<T>>((result) => {\n const { _score, _highlights, rerankerScore, captions, ...restProps } = result;\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n const obj = {\n score: _score,\n highlights: _highlights,\n rerankerScore,\n captions,\n document: doc,\n };\n return obj as unknown as SearchResult<T>;\n });\n return returnValues;\n}\n\nexport function generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<T>(\n searchDocumentsResult: GeneratedSuggestDocumentsResult\n): SuggestDocumentsResult<T> {\n const results = searchDocumentsResult.results.map<SuggestResult<T>>((element) => {\n const { _text, ...restProps } = element;\n\n const doc: { [key: string]: any } = {\n ...restProps,\n };\n\n const obj = {\n text: _text,\n document: doc,\n };\n\n return obj as SuggestResult<T>;\n });\n\n const result: SuggestDocumentsResult<T> = {\n results: results,\n coverage: searchDocumentsResult.coverage,\n };\n\n return result;\n}\n\nexport function publicIndexToGeneratedIndex(index: SearchIndex): GeneratedSearchIndex {\n const { encryptionKey, tokenFilters, analyzers, tokenizers, fields, similarity, ...props } =\n index;\n\n return {\n ...props,\n encryptionKey: convertEncryptionKeyToGenerated(encryptionKey),\n tokenFilters: convertTokenFiltersToGenerated(tokenFilters),\n analyzers: convertAnalyzersToGenerated(analyzers),\n tokenizers: convertTokenizersToGenerated(tokenizers),\n fields: convertFieldsToGenerated(fields),\n similarity: convertSimilarityToGenerated(similarity),\n };\n}\n\nexport function generatedSkillsetToPublicSkillset(\n generatedSkillset: GeneratedSearchIndexerSkillset\n): SearchIndexerSkillset {\n const { skills, cognitiveServicesAccount, encryptionKey, ...props } = generatedSkillset;\n\n return {\n ...props,\n skills: convertSkillsToPublic(skills),\n cognitiveServicesAccount: convertCognitiveServicesAccountToPublic(cognitiveServicesAccount),\n encryptionKey: convertEncryptionKeyToPublic(encryptionKey),\n };\n}\n\nexport function publicSkillsetToGeneratedSkillset(\n skillset: SearchIndexerSkillset\n): GeneratedSearchIndexerSkillset {\n return {\n name: skillset.name,\n description: skillset.description,\n etag: skillset.etag,\n skills: skillset.skills,\n cognitiveServicesAccount: convertCognitiveServicesAccountToGenerated(\n skillset.cognitiveServicesAccount\n ),\n knowledgeStore: skillset.knowledgeStore,\n encryptionKey: convertEncryptionKeyToGenerated(skillset.encryptionKey),\n };\n}\n\nexport function generatedSynonymMapToPublicSynonymMap(synonymMap: GeneratedSynonymMap): SynonymMap {\n const result: SynonymMap = {\n name: synonymMap.name,\n encryptionKey: convertEncryptionKeyToPublic(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: [],\n };\n\n if (synonymMap.synonyms) {\n result.synonyms = synonymMap.synonyms.split(\"\\n\");\n }\n\n return result;\n}\n\nexport function publicSynonymMapToGeneratedSynonymMap(synonymMap: SynonymMap): GeneratedSynonymMap {\n const result: GeneratedSynonymMap = {\n name: synonymMap.name,\n format: \"solr\",\n encryptionKey: convertEncryptionKeyToGenerated(synonymMap.encryptionKey),\n etag: synonymMap.etag,\n synonyms: synonymMap.synonyms.join(\"\\n\"),\n };\n\n result.encryptionKey = convertEncryptionKeyToGenerated(synonymMap.encryptionKey);\n\n return result;\n}\n\nexport function publicSearchIndexerToGeneratedSearchIndexer(\n indexer: SearchIndexer\n): GeneratedSearchIndexer {\n return {\n ...indexer,\n encryptionKey: convertEncryptionKeyToGenerated(indexer.encryptionKey),\n };\n}\n\nexport function generatedSearchIndexerToPublicSearchIndexer(\n indexer: GeneratedSearchIndexer\n): SearchIndexer {\n const { encryptionKey, ...props } = indexer;\n\n return {\n ...props,\n encryptionKey: convertEncryptionKeyToPublic(indexer.encryptionKey),\n };\n}\n\nexport function publicDataSourceToGeneratedDataSource(\n dataSource: SearchIndexerDataSourceConnection\n): GeneratedSearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.description,\n type: dataSource.type,\n credentials: {\n connectionString: dataSource.connectionString,\n },\n container: dataSource.container,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: dataSource.dataChangeDetectionPolicy,\n dataDeletionDetectionPolicy: dataSource.dataDeletionDetectionPolicy,\n encryptionKey: convertEncryptionKeyToGenerated(dataSource.encryptionKey),\n };\n}\n\nexport function generatedDataSourceToPublicDataSource(\n dataSource: GeneratedSearchIndexerDataSourceConnection\n): SearchIndexerDataSourceConnection {\n return {\n name: dataSource.name,\n description: dataSource.name,\n type: dataSource.type,\n connectionString: dataSource.credentials.connectionString,\n container: dataSource.container,\n etag: dataSource.etag,\n dataChangeDetectionPolicy: convertDataChangeDetectionPolicyToPublic(\n dataSource.dataChangeDetectionPolicy\n ),\n dataDeletionDetectionPolicy: convertDataDeletionDetectionPolicyToPublic(\n dataSource.dataDeletionDetectionPolicy\n ),\n encryptionKey: convertEncryptionKeyToPublic(dataSource.encryptionKey),\n };\n}\n\nexport function convertDataChangeDetectionPolicyToPublic(\n dataChangeDetectionPolicy?: DataChangeDetectionPolicyUnion | null\n): DataChangeDetectionPolicy | null | undefined {\n if (!dataChangeDetectionPolicy) {\n return dataChangeDetectionPolicy;\n }\n\n if (\n dataChangeDetectionPolicy.odatatype ===\n \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\"\n ) {\n return dataChangeDetectionPolicy as HighWaterMarkChangeDetectionPolicy;\n } else {\n return dataChangeDetectionPolicy as SqlIntegratedChangeTrackingPolicy;\n }\n}\n\nexport function convertDataDeletionDetectionPolicyToPublic(\n dataDeletionDetectionPolicy?: DataDeletionDetectionPolicyUnion | null\n): DataDeletionDetectionPolicy | null | undefined {\n if (!dataDeletionDetectionPolicy) {\n return dataDeletionDetectionPolicy;\n }\n\n return dataDeletionDetectionPolicy as SoftDeleteColumnDeletionDetectionPolicy;\n}\n\nexport function getRandomIntegerInclusive(min: number, max: number): number {\n // Make sure inputs are integers.\n min = Math.ceil(min);\n max = Math.floor(max);\n // Pick a random offset from zero to the size of the range.\n // Since Math.random() can never return 1, we have to make the range one larger\n // in order to be inclusive of the maximum value after we take the floor.\n const offset = Math.floor(Math.random() * (max - min + 1));\n return offset + min;\n}\n\n/**\n * A wrapper for setTimeout that resolves a promise after timeInMs milliseconds.\n * @param timeInMs - The number of milliseconds to be delayed.\n * @returns Promise that is resolved after timeInMs\n */\nexport function delay(timeInMs: number): Promise<void> {\n return new Promise((resolve) => setTimeout(() => resolve(), timeInMs));\n}\n\nexport const serviceVersions = [\"2020-06-30\"];\n\nexport const defaultServiceVersion = \"2020-06-30\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Known values for Search Audience\n */\nexport enum KnownSearchAudience {\n /**\n * Audience for Azure China\n */\n AzureChina = \"https://search.azure.cn\",\n /**\n * Audience for Azure Government\n */\n AzureGovernment = \"https://search.azure.us\",\n /**\n * Audience for Azure Public\n */\n AzurePublicCloud = \"https://search.azure.com\",\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nexport const SDK_VERSION: string = \"11.3.3\";\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { SearchClient as GeneratedClient } from \"./generated/data/searchClient\";\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport { logger } from \"./logger\";\nimport {\n AutocompleteRequest,\n AutocompleteResult,\n IndexDocumentsResult,\n SuggestRequest,\n SearchRequest as GeneratedSearchRequest,\n} from \"./generated/data/models\";\nimport { createSpan } from \"./tracing\";\nimport { deserialize, serialize } from \"./serialization\";\nimport {\n AutocompleteOptions,\n CountDocumentsOptions,\n DeleteDocumentsOptions,\n GetDocumentOptions,\n IndexDocumentsOptions,\n ListSearchResultsPageSettings,\n MergeDocumentsOptions,\n MergeOrUploadDocumentsOptions,\n SearchDocumentsPageResult,\n SearchDocumentsResult,\n SearchIterator,\n SearchOptions,\n SearchRequest,\n SearchResult,\n SuggestDocumentsResult,\n SuggestOptions,\n UploadDocumentsOptions,\n} from \"./indexModels\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch\";\nimport { decode, encode } from \"./base64\";\nimport * as utils from \"./serviceUtils\";\nimport { IndexDocumentsClient } from \"./searchIndexingBufferedSender\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class used to perform operations against a search index,\n * including querying documents in the index as well as\n * adding, updating, and removing them.\n */\nexport class SearchClient<TModel> implements IndexDocumentsClient<TModel> {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * The name of the index\n */\n public readonly indexName: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of SearchClient.\n *\n * Example usage:\n * ```ts\n * const { SearchClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchClient(\n * \"<endpoint>\",\n * \"<indexName>\",\n * new AzureKeyCredential(\"<Admin Key>\")\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param indexName - The name of the index\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search client.\n *\n * @typeParam TModel - An optional type that represents the documents stored in\n * the search index. For the best typing experience, all non-key fields should\n * be marked optional and nullable, and the key property should have the\n * non-nullable type `string`.\n */\n constructor(\n endpoint: string,\n indexName: string,\n credential: KeyCredential | TokenCredential,\n options: SearchClientOptions = {}\n ) {\n this.endpoint = endpoint;\n this.indexName = indexName;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...options.userAgentOptions,\n userAgentPrefix: options.userAgentOptions?.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.indexName,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = options.audience\n ? `${options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"none\"));\n }\n\n /**\n * Retrieves the number of documents in the index.\n * @param options - Options to the count operation.\n */\n public async getDocumentsCount(options: CountDocumentsOptions = {}): Promise<number> {\n const { span, updatedOptions } = createSpan(\"SearchClient-getDocumentsCount\", options);\n try {\n let documentsCount: number = 0;\n await this.client.documents.count({\n ...updatedOptions,\n onResponse: (rawResponse, flatResponse) => {\n documentsCount = Number(rawResponse.bodyAsText);\n if (updatedOptions.onResponse) {\n updatedOptions.onResponse(rawResponse, flatResponse);\n }\n },\n });\n\n return documentsCount;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Based on a partial searchText from the user, return a list\n * of potential completion strings based on a specified suggester.\n * @param searchText - The search text on which to base autocomplete results.\n * @param suggesterName - The name of the suggester as specified in the suggesters collection that's part of the index definition.\n * @param options - Options to the autocomplete operation.\n */\n public async autocomplete<TFields extends keyof TModel>(\n searchText: string,\n suggesterName: string,\n options: AutocompleteOptions<TFields> = {}\n ): Promise<AutocompleteResult> {\n const { searchFields, ...nonFieldOptions } = options;\n const fullOptions: AutocompleteRequest = {\n searchText: searchText,\n suggesterName: suggesterName,\n searchFields: this.convertSearchFields(searchFields as unknown as string[]),\n ...nonFieldOptions,\n };\n\n if (!fullOptions.searchText) {\n throw new RangeError(\"searchText must be provided.\");\n }\n\n if (!fullOptions.suggesterName) {\n throw new RangeError(\"suggesterName must be provided.\");\n }\n\n const { span, updatedOptions } = createSpan(\"SearchClient-autocomplete\", options);\n\n try {\n const result = await this.client.documents.autocompletePost(fullOptions, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async searchDocuments<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {},\n nextPageParameters: SearchRequest = {}\n ): Promise<SearchDocumentsPageResult<Pick<TModel, TFields>>> {\n const { searchFields, select, orderBy, includeTotalCount, ...restOptions } = options;\n const fullOptions: GeneratedSearchRequest = {\n ...restOptions,\n ...nextPageParameters,\n searchFields: this.convertSearchFields(searchFields as string[]),\n select: this.convertSelect<TFields>(select as TFields[]) || \"*\",\n orderBy: this.convertOrderBy(orderBy),\n includeTotalResultCount: includeTotalCount,\n };\n\n const { span, updatedOptions } = createSpan(\"SearchClient-searchDocuments\", options);\n\n try {\n const result = await this.client.documents.searchPost(\n {\n ...fullOptions,\n searchText: searchText,\n },\n updatedOptions\n );\n\n const {\n results,\n nextLink,\n nextPageParameters: resultNextPageParameters,\n ...restResult\n } = result;\n\n const modifiedResults = utils.generatedSearchResultToPublicSearchResult<TModel>(results);\n\n const converted: SearchDocumentsPageResult<Pick<TModel, TFields>> = {\n ...restResult,\n results: modifiedResults,\n continuationToken: this.encodeContinuationToken(nextLink, resultNextPageParameters),\n };\n\n return deserialize<SearchDocumentsPageResult<Pick<TModel, TFields>>>(converted);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listSearchResultsPage<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {},\n settings: ListSearchResultsPageSettings = {}\n ): AsyncIterableIterator<SearchDocumentsPageResult<Pick<TModel, TFields>>> {\n let decodedContinuation = this.decodeContinuationToken(settings.continuationToken);\n let result = await this.searchDocuments<TFields>(\n searchText,\n options,\n decodedContinuation?.nextPageParameters\n );\n\n yield result;\n\n // Technically, we should also leverage nextLink, but the generated code\n // doesn't support this yet.\n while (result.continuationToken) {\n decodedContinuation = this.decodeContinuationToken(result.continuationToken);\n result = await this.searchDocuments(\n searchText,\n options,\n decodedContinuation?.nextPageParameters\n );\n yield result;\n }\n }\n\n private async *listSearchResultsAll<TFields extends keyof TModel>(\n firstPage: SearchDocumentsPageResult<Pick<TModel, TFields>>,\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): AsyncIterableIterator<SearchResult<Pick<TModel, TFields>>> {\n yield* firstPage.results;\n if (firstPage.continuationToken) {\n for await (const page of this.listSearchResultsPage(searchText, options, {\n continuationToken: firstPage.continuationToken,\n })) {\n yield* page.results;\n }\n }\n }\n\n private listSearchResults<TFields extends keyof TModel>(\n firstPage: SearchDocumentsPageResult<Pick<TModel, TFields>>,\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): SearchIterator<Pick<TModel, TFields>> {\n const iter = this.listSearchResultsAll(firstPage, searchText, options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: ListSearchResultsPageSettings = {}) => {\n return this.listSearchResultsPage(searchText, options, settings);\n },\n };\n }\n\n /**\n * Performs a search on the current index given\n * the specified arguments.\n * @param searchText - Text to search\n * @param options - Options for the search operation.\n */\n public async search<TFields extends keyof TModel>(\n searchText?: string,\n options: SearchOptions<TFields> = {}\n ): Promise<SearchDocumentsResult<Pick<TModel, TFields>>> {\n const { span, updatedOptions } = createSpan(\"SearchClient-search\", options);\n\n try {\n const pageResult = await this.searchDocuments(searchText, updatedOptions);\n\n return {\n ...pageResult,\n results: this.listSearchResults(pageResult, searchText, updatedOptions),\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns a short list of suggestions based on the searchText\n * and specified suggester.\n * @param searchText - The search text to use to suggest documents. Must be at least 1 character, and no more than 100 characters.\n * @param suggesterName - The name of the suggester as specified in the suggesters collection that's part of the index definition.\n * @param options - Options for the suggest operation\n */\n public async suggest<TFields extends keyof TModel = never>(\n searchText: string,\n suggesterName: string,\n options: SuggestOptions<TFields> = {}\n ): Promise<SuggestDocumentsResult<Pick<TModel, TFields>>> {\n const { select, searchFields, orderBy, ...nonFieldOptions } = options;\n const fullOptions: SuggestRequest = {\n searchText: searchText,\n suggesterName: suggesterName,\n select: this.convertSelect<TFields>(select as TFields[]),\n searchFields: this.convertSearchFields(searchFields as string[]),\n orderBy: this.convertOrderBy(orderBy),\n ...nonFieldOptions,\n };\n\n if (!fullOptions.searchText) {\n throw new RangeError(\"searchText must be provided.\");\n }\n\n if (!fullOptions.suggesterName) {\n throw new RangeError(\"suggesterName must be provided.\");\n }\n\n const { span, updatedOptions } = createSpan(\"SearchClient-suggest\", options);\n\n try {\n const result = await this.client.documents.suggestPost(fullOptions, updatedOptions);\n\n const modifiedResult =\n utils.generatedSuggestDocumentsResultToPublicSuggestDocumentsResult<TModel>(result);\n\n return deserialize<SuggestDocumentsResult<Pick<TModel, TFields>>>(modifiedResult);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieve a particular document from the index by key.\n * @param key - The primary key value of the document\n * @param options - Additional options\n */\n public async getDocument<TFields extends Extract<keyof TModel, string>>(\n key: string,\n options: GetDocumentOptions<TFields> = {}\n ): Promise<TModel> {\n const { span, updatedOptions } = createSpan(\"SearchClient-getDocument\", options);\n try {\n const result = await this.client.documents.get(key, updatedOptions);\n return deserialize<TModel>(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n * This operation may partially succeed and not all document operations will\n * be reflected in the index. If you would like to treat this as an exception,\n * set the `throwOnAnyFailure` option to true.\n * For more details about how merging works, see: https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n public async indexDocuments(\n // eslint-disable-next-line @azure/azure-sdk/ts-use-interface-parameters\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-indexDocuments\", options);\n try {\n let status: number = 0;\n const result = await this.client.documents.index(\n { actions: serialize(batch.actions) },\n {\n ...updatedOptions,\n onResponse: (rawResponse, flatResponse) => {\n status = rawResponse.status;\n if (updatedOptions.onResponse) {\n updatedOptions.onResponse(rawResponse, flatResponse);\n }\n },\n }\n );\n if (options.throwOnAnyFailure && status === 207) {\n throw result;\n }\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Upload an array of documents to the index.\n * @param documents - The documents to upload.\n * @param options - Additional options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: UploadDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-uploadDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.upload(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Update a set of documents in the index.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n * @param options - Additional options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: MergeDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-mergeDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.merge(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Update a set of documents in the index or upload them if they don't exist.\n * For more details about how merging works, see https://docs.microsoft.com/en-us/rest/api/searchservice/AddUpdate-or-Delete-Documents\n * @param documents - The updated documents.\n * @param options - Additional options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: MergeOrUploadDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-mergeDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n batch.mergeOrUpload(documents);\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Delete a set of documents.\n * @param documents - Documents to be deleted.\n * @param options - Additional options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options?: DeleteDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n\n /**\n * Delete a set of documents.\n * @param keyName - The name of their primary key in the index.\n * @param keyValues - The primary key values of documents to delete.\n * @param options - Additional options.\n */\n public async deleteDocuments(\n keyName: keyof TModel,\n keyValues: string[],\n options?: DeleteDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n\n public async deleteDocuments(\n keyNameOrDocuments: keyof TModel | TModel[],\n keyValuesOrOptions?: string[] | DeleteDocumentsOptions,\n options: DeleteDocumentsOptions = {}\n ): Promise<IndexDocumentsResult> {\n const { span, updatedOptions } = createSpan(\"SearchClient-deleteDocuments\", options);\n\n const batch = new IndexDocumentsBatch<TModel>();\n if (typeof keyNameOrDocuments === \"string\") {\n batch.delete(keyNameOrDocuments, keyValuesOrOptions as string[]);\n } else {\n batch.delete(keyNameOrDocuments as TModel[]);\n }\n\n try {\n return await this.indexDocuments(batch, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private encodeContinuationToken(\n nextLink: string | undefined,\n nextPageParameters: SearchRequest | undefined\n ): string | undefined {\n if (!nextLink || !nextPageParameters) {\n return undefined;\n }\n const payload = JSON.stringify({\n apiVersion: this.apiVersion,\n nextLink,\n nextPageParameters,\n });\n return encode(payload);\n }\n\n private decodeContinuationToken(\n token?: string\n ): { nextPageParameters: SearchRequest; nextLink: string } | undefined {\n if (!token) {\n return undefined;\n }\n\n const decodedToken = decode(token);\n\n try {\n const result: {\n apiVersion: string;\n nextLink: string;\n nextPageParameters: SearchRequest;\n } = JSON.parse(decodedToken);\n\n if (result.apiVersion !== this.apiVersion) {\n throw new RangeError(`Continuation token uses unsupported apiVersion \"${this.apiVersion}\"`);\n }\n\n return {\n nextLink: result.nextLink,\n nextPageParameters: result.nextPageParameters,\n };\n } catch (e: any) {\n throw new Error(`Corrupted or invalid continuation token: ${decodedToken}`);\n }\n }\n\n private convertSelect<TFields>(select?: TFields[]): string | undefined {\n if (select) {\n return select.join(\",\");\n }\n return select;\n }\n\n private convertSearchFields(searchFields?: string[]): string | undefined {\n if (searchFields) {\n return searchFields.join(\",\");\n }\n return searchFields;\n }\n\n private convertOrderBy(orderBy?: string[]): string | undefined {\n if (orderBy) {\n return orderBy.join(\",\");\n }\n return orderBy;\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { IndexDocumentsBatch } from \"./indexDocumentsBatch\";\nimport {\n IndexDocumentsAction,\n IndexDocumentsOptions,\n SearchIndexingBufferedSenderDeleteDocumentsOptions,\n SearchIndexingBufferedSenderFlushDocumentsOptions,\n SearchIndexingBufferedSenderMergeDocumentsOptions,\n SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions,\n SearchIndexingBufferedSenderOptions,\n SearchIndexingBufferedSenderUploadDocumentsOptions,\n} from \"./indexModels\";\nimport { IndexDocumentsResult } from \"./generated/data/models\";\nimport { OperationOptions } from \"@azure/core-client\";\nimport EventEmitter from \"events\";\nimport { createSpan } from \"./tracing\";\nimport { delay } from \"./serviceUtils\";\nimport { getRandomIntegerInclusive } from \"./serviceUtils\";\nimport { RestError } from \"@azure/core-rest-pipeline\";\n\n/**\n * Index Documents Client\n */\nexport interface IndexDocumentsClient<TModel> {\n /**\n * Perform a set of index modifications (upload, merge, mergeOrUpload, delete)\n * for the given set of documents.\n *\n * @param batch - An array of actions to perform on the index.\n * @param options - Additional options.\n */\n indexDocuments(\n batch: IndexDocumentsBatch<TModel>,\n options: IndexDocumentsOptions\n ): Promise<IndexDocumentsResult>;\n}\n\n/**\n * Default Batch Size\n */\nexport const DEFAULT_BATCH_SIZE: number = 512;\n/**\n * Default window flush interval\n */\nexport const DEFAULT_FLUSH_WINDOW: number = 60000;\n/**\n * Default number of times to retry.\n */\nexport const DEFAULT_RETRY_COUNT: number = 3;\n/**\n * Default retry delay.\n */\nexport const DEFAULT_RETRY_DELAY: number = 800;\n/**\n * Default Max Delay between retries.\n */\nexport const DEFAULT_MAX_RETRY_DELAY: number = 60000;\n\n/**\n * Class used to perform buffered operations against a search index,\n * including adding, updating, and removing them.\n */\nexport class SearchIndexingBufferedSender<TModel> {\n /**\n * Search Client used to call the underlying IndexBatch operations.\n */\n private client: IndexDocumentsClient<TModel>;\n /**\n * Indicates if autoFlush is enabled.\n */\n private autoFlush: boolean;\n /**\n * Interval between flushes (in milliseconds).\n */\n private flushWindowInMs: number;\n /**\n * Delay between retries\n */\n private throttlingDelayInMs: number;\n /**\n * Maximum number of Retries\n */\n private maxRetriesPerAction: number;\n /**\n * Max Delay between retries\n */\n private maxThrottlingDelayInMs: number;\n /**\n * Size of the batch.\n */\n private initialBatchActionCount: number;\n /**\n * Batch object used to complete the service call.\n */\n private batchObject: IndexDocumentsBatch<TModel>;\n /**\n * Clean up for the timer\n */\n private cleanupTimer?: () => void;\n /**\n * Event emitter/publisher used in the Buffered Sender\n */\n private readonly emitter = new EventEmitter();\n /**\n * Method to retrieve the document key\n */\n private documentKeyRetriever: (document: TModel) => string;\n\n /**\n * Creates a new instance of SearchIndexingBufferedSender.\n *\n * @param client - Search Client used to call the underlying IndexBatch operations.\n * @param options - Options to modify auto flush.\n *\n */\n constructor(\n client: IndexDocumentsClient<TModel>,\n documentKeyRetriever: (document: TModel) => string,\n options: SearchIndexingBufferedSenderOptions = {}\n ) {\n this.client = client;\n this.documentKeyRetriever = documentKeyRetriever;\n // General Configuration properties\n this.autoFlush = options.autoFlush ?? true;\n this.initialBatchActionCount = options.initialBatchActionCount ?? DEFAULT_BATCH_SIZE;\n this.flushWindowInMs = options.flushWindowInMs ?? DEFAULT_FLUSH_WINDOW;\n // Retry specific configuration properties\n this.throttlingDelayInMs = options.throttlingDelayInMs ?? DEFAULT_FLUSH_WINDOW;\n this.maxRetriesPerAction = options.maxRetriesPerAction ?? DEFAULT_RETRY_COUNT;\n this.maxThrottlingDelayInMs = options.maxThrottlingDelayInMs ?? DEFAULT_MAX_RETRY_DELAY;\n\n this.batchObject = new IndexDocumentsBatch<TModel>();\n if (this.autoFlush) {\n const interval = setInterval(() => this.flush(), this.flushWindowInMs);\n interval?.unref();\n this.cleanupTimer = () => {\n clearInterval(interval);\n };\n }\n }\n\n /**\n * Uploads the documents/Adds the documents to the upload queue.\n *\n * @param documents - Documents to be uploaded.\n * @param options - Upload options.\n */\n public async uploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderUploadDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-uploadDocuments\",\n options\n );\n try {\n this.batchObject.upload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"upload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges the documents/Adds the documents to the merge queue.\n *\n * @param documents - Documents to be merged.\n * @param options - Upload options.\n */\n public async mergeDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeDocuments\",\n options\n );\n try {\n this.batchObject.merge(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"merge\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Merges/Uploads the documents/Adds the documents to the merge/upload queue.\n *\n * @param documents - Documents to be merged/uploaded.\n * @param options - Upload options.\n */\n public async mergeOrUploadDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderMergeOrUploadDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-mergeOrUploadDocuments\",\n options\n );\n try {\n this.batchObject.mergeOrUpload(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"mergeOrUpload\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes the documents/Adds the documents to the delete queue.\n *\n * @param documents - Documents to be deleted.\n * @param options - Upload options.\n */\n public async deleteDocuments(\n documents: TModel[],\n options: SearchIndexingBufferedSenderDeleteDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexingBufferedSender-deleteDocuments\",\n options\n );\n try {\n this.batchObject.delete(documents);\n this.emitter.emit(\"batchAdded\", {\n action: \"delete\",\n documents,\n });\n return this.internalFlush(false, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Flushes the queue manually.\n *\n * @param options - Flush options.\n */\n public async flush(\n options: SearchIndexingBufferedSenderFlushDocumentsOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexingBufferedSender-flush\", options);\n try {\n if (this.batchObject.actions.length > 0) {\n return this.internalFlush(true, updatedOptions);\n }\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * If using autoFlush: true, call this to cleanup the autoflush timer.\n */\n public async dispose(): Promise<void> {\n if (this.batchObject.actions.length > 0) {\n await this.internalFlush(true);\n }\n if (this.cleanupTimer) {\n this.cleanupTimer();\n }\n }\n\n /**\n * Attach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void\n ): void;\n /**\n * Attach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"beforeDocumentSent\", listener: (e: IndexDocumentsAction<TModel>) => void): void;\n /**\n * Attach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Attach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public on(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public on(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\" | \"batchResizing\",\n listener: (e: any) => void\n ): void {\n this.emitter.on(event, listener);\n }\n\n /**\n * Detach Batch Added Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"batchAdded\",\n listener: (e: { action: string; documents: TModel[] }) => void\n ): void;\n /**\n * Detach Batch Sent Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(\n event: \"beforeDocumentSent\",\n listener: (e: IndexDocumentsAction<TModel>) => void\n ): void;\n /**\n * Detach Batch Succeeded Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchSucceeded\", listener: (e: IndexDocumentsResult) => void): void;\n /**\n * Detach Batch Failed Event\n *\n * @param event - Event to be emitted\n * @param listener - Event Listener\n */\n public off(event: \"batchFailed\", listener: (e: RestError) => void): void;\n public off(\n event: \"batchAdded\" | \"beforeDocumentSent\" | \"batchSucceeded\" | \"batchFailed\",\n listener: (e: any) => void\n ): void {\n this.emitter.removeListener(event, listener);\n }\n\n private isBatchReady(): boolean {\n return this.batchObject.actions.length >= this.initialBatchActionCount;\n }\n\n private async internalFlush(force: boolean, options: OperationOptions = {}): Promise<void> {\n if (force || (this.autoFlush && this.isBatchReady())) {\n // Split it\n const actions: IndexDocumentsAction<TModel>[] = this.batchObject.actions;\n this.batchObject = new IndexDocumentsBatch<TModel>();\n while (actions.length > 0) {\n const actionsToSend = actions.splice(0, this.initialBatchActionCount);\n const { batchToSubmit, submitLater } = this.pruneActions(actionsToSend);\n actions.unshift(...submitLater);\n await this.submitDocuments(batchToSubmit, options);\n }\n }\n }\n\n private pruneActions(batch: IndexDocumentsAction<TModel>[]): {\n batchToSubmit: IndexDocumentsAction<TModel>[];\n submitLater: IndexDocumentsAction<TModel>[];\n } {\n const hashSet: Set<string> = new Set<string>();\n const resultBatch: IndexDocumentsAction<TModel>[] = [];\n const pruned: IndexDocumentsAction<TModel>[] = [];\n\n for (const document of batch) {\n const key = this.documentKeyRetriever(document as unknown as TModel);\n if (hashSet.has(key)) {\n pruned.push(document);\n } else {\n hashSet.add(key);\n resultBatch.push(document);\n }\n }\n return { batchToSubmit: resultBatch, submitLater: pruned };\n }\n\n private async submitDocuments(\n actionsToSend: IndexDocumentsAction<TModel>[],\n options: OperationOptions,\n retryAttempt: number = 1\n ): Promise<void> {\n try {\n for (const action of actionsToSend) {\n this.emitter.emit(\"beforeDocumentSent\", action);\n }\n const result = await this.client.indexDocuments(\n new IndexDocumentsBatch<TModel>(actionsToSend),\n options\n );\n // raise success event\n this.emitter.emit(\"batchSucceeded\", result);\n } catch (e: any) {\n if (e.statusCode && e.statusCode === 413 && actionsToSend.length > 1) {\n // Cut the payload size to half\n const splitActionsArray = [\n actionsToSend.slice(0, actionsToSend.length / 2),\n actionsToSend.slice(actionsToSend.length / 2, actionsToSend.length),\n ];\n this.initialBatchActionCount = splitActionsArray[0].length; // So, we do not want 413 happening again and again\n for (const actions of splitActionsArray) {\n await this.submitDocuments(actions, options);\n }\n } else if (this.isRetryAbleError(e) && retryAttempt <= this.maxRetriesPerAction) {\n // Exponentially increase the delay each time\n const exponentialDelay = this.throttlingDelayInMs * Math.pow(2, retryAttempt);\n // Don't let the delay exceed the maximum\n const clampedExponentialDelay = Math.min(this.maxThrottlingDelayInMs, exponentialDelay);\n // Allow the final value to have some \"jitter\" (within 50% of the delay size) so\n // that retries across multiple clients don't occur simultaneously.\n const delayWithJitter =\n clampedExponentialDelay / 2 + getRandomIntegerInclusive(0, clampedExponentialDelay / 2);\n await delay(delayWithJitter);\n await this.submitDocuments(actionsToSend, options, retryAttempt + 1);\n } else {\n this.emitter.emit(\"batchFailed\", e);\n throw e;\n }\n }\n }\n\n private isRetryAbleError(e: any): boolean {\n return e.statusCode && (e.statusCode === 422 || e.statusCode === 409 || e.statusCode === 503);\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\n\nexport const SearchIndexerDataSource: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataSource\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n credentials: {\n serializedName: \"credentials\",\n type: {\n name: \"Composite\",\n className: \"DataSourceCredentials\"\n }\n },\n container: {\n serializedName: \"container\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataContainer\"\n }\n },\n dataChangeDetectionPolicy: {\n serializedName: \"dataChangeDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"DataChangeDetectionPolicy\"\n }\n },\n dataDeletionDetectionPolicy: {\n serializedName: \"dataDeletionDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"DataDeletionDetectionPolicy\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const DataSourceCredentials: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataSourceCredentials\",\n modelProperties: {\n connectionString: {\n serializedName: \"connectionString\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerDataContainer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataContainer\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n query: {\n serializedName: \"query\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataChangeDetectionPolicy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataChangeDetectionPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DataDeletionDetectionPolicy: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DataDeletionDetectionPolicy\",\n uberParent: \"DataDeletionDetectionPolicy\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchResourceEncryptionKey: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\",\n modelProperties: {\n keyName: {\n serializedName: \"keyVaultKeyName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n keyVersion: {\n serializedName: \"keyVaultKeyVersion\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n vaultUri: {\n serializedName: \"keyVaultUri\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n accessCredentials: {\n serializedName: \"accessCredentials\",\n type: {\n name: \"Composite\",\n className: \"AzureActiveDirectoryApplicationCredentials\"\n }\n }\n }\n }\n};\n\nexport const AzureActiveDirectoryApplicationCredentials: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AzureActiveDirectoryApplicationCredentials\",\n modelProperties: {\n applicationId: {\n serializedName: \"applicationId\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n applicationSecret: {\n serializedName: \"applicationSecret\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchError\",\n modelProperties: {\n code: {\n serializedName: \"code\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchError\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ListDataSourcesResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListDataSourcesResult\",\n modelProperties: {\n dataSources: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerDataSource\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexer\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n dataSourceName: {\n serializedName: \"dataSourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skillsetName: {\n serializedName: \"skillsetName\",\n type: {\n name: \"String\"\n }\n },\n targetIndexName: {\n serializedName: \"targetIndexName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n schedule: {\n serializedName: \"schedule\",\n type: {\n name: \"Composite\",\n className: \"IndexingSchedule\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Composite\",\n className: \"IndexingParameters\"\n }\n },\n fieldMappings: {\n serializedName: \"fieldMappings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\"\n }\n }\n }\n },\n outputFieldMappings: {\n serializedName: \"outputFieldMappings\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\"\n }\n }\n }\n },\n isDisabled: {\n serializedName: \"disabled\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const IndexingSchedule: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingSchedule\",\n modelProperties: {\n interval: {\n serializedName: \"interval\",\n required: true,\n type: {\n name: \"TimeSpan\"\n }\n },\n startTime: {\n serializedName: \"startTime\",\n type: {\n name: \"DateTime\"\n }\n }\n }\n }\n};\n\nexport const IndexingParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingParameters\",\n modelProperties: {\n batchSize: {\n serializedName: \"batchSize\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFailedItems: {\n serializedName: \"maxFailedItems\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFailedItemsPerBatch: {\n serializedName: \"maxFailedItemsPerBatch\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n configuration: {\n serializedName: \"configuration\",\n type: {\n name: \"Composite\",\n className: \"IndexingParametersConfiguration\"\n }\n }\n }\n }\n};\n\nexport const IndexingParametersConfiguration: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexingParametersConfiguration\",\n additionalProperties: { type: { name: \"Object\" } },\n modelProperties: {\n parsingMode: {\n defaultValue: \"default\",\n serializedName: \"parsingMode\",\n type: {\n name: \"String\"\n }\n },\n excludedFileNameExtensions: {\n serializedName: \"excludedFileNameExtensions\",\n type: {\n name: \"String\"\n }\n },\n indexedFileNameExtensions: {\n serializedName: \"indexedFileNameExtensions\",\n type: {\n name: \"String\"\n }\n },\n failOnUnsupportedContentType: {\n serializedName: \"failOnUnsupportedContentType\",\n type: {\n name: \"Boolean\"\n }\n },\n failOnUnprocessableDocument: {\n serializedName: \"failOnUnprocessableDocument\",\n type: {\n name: \"Boolean\"\n }\n },\n indexStorageMetadataOnlyForOversizedDocuments: {\n serializedName: \"indexStorageMetadataOnlyForOversizedDocuments\",\n type: {\n name: \"Boolean\"\n }\n },\n delimitedTextHeaders: {\n serializedName: \"delimitedTextHeaders\",\n type: {\n name: \"String\"\n }\n },\n delimitedTextDelimiter: {\n serializedName: \"delimitedTextDelimiter\",\n type: {\n name: \"String\"\n }\n },\n firstLineContainsHeaders: {\n defaultValue: true,\n serializedName: \"firstLineContainsHeaders\",\n type: {\n name: \"Boolean\"\n }\n },\n documentRoot: {\n serializedName: \"documentRoot\",\n type: {\n name: \"String\"\n }\n },\n dataToExtract: {\n defaultValue: \"contentAndMetadata\",\n serializedName: \"dataToExtract\",\n type: {\n name: \"String\"\n }\n },\n imageAction: {\n defaultValue: \"none\",\n serializedName: \"imageAction\",\n type: {\n name: \"String\"\n }\n },\n allowSkillsetToReadFileData: {\n serializedName: \"allowSkillsetToReadFileData\",\n type: {\n name: \"Boolean\"\n }\n },\n pdfTextRotationAlgorithm: {\n defaultValue: \"none\",\n serializedName: \"pdfTextRotationAlgorithm\",\n type: {\n name: \"String\"\n }\n },\n executionEnvironment: {\n defaultValue: \"standard\",\n serializedName: \"executionEnvironment\",\n type: {\n name: \"String\"\n }\n },\n queryTimeout: {\n defaultValue: \"00:05:00\",\n serializedName: \"queryTimeout\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const FieldMapping: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FieldMapping\",\n modelProperties: {\n sourceFieldName: {\n serializedName: \"sourceFieldName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetFieldName: {\n serializedName: \"targetFieldName\",\n type: {\n name: \"String\"\n }\n },\n mappingFunction: {\n serializedName: \"mappingFunction\",\n type: {\n name: \"Composite\",\n className: \"FieldMappingFunction\"\n }\n }\n }\n }\n};\n\nexport const FieldMappingFunction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FieldMappingFunction\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n parameters: {\n serializedName: \"parameters\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const ListIndexersResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListIndexersResult\",\n modelProperties: {\n indexers: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexer\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerStatus: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerStatus\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"unknown\", \"error\", \"running\"]\n }\n },\n lastResult: {\n serializedName: \"lastResult\",\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\"\n }\n },\n executionHistory: {\n serializedName: \"executionHistory\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\"\n }\n }\n }\n },\n limits: {\n serializedName: \"limits\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerLimits\"\n }\n }\n }\n }\n};\n\nexport const IndexerExecutionResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"IndexerExecutionResult\",\n modelProperties: {\n status: {\n serializedName: \"status\",\n required: true,\n readOnly: true,\n type: {\n name: \"Enum\",\n allowedValues: [\"transientFailure\", \"success\", \"inProgress\", \"reset\"]\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n startTime: {\n serializedName: \"startTime\",\n readOnly: true,\n type: {\n name: \"DateTime\"\n }\n },\n endTime: {\n serializedName: \"endTime\",\n readOnly: true,\n nullable: true,\n type: {\n name: \"DateTime\"\n }\n },\n errors: {\n serializedName: \"errors\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerError\"\n }\n }\n }\n },\n warnings: {\n serializedName: \"warnings\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerWarning\"\n }\n }\n }\n },\n itemCount: {\n serializedName: \"itemsProcessed\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n failedItemCount: {\n serializedName: \"itemsFailed\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n initialTrackingState: {\n serializedName: \"initialTrackingState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n finalTrackingState: {\n serializedName: \"finalTrackingState\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerError: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerError\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n errorMessage: {\n serializedName: \"errorMessage\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n statusCode: {\n serializedName: \"statusCode\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n documentationLink: {\n serializedName: \"documentationLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerWarning: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerWarning\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n message: {\n serializedName: \"message\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n details: {\n serializedName: \"details\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n documentationLink: {\n serializedName: \"documentationLink\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerLimits: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerLimits\",\n modelProperties: {\n maxRunTime: {\n serializedName: \"maxRunTime\",\n readOnly: true,\n type: {\n name: \"TimeSpan\"\n }\n },\n maxDocumentExtractionSize: {\n serializedName: \"maxDocumentExtractionSize\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n maxDocumentContentCharactersToExtract: {\n serializedName: \"maxDocumentContentCharactersToExtract\",\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerSkillset: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkillset\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n skills: {\n serializedName: \"skills\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkill\"\n }\n }\n }\n },\n cognitiveServicesAccount: {\n serializedName: \"cognitiveServices\",\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccount\"\n }\n },\n knowledgeStore: {\n serializedName: \"knowledgeStore\",\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStore\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerSkill: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n },\n context: {\n serializedName: \"context\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n },\n outputs: {\n serializedName: \"outputs\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"OutputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const InputFieldMappingEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"source\",\n type: {\n name: \"String\"\n }\n },\n sourceContext: {\n serializedName: \"sourceContext\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const OutputFieldMappingEntry: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"OutputFieldMappingEntry\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n targetName: {\n serializedName: \"targetName\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CognitiveServicesAccount: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccount\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStore: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStore\",\n modelProperties: {\n storageConnectionString: {\n serializedName: \"storageConnectionString\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n projections: {\n serializedName: \"projections\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjection\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreProjection: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjection\",\n modelProperties: {\n tables: {\n serializedName: \"tables\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreTableProjectionSelector\"\n }\n }\n }\n },\n objects: {\n serializedName: \"objects\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreObjectProjectionSelector\"\n }\n }\n }\n },\n files: {\n serializedName: \"files\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreFileProjectionSelector\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreProjectionSelector\",\n modelProperties: {\n referenceKeyName: {\n serializedName: \"referenceKeyName\",\n type: {\n name: \"String\"\n }\n },\n generatedKeyName: {\n serializedName: \"generatedKeyName\",\n type: {\n name: \"String\"\n }\n },\n source: {\n serializedName: \"source\",\n type: {\n name: \"String\"\n }\n },\n sourceContext: {\n serializedName: \"sourceContext\",\n type: {\n name: \"String\"\n }\n },\n inputs: {\n serializedName: \"inputs\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"InputFieldMappingEntry\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ListSkillsetsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListSkillsetsResult\",\n modelProperties: {\n skillsets: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerSkillset\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SynonymMap: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SynonymMap\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n format: {\n defaultValue: \"solr\",\n isConstant: true,\n serializedName: \"format\",\n type: {\n name: \"String\"\n }\n },\n synonyms: {\n serializedName: \"synonyms\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ListSynonymMapsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListSynonymMapsResult\",\n modelProperties: {\n synonymMaps: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SynonymMap\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const SearchIndex: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndex\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n fields: {\n serializedName: \"fields\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchField\"\n }\n }\n }\n },\n scoringProfiles: {\n serializedName: \"scoringProfiles\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ScoringProfile\"\n }\n }\n }\n },\n defaultScoringProfile: {\n serializedName: \"defaultScoringProfile\",\n type: {\n name: \"String\"\n }\n },\n corsOptions: {\n serializedName: \"corsOptions\",\n type: {\n name: \"Composite\",\n className: \"CorsOptions\"\n }\n },\n suggesters: {\n serializedName: \"suggesters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Suggester\"\n }\n }\n }\n },\n analyzers: {\n serializedName: \"analyzers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LexicalAnalyzer\"\n }\n }\n }\n },\n tokenizers: {\n serializedName: \"tokenizers\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"LexicalTokenizer\"\n }\n }\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"TokenFilter\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CharFilter\"\n }\n }\n }\n },\n encryptionKey: {\n serializedName: \"encryptionKey\",\n type: {\n name: \"Composite\",\n className: \"SearchResourceEncryptionKey\"\n }\n },\n similarity: {\n serializedName: \"similarity\",\n type: {\n name: \"Composite\",\n className: \"Similarity\"\n }\n },\n etag: {\n serializedName: \"@odata\\\\.etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchField: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchField\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n key: {\n serializedName: \"key\",\n type: {\n name: \"Boolean\"\n }\n },\n retrievable: {\n serializedName: \"retrievable\",\n type: {\n name: \"Boolean\"\n }\n },\n searchable: {\n serializedName: \"searchable\",\n type: {\n name: \"Boolean\"\n }\n },\n filterable: {\n serializedName: \"filterable\",\n type: {\n name: \"Boolean\"\n }\n },\n sortable: {\n serializedName: \"sortable\",\n type: {\n name: \"Boolean\"\n }\n },\n facetable: {\n serializedName: \"facetable\",\n type: {\n name: \"Boolean\"\n }\n },\n analyzer: {\n serializedName: \"analyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n searchAnalyzer: {\n serializedName: \"searchAnalyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n indexAnalyzer: {\n serializedName: \"indexAnalyzer\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n synonymMaps: {\n serializedName: \"synonymMaps\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n fields: {\n serializedName: \"fields\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchField\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ScoringProfile: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ScoringProfile\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n textWeights: {\n serializedName: \"text\",\n type: {\n name: \"Composite\",\n className: \"TextWeights\"\n }\n },\n functions: {\n serializedName: \"functions\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"ScoringFunction\"\n }\n }\n }\n },\n functionAggregation: {\n serializedName: \"functionAggregation\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"sum\",\n \"average\",\n \"minimum\",\n \"maximum\",\n \"firstMatching\"\n ]\n }\n }\n }\n }\n};\n\nexport const TextWeights: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TextWeights\",\n modelProperties: {\n weights: {\n serializedName: \"weights\",\n required: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"Number\" } }\n }\n }\n }\n }\n};\n\nexport const ScoringFunction: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: {\n serializedName: \"type\",\n clientName: \"type\"\n },\n modelProperties: {\n type: {\n serializedName: \"type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n fieldName: {\n serializedName: \"fieldName\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boost: {\n serializedName: \"boost\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n interpolation: {\n serializedName: \"interpolation\",\n type: {\n name: \"Enum\",\n allowedValues: [\"linear\", \"constant\", \"quadratic\", \"logarithmic\"]\n }\n }\n }\n }\n};\n\nexport const CorsOptions: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CorsOptions\",\n modelProperties: {\n allowedOrigins: {\n serializedName: \"allowedOrigins\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n maxAgeInSeconds: {\n serializedName: \"maxAgeInSeconds\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const Suggester: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Suggester\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n searchMode: {\n defaultValue: \"analyzingInfixMatching\",\n isConstant: true,\n serializedName: \"searchMode\",\n type: {\n name: \"String\"\n }\n },\n sourceFields: {\n serializedName: \"sourceFields\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LexicalAnalyzer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LexicalAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LexicalTokenizer: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LexicalTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const TokenFilter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CharFilter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Similarity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Similarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: {\n serializedName: \"@odata\\\\.type\",\n clientName: \"odatatype\"\n },\n modelProperties: {\n odatatype: {\n serializedName: \"@odata\\\\.type\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ListIndexesResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ListIndexesResult\",\n modelProperties: {\n indexes: {\n serializedName: \"value\",\n required: true,\n readOnly: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"SearchIndex\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const GetIndexStatisticsResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"GetIndexStatisticsResult\",\n modelProperties: {\n documentCount: {\n serializedName: \"documentCount\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n storageSize: {\n serializedName: \"storageSize\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AnalyzeRequest: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeRequest\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n analyzer: {\n serializedName: \"analyzer\",\n type: {\n name: \"String\"\n }\n },\n tokenizer: {\n serializedName: \"tokenizer\",\n type: {\n name: \"String\"\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AnalyzeResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzeResult\",\n modelProperties: {\n tokens: {\n serializedName: \"tokens\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"AnalyzedTokenInfo\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const AnalyzedTokenInfo: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AnalyzedTokenInfo\",\n modelProperties: {\n token: {\n serializedName: \"token\",\n required: true,\n readOnly: true,\n type: {\n name: \"String\"\n }\n },\n startOffset: {\n serializedName: \"startOffset\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n endOffset: {\n serializedName: \"endOffset\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n },\n position: {\n serializedName: \"position\",\n required: true,\n readOnly: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ServiceStatistics: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceStatistics\",\n modelProperties: {\n counters: {\n serializedName: \"counters\",\n type: {\n name: \"Composite\",\n className: \"ServiceCounters\"\n }\n },\n limits: {\n serializedName: \"limits\",\n type: {\n name: \"Composite\",\n className: \"ServiceLimits\"\n }\n }\n }\n }\n};\n\nexport const ServiceCounters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceCounters\",\n modelProperties: {\n documentCounter: {\n serializedName: \"documentCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n indexCounter: {\n serializedName: \"indexesCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n indexerCounter: {\n serializedName: \"indexersCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n dataSourceCounter: {\n serializedName: \"dataSourcesCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n storageSizeCounter: {\n serializedName: \"storageSize\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n synonymMapCounter: {\n serializedName: \"synonymMaps\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n },\n skillsetCounter: {\n serializedName: \"skillsetCount\",\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\"\n }\n }\n }\n }\n};\n\nexport const ResourceCounter: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ResourceCounter\",\n modelProperties: {\n usage: {\n serializedName: \"usage\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n quota: {\n serializedName: \"quota\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const ServiceLimits: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ServiceLimits\",\n modelProperties: {\n maxFieldsPerIndex: {\n serializedName: \"maxFieldsPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxFieldNestingDepthPerIndex: {\n serializedName: \"maxFieldNestingDepthPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxComplexCollectionFieldsPerIndex: {\n serializedName: \"maxComplexCollectionFieldsPerIndex\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n maxComplexObjectsInCollectionsPerDocument: {\n serializedName: \"maxComplexObjectsInCollectionsPerDocument\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DistanceScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"DistanceScoringParameters\",\n modelProperties: {\n referencePointParameter: {\n serializedName: \"referencePointParameter\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n boostingDistance: {\n serializedName: \"boostingDistance\",\n required: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const FreshnessScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringParameters\",\n modelProperties: {\n boostingDuration: {\n serializedName: \"boostingDuration\",\n required: true,\n type: {\n name: \"TimeSpan\"\n }\n }\n }\n }\n};\n\nexport const MagnitudeScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringParameters\",\n modelProperties: {\n boostingRangeStart: {\n serializedName: \"boostingRangeStart\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n boostingRangeEnd: {\n serializedName: \"boostingRangeEnd\",\n required: true,\n type: {\n name: \"Number\"\n }\n },\n shouldBoostBeyondRangeByConstant: {\n serializedName: \"constantBoostBeyondRange\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TagScoringParameters: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"TagScoringParameters\",\n modelProperties: {\n tagsParameter: {\n serializedName: \"tagsParameter\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const CustomEntity: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomEntity\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n description: {\n serializedName: \"description\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n type: {\n serializedName: \"type\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n subtype: {\n serializedName: \"subtype\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n id: {\n serializedName: \"id\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n caseSensitive: {\n serializedName: \"caseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n accentSensitive: {\n serializedName: \"accentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n fuzzyEditDistance: {\n serializedName: \"fuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n defaultCaseSensitive: {\n serializedName: \"defaultCaseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n defaultAccentSensitive: {\n serializedName: \"defaultAccentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n defaultFuzzyEditDistance: {\n serializedName: \"defaultFuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n aliases: {\n serializedName: \"aliases\",\n nullable: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CustomEntityAlias\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const CustomEntityAlias: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"CustomEntityAlias\",\n modelProperties: {\n text: {\n serializedName: \"text\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n caseSensitive: {\n serializedName: \"caseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n accentSensitive: {\n serializedName: \"accentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n fuzzyEditDistance: {\n serializedName: \"fuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const HighWaterMarkChangeDetectionPolicy: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"HighWaterMarkChangeDetectionPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator:\n DataChangeDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataChangeDetectionPolicy.type.modelProperties,\n highWaterMarkColumnName: {\n serializedName: \"highWaterMarkColumnName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SqlIntegratedChangeTrackingPolicy: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy\",\n type: {\n name: \"Composite\",\n className: \"SqlIntegratedChangeTrackingPolicy\",\n uberParent: \"DataChangeDetectionPolicy\",\n polymorphicDiscriminator:\n DataChangeDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataChangeDetectionPolicy.type.modelProperties\n }\n }\n};\n\nexport const SoftDeleteColumnDeletionDetectionPolicy: coreClient.CompositeMapper = {\n serializedName:\n \"#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy\",\n type: {\n name: \"Composite\",\n className: \"SoftDeleteColumnDeletionDetectionPolicy\",\n uberParent: \"DataDeletionDetectionPolicy\",\n polymorphicDiscriminator:\n DataDeletionDetectionPolicy.type.polymorphicDiscriminator,\n modelProperties: {\n ...DataDeletionDetectionPolicy.type.modelProperties,\n softDeleteColumnName: {\n serializedName: \"softDeleteColumnName\",\n type: {\n name: \"String\"\n }\n },\n softDeleteMarkerValue: {\n serializedName: \"softDeleteMarkerValue\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ConditionalSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.ConditionalSkill\",\n type: {\n name: \"Composite\",\n className: \"ConditionalSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties\n }\n }\n};\n\nexport const KeyPhraseExtractionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.KeyPhraseExtractionSkill\",\n type: {\n name: \"Composite\",\n className: \"KeyPhraseExtractionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n maxKeyPhraseCount: {\n serializedName: \"maxKeyPhraseCount\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n modelVersion: {\n serializedName: \"modelVersion\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const OcrSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Vision.OcrSkill\",\n type: {\n name: \"Composite\",\n className: \"OcrSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n shouldDetectOrientation: {\n serializedName: \"detectOrientation\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ImageAnalysisSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Vision.ImageAnalysisSkill\",\n type: {\n name: \"Composite\",\n className: \"ImageAnalysisSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n visualFeatures: {\n serializedName: \"visualFeatures\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n details: {\n serializedName: \"details\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LanguageDetectionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.LanguageDetectionSkill\",\n type: {\n name: \"Composite\",\n className: \"LanguageDetectionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultCountryHint: {\n serializedName: \"defaultCountryHint\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n modelVersion: {\n serializedName: \"modelVersion\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ShaperSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.ShaperSkill\",\n type: {\n name: \"Composite\",\n className: \"ShaperSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties\n }\n }\n};\n\nexport const MergeSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.MergeSkill\",\n type: {\n name: \"Composite\",\n className: \"MergeSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n insertPreTag: {\n defaultValue: \" \",\n serializedName: \"insertPreTag\",\n type: {\n name: \"String\"\n }\n },\n insertPostTag: {\n defaultValue: \" \",\n serializedName: \"insertPostTag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const EntityRecognitionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.EntityRecognitionSkill\",\n type: {\n name: \"Composite\",\n className: \"EntityRecognitionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n categories: {\n serializedName: \"categories\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n includeTypelessEntities: {\n serializedName: \"includeTypelessEntities\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n minimumPrecision: {\n serializedName: \"minimumPrecision\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SentimentSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.SentimentSkill\",\n type: {\n name: \"Composite\",\n className: \"SentimentSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SplitSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.SplitSkill\",\n type: {\n name: \"Composite\",\n className: \"SplitSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n textSplitMode: {\n serializedName: \"textSplitMode\",\n type: {\n name: \"String\"\n }\n },\n maxPageLength: {\n serializedName: \"maximumPageLength\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const CustomEntityLookupSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.CustomEntityLookupSkill\",\n type: {\n name: \"Composite\",\n className: \"CustomEntityLookupSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultLanguageCode: {\n serializedName: \"defaultLanguageCode\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n entitiesDefinitionUri: {\n serializedName: \"entitiesDefinitionUri\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n inlineEntitiesDefinition: {\n serializedName: \"inlineEntitiesDefinition\",\n nullable: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"CustomEntity\"\n }\n }\n }\n },\n globalDefaultCaseSensitive: {\n serializedName: \"globalDefaultCaseSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n globalDefaultAccentSensitive: {\n serializedName: \"globalDefaultAccentSensitive\",\n nullable: true,\n type: {\n name: \"Boolean\"\n }\n },\n globalDefaultFuzzyEditDistance: {\n serializedName: \"globalDefaultFuzzyEditDistance\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const TextTranslationSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Text.TranslationSkill\",\n type: {\n name: \"Composite\",\n className: \"TextTranslationSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n defaultToLanguageCode: {\n serializedName: \"defaultToLanguageCode\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n defaultFromLanguageCode: {\n serializedName: \"defaultFromLanguageCode\",\n type: {\n name: \"String\"\n }\n },\n suggestedFrom: {\n serializedName: \"suggestedFrom\",\n nullable: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DocumentExtractionSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Util.DocumentExtractionSkill\",\n type: {\n name: \"Composite\",\n className: \"DocumentExtractionSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n parsingMode: {\n serializedName: \"parsingMode\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n dataToExtract: {\n serializedName: \"dataToExtract\",\n nullable: true,\n type: {\n name: \"String\"\n }\n },\n configuration: {\n serializedName: \"configuration\",\n nullable: true,\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"any\" } }\n }\n }\n }\n }\n};\n\nexport const WebApiSkill: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Skills.Custom.WebApiSkill\",\n type: {\n name: \"Composite\",\n className: \"WebApiSkill\",\n uberParent: \"SearchIndexerSkill\",\n polymorphicDiscriminator: SearchIndexerSkill.type.polymorphicDiscriminator,\n modelProperties: {\n ...SearchIndexerSkill.type.modelProperties,\n uri: {\n serializedName: \"uri\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n httpHeaders: {\n serializedName: \"httpHeaders\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n httpMethod: {\n serializedName: \"httpMethod\",\n type: {\n name: \"String\"\n }\n },\n timeout: {\n serializedName: \"timeout\",\n type: {\n name: \"TimeSpan\"\n }\n },\n batchSize: {\n serializedName: \"batchSize\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n degreeOfParallelism: {\n serializedName: \"degreeOfParallelism\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const DefaultCognitiveServicesAccount: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.DefaultCognitiveServices\",\n type: {\n name: \"Composite\",\n className: \"DefaultCognitiveServicesAccount\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator:\n CognitiveServicesAccount.type.polymorphicDiscriminator,\n modelProperties: {\n ...CognitiveServicesAccount.type.modelProperties\n }\n }\n};\n\nexport const CognitiveServicesAccountKey: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CognitiveServicesByKey\",\n type: {\n name: \"Composite\",\n className: \"CognitiveServicesAccountKey\",\n uberParent: \"CognitiveServicesAccount\",\n polymorphicDiscriminator:\n CognitiveServicesAccount.type.polymorphicDiscriminator,\n modelProperties: {\n ...CognitiveServicesAccount.type.modelProperties,\n key: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreTableProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreTableProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreProjectionSelector.type.modelProperties,\n tableName: {\n serializedName: \"tableName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreBlobProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreBlobProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreProjectionSelector.type.modelProperties,\n storageContainer: {\n serializedName: \"storageContainer\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const DistanceScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"distance\",\n type: {\n name: \"Composite\",\n className: \"DistanceScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"distance\",\n type: {\n name: \"Composite\",\n className: \"DistanceScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const FreshnessScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"freshness\",\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"freshness\",\n type: {\n name: \"Composite\",\n className: \"FreshnessScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const MagnitudeScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"magnitude\",\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"magnitude\",\n type: {\n name: \"Composite\",\n className: \"MagnitudeScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const TagScoringFunction: coreClient.CompositeMapper = {\n serializedName: \"tag\",\n type: {\n name: \"Composite\",\n className: \"TagScoringFunction\",\n uberParent: \"ScoringFunction\",\n polymorphicDiscriminator: ScoringFunction.type.polymorphicDiscriminator,\n modelProperties: {\n ...ScoringFunction.type.modelProperties,\n parameters: {\n serializedName: \"tag\",\n type: {\n name: \"Composite\",\n className: \"TagScoringParameters\"\n }\n }\n }\n }\n};\n\nexport const CustomAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CustomAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"CustomAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n tokenizerName: {\n serializedName: \"tokenizer\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n tokenFilters: {\n serializedName: \"tokenFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n charFilters: {\n serializedName: \"charFilters\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatternAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"PatternAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n lowerCaseTerms: {\n defaultValue: true,\n serializedName: \"lowercase\",\n type: {\n name: \"Boolean\"\n }\n },\n pattern: {\n defaultValue: \"W+\",\n serializedName: \"pattern\",\n type: {\n name: \"String\"\n }\n },\n flags: {\n serializedName: \"flags\",\n type: {\n name: \"String\"\n }\n },\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const LuceneStandardAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const StopAnalyzer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StopAnalyzer\",\n type: {\n name: \"Composite\",\n className: \"StopAnalyzer\",\n uberParent: \"LexicalAnalyzer\",\n polymorphicDiscriminator: LexicalAnalyzer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalAnalyzer.type.modelProperties,\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const ClassicTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ClassicTokenizer\",\n type: {\n name: \"Composite\",\n className: \"ClassicTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenizer\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n tokenChars: {\n serializedName: \"tokenChars\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\n \"letter\",\n \"digit\",\n \"whitespace\",\n \"punctuation\",\n \"symbol\"\n ]\n }\n }\n }\n }\n }\n }\n};\n\nexport const KeywordTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordTokenizer\",\n type: {\n name: \"Composite\",\n className: \"KeywordTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n bufferSize: {\n defaultValue: 256,\n serializedName: \"bufferSize\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const KeywordTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"KeywordTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 256,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const MicrosoftLanguageTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MicrosoftLanguageTokenizer\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftLanguageTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n isSearchTokenizer: {\n serializedName: \"isSearchTokenizer\",\n type: {\n name: \"Boolean\"\n }\n },\n language: {\n serializedName: \"language\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"bangla\",\n \"bulgarian\",\n \"catalan\",\n \"chineseSimplified\",\n \"chineseTraditional\",\n \"croatian\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"french\",\n \"german\",\n \"greek\",\n \"gujarati\",\n \"hindi\",\n \"icelandic\",\n \"indonesian\",\n \"italian\",\n \"japanese\",\n \"kannada\",\n \"korean\",\n \"malay\",\n \"malayalam\",\n \"marathi\",\n \"norwegianBokmaal\",\n \"polish\",\n \"portuguese\",\n \"portugueseBrazilian\",\n \"punjabi\",\n \"romanian\",\n \"russian\",\n \"serbianCyrillic\",\n \"serbianLatin\",\n \"slovenian\",\n \"spanish\",\n \"swedish\",\n \"tamil\",\n \"telugu\",\n \"thai\",\n \"ukrainian\",\n \"urdu\",\n \"vietnamese\"\n ]\n }\n }\n }\n }\n};\n\nexport const MicrosoftLanguageStemmingTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer\",\n type: {\n name: \"Composite\",\n className: \"MicrosoftLanguageStemmingTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n isSearchTokenizer: {\n serializedName: \"isSearchTokenizer\",\n type: {\n name: \"Boolean\"\n }\n },\n language: {\n serializedName: \"language\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"bangla\",\n \"bulgarian\",\n \"catalan\",\n \"croatian\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"estonian\",\n \"finnish\",\n \"french\",\n \"german\",\n \"greek\",\n \"gujarati\",\n \"hebrew\",\n \"hindi\",\n \"hungarian\",\n \"icelandic\",\n \"indonesian\",\n \"italian\",\n \"kannada\",\n \"latvian\",\n \"lithuanian\",\n \"malay\",\n \"malayalam\",\n \"marathi\",\n \"norwegianBokmaal\",\n \"polish\",\n \"portuguese\",\n \"portugueseBrazilian\",\n \"punjabi\",\n \"romanian\",\n \"russian\",\n \"serbianCyrillic\",\n \"serbianLatin\",\n \"slovak\",\n \"slovenian\",\n \"spanish\",\n \"swedish\",\n \"tamil\",\n \"telugu\",\n \"turkish\",\n \"ukrainian\",\n \"urdu\"\n ]\n }\n }\n }\n }\n};\n\nexport const NGramTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenizer\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n tokenChars: {\n serializedName: \"tokenChars\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\n \"letter\",\n \"digit\",\n \"whitespace\",\n \"punctuation\",\n \"symbol\"\n ]\n }\n }\n }\n }\n }\n }\n};\n\nexport const PathHierarchyTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PathHierarchyTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"PathHierarchyTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n delimiter: {\n defaultValue: \"/\",\n serializedName: \"delimiter\",\n type: {\n name: \"String\"\n }\n },\n replacement: {\n defaultValue: \"/\",\n serializedName: \"replacement\",\n type: {\n name: \"String\"\n }\n },\n maxTokenLength: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n },\n reverseTokenOrder: {\n serializedName: \"reverse\",\n type: {\n name: \"Boolean\"\n }\n },\n numberOfTokensToSkip: {\n serializedName: \"skip\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PatternTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternTokenizer\",\n type: {\n name: \"Composite\",\n className: \"PatternTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n pattern: {\n defaultValue: \"W+\",\n serializedName: \"pattern\",\n type: {\n name: \"String\"\n }\n },\n flags: {\n serializedName: \"flags\",\n type: {\n name: \"String\"\n }\n },\n group: {\n defaultValue: -1,\n serializedName: \"group\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LuceneStandardTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardTokenizer\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LuceneStandardTokenizerV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StandardTokenizerV2\",\n type: {\n name: \"Composite\",\n className: \"LuceneStandardTokenizerV2\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const UaxUrlEmailTokenizer: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.UaxUrlEmailTokenizer\",\n type: {\n name: \"Composite\",\n className: \"UaxUrlEmailTokenizer\",\n uberParent: \"LexicalTokenizer\",\n polymorphicDiscriminator: LexicalTokenizer.type.polymorphicDiscriminator,\n modelProperties: {\n ...LexicalTokenizer.type.modelProperties,\n maxTokenLength: {\n defaultValue: 255,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxTokenLength\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const AsciiFoldingTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.AsciiFoldingTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"AsciiFoldingTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n preserveOriginal: {\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CjkBigramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CjkBigramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"CjkBigramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n ignoreScripts: {\n serializedName: \"ignoreScripts\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Enum\",\n allowedValues: [\"han\", \"hiragana\", \"katakana\", \"hangul\"]\n }\n }\n }\n },\n outputUnigrams: {\n serializedName: \"outputUnigrams\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const CommonGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.CommonGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"CommonGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n commonWords: {\n serializedName: \"commonWords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n useQueryMode: {\n serializedName: \"queryMode\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const DictionaryDecompounderTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"DictionaryDecompounderTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n wordList: {\n serializedName: \"wordList\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n minWordSize: {\n defaultValue: 5,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minWordSize\",\n type: {\n name: \"Number\"\n }\n },\n minSubwordSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minSubwordSize\",\n type: {\n name: \"Number\"\n }\n },\n maxSubwordSize: {\n defaultValue: 15,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxSubwordSize\",\n type: {\n name: \"Number\"\n }\n },\n onlyLongestMatch: {\n serializedName: \"onlyLongestMatch\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n side: {\n serializedName: \"side\",\n type: {\n name: \"Enum\",\n allowedValues: [\"front\", \"back\"]\n }\n }\n }\n }\n};\n\nexport const EdgeNGramTokenFilterV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\",\n type: {\n name: \"Composite\",\n className: \"EdgeNGramTokenFilterV2\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n },\n side: {\n serializedName: \"side\",\n type: {\n name: \"Enum\",\n allowedValues: [\"front\", \"back\"]\n }\n }\n }\n }\n};\n\nexport const ElisionTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ElisionTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"ElisionTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n articles: {\n serializedName: \"articles\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const KeepTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeepTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"KeepTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n keepWords: {\n serializedName: \"keepWords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n lowerCaseKeepWords: {\n serializedName: \"keepWordsCase\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const KeywordMarkerTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.KeywordMarkerTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"KeywordMarkerTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n keywords: {\n serializedName: \"keywords\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const LengthTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.LengthTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"LengthTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minLength: {\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"min\",\n type: {\n name: \"Number\"\n }\n },\n maxLength: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"max\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const LimitTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.LimitTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"LimitTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n maxTokenCount: {\n defaultValue: 1,\n serializedName: \"maxTokenCount\",\n type: {\n name: \"Number\"\n }\n },\n consumeAllTokens: {\n serializedName: \"consumeAllTokens\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const NGramTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const NGramTokenFilterV2: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.NGramTokenFilterV2\",\n type: {\n name: \"Composite\",\n className: \"NGramTokenFilterV2\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n minGram: {\n defaultValue: 1,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"minGram\",\n type: {\n name: \"Number\"\n }\n },\n maxGram: {\n defaultValue: 2,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"maxGram\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const PatternCaptureTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternCaptureTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternCaptureTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n patterns: {\n serializedName: \"patterns\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n preserveOriginal: {\n defaultValue: true,\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const PatternReplaceTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternReplaceTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternReplaceTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n pattern: {\n serializedName: \"pattern\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n replacement: {\n serializedName: \"replacement\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const PhoneticTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PhoneticTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"PhoneticTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n encoder: {\n serializedName: \"encoder\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"metaphone\",\n \"doubleMetaphone\",\n \"soundex\",\n \"refinedSoundex\",\n \"caverphone1\",\n \"caverphone2\",\n \"cologne\",\n \"nysiis\",\n \"koelnerPhonetik\",\n \"haasePhonetik\",\n \"beiderMorse\"\n ]\n }\n },\n replaceOriginalTokens: {\n defaultValue: true,\n serializedName: \"replace\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const ShingleTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ShingleTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"ShingleTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n maxShingleSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMinimum: 2\n },\n serializedName: \"maxShingleSize\",\n type: {\n name: \"Number\"\n }\n },\n minShingleSize: {\n defaultValue: 2,\n constraints: {\n InclusiveMinimum: 2\n },\n serializedName: \"minShingleSize\",\n type: {\n name: \"Number\"\n }\n },\n outputUnigrams: {\n defaultValue: true,\n serializedName: \"outputUnigrams\",\n type: {\n name: \"Boolean\"\n }\n },\n outputUnigramsIfNoShingles: {\n serializedName: \"outputUnigramsIfNoShingles\",\n type: {\n name: \"Boolean\"\n }\n },\n tokenSeparator: {\n defaultValue: \" \",\n serializedName: \"tokenSeparator\",\n type: {\n name: \"String\"\n }\n },\n filterToken: {\n defaultValue: \"_\",\n serializedName: \"filterToken\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const SnowballTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SnowballTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"SnowballTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n language: {\n serializedName: \"language\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"armenian\",\n \"basque\",\n \"catalan\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"finnish\",\n \"french\",\n \"german\",\n \"german2\",\n \"hungarian\",\n \"italian\",\n \"kp\",\n \"lovins\",\n \"norwegian\",\n \"porter\",\n \"portuguese\",\n \"romanian\",\n \"russian\",\n \"spanish\",\n \"swedish\",\n \"turkish\"\n ]\n }\n }\n }\n }\n};\n\nexport const StemmerTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StemmerTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StemmerTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n language: {\n serializedName: \"language\",\n required: true,\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"armenian\",\n \"basque\",\n \"brazilian\",\n \"bulgarian\",\n \"catalan\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"dutchKp\",\n \"english\",\n \"lightEnglish\",\n \"minimalEnglish\",\n \"possessiveEnglish\",\n \"porter2\",\n \"lovins\",\n \"finnish\",\n \"lightFinnish\",\n \"french\",\n \"lightFrench\",\n \"minimalFrench\",\n \"galician\",\n \"minimalGalician\",\n \"german\",\n \"german2\",\n \"lightGerman\",\n \"minimalGerman\",\n \"greek\",\n \"hindi\",\n \"hungarian\",\n \"lightHungarian\",\n \"indonesian\",\n \"irish\",\n \"italian\",\n \"lightItalian\",\n \"sorani\",\n \"latvian\",\n \"norwegian\",\n \"lightNorwegian\",\n \"minimalNorwegian\",\n \"lightNynorsk\",\n \"minimalNynorsk\",\n \"portuguese\",\n \"lightPortuguese\",\n \"minimalPortuguese\",\n \"portugueseRslp\",\n \"romanian\",\n \"russian\",\n \"lightRussian\",\n \"spanish\",\n \"lightSpanish\",\n \"swedish\",\n \"lightSwedish\",\n \"turkish\"\n ]\n }\n }\n }\n }\n};\n\nexport const StemmerOverrideTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StemmerOverrideTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StemmerOverrideTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n rules: {\n serializedName: \"rules\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const StopwordsTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.StopwordsTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"StopwordsTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n stopwords: {\n serializedName: \"stopwords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n stopwordsList: {\n serializedName: \"stopwordsList\",\n type: {\n name: \"Enum\",\n allowedValues: [\n \"arabic\",\n \"armenian\",\n \"basque\",\n \"brazilian\",\n \"bulgarian\",\n \"catalan\",\n \"czech\",\n \"danish\",\n \"dutch\",\n \"english\",\n \"finnish\",\n \"french\",\n \"galician\",\n \"german\",\n \"greek\",\n \"hindi\",\n \"hungarian\",\n \"indonesian\",\n \"irish\",\n \"italian\",\n \"latvian\",\n \"norwegian\",\n \"persian\",\n \"portuguese\",\n \"romanian\",\n \"russian\",\n \"sorani\",\n \"spanish\",\n \"swedish\",\n \"thai\",\n \"turkish\"\n ]\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n removeTrailingStopWords: {\n defaultValue: true,\n serializedName: \"removeTrailing\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const SynonymTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.SynonymTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"SynonymTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n synonyms: {\n serializedName: \"synonyms\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n ignoreCase: {\n serializedName: \"ignoreCase\",\n type: {\n name: \"Boolean\"\n }\n },\n expand: {\n defaultValue: true,\n serializedName: \"expand\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const TruncateTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.TruncateTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"TruncateTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n length: {\n defaultValue: 300,\n constraints: {\n InclusiveMaximum: 300\n },\n serializedName: \"length\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const UniqueTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.UniqueTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"UniqueTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n onlyOnSamePosition: {\n serializedName: \"onlyOnSamePosition\",\n type: {\n name: \"Boolean\"\n }\n }\n }\n }\n};\n\nexport const WordDelimiterTokenFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.WordDelimiterTokenFilter\",\n type: {\n name: \"Composite\",\n className: \"WordDelimiterTokenFilter\",\n uberParent: \"TokenFilter\",\n polymorphicDiscriminator: TokenFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...TokenFilter.type.modelProperties,\n generateWordParts: {\n defaultValue: true,\n serializedName: \"generateWordParts\",\n type: {\n name: \"Boolean\"\n }\n },\n generateNumberParts: {\n defaultValue: true,\n serializedName: \"generateNumberParts\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateWords: {\n serializedName: \"catenateWords\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateNumbers: {\n serializedName: \"catenateNumbers\",\n type: {\n name: \"Boolean\"\n }\n },\n catenateAll: {\n serializedName: \"catenateAll\",\n type: {\n name: \"Boolean\"\n }\n },\n splitOnCaseChange: {\n defaultValue: true,\n serializedName: \"splitOnCaseChange\",\n type: {\n name: \"Boolean\"\n }\n },\n preserveOriginal: {\n serializedName: \"preserveOriginal\",\n type: {\n name: \"Boolean\"\n }\n },\n splitOnNumerics: {\n defaultValue: true,\n serializedName: \"splitOnNumerics\",\n type: {\n name: \"Boolean\"\n }\n },\n stemEnglishPossessive: {\n defaultValue: true,\n serializedName: \"stemEnglishPossessive\",\n type: {\n name: \"Boolean\"\n }\n },\n protectedWords: {\n serializedName: \"protectedWords\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const MappingCharFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.MappingCharFilter\",\n type: {\n name: \"Composite\",\n className: \"MappingCharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: CharFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...CharFilter.type.modelProperties,\n mappings: {\n serializedName: \"mappings\",\n required: true,\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n }\n }\n }\n};\n\nexport const PatternReplaceCharFilter: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.PatternReplaceCharFilter\",\n type: {\n name: \"Composite\",\n className: \"PatternReplaceCharFilter\",\n uberParent: \"CharFilter\",\n polymorphicDiscriminator: CharFilter.type.polymorphicDiscriminator,\n modelProperties: {\n ...CharFilter.type.modelProperties,\n pattern: {\n serializedName: \"pattern\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n replacement: {\n serializedName: \"replacement\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ClassicSimilarity: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.ClassicSimilarity\",\n type: {\n name: \"Composite\",\n className: \"ClassicSimilarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: Similarity.type.polymorphicDiscriminator,\n modelProperties: {\n ...Similarity.type.modelProperties\n }\n }\n};\n\nexport const BM25Similarity: coreClient.CompositeMapper = {\n serializedName: \"#Microsoft.Azure.Search.BM25Similarity\",\n type: {\n name: \"Composite\",\n className: \"BM25Similarity\",\n uberParent: \"Similarity\",\n polymorphicDiscriminator: Similarity.type.polymorphicDiscriminator,\n modelProperties: {\n ...Similarity.type.modelProperties,\n k1: {\n serializedName: \"k1\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n },\n b: {\n serializedName: \"b\",\n nullable: true,\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreObjectProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreObjectProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreBlobProjectionSelector.type.modelProperties\n }\n }\n};\n\nexport const SearchIndexerKnowledgeStoreFileProjectionSelector: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"SearchIndexerKnowledgeStoreFileProjectionSelector\",\n modelProperties: {\n ...SearchIndexerKnowledgeStoreBlobProjectionSelector.type.modelProperties\n }\n }\n};\n\nexport let discriminators = {\n DataChangeDetectionPolicy: DataChangeDetectionPolicy,\n DataDeletionDetectionPolicy: DataDeletionDetectionPolicy,\n SearchIndexerSkill: SearchIndexerSkill,\n CognitiveServicesAccount: CognitiveServicesAccount,\n ScoringFunction: ScoringFunction,\n LexicalAnalyzer: LexicalAnalyzer,\n LexicalTokenizer: LexicalTokenizer,\n TokenFilter: TokenFilter,\n CharFilter: CharFilter,\n Similarity: Similarity,\n \"DataChangeDetectionPolicy.#Microsoft.Azure.Search.HighWaterMarkChangeDetectionPolicy\": HighWaterMarkChangeDetectionPolicy,\n \"DataChangeDetectionPolicy.#Microsoft.Azure.Search.SqlIntegratedChangeTrackingPolicy\": SqlIntegratedChangeTrackingPolicy,\n \"DataDeletionDetectionPolicy.#Microsoft.Azure.Search.SoftDeleteColumnDeletionDetectionPolicy\": SoftDeleteColumnDeletionDetectionPolicy,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.ConditionalSkill\": ConditionalSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.KeyPhraseExtractionSkill\": KeyPhraseExtractionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Vision.OcrSkill\": OcrSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Vision.ImageAnalysisSkill\": ImageAnalysisSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.LanguageDetectionSkill\": LanguageDetectionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.ShaperSkill\": ShaperSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.MergeSkill\": MergeSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.EntityRecognitionSkill\": EntityRecognitionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.SentimentSkill\": SentimentSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.SplitSkill\": SplitSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.CustomEntityLookupSkill\": CustomEntityLookupSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Text.TranslationSkill\": TextTranslationSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Util.DocumentExtractionSkill\": DocumentExtractionSkill,\n \"SearchIndexerSkill.#Microsoft.Skills.Custom.WebApiSkill\": WebApiSkill,\n \"CognitiveServicesAccount.#Microsoft.Azure.Search.DefaultCognitiveServices\": DefaultCognitiveServicesAccount,\n \"CognitiveServicesAccount.#Microsoft.Azure.Search.CognitiveServicesByKey\": CognitiveServicesAccountKey,\n \"ScoringFunction.distance\": DistanceScoringFunction,\n \"ScoringFunction.freshness\": FreshnessScoringFunction,\n \"ScoringFunction.magnitude\": MagnitudeScoringFunction,\n \"ScoringFunction.tag\": TagScoringFunction,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.CustomAnalyzer\": CustomAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.PatternAnalyzer\": PatternAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.StandardAnalyzer\": LuceneStandardAnalyzer,\n \"LexicalAnalyzer.#Microsoft.Azure.Search.StopAnalyzer\": StopAnalyzer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.ClassicTokenizer\": ClassicTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.EdgeNGramTokenizer\": EdgeNGramTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.KeywordTokenizer\": KeywordTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.KeywordTokenizerV2\": KeywordTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.MicrosoftLanguageTokenizer\": MicrosoftLanguageTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.MicrosoftLanguageStemmingTokenizer\": MicrosoftLanguageStemmingTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.NGramTokenizer\": NGramTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.PathHierarchyTokenizerV2\": PathHierarchyTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.PatternTokenizer\": PatternTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.StandardTokenizer\": LuceneStandardTokenizer,\n \"LexicalTokenizer.#Microsoft.Azure.Search.StandardTokenizerV2\": LuceneStandardTokenizerV2,\n \"LexicalTokenizer.#Microsoft.Azure.Search.UaxUrlEmailTokenizer\": UaxUrlEmailTokenizer,\n \"TokenFilter.#Microsoft.Azure.Search.AsciiFoldingTokenFilter\": AsciiFoldingTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.CjkBigramTokenFilter\": CjkBigramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.CommonGramTokenFilter\": CommonGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.DictionaryDecompounderTokenFilter\": DictionaryDecompounderTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.EdgeNGramTokenFilter\": EdgeNGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.EdgeNGramTokenFilterV2\": EdgeNGramTokenFilterV2,\n \"TokenFilter.#Microsoft.Azure.Search.ElisionTokenFilter\": ElisionTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.KeepTokenFilter\": KeepTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.KeywordMarkerTokenFilter\": KeywordMarkerTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.LengthTokenFilter\": LengthTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.LimitTokenFilter\": LimitTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.NGramTokenFilter\": NGramTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.NGramTokenFilterV2\": NGramTokenFilterV2,\n \"TokenFilter.#Microsoft.Azure.Search.PatternCaptureTokenFilter\": PatternCaptureTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.PatternReplaceTokenFilter\": PatternReplaceTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.PhoneticTokenFilter\": PhoneticTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.ShingleTokenFilter\": ShingleTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.SnowballTokenFilter\": SnowballTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StemmerTokenFilter\": StemmerTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StemmerOverrideTokenFilter\": StemmerOverrideTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.StopwordsTokenFilter\": StopwordsTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.SynonymTokenFilter\": SynonymTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.TruncateTokenFilter\": TruncateTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.UniqueTokenFilter\": UniqueTokenFilter,\n \"TokenFilter.#Microsoft.Azure.Search.WordDelimiterTokenFilter\": WordDelimiterTokenFilter,\n \"CharFilter.#Microsoft.Azure.Search.MappingCharFilter\": MappingCharFilter,\n \"CharFilter.#Microsoft.Azure.Search.PatternReplaceCharFilter\": PatternReplaceCharFilter,\n \"Similarity.#Microsoft.Azure.Search.ClassicSimilarity\": ClassicSimilarity,\n \"Similarity.#Microsoft.Azure.Search.BM25Similarity\": BM25Similarity\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport {\n OperationParameter,\n OperationURLParameter,\n OperationQueryParameter\n} from \"@azure/core-client\";\nimport {\n SearchIndexerDataSource as SearchIndexerDataSourceMapper,\n SearchIndexer as SearchIndexerMapper,\n SearchIndexerSkillset as SearchIndexerSkillsetMapper,\n SynonymMap as SynonymMapMapper,\n SearchIndex as SearchIndexMapper,\n AnalyzeRequest as AnalyzeRequestMapper\n} from \"../models/mappers\";\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const dataSource: OperationParameter = {\n parameterPath: \"dataSource\",\n mapper: SearchIndexerDataSourceMapper\n};\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue: \"application/json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const endpoint: OperationURLParameter = {\n parameterPath: \"endpoint\",\n mapper: {\n serializedName: \"endpoint\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\n};\n\nexport const dataSourceName: OperationURLParameter = {\n parameterPath: \"dataSourceName\",\n mapper: {\n serializedName: \"dataSourceName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifMatch\"],\n mapper: {\n serializedName: \"If-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const ifNoneMatch: OperationParameter = {\n parameterPath: [\"options\", \"ifNoneMatch\"],\n mapper: {\n serializedName: \"If-None-Match\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const prefer: OperationParameter = {\n parameterPath: \"prefer\",\n mapper: {\n defaultValue: \"return=representation\",\n isConstant: true,\n serializedName: \"Prefer\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const apiVersion: OperationQueryParameter = {\n parameterPath: \"apiVersion\",\n mapper: {\n serializedName: \"api-version\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$select\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const indexerName: OperationURLParameter = {\n parameterPath: \"indexerName\",\n mapper: {\n serializedName: \"indexerName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const indexer: OperationParameter = {\n parameterPath: \"indexer\",\n mapper: SearchIndexerMapper\n};\n\nexport const skillset: OperationParameter = {\n parameterPath: \"skillset\",\n mapper: SearchIndexerSkillsetMapper\n};\n\nexport const skillsetName: OperationURLParameter = {\n parameterPath: \"skillsetName\",\n mapper: {\n serializedName: \"skillsetName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const synonymMap: OperationParameter = {\n parameterPath: \"synonymMap\",\n mapper: SynonymMapMapper\n};\n\nexport const synonymMapName: OperationURLParameter = {\n parameterPath: \"synonymMapName\",\n mapper: {\n serializedName: \"synonymMapName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const index: OperationParameter = {\n parameterPath: \"index\",\n mapper: SearchIndexMapper\n};\n\nexport const indexName: OperationURLParameter = {\n parameterPath: \"indexName\",\n mapper: {\n serializedName: \"indexName\",\n required: true,\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const allowIndexDowntime: OperationQueryParameter = {\n parameterPath: [\"options\", \"allowIndexDowntime\"],\n mapper: {\n serializedName: \"allowIndexDowntime\",\n type: {\n name: \"Boolean\"\n }\n }\n};\n\nexport const request: OperationParameter = {\n parameterPath: \"request\",\n mapper: AnalyzeRequestMapper\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { DataSources } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndexerDataSource,\n DataSourcesCreateOrUpdateOptionalParams,\n DataSourcesCreateOrUpdateResponse,\n DataSourcesDeleteOptionalParams,\n DataSourcesGetOptionalParams,\n DataSourcesGetResponse,\n DataSourcesListOptionalParams,\n DataSourcesListResponse,\n DataSourcesCreateOptionalParams,\n DataSourcesCreateResponse\n} from \"../models\";\n\n/** Class representing a DataSources. */\nexport class DataSourcesImpl implements DataSources {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class DataSources class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new datasource or updates a datasource if it already exists.\n * @param dataSourceName The name of the datasource to create or update.\n * @param dataSource The definition of the datasource to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n dataSourceName: string,\n dataSource: SearchIndexerDataSource,\n options?: DataSourcesCreateOrUpdateOptionalParams\n ): Promise<DataSourcesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { dataSourceName, dataSource, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a datasource.\n * @param dataSourceName The name of the datasource to delete.\n * @param options The options parameters.\n */\n delete(\n dataSourceName: string,\n options?: DataSourcesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { dataSourceName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a datasource definition.\n * @param dataSourceName The name of the datasource to retrieve.\n * @param options The options parameters.\n */\n get(\n dataSourceName: string,\n options?: DataSourcesGetOptionalParams\n ): Promise<DataSourcesGetResponse> {\n return this.client.sendOperationRequest(\n { dataSourceName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all datasources available for a search service.\n * @param options The options parameters.\n */\n list(\n options?: DataSourcesListOptionalParams\n ): Promise<DataSourcesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new datasource.\n * @param dataSource The definition of the datasource to create.\n * @param options The options parameters.\n */\n create(\n dataSource: SearchIndexerDataSource,\n options?: DataSourcesCreateOptionalParams\n ): Promise<DataSourcesCreateResponse> {\n return this.client.sendOperationRequest(\n { dataSource, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n 201: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.dataSource,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources('{dataSourceName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.dataSourceName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListDataSourcesResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/datasources\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexerDataSource\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.dataSource,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Indexers } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n IndexersResetOptionalParams,\n IndexersRunOptionalParams,\n SearchIndexer,\n IndexersCreateOrUpdateOptionalParams,\n IndexersCreateOrUpdateResponse,\n IndexersDeleteOptionalParams,\n IndexersGetOptionalParams,\n IndexersGetResponse,\n IndexersListOptionalParams,\n IndexersListResponse,\n IndexersCreateOptionalParams,\n IndexersCreateResponse,\n IndexersGetStatusOptionalParams,\n IndexersGetStatusResponse\n} from \"../models\";\n\n/** Class representing a Indexers. */\nexport class IndexersImpl implements Indexers {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Indexers class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Resets the change tracking state associated with an indexer.\n * @param indexerName The name of the indexer to reset.\n * @param options The options parameters.\n */\n reset(\n indexerName: string,\n options?: IndexersResetOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n resetOperationSpec\n );\n }\n\n /**\n * Runs an indexer on-demand.\n * @param indexerName The name of the indexer to run.\n * @param options The options parameters.\n */\n run(indexerName: string, options?: IndexersRunOptionalParams): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n runOperationSpec\n );\n }\n\n /**\n * Creates a new indexer or updates an indexer if it already exists.\n * @param indexerName The name of the indexer to create or update.\n * @param indexer The definition of the indexer to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n indexerName: string,\n indexer: SearchIndexer,\n options?: IndexersCreateOrUpdateOptionalParams\n ): Promise<IndexersCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { indexerName, indexer, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes an indexer.\n * @param indexerName The name of the indexer to delete.\n * @param options The options parameters.\n */\n delete(\n indexerName: string,\n options?: IndexersDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves an indexer definition.\n * @param indexerName The name of the indexer to retrieve.\n * @param options The options parameters.\n */\n get(\n indexerName: string,\n options?: IndexersGetOptionalParams\n ): Promise<IndexersGetResponse> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all indexers available for a search service.\n * @param options The options parameters.\n */\n list(options?: IndexersListOptionalParams): Promise<IndexersListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new indexer.\n * @param indexer The definition of the indexer to create.\n * @param options The options parameters.\n */\n create(\n indexer: SearchIndexer,\n options?: IndexersCreateOptionalParams\n ): Promise<IndexersCreateResponse> {\n return this.client.sendOperationRequest(\n { indexer, options },\n createOperationSpec\n );\n }\n\n /**\n * Returns the current status and execution history of an indexer.\n * @param indexerName The name of the indexer for which to retrieve status.\n * @param options The options parameters.\n */\n getStatus(\n indexerName: string,\n options?: IndexersGetStatusOptionalParams\n ): Promise<IndexersGetStatusResponse> {\n return this.client.sendOperationRequest(\n { indexerName, options },\n getStatusOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst resetOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.reset\",\n httpMethod: \"POST\",\n responses: {\n 204: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst runOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.run\",\n httpMethod: \"POST\",\n responses: {\n 202: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexer\n },\n 201: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.indexer,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListIndexersResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexer\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.indexer,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst getStatusOperationSpec: coreClient.OperationSpec = {\n path: \"/indexers('{indexerName}')/search.status\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerStatus\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexerName],\n headerParameters: [Parameters.accept],\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Skillsets } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndexerSkillset,\n SkillsetsCreateOrUpdateOptionalParams,\n SkillsetsCreateOrUpdateResponse,\n SkillsetsDeleteOptionalParams,\n SkillsetsGetOptionalParams,\n SkillsetsGetResponse,\n SkillsetsListOptionalParams,\n SkillsetsListResponse,\n SkillsetsCreateOptionalParams,\n SkillsetsCreateResponse\n} from \"../models\";\n\n/** Class representing a Skillsets. */\nexport class SkillsetsImpl implements Skillsets {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Skillsets class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new skillset in a search service or updates the skillset if it already exists.\n * @param skillsetName The name of the skillset to create or update.\n * @param skillset The skillset containing one or more skills to create or update in a search service.\n * @param options The options parameters.\n */\n createOrUpdate(\n skillsetName: string,\n skillset: SearchIndexerSkillset,\n options?: SkillsetsCreateOrUpdateOptionalParams\n ): Promise<SkillsetsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { skillsetName, skillset, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a skillset in a search service.\n * @param skillsetName The name of the skillset to delete.\n * @param options The options parameters.\n */\n delete(\n skillsetName: string,\n options?: SkillsetsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { skillsetName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a skillset in a search service.\n * @param skillsetName The name of the skillset to retrieve.\n * @param options The options parameters.\n */\n get(\n skillsetName: string,\n options?: SkillsetsGetOptionalParams\n ): Promise<SkillsetsGetResponse> {\n return this.client.sendOperationRequest(\n { skillsetName, options },\n getOperationSpec\n );\n }\n\n /**\n * List all skillsets in a search service.\n * @param options The options parameters.\n */\n list(options?: SkillsetsListOptionalParams): Promise<SkillsetsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new skillset in a search service.\n * @param skillset The skillset containing one or more skills to create in a search service.\n * @param options The options parameters.\n */\n create(\n skillset: SearchIndexerSkillset,\n options?: SkillsetsCreateOptionalParams\n ): Promise<SkillsetsCreateResponse> {\n return this.client.sendOperationRequest(\n { skillset, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n 201: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.skillset,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets('{skillsetName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.skillsetName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListSkillsetsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/skillsets\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndexerSkillset\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.skillset,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { SynonymMaps } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SynonymMap,\n SynonymMapsCreateOrUpdateOptionalParams,\n SynonymMapsCreateOrUpdateResponse,\n SynonymMapsDeleteOptionalParams,\n SynonymMapsGetOptionalParams,\n SynonymMapsGetResponse,\n SynonymMapsListOptionalParams,\n SynonymMapsListResponse,\n SynonymMapsCreateOptionalParams,\n SynonymMapsCreateResponse\n} from \"../models\";\n\n/** Class representing a SynonymMaps. */\nexport class SynonymMapsImpl implements SynonymMaps {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class SynonymMaps class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new synonym map or updates a synonym map if it already exists.\n * @param synonymMapName The name of the synonym map to create or update.\n * @param synonymMap The definition of the synonym map to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n synonymMapName: string,\n synonymMap: SynonymMap,\n options?: SynonymMapsCreateOrUpdateOptionalParams\n ): Promise<SynonymMapsCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { synonymMapName, synonymMap, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a synonym map.\n * @param synonymMapName The name of the synonym map to delete.\n * @param options The options parameters.\n */\n delete(\n synonymMapName: string,\n options?: SynonymMapsDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { synonymMapName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves a synonym map definition.\n * @param synonymMapName The name of the synonym map to retrieve.\n * @param options The options parameters.\n */\n get(\n synonymMapName: string,\n options?: SynonymMapsGetOptionalParams\n ): Promise<SynonymMapsGetResponse> {\n return this.client.sendOperationRequest(\n { synonymMapName, options },\n getOperationSpec\n );\n }\n\n /**\n * Lists all synonym maps available for a search service.\n * @param options The options parameters.\n */\n list(\n options?: SynonymMapsListOptionalParams\n ): Promise<SynonymMapsListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new synonym map.\n * @param synonymMap The definition of the synonym map to create.\n * @param options The options parameters.\n */\n create(\n synonymMap: SynonymMap,\n options?: SynonymMapsCreateOptionalParams\n ): Promise<SynonymMapsCreateResponse> {\n return this.client.sendOperationRequest(\n { synonymMap, options },\n createOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SynonymMap\n },\n 201: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.synonymMap,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps('{synonymMapName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.synonymMapName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListSynonymMapsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/synonymmaps\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SynonymMap\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.synonymMap,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport { Indexes } from \"../operationsInterfaces\";\nimport * as coreClient from \"@azure/core-client\";\nimport * as Mappers from \"../models/mappers\";\nimport * as Parameters from \"../models/parameters\";\nimport { SearchServiceClientContext } from \"../searchServiceClientContext\";\nimport {\n SearchIndex,\n IndexesCreateOptionalParams,\n IndexesCreateResponse,\n IndexesListOptionalParams,\n IndexesListResponse,\n IndexesCreateOrUpdateOptionalParams,\n IndexesCreateOrUpdateResponse,\n IndexesDeleteOptionalParams,\n IndexesGetOptionalParams,\n IndexesGetResponse,\n IndexesGetStatisticsOptionalParams,\n IndexesGetStatisticsResponse,\n AnalyzeRequest,\n IndexesAnalyzeOptionalParams,\n IndexesAnalyzeResponse\n} from \"../models\";\n\n/** Class representing a Indexes. */\nexport class IndexesImpl implements Indexes {\n private readonly client: SearchServiceClientContext;\n\n /**\n * Initialize a new instance of the class Indexes class.\n * @param client Reference to the service client\n */\n constructor(client: SearchServiceClientContext) {\n this.client = client;\n }\n\n /**\n * Creates a new search index.\n * @param index The definition of the index to create.\n * @param options The options parameters.\n */\n create(\n index: SearchIndex,\n options?: IndexesCreateOptionalParams\n ): Promise<IndexesCreateResponse> {\n return this.client.sendOperationRequest(\n { index, options },\n createOperationSpec\n );\n }\n\n /**\n * Lists all indexes available for a search service.\n * @param options The options parameters.\n */\n list(options?: IndexesListOptionalParams): Promise<IndexesListResponse> {\n return this.client.sendOperationRequest({ options }, listOperationSpec);\n }\n\n /**\n * Creates a new search index or updates an index if it already exists.\n * @param indexName The definition of the index to create or update.\n * @param index The definition of the index to create or update.\n * @param options The options parameters.\n */\n createOrUpdate(\n indexName: string,\n index: SearchIndex,\n options?: IndexesCreateOrUpdateOptionalParams\n ): Promise<IndexesCreateOrUpdateResponse> {\n return this.client.sendOperationRequest(\n { indexName, index, options },\n createOrUpdateOperationSpec\n );\n }\n\n /**\n * Deletes a search index and all the documents it contains. This operation is permanent, with no\n * recovery option. Make sure you have a master copy of your index definition, data ingestion code, and\n * a backup of the primary data source in case you need to re-build the index.\n * @param indexName The name of the index to delete.\n * @param options The options parameters.\n */\n delete(\n indexName: string,\n options?: IndexesDeleteOptionalParams\n ): Promise<void> {\n return this.client.sendOperationRequest(\n { indexName, options },\n deleteOperationSpec\n );\n }\n\n /**\n * Retrieves an index definition.\n * @param indexName The name of the index to retrieve.\n * @param options The options parameters.\n */\n get(\n indexName: string,\n options?: IndexesGetOptionalParams\n ): Promise<IndexesGetResponse> {\n return this.client.sendOperationRequest(\n { indexName, options },\n getOperationSpec\n );\n }\n\n /**\n * Returns statistics for the given index, including a document count and storage usage.\n * @param indexName The name of the index for which to retrieve statistics.\n * @param options The options parameters.\n */\n getStatistics(\n indexName: string,\n options?: IndexesGetStatisticsOptionalParams\n ): Promise<IndexesGetStatisticsResponse> {\n return this.client.sendOperationRequest(\n { indexName, options },\n getStatisticsOperationSpec\n );\n }\n\n /**\n * Shows how an analyzer breaks text into tokens.\n * @param indexName The name of the index for which to test an analyzer.\n * @param request The text and analyzer or analysis components to test.\n * @param options The options parameters.\n */\n analyze(\n indexName: string,\n request: AnalyzeRequest,\n options?: IndexesAnalyzeOptionalParams\n ): Promise<IndexesAnalyzeResponse> {\n return this.client.sendOperationRequest(\n { indexName, request, options },\n analyzeOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst createOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes\",\n httpMethod: \"POST\",\n responses: {\n 201: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.index,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\nconst listOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ListIndexesResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.select],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst createOrUpdateOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndex\n },\n 201: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.index,\n queryParameters: [Parameters.apiVersion, Parameters.allowIndexDowntime],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [\n Parameters.contentType,\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.prefer\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"DELETE\",\n responses: {\n 204: {},\n 404: {},\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [\n Parameters.accept,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.SearchIndex\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst getStatisticsOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')/search.stats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.GetIndexStatisticsResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.accept],\n serializer\n};\nconst analyzeOperationSpec: coreClient.OperationSpec = {\n path: \"/indexes('{indexName}')/search.analyze\",\n httpMethod: \"POST\",\n responses: {\n 200: {\n bodyMapper: Mappers.AnalyzeResult\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n requestBody: Parameters.request,\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint, Parameters.indexName],\n headerParameters: [Parameters.contentType, Parameters.accept],\n mediaType: \"json\",\n serializer\n};\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n ApiVersion20200630,\n SearchServiceClientOptionalParams\n} from \"./models\";\n\n/** @internal */\nexport class SearchServiceClientContext extends coreClient.ServiceClient {\n endpoint: string;\n apiVersion: ApiVersion20200630;\n\n /**\n * Initializes a new instance of the SearchServiceClientContext class.\n * @param endpoint The endpoint URL of the search service.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n apiVersion: ApiVersion20200630,\n options?: SearchServiceClientOptionalParams\n ) {\n if (endpoint === undefined) {\n throw new Error(\"'endpoint' cannot be null\");\n }\n if (apiVersion === undefined) {\n throw new Error(\"'apiVersion' cannot be null\");\n }\n\n // Initializing default values for options\n if (!options) {\n options = {};\n }\n const defaults: SearchServiceClientOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n this.apiVersion = apiVersion;\n }\n}\n","/*\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Code generated by Microsoft (R) AutoRest Code Generator.\n * Changes may cause incorrect behavior and will be lost if the code is regenerated.\n */\n\nimport * as coreClient from \"@azure/core-client\";\nimport {\n DataSourcesImpl,\n IndexersImpl,\n SkillsetsImpl,\n SynonymMapsImpl,\n IndexesImpl\n} from \"./operations\";\nimport {\n DataSources,\n Indexers,\n Skillsets,\n SynonymMaps,\n Indexes\n} from \"./operationsInterfaces\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport { SearchServiceClientContext } from \"./searchServiceClientContext\";\nimport {\n SearchServiceClientOptionalParams,\n ApiVersion20200630,\n SearchServiceClientGetServiceStatisticsOptionalParams,\n SearchServiceClientGetServiceStatisticsResponse\n} from \"./models\";\n\n/** @internal */\nexport class SearchServiceClient extends SearchServiceClientContext {\n /**\n * Initializes a new instance of the SearchServiceClient class.\n * @param endpoint The endpoint URL of the search service.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n apiVersion: ApiVersion20200630,\n options?: SearchServiceClientOptionalParams\n ) {\n super(endpoint, apiVersion, options);\n this.dataSources = new DataSourcesImpl(this);\n this.indexers = new IndexersImpl(this);\n this.skillsets = new SkillsetsImpl(this);\n this.synonymMaps = new SynonymMapsImpl(this);\n this.indexes = new IndexesImpl(this);\n }\n\n /**\n * Gets service level statistics for a search service.\n * @param options The options parameters.\n */\n getServiceStatistics(\n options?: SearchServiceClientGetServiceStatisticsOptionalParams\n ): Promise<SearchServiceClientGetServiceStatisticsResponse> {\n return this.sendOperationRequest(\n { options },\n getServiceStatisticsOperationSpec\n );\n }\n\n dataSources: DataSources;\n indexers: Indexers;\n skillsets: Skillsets;\n synonymMaps: SynonymMaps;\n indexes: Indexes;\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getServiceStatisticsOperationSpec: coreClient.OperationSpec = {\n path: \"/servicestats\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.ServiceStatistics\n },\n default: {\n bodyMapper: Mappers.SearchError\n }\n },\n queryParameters: [Parameters.apiVersion],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.accept],\n serializer\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { AnalyzeResult } from \"./generated/service/models\";\nimport { SearchServiceClient as GeneratedClient } from \"./generated/service/searchServiceClient\";\nimport { logger } from \"./logger\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport {\n AnalyzeTextOptions,\n CreateIndexOptions,\n CreateOrUpdateIndexOptions,\n CreateOrUpdateSynonymMapOptions,\n CreateSynonymMapOptions,\n DeleteIndexOptions,\n DeleteSynonymMapOptions,\n GetIndexOptions,\n GetIndexStatisticsOptions,\n GetServiceStatisticsOptions,\n GetSynonymMapsOptions,\n IndexIterator,\n IndexNameIterator,\n ListIndexesOptions,\n ListSynonymMapsOptions,\n SearchIndex,\n SearchIndexStatistics,\n SearchServiceStatistics,\n SynonymMap,\n} from \"./serviceModels\";\nimport * as utils from \"./serviceUtils\";\nimport { createSpan } from \"./tracing\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { SearchClientOptions as GetSearchClientOptions, SearchClient } from \"./searchClient\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchIndexClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class to perform operations to manage\n * (create, update, list/delete)\n * indexes, & synonymmaps.\n */\nexport class SearchIndexClient {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchServiceClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Used to authenticate requests to the service.\n */\n private readonly credential: KeyCredential | TokenCredential;\n\n /**\n * Used to configure the Search Index client.\n */\n private readonly options: SearchIndexClientOptions;\n\n /**\n * Creates an instance of SearchIndexClient.\n *\n * Example usage:\n * ```ts\n * const { SearchIndexClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchIndexClient(\n * \"<endpoint>\",\n * new AzureKeyCredential(\"<Admin Key>\");\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search Index client.\n */\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: SearchIndexClientOptions = {}\n ) {\n this.endpoint = endpoint;\n this.credential = credential;\n this.options = options;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...this.options.userAgentOptions,\n userAgentPrefix: this.options.userAgentOptions?.userAgentPrefix\n ? `${this.options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...this.options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = this.options.audience\n ? `${this.options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"minimal\"));\n }\n\n private async *listIndexesPage(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<SearchIndex[]> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listIndexesPage\", options);\n try {\n const result = await this.client.indexes.list(updatedOptions);\n const mapped = result.indexes.map(utils.generatedIndexToPublicIndex);\n yield mapped;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listIndexesAll(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<SearchIndex> {\n for await (const page of this.listIndexesPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a list of existing indexes in the service.\n * @param options - Options to the list index operation.\n */\n public listIndexes(options: ListIndexesOptions = {}): IndexIterator {\n const iter = this.listIndexesAll(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listIndexesPage(options);\n },\n };\n }\n\n private async *listIndexesNamesPage(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<string[]> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listIndexesNamesPage\", options);\n try {\n const result = await this.client.indexes.list({\n ...updatedOptions,\n select: \"name\",\n });\n const mapped = result.indexes.map((idx) => idx.name);\n yield mapped;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n private async *listIndexesNamesAll(\n options: ListIndexesOptions = {}\n ): AsyncIterableIterator<string> {\n for await (const page of this.listIndexesNamesPage(options)) {\n yield* page;\n }\n }\n\n /**\n * Retrieves a list of names of existing indexes in the service.\n * @param options - Options to the list index operation.\n */\n public listIndexesNames(options: ListIndexesOptions = {}): IndexNameIterator {\n const iter = this.listIndexesNamesAll(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listIndexesNamesPage(options);\n },\n };\n }\n\n /**\n * Retrieves a list of existing SynonymMaps in the service.\n * @param options - Options to the list SynonymMaps operation.\n */\n public async listSynonymMaps(options: ListSynonymMapsOptions = {}): Promise<Array<SynonymMap>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.list(updatedOptions);\n return result.synonymMaps.map(utils.generatedSynonymMapToPublicSynonymMap);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing SynonymMaps in the service.\n * @param options - Options to the list SynonymMaps operation.\n */\n public async listSynonymMapsNames(options: ListSynonymMapsOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-listSynonymMapsNames\", options);\n try {\n const result = await this.client.synonymMaps.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.synonymMaps.map((sm) => sm.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an index.\n * @param indexName - The name of the index.\n * @param options - Additional optional arguments.\n */\n public async getIndex(indexName: string, options: GetIndexOptions = {}): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getIndex\", options);\n try {\n const result = await this.client.indexes.get(indexName, updatedOptions);\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about a SynonymMap.\n * @param synonymMapName - The name of the SynonymMap.\n * @param options - Additional optional arguments.\n */\n public async getSynonymMap(\n synonymMapName: string,\n options: GetSynonymMapsOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.get(synonymMapName, updatedOptions);\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new index.\n * @param index - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createIndex(\n index: SearchIndex,\n options: CreateIndexOptions = {}\n ): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createIndex\", options);\n try {\n const result = await this.client.indexes.create(\n utils.publicIndexToGeneratedIndex(index),\n updatedOptions\n );\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new SynonymMap in a search service.\n * @param synonymMap - The synonymMap definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createSynonymMap(\n synonymMap: SynonymMap,\n options: CreateSynonymMapOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createSynonymMaps\", options);\n try {\n const result = await this.client.synonymMaps.create(\n utils.publicSynonymMapToGeneratedSynonymMap(synonymMap),\n updatedOptions\n );\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new index or modifies an existing one.\n * @param index - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateIndex(\n index: SearchIndex,\n options: CreateOrUpdateIndexOptions = {}\n ): Promise<SearchIndex> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-createOrUpdateIndex\", options);\n try {\n const etag = options.onlyIfUnchanged ? index.etag : undefined;\n\n const result = await this.client.indexes.createOrUpdate(\n index.name,\n utils.publicIndexToGeneratedIndex(index),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedIndexToPublicIndex(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new SynonymMap or modifies an existing one.\n * @param synonymMap - The information describing the SynonymMap to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateSynonymMap(\n synonymMap: SynonymMap,\n options: CreateOrUpdateSynonymMapOptions = {}\n ): Promise<SynonymMap> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexClient-createOrUpdateSynonymMap\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? synonymMap.etag : undefined;\n\n const result = await this.client.synonymMaps.createOrUpdate(\n synonymMap.name,\n utils.publicSynonymMapToGeneratedSynonymMap(synonymMap),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedSynonymMapToPublicSynonymMap(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing index.\n * @param indexName - Index/Name of the index to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteIndex(\n index: string | SearchIndex,\n options: DeleteIndexOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-deleteIndex\", options);\n try {\n const indexName: string = typeof index === \"string\" ? index : index.name;\n const etag =\n typeof index === \"string\" ? undefined : options.onlyIfUnchanged ? index.etag : undefined;\n\n await this.client.indexes.delete(indexName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing SynonymMap.\n * @param synonymMapName - SynonymMap/Name of the synonymMap to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteSynonymMap(\n synonymMap: string | SynonymMap,\n options: DeleteSynonymMapOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-deleteSynonymMap\", options);\n try {\n const synonymMapName: string = typeof synonymMap === \"string\" ? synonymMap : synonymMap.name;\n const etag =\n typeof synonymMap === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? synonymMap.etag\n : undefined;\n\n await this.client.synonymMaps.delete(synonymMapName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves statistics about an index, such as the count of documents and the size\n * of index storage.\n * @param indexName - The name of the index.\n * @param options - Additional optional arguments.\n */\n public async getIndexStatistics(\n indexName: string,\n options: GetIndexStatisticsOptions = {}\n ): Promise<SearchIndexStatistics> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getIndexStatistics\", options);\n try {\n const result = await this.client.indexes.getStatistics(indexName, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Calls an analyzer or tokenizer manually on provided text.\n * @param indexName - The name of the index that contains the field to analyze\n * @param text - The text to break into tokens.\n * @param options - Additional arguments\n */\n public async analyzeText(indexName: string, options: AnalyzeTextOptions): Promise<AnalyzeResult> {\n const { abortSignal, requestOptions, tracingOptions, ...restOptions } = options;\n const operationOptions = {\n abortSignal,\n requestOptions,\n tracingOptions,\n };\n\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-analyzeText\", operationOptions);\n try {\n const result = await this.client.indexes.analyze(\n indexName,\n {\n ...restOptions,\n analyzer: restOptions.analyzerName,\n tokenizer: restOptions.tokenizerName,\n },\n updatedOptions\n );\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves statistics about the service, such as the count of documents, index, etc.\n * @param options - Additional optional arguments.\n */\n public async getServiceStatistics(\n options: GetServiceStatisticsOptions = {}\n ): Promise<SearchServiceStatistics> {\n const { span, updatedOptions } = createSpan(\"SearchIndexClient-getServiceStatistics\", options);\n try {\n const result = await this.client.getServiceStatistics(updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves the SearchClient corresponding to this SearchIndexClient\n * @param indexName - Name of the index\n * @param options - SearchClient Options\n * @typeParam TModel - An optional type that represents the documents stored in\n * the search index. For the best typing experience, all non-key fields should\n * be marked optional and nullable, and the key property should have the\n * non-nullable type `string`.\n */\n public getSearchClient<TModel>(\n indexName: string,\n options?: GetSearchClientOptions\n ): SearchClient<TModel> {\n return new SearchClient<TModel>(\n this.endpoint,\n indexName,\n this.credential,\n options || this.options\n );\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { KeyCredential, TokenCredential, isTokenCredential } from \"@azure/core-auth\";\nimport { InternalClientPipelineOptions } from \"@azure/core-client\";\nimport {\n LogPolicyOptions,\n UserAgentPolicyOptions,\n bearerTokenAuthenticationPolicy,\n} from \"@azure/core-rest-pipeline\";\nimport { SearchIndexerStatus } from \"./generated/service/models\";\nimport { SearchServiceClient as GeneratedClient } from \"./generated/service/searchServiceClient\";\nimport { logger } from \"./logger\";\nimport { createSearchApiKeyCredentialPolicy } from \"./searchApiKeyCredentialPolicy\";\nimport {\n CreateDataSourceConnectionOptions,\n CreateIndexerOptions,\n CreateOrUpdateSkillsetOptions,\n CreateSkillsetOptions,\n CreateorUpdateDataSourceConnectionOptions,\n CreateorUpdateIndexerOptions,\n DeleteDataSourceConnectionOptions,\n DeleteIndexerOptions,\n DeleteSkillsetOptions,\n GetDataSourceConnectionOptions,\n GetIndexerOptions,\n GetIndexerStatusOptions,\n GetSkillSetOptions,\n ListDataSourceConnectionsOptions,\n ListIndexersOptions,\n ListSkillsetsOptions,\n ResetIndexerOptions,\n RunIndexerOptions,\n SearchIndexer,\n SearchIndexerDataSourceConnection,\n SearchIndexerSkillset,\n} from \"./serviceModels\";\nimport * as utils from \"./serviceUtils\";\nimport { createSpan } from \"./tracing\";\nimport { createOdataMetadataPolicy } from \"./odataMetadataPolicy\";\nimport { ExtendedCommonClientOptions } from \"@azure/core-http-compat\";\nimport { KnownSearchAudience } from \"./searchAudience\";\nimport { SDK_VERSION } from \"./constants\";\n\n/**\n * Client options used to configure Cognitive Search API requests.\n */\nexport interface SearchIndexerClientOptions extends ExtendedCommonClientOptions {\n /**\n * The API version to use when communicating with the service.\n */\n apiVersion?: string;\n\n /**\n * The Audience to use for authentication with Azure Active Directory (AAD). The\n * audience is not considered when using a shared key.\n * {@link KnownSearchAudience} can be used interchangeably with audience\n */\n audience?: string;\n}\n\n/**\n * Class to perform operations to manage\n * (create, update, list/delete)\n * indexers, datasources & skillsets.\n */\nexport class SearchIndexerClient {\n /**\n * The API version to use when communicating with the service.\n */\n public readonly apiVersion: string = utils.defaultServiceVersion;\n\n /**\n * The endpoint of the search service\n */\n public readonly endpoint: string;\n\n /**\n * @internal\n * @hidden\n * A reference to the auto-generated SearchServiceClient\n */\n private readonly client: GeneratedClient;\n\n /**\n * Creates an instance of SearchIndexerClient.\n *\n * Example usage:\n * ```ts\n * const { SearchIndexerClient, AzureKeyCredential } = require(\"@azure/search-documents\");\n *\n * const client = new SearchIndexerClient(\n * \"<endpoint>\",\n * new AzureKeyCredential(\"<Admin Key>\");\n * );\n * ```\n * @param endpoint - The endpoint of the search service\n * @param credential - Used to authenticate requests to the service.\n * @param options - Used to configure the Search client.\n */\n constructor(\n endpoint: string,\n credential: KeyCredential | TokenCredential,\n options: SearchIndexerClientOptions = {}\n ) {\n this.endpoint = endpoint;\n\n const libInfo = `azsdk-js-search-documents/${SDK_VERSION}`;\n const userAgentOptions: UserAgentPolicyOptions = {\n ...options.userAgentOptions,\n userAgentPrefix: options.userAgentOptions?.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${libInfo}`\n : libInfo,\n };\n\n const loggingOptions: LogPolicyOptions = {\n logger: logger.info,\n additionalAllowedHeaderNames: [\n \"elapsed-time\",\n \"Location\",\n \"OData-MaxVersion\",\n \"OData-Version\",\n \"Prefer\",\n \"throttle-reason\",\n ],\n };\n\n const internalClientPipelineOptions: InternalClientPipelineOptions = {\n ...options,\n userAgentOptions,\n loggingOptions,\n };\n\n this.apiVersion = options.apiVersion ?? utils.defaultServiceVersion;\n\n this.client = new GeneratedClient(\n this.endpoint,\n this.apiVersion,\n internalClientPipelineOptions\n );\n\n if (isTokenCredential(credential)) {\n const scope: string = options.audience\n ? `${options.audience}/.default`\n : `${KnownSearchAudience.AzurePublicCloud}/.default`;\n\n this.client.pipeline.addPolicy(\n bearerTokenAuthenticationPolicy({ credential, scopes: scope })\n );\n } else {\n this.client.pipeline.addPolicy(createSearchApiKeyCredentialPolicy(credential));\n }\n\n this.client.pipeline.addPolicy(createOdataMetadataPolicy(\"minimal\"));\n }\n\n /**\n * Retrieves a list of existing indexers in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listIndexers(options: ListIndexersOptions = {}): Promise<Array<SearchIndexer>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listIndexers\", options);\n try {\n const result = await this.client.indexers.list(updatedOptions);\n return result.indexers.map(utils.generatedSearchIndexerToPublicSearchIndexer);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing indexers in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listIndexersNames(options: ListIndexersOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listIndexersNames\", options);\n try {\n const result = await this.client.indexers.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.indexers.map((idx) => idx.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of existing data sources in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listDataSourceConnections(\n options: ListDataSourceConnectionsOptions = {}\n ): Promise<Array<SearchIndexerDataSourceConnection>> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-listDataSourceConnections\",\n options\n );\n try {\n const result = await this.client.dataSources.list(updatedOptions);\n return result.dataSources.map(utils.generatedDataSourceToPublicDataSource);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing data sources in the service.\n * @param options - Options to the list indexers operation.\n */\n public async listDataSourceConnectionsNames(\n options: ListDataSourceConnectionsOptions = {}\n ): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-listDataSourceConnectionsNames\",\n options\n );\n try {\n const result = await this.client.dataSources.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.dataSources.map((ds) => ds.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of existing Skillsets in the service.\n * @param options - Options to the list Skillsets operation.\n */\n public async listSkillsets(\n options: ListSkillsetsOptions = {}\n ): Promise<Array<SearchIndexerSkillset>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listSkillsets\", options);\n try {\n const result = await this.client.skillsets.list(updatedOptions);\n return result.skillsets.map(utils.generatedSkillsetToPublicSkillset);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves a list of names of existing Skillsets in the service.\n * @param options - Options to the list Skillsets operation.\n */\n public async listSkillsetsNames(options: ListSkillsetsOptions = {}): Promise<Array<string>> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-listSkillsetsNames\", options);\n try {\n const result = await this.client.skillsets.list({\n ...updatedOptions,\n select: \"name\",\n });\n return result.skillsets.map((sks) => sks.name);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an Indexer.\n * @param indexerName - The name of the Indexer.\n * @param options - Additional optional arguments.\n */\n public async getIndexer(\n indexerName: string,\n options: GetIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getIndexer\", options);\n try {\n const result = await this.client.indexers.get(indexerName, updatedOptions);\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about a DataSource\n * @param dataSourceName - The name of the DataSource\n * @param options - Additional optional arguments\n */\n public async getDataSourceConnection(\n dataSourceConnectionName: string,\n options: GetDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-getDataSourceConnection\",\n options\n );\n try {\n const result = await this.client.dataSources.get(dataSourceConnectionName, updatedOptions);\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Retrieves information about an Skillset.\n * @param indexName - The name of the Skillset.\n * @param options - Additional optional arguments.\n */\n public async getSkillset(\n skillsetName: string,\n options: GetSkillSetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getSkillset\", options);\n try {\n const result = await this.client.skillsets.get(skillsetName, updatedOptions);\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new indexer in a search service.\n * @param indexer - The indexer definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createIndexer(\n indexer: SearchIndexer,\n options: CreateIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-createIndexer\", options);\n try {\n const result = await this.client.indexers.create(\n utils.publicSearchIndexerToGeneratedSearchIndexer(indexer),\n updatedOptions\n );\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new dataSource in a search service.\n * @param dataSourceConnection - The dataSource definition to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createDataSourceConnection(\n dataSourceConnection: SearchIndexerDataSourceConnection,\n options: CreateDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createDataSourceConnection\",\n options\n );\n try {\n const result = await this.client.dataSources.create(\n utils.publicDataSourceToGeneratedDataSource(dataSourceConnection),\n updatedOptions\n );\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new skillset in a search service.\n * @param skillset - The skillset containing one or more skills to create in a search service.\n * @param options - Additional optional arguments.\n */\n public async createSkillset(\n skillset: SearchIndexerSkillset,\n options: CreateSkillsetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-createSkillset\", options);\n try {\n const result = await this.client.skillsets.create(\n utils.publicSkillsetToGeneratedSkillset(skillset),\n updatedOptions\n );\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new indexer or modifies an existing one.\n * @param indexer - The information describing the indexer to be created/updated.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateIndexer(\n indexer: SearchIndexer,\n options: CreateorUpdateIndexerOptions = {}\n ): Promise<SearchIndexer> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateIndexer\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? indexer.etag : undefined;\n\n const result = await this.client.indexers.createOrUpdate(\n indexer.name,\n utils.publicSearchIndexerToGeneratedSearchIndexer(indexer),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedSearchIndexerToPublicSearchIndexer(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new datasource or modifies an existing one.\n * @param dataSourceConnection - The information describing the datasource to be created/updated.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateDataSourceConnection(\n dataSourceConnection: SearchIndexerDataSourceConnection,\n options: CreateorUpdateDataSourceConnectionOptions = {}\n ): Promise<SearchIndexerDataSourceConnection> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateDataSourceConnection\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? dataSourceConnection.etag : undefined;\n\n const result = await this.client.dataSources.createOrUpdate(\n dataSourceConnection.name,\n utils.publicDataSourceToGeneratedDataSource(dataSourceConnection),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n return utils.generatedDataSourceToPublicDataSource(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Creates a new Skillset or modifies an existing one.\n * @param skillset - The information describing the index to be created.\n * @param options - Additional optional arguments.\n */\n public async createOrUpdateSkillset(\n skillset: SearchIndexerSkillset,\n options: CreateOrUpdateSkillsetOptions = {}\n ): Promise<SearchIndexerSkillset> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-createOrUpdateSkillset\",\n options\n );\n try {\n const etag = options.onlyIfUnchanged ? skillset.etag : undefined;\n\n const result = await this.client.skillsets.createOrUpdate(\n skillset.name,\n utils.publicSkillsetToGeneratedSkillset(skillset),\n {\n ...updatedOptions,\n ifMatch: etag,\n }\n );\n\n return utils.generatedSkillsetToPublicSkillset(result);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing indexer.\n * @param indexer - Indexer/Name of the indexer to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteIndexer(\n indexer: string | SearchIndexer,\n options: DeleteIndexerOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-deleteIndexer\", options);\n try {\n const indexerName: string = typeof indexer === \"string\" ? indexer : indexer.name;\n const etag =\n typeof indexer === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? indexer.etag\n : undefined;\n\n await this.client.indexers.delete(indexerName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing datasource.\n * @param dataSource - Datasource/Name of the datasource to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteDataSourceConnection(\n dataSourceConnection: string | SearchIndexerDataSourceConnection,\n options: DeleteDataSourceConnectionOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\n \"SearchIndexerClient-deleteDataSourceConnection\",\n options\n );\n try {\n const dataSourceConnectionName: string =\n typeof dataSourceConnection === \"string\" ? dataSourceConnection : dataSourceConnection.name;\n const etag =\n typeof dataSourceConnection === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? dataSourceConnection.etag\n : undefined;\n\n await this.client.dataSources.delete(dataSourceConnectionName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Deletes an existing Skillset.\n * @param skillset - Skillset/Name of the Skillset to delete.\n * @param options - Additional optional arguments.\n */\n public async deleteSkillset(\n skillset: string | SearchIndexerSkillset,\n options: DeleteSkillsetOptions = {}\n ): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-deleteSkillset\", options);\n try {\n const skillsetName: string = typeof skillset === \"string\" ? skillset : skillset.name;\n const etag =\n typeof skillset === \"string\"\n ? undefined\n : options.onlyIfUnchanged\n ? skillset.etag\n : undefined;\n\n await this.client.skillsets.delete(skillsetName, {\n ...updatedOptions,\n ifMatch: etag,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Returns the current status and execution history of an indexer.\n * @param indexerName - The name of the indexer.\n * @param options - Additional optional arguments.\n */\n public async getIndexerStatus(\n indexerName: string,\n options: GetIndexerStatusOptions = {}\n ): Promise<SearchIndexerStatus> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-getIndexerStatus\", options);\n try {\n const result = await this.client.indexers.getStatus(indexerName, updatedOptions);\n return result;\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Resets the change tracking state associated with an indexer.\n * @param indexerName - The name of the indexer to reset.\n * @param options - Additional optional arguments.\n */\n public async resetIndexer(indexerName: string, options: ResetIndexerOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-resetIndexer\", options);\n try {\n await this.client.indexers.reset(indexerName, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Runs an indexer on-demand.\n * @param indexerName - The name of the indexer to run.\n * @param options - Additional optional arguments.\n */\n public async runIndexer(indexerName: string, options: RunIndexerOptions = {}): Promise<void> {\n const { span, updatedOptions } = createSpan(\"SearchIndexerClient-runIndexer\", options);\n try {\n await this.client.indexers.run(indexerName, updatedOptions);\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e.message,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nfunction formatNullAndUndefined(input: unknown): string | unknown {\n if (input === null || input === undefined) {\n return \"null\";\n }\n\n return input;\n}\n\nfunction escapeQuotesIfString(input: unknown, previous: string): string | unknown {\n let result = input;\n\n if (typeof input === \"string\") {\n result = input.replace(/'/g, \"''\");\n // check if we need to escape this literal\n if (!previous.trim().endsWith(\"'\")) {\n result = `'${result}'`;\n }\n }\n\n return result;\n}\n\n/**\n * Escapes an odata filter expression to avoid errors with quoting string literals.\n * Example usage:\n * ```ts\n * const baseRateMax = 200;\n * const ratingMin = 4;\n * const filter = odata`Rooms/any(room: room/BaseRate lt ${baseRateMax}) and Rating ge ${ratingMin}`;\n * ```\n * For more information on supported syntax see: https://docs.microsoft.com/en-us/azure/search/search-query-odata-filter\n * @param strings - Array of strings for the expression\n * @param values - Array of values for the expression\n */\nexport function odata(strings: TemplateStringsArray, ...values: unknown[]): string {\n const results = [];\n for (let i = 0; i < strings.length; i++) {\n results.push(strings[i]);\n if (i < values.length) {\n if (values[i] === null || values[i] === undefined) {\n results.push(formatNullAndUndefined(values[i]));\n } else {\n results.push(escapeQuotesIfString(values[i], strings[i]));\n }\n }\n }\n return results.join(\"\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { SynonymMap } from \"./serviceModels\";\nimport { promisify } from \"util\";\nimport * as fs from \"fs\";\nconst readFileAsync = promisify(fs.readFile);\n\n/**\n * Helper method to create a SynonymMap object. This is a NodeJS only method.\n *\n * @param name - Name of the SynonymMap.\n * @param filePath - Path of the file that contains the Synonyms (seperated by new lines)\n * @returns SynonymMap object\n */\nexport async function createSynonymMapFromFile(\n name: string,\n filePath: string\n): Promise<SynonymMap> {\n const synonyms: string[] = (await readFileAsync(filePath, \"utf-8\"))\n .replace(/\\r/g, \"\")\n .split(\"\\n\")\n .map((line) => line.trim())\n .filter(Boolean);\n\n return {\n name,\n synonyms,\n };\n}\n"],"names":["SearchError","accept","endpoint","indexName","apiVersion","select","contentType","SearchRequestMapper","SuggestRequestMapper","IndexBatchMapper","AutocompleteRequestMapper","getOperationSpec","serializer","coreClient","Mappers","Mappers.SearchError","Parameters.apiVersion","Parameters.endpoint","Parameters.indexName","Parameters.accept","Mappers.SearchDocumentsResult","Parameters.searchText","Parameters.includeTotalResultCount","Parameters.facets","Parameters.filter","Parameters.highlightFields","Parameters.highlightPostTag","Parameters.highlightPreTag","Parameters.minimumCoverage","Parameters.orderBy","Parameters.queryType","Parameters.scoringParameters","Parameters.scoringProfile","Parameters.searchFields","Parameters.searchMode","Parameters.scoringStatistics","Parameters.sessionId","Parameters.select","Parameters.skip","Parameters.top","Parameters.searchRequest","Parameters.contentType","Parameters.selectedFields","Parameters.key","Mappers.SuggestDocumentsResult","Parameters.searchText1","Parameters.suggesterName","Parameters.filter1","Parameters.useFuzzyMatching","Parameters.highlightPostTag1","Parameters.highlightPreTag1","Parameters.minimumCoverage1","Parameters.orderBy1","Parameters.searchFields1","Parameters.select1","Parameters.top1","Parameters.suggestRequest","Mappers.IndexDocumentsResult","Parameters.batch","Mappers.AutocompleteResult","Parameters.autocompleteMode","Parameters.filter2","Parameters.useFuzzyMatching1","Parameters.highlightPostTag2","Parameters.highlightPreTag2","Parameters.minimumCoverage2","Parameters.searchFields2","Parameters.top2","Parameters.autocompleteRequest","SearchClient","createClientLogger","createTracingClient","WorldGeodeticSystem1984","KnownTokenizerNames","KnownTokenFilterNames","KnownCharFilterNames","KnownAnalyzerNames","__rest","KnownSearchAudience","utils.defaultServiceVersion","GeneratedClient","isTokenCredential","bearerTokenAuthenticationPolicy","utils.generatedSearchResultToPublicSearchResult","__await","__asyncDelegator","__asyncValues","utils.generatedSuggestDocumentsResultToPublicSuggestDocumentsResult","EventEmitter","SearchIndexerDataSourceMapper","SearchIndexerMapper","SearchIndexerSkillsetMapper","SynonymMapMapper","SearchIndexMapper","AnalyzeRequestMapper","createOrUpdateOperationSpec","deleteOperationSpec","listOperationSpec","createOperationSpec","Mappers.SearchIndexerDataSource","Parameters.dataSource","Parameters.dataSourceName","Parameters.ifMatch","Parameters.ifNoneMatch","Parameters.prefer","Mappers.ListDataSourcesResult","Parameters.indexerName","Mappers.SearchIndexer","Parameters.indexer","Mappers.ListIndexersResult","Mappers.SearchIndexerStatus","Mappers.SearchIndexerSkillset","Parameters.skillset","Parameters.skillsetName","Mappers.ListSkillsetsResult","Mappers.SynonymMap","Parameters.synonymMap","Parameters.synonymMapName","Mappers.ListSynonymMapsResult","Mappers.SearchIndex","Parameters.index","Mappers.ListIndexesResult","Parameters.allowIndexDowntime","Mappers.GetIndexStatisticsResult","Mappers.AnalyzeResult","Parameters.request","Mappers.ServiceStatistics","utils.generatedIndexToPublicIndex","utils.generatedSynonymMapToPublicSynonymMap","utils.publicIndexToGeneratedIndex","utils.publicSynonymMapToGeneratedSynonymMap","utils.generatedSearchIndexerToPublicSearchIndexer","utils.generatedDataSourceToPublicDataSource","utils.generatedSkillsetToPublicSkillset","utils.publicSearchIndexerToGeneratedSearchIndexer","utils.publicDataSourceToGeneratedDataSource","utils.publicSkillsetToGeneratedSkillset","promisify","fs"],"mappings":"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"}
|