@azure/communication-phone-numbers 1.5.0-beta.1 → 1.5.0

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.
Files changed (106) hide show
  1. package/dist/browser/generated/src/lroImpl.js +7 -3
  2. package/dist/browser/generated/src/lroImpl.js.map +1 -1
  3. package/dist/browser/generated/src/operations/phoneNumbers.js +219 -296
  4. package/dist/browser/generated/src/operations/phoneNumbers.js.map +1 -1
  5. package/dist/browser/generated/src/pagingHelper.js +2 -4
  6. package/dist/browser/generated/src/pagingHelper.js.map +1 -1
  7. package/dist/browser/generated/src/phoneNumbersClient.js +11 -4
  8. package/dist/browser/generated/src/phoneNumbersClient.js.map +1 -1
  9. package/dist/browser/generated/src/siprouting/operations/sipRouting.js +1 -0
  10. package/dist/browser/generated/src/siprouting/operations/sipRouting.js.map +1 -1
  11. package/dist/browser/generated/src/siprouting/sipRoutingClient.js +1 -0
  12. package/dist/browser/generated/src/siprouting/sipRoutingClient.js.map +1 -1
  13. package/dist/browser/generated/src/siprouting/sipRoutingClientContext.js +10 -3
  14. package/dist/browser/generated/src/siprouting/sipRoutingClientContext.js.map +1 -1
  15. package/dist/browser/generated/src/tracing.js +1 -1
  16. package/dist/browser/generated/src/tracing.js.map +1 -1
  17. package/dist/browser/phoneNumbersClient.d.ts +1 -1
  18. package/dist/browser/phoneNumbersClient.js +86 -28
  19. package/dist/browser/phoneNumbersClient.js.map +1 -1
  20. package/dist/browser/sipRoutingClient.js +48 -61
  21. package/dist/browser/sipRoutingClient.js.map +1 -1
  22. package/dist/browser/utils/constants.d.ts.map +1 -1
  23. package/dist/browser/utils/constants.js +1 -1
  24. package/dist/browser/utils/constants.js.map +1 -1
  25. package/dist/browser/utils/customPipelinePolicies.js +1 -2
  26. package/dist/browser/utils/customPipelinePolicies.js.map +1 -1
  27. package/dist/commonjs/generated/src/lroImpl.js +7 -3
  28. package/dist/commonjs/generated/src/lroImpl.js.map +1 -1
  29. package/dist/commonjs/generated/src/operations/phoneNumbers.js +219 -295
  30. package/dist/commonjs/generated/src/operations/phoneNumbers.js.map +1 -1
  31. package/dist/commonjs/generated/src/pagingHelper.js +2 -4
  32. package/dist/commonjs/generated/src/pagingHelper.js.map +1 -1
  33. package/dist/commonjs/generated/src/phoneNumbersClient.js +11 -4
  34. package/dist/commonjs/generated/src/phoneNumbersClient.js.map +1 -1
  35. package/dist/commonjs/generated/src/siprouting/operations/sipRouting.js +1 -0
  36. package/dist/commonjs/generated/src/siprouting/operations/sipRouting.js.map +1 -1
  37. package/dist/commonjs/generated/src/siprouting/sipRoutingClient.js +1 -0
  38. package/dist/commonjs/generated/src/siprouting/sipRoutingClient.js.map +1 -1
  39. package/dist/commonjs/generated/src/siprouting/sipRoutingClientContext.js +10 -3
  40. package/dist/commonjs/generated/src/siprouting/sipRoutingClientContext.js.map +1 -1
  41. package/dist/commonjs/generated/src/tracing.js +1 -1
  42. package/dist/commonjs/generated/src/tracing.js.map +1 -1
  43. package/dist/commonjs/phoneNumbersClient.d.ts +1 -1
  44. package/dist/commonjs/phoneNumbersClient.js +86 -28
  45. package/dist/commonjs/phoneNumbersClient.js.map +1 -1
  46. package/dist/commonjs/sipRoutingClient.js +48 -60
  47. package/dist/commonjs/sipRoutingClient.js.map +1 -1
  48. package/dist/commonjs/tsdoc-metadata.json +11 -11
  49. package/dist/commonjs/utils/constants.d.ts.map +1 -1
  50. package/dist/commonjs/utils/constants.js +1 -1
  51. package/dist/commonjs/utils/constants.js.map +1 -1
  52. package/dist/commonjs/utils/customPipelinePolicies.js +1 -2
  53. package/dist/commonjs/utils/customPipelinePolicies.js.map +1 -1
  54. package/dist/esm/generated/src/lroImpl.js +7 -3
  55. package/dist/esm/generated/src/lroImpl.js.map +1 -1
  56. package/dist/esm/generated/src/operations/phoneNumbers.js +219 -296
  57. package/dist/esm/generated/src/operations/phoneNumbers.js.map +1 -1
  58. package/dist/esm/generated/src/pagingHelper.js +2 -4
  59. package/dist/esm/generated/src/pagingHelper.js.map +1 -1
  60. package/dist/esm/generated/src/phoneNumbersClient.js +11 -4
  61. package/dist/esm/generated/src/phoneNumbersClient.js.map +1 -1
  62. package/dist/esm/generated/src/siprouting/operations/sipRouting.js +1 -0
  63. package/dist/esm/generated/src/siprouting/operations/sipRouting.js.map +1 -1
  64. package/dist/esm/generated/src/siprouting/sipRoutingClient.js +1 -0
  65. package/dist/esm/generated/src/siprouting/sipRoutingClient.js.map +1 -1
  66. package/dist/esm/generated/src/siprouting/sipRoutingClientContext.js +10 -3
  67. package/dist/esm/generated/src/siprouting/sipRoutingClientContext.js.map +1 -1
  68. package/dist/esm/generated/src/tracing.js +1 -1
  69. package/dist/esm/generated/src/tracing.js.map +1 -1
  70. package/dist/esm/phoneNumbersClient.d.ts +1 -1
  71. package/dist/esm/phoneNumbersClient.js +86 -28
  72. package/dist/esm/phoneNumbersClient.js.map +1 -1
  73. package/dist/esm/sipRoutingClient.js +48 -61
  74. package/dist/esm/sipRoutingClient.js.map +1 -1
  75. package/dist/esm/utils/constants.d.ts.map +1 -1
  76. package/dist/esm/utils/constants.js +1 -1
  77. package/dist/esm/utils/constants.js.map +1 -1
  78. package/dist/esm/utils/customPipelinePolicies.js +1 -2
  79. package/dist/esm/utils/customPipelinePolicies.js.map +1 -1
  80. package/dist/react-native/generated/src/lroImpl.js +7 -3
  81. package/dist/react-native/generated/src/lroImpl.js.map +1 -1
  82. package/dist/react-native/generated/src/operations/phoneNumbers.js +219 -296
  83. package/dist/react-native/generated/src/operations/phoneNumbers.js.map +1 -1
  84. package/dist/react-native/generated/src/pagingHelper.js +2 -4
  85. package/dist/react-native/generated/src/pagingHelper.js.map +1 -1
  86. package/dist/react-native/generated/src/phoneNumbersClient.js +11 -4
  87. package/dist/react-native/generated/src/phoneNumbersClient.js.map +1 -1
  88. package/dist/react-native/generated/src/siprouting/operations/sipRouting.js +1 -0
  89. package/dist/react-native/generated/src/siprouting/operations/sipRouting.js.map +1 -1
  90. package/dist/react-native/generated/src/siprouting/sipRoutingClient.js +1 -0
  91. package/dist/react-native/generated/src/siprouting/sipRoutingClient.js.map +1 -1
  92. package/dist/react-native/generated/src/siprouting/sipRoutingClientContext.js +10 -3
  93. package/dist/react-native/generated/src/siprouting/sipRoutingClientContext.js.map +1 -1
  94. package/dist/react-native/generated/src/tracing.js +1 -1
  95. package/dist/react-native/generated/src/tracing.js.map +1 -1
  96. package/dist/react-native/phoneNumbersClient.d.ts +1 -1
  97. package/dist/react-native/phoneNumbersClient.js +86 -28
  98. package/dist/react-native/phoneNumbersClient.js.map +1 -1
  99. package/dist/react-native/sipRoutingClient.js +48 -61
  100. package/dist/react-native/sipRoutingClient.js.map +1 -1
  101. package/dist/react-native/utils/constants.d.ts.map +1 -1
  102. package/dist/react-native/utils/constants.js +1 -1
  103. package/dist/react-native/utils/constants.js.map +1 -1
  104. package/dist/react-native/utils/customPipelinePolicies.js +1 -2
  105. package/dist/react-native/utils/customPipelinePolicies.js.map +1 -1
  106. package/package.json +35 -36
