@azure/app-configuration 1.3.2-alpha.20220401.1 → 1.4.0-alpha.20220412.2
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/CHANGELOG.md +15 -7
- package/dist/index.js +175 -423
- package/dist/index.js.map +1 -1
- package/dist-esm/src/appConfigCredential.js +24 -30
- package/dist-esm/src/appConfigCredential.js.map +1 -1
- package/dist-esm/src/appConfigurationClient.js +63 -81
- package/dist-esm/src/appConfigurationClient.js.map +1 -1
- package/dist-esm/src/generated/src/appConfiguration.js +47 -89
- package/dist-esm/src/generated/src/appConfiguration.js.map +1 -1
- package/dist-esm/src/generated/src/index.js +0 -1
- package/dist-esm/src/generated/src/index.js.map +1 -1
- package/dist-esm/src/generated/src/models/index.js +78 -1
- package/dist-esm/src/generated/src/models/index.js.map +1 -1
- package/dist-esm/src/generated/src/models/mappers.js.map +1 -1
- package/dist-esm/src/generated/src/models/parameters.js +7 -8
- package/dist-esm/src/generated/src/models/parameters.js.map +1 -1
- package/dist-esm/src/internal/helpers.js +35 -18
- package/dist-esm/src/internal/helpers.js.map +1 -1
- package/dist-esm/src/internal/synctokenpolicy.js +9 -18
- package/dist-esm/src/internal/synctokenpolicy.js.map +1 -1
- package/dist-esm/src/internal/tracing.js +11 -0
- package/dist-esm/src/internal/tracing.js.map +1 -0
- package/dist-esm/src/models.js.map +1 -1
- package/dist-esm/test/internal/helpers.spec.js +3 -12
- package/dist-esm/test/internal/helpers.spec.js.map +1 -1
- package/dist-esm/test/internal/http.spec.js +2 -14
- package/dist-esm/test/internal/http.spec.js.map +1 -1
- package/dist-esm/test/internal/node/throttlingRetryPolicy.spec.js +6 -5
- package/dist-esm/test/internal/node/throttlingRetryPolicy.spec.js.map +1 -1
- package/dist-esm/test/public/auth.spec.js +1 -1
- package/dist-esm/test/public/auth.spec.js.map +1 -1
- package/dist-esm/test/public/etags.spec.js +1 -2
- package/dist-esm/test/public/etags.spec.js.map +1 -1
- package/dist-esm/test/public/index.readonlytests.spec.js +6 -1
- package/dist-esm/test/public/index.readonlytests.spec.js.map +1 -1
- package/dist-esm/test/public/index.spec.js +23 -8
- package/dist-esm/test/public/index.spec.js.map +1 -1
- package/dist-esm/test/public/secretReference.spec.js.map +1 -1
- package/dist-esm/test/public/throwOrNotThrow.spec.js +1 -1
- package/dist-esm/test/public/throwOrNotThrow.spec.js.map +1 -1
- package/dist-esm/test/public/tracing.spec.js +34 -0
- package/dist-esm/test/public/tracing.spec.js.map +1 -0
- package/dist-esm/test/public/utils/testHelpers.js.map +1 -1
- package/package.json +12 -4
- package/types/app-configuration.d.ts +5 -14
- package/dist-esm/src/generated/src/appConfigurationContext.js +0 -46
- package/dist-esm/src/generated/src/appConfigurationContext.js.map +0 -1
- package/dist-esm/src/internal/tracingHelpers.js +0 -46
- package/dist-esm/src/internal/tracingHelpers.js.map +0 -1
- package/dist-esm/src/policies/throttlingRetryPolicy.js +0 -126
- package/dist-esm/src/policies/throttlingRetryPolicy.js.map +0 -1
- package/dist-esm/test/internal/throttlingRetryPolicyTests.spec.js +0 -145
- package/dist-esm/test/internal/throttlingRetryPolicyTests.spec.js.map +0 -1
- package/dist-esm/test/internal/tracingHelpers.spec.js +0 -112
- package/dist-esm/test/internal/tracingHelpers.spec.js.map +0 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/internal/cryptoHelpers.ts","../src/appConfigCredential.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/appConfigurationContext.ts","../src/generated/src/appConfiguration.ts","../src/policies/throttlingRetryPolicy.ts","../src/featureFlag.ts","../src/secretReference.ts","../src/internal/typeguards.ts","../src/internal/helpers.ts","../src/internal/tracingHelpers.ts","../src/internal/synctokenpolicy.ts","../src/appConfigurationClient.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createHash, createHmac } from \"crypto\";\n\n/**\n * @internal\n */\nexport async function sha256Digest(body: string | undefined): Promise<string> {\n return createHash(\"sha256\")\n .update(body || \"\")\n .digest(\"base64\");\n}\n\n/**\n * @internal\n */\nexport async function sha256Hmac(secret: string, stringToSign: string): Promise<string> {\n const decodedSecret = Buffer.from(secret, \"base64\");\n\n return createHmac(\"sha256\", decodedSecret).update(stringToSign).digest(\"base64\");\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n ServiceClientCredentials,\n WebResource,\n URLBuilder,\n WebResourceLike,\n} from \"@azure/core-http\";\nimport { sha256Digest, sha256Hmac } from \"./internal/cryptoHelpers\";\n\n/**\n * @internal\n */\nexport class AppConfigCredential implements ServiceClientCredentials {\n private credential: string;\n private secret: string;\n\n constructor(credential: string, secret: string) {\n this.credential = credential;\n this.secret = secret;\n }\n\n /**\n * Signs a request with the values provided in the credential and secret parameter.\n *\n * @param webResource - The WebResource to be signed.\n * @returns The signed request object.\n */\n async signRequest(webResource: WebResourceLike): Promise<WebResource> {\n const verb = webResource.method.toUpperCase();\n const utcNow = new Date().toUTCString();\n\n const contentHash = await sha256Digest(webResource.body || \"\");\n\n const signedHeaders = \"x-ms-date;host;x-ms-content-sha256\";\n\n const url = URLBuilder.parse(webResource.url);\n const query = url.getQuery();\n const urlPathAndQuery = `${url.getPath()}${query ? \"?\" + query : \"\"}`;\n\n const stringToSign = `${verb}\\n${urlPathAndQuery}\\n${utcNow};${url.getHost()};${contentHash}`;\n\n const signature = await sha256Hmac(this.secret, stringToSign);\n\n webResource.headers.set(\"x-ms-date\", utcNow);\n webResource.headers.set(\"x-ms-content-sha256\", contentHash);\n // Syntax for Authorization header\n // Reference - https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-authentication-hmac#syntax\n webResource.headers.set(\n \"Authorization\",\n `HMAC-SHA256 Credential=${this.credential}&SignedHeaders=${signedHeaders}&Signature=${signature}`\n );\n return webResource;\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 coreHttp from \"@azure/core-http\";\n\nexport const KeyListResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Key\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Key: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Key\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n detail: {\n serializedName: \"detail\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const KeyValueListResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyValueListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"KeyValue\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const KeyValue: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyValue\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n label: {\n serializedName: \"label\",\n type: {\n name: \"String\"\n }\n },\n contentType: {\n serializedName: \"content_type\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last_modified\",\n type: {\n name: \"DateTime\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n locked: {\n serializedName: \"locked\",\n type: {\n name: \"Boolean\"\n }\n },\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LabelListResult: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabelListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Label\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Label: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Label\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeysHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeysHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeysHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeysHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValuesHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValuesHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeyValuesHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeyValuesHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValueHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last-modified\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationPutKeyValueHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationPutKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationDeleteKeyValueHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationDeleteKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeyValueHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last-modified\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetLabelsHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetLabelsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckLabelsHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckLabelsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationPutLockHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationPutLockHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationDeleteLockHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationDeleteLockHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetRevisionsHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetRevisionsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckRevisionsHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckRevisionsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeysNextHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeysNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValuesNextHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValuesNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetLabelsNextHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetLabelsNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetRevisionsNextHeaders: coreHttp.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetRevisionsNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\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 QueryCollectionFormat\n} from \"@azure/core-http\";\nimport { KeyValue as KeyValueMapper } from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.keyset+json, application/json, application/problem+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 name: OperationQueryParameter = {\n parameterPath: [\"options\", \"name\"],\n mapper: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const syncToken: OperationParameter = {\n parameterPath: \"syncToken\",\n mapper: {\n serializedName: \"Sync-Token\",\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 after: OperationQueryParameter = {\n parameterPath: [\"options\", \"after\"],\n mapper: {\n serializedName: \"After\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const acceptDatetime: OperationParameter = {\n parameterPath: [\"options\", \"acceptDatetime\"],\n mapper: {\n serializedName: \"Accept-Datetime\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept1: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.kvset+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const key: OperationQueryParameter = {\n parameterPath: [\"options\", \"key\"],\n mapper: {\n serializedName: \"key\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const label: OperationQueryParameter = {\n parameterPath: [\"options\", \"label\"],\n mapper: {\n serializedName: \"label\",\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: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const select1: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const accept2: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.kv+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const key1: OperationURLParameter = {\n parameterPath: \"key\",\n mapper: {\n serializedName: \"key\",\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 select2: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/vnd.microsoft.appconfig.kv+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const entity: OperationParameter = {\n parameterPath: [\"options\", \"entity\"],\n mapper: KeyValueMapper\n};\n\nexport const select3: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const accept3: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.labelset+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select4: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n defaultValue: \"name\",\n isConstant: true,\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const select5: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const select6: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: QueryCollectionFormat.Csv\n};\n\nexport const nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\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 coreHttp from \"@azure/core-http\";\nimport { ApiVersion10, AppConfigurationOptionalParams } from \"./models\";\n\nconst packageName = \"app-configuration\";\nconst packageVersion = \"1.3.2\";\n\n/** @internal */\nexport class AppConfigurationContext extends coreHttp.ServiceClient {\n endpoint: string;\n syncToken?: string;\n apiVersion: ApiVersion10;\n\n /**\n * Initializes a new instance of the AppConfigurationContext class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param endpoint The endpoint of the App Configuration instance to send requests to.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials,\n endpoint: string,\n apiVersion: ApiVersion10,\n options?: AppConfigurationOptionalParams\n ) {\n if (credentials === undefined) {\n throw new Error(\"'credentials' cannot be null\");\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\n if (!options.userAgent) {\n const defaultUserAgent = coreHttp.getDefaultUserAgentValue();\n options.userAgent = `${packageName}/${packageVersion} ${defaultUserAgent}`;\n }\n\n super(credentials, options);\n\n this.requestContentType = \"application/json; charset=utf-8\";\n\n this.baseUri = options.endpoint || \"{endpoint}\";\n\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 coreHttp from \"@azure/core-http\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport { AppConfigurationContext } from \"./appConfigurationContext\";\nimport {\n AppConfigurationOptionalParams,\n ApiVersion10,\n AppConfigurationGetKeysOptionalParams,\n AppConfigurationGetKeysResponse,\n AppConfigurationCheckKeysOptionalParams,\n AppConfigurationCheckKeysResponse,\n AppConfigurationGetKeyValuesOptionalParams,\n AppConfigurationGetKeyValuesResponse,\n AppConfigurationCheckKeyValuesOptionalParams,\n AppConfigurationCheckKeyValuesResponse,\n AppConfigurationGetKeyValueOptionalParams,\n AppConfigurationGetKeyValueResponse,\n AppConfigurationPutKeyValueOptionalParams,\n AppConfigurationPutKeyValueResponse,\n AppConfigurationDeleteKeyValueOptionalParams,\n AppConfigurationDeleteKeyValueResponse,\n AppConfigurationCheckKeyValueOptionalParams,\n AppConfigurationCheckKeyValueResponse,\n AppConfigurationGetLabelsOptionalParams,\n AppConfigurationGetLabelsResponse,\n AppConfigurationCheckLabelsOptionalParams,\n AppConfigurationCheckLabelsResponse,\n AppConfigurationPutLockOptionalParams,\n AppConfigurationPutLockResponse,\n AppConfigurationDeleteLockOptionalParams,\n AppConfigurationDeleteLockResponse,\n AppConfigurationGetRevisionsOptionalParams,\n AppConfigurationGetRevisionsResponse,\n AppConfigurationCheckRevisionsOptionalParams,\n AppConfigurationCheckRevisionsResponse,\n AppConfigurationGetKeysNextOptionalParams,\n AppConfigurationGetKeysNextResponse,\n AppConfigurationGetKeyValuesNextOptionalParams,\n AppConfigurationGetKeyValuesNextResponse,\n AppConfigurationGetLabelsNextOptionalParams,\n AppConfigurationGetLabelsNextResponse,\n AppConfigurationGetRevisionsNextOptionalParams,\n AppConfigurationGetRevisionsNextResponse\n} from \"./models\";\n\n/** @internal */\nexport class AppConfiguration extends AppConfigurationContext {\n /**\n * Initializes a new instance of the AppConfiguration class.\n * @param credentials Subscription credentials which uniquely identify client subscription.\n * @param endpoint The endpoint of the App Configuration instance to send requests to.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n credentials: coreHttp.TokenCredential | coreHttp.ServiceClientCredentials,\n endpoint: string,\n apiVersion: ApiVersion10,\n options?: AppConfigurationOptionalParams\n ) {\n super(credentials, endpoint, apiVersion, options);\n }\n\n /**\n * Gets a list of keys.\n * @param options The options parameters.\n */\n getKeys(\n options?: AppConfigurationGetKeysOptionalParams\n ): Promise<AppConfigurationGetKeysResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getKeysOperationSpec\n ) as Promise<AppConfigurationGetKeysResponse>;\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkKeys(\n options?: AppConfigurationCheckKeysOptionalParams\n ): Promise<AppConfigurationCheckKeysResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n checkKeysOperationSpec\n ) as Promise<AppConfigurationCheckKeysResponse>;\n }\n\n /**\n * Gets a list of key-values.\n * @param options The options parameters.\n */\n getKeyValues(\n options?: AppConfigurationGetKeyValuesOptionalParams\n ): Promise<AppConfigurationGetKeyValuesResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getKeyValuesOperationSpec\n ) as Promise<AppConfigurationGetKeyValuesResponse>;\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkKeyValues(\n options?: AppConfigurationCheckKeyValuesOptionalParams\n ): Promise<AppConfigurationCheckKeyValuesResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n checkKeyValuesOperationSpec\n ) as Promise<AppConfigurationCheckKeyValuesResponse>;\n }\n\n /**\n * Gets a single key-value.\n * @param key The key of the key-value to retrieve.\n * @param options The options parameters.\n */\n getKeyValue(\n key: string,\n options?: AppConfigurationGetKeyValueOptionalParams\n ): Promise<AppConfigurationGetKeyValueResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getKeyValueOperationSpec\n ) as Promise<AppConfigurationGetKeyValueResponse>;\n }\n\n /**\n * Creates a key-value.\n * @param key The key of the key-value to create.\n * @param options The options parameters.\n */\n putKeyValue(\n key: string,\n options?: AppConfigurationPutKeyValueOptionalParams\n ): Promise<AppConfigurationPutKeyValueResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n putKeyValueOperationSpec\n ) as Promise<AppConfigurationPutKeyValueResponse>;\n }\n\n /**\n * Deletes a key-value.\n * @param key The key of the key-value to delete.\n * @param options The options parameters.\n */\n deleteKeyValue(\n key: string,\n options?: AppConfigurationDeleteKeyValueOptionalParams\n ): Promise<AppConfigurationDeleteKeyValueResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n deleteKeyValueOperationSpec\n ) as Promise<AppConfigurationDeleteKeyValueResponse>;\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param key The key of the key-value to retrieve.\n * @param options The options parameters.\n */\n checkKeyValue(\n key: string,\n options?: AppConfigurationCheckKeyValueOptionalParams\n ): Promise<AppConfigurationCheckKeyValueResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n checkKeyValueOperationSpec\n ) as Promise<AppConfigurationCheckKeyValueResponse>;\n }\n\n /**\n * Gets a list of labels.\n * @param options The options parameters.\n */\n getLabels(\n options?: AppConfigurationGetLabelsOptionalParams\n ): Promise<AppConfigurationGetLabelsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getLabelsOperationSpec\n ) as Promise<AppConfigurationGetLabelsResponse>;\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkLabels(\n options?: AppConfigurationCheckLabelsOptionalParams\n ): Promise<AppConfigurationCheckLabelsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n checkLabelsOperationSpec\n ) as Promise<AppConfigurationCheckLabelsResponse>;\n }\n\n /**\n * Locks a key-value.\n * @param key The key of the key-value to lock.\n * @param options The options parameters.\n */\n putLock(\n key: string,\n options?: AppConfigurationPutLockOptionalParams\n ): Promise<AppConfigurationPutLockResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n putLockOperationSpec\n ) as Promise<AppConfigurationPutLockResponse>;\n }\n\n /**\n * Unlocks a key-value.\n * @param key The key of the key-value to unlock.\n * @param options The options parameters.\n */\n deleteLock(\n key: string,\n options?: AppConfigurationDeleteLockOptionalParams\n ): Promise<AppConfigurationDeleteLockResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n key,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n deleteLockOperationSpec\n ) as Promise<AppConfigurationDeleteLockResponse>;\n }\n\n /**\n * Gets a list of key-value revisions.\n * @param options The options parameters.\n */\n getRevisions(\n options?: AppConfigurationGetRevisionsOptionalParams\n ): Promise<AppConfigurationGetRevisionsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getRevisionsOperationSpec\n ) as Promise<AppConfigurationGetRevisionsResponse>;\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkRevisions(\n options?: AppConfigurationCheckRevisionsOptionalParams\n ): Promise<AppConfigurationCheckRevisionsResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n checkRevisionsOperationSpec\n ) as Promise<AppConfigurationCheckRevisionsResponse>;\n }\n\n /**\n * GetKeysNext\n * @param nextLink The nextLink from the previous successful call to the GetKeys method.\n * @param options The options parameters.\n */\n getKeysNext(\n nextLink: string,\n options?: AppConfigurationGetKeysNextOptionalParams\n ): Promise<AppConfigurationGetKeysNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getKeysNextOperationSpec\n ) as Promise<AppConfigurationGetKeysNextResponse>;\n }\n\n /**\n * GetKeyValuesNext\n * @param nextLink The nextLink from the previous successful call to the GetKeyValues method.\n * @param options The options parameters.\n */\n getKeyValuesNext(\n nextLink: string,\n options?: AppConfigurationGetKeyValuesNextOptionalParams\n ): Promise<AppConfigurationGetKeyValuesNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getKeyValuesNextOperationSpec\n ) as Promise<AppConfigurationGetKeyValuesNextResponse>;\n }\n\n /**\n * GetLabelsNext\n * @param nextLink The nextLink from the previous successful call to the GetLabels method.\n * @param options The options parameters.\n */\n getLabelsNext(\n nextLink: string,\n options?: AppConfigurationGetLabelsNextOptionalParams\n ): Promise<AppConfigurationGetLabelsNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getLabelsNextOperationSpec\n ) as Promise<AppConfigurationGetLabelsNextResponse>;\n }\n\n /**\n * GetRevisionsNext\n * @param nextLink The nextLink from the previous successful call to the GetRevisions method.\n * @param options The options parameters.\n */\n getRevisionsNext(\n nextLink: string,\n options?: AppConfigurationGetRevisionsNextOptionalParams\n ): Promise<AppConfigurationGetRevisionsNextResponse> {\n const operationArguments: coreHttp.OperationArguments = {\n nextLink,\n options: coreHttp.operationOptionsToRequestOptionsBase(options || {})\n };\n return this.sendOperationRequest(\n operationArguments,\n getRevisionsNextOperationSpec\n ) as Promise<AppConfigurationGetRevisionsNextResponse>;\n }\n}\n// Operation Specifications\nconst serializer = new coreHttp.Serializer(Mappers, /* isXml */ false);\n\nconst getKeysOperationSpec: coreHttp.OperationSpec = {\n path: \"/keys\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyListResult,\n headersMapper: Mappers.AppConfigurationGetKeysHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.accept,\n Parameters.syncToken,\n Parameters.acceptDatetime\n ],\n serializer\n};\nconst checkKeysOperationSpec: coreHttp.OperationSpec = {\n path: \"/keys\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeysHeaders\n },\n default: {}\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeyValuesOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetKeyValuesHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst checkKeyValuesOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeyValuesHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select1\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeyValueOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationGetKeyValueHeaders\n },\n 304: {\n headersMapper: Mappers.AppConfigurationGetKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.label,\n Parameters.select2\n ],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst putKeyValueOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationPutKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n requestBody: Parameters.entity,\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.contentType\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteKeyValueOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationDeleteKeyValueHeaders\n },\n 204: {\n headersMapper: Mappers.AppConfigurationDeleteKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch\n ],\n serializer\n};\nconst checkKeyValueOperationSpec: coreHttp.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeyValueHeaders\n },\n 304: {\n headersMapper: Mappers.AppConfigurationCheckKeyValueHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.label,\n Parameters.select3\n ],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getLabelsOperationSpec: coreHttp.OperationSpec = {\n path: \"/labels\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabelListResult,\n headersMapper: Mappers.AppConfigurationGetLabelsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept3\n ],\n serializer\n};\nconst checkLabelsOperationSpec: coreHttp.OperationSpec = {\n path: \"/labels\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckLabelsHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst putLockOperationSpec: coreHttp.OperationSpec = {\n path: \"/locks/{key}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationPutLockHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst deleteLockOperationSpec: coreHttp.OperationSpec = {\n path: \"/locks/{key}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationDeleteLockHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getRevisionsOperationSpec: coreHttp.OperationSpec = {\n path: \"/revisions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetRevisionsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select5\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst checkRevisionsOperationSpec: coreHttp.OperationSpec = {\n path: \"/revisions\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckRevisionsHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select6\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeysNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyListResult,\n headersMapper: Mappers.AppConfigurationGetKeysNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.accept,\n Parameters.syncToken,\n Parameters.acceptDatetime\n ],\n serializer\n};\nconst getKeyValuesNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetKeyValuesNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst getLabelsNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabelListResult,\n headersMapper: Mappers.AppConfigurationGetLabelsNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept3\n ],\n serializer\n};\nconst getRevisionsNextOperationSpec: coreHttp.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetRevisionsNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select5\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { AbortError } from \"@azure/abort-controller\";\nimport {\n BaseRequestPolicy,\n RequestPolicy,\n RequestPolicyOptions,\n RequestPolicyFactory,\n WebResource,\n HttpOperationResponse,\n Constants,\n RestError,\n} from \"@azure/core-http\";\nimport { delay } from \"@azure/core-http\";\nimport { RetryOptions } from \"../models\";\n\n/**\n * @internal\n */\nexport function throttlingRetryPolicy(retryOptions?: RetryOptions): RequestPolicyFactory {\n return {\n create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => {\n return new ThrottlingRetryPolicy(nextPolicy, options, retryOptions);\n },\n };\n}\n\nconst StandardAbortMessage = \"The operation was aborted.\";\n\n// Merge this constant with the one in core-http when we unify throttling retry policy in core-http and app-config\nconst DEFAULT_CLIENT_RETRY_COUNT = 3;\n\n/**\n * This policy is a close copy of the ThrottlingRetryPolicy class from\n * core-http with modifications to work with how AppConfig is currently\n * responding to 429 responses (which is to throw a RestError).\n *\n * @internal\n */\nexport class ThrottlingRetryPolicy extends BaseRequestPolicy {\n private numberOfRetries = 0;\n constructor(\n nextPolicy: RequestPolicy,\n options: RequestPolicyOptions,\n private retryOptions: RetryOptions = { maxRetries: DEFAULT_CLIENT_RETRY_COUNT }\n ) {\n super(nextPolicy, options);\n }\n\n public async sendRequest(httpRequest: WebResource): Promise<HttpOperationResponse> {\n return this._nextPolicy.sendRequest(httpRequest.clone()).catch(async (err) => {\n if (isRestErrorWithHeaders(err)) {\n let delayInMs = getDelayInMs(err.response.headers);\n\n if (delayInMs == null) {\n throw err;\n }\n\n if (\n this.retryOptions.maxRetryDelayInMs &&\n delayInMs > this.retryOptions.maxRetryDelayInMs\n ) {\n delayInMs = this.retryOptions.maxRetryDelayInMs;\n }\n\n this.numberOfRetries += 1;\n await delay(delayInMs, undefined, {\n abortSignal: httpRequest.abortSignal,\n abortErrorMsg: StandardAbortMessage,\n });\n if (httpRequest.abortSignal?.aborted) {\n throw new AbortError(StandardAbortMessage);\n }\n\n if (this.retryOptions.maxRetries === undefined || this.retryOptions.maxRetries === null) {\n this.retryOptions.maxRetries = DEFAULT_CLIENT_RETRY_COUNT;\n }\n\n if (this.numberOfRetries < this.retryOptions.maxRetries) {\n // retries\n return this.sendRequest(httpRequest.clone());\n } else {\n // passes on to the next policy\n return this._nextPolicy.sendRequest(httpRequest.clone());\n }\n } else {\n throw err;\n }\n });\n }\n\n static parseRetryAfterHeader(headerValue: string): number | undefined {\n const retryAfterInSeconds = Number(headerValue);\n if (Number.isNaN(retryAfterInSeconds)) {\n return ThrottlingRetryPolicy.parseDateRetryAfterHeader(headerValue);\n } else {\n return retryAfterInSeconds * 1000;\n }\n }\n\n static parseDateRetryAfterHeader(headerValue: string): number | undefined {\n try {\n const now: number = Date.now();\n const date: number = Date.parse(headerValue);\n const diff = date - now;\n\n return Number.isNaN(diff) ? undefined : diff;\n } catch (error) {\n return undefined;\n }\n }\n}\n\n/**\n * The headers that come back from Azure services representing\n * the amount of time (minimum) to wait to retry (in milliseconds).\n */\nconst RetryAfterMillisecondsHeaders: string[] = [\"retry-after-ms\", \"x-ms-retry-after-ms\"];\n\n/**\n * Extracts the retry response header, checking against several\n * header names.\n * @internal\n */\nexport function getDelayInMs(responseHeaders: {\n get: (headerName: string) => string | undefined;\n}): number | undefined {\n for (const name of RetryAfterMillisecondsHeaders) {\n const delayValueString = responseHeaders.get(name);\n\n if (delayValueString == null) {\n continue;\n }\n\n const delayValueMs: number = Number(delayValueString);\n\n if (Number.isNaN(delayValueMs)) {\n return undefined;\n }\n\n return delayValueMs;\n }\n\n const retryAfterValue = responseHeaders.get(Constants.HeaderConstants.RETRY_AFTER);\n\n if (retryAfterValue != null) {\n return ThrottlingRetryPolicy.parseRetryAfterHeader(retryAfterValue);\n }\n\n return undefined;\n}\n\ntype RestErrorWithHeaders = Pick<RestError, Exclude<keyof RestError, \"response\">> & {\n response: HttpOperationResponse;\n};\n\nfunction isRestErrorWithHeaders(err: any): err is RestErrorWithHeaders {\n return (\n err &&\n err.statusCode &&\n typeof err.statusCode === \"number\" &&\n err.response &&\n err.response.headers &&\n typeof err.response.headers.get === \"function\"\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { JsonFeatureFlagValue } from \"./internal/jsonModels\";\nimport { ConfigurationSetting, ConfigurationSettingParam } from \"./models\";\n\n/**\n * The prefix for feature flags.\n */\nexport const featureFlagPrefix = \".appconfig.featureflag/\";\n\n/**\n * The content type for a FeatureFlag\n */\nexport const featureFlagContentType = \"application/vnd.microsoft.appconfig.ff+json;charset=utf-8\";\n\n/**\n * Value of a feature flag\n */\nexport interface FeatureFlagValue {\n /**\n * Id for the feature flag.\n */\n id?: string;\n /**\n * A Feature filter consistently evaluates the state of a feature flag.\n * Our feature management library supports three types of built-in filters: Targeting, TimeWindow, and Percentage.\n * Custom filters can also be created based on different factors, such as device used, browser types, geographic location, etc.\n *\n * [More Info](https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-aspnet-core)\n */\n conditions: {\n clientFilters: { name: string; parameters?: Record<string, unknown> }[];\n };\n /**\n * Description of the feature.\n */\n description?: string;\n /**\n * Boolean flag to say if the feature flag is enabled.\n */\n enabled: boolean;\n /**\n * Display name for the feature to use for display rather than the ID.\n */\n displayName?: string;\n}\n\n/**\n * @internal\n */\nexport const FeatureFlagHelper = {\n /**\n * Takes the FeatureFlag (JSON) and returns a ConfigurationSetting (with the props encodeed in the value).\n */\n toConfigurationSettingParam: (\n featureFlag: ConfigurationSettingParam<FeatureFlagValue>\n ): ConfigurationSettingParam => {\n if (!featureFlag.value) {\n throw new TypeError(`FeatureFlag has an unexpected value - ${featureFlag.value}`);\n }\n let key = featureFlag.key;\n if (typeof featureFlag.key === \"string\" && !featureFlag.key.startsWith(featureFlagPrefix)) {\n key = featureFlagPrefix + featureFlag.key;\n }\n const jsonFeatureFlagValue: JsonFeatureFlagValue = {\n id: featureFlag.value.id ?? key.replace(featureFlagPrefix, \"\"),\n enabled: featureFlag.value.enabled,\n description: featureFlag.value.description,\n conditions: {\n client_filters: featureFlag.value.conditions.clientFilters,\n },\n display_name: featureFlag.value.displayName,\n };\n\n const configSetting = {\n ...featureFlag,\n key,\n value: JSON.stringify(jsonFeatureFlagValue),\n };\n return configSetting;\n },\n};\n\n/**\n * Takes the ConfigurationSetting as input and returns the ConfigurationSetting<FeatureFlagValue> by parsing the value string.\n */\nexport function parseFeatureFlag(\n setting: ConfigurationSetting\n): ConfigurationSetting<FeatureFlagValue> {\n if (!isFeatureFlag(setting)) {\n throw TypeError(\n `Setting with key ${setting.key} is not a valid FeatureFlag, make sure to have the correct content-type and a valid non-null value.`\n );\n }\n\n const jsonFeatureFlagValue = JSON.parse(setting.value) as JsonFeatureFlagValue;\n\n let key = setting.key;\n if (typeof setting.key === \"string\" && !setting.key.startsWith(featureFlagPrefix)) {\n key = featureFlagPrefix + setting.key;\n }\n const featureflag: ConfigurationSetting<FeatureFlagValue> = {\n ...setting,\n value: {\n id: jsonFeatureFlagValue.id,\n enabled: jsonFeatureFlagValue.enabled,\n description: jsonFeatureFlagValue.description,\n displayName: jsonFeatureFlagValue.display_name,\n conditions: { clientFilters: jsonFeatureFlagValue.conditions.client_filters },\n },\n key,\n contentType: featureFlagContentType,\n };\n return featureflag;\n}\n\n/**\n * Lets you know if the ConfigurationSetting is a feature flag.\n *\n * [Checks if the content type is featureFlagContentType `\"application/vnd.microsoft.appconfig.ff+json;charset=utf-8\"`]\n */\nexport function isFeatureFlag(\n setting: ConfigurationSetting\n): setting is ConfigurationSetting & Required<Pick<ConfigurationSetting, \"value\">> {\n return (\n setting && setting.contentType === featureFlagContentType && typeof setting.value === \"string\"\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { JsonSecretReferenceValue } from \"./internal/jsonModels\";\nimport { ConfigurationSetting, ConfigurationSettingParam } from \"./models\";\n\n/**\n * content-type for the secret reference.\n */\nexport const secretReferenceContentType =\n \"application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8\";\n\n/**\n * Necessary fields for updating or creating a new secret reference.\n */\nexport interface SecretReferenceValue {\n /**\n * Id for the secret reference.\n */\n secretId: string;\n}\n\n/**\n * @internal\n */\nexport const SecretReferenceHelper = {\n /**\n * Takes the SecretReference (JSON) and returns a ConfigurationSetting (with the props encodeed in the value).\n */\n toConfigurationSettingParam: (\n secretReference: ConfigurationSettingParam<SecretReferenceValue>\n ): ConfigurationSettingParam => {\n if (!secretReference.value) {\n throw new TypeError(`SecretReference has an unexpected value - ${secretReference.value}`);\n }\n\n const jsonSecretReferenceValue: JsonSecretReferenceValue = {\n uri: secretReference.value.secretId,\n };\n\n const configSetting = {\n ...secretReference,\n value: JSON.stringify(jsonSecretReferenceValue),\n };\n return configSetting;\n },\n};\n\n/**\n * Takes the ConfigurationSetting as input and returns the ConfigurationSetting<SecretReferenceValue> by parsing the value string.\n */\nexport function parseSecretReference(\n setting: ConfigurationSetting\n): ConfigurationSetting<SecretReferenceValue> {\n if (!isSecretReference(setting)) {\n throw TypeError(\n `Setting with key ${setting.key} is not a valid SecretReference, make sure to have the correct content-type and a valid non-null value.`\n );\n }\n\n const jsonSecretReferenceValue = JSON.parse(setting.value) as JsonSecretReferenceValue;\n\n const secretReference: ConfigurationSetting<SecretReferenceValue> = {\n ...setting,\n value: { secretId: jsonSecretReferenceValue.uri },\n };\n return secretReference;\n}\n\n/**\n * Lets you know if the ConfigurationSetting is a secret reference.\n *\n * [Checks if the content type is secretReferenceContentType `\"application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8\"`]\n */\nexport function isSecretReference(\n setting: ConfigurationSetting\n): setting is ConfigurationSetting & Required<Pick<ConfigurationSetting, \"value\">> {\n return (\n setting &&\n setting.contentType === secretReferenceContentType &&\n typeof setting.value === \"string\"\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Helper TypeGuard that checks if something is defined or not.\n * @param thing - Anything\n * @internal\n */\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return typeof thing !== \"undefined\" && thing !== null;\n}\n\n/**\n * Helper TypeGuard that checks if the input is an object with the specified properties.\n * @param thing - Anything.\n * @param properties - The name of the properties that should appear in the object.\n * @internal\n */\nexport function isObjectWithProperties<Thing extends unknown, PropertyName extends string>(\n thing: Thing,\n properties: PropertyName[]\n): thing is Thing & Record<PropertyName, unknown> {\n if (!isDefined(thing) || typeof thing !== \"object\") {\n return false;\n }\n\n for (const property of properties) {\n if (!objectHasProperty(thing, property)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Helper TypeGuard that checks if the input is an object with the specified property.\n * @param thing - Any object.\n * @param property - The name of the property that should appear in the object.\n * @internal\n */\nfunction objectHasProperty<Thing extends unknown, PropertyName extends string>(\n thing: Thing,\n property: PropertyName\n): thing is Thing & Record<PropertyName, unknown> {\n return typeof thing === \"object\" && property in (thing as Record<string, unknown>);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { URLBuilder } from \"@azure/core-http\";\nimport {\n ListConfigurationSettingsOptions,\n ListRevisionsOptions,\n ConfigurationSettingId,\n ConfigurationSetting,\n HttpResponseField,\n HttpResponseFields,\n HttpOnlyIfChangedField,\n HttpOnlyIfUnchangedField,\n ConfigurationSettingParam,\n} from \"../models\";\nimport { AppConfigurationGetKeyValuesOptionalParams, KeyValue } from \"../generated/src/models\";\nimport { featureFlagContentType, FeatureFlagHelper, FeatureFlagValue } from \"../featureFlag\";\nimport {\n secretReferenceContentType,\n SecretReferenceHelper,\n SecretReferenceValue,\n} from \"../secretReference\";\nimport { isDefined } from \"./typeguards\";\n\n/**\n * Formats the etag so it can be used with a If-Match/If-None-Match header\n * @internal\n */\nexport function quoteETag(etag: string | undefined): string | undefined {\n // https://tools.ietf.org/html/rfc7232#section-3.1\n if (etag === undefined || etag === \"*\") {\n return etag;\n }\n\n if (etag.startsWith('\"') && etag.endsWith('\"')) {\n return etag;\n }\n\n if (etag.startsWith(\"'\") && etag.endsWith(\"'\")) {\n return etag;\n }\n\n return `\"${etag}\"`;\n}\n\n/**\n * Checks the onlyIfChanged/onlyIfUnchanged properties to make sure we haven't specified both\n * and throws an Error. Otherwise, returns the properties properly quoted.\n * @param options - An options object with onlyIfChanged/onlyIfUnchanged fields\n * @internal\n */\nexport function checkAndFormatIfAndIfNoneMatch(\n configurationSetting: ConfigurationSettingId,\n options: HttpOnlyIfChangedField & HttpOnlyIfUnchangedField\n): { ifMatch: string | undefined; ifNoneMatch: string | undefined } {\n if (options.onlyIfChanged && options.onlyIfUnchanged) {\n throw new Error(\"onlyIfChanged and onlyIfUnchanged are mutually-exclusive\");\n }\n\n let ifMatch;\n let ifNoneMatch;\n\n if (options.onlyIfUnchanged) {\n ifMatch = quoteETag(configurationSetting.etag);\n }\n\n if (options.onlyIfChanged) {\n ifNoneMatch = quoteETag(configurationSetting.etag);\n }\n\n return {\n ifMatch: ifMatch,\n ifNoneMatch: ifNoneMatch,\n };\n}\n\n/**\n * Transforms some of the key fields in ListConfigurationSettingsOptions and ListRevisionsOptions\n * so they can be added to a request using AppConfigurationGetKeyValuesOptionalParams.\n * - `options.acceptDateTime` is converted into an ISO string\n * - `select` is populated with the proper field names from `options.fields`\n * - keyFilter and labelFilter are moved to key and label, respectively.\n *\n * @internal\n */\nexport function formatFiltersAndSelect(\n listConfigOptions: ListConfigurationSettingsOptions | ListRevisionsOptions\n): Pick<AppConfigurationGetKeyValuesOptionalParams, \"key\" | \"label\" | \"select\" | \"acceptDatetime\"> {\n let acceptDatetime: string | undefined = undefined;\n\n if (listConfigOptions.acceptDateTime) {\n acceptDatetime = listConfigOptions.acceptDateTime.toISOString();\n }\n\n return {\n key: listConfigOptions.keyFilter,\n label: listConfigOptions.labelFilter,\n acceptDatetime,\n select: formatFieldsForSelect(listConfigOptions.fields),\n };\n}\n\n/**\n * Handles translating a Date acceptDateTime into a string as needed by the API\n * @param newOptions - A newer style options with acceptDateTime as a date (and with proper casing!)\n * @internal\n */\nexport function formatAcceptDateTime(newOptions: { acceptDateTime?: Date }): {\n acceptDatetime?: string;\n} {\n return {\n acceptDatetime: newOptions.acceptDateTime && newOptions.acceptDateTime.toISOString(),\n };\n}\n\n/**\n * Take the URL that gets returned from next link and extract the 'after' token needed\n * to get the next page of results.\n * @internal\n */\nexport function extractAfterTokenFromNextLink(nextLink: string): string {\n const parsedLink = URLBuilder.parse(nextLink);\n const afterToken = parsedLink.getQueryParameterValue(\"after\");\n\n if (afterToken == null || Array.isArray(afterToken)) {\n throw new Error(\"Invalid nextLink - invalid after token\");\n }\n\n return decodeURIComponent(afterToken);\n}\n\n/**\n * Makes a ConfigurationSetting-based response throw for all of the data members. Used primarily\n * to prevent possible errors by the user in accessing a model that is uninitialized. This can happen\n * in cases like HTTP status code 204 or 304, which return an empty response body.\n *\n * @param configurationSetting - The configuration setting to alter\n */\nexport function makeConfigurationSettingEmpty(\n configurationSetting: Partial<Record<Exclude<keyof ConfigurationSetting, \"key\">, any>>\n): void {\n const names: Exclude<keyof ConfigurationSetting, \"key\">[] = [\n \"contentType\",\n \"etag\",\n \"label\",\n \"lastModified\",\n \"isReadOnly\",\n \"tags\",\n \"value\",\n ];\n\n for (const name of names) {\n configurationSetting[name] = undefined;\n }\n}\n\n/**\n * @internal\n */\nexport function transformKeyValue(kvp: KeyValue): ConfigurationSetting {\n const setting: ConfigurationSetting & KeyValue = {\n value: undefined,\n ...kvp,\n isReadOnly: !!kvp.locked,\n };\n\n delete setting.locked;\n\n return setting;\n}\n\n/**\n * @internal\n */\nfunction isConfigSettingWithSecretReferenceValue(\n setting: any\n): setting is ConfigurationSetting<SecretReferenceValue> {\n return (\n setting.contentType === secretReferenceContentType &&\n isDefined(setting.value) &&\n typeof setting.value !== \"string\"\n );\n}\n\n/**\n * @internal\n */\nfunction isConfigSettingWithFeatureFlagValue(\n setting: any\n): setting is ConfigurationSetting<FeatureFlagValue> {\n return (\n setting.contentType === featureFlagContentType &&\n isDefined(setting.value) &&\n typeof setting.value !== \"string\"\n );\n}\n\n/**\n * @internal\n */\nfunction isSimpleConfigSetting(setting: any): setting is ConfigurationSetting {\n return typeof setting.value === \"string\" || !isDefined(setting.value);\n}\n\n/**\n * @internal\n */\nexport function serializeAsConfigurationSettingParam(\n setting:\n | ConfigurationSettingParam\n | ConfigurationSettingParam<FeatureFlagValue>\n | ConfigurationSettingParam<SecretReferenceValue>\n): ConfigurationSettingParam {\n if (isSimpleConfigSetting(setting)) {\n return setting as ConfigurationSettingParam;\n }\n try {\n if (isConfigSettingWithFeatureFlagValue(setting)) {\n return FeatureFlagHelper.toConfigurationSettingParam(setting);\n }\n if (isConfigSettingWithSecretReferenceValue(setting)) {\n return SecretReferenceHelper.toConfigurationSettingParam(setting);\n }\n } catch (error) {\n return setting as ConfigurationSettingParam;\n }\n throw new TypeError(\n `Unable to serialize the setting with key \"${setting.key}\" as a configuration setting`\n );\n}\n\n/**\n * @internal\n */\nexport function transformKeyValueResponseWithStatusCode<\n T extends KeyValue & HttpResponseField<any>\n>(kvp: T): ConfigurationSetting & { eTag?: string } & HttpResponseField<any> & HttpResponseFields {\n return normalizeResponse(kvp, <\n ConfigurationSetting & HttpResponseField<any> & HttpResponseFields\n >{\n ...transformKeyValue(kvp),\n statusCode: kvp._response.status,\n });\n}\n\n/**\n * @internal\n */\nexport function transformKeyValueResponse<\n T extends KeyValue & { eTag?: string } & HttpResponseField<any>\n>(kvp: T): ConfigurationSetting & HttpResponseField<any> {\n return normalizeResponse(kvp, <ConfigurationSetting & HttpResponseField<any>>{\n ...transformKeyValue(kvp),\n });\n}\n\nfunction normalizeResponse<T extends HttpResponseField<any> & { eTag?: string }>(\n originalResponse: HttpResponseField<any>,\n newResponse: T\n): T {\n Object.defineProperty(newResponse, \"_response\", {\n enumerable: false,\n value: originalResponse._response,\n });\n\n // this field comes from the header but it's redundant with\n // the one serialized in the model itself\n delete newResponse.eTag;\n\n return newResponse;\n}\n\n/**\n * Translates user-facing field names into their `select` equivalents (these can be\n * seen in the `KnownEnum5`)\n *\n * @param fieldNames - fieldNames from users.\n * @returns The field names translated into the `select` field equivalents.\n *\n * @internal\n */\nexport function formatFieldsForSelect(\n fieldNames: (keyof ConfigurationSetting)[] | undefined\n): string[] | undefined {\n if (fieldNames == null) {\n return undefined;\n }\n\n const mappedFieldNames = fieldNames.map((fn) => {\n switch (fn) {\n case \"lastModified\":\n return \"last_modified\";\n case \"contentType\":\n return \"content_type\";\n case \"isReadOnly\":\n return \"locked\";\n default:\n return fn;\n }\n });\n\n return mappedFieldNames;\n}\n\n/**\n * @internal\n */\nexport function errorMessageForUnexpectedSetting(\n key: string,\n expectedType: \"FeatureFlag\" | \"SecretReference\"\n): string {\n return `Setting with key ${key} is not a valid ${expectedType}, make sure to have the correct content-type and a valid non-null value.`;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { Span, SpanStatusCode } from \"@azure/core-tracing\";\n\nimport { RestError, OperationOptions } from \"@azure/core-http\";\nimport { createSpanFunction } from \"@azure/core-tracing\";\nimport { AppConfigurationClient } from \"../appConfigurationClient\";\n\n/** @internal */\nexport const createSpan = createSpanFunction({\n namespace: \"Microsoft.AppConfiguration\",\n packagePrefix: \"Azure.Data.AppConfiguration\",\n});\n\n/**\n * Traces an operation and properly handles reporting start, end and errors for a given span\n *\n * @param operationName - Name of a method in the TClient type\n * @param options - An options class, typically derived from \\@azure/core-http/RequestOptionsBase\n * @param fn - The function to call with an options class that properly propagates the span context\n *\n * @internal\n */\nexport async function trace<ReturnT>(\n operationName: keyof AppConfigurationClient,\n options: OperationOptions,\n fn: (options: OperationOptions, span: Span) => Promise<ReturnT>,\n createSpanFn = createSpan\n): Promise<ReturnT> {\n const { updatedOptions, span } = createSpanFn(operationName, options);\n\n try {\n // NOTE: we really do need to await on this function here so we can handle any exceptions thrown and properly\n // close the span.\n const result = await fn(updatedOptions, span);\n\n span.setStatus({\n code: SpanStatusCode.OK,\n });\n return result;\n } catch (err) {\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: err.message,\n });\n throw err;\n } finally {\n span.end();\n }\n}\n\n/** @internal */\nexport function isRestError(err: Error): err is RestError {\n return err instanceof RestError;\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n RequestPolicy,\n RequestPolicyOptions,\n BaseRequestPolicy,\n WebResource,\n HttpOperationResponse,\n RequestPolicyFactory,\n} from \"@azure/core-http\";\n\n/**\n * The sync token header, as described here:\n * https://docs.microsoft.com/azure/azure-app-configuration/rest-api-consistency\n * @internal\n */\nexport const SyncTokenHeaderName = \"sync-token\";\n\n/**\n * A policy factory for injecting sync tokens properly into outgoing requests.\n * @param syncTokens - the sync tokens store to be used across requests.\n * @internal\n */\nexport function syncTokenPolicy(syncTokens: SyncTokens): RequestPolicyFactory {\n return {\n create: (nextPolicy: RequestPolicy, options: RequestPolicyOptions) => {\n return new SyncTokenPolicy(nextPolicy, options, syncTokens);\n },\n };\n}\n\nclass SyncTokenPolicy extends BaseRequestPolicy {\n constructor(\n nextPolicy: RequestPolicy,\n options: RequestPolicyOptions,\n private _syncTokens: SyncTokens\n ) {\n super(nextPolicy, options);\n }\n\n public async sendRequest(webResource: WebResource): Promise<HttpOperationResponse> {\n const syncTokenHeaderValue = this._syncTokens.getSyncTokenHeaderValue();\n\n if (syncTokenHeaderValue != null) {\n webResource.headers.set(SyncTokenHeaderName, syncTokenHeaderValue);\n }\n\n const response = await this._nextPolicy.sendRequest(webResource);\n this._syncTokens.addSyncTokenFromHeaderValue(response.headers.get(SyncTokenHeaderName));\n return response;\n }\n}\n\n/**\n * Sync token tracker (allows for real-time consistency, even in the face of\n * caching and load balancing within App Configuration).\n *\n * (protocol and format described here)\n * https://docs.microsoft.com/azure/azure-app-configuration/rest-api-consistency\n *\n * @internal\n */\nexport class SyncTokens {\n private _currentSyncTokens = new Map<string, SyncToken>();\n\n /**\n * Takes the value from the header named after the constant `SyncTokenHeaderName`\n * and adds it to our list of accumulated sync tokens.\n *\n * If given an empty value (or undefined) it clears the current list of sync tokens.\n * (indicates the service has properly absorbed values into the cluster).\n *\n * @param syncTokenHeaderValue - The full value of the sync token header.\n */\n addSyncTokenFromHeaderValue(syncTokenHeaderValue: string | undefined): void {\n if (syncTokenHeaderValue == null || syncTokenHeaderValue === \"\") {\n // eventually everything gets synced up and we don't have to track\n // these headers anymore\n this._currentSyncTokens.clear();\n return;\n }\n\n const newTokens = syncTokenHeaderValue.split(\",\").map(parseSyncToken);\n\n for (const newToken of newTokens) {\n const existingToken = this._currentSyncTokens.get(newToken.id);\n\n if (!existingToken || existingToken.sequenceNumber < newToken.sequenceNumber) {\n this._currentSyncTokens.set(newToken.id, newToken);\n continue;\n }\n }\n }\n\n /**\n * Gets a properly formatted SyncToken header value.\n */\n getSyncTokenHeaderValue(): string | undefined {\n if (this._currentSyncTokens.size === 0) {\n return undefined;\n }\n\n const syncTokenStrings = [];\n\n for (const syncToken of this._currentSyncTokens.values()) {\n // note that you don't include the 'sn' field here - that's only\n // used for internal tracking of the 'version' for the token itself\n syncTokenStrings.push(`${syncToken.id}=${syncToken.value}`);\n }\n\n return syncTokenStrings.join(\",\");\n }\n}\n\n// An example sync token (from their documentation):\n//\n// jtqGc1I4=MDoyOA==;sn=28\n//\n// Which breaks down to:\n// id: jtqGc1I4\n// value: MDoyOA==\n// sequence number: 28\nconst syncTokenRegex = /^([^=]+)=([^;]+);sn=(\\d+)$/;\n\ninterface SyncToken {\n id: string;\n value: string;\n sequenceNumber: number;\n}\n\n/**\n * Parses a single sync token into it's constituent parts.\n *\n * @param syncToken - A single sync token.\n *\n * @internal\n */\nexport function parseSyncToken(syncToken: string): SyncToken {\n const matches = syncToken.match(syncTokenRegex);\n\n if (matches == null) {\n throw new Error(\n `Failed to parse sync token '${syncToken}' with regex ${syncTokenRegex.source}`\n );\n }\n\n const sequenceNumber = parseInt(matches[3], 10);\n\n if (isNaN(sequenceNumber)) {\n // this should be impossible since our regex restricts to just digits\n // but there's nothing wrong with being thorough.\n throw new Error(`${syncToken}: The sequence number value '${matches[3]}' wasn't a number`);\n }\n\n return {\n id: matches[1],\n value: matches[2],\n sequenceNumber,\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// https://azure.github.io/azure-sdk/typescript_design.html#ts-config-lib\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { AppConfigCredential } from \"./appConfigCredential\";\nimport { AppConfiguration } from \"./generated/src/appConfiguration\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport {\n isTokenCredential,\n exponentialRetryPolicy,\n systemErrorRetryPolicy,\n ServiceClientCredentials,\n UserAgentOptions,\n getDefaultUserAgentValue as getCoreHttpDefaultUserAgentValue,\n userAgentPolicy,\n} from \"@azure/core-http\";\nimport { throttlingRetryPolicy } from \"./policies/throttlingRetryPolicy\";\nimport { TokenCredential } from \"@azure/core-auth\";\n\nimport \"@azure/core-asynciterator-polyfill\";\n\nimport {\n AddConfigurationSettingOptions,\n AddConfigurationSettingParam,\n AddConfigurationSettingResponse,\n ConfigurationSetting,\n ConfigurationSettingId,\n DeleteConfigurationSettingOptions,\n DeleteConfigurationSettingResponse,\n GetConfigurationSettingOptions,\n GetConfigurationSettingResponse,\n ListConfigurationSettingPage,\n ListConfigurationSettingsOptions,\n ListRevisionsOptions,\n ListRevisionsPage,\n PageSettings,\n RetryOptions,\n SetConfigurationSettingOptions,\n SetConfigurationSettingParam,\n SetConfigurationSettingResponse,\n SetReadOnlyOptions,\n SetReadOnlyResponse,\n} from \"./models\";\nimport {\n checkAndFormatIfAndIfNoneMatch,\n extractAfterTokenFromNextLink,\n formatFiltersAndSelect,\n makeConfigurationSettingEmpty,\n transformKeyValueResponse,\n transformKeyValueResponseWithStatusCode,\n transformKeyValue,\n formatAcceptDateTime,\n formatFieldsForSelect,\n serializeAsConfigurationSettingParam,\n} from \"./internal/helpers\";\nimport { tracingPolicy } from \"@azure/core-http\";\nimport { trace as traceFromTracingHelpers } from \"./internal/tracingHelpers\";\nimport {\n AppConfigurationGetKeyValuesResponse,\n AppConfigurationOptionalParams as GeneratedAppConfigurationClientOptions,\n} from \"./generated/src/models\";\nimport { syncTokenPolicy, SyncTokens } from \"./internal/synctokenpolicy\";\nimport { FeatureFlagValue } from \"./featureFlag\";\nimport { SecretReferenceValue } from \"./secretReference\";\n\nconst packageName = \"azsdk-js-app-configuration\";\n\n/**\n * This constant should always be the same as the package.json's version - we use it when forming the\n * User - Agent header. There's a unit test that makes sure it always stays in sync.\n * @internal\n */\nexport const packageVersion = \"1.3.2\";\nconst apiVersion = \"1.0\";\nconst ConnectionStringRegex = /Endpoint=(.*);Id=(.*);Secret=(.*)/;\nconst deserializationContentTypes = {\n json: [\n \"application/vnd.microsoft.appconfig.kvset+json\",\n \"application/vnd.microsoft.appconfig.kv+json\",\n \"application/vnd.microsoft.appconfig.kvs+json\",\n \"application/vnd.microsoft.appconfig.keyset+json\",\n \"application/vnd.microsoft.appconfig.revs+json\",\n ],\n};\n\n/**\n * Provides configuration options for AppConfigurationClient.\n */\nexport interface AppConfigurationClientOptions {\n // NOTE: AppConfigurationClient is currently using it's own version of the ThrottlingRetryPolicy\n // which we are going to unify with core-http. When we do that we can have this options\n // interface extend PipelineOptions, and also switch over to using`createPipelineFromOptions`\n // which will auto-create all of these policies and remove a lot of code.\n //\n // In the meantime we'll just deal with having our own interface that's compatible with PipelineOptions\n // for the small subset we absolutely need to support.\n\n /**\n * Options for adding user agent details to outgoing requests.\n */\n userAgentOptions?: UserAgentOptions;\n\n /**\n * Options that control how to retry failed requests.\n */\n retryOptions?: RetryOptions;\n}\n\n/**\n * Provides internal configuration options for AppConfigurationClient.\n * @internal\n */\nexport interface InternalAppConfigurationClientOptions extends AppConfigurationClientOptions {\n /**\n * The sync token cache to use for this client.\n * NOTE: this is an internal option, not for general client usage.\n */\n syncTokens?: SyncTokens;\n}\n\n/**\n * Client for the Azure App Configuration service.\n */\nexport class AppConfigurationClient {\n private client: AppConfiguration;\n private _syncTokens: SyncTokens;\n // (for tests)\n private _trace = traceFromTracingHelpers;\n\n /**\n * Initializes a new instance of the AppConfigurationClient class.\n * @param connectionString - Connection string needed for a client to connect to Azure.\n * @param options - Options for the AppConfigurationClient.\n */\n constructor(connectionString: string, options?: AppConfigurationClientOptions);\n /**\n * Initializes a new instance of the AppConfigurationClient class using\n * a TokenCredential.\n * @param endpoint - The endpoint of the App Configuration service (ex: https://sample.azconfig.io).\n * @param tokenCredential - An object that implements the `TokenCredential` interface used to authenticate requests to the service. Use the \\@azure/identity package to create a credential that suits your needs.\n * @param options - Options for the AppConfigurationClient.\n */\n constructor(\n endpoint: string,\n tokenCredential: TokenCredential,\n options?: AppConfigurationClientOptions\n );\n constructor(\n connectionStringOrEndpoint: string,\n tokenCredentialOrOptions?: TokenCredential | AppConfigurationClientOptions,\n options?: AppConfigurationClientOptions\n ) {\n let appConfigOptions: InternalAppConfigurationClientOptions = {};\n let appConfigCredential: ServiceClientCredentials | TokenCredential;\n let appConfigEndpoint: string;\n\n if (isTokenCredential(tokenCredentialOrOptions)) {\n appConfigOptions = (options as InternalAppConfigurationClientOptions) || {};\n appConfigCredential = tokenCredentialOrOptions;\n appConfigEndpoint = connectionStringOrEndpoint;\n } else {\n appConfigOptions = (tokenCredentialOrOptions as InternalAppConfigurationClientOptions) || {};\n const regexMatch = connectionStringOrEndpoint?.match(ConnectionStringRegex);\n if (regexMatch) {\n appConfigCredential = new AppConfigCredential(regexMatch[2], regexMatch[3]);\n appConfigEndpoint = regexMatch[1];\n } else {\n throw new Error(\n `Invalid connection string. Valid connection strings should match the regex '${ConnectionStringRegex.source}'.`\n );\n }\n }\n\n this._syncTokens = appConfigOptions.syncTokens || new SyncTokens();\n\n this.client = new AppConfiguration(\n appConfigCredential,\n appConfigEndpoint,\n apiVersion,\n getGeneratedClientOptions(appConfigEndpoint, this._syncTokens, appConfigOptions)\n );\n }\n\n /**\n * Add a setting into the Azure App Configuration service, failing if it\n * already exists.\n *\n * Example usage:\n * ```ts\n * const result = await client.addConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\", value: \"MyValue\" });\n * ```\n * @param configurationSetting - A configuration setting.\n * @param options - Optional parameters for the request.\n */\n addConfigurationSetting(\n configurationSetting:\n | AddConfigurationSettingParam\n | AddConfigurationSettingParam<FeatureFlagValue>\n | AddConfigurationSettingParam<SecretReferenceValue>,\n options: AddConfigurationSettingOptions = {}\n ): Promise<AddConfigurationSettingResponse> {\n return this._trace(\"addConfigurationSetting\", options, async (newOptions) => {\n const keyValue = serializeAsConfigurationSettingParam(configurationSetting);\n const originalResponse = await this.client.putKeyValue(configurationSetting.key, {\n ifNoneMatch: \"*\",\n label: configurationSetting.label,\n entity: keyValue,\n ...newOptions,\n });\n return transformKeyValueResponse(originalResponse);\n });\n }\n\n /**\n * Delete a setting from the Azure App Configuration service\n *\n * Example usage:\n * ```ts\n * const deletedSetting = await client.deleteConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\" });\n * ```\n * @param id - The id of the configuration setting to delete.\n * @param options - Optional parameters for the request (ex: etag, label)\n */\n deleteConfigurationSetting(\n id: ConfigurationSettingId,\n options: DeleteConfigurationSettingOptions = {}\n ): Promise<DeleteConfigurationSettingResponse> {\n return this._trace(\"deleteConfigurationSetting\", options, async (newOptions) => {\n const originalResponse = await this.client.deleteKeyValue(id.key, {\n label: id.label,\n ...newOptions,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n\n return transformKeyValueResponseWithStatusCode(originalResponse);\n });\n }\n\n /**\n * Gets a setting from the Azure App Configuration service.\n *\n * Example code:\n * ```ts\n * const setting = await client.getConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\" });\n * ```\n * @param id - The id of the configuration setting to get.\n * @param options - Optional parameters for the request.\n */\n async getConfigurationSetting(\n id: ConfigurationSettingId,\n options: GetConfigurationSettingOptions = {}\n ): Promise<GetConfigurationSettingResponse> {\n return this._trace(\"getConfigurationSetting\", options, async (newOptions) => {\n const originalResponse = await this.client.getKeyValue(id.key, {\n ...newOptions,\n label: id.label,\n select: formatFieldsForSelect(options.fields),\n ...formatAcceptDateTime(options),\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n\n const response: GetConfigurationSettingResponse =\n transformKeyValueResponseWithStatusCode(originalResponse);\n\n // 304 only comes back if the user has passed a conditional option in their\n // request _and_ the remote object has the same etag as what the user passed.\n if (response.statusCode === 304) {\n // this is one of our few 'required' fields so we'll make sure it does get initialized\n // with a value\n response.key = id.key;\n\n // and now we'll undefine all the other properties that are not HTTP related\n makeConfigurationSettingEmpty(response);\n }\n\n return response;\n });\n }\n\n /**\n * Lists settings from the Azure App Configuration service, optionally\n * filtered by key names, labels and accept datetime.\n *\n * Example code:\n * ```ts\n * const allSettingsWithLabel = client.listConfigurationSettings({ labelFilter: \"MyLabel\" });\n * ```\n * @param options - Optional parameters for the request.\n */\n listConfigurationSettings(\n options: ListConfigurationSettingsOptions = {}\n ): PagedAsyncIterableIterator<ConfigurationSetting, ListConfigurationSettingPage, PageSettings> {\n const iter = this.getListConfigurationSettingsIterator(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => {\n // The appconfig service doesn't currently support letting you select a page size\n // so we're ignoring their setting for now.\n return this.listConfigurationSettingsByPage({\n ...options,\n continuationToken: settings.continuationToken,\n });\n },\n };\n }\n\n private async *getListConfigurationSettingsIterator(\n options: ListConfigurationSettingsOptions\n ): AsyncIterableIterator<ConfigurationSetting> {\n for await (const page of this.listConfigurationSettingsByPage(options)) {\n for (const configurationSetting of page.items) {\n yield configurationSetting;\n }\n }\n }\n\n private async *listConfigurationSettingsByPage(\n options: ListConfigurationSettingsOptions & PageSettings = {}\n ): AsyncIterableIterator<ListConfigurationSettingPage> {\n let currentResponse = await this._trace(\n \"listConfigurationSettings\",\n options,\n async (newOptions) => {\n const response = await this.client.getKeyValues({\n ...newOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: options.continuationToken,\n });\n\n return response;\n }\n );\n\n yield* this.createListConfigurationPageFromResponse(currentResponse);\n\n while (currentResponse.nextLink) {\n currentResponse = await this._trace(\n \"listConfigurationSettings\",\n options,\n // TODO: same code up above. Unify.\n async (newOptions) => {\n const response = await this.client.getKeyValues({\n ...newOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: extractAfterTokenFromNextLink(currentResponse.nextLink!),\n });\n\n return response;\n }\n );\n\n if (!currentResponse.items) {\n break;\n }\n\n yield* this.createListConfigurationPageFromResponse(currentResponse);\n }\n }\n\n private *createListConfigurationPageFromResponse(\n currentResponse: AppConfigurationGetKeyValuesResponse\n ): Generator<ListConfigurationSettingPage> {\n yield {\n ...currentResponse,\n items: currentResponse.items != null ? currentResponse.items.map(transformKeyValue) : [],\n continuationToken: currentResponse.nextLink\n ? extractAfterTokenFromNextLink(currentResponse.nextLink)\n : undefined,\n };\n }\n\n /**\n * Lists revisions of a set of keys, optionally filtered by key names,\n * labels and accept datetime.\n *\n * Example code:\n * ```ts\n * const revisionsIterator = client.listRevisions({ keys: [\"MyKey\"] });\n * ```\n * @param options - Optional parameters for the request.\n */\n listRevisions(\n options?: ListRevisionsOptions\n ): PagedAsyncIterableIterator<ConfigurationSetting, ListRevisionsPage, PageSettings> {\n const iter = this.getListRevisionsIterator(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => {\n // The appconfig service doesn't currently support letting you select a page size\n // so we're ignoring their setting for now.\n return this.listRevisionsByPage({\n ...options,\n continuationToken: settings.continuationToken,\n });\n },\n };\n }\n\n private async *getListRevisionsIterator(\n options?: ListRevisionsOptions\n ): AsyncIterableIterator<ConfigurationSetting> {\n for await (const page of this.listRevisionsByPage(options)) {\n for (const item of page.items) {\n yield item;\n }\n }\n }\n\n private async *listRevisionsByPage(\n options: ListRevisionsOptions & PageSettings = {}\n ): AsyncIterableIterator<ListRevisionsPage> {\n let currentResponse = await this._trace(\"listRevisions\", options, async (newOptions) => {\n const response = await this.client.getRevisions({\n ...newOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(newOptions),\n after: options.continuationToken,\n });\n\n return response;\n });\n\n yield* this.createListRevisionsPageFromResponse(currentResponse);\n\n while (currentResponse.nextLink) {\n currentResponse = await this._trace(\"listRevisions\", options, (newOptions) => {\n return this.client.getRevisions({\n ...newOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: extractAfterTokenFromNextLink(currentResponse.nextLink!),\n });\n });\n\n if (!currentResponse.items) {\n break;\n }\n\n yield* this.createListRevisionsPageFromResponse(currentResponse);\n }\n }\n\n private *createListRevisionsPageFromResponse(\n currentResponse: AppConfigurationGetKeyValuesResponse\n ) {\n yield {\n ...currentResponse,\n items: currentResponse.items != null ? currentResponse.items.map(transformKeyValue) : [],\n continuationToken: currentResponse.nextLink\n ? extractAfterTokenFromNextLink(currentResponse.nextLink)\n : undefined,\n };\n }\n\n /**\n * Sets the value of a key in the Azure App Configuration service, allowing for an optional etag.\n * @param key - The name of the key.\n * @param configurationSetting - A configuration value.\n * @param options - Optional parameters for the request.\n *\n * Example code:\n * ```ts\n * await client.setConfigurationSetting({ key: \"MyKey\", value: \"MyValue\" });\n * ```\n */\n async setConfigurationSetting(\n configurationSetting:\n | SetConfigurationSettingParam\n | SetConfigurationSettingParam<FeatureFlagValue>\n | SetConfigurationSettingParam<SecretReferenceValue>,\n options: SetConfigurationSettingOptions = {}\n ): Promise<SetConfigurationSettingResponse> {\n return this._trace(\"setConfigurationSetting\", options, async (newOptions) => {\n const keyValue = serializeAsConfigurationSettingParam(configurationSetting);\n const response = await this.client.putKeyValue(configurationSetting.key, {\n ...newOptions,\n label: configurationSetting.label,\n entity: keyValue,\n ...checkAndFormatIfAndIfNoneMatch(configurationSetting, options),\n });\n\n return transformKeyValueResponse(response);\n });\n }\n\n /**\n * Sets or clears a key's read-only status.\n * @param id - The id of the configuration setting to modify.\n */\n async setReadOnly(\n id: ConfigurationSettingId,\n readOnly: boolean,\n options: SetReadOnlyOptions = {}\n ): Promise<SetReadOnlyResponse> {\n return this._trace(\"setReadOnly\", options, async (newOptions) => {\n if (readOnly) {\n const response = await this.client.putLock(id.key, {\n ...newOptions,\n label: id.label,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n\n return transformKeyValueResponse(response);\n } else {\n const response = await this.client.deleteLock(id.key, {\n ...newOptions,\n label: id.label,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n\n return transformKeyValueResponse(response);\n }\n });\n }\n\n /**\n * Adds an external synchronization token to ensure service requests receive up-to-date values.\n *\n * @param syncToken - The synchronization token value.\n */\n updateSyncToken(syncToken: string): void {\n this._syncTokens.addSyncTokenFromHeaderValue(syncToken);\n }\n}\n/**\n * Gets the options for the generated AppConfigurationClient\n * @internal\n */\nexport function getGeneratedClientOptions(\n endpoint: string,\n syncTokens: SyncTokens,\n internalAppConfigOptions: InternalAppConfigurationClientOptions\n): GeneratedAppConfigurationClientOptions {\n const retryPolicies = [\n exponentialRetryPolicy(),\n systemErrorRetryPolicy(),\n throttlingRetryPolicy(internalAppConfigOptions.retryOptions),\n ];\n\n const userAgent = getUserAgentPrefix(\n internalAppConfigOptions.userAgentOptions &&\n internalAppConfigOptions.userAgentOptions.userAgentPrefix\n );\n\n return {\n endpoint,\n deserializationContentTypes,\n // we'll add in our own custom retry policies\n noRetryPolicy: true,\n requestPolicyFactories: (defaults) => [\n tracingPolicy({ userAgent }),\n syncTokenPolicy(syncTokens),\n userAgentPolicy({ value: userAgent }),\n ...retryPolicies,\n ...defaults,\n ],\n generateClientRequestIdHeader: true,\n };\n}\n\n/**\n * @internal\n */\nexport function getUserAgentPrefix(userSuppliedUserAgent: string | undefined): string {\n const appConfigDefaultUserAgent = `${packageName}/${packageVersion} ${getCoreHttpDefaultUserAgentValue()}`;\n\n if (!userSuppliedUserAgent) {\n return appConfigDefaultUserAgent;\n }\n\n return `${userSuppliedUserAgent} ${appConfigDefaultUserAgent}`;\n}\n"],"names":["createHash","createHmac","URLBuilder","apiVersion","QueryCollectionFormat","KeyValueMapper","packageName","packageVersion","coreHttp","Mappers.KeyListResult","Mappers.AppConfigurationGetKeysHeaders","Mappers.ErrorModel","Parameters.name","Parameters.apiVersion","Parameters.after","Parameters.endpoint","Parameters.accept","Parameters.syncToken","Parameters.acceptDatetime","Mappers.AppConfigurationCheckKeysHeaders","Mappers.KeyValueListResult","Mappers.AppConfigurationGetKeyValuesHeaders","Parameters.key","Parameters.label","Parameters.select","Parameters.accept1","Mappers.AppConfigurationCheckKeyValuesHeaders","Parameters.select1","Mappers.KeyValue","Mappers.AppConfigurationGetKeyValueHeaders","Parameters.select2","Parameters.key1","Parameters.accept2","Parameters.ifMatch","Parameters.ifNoneMatch","Mappers.AppConfigurationPutKeyValueHeaders","Parameters.entity","Parameters.contentType","Mappers.AppConfigurationDeleteKeyValueHeaders","Mappers.AppConfigurationCheckKeyValueHeaders","Parameters.select3","Mappers.LabelListResult","Mappers.AppConfigurationGetLabelsHeaders","Parameters.select4","Parameters.accept3","Mappers.AppConfigurationCheckLabelsHeaders","Mappers.AppConfigurationPutLockHeaders","Mappers.AppConfigurationDeleteLockHeaders","Mappers.AppConfigurationGetRevisionsHeaders","Parameters.select5","Mappers.AppConfigurationCheckRevisionsHeaders","Parameters.select6","Mappers.AppConfigurationGetKeysNextHeaders","Parameters.nextLink","Mappers.AppConfigurationGetKeyValuesNextHeaders","Mappers.AppConfigurationGetLabelsNextHeaders","Mappers.AppConfigurationGetRevisionsNextHeaders","BaseRequestPolicy","delay","AbortError","Constants","createSpanFunction","SpanStatusCode","traceFromTracingHelpers","isTokenCredential","__asyncValues","__await","__asyncDelegator","exponentialRetryPolicy","systemErrorRetryPolicy","tracingPolicy","userAgentPolicy","getCoreHttpDefaultUserAgentValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/internal/cryptoHelpers.ts","../src/appConfigCredential.ts","../src/generated/src/models/mappers.ts","../src/generated/src/models/parameters.ts","../src/generated/src/appConfiguration.ts","../src/featureFlag.ts","../src/secretReference.ts","../src/internal/typeguards.ts","../src/internal/helpers.ts","../src/internal/synctokenpolicy.ts","../src/internal/tracing.ts","../src/appConfigurationClient.ts"],"sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createHash, createHmac } from \"crypto\";\n\n/**\n * @internal\n */\nexport async function sha256Digest(body: string | undefined): Promise<string> {\n return createHash(\"sha256\")\n .update(body || \"\")\n .digest(\"base64\");\n}\n\n/**\n * @internal\n */\nexport async function sha256Hmac(secret: string, stringToSign: string): Promise<string> {\n const decodedSecret = Buffer.from(secret, \"base64\");\n\n return createHmac(\"sha256\", decodedSecret).update(stringToSign).digest(\"base64\");\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\";\nimport { sha256Digest, sha256Hmac } from \"./internal/cryptoHelpers\";\n\n/**\n * Create an HTTP pipeline policy to authenticate a request\n * using an `AzureKeyCredential` for AppConfig.\n */\nexport function appConfigKeyCredentialPolicy(credential: string, secret: string): PipelinePolicy {\n return {\n name: \"AppConfigKeyCredentialPolicy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const verb = request.method;\n const utcNow = new Date().toUTCString();\n const contentHash = await sha256Digest(request.body?.toString() || \"\");\n const signedHeaders = \"x-ms-date;host;x-ms-content-sha256\";\n const url = new URL(request.url);\n const query = url.search;\n const urlPathAndQuery = query ? `${url.pathname}${query}` : url.pathname;\n const stringToSign = `${verb}\\n${urlPathAndQuery}\\n${utcNow};${url.host};${contentHash}`;\n const signature = await sha256Hmac(secret, stringToSign);\n\n request.headers.set(\"x-ms-date\", utcNow);\n request.headers.set(\"x-ms-content-sha256\", contentHash);\n // Syntax for Authorization header\n // Reference - https://docs.microsoft.com/en-us/azure/azure-app-configuration/rest-api-authentication-hmac#syntax\n request.headers.set(\n \"Authorization\",\n `HMAC-SHA256 Credential=${credential}&SignedHeaders=${signedHeaders}&Signature=${signature}`\n );\n\n return next(request);\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 * as coreClient from \"@azure/core-client\";\n\nexport const KeyListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Key\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Key: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Key\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const ErrorModel: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"ErrorModel\",\n modelProperties: {\n type: {\n serializedName: \"type\",\n type: {\n name: \"String\"\n }\n },\n title: {\n serializedName: \"title\",\n type: {\n name: \"String\"\n }\n },\n name: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n },\n detail: {\n serializedName: \"detail\",\n type: {\n name: \"String\"\n }\n },\n status: {\n serializedName: \"status\",\n type: {\n name: \"Number\"\n }\n }\n }\n }\n};\n\nexport const KeyValueListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyValueListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"KeyValue\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const KeyValue: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"KeyValue\",\n modelProperties: {\n key: {\n serializedName: \"key\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n label: {\n serializedName: \"label\",\n type: {\n name: \"String\"\n }\n },\n contentType: {\n serializedName: \"content_type\",\n type: {\n name: \"String\"\n }\n },\n value: {\n serializedName: \"value\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last_modified\",\n type: {\n name: \"DateTime\"\n }\n },\n tags: {\n serializedName: \"tags\",\n type: {\n name: \"Dictionary\",\n value: { type: { name: \"String\" } }\n }\n },\n locked: {\n serializedName: \"locked\",\n type: {\n name: \"Boolean\"\n }\n },\n etag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const LabelListResult: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"LabelListResult\",\n modelProperties: {\n items: {\n serializedName: \"items\",\n type: {\n name: \"Sequence\",\n element: {\n type: {\n name: \"Composite\",\n className: \"Label\"\n }\n }\n }\n },\n nextLink: {\n serializedName: \"@nextLink\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const Label: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"Label\",\n modelProperties: {\n name: {\n serializedName: \"name\",\n readOnly: true,\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeysHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeysHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeysHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeysHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValuesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValuesHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeyValuesHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeyValuesHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValueHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last-modified\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationPutKeyValueHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationPutKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationDeleteKeyValueHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationDeleteKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckKeyValueHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckKeyValueHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n },\n lastModified: {\n serializedName: \"last-modified\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetLabelsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetLabelsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckLabelsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckLabelsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationPutLockHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationPutLockHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationDeleteLockHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationDeleteLockHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n },\n eTag: {\n serializedName: \"etag\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetRevisionsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetRevisionsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationCheckRevisionsHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationCheckRevisionsHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeysNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeysNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetKeyValuesNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetKeyValuesNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetLabelsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetLabelsNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\n }\n }\n }\n }\n};\n\nexport const AppConfigurationGetRevisionsNextHeaders: coreClient.CompositeMapper = {\n type: {\n name: \"Composite\",\n className: \"AppConfigurationGetRevisionsNextHeaders\",\n modelProperties: {\n syncToken: {\n serializedName: \"sync-token\",\n type: {\n name: \"String\"\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 { KeyValue as KeyValueMapper } from \"../models/mappers\";\n\nexport const accept: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.keyset+json, application/json, application/problem+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 name: OperationQueryParameter = {\n parameterPath: [\"options\", \"name\"],\n mapper: {\n serializedName: \"name\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const syncToken: OperationParameter = {\n parameterPath: \"syncToken\",\n mapper: {\n serializedName: \"Sync-Token\",\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 after: OperationQueryParameter = {\n parameterPath: [\"options\", \"after\"],\n mapper: {\n serializedName: \"After\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const acceptDatetime: OperationParameter = {\n parameterPath: [\"options\", \"acceptDatetime\"],\n mapper: {\n serializedName: \"Accept-Datetime\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const accept1: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.kvset+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const key: OperationQueryParameter = {\n parameterPath: [\"options\", \"key\"],\n mapper: {\n serializedName: \"key\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const label: OperationQueryParameter = {\n parameterPath: [\"options\", \"label\"],\n mapper: {\n serializedName: \"label\",\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: \"Sequence\",\n element: {\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const select1: OperationQueryParameter = {\n parameterPath: [\"options\", \"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 accept2: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.kv+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const key1: OperationURLParameter = {\n parameterPath: \"key\",\n mapper: {\n serializedName: \"key\",\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 select2: OperationQueryParameter = {\n parameterPath: [\"options\", \"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 contentType: OperationParameter = {\n parameterPath: [\"options\", \"contentType\"],\n mapper: {\n defaultValue: \"application/vnd.microsoft.appconfig.kv+json\",\n isConstant: true,\n serializedName: \"Content-Type\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const entity: OperationParameter = {\n parameterPath: [\"options\", \"entity\"],\n mapper: KeyValueMapper\n};\n\nexport const select3: OperationQueryParameter = {\n parameterPath: [\"options\", \"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 accept3: OperationParameter = {\n parameterPath: \"accept\",\n mapper: {\n defaultValue:\n \"application/vnd.microsoft.appconfig.labelset+json, application/json, application/problem+json\",\n isConstant: true,\n serializedName: \"Accept\",\n type: {\n name: \"String\"\n }\n }\n};\n\nexport const select4: OperationQueryParameter = {\n parameterPath: [\"options\", \"select\"],\n mapper: {\n serializedName: \"$Select\",\n type: {\n name: \"Sequence\",\n element: {\n defaultValue: \"name\",\n isConstant: true,\n type: {\n name: \"String\"\n }\n }\n }\n },\n collectionFormat: \"CSV\"\n};\n\nexport const select5: OperationQueryParameter = {\n parameterPath: [\"options\", \"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 select6: OperationQueryParameter = {\n parameterPath: [\"options\", \"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 nextLink: OperationURLParameter = {\n parameterPath: \"nextLink\",\n mapper: {\n serializedName: \"nextLink\",\n required: true,\n type: {\n name: \"String\"\n }\n },\n skipEncoding: true\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 * as coreHttpCompat from \"@azure/core-http-compat\";\nimport * as Parameters from \"./models/parameters\";\nimport * as Mappers from \"./models/mappers\";\nimport {\n ApiVersion10,\n AppConfigurationOptionalParams,\n GetKeysOptionalParams,\n GetKeysResponse,\n CheckKeysOptionalParams,\n CheckKeysResponse,\n GetKeyValuesOptionalParams,\n GetKeyValuesResponse,\n CheckKeyValuesOptionalParams,\n CheckKeyValuesResponse,\n GetKeyValueOptionalParams,\n GetKeyValueResponse,\n PutKeyValueOptionalParams,\n PutKeyValueResponse,\n DeleteKeyValueOptionalParams,\n DeleteKeyValueResponse,\n CheckKeyValueOptionalParams,\n CheckKeyValueResponse,\n GetLabelsOptionalParams,\n GetLabelsResponse,\n CheckLabelsOptionalParams,\n CheckLabelsResponse,\n PutLockOptionalParams,\n PutLockResponse,\n DeleteLockOptionalParams,\n DeleteLockResponse,\n GetRevisionsOptionalParams,\n GetRevisionsResponse,\n CheckRevisionsOptionalParams,\n CheckRevisionsResponse,\n GetKeysNextOptionalParams,\n GetKeysNextResponse,\n GetKeyValuesNextOptionalParams,\n GetKeyValuesNextResponse,\n GetLabelsNextOptionalParams,\n GetLabelsNextResponse,\n GetRevisionsNextOptionalParams,\n GetRevisionsNextResponse\n} from \"./models\";\n\n/** @internal */\nexport class AppConfiguration extends coreHttpCompat.ExtendedServiceClient {\n endpoint: string;\n syncToken?: string;\n apiVersion: ApiVersion10;\n\n /**\n * Initializes a new instance of the AppConfiguration class.\n * @param endpoint The endpoint of the App Configuration instance to send requests to.\n * @param apiVersion Api Version\n * @param options The parameter options\n */\n constructor(\n endpoint: string,\n apiVersion: ApiVersion10,\n options?: AppConfigurationOptionalParams\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: AppConfigurationOptionalParams = {\n requestContentType: \"application/json; charset=utf-8\"\n };\n\n const packageDetails = `azsdk-js-app-configuration/1.4.0-beta.1`;\n const userAgentPrefix =\n options.userAgentOptions && options.userAgentOptions.userAgentPrefix\n ? `${options.userAgentOptions.userAgentPrefix} ${packageDetails}`\n : `${packageDetails}`;\n\n const optionsWithDefaults = {\n ...defaults,\n ...options,\n userAgentOptions: {\n userAgentPrefix\n },\n baseUri: options.endpoint || \"{endpoint}\"\n };\n super(optionsWithDefaults);\n // Parameter assignments\n this.endpoint = endpoint;\n this.apiVersion = apiVersion;\n }\n\n /**\n * Gets a list of keys.\n * @param options The options parameters.\n */\n getKeys(options?: GetKeysOptionalParams): Promise<GetKeysResponse> {\n return this.sendOperationRequest({ options }, getKeysOperationSpec);\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkKeys(options?: CheckKeysOptionalParams): Promise<CheckKeysResponse> {\n return this.sendOperationRequest({ options }, checkKeysOperationSpec);\n }\n\n /**\n * Gets a list of key-values.\n * @param options The options parameters.\n */\n getKeyValues(\n options?: GetKeyValuesOptionalParams\n ): Promise<GetKeyValuesResponse> {\n return this.sendOperationRequest({ options }, getKeyValuesOperationSpec);\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkKeyValues(\n options?: CheckKeyValuesOptionalParams\n ): Promise<CheckKeyValuesResponse> {\n return this.sendOperationRequest({ options }, checkKeyValuesOperationSpec);\n }\n\n /**\n * Gets a single key-value.\n * @param key The key of the key-value to retrieve.\n * @param options The options parameters.\n */\n getKeyValue(\n key: string,\n options?: GetKeyValueOptionalParams\n ): Promise<GetKeyValueResponse> {\n return this.sendOperationRequest(\n { key, options },\n getKeyValueOperationSpec\n );\n }\n\n /**\n * Creates a key-value.\n * @param key The key of the key-value to create.\n * @param options The options parameters.\n */\n putKeyValue(\n key: string,\n options?: PutKeyValueOptionalParams\n ): Promise<PutKeyValueResponse> {\n return this.sendOperationRequest(\n { key, options },\n putKeyValueOperationSpec\n );\n }\n\n /**\n * Deletes a key-value.\n * @param key The key of the key-value to delete.\n * @param options The options parameters.\n */\n deleteKeyValue(\n key: string,\n options?: DeleteKeyValueOptionalParams\n ): Promise<DeleteKeyValueResponse> {\n return this.sendOperationRequest(\n { key, options },\n deleteKeyValueOperationSpec\n );\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param key The key of the key-value to retrieve.\n * @param options The options parameters.\n */\n checkKeyValue(\n key: string,\n options?: CheckKeyValueOptionalParams\n ): Promise<CheckKeyValueResponse> {\n return this.sendOperationRequest(\n { key, options },\n checkKeyValueOperationSpec\n );\n }\n\n /**\n * Gets a list of labels.\n * @param options The options parameters.\n */\n getLabels(options?: GetLabelsOptionalParams): Promise<GetLabelsResponse> {\n return this.sendOperationRequest({ options }, getLabelsOperationSpec);\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkLabels(\n options?: CheckLabelsOptionalParams\n ): Promise<CheckLabelsResponse> {\n return this.sendOperationRequest({ options }, checkLabelsOperationSpec);\n }\n\n /**\n * Locks a key-value.\n * @param key The key of the key-value to lock.\n * @param options The options parameters.\n */\n putLock(\n key: string,\n options?: PutLockOptionalParams\n ): Promise<PutLockResponse> {\n return this.sendOperationRequest({ key, options }, putLockOperationSpec);\n }\n\n /**\n * Unlocks a key-value.\n * @param key The key of the key-value to unlock.\n * @param options The options parameters.\n */\n deleteLock(\n key: string,\n options?: DeleteLockOptionalParams\n ): Promise<DeleteLockResponse> {\n return this.sendOperationRequest({ key, options }, deleteLockOperationSpec);\n }\n\n /**\n * Gets a list of key-value revisions.\n * @param options The options parameters.\n */\n getRevisions(\n options?: GetRevisionsOptionalParams\n ): Promise<GetRevisionsResponse> {\n return this.sendOperationRequest({ options }, getRevisionsOperationSpec);\n }\n\n /**\n * Requests the headers and status of the given resource.\n * @param options The options parameters.\n */\n checkRevisions(\n options?: CheckRevisionsOptionalParams\n ): Promise<CheckRevisionsResponse> {\n return this.sendOperationRequest({ options }, checkRevisionsOperationSpec);\n }\n\n /**\n * GetKeysNext\n * @param nextLink The nextLink from the previous successful call to the GetKeys method.\n * @param options The options parameters.\n */\n getKeysNext(\n nextLink: string,\n options?: GetKeysNextOptionalParams\n ): Promise<GetKeysNextResponse> {\n return this.sendOperationRequest(\n { nextLink, options },\n getKeysNextOperationSpec\n );\n }\n\n /**\n * GetKeyValuesNext\n * @param nextLink The nextLink from the previous successful call to the GetKeyValues method.\n * @param options The options parameters.\n */\n getKeyValuesNext(\n nextLink: string,\n options?: GetKeyValuesNextOptionalParams\n ): Promise<GetKeyValuesNextResponse> {\n return this.sendOperationRequest(\n { nextLink, options },\n getKeyValuesNextOperationSpec\n );\n }\n\n /**\n * GetLabelsNext\n * @param nextLink The nextLink from the previous successful call to the GetLabels method.\n * @param options The options parameters.\n */\n getLabelsNext(\n nextLink: string,\n options?: GetLabelsNextOptionalParams\n ): Promise<GetLabelsNextResponse> {\n return this.sendOperationRequest(\n { nextLink, options },\n getLabelsNextOperationSpec\n );\n }\n\n /**\n * GetRevisionsNext\n * @param nextLink The nextLink from the previous successful call to the GetRevisions method.\n * @param options The options parameters.\n */\n getRevisionsNext(\n nextLink: string,\n options?: GetRevisionsNextOptionalParams\n ): Promise<GetRevisionsNextResponse> {\n return this.sendOperationRequest(\n { nextLink, options },\n getRevisionsNextOperationSpec\n );\n }\n}\n// Operation Specifications\nconst serializer = coreClient.createSerializer(Mappers, /* isXml */ false);\n\nconst getKeysOperationSpec: coreClient.OperationSpec = {\n path: \"/keys\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyListResult,\n headersMapper: Mappers.AppConfigurationGetKeysHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.accept,\n Parameters.syncToken,\n Parameters.acceptDatetime\n ],\n serializer\n};\nconst checkKeysOperationSpec: coreClient.OperationSpec = {\n path: \"/keys\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeysHeaders\n },\n default: {}\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeyValuesOperationSpec: coreClient.OperationSpec = {\n path: \"/kv\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetKeyValuesHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst checkKeyValuesOperationSpec: coreClient.OperationSpec = {\n path: \"/kv\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeyValuesHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select1\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeyValueOperationSpec: coreClient.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationGetKeyValueHeaders\n },\n 304: {\n headersMapper: Mappers.AppConfigurationGetKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.label,\n Parameters.select2\n ],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst putKeyValueOperationSpec: coreClient.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationPutKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n requestBody: Parameters.entity,\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch,\n Parameters.contentType\n ],\n mediaType: \"json\",\n serializer\n};\nconst deleteKeyValueOperationSpec: coreClient.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationDeleteKeyValueHeaders\n },\n 204: {\n headersMapper: Mappers.AppConfigurationDeleteKeyValueHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch\n ],\n serializer\n};\nconst checkKeyValueOperationSpec: coreClient.OperationSpec = {\n path: \"/kv/{key}\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckKeyValueHeaders\n },\n 304: {\n headersMapper: Mappers.AppConfigurationCheckKeyValueHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.label,\n Parameters.select3\n ],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getLabelsOperationSpec: coreClient.OperationSpec = {\n path: \"/labels\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabelListResult,\n headersMapper: Mappers.AppConfigurationGetLabelsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept3\n ],\n serializer\n};\nconst checkLabelsOperationSpec: coreClient.OperationSpec = {\n path: \"/labels\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckLabelsHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst putLockOperationSpec: coreClient.OperationSpec = {\n path: \"/locks/{key}\",\n httpMethod: \"PUT\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationPutLockHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst deleteLockOperationSpec: coreClient.OperationSpec = {\n path: \"/locks/{key}\",\n httpMethod: \"DELETE\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValue,\n headersMapper: Mappers.AppConfigurationDeleteLockHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.apiVersion, Parameters.label],\n urlParameters: [Parameters.endpoint, Parameters.key1],\n headerParameters: [\n Parameters.syncToken,\n Parameters.accept2,\n Parameters.ifMatch,\n Parameters.ifNoneMatch\n ],\n serializer\n};\nconst getRevisionsOperationSpec: coreClient.OperationSpec = {\n path: \"/revisions\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetRevisionsHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select5\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst checkRevisionsOperationSpec: coreClient.OperationSpec = {\n path: \"/revisions\",\n httpMethod: \"HEAD\",\n responses: {\n 200: {\n headersMapper: Mappers.AppConfigurationCheckRevisionsHeaders\n },\n default: {}\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select6\n ],\n urlParameters: [Parameters.endpoint],\n headerParameters: [Parameters.syncToken, Parameters.acceptDatetime],\n serializer\n};\nconst getKeysNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyListResult,\n headersMapper: Mappers.AppConfigurationGetKeysNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [Parameters.name, Parameters.apiVersion, Parameters.after],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.accept,\n Parameters.syncToken,\n Parameters.acceptDatetime\n ],\n serializer\n};\nconst getKeyValuesNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetKeyValuesNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\nconst getLabelsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.LabelListResult,\n headersMapper: Mappers.AppConfigurationGetLabelsNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.name,\n Parameters.apiVersion,\n Parameters.after,\n Parameters.select4\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept3\n ],\n serializer\n};\nconst getRevisionsNextOperationSpec: coreClient.OperationSpec = {\n path: \"{nextLink}\",\n httpMethod: \"GET\",\n responses: {\n 200: {\n bodyMapper: Mappers.KeyValueListResult,\n headersMapper: Mappers.AppConfigurationGetRevisionsNextHeaders\n },\n default: {\n bodyMapper: Mappers.ErrorModel\n }\n },\n queryParameters: [\n Parameters.apiVersion,\n Parameters.after,\n Parameters.key,\n Parameters.label,\n Parameters.select5\n ],\n urlParameters: [Parameters.endpoint, Parameters.nextLink],\n headerParameters: [\n Parameters.syncToken,\n Parameters.acceptDatetime,\n Parameters.accept1\n ],\n serializer\n};\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { JsonFeatureFlagValue } from \"./internal/jsonModels\";\nimport { ConfigurationSetting, ConfigurationSettingParam } from \"./models\";\n\n/**\n * The prefix for feature flags.\n */\nexport const featureFlagPrefix = \".appconfig.featureflag/\";\n\n/**\n * The content type for a FeatureFlag\n */\nexport const featureFlagContentType = \"application/vnd.microsoft.appconfig.ff+json;charset=utf-8\";\n\n/**\n * Value of a feature flag\n */\nexport interface FeatureFlagValue {\n /**\n * Id for the feature flag.\n */\n id?: string;\n /**\n * A Feature filter consistently evaluates the state of a feature flag.\n * Our feature management library supports three types of built-in filters: Targeting, TimeWindow, and Percentage.\n * Custom filters can also be created based on different factors, such as device used, browser types, geographic location, etc.\n *\n * [More Info](https://docs.microsoft.com/en-us/azure/azure-app-configuration/howto-feature-filters-aspnet-core)\n */\n conditions: {\n clientFilters: { name: string; parameters?: Record<string, unknown> }[];\n };\n /**\n * Description of the feature.\n */\n description?: string;\n /**\n * Boolean flag to say if the feature flag is enabled.\n */\n enabled: boolean;\n /**\n * Display name for the feature to use for display rather than the ID.\n */\n displayName?: string;\n}\n\n/**\n * @internal\n */\nexport const FeatureFlagHelper = {\n /**\n * Takes the FeatureFlag (JSON) and returns a ConfigurationSetting (with the props encodeed in the value).\n */\n toConfigurationSettingParam: (\n featureFlag: ConfigurationSettingParam<FeatureFlagValue>\n ): ConfigurationSettingParam => {\n if (!featureFlag.value) {\n throw new TypeError(`FeatureFlag has an unexpected value - ${featureFlag.value}`);\n }\n let key = featureFlag.key;\n if (typeof featureFlag.key === \"string\" && !featureFlag.key.startsWith(featureFlagPrefix)) {\n key = featureFlagPrefix + featureFlag.key;\n }\n const jsonFeatureFlagValue: JsonFeatureFlagValue = {\n id: featureFlag.value.id ?? key.replace(featureFlagPrefix, \"\"),\n enabled: featureFlag.value.enabled,\n description: featureFlag.value.description,\n conditions: {\n client_filters: featureFlag.value.conditions.clientFilters,\n },\n display_name: featureFlag.value.displayName,\n };\n\n const configSetting = {\n ...featureFlag,\n key,\n value: JSON.stringify(jsonFeatureFlagValue),\n };\n return configSetting;\n },\n};\n\n/**\n * Takes the ConfigurationSetting as input and returns the ConfigurationSetting<FeatureFlagValue> by parsing the value string.\n */\nexport function parseFeatureFlag(\n setting: ConfigurationSetting\n): ConfigurationSetting<FeatureFlagValue> {\n if (!isFeatureFlag(setting)) {\n throw TypeError(\n `Setting with key ${setting.key} is not a valid FeatureFlag, make sure to have the correct content-type and a valid non-null value.`\n );\n }\n\n const jsonFeatureFlagValue = JSON.parse(setting.value) as JsonFeatureFlagValue;\n\n let key = setting.key;\n if (typeof setting.key === \"string\" && !setting.key.startsWith(featureFlagPrefix)) {\n key = featureFlagPrefix + setting.key;\n }\n const featureflag: ConfigurationSetting<FeatureFlagValue> = {\n ...setting,\n value: {\n id: jsonFeatureFlagValue.id,\n enabled: jsonFeatureFlagValue.enabled,\n description: jsonFeatureFlagValue.description,\n displayName: jsonFeatureFlagValue.display_name,\n conditions: { clientFilters: jsonFeatureFlagValue.conditions.client_filters },\n },\n key,\n contentType: featureFlagContentType,\n };\n return featureflag;\n}\n\n/**\n * Lets you know if the ConfigurationSetting is a feature flag.\n *\n * [Checks if the content type is featureFlagContentType `\"application/vnd.microsoft.appconfig.ff+json;charset=utf-8\"`]\n */\nexport function isFeatureFlag(\n setting: ConfigurationSetting\n): setting is ConfigurationSetting & Required<Pick<ConfigurationSetting, \"value\">> {\n return (\n setting && setting.contentType === featureFlagContentType && typeof setting.value === \"string\"\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { JsonSecretReferenceValue } from \"./internal/jsonModels\";\nimport { ConfigurationSetting, ConfigurationSettingParam } from \"./models\";\n\n/**\n * content-type for the secret reference.\n */\nexport const secretReferenceContentType =\n \"application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8\";\n\n/**\n * Necessary fields for updating or creating a new secret reference.\n */\nexport interface SecretReferenceValue {\n /**\n * Id for the secret reference.\n */\n secretId: string;\n}\n\n/**\n * @internal\n */\nexport const SecretReferenceHelper = {\n /**\n * Takes the SecretReference (JSON) and returns a ConfigurationSetting (with the props encodeed in the value).\n */\n toConfigurationSettingParam: (\n secretReference: ConfigurationSettingParam<SecretReferenceValue>\n ): ConfigurationSettingParam => {\n if (!secretReference.value) {\n throw new TypeError(`SecretReference has an unexpected value - ${secretReference.value}`);\n }\n\n const jsonSecretReferenceValue: JsonSecretReferenceValue = {\n uri: secretReference.value.secretId,\n };\n\n const configSetting = {\n ...secretReference,\n value: JSON.stringify(jsonSecretReferenceValue),\n };\n return configSetting;\n },\n};\n\n/**\n * Takes the ConfigurationSetting as input and returns the ConfigurationSetting<SecretReferenceValue> by parsing the value string.\n */\nexport function parseSecretReference(\n setting: ConfigurationSetting\n): ConfigurationSetting<SecretReferenceValue> {\n if (!isSecretReference(setting)) {\n throw TypeError(\n `Setting with key ${setting.key} is not a valid SecretReference, make sure to have the correct content-type and a valid non-null value.`\n );\n }\n\n const jsonSecretReferenceValue = JSON.parse(setting.value) as JsonSecretReferenceValue;\n\n const secretReference: ConfigurationSetting<SecretReferenceValue> = {\n ...setting,\n value: { secretId: jsonSecretReferenceValue.uri },\n };\n return secretReference;\n}\n\n/**\n * Lets you know if the ConfigurationSetting is a secret reference.\n *\n * [Checks if the content type is secretReferenceContentType `\"application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8\"`]\n */\nexport function isSecretReference(\n setting: ConfigurationSetting\n): setting is ConfigurationSetting & Required<Pick<ConfigurationSetting, \"value\">> {\n return (\n setting &&\n setting.contentType === secretReferenceContentType &&\n typeof setting.value === \"string\"\n );\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n/**\n * Helper TypeGuard that checks if something is defined or not.\n * @param thing - Anything\n * @internal\n */\nexport function isDefined<T>(thing: T | undefined | null): thing is T {\n return typeof thing !== \"undefined\" && thing !== null;\n}\n\n/**\n * Helper TypeGuard that checks if the input is an object with the specified properties.\n * @param thing - Anything.\n * @param properties - The name of the properties that should appear in the object.\n * @internal\n */\nexport function isObjectWithProperties<Thing extends unknown, PropertyName extends string>(\n thing: Thing,\n properties: PropertyName[]\n): thing is Thing & Record<PropertyName, unknown> {\n if (!isDefined(thing) || typeof thing !== \"object\") {\n return false;\n }\n\n for (const property of properties) {\n if (!objectHasProperty(thing, property)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Helper TypeGuard that checks if the input is an object with the specified property.\n * @param thing - Any object.\n * @param property - The name of the property that should appear in the object.\n * @internal\n */\nfunction objectHasProperty<Thing extends unknown, PropertyName extends string>(\n thing: Thing,\n property: PropertyName\n): thing is Thing & Record<PropertyName, unknown> {\n return typeof thing === \"object\" && property in (thing as Record<string, unknown>);\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport {\n ConfigurationSetting,\n ConfigurationSettingId,\n ConfigurationSettingParam,\n HttpOnlyIfChangedField,\n HttpOnlyIfUnchangedField,\n HttpResponseField,\n HttpResponseFields,\n ListConfigurationSettingsOptions,\n ListRevisionsOptions,\n} from \"../models\";\nimport { GetKeyValuesOptionalParams, KeyValue } from \"../generated/src/models\";\nimport { FeatureFlagHelper, FeatureFlagValue, featureFlagContentType } from \"../featureFlag\";\nimport {\n SecretReferenceHelper,\n SecretReferenceValue,\n secretReferenceContentType,\n} from \"../secretReference\";\nimport { isDefined } from \"./typeguards\";\n\n/**\n * Formats the etag so it can be used with a If-Match/If-None-Match header\n * @internal\n */\nexport function quoteETag(etag: string | undefined): string | undefined {\n // https://tools.ietf.org/html/rfc7232#section-3.1\n if (etag === undefined || etag === \"*\") {\n return etag;\n }\n\n if (etag.startsWith('\"') && etag.endsWith('\"')) {\n return etag;\n }\n\n if (etag.startsWith(\"'\") && etag.endsWith(\"'\")) {\n return etag;\n }\n\n return `\"${etag}\"`;\n}\n\n/**\n * Checks the onlyIfChanged/onlyIfUnchanged properties to make sure we haven't specified both\n * and throws an Error. Otherwise, returns the properties properly quoted.\n * @param options - An options object with onlyIfChanged/onlyIfUnchanged fields\n * @internal\n */\nexport function checkAndFormatIfAndIfNoneMatch(\n configurationSetting: ConfigurationSettingId,\n options: HttpOnlyIfChangedField & HttpOnlyIfUnchangedField\n): { ifMatch: string | undefined; ifNoneMatch: string | undefined } {\n if (options.onlyIfChanged && options.onlyIfUnchanged) {\n throw new Error(\"onlyIfChanged and onlyIfUnchanged are mutually-exclusive\");\n }\n\n let ifMatch;\n let ifNoneMatch;\n\n if (options.onlyIfUnchanged) {\n ifMatch = quoteETag(configurationSetting.etag);\n }\n\n if (options.onlyIfChanged) {\n ifNoneMatch = quoteETag(configurationSetting.etag);\n }\n\n return {\n ifMatch: ifMatch,\n ifNoneMatch: ifNoneMatch,\n };\n}\n\n/**\n * Transforms some of the key fields in ListConfigurationSettingsOptions and ListRevisionsOptions\n * so they can be added to a request using AppConfigurationGetKeyValuesOptionalParams.\n * - `options.acceptDateTime` is converted into an ISO string\n * - `select` is populated with the proper field names from `options.fields`\n * - keyFilter and labelFilter are moved to key and label, respectively.\n *\n * @internal\n */\nexport function formatFiltersAndSelect(\n listConfigOptions: ListConfigurationSettingsOptions | ListRevisionsOptions\n): Pick<GetKeyValuesOptionalParams, \"key\" | \"label\" | \"select\" | \"acceptDatetime\"> {\n let acceptDatetime: string | undefined = undefined;\n\n if (listConfigOptions.acceptDateTime) {\n acceptDatetime = listConfigOptions.acceptDateTime.toISOString();\n }\n\n return {\n key: listConfigOptions.keyFilter,\n label: listConfigOptions.labelFilter,\n acceptDatetime,\n select: formatFieldsForSelect(listConfigOptions.fields),\n };\n}\n\n/**\n * Handles translating a Date acceptDateTime into a string as needed by the API\n * @param newOptions - A newer style options with acceptDateTime as a date (and with proper casing!)\n * @internal\n */\nexport function formatAcceptDateTime(newOptions: { acceptDateTime?: Date }): {\n acceptDatetime?: string;\n} {\n return {\n acceptDatetime: newOptions.acceptDateTime && newOptions.acceptDateTime.toISOString(),\n };\n}\n\n/**\n * Take the URL that gets returned from next link and extract the 'after' token needed\n * to get the next page of results.\n * @internal\n */\nexport function extractAfterTokenFromNextLink(nextLink: string): string {\n const searchParams = new URLSearchParams(nextLink);\n const afterToken = searchParams.get(\"after\");\n\n if (afterToken == null || Array.isArray(afterToken)) {\n throw new Error(\"Invalid nextLink - invalid after token\");\n }\n\n return decodeURIComponent(afterToken);\n}\n\n/**\n * Makes a ConfigurationSetting-based response throw for all of the data members. Used primarily\n * to prevent possible errors by the user in accessing a model that is uninitialized. This can happen\n * in cases like HTTP status code 204 or 304, which return an empty response body.\n *\n * @param configurationSetting - The configuration setting to alter\n */\nexport function makeConfigurationSettingEmpty(\n configurationSetting: Partial<Record<Exclude<keyof ConfigurationSetting, \"key\">, any>>\n): void {\n const names: Exclude<keyof ConfigurationSetting, \"key\">[] = [\n \"contentType\",\n \"etag\",\n \"label\",\n \"lastModified\",\n \"isReadOnly\",\n \"tags\",\n \"value\",\n ];\n\n for (const name of names) {\n configurationSetting[name] = undefined;\n }\n}\n\n/**\n * @internal\n */\nexport function transformKeyValue<T>(kvp: T & KeyValue): T & ConfigurationSetting {\n const setting: T & ConfigurationSetting & KeyValue = {\n value: undefined,\n ...kvp,\n isReadOnly: !!kvp.locked,\n };\n\n delete setting.locked;\n\n return setting;\n}\n\n/**\n * @internal\n */\nfunction isConfigSettingWithSecretReferenceValue(\n setting: any\n): setting is ConfigurationSetting<SecretReferenceValue> {\n return (\n setting.contentType === secretReferenceContentType &&\n isDefined(setting.value) &&\n typeof setting.value !== \"string\"\n );\n}\n\n/**\n * @internal\n */\nfunction isConfigSettingWithFeatureFlagValue(\n setting: any\n): setting is ConfigurationSetting<FeatureFlagValue> {\n return (\n setting.contentType === featureFlagContentType &&\n isDefined(setting.value) &&\n typeof setting.value !== \"string\"\n );\n}\n\n/**\n * @internal\n */\nfunction isSimpleConfigSetting(setting: any): setting is ConfigurationSetting {\n return typeof setting.value === \"string\" || !isDefined(setting.value);\n}\n\n/**\n * @internal\n */\nexport function serializeAsConfigurationSettingParam(\n setting:\n | ConfigurationSettingParam\n | ConfigurationSettingParam<FeatureFlagValue>\n | ConfigurationSettingParam<SecretReferenceValue>\n): ConfigurationSettingParam {\n if (isSimpleConfigSetting(setting)) {\n return setting as ConfigurationSettingParam;\n }\n try {\n if (isConfigSettingWithFeatureFlagValue(setting)) {\n return FeatureFlagHelper.toConfigurationSettingParam(setting);\n }\n if (isConfigSettingWithSecretReferenceValue(setting)) {\n return SecretReferenceHelper.toConfigurationSettingParam(setting);\n }\n } catch (error) {\n return setting as ConfigurationSettingParam;\n }\n throw new TypeError(\n `Unable to serialize the setting with key \"${setting.key}\" as a configuration setting`\n );\n}\n\n/**\n * @internal\n */\nexport function transformKeyValueResponseWithStatusCode<T extends KeyValue>(\n kvp: T,\n status: number | undefined\n): ConfigurationSetting & { eTag?: string } & HttpResponseFields {\n const response = {\n ...transformKeyValue(kvp),\n statusCode: status ?? -1,\n };\n\n if (hasUnderscoreResponse(kvp)) {\n Object.defineProperty(response, \"_response\", {\n enumerable: false,\n value: kvp._response,\n });\n }\n return response;\n}\n\n/**\n * @internal\n */\nexport function transformKeyValueResponse<T extends KeyValue & { eTag?: string }>(\n kvp: T\n): ConfigurationSetting {\n const setting = transformKeyValue(kvp);\n if (hasUnderscoreResponse(kvp)) {\n Object.defineProperty(setting, \"_response\", {\n enumerable: false,\n value: kvp._response,\n });\n }\n\n delete setting.eTag;\n return setting;\n}\n\n/**\n * Translates user-facing field names into their `select` equivalents (these can be\n * seen in the `KnownEnum5`)\n *\n * @param fieldNames - fieldNames from users.\n * @returns The field names translated into the `select` field equivalents.\n *\n * @internal\n */\nexport function formatFieldsForSelect(\n fieldNames: (keyof ConfigurationSetting)[] | undefined\n): string[] | undefined {\n if (fieldNames == null) {\n return undefined;\n }\n\n const mappedFieldNames = fieldNames.map((fn) => {\n switch (fn) {\n case \"lastModified\":\n return \"last_modified\";\n case \"contentType\":\n return \"content_type\";\n case \"isReadOnly\":\n return \"locked\";\n default:\n return fn;\n }\n });\n\n return mappedFieldNames;\n}\n\n/**\n * @internal\n */\nexport function errorMessageForUnexpectedSetting(\n key: string,\n expectedType: \"FeatureFlag\" | \"SecretReference\"\n): string {\n return `Setting with key ${key} is not a valid ${expectedType}, make sure to have the correct content-type and a valid non-null value.`;\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function assertResponse<T extends object>(\n result: T\n): asserts result is T & HttpResponseField<any> {\n if (!hasUnderscoreResponse(result)) {\n Object.defineProperty(result, \"_response\", {\n enumerable: false,\n value:\n \"Something went wrong, _response(raw response) is supposed to be part of the response. Please file a bug at https://github.com/Azure/azure-sdk-for-js\",\n });\n }\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function hasUnderscoreResponse<T extends object>(\n result: T\n): result is T & HttpResponseField<any> {\n return Object.prototype.hasOwnProperty.call(result, \"_response\");\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\n/**\n * The sync token header, as described here:\n * https://docs.microsoft.com/azure/azure-app-configuration/rest-api-consistency\n * @internal\n */\nexport const SyncTokenHeaderName = \"sync-token\";\n\n/**\n * A policy factory for injecting sync tokens properly into outgoing requests.\n * @param syncTokens - the sync tokens store to be used across requests.\n * @internal\n */\nexport function syncTokenPolicy(syncTokens: SyncTokens): PipelinePolicy {\n return {\n name: \"Sync Token Policy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const syncTokenHeaderValue = syncTokens.getSyncTokenHeaderValue();\n\n if (syncTokenHeaderValue) {\n request.headers.set(SyncTokenHeaderName, syncTokenHeaderValue);\n }\n\n const response = await next(request);\n syncTokens.addSyncTokenFromHeaderValue(response.headers.get(SyncTokenHeaderName));\n return response;\n },\n };\n}\n\n/**\n * Sync token tracker (allows for real-time consistency, even in the face of\n * caching and load balancing within App Configuration).\n *\n * (protocol and format described here)\n * https://docs.microsoft.com/azure/azure-app-configuration/rest-api-consistency\n *\n * @internal\n */\nexport class SyncTokens {\n private _currentSyncTokens = new Map<string, SyncToken>();\n\n /**\n * Takes the value from the header named after the constant `SyncTokenHeaderName`\n * and adds it to our list of accumulated sync tokens.\n *\n * If given an empty value (or undefined) it clears the current list of sync tokens.\n * (indicates the service has properly absorbed values into the cluster).\n *\n * @param syncTokenHeaderValue - The full value of the sync token header.\n */\n addSyncTokenFromHeaderValue(syncTokenHeaderValue: string | undefined): void {\n if (syncTokenHeaderValue == null || syncTokenHeaderValue === \"\") {\n // eventually everything gets synced up and we don't have to track\n // these headers anymore\n this._currentSyncTokens.clear();\n return;\n }\n\n const newTokens = syncTokenHeaderValue.split(\",\").map(parseSyncToken);\n\n for (const newToken of newTokens) {\n const existingToken = this._currentSyncTokens.get(newToken.id);\n\n if (!existingToken || existingToken.sequenceNumber < newToken.sequenceNumber) {\n this._currentSyncTokens.set(newToken.id, newToken);\n continue;\n }\n }\n }\n\n /**\n * Gets a properly formatted SyncToken header value.\n */\n getSyncTokenHeaderValue(): string | undefined {\n if (this._currentSyncTokens.size === 0) {\n return undefined;\n }\n\n const syncTokenStrings = [];\n\n for (const syncToken of this._currentSyncTokens.values()) {\n // note that you don't include the 'sn' field here - that's only\n // used for internal tracking of the 'version' for the token itself\n syncTokenStrings.push(`${syncToken.id}=${syncToken.value}`);\n }\n\n return syncTokenStrings.join(\",\");\n }\n}\n\n// An example sync token (from their documentation):\n//\n// jtqGc1I4=MDoyOA==;sn=28\n//\n// Which breaks down to:\n// id: jtqGc1I4\n// value: MDoyOA==\n// sequence number: 28\nconst syncTokenRegex = /^([^=]+)=([^;]+);sn=(\\d+)$/;\n\ninterface SyncToken {\n id: string;\n value: string;\n sequenceNumber: number;\n}\n\n/**\n * Parses a single sync token into it's constituent parts.\n *\n * @param syncToken - A single sync token.\n *\n * @internal\n */\nexport function parseSyncToken(syncToken: string): SyncToken {\n const matches = syncToken.match(syncTokenRegex);\n\n if (matches == null) {\n throw new Error(\n `Failed to parse sync token '${syncToken}' with regex ${syncTokenRegex.source}`\n );\n }\n\n const sequenceNumber = parseInt(matches[3], 10);\n\n if (isNaN(sequenceNumber)) {\n // this should be impossible since our regex restricts to just digits\n // but there's nothing wrong with being thorough.\n throw new Error(`${syncToken}: The sequence number value '${matches[3]}' wasn't a number`);\n }\n\n return {\n id: matches[1],\n value: matches[2],\n sequenceNumber,\n };\n}\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\nimport { createTracingClient } from \"@azure/core-tracing\";\nimport { packageVersion } from \"../appConfigurationClient\";\n\n/** @internal */\nexport const tracingClient = createTracingClient({\n namespace: \"Microsoft.AppConfiguration\",\n packageName: \"@azure/app-configuration\",\n packageVersion,\n});\n","// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\n\n// https://azure.github.io/azure-sdk/typescript_design.html#ts-config-lib\n/// <reference lib=\"esnext.asynciterable\" />\n\nimport { appConfigKeyCredentialPolicy } from \"./appConfigCredential\";\nimport { AppConfiguration } from \"./generated/src/appConfiguration\";\nimport { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { TokenCredential, isTokenCredential } from \"@azure/core-auth\";\n\nimport {\n AddConfigurationSettingOptions,\n AddConfigurationSettingParam,\n AddConfigurationSettingResponse,\n ConfigurationSetting,\n ConfigurationSettingId,\n DeleteConfigurationSettingOptions,\n DeleteConfigurationSettingResponse,\n GetConfigurationSettingOptions,\n GetConfigurationSettingResponse,\n HttpResponseField,\n ListConfigurationSettingPage,\n ListConfigurationSettingsOptions,\n ListRevisionsOptions,\n ListRevisionsPage,\n PageSettings,\n SetConfigurationSettingOptions,\n SetConfigurationSettingParam,\n SetConfigurationSettingResponse,\n SetReadOnlyOptions,\n SetReadOnlyResponse,\n} from \"./models\";\nimport {\n assertResponse,\n checkAndFormatIfAndIfNoneMatch,\n extractAfterTokenFromNextLink,\n formatAcceptDateTime,\n formatFieldsForSelect,\n formatFiltersAndSelect,\n makeConfigurationSettingEmpty,\n serializeAsConfigurationSettingParam,\n transformKeyValue,\n transformKeyValueResponse,\n transformKeyValueResponseWithStatusCode,\n} from \"./internal/helpers\";\nimport {\n AppConfigurationGetKeyValuesHeaders,\n AppConfigurationGetRevisionsHeaders,\n GetKeyValuesResponse,\n GetRevisionsResponse,\n} from \"./generated/src/models\";\nimport { SyncTokens, syncTokenPolicy } from \"./internal/synctokenpolicy\";\nimport { FeatureFlagValue } from \"./featureFlag\";\nimport { SecretReferenceValue } from \"./secretReference\";\nimport {\n CommonClientOptions,\n deserializationPolicy,\n deserializationPolicyName,\n} from \"@azure/core-client\";\nimport { PipelinePolicy, bearerTokenAuthenticationPolicy } from \"@azure/core-rest-pipeline\";\nimport { tracingClient } from \"./internal/tracing\";\n\n/**\n * @internal\n */\nexport const packageVersion = \"1.4.0-beta.1\";\nconst apiVersion = \"1.0\";\nconst ConnectionStringRegex = /Endpoint=(.*);Id=(.*);Secret=(.*)/;\nconst deserializationContentTypes = {\n json: [\n \"application/vnd.microsoft.appconfig.kvset+json\",\n \"application/vnd.microsoft.appconfig.kv+json\",\n \"application/vnd.microsoft.appconfig.kvs+json\",\n \"application/vnd.microsoft.appconfig.keyset+json\",\n \"application/vnd.microsoft.appconfig.revs+json\",\n ],\n};\n\n/**\n * Provides configuration options for AppConfigurationClient.\n */\nexport interface AppConfigurationClientOptions extends CommonClientOptions {}\n\n/**\n * Provides internal configuration options for AppConfigurationClient.\n * @internal\n */\nexport interface InternalAppConfigurationClientOptions extends AppConfigurationClientOptions {\n /**\n * The sync token cache to use for this client.\n * NOTE: this is an internal option, not for general client usage.\n */\n syncTokens?: SyncTokens;\n}\n\n/**\n * Client for the Azure App Configuration service.\n */\nexport class AppConfigurationClient {\n private client: AppConfiguration;\n private _syncTokens: SyncTokens;\n\n /**\n * Initializes a new instance of the AppConfigurationClient class.\n * @param connectionString - Connection string needed for a client to connect to Azure.\n * @param options - Options for the AppConfigurationClient.\n */\n constructor(connectionString: string, options?: AppConfigurationClientOptions);\n /**\n * Initializes a new instance of the AppConfigurationClient class using\n * a TokenCredential.\n * @param endpoint - The endpoint of the App Configuration service (ex: https://sample.azconfig.io).\n * @param tokenCredential - An object that implements the `TokenCredential` interface used to authenticate requests to the service. Use the \\@azure/identity package to create a credential that suits your needs.\n * @param options - Options for the AppConfigurationClient.\n */\n constructor(\n endpoint: string,\n tokenCredential: TokenCredential,\n options?: AppConfigurationClientOptions\n );\n constructor(\n connectionStringOrEndpoint: string,\n tokenCredentialOrOptions?: TokenCredential | AppConfigurationClientOptions,\n options?: AppConfigurationClientOptions\n ) {\n let appConfigOptions: InternalAppConfigurationClientOptions = {};\n let appConfigCredential: TokenCredential;\n let appConfigEndpoint: string;\n let authPolicy: PipelinePolicy;\n\n if (isTokenCredential(tokenCredentialOrOptions)) {\n appConfigOptions = (options as InternalAppConfigurationClientOptions) || {};\n appConfigCredential = tokenCredentialOrOptions;\n appConfigEndpoint = connectionStringOrEndpoint.endsWith(\"/\")\n ? connectionStringOrEndpoint.slice(0, -1)\n : connectionStringOrEndpoint;\n authPolicy = bearerTokenAuthenticationPolicy({\n scopes: `${appConfigEndpoint}/.default`,\n credential: appConfigCredential,\n });\n } else {\n appConfigOptions = (tokenCredentialOrOptions as InternalAppConfigurationClientOptions) || {};\n const regexMatch = connectionStringOrEndpoint?.match(ConnectionStringRegex);\n if (regexMatch) {\n appConfigEndpoint = regexMatch[1];\n authPolicy = appConfigKeyCredentialPolicy(regexMatch[2], regexMatch[3]);\n } else {\n throw new Error(\n `Invalid connection string. Valid connection strings should match the regex '${ConnectionStringRegex.source}'.`\n );\n }\n }\n\n this._syncTokens = appConfigOptions.syncTokens || new SyncTokens();\n this.client = new AppConfiguration(appConfigEndpoint, apiVersion, appConfigOptions);\n this.client.pipeline.addPolicy(authPolicy, { phase: \"Sign\" });\n this.client.pipeline.addPolicy(syncTokenPolicy(this._syncTokens), { afterPhase: \"Retry\" });\n this.client.pipeline.removePolicy({ name: deserializationPolicyName });\n this.client.pipeline.addPolicy(\n deserializationPolicy({ expectedContentTypes: deserializationContentTypes }),\n { phase: \"Deserialize\" }\n );\n }\n\n /**\n * Add a setting into the Azure App Configuration service, failing if it\n * already exists.\n *\n * Example usage:\n * ```ts\n * const result = await client.addConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\", value: \"MyValue\" });\n * ```\n * @param configurationSetting - A configuration setting.\n * @param options - Optional parameters for the request.\n */\n addConfigurationSetting(\n configurationSetting:\n | AddConfigurationSettingParam\n | AddConfigurationSettingParam<FeatureFlagValue>\n | AddConfigurationSettingParam<SecretReferenceValue>,\n options: AddConfigurationSettingOptions = {}\n ): Promise<AddConfigurationSettingResponse> {\n return tracingClient.withSpan(\n \"AppConfigurationClient.addConfigurationSetting\",\n options,\n async (updatedOptions) => {\n const keyValue = serializeAsConfigurationSettingParam(configurationSetting);\n const originalResponse = await this.client.putKeyValue(configurationSetting.key, {\n ifNoneMatch: \"*\",\n label: configurationSetting.label,\n entity: keyValue,\n ...updatedOptions,\n });\n const response = transformKeyValueResponse(originalResponse);\n assertResponse(response);\n return response;\n }\n );\n }\n\n /**\n * Delete a setting from the Azure App Configuration service\n *\n * Example usage:\n * ```ts\n * const deletedSetting = await client.deleteConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\" });\n * ```\n * @param id - The id of the configuration setting to delete.\n * @param options - Optional parameters for the request (ex: etag, label)\n */\n deleteConfigurationSetting(\n id: ConfigurationSettingId,\n options: DeleteConfigurationSettingOptions = {}\n ): Promise<DeleteConfigurationSettingResponse> {\n return tracingClient.withSpan(\n \"AppConfigurationClient.deleteConfigurationSetting\",\n options,\n async (updatedOptions) => {\n let status;\n const originalResponse = await this.client.deleteKeyValue(id.key, {\n label: id.label,\n ...updatedOptions,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n onResponse: (response) => {\n status = response.status;\n },\n });\n\n const response = transformKeyValueResponseWithStatusCode(originalResponse, status);\n assertResponse(response);\n return response;\n }\n );\n }\n\n /**\n * Gets a setting from the Azure App Configuration service.\n *\n * Example code:\n * ```ts\n * const setting = await client.getConfigurationSetting({ key: \"MyKey\", label: \"MyLabel\" });\n * ```\n * @param id - The id of the configuration setting to get.\n * @param options - Optional parameters for the request.\n */\n async getConfigurationSetting(\n id: ConfigurationSettingId,\n options: GetConfigurationSettingOptions = {}\n ): Promise<GetConfigurationSettingResponse> {\n return tracingClient.withSpan(\n \"AppConfigurationClient.getConfigurationSetting\",\n options,\n async (updatedOptions) => {\n let status;\n const originalResponse = await this.client.getKeyValue(id.key, {\n ...updatedOptions,\n label: id.label,\n select: formatFieldsForSelect(options.fields),\n ...formatAcceptDateTime(options),\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n onResponse: (response) => {\n status = response.status;\n },\n });\n\n const response = transformKeyValueResponseWithStatusCode(originalResponse, status);\n\n // 304 only comes back if the user has passed a conditional option in their\n // request _and_ the remote object has the same etag as what the user passed.\n if (response.statusCode === 304) {\n // this is one of our few 'required' fields so we'll make sure it does get initialized\n // with a value\n response.key = id.key;\n\n // and now we'll undefine all the other properties that are not HTTP related\n makeConfigurationSettingEmpty(response);\n }\n assertResponse(response);\n return response;\n }\n );\n }\n\n /**\n * Lists settings from the Azure App Configuration service, optionally\n * filtered by key names, labels and accept datetime.\n *\n * Example code:\n * ```ts\n * const allSettingsWithLabel = client.listConfigurationSettings({ labelFilter: \"MyLabel\" });\n * ```\n * @param options - Optional parameters for the request.\n */\n listConfigurationSettings(\n options: ListConfigurationSettingsOptions = {}\n ): PagedAsyncIterableIterator<ConfigurationSetting, ListConfigurationSettingPage, PageSettings> {\n const iter = this.getListConfigurationSettingsIterator(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => {\n // The appconfig service doesn't currently support letting you select a page size\n // so we're ignoring their setting for now.\n return this.listConfigurationSettingsByPage({\n ...options,\n continuationToken: settings.continuationToken,\n });\n },\n };\n }\n\n private async *getListConfigurationSettingsIterator(\n options: ListConfigurationSettingsOptions\n ): AsyncIterableIterator<ConfigurationSetting> {\n for await (const page of this.listConfigurationSettingsByPage(options)) {\n for (const configurationSetting of page.items) {\n yield configurationSetting;\n }\n }\n }\n\n private async *listConfigurationSettingsByPage(\n options: ListConfigurationSettingsOptions & PageSettings = {}\n ): AsyncIterableIterator<ListConfigurationSettingPage> {\n let currentResponse = await tracingClient.withSpan(\n \"AppConfigurationClient.listConfigurationSettings\",\n options,\n async (updatedOptions) => {\n const response = await this.client.getKeyValues({\n ...updatedOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: options.continuationToken,\n });\n\n return response as GetKeyValuesResponse &\n HttpResponseField<AppConfigurationGetKeyValuesHeaders>;\n }\n );\n\n yield* this.createListConfigurationPageFromResponse(currentResponse);\n\n while (currentResponse.nextLink) {\n currentResponse = await tracingClient.withSpan(\n \"AppConfigurationClient.listConfigurationSettings\",\n options,\n // TODO: same code up above. Unify.\n async (updatedOptions) => {\n const response = await this.client.getKeyValues({\n ...updatedOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: extractAfterTokenFromNextLink(currentResponse.nextLink!),\n });\n\n return response as GetKeyValuesResponse &\n HttpResponseField<AppConfigurationGetKeyValuesHeaders>;\n }\n );\n\n if (!currentResponse.items) {\n break;\n }\n\n yield* this.createListConfigurationPageFromResponse(currentResponse);\n }\n }\n\n private *createListConfigurationPageFromResponse(\n currentResponse: GetKeyValuesResponse & HttpResponseField<AppConfigurationGetKeyValuesHeaders>\n ): Generator<ListConfigurationSettingPage> {\n yield {\n ...currentResponse,\n items: currentResponse.items != null ? currentResponse.items.map(transformKeyValue) : [],\n continuationToken: currentResponse.nextLink\n ? extractAfterTokenFromNextLink(currentResponse.nextLink)\n : undefined,\n };\n }\n\n /**\n * Lists revisions of a set of keys, optionally filtered by key names,\n * labels and accept datetime.\n *\n * Example code:\n * ```ts\n * const revisionsIterator = client.listRevisions({ keys: [\"MyKey\"] });\n * ```\n * @param options - Optional parameters for the request.\n */\n listRevisions(\n options?: ListRevisionsOptions\n ): PagedAsyncIterableIterator<ConfigurationSetting, ListRevisionsPage, PageSettings> {\n const iter = this.getListRevisionsIterator(options);\n\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: (settings: PageSettings = {}) => {\n // The appconfig service doesn't currently support letting you select a page size\n // so we're ignoring their setting for now.\n return this.listRevisionsByPage({\n ...options,\n continuationToken: settings.continuationToken,\n });\n },\n };\n }\n\n private async *getListRevisionsIterator(\n options?: ListRevisionsOptions\n ): AsyncIterableIterator<ConfigurationSetting> {\n for await (const page of this.listRevisionsByPage(options)) {\n for (const item of page.items) {\n yield item;\n }\n }\n }\n\n private async *listRevisionsByPage(\n options: ListRevisionsOptions & PageSettings = {}\n ): AsyncIterableIterator<ListRevisionsPage> {\n let currentResponse = await tracingClient.withSpan(\n \"AppConfigurationClient.listRevisions\",\n options,\n async (updatedOptions) => {\n const response = await this.client.getRevisions({\n ...updatedOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(updatedOptions),\n after: options.continuationToken,\n });\n\n return response as GetRevisionsResponse &\n HttpResponseField<AppConfigurationGetRevisionsHeaders>;\n }\n );\n\n yield* this.createListRevisionsPageFromResponse(currentResponse);\n\n while (currentResponse.nextLink) {\n currentResponse = (await tracingClient.withSpan(\n \"AppConfigurationClient.listRevisions\",\n options,\n (updatedOptions) => {\n return this.client.getRevisions({\n ...updatedOptions,\n ...formatAcceptDateTime(options),\n ...formatFiltersAndSelect(options),\n after: extractAfterTokenFromNextLink(currentResponse.nextLink!),\n });\n }\n )) as GetRevisionsResponse & HttpResponseField<AppConfigurationGetRevisionsHeaders>;\n\n if (!currentResponse.items) {\n break;\n }\n\n yield* this.createListRevisionsPageFromResponse(currentResponse);\n }\n }\n\n private *createListRevisionsPageFromResponse(\n currentResponse: GetKeyValuesResponse & HttpResponseField<AppConfigurationGetKeyValuesHeaders>\n ) {\n yield {\n ...currentResponse,\n items: currentResponse.items != null ? currentResponse.items.map(transformKeyValue) : [],\n continuationToken: currentResponse.nextLink\n ? extractAfterTokenFromNextLink(currentResponse.nextLink)\n : undefined,\n };\n }\n\n /**\n * Sets the value of a key in the Azure App Configuration service, allowing for an optional etag.\n * @param key - The name of the key.\n * @param configurationSetting - A configuration value.\n * @param options - Optional parameters for the request.\n *\n * Example code:\n * ```ts\n * await client.setConfigurationSetting({ key: \"MyKey\", value: \"MyValue\" });\n * ```\n */\n async setConfigurationSetting(\n configurationSetting:\n | SetConfigurationSettingParam\n | SetConfigurationSettingParam<FeatureFlagValue>\n | SetConfigurationSettingParam<SecretReferenceValue>,\n options: SetConfigurationSettingOptions = {}\n ): Promise<SetConfigurationSettingResponse> {\n return tracingClient.withSpan(\n \"AppConfigurationClient.setConfigurationSetting\",\n options,\n async (updatedOptions) => {\n const keyValue = serializeAsConfigurationSettingParam(configurationSetting);\n const response = transformKeyValueResponse(\n await this.client.putKeyValue(configurationSetting.key, {\n ...updatedOptions,\n label: configurationSetting.label,\n entity: keyValue,\n ...checkAndFormatIfAndIfNoneMatch(configurationSetting, options),\n })\n );\n assertResponse(response);\n return response;\n }\n );\n }\n\n /**\n * Sets or clears a key's read-only status.\n * @param id - The id of the configuration setting to modify.\n */\n async setReadOnly(\n id: ConfigurationSettingId,\n readOnly: boolean,\n options: SetReadOnlyOptions = {}\n ): Promise<SetReadOnlyResponse> {\n return tracingClient.withSpan(\n \"AppConfigurationClient.setReadOnly\",\n options,\n async (newOptions) => {\n let response;\n if (readOnly) {\n response = await this.client.putLock(id.key, {\n ...newOptions,\n label: id.label,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n } else {\n response = await this.client.deleteLock(id.key, {\n ...newOptions,\n label: id.label,\n ...checkAndFormatIfAndIfNoneMatch(id, options),\n });\n }\n response = transformKeyValueResponse(response);\n assertResponse(response);\n return response;\n }\n );\n }\n\n /**\n * Adds an external synchronization token to ensure service requests receive up-to-date values.\n *\n * @param syncToken - The synchronization token value.\n */\n updateSyncToken(syncToken: string): void {\n this._syncTokens.addSyncTokenFromHeaderValue(syncToken);\n }\n}\n"],"names":["createHash","createHmac","apiVersion","KeyValueMapper","coreHttpCompat","coreClient","Mappers.KeyListResult","Mappers.AppConfigurationGetKeysHeaders","Mappers.ErrorModel","Parameters.name","Parameters.apiVersion","Parameters.after","Parameters.endpoint","Parameters.accept","Parameters.syncToken","Parameters.acceptDatetime","Mappers.AppConfigurationCheckKeysHeaders","Mappers.KeyValueListResult","Mappers.AppConfigurationGetKeyValuesHeaders","Parameters.key","Parameters.label","Parameters.select","Parameters.accept1","Mappers.AppConfigurationCheckKeyValuesHeaders","Parameters.select1","Mappers.KeyValue","Mappers.AppConfigurationGetKeyValueHeaders","Parameters.select2","Parameters.key1","Parameters.accept2","Parameters.ifMatch","Parameters.ifNoneMatch","Mappers.AppConfigurationPutKeyValueHeaders","Parameters.entity","Parameters.contentType","Mappers.AppConfigurationDeleteKeyValueHeaders","Mappers.AppConfigurationCheckKeyValueHeaders","Parameters.select3","Mappers.LabelListResult","Mappers.AppConfigurationGetLabelsHeaders","Parameters.select4","Parameters.accept3","Mappers.AppConfigurationCheckLabelsHeaders","Mappers.AppConfigurationPutLockHeaders","Mappers.AppConfigurationDeleteLockHeaders","Mappers.AppConfigurationGetRevisionsHeaders","Parameters.select5","Mappers.AppConfigurationCheckRevisionsHeaders","Parameters.select6","Mappers.AppConfigurationGetKeysNextHeaders","Parameters.nextLink","Mappers.AppConfigurationGetKeyValuesNextHeaders","Mappers.AppConfigurationGetLabelsNextHeaders","Mappers.AppConfigurationGetRevisionsNextHeaders","createTracingClient","isTokenCredential","bearerTokenAuthenticationPolicy","deserializationPolicyName","deserializationPolicy","__asyncValues","__await","__asyncDelegator"],"mappings":"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"}
|