@@ -1 +1 @@
1
- {"version":3,"file":"phoneNumbersClient.js","sourceRoot":"","sources":["../../src/phoneNumbersClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/// <reference lib=\"esnext.asynciterable\" />\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport {\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PhoneNumbersClient as PhoneNumbersGeneratedClient } from \"./generated/src/index.js\";\nimport type {\n AvailablePhoneNumber,\n OperatorInformationResult,\n PhoneNumberAreaCode,\n PhoneNumberCapabilitiesRequest,\n PhoneNumberCountry,\n PhoneNumberLocality,\n PhoneNumberOffering,\n PhoneNumbersBrowseResult,\n PhoneNumberSearchResult,\n PhoneNumbersReservation,\n PurchasedPhoneNumber,\n} from \"./generated/src/models/index.js\";\nimport type {\n BrowseAvailableNumbersRequest,\n DeleteReservationOptions,\n GetPurchasedPhoneNumberOptions,\n GetReservationOptions,\n ListAvailableCountriesOptions,\n ListGeographicAreaCodesOptions,\n ListMobileAreaCodesOptions,\n ListLocalitiesOptions,\n ListOfferingsOptions,\n ListPurchasedPhoneNumbersOptions,\n ListReservationOptions,\n ListTollFreeAreaCodesOptions,\n PurchasePhoneNumbersResult,\n ReleasePhoneNumberResult,\n SearchAvailablePhoneNumbersRequest,\n SearchOperatorInformationOptions,\n CreateOrUpdateReservationOptions,\n BrowseAvailableNumbersOptions,\n CreateOrUpdateReservationRequest,\n} from \"./models.js\";\nimport type {\n BeginPurchasePhoneNumbersOptions,\n BeginReleasePhoneNumberOptions,\n BeginReservationPurchaseOptions,\n BeginSearchAvailablePhoneNumbersOptions,\n BeginUpdatePhoneNumberCapabilitiesOptions,\n} from \"./lroModels.js\";\nimport { createPhoneNumbersPagingPolicy } from \"./utils/customPipelinePolicies.js\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport { logger } from \"./utils/index.js\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\n\n/**\n * Client options used to configure the PhoneNumbersClient API requests.\n */\nexport interface PhoneNumbersClientOptions extends CommonClientOptions {\n /**\n * The accept language parameter to be used in the request header's \"accept-language\" property.\n */\n acceptLanguage?: string;\n}\n\nconst isPhoneNumbersClientOptions = (options: any): options is PhoneNumbersClientOptions =>\n options && !isKeyCredential(options) && !isTokenCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services Phone Number Administration.\n */\nexport class PhoneNumbersClient {\n /**\n * A reference to the auto-generated PhoneNumber HTTP client.\n */\n private readonly client: PhoneNumbersGeneratedClient;\n\n /**\n * The accept language parameter to be used in the request header's \"accept-language\" property.\n */\n private acceptLanguage: string | undefined;\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using a connection string.\n *\n * @param connectionString - Connection string to connect to an Azure Communication Service resource. (eg: endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret)\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: PhoneNumbersClientOptions);\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using an Azure KeyCredential.\n *\n * @param url - The endpoint of the service (eg: https://contoso.eastus.communications.azure.net)\n * @param credential - An object that is used to authenticate requests to the service. Use the Azure KeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(url: string, credential: KeyCredential, options?: PhoneNumbersClientOptions);\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using a TokenCredential.\n * @param url - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(url: string, credential: TokenCredential, options?: PhoneNumbersClientOptions);\n\n public constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | PhoneNumbersClientOptions,\n maybeOptions: PhoneNumbersClientOptions = {},\n ) {\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const options = isPhoneNumbersClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new PhoneNumbersGeneratedClient(url, {\n endpoint: url,\n ...internalPipelineOptions,\n });\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n\n // This policy is temporary workarounds to address compatibility issues with Azure Core V2.\n const phoneNumbersPagingPolicy = createPhoneNumbersPagingPolicy(url);\n this.client.pipeline.addPolicy(phoneNumbersPagingPolicy);\n this.acceptLanguage = maybeOptions.acceptLanguage;\n }\n\n /**\n * Deletes a reservation by its ID..\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientDeleteReservation\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n * await client.deleteReservation(reservationId);\n *\n * console.log(`Reservation with ID ${reservationId} has been deleted.`);\n * ```\n * Delete a reservation.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public deleteReservation(\n reservationId: string,\n options: DeleteReservationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-deleteReservation\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.deleteReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Gets the details of a purchased phone number. Includes phone number, cost, country code, etc.\n *\n * @param phoneNumber - The E.164 formatted phone number being fetched. The leading plus can be either + or encoded as %2B.\n * @param options - Additional request options.\n */\n public getPurchasedPhoneNumber(\n phoneNumber: string,\n options: GetPurchasedPhoneNumberOptions = {},\n ): Promise<PurchasedPhoneNumber> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-getPurchasedPhoneNumber\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.getByNumber(phoneNumber, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Retrieves the reservation with the given ID, including all of the phone numbers associated with it.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientGetReservation\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n * const reservationResponse = await client.getReservation(reservationId);\n *\n * console.log(`Phone numbers in reservation: ${reservationResponse.phoneNumbers}`);\n * ```\n * Get a reservation.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public getReservation(\n reservationId: string,\n options: GetReservationOptions = {},\n ): Promise<PhoneNumbersReservation> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-getReservation\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.getReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Iterates the purchased phone numbers.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListPurchasedPhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumbers = client.listPurchasedPhoneNumbers();\n *\n * for await (const phoneNumber of phoneNumbers) {\n * console.log(`The id is the same as the phone number: ${phoneNumber.id}`);\n * console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);\n * }\n * ```\n * List all purchased phone numbers.\n * @param options - The optional parameters.\n */\n public listPurchasedPhoneNumbers(\n options: ListPurchasedPhoneNumbersOptions = {},\n ): PagedAsyncIterableIterator<PurchasedPhoneNumber> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listPurchasedPhoneNumbers\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listPhoneNumbers({\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Browses for available phone numbers to purchase.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBrowseAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * BrowseAvailableNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const browseAvailableNumberRequest: BrowseAvailableNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * };\n * const browseAvailableNumbers = await client.browseAvailablePhoneNumbers(\n * browseAvailableNumberRequest,\n * {\n * capabilities: {\n * calling: \"outbound\",\n * },\n * assignmentType: \"application\",\n * },\n * );\n * for (const phoneNumber of browseAvailableNumbers.phoneNumbers) {\n * console.log(\"Found phone number: \", phoneNumber.phoneNumber);\n * }\n * ```\n * Browse available phone numbers\n * @param request - The request parameters for browsing available phone numbers.\n * @param options - Additional request options.\n */\n public browseAvailablePhoneNumbers(\n request: BrowseAvailableNumbersRequest,\n options?: BrowseAvailableNumbersOptions,\n ): Promise<PhoneNumbersBrowseResult> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-browseAvailableNumbers\",\n options,\n );\n\n try {\n const { countryCode, phoneNumberType, ...rest } = request;\n return this.client.phoneNumbers.browseAvailableNumbers(countryCode, phoneNumberType, {\n ...updatedOptions,\n ...rest,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Starts the release of a purchased phone number.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientReleasePhoneNumber\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumberToRelease = \"<phone-number-to-release>\";\n *\n * const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);\n *\n * // Release is underway.\n * await releasePoller.pollUntilDone();\n * console.log(\"Successfully release phone number.\");\n * ```\n * @param phoneNumber - The E.164 formatted phone number being released. The leading plus can be either + or encoded as %2B.\n * @param options - Additional request options.\n */\n public beginReleasePhoneNumber(\n phoneNumber: string,\n options: BeginReleasePhoneNumberOptions = {},\n ): Promise<PollerLike<PollOperationState<ReleasePhoneNumberResult>, ReleasePhoneNumberResult>> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginReleasePhoneNumber\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginReleasePhoneNumber(phoneNumber, updatedOptions);\n },\n );\n }\n\n /**\n * Starts a search for phone numbers given some constraints such as name or area code.\n * The phone numbers that are found are reserved until you cancel, purchase or the reservation expires.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientSearchAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * SearchAvailablePhoneNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const searchRequest: SearchAvailablePhoneNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * assignmentType: \"application\",\n * capabilities: {\n * sms: \"outbound\",\n * calling: \"none\",\n * },\n * quantity: 1,\n * };\n *\n * const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);\n *\n * // The search is underway. Wait to receive searchId.\n * const searchResults = await searchPoller.pollUntilDone();\n * console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);\n * console.log(`searchId: ${searchResults.searchId}`);\n * ```\n *\n * @param search - Request properties to constraint the search scope.\n * @param options - Additional request options.\n */\n public beginSearchAvailablePhoneNumbers(\n search: SearchAvailablePhoneNumbersRequest,\n options: BeginSearchAvailablePhoneNumbersOptions = {},\n ): Promise<PollerLike<PollOperationState<PhoneNumberSearchResult>, PhoneNumberSearchResult>> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginSearchAvailablePhoneNumbers\",\n options,\n (updatedOptions) => {\n const { countryCode, phoneNumberType, assignmentType, capabilities, ...rest } = search;\n return this.client.phoneNumbers.beginSearchAvailablePhoneNumbers(\n countryCode,\n phoneNumberType,\n assignmentType,\n capabilities,\n {\n ...updatedOptions,\n ...rest,\n },\n );\n },\n );\n }\n\n /**\n * Starts the purchase of the phone number(s) in the search associated with a given id.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientPurchasePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * SearchAvailablePhoneNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const searchRequest: SearchAvailablePhoneNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * assignmentType: \"application\",\n * capabilities: {\n * sms: \"outbound\",\n * calling: \"none\",\n * },\n * quantity: 1,\n * };\n *\n * const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);\n *\n * // The search is underway. Wait to receive searchId.\n * const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();\n *\n * const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);\n *\n * // Purchase is underway.\n * await purchasePoller.pollUntilDone();\n * console.log(`Successfully purchased ${phoneNumbers[0]}`);\n * ```\n *\n * @param searchId - The id of the search to purchase. Returned from `beginSearchAvailablePhoneNumbers`\n * @param options - Additional request options.\n */\n public beginPurchasePhoneNumbers(\n searchId: string,\n options: BeginPurchasePhoneNumbersOptions = {},\n ): Promise<\n PollerLike<PollOperationState<PurchasePhoneNumbersResult>, PurchasePhoneNumbersResult>\n > {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginPurchasePhoneNumbers\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginPurchasePhoneNumbers({\n ...updatedOptions,\n searchId,\n });\n },\n );\n }\n\n /**\n * Starts the purchase of the phone number(s) in the search associated with a given id.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBeginReservationPurchase\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n *\n * const purchasePoller = await client.beginReservationPurchase(reservationId);\n *\n * // Purchase is underway.\n * const purchaseResult = await purchasePoller.pollUntilDone();\n * console.log(`Successfully purchased phone numbers in reservation: ${reservationId}`);\n * ```\n * Begins the purchase of the phone numbers in the reservation with the given ID.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public beginReservationPurchase(\n reservationId: string,\n options: BeginReservationPurchaseOptions = {},\n ): Promise<\n PollerLike<PollOperationState<PurchasePhoneNumbersResult>, PurchasePhoneNumbersResult>\n > {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginReservationPurchase\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginPurchaseReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Starts the update of a purchased phone number's capabilities.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientUpdatePhoneNumberCapabilities\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * PhoneNumberCapabilitiesRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumberToUpdate = \"<phone-number-to-update>\";\n *\n * // This will update phone number to send and receive sms, but only send calls.\n * const updateRequest: PhoneNumberCapabilitiesRequest = {\n * sms: \"inbound+outbound\",\n * calling: \"outbound\",\n * };\n *\n * const updatePoller = await client.beginUpdatePhoneNumberCapabilities(\n * phoneNumberToUpdate,\n * updateRequest,\n * );\n *\n * // Update is underway.\n * const { capabilities } = await updatePoller.pollUntilDone();\n * console.log(`These are the update capabilities: ${capabilities}`);\n * ```\n *\n * @param phoneNumber - The E.164 formatted phone number being updated. The leading plus can be either + or encoded as %2B.\n * @param request - The updated properties which will be applied to the phone number.\n * @param options - Additional request options.\n */\n public beginUpdatePhoneNumberCapabilities(\n phoneNumber: string,\n request: PhoneNumberCapabilitiesRequest,\n options: BeginUpdatePhoneNumberCapabilitiesOptions = {},\n ): Promise<PollerLike<PollOperationState<PurchasedPhoneNumber>, PurchasedPhoneNumber>> {\n if (!phoneNumber) {\n throw Error(\"phone number can't be empty\");\n }\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginUpdatePhoneNumberCapabilities\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginUpdateCapabilities(phoneNumber, {\n ...updatedOptions,\n ...request,\n });\n },\n );\n }\n\n /**\n * Adds and removes phone numbers from the reservation with the given ID. The response will be the\n * updated state of the reservation. Phone numbers can be reserved by including them in the payload. If\n * a number is already in the reservation, it will be ignored. To remove a phone number, set it\n * explicitly to null in the request payload. This operation is idempotent. If a reservation with the\n * same ID already exists, it will be updated, otherwise a new one is created. Only reservations with\n * 'active' status can be updated. Updating a reservation will extend the expiration time of the\n * reservation to 15 minutes after the last change, up to a maximum of 2 hours from creation time.\n * Partial success is possible, in which case the response will have a 207 status code.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBrowseAndReserveAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * BrowseAvailableNumbersRequest,\n * AvailablePhoneNumber,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const browseAvailableNumberRequest: BrowseAvailableNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * };\n *\n * const browseAvailableNumbers = await client.browseAvailablePhoneNumbers(\n * browseAvailableNumberRequest,\n * {\n * capabilities: {\n * calling: \"outbound\",\n * },\n * assignmentType: \"application\",\n * },\n * );\n * const phoneNumbers = browseAvailableNumbers.phoneNumbers;\n * const phoneNumbersList = [phoneNumbers[0], phoneNumbers[1]];\n * const reservationResponse = await client.createOrUpdateReservation(\n * {\n * reservationId: \"reservationId\",\n * },\n * {\n * add: phoneNumbersList,\n * },\n * );\n * const numbersWithError: AvailablePhoneNumber[] = [];\n * for (const number of Object.values(reservationResponse.phoneNumbers || {})) {\n * if (number != null && number.status === \"error\") {\n * numbersWithError.push(number);\n * }\n * }\n * if (numbersWithError.length > 0) {\n * console.log(\"Errors occurred during reservation\");\n * } else {\n * console.log(\"Reservation operation completed without errors.\");\n * }\n * ```\n *\n * Create or update a reservation.\n * @param request - The request parameters for creating or updating a reservation.\n * @param options - The options parameters.\n */\n public async createOrUpdateReservation(\n request: CreateOrUpdateReservationRequest,\n options?: CreateOrUpdateReservationOptions,\n ): Promise<PhoneNumbersReservation> {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } = {};\n\n if (options?.add) {\n this.addPhoneNumbersToReservation(phoneNumbersReservation, options.add);\n }\n\n if (options?.remove) {\n this.removePhoneNumbersFromReservation(phoneNumbersReservation, options.remove);\n }\n\n const reservationOptionalParams = {\n ...options,\n phoneNumbers: phoneNumbersReservation,\n };\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-createOrUpdateReservation\",\n reservationOptionalParams,\n );\n\n try {\n return this.client.phoneNumbers.createOrUpdateReservation(\n request.reservationId,\n updatedOptions,\n );\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available countries.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableCountries\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const country of client.listAvailableCountries()) {\n * console.log(\"country: \", country.localizedName);\n * }\n * ```\n * List all available countries.\n * @param options - The optional parameters.\n */\n public listAvailableCountries(\n options: ListAvailableCountriesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberCountry> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableCountries\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAvailableCountries({\n ...updatedOptions,\n acceptLanguage: this.acceptLanguage,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Toll-Free area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListTollFreeAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableTollFreeAreaCodes(\"US\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available Toll-Free area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableTollFreeAreaCodes(\n countryCode: string,\n options: ListTollFreeAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableTollFreeAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"tollFree\", {\n ...updatedOptions,\n assignmentType: \"application\",\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Geographic area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListGeographicAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableGeographicAreaCodes(\"US\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available Geographic area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableGeographicAreaCodes(\n countryCode: string,\n options: ListGeographicAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableGeographicFreeAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"geographic\", {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Mobile area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListMobileAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableMobileAreaCodes(\"IE\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available Geographic area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableMobileAreaCodes(\n countryCode: string,\n options: ListMobileAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableMobileAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"mobile\", {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available localities.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableLocalities\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const locality of client.listAvailableLocalities(\"US\")) {\n * console.log(\"locality: \", locality.localizedName);\n * }\n * ```\n * List all available localities.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableLocalities(\n countryCode: string,\n options: ListLocalitiesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberLocality> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableLocalities\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAvailableLocalities(countryCode, {\n ...updatedOptions,\n acceptLanguage: this.acceptLanguage,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available offerings.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableOfferings\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const offering of client.listAvailableOfferings(\"US\")) {\n * console.log(\"phone number type: \", offering.phoneNumberType);\n * console.log(\"cost: \", offering.cost.amount);\n * }\n * ```\n * List all available offerings.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableOfferings(\n countryCode: string,\n options: ListOfferingsOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberOffering> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listOfferings\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listOfferings(countryCode, {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates all phone number reservations.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListReservations\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const reservation of client.listReservations()) {\n * console.log(`Reservation id: ${reservation.id}`);\n * }\n * ```\n * List all phone number reservations. Note that the reservations will not be populated with the phone numbers associated with them.\n * @param options - The optional parameters.\n */\n public listReservations(\n options: ListReservationOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumbersReservation> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listReservations\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listReservations({\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Search for operator information about specified phone numbers.\n *\n * @param phoneNumbers - The phone numbers to search.\n * @param options - Additional request options.\n */\n public searchOperatorInformation(\n phoneNumbers: string[],\n options: SearchOperatorInformationOptions = { includeAdditionalOperatorDetails: false },\n ): Promise<OperatorInformationResult> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-searchOperatorInformation\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.operatorInformationSearch(phoneNumbers, {\n ...updatedOptions,\n options: { includeAdditionalOperatorDetails: options.includeAdditionalOperatorDetails },\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n private addPhoneNumbersToReservation(\n currentReservation: { [propertyName: string]: AvailablePhoneNumber | null },\n phoneNumbers: AvailablePhoneNumber[],\n ): { [propertyName: string]: AvailablePhoneNumber | null } {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } =\n currentReservation;\n for (const phoneNumber of phoneNumbers) {\n if (phoneNumber.id) {\n phoneNumbersReservation[phoneNumber.id] = phoneNumber;\n }\n }\n return phoneNumbersReservation;\n }\n\n private removePhoneNumbersFromReservation(\n currentReservation: { [propertyName: string]: AvailablePhoneNumber | null },\n phoneNumbers: string[],\n ): { [propertyName: string]: AvailablePhoneNumber | null } {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } =\n currentReservation;\n for (const phoneNumber of phoneNumbers) {\n if (phoneNumber) {\n phoneNumbersReservation[phoneNumber] = null;\n }\n }\n return phoneNumbersReservation;\n }\n}\n"]}
1
+ {"version":3,"file":"phoneNumbersClient.js","sourceRoot":"","sources":["../../src/phoneNumbersClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n/// <reference lib=\"esnext.asynciterable\" />\n\n/* eslint-disable @azure/azure-sdk/ts-naming-options */\nimport {\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport type { PollOperationState, PollerLike } from \"@azure/core-lro\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\nimport { PhoneNumbersClient as PhoneNumbersGeneratedClient } from \"./generated/src/index.js\";\nimport type {\n AvailablePhoneNumber,\n OperatorInformationResult,\n PhoneNumberAreaCode,\n PhoneNumberCapabilitiesRequest,\n PhoneNumberCountry,\n PhoneNumberLocality,\n PhoneNumberOffering,\n PhoneNumbersBrowseResult,\n PhoneNumberSearchResult,\n PhoneNumbersReservation,\n PurchasedPhoneNumber,\n} from \"./generated/src/models/index.js\";\nimport type {\n BrowseAvailableNumbersRequest,\n DeleteReservationOptions,\n GetPurchasedPhoneNumberOptions,\n GetReservationOptions,\n ListAvailableCountriesOptions,\n ListGeographicAreaCodesOptions,\n ListMobileAreaCodesOptions,\n ListLocalitiesOptions,\n ListOfferingsOptions,\n ListPurchasedPhoneNumbersOptions,\n ListReservationOptions,\n ListTollFreeAreaCodesOptions,\n PurchasePhoneNumbersResult,\n ReleasePhoneNumberResult,\n SearchAvailablePhoneNumbersRequest,\n SearchOperatorInformationOptions,\n CreateOrUpdateReservationOptions,\n BrowseAvailableNumbersOptions,\n CreateOrUpdateReservationRequest,\n} from \"./models.js\";\nimport type {\n BeginPurchasePhoneNumbersOptions,\n BeginReleasePhoneNumberOptions,\n BeginReservationPurchaseOptions,\n BeginSearchAvailablePhoneNumbersOptions,\n BeginUpdatePhoneNumberCapabilitiesOptions,\n} from \"./lroModels.js\";\nimport { createPhoneNumbersPagingPolicy } from \"./utils/customPipelinePolicies.js\";\nimport type { CommonClientOptions } from \"@azure/core-client\";\nimport { logger } from \"./utils/index.js\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\n\n/**\n * Client options used to configure the PhoneNumbersClient API requests.\n */\nexport interface PhoneNumbersClientOptions extends CommonClientOptions {\n /**\n * The accept language parameter to be used in the request header's \"accept-language\" property.\n */\n acceptLanguage?: string;\n}\n\nconst isPhoneNumbersClientOptions = (options: any): options is PhoneNumbersClientOptions =>\n options && !isKeyCredential(options) && !isTokenCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services Phone Number Administration.\n */\nexport class PhoneNumbersClient {\n /**\n * A reference to the auto-generated PhoneNumber HTTP client.\n */\n private readonly client: PhoneNumbersGeneratedClient;\n\n /**\n * The accept language parameter to be used in the request header's \"accept-language\" property.\n */\n private acceptLanguage: string | undefined;\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using a connection string.\n *\n * @param connectionString - Connection string to connect to an Azure Communication Service resource. (eg: endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret)\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: PhoneNumbersClientOptions);\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using an Azure KeyCredential.\n *\n * @param url - The endpoint of the service (eg: https://contoso.eastus.communications.azure.net)\n * @param credential - An object that is used to authenticate requests to the service. Use the Azure KeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(url: string, credential: KeyCredential, options?: PhoneNumbersClientOptions);\n\n /**\n * Initializes a new instance of the PhoneNumberAdministrationClient class using a TokenCredential.\n * @param url - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(url: string, credential: TokenCredential, options?: PhoneNumbersClientOptions);\n\n public constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | PhoneNumbersClientOptions,\n maybeOptions: PhoneNumbersClientOptions = {},\n ) {\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const options = isPhoneNumbersClientOptions(credentialOrOptions)\n ? credentialOrOptions\n : maybeOptions;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new PhoneNumbersGeneratedClient(url, {\n endpoint: url,\n ...internalPipelineOptions,\n });\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n\n // This policy is temporary workarounds to address compatibility issues with Azure Core V2.\n const phoneNumbersPagingPolicy = createPhoneNumbersPagingPolicy(url);\n this.client.pipeline.addPolicy(phoneNumbersPagingPolicy);\n this.acceptLanguage = maybeOptions.acceptLanguage;\n }\n\n /**\n * Deletes a reservation by its ID..\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientDeleteReservation\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n * await client.deleteReservation(reservationId);\n *\n * console.log(`Reservation with ID ${reservationId} has been deleted.`);\n * ```\n * Delete a reservation.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public deleteReservation(\n reservationId: string,\n options: DeleteReservationOptions = {},\n ): Promise<void> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-deleteReservation\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.deleteReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Gets the details of a purchased phone number. Includes phone number, cost, country code, etc.\n *\n * @param phoneNumber - The E.164 formatted phone number being fetched. The leading plus can be either + or encoded as %2B.\n * @param options - Additional request options.\n */\n public getPurchasedPhoneNumber(\n phoneNumber: string,\n options: GetPurchasedPhoneNumberOptions = {},\n ): Promise<PurchasedPhoneNumber> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-getPurchasedPhoneNumber\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.getByNumber(phoneNumber, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Retrieves the reservation with the given ID, including all of the phone numbers associated with it.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientGetReservation\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n * const reservationResponse = await client.getReservation(reservationId);\n *\n * console.log(`Phone numbers in reservation: ${reservationResponse.phoneNumbers}`);\n * ```\n * Get a reservation.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public getReservation(\n reservationId: string,\n options: GetReservationOptions = {},\n ): Promise<PhoneNumbersReservation> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-getReservation\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.getReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Iterates the purchased phone numbers.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListPurchasedPhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumbers = client.listPurchasedPhoneNumbers();\n *\n * for await (const phoneNumber of phoneNumbers) {\n * console.log(`The id is the same as the phone number: ${phoneNumber.id}`);\n * console.log(`Phone number type is ${phoneNumber.phoneNumberType}`);\n * }\n * ```\n * List all purchased phone numbers.\n * @param options - The optional parameters.\n */\n public listPurchasedPhoneNumbers(\n options: ListPurchasedPhoneNumbersOptions = {},\n ): PagedAsyncIterableIterator<PurchasedPhoneNumber> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listPurchasedPhoneNumbers\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listPhoneNumbers({\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Browses for available phone numbers to purchase.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBrowseAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * BrowseAvailableNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const browseAvailableNumberRequest: BrowseAvailableNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * };\n * const browseAvailableNumbers = await client.browseAvailablePhoneNumbers(\n * browseAvailableNumberRequest,\n * {\n * capabilities: {\n * calling: \"outbound\",\n * },\n * assignmentType: \"application\",\n * },\n * );\n * for (const phoneNumber of browseAvailableNumbers.phoneNumbers) {\n * console.log(\"Found phone number: \", phoneNumber.phoneNumber);\n * }\n * ```\n * Browse available phone numbers\n * @param request - The request parameters for browsing available phone numbers.\n * @param options - Additional request options.\n */\n public browseAvailablePhoneNumbers(\n request: BrowseAvailableNumbersRequest,\n options?: BrowseAvailableNumbersOptions,\n ): Promise<PhoneNumbersBrowseResult> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-browseAvailableNumbers\",\n options,\n );\n\n try {\n const { countryCode, phoneNumberType, ...rest } = request;\n return this.client.phoneNumbers.browseAvailableNumbers(countryCode, phoneNumberType, {\n ...updatedOptions,\n ...rest,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Starts the release of a purchased phone number.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientReleasePhoneNumber\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumberToRelease = \"<phone-number-to-release>\";\n *\n * const releasePoller = await client.beginReleasePhoneNumber(phoneNumberToRelease);\n *\n * // Release is underway.\n * await releasePoller.pollUntilDone();\n * console.log(\"Successfully release phone number.\");\n * ```\n * @param phoneNumber - The E.164 formatted phone number being released. The leading plus can be either + or encoded as %2B.\n * @param options - Additional request options.\n */\n public beginReleasePhoneNumber(\n phoneNumber: string,\n options: BeginReleasePhoneNumberOptions = {},\n ): Promise<PollerLike<PollOperationState<ReleasePhoneNumberResult>, ReleasePhoneNumberResult>> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginReleasePhoneNumber\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginReleasePhoneNumber(phoneNumber, updatedOptions);\n },\n );\n }\n\n /**\n * Starts a search for phone numbers given some constraints such as name or area code.\n * The phone numbers that are found are reserved until you cancel, purchase or the reservation expires.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientSearchAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * SearchAvailablePhoneNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const searchRequest: SearchAvailablePhoneNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * assignmentType: \"application\",\n * capabilities: {\n * sms: \"outbound\",\n * calling: \"none\",\n * },\n * quantity: 1,\n * };\n *\n * const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);\n *\n * // The search is underway. Wait to receive searchId.\n * const searchResults = await searchPoller.pollUntilDone();\n * console.log(`Found phone number: ${searchResults.phoneNumbers[0]}`);\n * console.log(`searchId: ${searchResults.searchId}`);\n * ```\n *\n * @param search - Request properties to constraint the search scope.\n * @param options - Additional request options.\n */\n public beginSearchAvailablePhoneNumbers(\n search: SearchAvailablePhoneNumbersRequest,\n options: BeginSearchAvailablePhoneNumbersOptions = {},\n ): Promise<PollerLike<PollOperationState<PhoneNumberSearchResult>, PhoneNumberSearchResult>> {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginSearchAvailablePhoneNumbers\",\n options,\n (updatedOptions) => {\n const { countryCode, phoneNumberType, assignmentType, capabilities, ...rest } = search;\n return this.client.phoneNumbers.beginSearchAvailablePhoneNumbers(\n countryCode,\n phoneNumberType,\n assignmentType,\n capabilities,\n {\n ...updatedOptions,\n ...rest,\n },\n );\n },\n );\n }\n\n /**\n * Starts the purchase of the phone number(s) in the search associated with a given id.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientPurchasePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * SearchAvailablePhoneNumbersRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const searchRequest: SearchAvailablePhoneNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * assignmentType: \"application\",\n * capabilities: {\n * sms: \"outbound\",\n * calling: \"none\",\n * },\n * quantity: 1,\n * };\n *\n * const searchPoller = await client.beginSearchAvailablePhoneNumbers(searchRequest);\n *\n * // The search is underway. Wait to receive searchId.\n * const { searchId, phoneNumbers } = await searchPoller.pollUntilDone();\n *\n * const purchasePoller = await client.beginPurchasePhoneNumbers(searchId);\n *\n * // Purchase is underway.\n * await purchasePoller.pollUntilDone();\n * console.log(`Successfully purchased ${phoneNumbers[0]}`);\n * ```\n *\n * @param searchId - The id of the search to purchase. Returned from `beginSearchAvailablePhoneNumbers`\n * @param options - Additional request options.\n */\n public beginPurchasePhoneNumbers(\n searchId: string,\n options: BeginPurchasePhoneNumbersOptions = {},\n ): Promise<\n PollerLike<PollOperationState<PurchasePhoneNumbersResult>, PurchasePhoneNumbersResult>\n > {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginPurchasePhoneNumbers\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginPurchasePhoneNumbers({\n ...updatedOptions,\n searchId,\n });\n },\n );\n }\n\n /**\n * Starts the purchase of the phone number(s) in the search associated with a given id.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBeginReservationPurchase\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const reservationId = \"<reservation-id>\";\n *\n * const purchasePoller = await client.beginReservationPurchase(reservationId);\n *\n * // Purchase is underway.\n * const purchaseResult = await purchasePoller.pollUntilDone();\n * console.log(`Successfully purchased phone numbers in reservation: ${reservationId}`);\n * ```\n * Begins the purchase of the phone numbers in the reservation with the given ID.\n * @param reservationId - The id of the reservation.\n * @param options - Additional request options.\n */\n public beginReservationPurchase(\n reservationId: string,\n options: BeginReservationPurchaseOptions = {},\n ): Promise<\n PollerLike<PollOperationState<PurchasePhoneNumbersResult>, PurchasePhoneNumbersResult>\n > {\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginReservationPurchase\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginPurchaseReservation(reservationId, {\n ...updatedOptions,\n });\n },\n );\n }\n\n /**\n * Starts the update of a purchased phone number's capabilities.\n *\n * This function returns a Long Running Operation poller that allows you to wait indefinitely until the operation is complete.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientUpdatePhoneNumberCapabilities\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * PhoneNumberCapabilitiesRequest,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const phoneNumberToUpdate = \"<phone-number-to-update>\";\n *\n * // This will update phone number to send and receive sms, but only send calls.\n * const updateRequest: PhoneNumberCapabilitiesRequest = {\n * sms: \"inbound+outbound\",\n * calling: \"outbound\",\n * };\n *\n * const updatePoller = await client.beginUpdatePhoneNumberCapabilities(\n * phoneNumberToUpdate,\n * updateRequest,\n * );\n *\n * // Update is underway.\n * const { capabilities } = await updatePoller.pollUntilDone();\n * console.log(`These are the update capabilities: ${capabilities}`);\n * ```\n *\n * @param phoneNumber - The E.164 formatted phone number being updated. The leading plus can be either + or encoded as %2B.\n * @param request - The updated properties which will be applied to the phone number.\n * @param options - Additional request options.\n */\n public beginUpdatePhoneNumberCapabilities(\n phoneNumber: string,\n request: PhoneNumberCapabilitiesRequest,\n options: BeginUpdatePhoneNumberCapabilitiesOptions = {},\n ): Promise<PollerLike<PollOperationState<PurchasedPhoneNumber>, PurchasedPhoneNumber>> {\n if (!phoneNumber) {\n throw Error(\"phone number can't be empty\");\n }\n return tracingClient.withSpan(\n \"PhoneNumbersClient-beginUpdatePhoneNumberCapabilities\",\n options,\n (updatedOptions) => {\n return this.client.phoneNumbers.beginUpdateCapabilities(phoneNumber, {\n ...updatedOptions,\n ...request,\n });\n },\n );\n }\n\n /**\n * Adds and removes phone numbers from the reservation with the given ID. The response will be the\n * updated state of the reservation. Phone numbers can be reserved by including them in the payload. If\n * a number is already in the reservation, it will be ignored. To remove a phone number, set it\n * explicitly to null in the request payload. This operation is idempotent. If a reservation with the\n * same ID already exists, it will be updated, otherwise a new one is created. Only reservations with\n * 'active' status can be updated. Updating a reservation will extend the expiration time of the\n * reservation to 15 minutes after the last change, up to a maximum of 2 hours from creation time.\n * Partial success is possible, in which case the response will have a 207 status code.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientBrowseAndReserveAvailablePhoneNumbers\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import {\n * PhoneNumbersClient,\n * BrowseAvailableNumbersRequest,\n * AvailablePhoneNumber,\n * } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * const browseAvailableNumberRequest: BrowseAvailableNumbersRequest = {\n * countryCode: \"US\",\n * phoneNumberType: \"tollFree\",\n * };\n *\n * const browseAvailableNumbers = await client.browseAvailablePhoneNumbers(\n * browseAvailableNumberRequest,\n * {\n * capabilities: {\n * calling: \"outbound\",\n * },\n * assignmentType: \"application\",\n * },\n * );\n * const phoneNumbers = browseAvailableNumbers.phoneNumbers;\n * const phoneNumbersList = [phoneNumbers[0], phoneNumbers[1]];\n * const reservationResponse = await client.createOrUpdateReservation(\n * {\n * reservationId: \"reservationId\",\n * },\n * {\n * add: phoneNumbersList,\n * },\n * );\n * const numbersWithError: AvailablePhoneNumber[] = [];\n * for (const number of Object.values(reservationResponse.phoneNumbers || {})) {\n * if (number != null && number.status === \"error\") {\n * numbersWithError.push(number);\n * }\n * }\n * if (numbersWithError.length > 0) {\n * console.log(\"Errors occurred during reservation\");\n * } else {\n * console.log(\"Reservation operation completed without errors.\");\n * }\n * ```\n *\n * Create or update a reservation.\n * @param request - The request parameters for creating or updating a reservation.\n * @param options - The options parameters.\n */\n public async createOrUpdateReservation(\n request: CreateOrUpdateReservationRequest,\n options?: CreateOrUpdateReservationOptions,\n ): Promise<PhoneNumbersReservation> {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } = {};\n\n if (options?.add) {\n this.addPhoneNumbersToReservation(phoneNumbersReservation, options.add);\n }\n\n if (options?.remove) {\n this.removePhoneNumbersFromReservation(phoneNumbersReservation, options.remove);\n }\n\n const reservationOptionalParams = {\n ...options,\n phoneNumbers: phoneNumbersReservation,\n };\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-createOrUpdateReservation\",\n reservationOptionalParams,\n );\n\n try {\n return this.client.phoneNumbers.createOrUpdateReservation(\n request.reservationId,\n updatedOptions,\n );\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available countries.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableCountries\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const country of client.listAvailableCountries()) {\n * console.log(\"country: \", country.localizedName);\n * }\n * ```\n * List all available countries.\n * @param options - The optional parameters.\n */\n public listAvailableCountries(\n options: ListAvailableCountriesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberCountry> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableCountries\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAvailableCountries({\n ...updatedOptions,\n acceptLanguage: this.acceptLanguage,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Toll-Free area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListTollFreeAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableTollFreeAreaCodes(\"US\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available Toll-Free area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableTollFreeAreaCodes(\n countryCode: string,\n options: ListTollFreeAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableTollFreeAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"tollFree\", {\n ...updatedOptions,\n assignmentType: \"application\",\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Geographic area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListGeographicAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableGeographicAreaCodes(\"US\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available Geographic area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableGeographicAreaCodes(\n countryCode: string,\n options: ListGeographicAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableGeographicFreeAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"geographic\", {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available Mobile area codes.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListMobileAreaCodes\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const areaCodeItem of client.listAvailableMobileAreaCodes(\"IE\")) {\n * console.log(\"area code: \", areaCodeItem.areaCode);\n * }\n * ```\n * List all available mobile area codes.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableMobileAreaCodes(\n countryCode: string,\n options: ListMobileAreaCodesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberAreaCode> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableMobileAreaCodes\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAreaCodes(countryCode, \"mobile\", {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available localities.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableLocalities\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const locality of client.listAvailableLocalities(\"US\")) {\n * console.log(\"locality: \", locality.localizedName);\n * }\n * ```\n * List all available localities.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableLocalities(\n countryCode: string,\n options: ListLocalitiesOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberLocality> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listAvailableLocalities\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listAvailableLocalities(countryCode, {\n ...updatedOptions,\n acceptLanguage: this.acceptLanguage,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates the available offerings.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListAvailableOfferings\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const offering of client.listAvailableOfferings(\"US\")) {\n * console.log(\"phone number type: \", offering.phoneNumberType);\n * console.log(\"cost: \", offering.cost.amount);\n * }\n * ```\n * List all available offerings.\n * @param countryCode - The ISO 3166-2 country code.\n * @param options - The optional parameters.\n */\n public listAvailableOfferings(\n countryCode: string,\n options: ListOfferingsOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumberOffering> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listOfferings\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listOfferings(countryCode, {\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Iterates all phone number reservations.\n *\n * Example usage:\n * ```ts snippet:PhoneNumbersClientListReservations\n * import { DefaultAzureCredential } from \"@azure/identity\";\n * import { PhoneNumbersClient } from \"@azure/communication-phone-numbers\";\n *\n * const credential = new DefaultAzureCredential();\n * const client = new PhoneNumbersClient(\"<endpoint-from-resource>\", credential);\n *\n * for await (const reservation of client.listReservations()) {\n * console.log(`Reservation id: ${reservation.id}`);\n * }\n * ```\n * List all phone number reservations. Note that the reservations will not be populated with the phone numbers associated with them.\n * @param options - The optional parameters.\n */\n public listReservations(\n options: ListReservationOptions = {},\n ): PagedAsyncIterableIterator<PhoneNumbersReservation> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-listReservations\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.listReservations({\n ...updatedOptions,\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Search for operator information about specified phone numbers.\n *\n * @param phoneNumbers - The phone numbers to search.\n * @param options - Additional request options.\n */\n public searchOperatorInformation(\n phoneNumbers: string[],\n options: SearchOperatorInformationOptions = { includeAdditionalOperatorDetails: false },\n ): Promise<OperatorInformationResult> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"PhoneNumbersClient-searchOperatorInformation\",\n options,\n );\n\n try {\n return this.client.phoneNumbers.operatorInformationSearch(phoneNumbers, {\n ...updatedOptions,\n options: { includeAdditionalOperatorDetails: options.includeAdditionalOperatorDetails },\n });\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n\n throw e;\n } finally {\n span.end();\n }\n }\n\n private addPhoneNumbersToReservation(\n currentReservation: { [propertyName: string]: AvailablePhoneNumber | null },\n phoneNumbers: AvailablePhoneNumber[],\n ): { [propertyName: string]: AvailablePhoneNumber | null } {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } =\n currentReservation;\n for (const phoneNumber of phoneNumbers) {\n if (phoneNumber.id) {\n phoneNumbersReservation[phoneNumber.id] = phoneNumber;\n }\n }\n return phoneNumbersReservation;\n }\n\n private removePhoneNumbersFromReservation(\n currentReservation: { [propertyName: string]: AvailablePhoneNumber | null },\n phoneNumbers: string[],\n ): { [propertyName: string]: AvailablePhoneNumber | null } {\n const phoneNumbersReservation: { [propertyName: string]: AvailablePhoneNumber | null } =\n currentReservation;\n for (const phoneNumber of phoneNumbers) {\n if (phoneNumber) {\n phoneNumbersReservation[phoneNumber] = null;\n }\n }\n return phoneNumbersReservation;\n }\n}\n"]}
@@ -1,6 +1,5 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- import { __asyncDelegator, __asyncGenerator, __asyncValues, __await } from "tslib";
4
3
  import { createCommunicationAuthPolicy, isKeyCredential, parseClientArguments, } from "@azure/communication-common";
5
4
  import { isTokenCredential } from "@azure/core-auth";
6
5
  import { logger } from "./utils/index.js";
@@ -18,15 +17,25 @@ const isSipClientOptions = (options) => options && !isKeyCredential(options) &&
18
17
  * Client class for interacting with Azure Communication Services SIP Routing Administration.
19
18
  */
20
19
  export class SipRoutingClient {
20
+ /**
21
+ * A reference to the auto-generated SipRouting HTTP client.
22
+ */
23
+ client;
21
24
  constructor(connectionStringOrUrl, credentialOrOptions, maybeOptions = {}) {
22
25
  const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);
23
26
  const options = isSipClientOptions(credentialOrOptions) ? credentialOrOptions : maybeOptions;
24
- const internalPipelineOptions = Object.assign(Object.assign({}, options), {
25
- loggingOptions: {
26
- logger: logger.info,
27
+ const internalPipelineOptions = {
28
+ ...options,
29
+ ...{
30
+ loggingOptions: {
31
+ logger: logger.info,
32
+ },
27
33
  },
34
+ };
35
+ this.client = new SipRoutingGeneratedClient(url, {
36
+ endpoint: url,
37
+ ...internalPipelineOptions,
28
38
  });
29
- this.client = new SipRoutingGeneratedClient(url, Object.assign({ endpoint: url }, internalPipelineOptions));
30
39
  const authPolicy = createCommunicationAuthPolicy(credential);
31
40
  this.client.pipeline.addPolicy(authPolicy);
32
41
  }
@@ -38,7 +47,7 @@ export class SipRoutingClient {
38
47
  listTrunks(options = {}) {
39
48
  const { span, updatedOptions } = tracingClient.startSpan("SipRoutingClient-listTrunks", options);
40
49
  try {
41
- const iter = this.listTrunksPagingAll(Object.assign({}, updatedOptions));
50
+ const iter = this.listTrunksPagingAll({ ...updatedOptions });
42
51
  return {
43
52
  next() {
44
53
  return iter.next();
@@ -47,7 +56,7 @@ export class SipRoutingClient {
47
56
  return this;
48
57
  },
49
58
  byPage: () => {
50
- return this.listTrunksPagingPage(Object.assign({}, updatedOptions));
59
+ return this.listTrunksPagingPage({ ...updatedOptions });
51
60
  },
52
61
  };
53
62
  }
@@ -85,7 +94,7 @@ export class SipRoutingClient {
85
94
  listRoutes(options = {}) {
86
95
  const { span, updatedOptions } = tracingClient.startSpan("SipRoutingClient-listRoutes", options);
87
96
  try {
88
- const iter = this.listRoutesPagingAll(Object.assign({}, updatedOptions));
97
+ const iter = this.listRoutesPagingAll({ ...updatedOptions });
89
98
  return {
90
99
  next() {
91
100
  return iter.next();
@@ -94,7 +103,7 @@ export class SipRoutingClient {
94
103
  return this;
95
104
  },
96
105
  byPage: () => {
97
- return this.listRoutesPagingPage(Object.assign({}, updatedOptions));
106
+ return this.listRoutesPagingPage({ ...updatedOptions });
98
107
  },
99
108
  };
100
109
  }
@@ -128,7 +137,10 @@ export class SipRoutingClient {
128
137
  });
129
138
  const isPatchNeeded = Object.keys(patch.trunks).length > 0;
130
139
  if (isPatchNeeded) {
131
- const payload = Object.assign(Object.assign({}, updatedOptions), patch);
140
+ const payload = {
141
+ ...updatedOptions,
142
+ ...patch,
143
+ };
132
144
  config = await this.client.sipRouting.update(payload);
133
145
  }
134
146
  return transformFromRestModel(config.trunks);
@@ -144,7 +156,10 @@ export class SipRoutingClient {
144
156
  const patch = {
145
157
  trunks: transformIntoRestModel([trunk]),
146
158
  };
147
- const payload = Object.assign(Object.assign({}, updatedOptions), patch);
159
+ const payload = {
160
+ ...updatedOptions,
161
+ ...patch,
162
+ };
148
163
  const config = await this.client.sipRouting.update(payload);
149
164
  const storedTrunk = transformFromRestModel(config.trunks).find((value) => value.fqdn === trunk.fqdn);
150
165
  if (storedTrunk) {
@@ -163,7 +178,10 @@ export class SipRoutingClient {
163
178
  const patch = {
164
179
  routes: routes,
165
180
  };
166
- const payload = Object.assign(Object.assign({}, updatedOptions), patch);
181
+ const payload = {
182
+ ...updatedOptions,
183
+ ...patch,
184
+ };
167
185
  const config = await this.client.sipRouting.update(payload);
168
186
  const storedRoutes = config.routes || (await this.getRoutesInternal(updatedOptions));
169
187
  return storedRoutes;
@@ -181,7 +199,10 @@ export class SipRoutingClient {
181
199
  const patch = {
182
200
  trunks: trunks,
183
201
  };
184
- const payload = Object.assign(Object.assign({}, updatedOptions), patch);
202
+ const payload = {
203
+ ...updatedOptions,
204
+ ...patch,
205
+ };
185
206
  await this.client.sipRouting.update(payload);
186
207
  });
187
208
  }
@@ -193,57 +214,23 @@ export class SipRoutingClient {
193
214
  const config = await this.client.sipRouting.get(options);
194
215
  return transformFromRestModel(config.trunks);
195
216
  }
196
- listRoutesPagingAll(options) {
197
- return __asyncGenerator(this, arguments, function* listRoutesPagingAll_1() {
198
- var _a, e_1, _b, _c;
199
- try {
200
- for (var _d = true, _e = __asyncValues(this.listRoutesPagingPage(options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
201
- _c = _f.value;
202
- _d = false;
203
- const page = _c;
204
- yield __await(yield* __asyncDelegator(__asyncValues(page)));
205
- }
206
- }
207
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
208
- finally {
209
- try {
210
- if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
211
- }
212
- finally { if (e_1) throw e_1.error; }
213
- }
214
- });
217
+ async *listRoutesPagingAll(options) {
218
+ for await (const page of this.listRoutesPagingPage(options)) {
219
+ yield* page;
220
+ }
215
221
  }
216
- listTrunksPagingAll(options) {
217
- return __asyncGenerator(this, arguments, function* listTrunksPagingAll_1() {
218
- var _a, e_2, _b, _c;
219
- try {
220
- for (var _d = true, _e = __asyncValues(this.listTrunksPagingPage(options)), _f; _f = yield __await(_e.next()), _a = _f.done, !_a; _d = true) {
221
- _c = _f.value;
222
- _d = false;
223
- const page = _c;
224
- yield __await(yield* __asyncDelegator(__asyncValues(page)));
225
- }
226
- }
227
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
228
- finally {
229
- try {
230
- if (!_d && !_a && (_b = _e.return)) yield __await(_b.call(_e));
231
- }
232
- finally { if (e_2) throw e_2.error; }
233
- }
234
- });
222
+ async *listTrunksPagingAll(options) {
223
+ for await (const page of this.listTrunksPagingPage(options)) {
224
+ yield* page;
225
+ }
235
226
  }
236
- listTrunksPagingPage() {
237
- return __asyncGenerator(this, arguments, function* listTrunksPagingPage_1(options = {}) {
238
- const apiResult = yield __await(this.getTrunksInternal(options));
239
- yield yield __await(apiResult);
240
- });
227
+ async *listTrunksPagingPage(options = {}) {
228
+ const apiResult = await this.getTrunksInternal(options);
229
+ yield apiResult;
241
230
  }
242
- listRoutesPagingPage() {
243
- return __asyncGenerator(this, arguments, function* listRoutesPagingPage_1(options = {}) {
244
- const apiResult = yield __await(this.getRoutesInternal(options));
245
- yield yield __await(apiResult);
246
- });
231
+ async *listRoutesPagingPage(options = {}) {
232
+ const apiResult = await this.getRoutesInternal(options);
233
+ yield apiResult;
247
234
  }
248
235
  }
249
236
  //# sourceMappingURL=sipRoutingClient.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sipRoutingClient.js","sourceRoot":"","sources":["../../src/sipRoutingClient.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;;AAElC,OAAO,EACL,6BAA6B,EAC7B,eAAe,EACf,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,gBAAgB,IAAI,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAW/G,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE9E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAG3D,cAAc,aAAa,CAAC;AAO5B;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,OAAY,EAAsC,EAAE,CAC9E,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;AAEtE;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAuC3B,YACE,qBAA6B,EAC7B,mBAA+E,EAC/E,eAAwC,EAAE;QAE1C,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,oBAAoB,CAAC,qBAAqB,EAAE,mBAAmB,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,YAAY,CAAC;QAE7F,MAAM,uBAAuB,mCACxB,OAAO,GACP;YACD,cAAc,EAAE;gBACd,MAAM,EAAE,MAAM,CAAC,IAAI;aACpB;SACF,CACF,CAAC;QAEF,IAAI,CAAC,MAAM,GAAG,IAAI,yBAAyB,CAAC,GAAG,kBAC7C,QAAQ,EAAE,GAAG,IACV,uBAAuB,EAC1B,CAAC;QACH,MAAM,UAAU,GAAG,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAED;;;OAGG;IACH,8DAA8D;IACvD,UAAU,CAAC,UAAgC,EAAE;QAClD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CACtD,6BAA6B,EAC7B,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,mBAAM,cAAc,EAAG,CAAC;YAC7D,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,OAAO,IAAI,CAAC,oBAAoB,mBAAM,cAAc,EAAG,CAAC;gBAC1D,CAAC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,UAA4B,EAAE;QAChE,OAAO,aAAa,CAAC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC3F,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YACpE,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAqB,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,8DAA8D;IACvD,UAAU,CAAC,UAAgC,EAAE;QAClD,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC,SAAS,CACtD,6BAA6B,EAC7B,OAAO,CACR,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,CAAC,mBAAmB,mBAAM,cAAc,EAAG,CAAC;YAC7D,OAAO;gBACL,IAAI;oBACF,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;gBACrB,CAAC;gBACD,CAAC,MAAM,CAAC,aAAa,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBACD,MAAM,EAAE,GAAG,EAAE;oBACX,OAAO,IAAI,CAAC,oBAAoB,mBAAM,cAAc,EAAG,CAAC;gBAC1D,CAAC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,CAAC;gBACb,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,CAAC;aACT,CAAC,CAAC;YACH,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,MAAkB,EAAE,UAA4B,EAAE;QACvE,OAAO,aAAa,CAAC,QAAQ,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC5F,MAAM,KAAK,GAA2B,EAAE,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;YACjF,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;YAC9D,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnD,WAAW,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;gBACjC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;gBAChF,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,KAAK,CAAC,MAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;gBACnC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5D,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,OAAO,mCACR,cAAc,GACd,KAAK,CACT,CAAC;gBACF,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxD,CAAC;YAED,OAAO,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,QAAQ,CAAC,KAAe,EAAE,UAA4B,EAAE;QACnE,OAAO,aAAa,CAAC,QAAQ,CAAC,2BAA2B,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC3F,MAAM,KAAK,GAA2B;gBACpC,MAAM,EAAE,sBAAsB,CAAC,CAAC,KAAK,CAAC,CAAC;aACxC,CAAC;YACF,MAAM,OAAO,mCACR,cAAc,GACd,KAAK,CACT,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAC5D,CAAC,KAAe,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAC/C,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAqB,CAAC;QACtE,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACpB,MAAuB,EACvB,UAA4B,EAAE;QAE9B,OAAO,aAAa,CAAC,QAAQ,CAAC,4BAA4B,EAAE,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YAC5F,MAAM,KAAK,GAA2B;gBACpC,MAAM,EAAE,MAAM;aACf,CAAC;YACF,MAAM,OAAO,mCACR,cAAc,GACd,KAAK,CACT,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC5D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;YACrF,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,UAA4B,EAAE;QACnE,OAAO,aAAa,CAAC,QAAQ,CAC3B,8BAA8B,EAC9B,OAAO,EACP,KAAK,EAAE,cAAc,EAAE,EAAE;YACvB,MAAM,MAAM,GAAQ,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpB,MAAM,KAAK,GAA2B;gBACpC,MAAM,EAAE,MAAM;aACf,CAAC;YAEF,MAAM,OAAO,mCACR,cAAc,GACd,KAAK,CACT,CAAC;YACF,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,CAAC,CACF,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAyB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,OAAyB;QACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACzD,OAAO,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAEc,mBAAmB,CAChC,OAA8B;;;;gBAE9B,KAAyB,eAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA,IAAA,+DAAE,CAAC;oBAArC,cAAkC;oBAAlC,WAAkC;oBAAhD,MAAM,IAAI,KAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;gBACd,CAAC;;;;;;;;;QACH,CAAC;KAAA;IAEc,mBAAmB,CAChC,OAA8B;;;;gBAE9B,KAAyB,eAAA,KAAA,cAAA,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAA,IAAA,+DAAE,CAAC;oBAArC,cAAkC;oBAAlC,WAAkC;oBAAhD,MAAM,IAAI,KAAA,CAAA;oBACnB,cAAA,KAAK,CAAC,CAAC,iBAAA,cAAA,IAAI,CAAA,CAAA,CAAA,CAAC;gBACd,CAAC;;;;;;;;;QACH,CAAC;KAAA;IAEc,oBAAoB;kFACjC,UAAgC,EAAE;YAElC,MAAM,SAAS,GAAG,cAAM,IAAI,CAAC,iBAAiB,CAAC,OAA2B,CAAC,CAAA,CAAC;YAC5E,oBAAM,SAAS,CAAA,CAAC;QAClB,CAAC;KAAA;IAEc,oBAAoB;kFACjC,UAAgC,EAAE;YAElC,MAAM,SAAS,GAAG,cAAM,IAAI,CAAC,iBAAiB,CAAC,OAA2B,CAAC,CAAA,CAAC;YAC5E,oBAAM,SAAS,CAAA,CAAC;QAClB,CAAC;KAAA;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport { logger } from \"./utils/index.js\";\nimport { SipRoutingClient as SipRoutingGeneratedClient } from \"./generated/src/siprouting/sipRoutingClient.js\";\nimport type {\n SipConfigurationUpdate,\n SipRoutingError,\n} from \"./generated/src/siprouting/models/index.js\";\nimport type {\n ListSipRoutesOptions,\n ListSipTrunksOptions,\n SipTrunk,\n SipTrunkRoute,\n} from \"./models.js\";\nimport { transformFromRestModel, transformIntoRestModel } from \"./mappers.js\";\nimport type { CommonClientOptions, OperationOptions } from \"@azure/core-client\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nexport * from \"./models.js\";\n\n/**\n * Client options used to configure the SipRoutingClient API requests.\n */\nexport interface SipRoutingClientOptions extends CommonClientOptions {}\n\n/**\n * Checks whether the type of a value is SipClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isSipClientOptions = (options: any): options is SipRoutingClientOptions =>\n options && !isKeyCredential(options) && !isTokenCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services SIP Routing Administration.\n */\nexport class SipRoutingClient {\n /**\n * A reference to the auto-generated SipRouting HTTP client.\n */\n private readonly client: SipRoutingGeneratedClient;\n\n /**\n * Initializes a new instance of the SipRoutingClient class using a connection string.\n *\n * @param connectionString - Connection string to connect to an Azure Communication Service resource. (eg: endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret)\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: SipRoutingClientOptions);\n\n /**\n * Initializes a new instance of the SipRoutingClient class using an Azure KeyCredential.\n *\n * @param endpoint - The endpoint of the service (eg: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the Azure KeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: SipRoutingClientOptions,\n );\n\n /**\n * Initializes a new instance of the SipRoutingClient class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: SipRoutingClientOptions,\n );\n\n public constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | SipRoutingClientOptions,\n maybeOptions: SipRoutingClientOptions = {},\n ) {\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const options = isSipClientOptions(credentialOrOptions) ? credentialOrOptions : maybeOptions;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new SipRoutingGeneratedClient(url, {\n endpoint: url,\n ...internalPipelineOptions,\n });\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Lists the SIP trunks.\n * @param options - The options parameters.\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public listTrunks(options: ListSipTrunksOptions = {}): PagedAsyncIterableIterator<SipTrunk> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"SipRoutingClient-listTrunks\",\n options,\n );\n\n try {\n const iter = this.listTrunksPagingAll({ ...updatedOptions });\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listTrunksPagingPage({ ...updatedOptions });\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets the SIP trunk.\n * @param fqdn - The trunk's FQDN.\n * @param options - The options parameters.\n */\n public async getTrunk(fqdn: string, options: OperationOptions = {}): Promise<SipTrunk> {\n return tracingClient.withSpan(\"SipRoutingClient-getTrunk\", options, async (updatedOptions) => {\n const trunks = await this.getTrunksInternal(updatedOptions);\n const trunk = trunks.find((value: SipTrunk) => value.fqdn === fqdn);\n if (trunk) {\n return trunk;\n }\n throw { code: \"NotFound\", message: \"Not Found\" } as SipRoutingError;\n });\n }\n\n /**\n * Lists the SIP trunk routes.\n * @param options - The options parameters.\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public listRoutes(options: ListSipRoutesOptions = {}): PagedAsyncIterableIterator<SipTrunkRoute> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"SipRoutingClient-listRoutes\",\n options,\n );\n\n try {\n const iter = this.listRoutesPagingAll({ ...updatedOptions });\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listRoutesPagingPage({ ...updatedOptions });\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sets the SIP trunks.\n * @param trunks - The SIP trunks to be set.\n * @param options - The options parameters.\n */\n public async setTrunks(trunks: SipTrunk[], options: OperationOptions = {}): Promise<SipTrunk[]> {\n return tracingClient.withSpan(\"SipRoutingClient-setTrunks\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = { trunks: transformIntoRestModel(trunks) };\n let config = await this.client.sipRouting.get(updatedOptions);\n const storedFqdns = transformFromRestModel(config.trunks).map((trunk) => trunk.fqdn);\n const setFqdns = trunks.map((trunk) => trunk.fqdn);\n storedFqdns.forEach((storedFqdn) => {\n const shouldDeleteStoredTrunk = !setFqdns.find((value) => value === storedFqdn);\n if (shouldDeleteStoredTrunk) {\n patch.trunks![storedFqdn] = null;\n }\n });\n\n const isPatchNeeded = Object.keys(patch.trunks!).length > 0;\n if (isPatchNeeded) {\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n config = await this.client.sipRouting.update(payload);\n }\n\n return transformFromRestModel(config.trunks);\n });\n }\n\n /**\n * Sets the SIP trunk.\n * @param trunk - The SIP trunk to be set.\n * @param options - The options parameters.\n */\n public async setTrunk(trunk: SipTrunk, options: OperationOptions = {}): Promise<SipTrunk> {\n return tracingClient.withSpan(\"SipRoutingClient-setTrunk\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = {\n trunks: transformIntoRestModel([trunk]),\n };\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n const config = await this.client.sipRouting.update(payload);\n const storedTrunk = transformFromRestModel(config.trunks).find(\n (value: SipTrunk) => value.fqdn === trunk.fqdn,\n );\n if (storedTrunk) {\n return storedTrunk;\n }\n\n throw { code: \"NotFound\", message: \"Not Found\" } as SipRoutingError;\n });\n }\n\n /**\n * Sets the SIP trunk routes.\n * @param routes - The SIP trunk routes to be set.\n * @param options - The options parameters.\n */\n public async setRoutes(\n routes: SipTrunkRoute[],\n options: OperationOptions = {},\n ): Promise<SipTrunkRoute[]> {\n return tracingClient.withSpan(\"SipRoutingClient-setRoutes\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = {\n routes: routes,\n };\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n const config = await this.client.sipRouting.update(payload);\n const storedRoutes = config.routes || (await this.getRoutesInternal(updatedOptions));\n return storedRoutes;\n });\n }\n\n /**\n * Deletes the SIP trunk.\n * @param fqdn - The trunk's FQDN.\n * @param options - The options parameters.\n */\n public async deleteTrunk(fqdn: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"SipRoutingClient-deleteTrunk\",\n options,\n async (updatedOptions) => {\n const trunks: any = {};\n trunks[fqdn] = null;\n const patch: SipConfigurationUpdate = {\n trunks: trunks,\n };\n\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n await this.client.sipRouting.update(payload);\n },\n );\n }\n\n private async getRoutesInternal(options: OperationOptions): Promise<SipTrunkRoute[]> {\n const config = await this.client.sipRouting.get(options);\n return config.routes || [];\n }\n\n private async getTrunksInternal(options: OperationOptions): Promise<SipTrunk[]> {\n const config = await this.client.sipRouting.get(options);\n return transformFromRestModel(config.trunks);\n }\n\n private async *listRoutesPagingAll(\n options?: ListSipRoutesOptions,\n ): AsyncIterableIterator<SipTrunkRoute> {\n for await (const page of this.listRoutesPagingPage(options)) {\n yield* page;\n }\n }\n\n private async *listTrunksPagingAll(\n options?: ListSipTrunksOptions,\n ): AsyncIterableIterator<SipTrunk> {\n for await (const page of this.listTrunksPagingPage(options)) {\n yield* page;\n }\n }\n\n private async *listTrunksPagingPage(\n options: ListSipTrunksOptions = {},\n ): AsyncIterableIterator<SipTrunk[]> {\n const apiResult = await this.getTrunksInternal(options as OperationOptions);\n yield apiResult;\n }\n\n private async *listRoutesPagingPage(\n options: ListSipRoutesOptions = {},\n ): AsyncIterableIterator<SipTrunkRoute[]> {\n const apiResult = await this.getRoutesInternal(options as OperationOptions);\n yield apiResult;\n }\n}\n"]}
1
+ {"version":3,"file":"sipRoutingClient.js","sourceRoot":"","sources":["../../src/sipRoutingClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport {\n createCommunicationAuthPolicy,\n isKeyCredential,\n parseClientArguments,\n} from \"@azure/communication-common\";\nimport type { KeyCredential, TokenCredential } from \"@azure/core-auth\";\nimport { isTokenCredential } from \"@azure/core-auth\";\nimport type { InternalPipelineOptions } from \"@azure/core-rest-pipeline\";\nimport { logger } from \"./utils/index.js\";\nimport { SipRoutingClient as SipRoutingGeneratedClient } from \"./generated/src/siprouting/sipRoutingClient.js\";\nimport type {\n SipConfigurationUpdate,\n SipRoutingError,\n} from \"./generated/src/siprouting/models/index.js\";\nimport type {\n ListSipRoutesOptions,\n ListSipTrunksOptions,\n SipTrunk,\n SipTrunkRoute,\n} from \"./models.js\";\nimport { transformFromRestModel, transformIntoRestModel } from \"./mappers.js\";\nimport type { CommonClientOptions, OperationOptions } from \"@azure/core-client\";\nimport { tracingClient } from \"./generated/src/tracing.js\";\nimport type { PagedAsyncIterableIterator } from \"@azure/core-paging\";\n\nexport * from \"./models.js\";\n\n/**\n * Client options used to configure the SipRoutingClient API requests.\n */\nexport interface SipRoutingClientOptions extends CommonClientOptions {}\n\n/**\n * Checks whether the type of a value is SipClientOptions or not.\n *\n * @param options - The value being checked.\n */\nconst isSipClientOptions = (options: any): options is SipRoutingClientOptions =>\n options && !isKeyCredential(options) && !isTokenCredential(options);\n\n/**\n * Client class for interacting with Azure Communication Services SIP Routing Administration.\n */\nexport class SipRoutingClient {\n /**\n * A reference to the auto-generated SipRouting HTTP client.\n */\n private readonly client: SipRoutingGeneratedClient;\n\n /**\n * Initializes a new instance of the SipRoutingClient class using a connection string.\n *\n * @param connectionString - Connection string to connect to an Azure Communication Service resource. (eg: endpoint=https://contoso.eastus.communications.azure.net/;accesskey=secret)\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(connectionString: string, options?: SipRoutingClientOptions);\n\n /**\n * Initializes a new instance of the SipRoutingClient class using an Azure KeyCredential.\n *\n * @param endpoint - The endpoint of the service (eg: https://contoso.eastus.communications.azure.net).\n * @param credential - An object that is used to authenticate requests to the service. Use the Azure KeyCredential or `@azure/identity` to create a credential.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: KeyCredential,\n options?: SipRoutingClientOptions,\n );\n\n /**\n * Initializes a new instance of the SipRoutingClient class using a TokenCredential.\n * @param endpoint - The endpoint of the service (ex: https://contoso.eastus.communications.azure.net).\n * @param credential - TokenCredential that is used to authenticate requests to the service.\n * @param options - Optional. Options to configure the HTTP pipeline.\n */\n public constructor(\n endpoint: string,\n credential: TokenCredential,\n options?: SipRoutingClientOptions,\n );\n\n public constructor(\n connectionStringOrUrl: string,\n credentialOrOptions?: KeyCredential | TokenCredential | SipRoutingClientOptions,\n maybeOptions: SipRoutingClientOptions = {},\n ) {\n const { url, credential } = parseClientArguments(connectionStringOrUrl, credentialOrOptions);\n const options = isSipClientOptions(credentialOrOptions) ? credentialOrOptions : maybeOptions;\n\n const internalPipelineOptions: InternalPipelineOptions = {\n ...options,\n ...{\n loggingOptions: {\n logger: logger.info,\n },\n },\n };\n\n this.client = new SipRoutingGeneratedClient(url, {\n endpoint: url,\n ...internalPipelineOptions,\n });\n const authPolicy = createCommunicationAuthPolicy(credential);\n this.client.pipeline.addPolicy(authPolicy);\n }\n\n /**\n * Lists the SIP trunks.\n * @param options - The options parameters.\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public listTrunks(options: ListSipTrunksOptions = {}): PagedAsyncIterableIterator<SipTrunk> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"SipRoutingClient-listTrunks\",\n options,\n );\n\n try {\n const iter = this.listTrunksPagingAll({ ...updatedOptions });\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listTrunksPagingPage({ ...updatedOptions });\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Gets the SIP trunk.\n * @param fqdn - The trunk's FQDN.\n * @param options - The options parameters.\n */\n public async getTrunk(fqdn: string, options: OperationOptions = {}): Promise<SipTrunk> {\n return tracingClient.withSpan(\"SipRoutingClient-getTrunk\", options, async (updatedOptions) => {\n const trunks = await this.getTrunksInternal(updatedOptions);\n const trunk = trunks.find((value: SipTrunk) => value.fqdn === fqdn);\n if (trunk) {\n return trunk;\n }\n throw { code: \"NotFound\", message: \"Not Found\" } as SipRoutingError;\n });\n }\n\n /**\n * Lists the SIP trunk routes.\n * @param options - The options parameters.\n */\n // eslint-disable-next-line @azure/azure-sdk/ts-naming-options\n public listRoutes(options: ListSipRoutesOptions = {}): PagedAsyncIterableIterator<SipTrunkRoute> {\n const { span, updatedOptions } = tracingClient.startSpan(\n \"SipRoutingClient-listRoutes\",\n options,\n );\n\n try {\n const iter = this.listRoutesPagingAll({ ...updatedOptions });\n return {\n next() {\n return iter.next();\n },\n [Symbol.asyncIterator]() {\n return this;\n },\n byPage: () => {\n return this.listRoutesPagingPage({ ...updatedOptions });\n },\n };\n } catch (e: any) {\n span.setStatus({\n status: \"error\",\n error: e,\n });\n throw e;\n } finally {\n span.end();\n }\n }\n\n /**\n * Sets the SIP trunks.\n * @param trunks - The SIP trunks to be set.\n * @param options - The options parameters.\n */\n public async setTrunks(trunks: SipTrunk[], options: OperationOptions = {}): Promise<SipTrunk[]> {\n return tracingClient.withSpan(\"SipRoutingClient-setTrunks\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = { trunks: transformIntoRestModel(trunks) };\n let config = await this.client.sipRouting.get(updatedOptions);\n const storedFqdns = transformFromRestModel(config.trunks).map((trunk) => trunk.fqdn);\n const setFqdns = trunks.map((trunk) => trunk.fqdn);\n storedFqdns.forEach((storedFqdn) => {\n const shouldDeleteStoredTrunk = !setFqdns.find((value) => value === storedFqdn);\n if (shouldDeleteStoredTrunk) {\n patch.trunks![storedFqdn] = null;\n }\n });\n\n const isPatchNeeded = Object.keys(patch.trunks!).length > 0;\n if (isPatchNeeded) {\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n config = await this.client.sipRouting.update(payload);\n }\n\n return transformFromRestModel(config.trunks);\n });\n }\n\n /**\n * Sets the SIP trunk.\n * @param trunk - The SIP trunk to be set.\n * @param options - The options parameters.\n */\n public async setTrunk(trunk: SipTrunk, options: OperationOptions = {}): Promise<SipTrunk> {\n return tracingClient.withSpan(\"SipRoutingClient-setTrunk\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = {\n trunks: transformIntoRestModel([trunk]),\n };\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n const config = await this.client.sipRouting.update(payload);\n const storedTrunk = transformFromRestModel(config.trunks).find(\n (value: SipTrunk) => value.fqdn === trunk.fqdn,\n );\n if (storedTrunk) {\n return storedTrunk;\n }\n\n throw { code: \"NotFound\", message: \"Not Found\" } as SipRoutingError;\n });\n }\n\n /**\n * Sets the SIP trunk routes.\n * @param routes - The SIP trunk routes to be set.\n * @param options - The options parameters.\n */\n public async setRoutes(\n routes: SipTrunkRoute[],\n options: OperationOptions = {},\n ): Promise<SipTrunkRoute[]> {\n return tracingClient.withSpan(\"SipRoutingClient-setRoutes\", options, async (updatedOptions) => {\n const patch: SipConfigurationUpdate = {\n routes: routes,\n };\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n const config = await this.client.sipRouting.update(payload);\n const storedRoutes = config.routes || (await this.getRoutesInternal(updatedOptions));\n return storedRoutes;\n });\n }\n\n /**\n * Deletes the SIP trunk.\n * @param fqdn - The trunk's FQDN.\n * @param options - The options parameters.\n */\n public async deleteTrunk(fqdn: string, options: OperationOptions = {}): Promise<void> {\n return tracingClient.withSpan(\n \"SipRoutingClient-deleteTrunk\",\n options,\n async (updatedOptions) => {\n const trunks: any = {};\n trunks[fqdn] = null;\n const patch: SipConfigurationUpdate = {\n trunks: trunks,\n };\n\n const payload = {\n ...updatedOptions,\n ...patch,\n };\n await this.client.sipRouting.update(payload);\n },\n );\n }\n\n private async getRoutesInternal(options: OperationOptions): Promise<SipTrunkRoute[]> {\n const config = await this.client.sipRouting.get(options);\n return config.routes || [];\n }\n\n private async getTrunksInternal(options: OperationOptions): Promise<SipTrunk[]> {\n const config = await this.client.sipRouting.get(options);\n return transformFromRestModel(config.trunks);\n }\n\n private async *listRoutesPagingAll(\n options?: ListSipRoutesOptions,\n ): AsyncIterableIterator<SipTrunkRoute> {\n for await (const page of this.listRoutesPagingPage(options)) {\n yield* page;\n }\n }\n\n private async *listTrunksPagingAll(\n options?: ListSipTrunksOptions,\n ): AsyncIterableIterator<SipTrunk> {\n for await (const page of this.listTrunksPagingPage(options)) {\n yield* page;\n }\n }\n\n private async *listTrunksPagingPage(\n options: ListSipTrunksOptions = {},\n ): AsyncIterableIterator<SipTrunk[]> {\n const apiResult = await this.getTrunksInternal(options as OperationOptions);\n yield apiResult;\n }\n\n private async *listRoutesPagingPage(\n options: ListSipRoutesOptions = {},\n ): AsyncIterableIterator<SipTrunkRoute[]> {\n const apiResult = await this.getRoutesInternal(options as OperationOptions);\n yield apiResult;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAuB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAgB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  // Copyright (c) Microsoft Corporation.
2
2
  // Licensed under the MIT License.
3
- export const SDK_VERSION = "1.5.0-beta.1";
3
+ export const SDK_VERSION = "1.5.0";
4
4
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,cAAc,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"1.5.0-beta.1\";\n"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,MAAM,CAAC,MAAM,WAAW,GAAW,OAAO,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nexport const SDK_VERSION: string = \"1.5.0\";\n"]}
@@ -12,9 +12,8 @@ export function createPhoneNumbersPagingPolicy(host) {
12
12
  return {
13
13
  name: "phoneNumbersPagingPolicy",
14
14
  async sendRequest(request, next) {
15
- var _a;
16
15
  const response = await next(request);
17
- let nextLink = (_a = response === null || response === void 0 ? void 0 : response.parsedBody) === null || _a === void 0 ? void 0 : _a.nextLink;
16
+ let nextLink = response?.parsedBody?.nextLink;
18
17
  if (nextLink && !nextLink.startsWith(host)) {
19
18
  nextLink = host.endsWith("/") ? nextLink.substring(1) : nextLink;
20
19
  const absolutePath = `${host}${nextLink}`;
@@ -1 +1 @@
1
- {"version":3,"file":"customPipelinePolicies.js","sourceRoot":"","sources":["../../../src/utils/customPipelinePolicies.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;;YAC3D,MAAM,QAAQ,GAA0B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,QAAQ,GAAW,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,0CAAE,QAAQ,CAAC;YAEtD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjE,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC9C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { FullOperationResponse } from \"@azure/core-client\";\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\n/**\n * Creates a `PipelinePolicy` that converts relative URL values in the `nextLink` property to absolute URLs.\n *\n * This is necessary because the Core V2 library does not support paging with relative links at time of writing.\n *\n * @param host - The base URL of the resource.\n * @returns the `PipelinePolicy` that addresses the issue.\n */\nexport function createPhoneNumbersPagingPolicy(host: string): PipelinePolicy {\n return {\n name: \"phoneNumbersPagingPolicy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const response: FullOperationResponse = await next(request);\n let nextLink: string = response?.parsedBody?.nextLink;\n\n if (nextLink && !nextLink.startsWith(host)) {\n nextLink = host.endsWith(\"/\") ? nextLink.substring(1) : nextLink;\n const absolutePath = `${host}${nextLink}`;\n response.parsedBody.nextLink = absolutePath;\n }\n\n return response;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"customPipelinePolicies.js","sourceRoot":"","sources":["../../../src/utils/customPipelinePolicies.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAUlC;;;;;;;GAOG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACzD,OAAO;QACL,IAAI,EAAE,0BAA0B;QAChC,KAAK,CAAC,WAAW,CAAC,OAAwB,EAAE,IAAiB;YAC3D,MAAM,QAAQ,GAA0B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5D,IAAI,QAAQ,GAAW,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC;YAEtD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3C,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACjE,MAAM,YAAY,GAAG,GAAG,IAAI,GAAG,QAAQ,EAAE,CAAC;gBAC1C,QAAQ,CAAC,UAAU,CAAC,QAAQ,GAAG,YAAY,CAAC;YAC9C,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { FullOperationResponse } from \"@azure/core-client\";\nimport type {\n PipelinePolicy,\n PipelineRequest,\n PipelineResponse,\n SendRequest,\n} from \"@azure/core-rest-pipeline\";\n\n/**\n * Creates a `PipelinePolicy` that converts relative URL values in the `nextLink` property to absolute URLs.\n *\n * This is necessary because the Core V2 library does not support paging with relative links at time of writing.\n *\n * @param host - The base URL of the resource.\n * @returns the `PipelinePolicy` that addresses the issue.\n */\nexport function createPhoneNumbersPagingPolicy(host: string): PipelinePolicy {\n return {\n name: \"phoneNumbersPagingPolicy\",\n async sendRequest(request: PipelineRequest, next: SendRequest): Promise<PipelineResponse> {\n const response: FullOperationResponse = await next(request);\n let nextLink: string = response?.parsedBody?.nextLink;\n\n if (nextLink && !nextLink.startsWith(host)) {\n nextLink = host.endsWith(\"/\") ? nextLink.substring(1) : nextLink;\n const absolutePath = `${host}${nextLink}`;\n response.parsedBody.nextLink = absolutePath;\n }\n\n return response;\n },\n };\n}\n"]}