共用方式為


@azure/core-util package

介面

AbortOptions

與中止控制器相關的選項。

CreateAbortablePromiseOptions

createAbortablePromise 函式的選項。

DelayOptions

延遲方法支援中止功能的選項

類型別名

AbortablePromiseBuilder

表示傳回可中止之承諾的函式。

EncodingType

支援的字元編碼類型

HttpMethods

提出要求時所要使用的支援 HTTP 方法。

UnknownObject

一般 JS 物件的泛型圖形。

函式

calculateRetryDelay(number, { maxRetryDelayInMs: number, retryDelayInMs: number })

使用指數延遲與抖動計算重試嘗試的延遲間隔。

cancelablePromiseRace<T>(AbortablePromiseBuilder<T[number]>[], { abortSignal?: AbortSignalLike })

promise.race() 包裝函式,一旦第一個承諾解決,就會中止其餘承諾。

computeSha256Hash(string, "base64" | "hex")

產生SHA-256哈希。

computeSha256Hmac(string, string, "base64" | "hex")

產生 SHA-256 HMAC 簽章。

createAbortablePromise<T>((resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void, CreateAbortablePromiseOptions)

建立可中止的承諾。

delay(number, DelayOptions)

setTimeout 的包裝函式,會在 timeInMs 毫秒之後解析承諾。

getErrorMessage(unknown)

假設什麼是錯誤物件,請盡可能傳回訊息。 如果訊息遺失,則會傳回輸入的字串化版本。

getRandomIntegerInclusive(number, number)

傳回下限和上限之間的隨機整數值,包含這兩個界限。 請注意,這會使用Math.random且不安全。 如果您需要將此專案用於任何類型的安全性用途,請尋找更好的隨機來源。

isDefined<T>(undefined | null | T)

協助程式 TypeGuard 會檢查是否已定義專案。

isError(unknown)

錯誤物件圖形的 Typeguard (具有名稱和訊息)

isObject(unknown)

判斷輸入何時為泛型 JS 對象的協助程式。

isObjectWithProperties<Thing, PropertyName>(Thing, PropertyName[])

Helper TypeGuard 會檢查輸入是否為具有指定屬性的物件。

objectHasProperty<Thing, PropertyName>(Thing, PropertyName)

協助程式 TypeGuard 會檢查輸入是否為具有指定屬性的物件。

randomUUID()

產生的通用唯一標識碼

stringToUint8Array(string, EncodingType)

將字串轉換成特定字元編碼位元組數位的協助程式。

uint8ArrayToString(Uint8Array, EncodingType)

將具有特定字元編碼的位元組轉換成字串的協助程式

函式詳細資料

calculateRetryDelay(number, { maxRetryDelayInMs: number, retryDelayInMs: number })

使用指數延遲與抖動計算重試嘗試的延遲間隔。

function calculateRetryDelay(retryAttempt: number, config: { maxRetryDelayInMs: number, retryDelayInMs: number }): { retryAfterInMs: number }

參數

retryAttempt

number

目前的重試嘗試次數。

config

{ maxRetryDelayInMs: number, retryDelayInMs: number }

指數重試組態。

傳回

{ retryAfterInMs: number }

物件,包含計算的重試延遲。

cancelablePromiseRace<T>(AbortablePromiseBuilder<T[number]>[], { abortSignal?: AbortSignalLike })

promise.race() 包裝函式,一旦第一個承諾解決,就會中止其餘承諾。

function cancelablePromiseRace<T>(abortablePromiseBuilders: AbortablePromiseBuilder<T[number]>[], options?: { abortSignal?: AbortSignalLike }): Promise<T[number]>

參數

abortablePromiseBuilders

AbortablePromiseBuilder<T[number]>[]

options

{ abortSignal?: AbortSignalLike }

傳回

Promise<T[number]>

computeSha256Hash(string, "base64" | "hex")

產生SHA-256哈希。

function computeSha256Hash(content: string, encoding: "base64" | "hex"): Promise<string>

參數

content

string

要包含在哈希中的數據。

encoding

"base64" | "hex"

要用於傳回哈希的文字編碼。

傳回

Promise<string>

computeSha256Hmac(string, string, "base64" | "hex")

產生 SHA-256 HMAC 簽章。

function computeSha256Hmac(key: string, stringToSign: string, encoding: "base64" | "hex"): Promise<string>

參數

key

string

以base64字串表示的 HMAC 金鑰,用來產生密碼編譯 HMAC 哈希。

stringToSign

string

要簽署的數據。

encoding

"base64" | "hex"

要用於傳回 HMAC 摘要的文字編碼。

傳回

Promise<string>

createAbortablePromise<T>((resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void, CreateAbortablePromiseOptions)

建立可中止的承諾。

function createAbortablePromise<T>(buildPromise: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void, options?: CreateAbortablePromiseOptions): Promise<T>

參數

buildPromise

(resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void

接受解析和拒絕函式做為參數的函式。

options
CreateAbortablePromiseOptions

中止承諾的選項。

傳回

Promise<T>

可以中止的承諾。

delay(number, DelayOptions)

setTimeout 的包裝函式,會在 timeInMs 毫秒之後解析承諾。

function delay(timeInMs: number, options?: DelayOptions): Promise<void>

參數

timeInMs

number

要延遲的毫秒數。

options
DelayOptions

延遲的選項 - 目前中止選項

傳回

Promise<void>

在 timeInMs 之後解決的承諾

getErrorMessage(unknown)

假設什麼是錯誤物件,請盡可能傳回訊息。 如果訊息遺失,則會傳回輸入的字串化版本。

function getErrorMessage(e: unknown): string

參數

e

unknown

從 try 區塊擲回的東西

傳回

string

輸入的錯誤訊息或字串

getRandomIntegerInclusive(number, number)

傳回下限和上限之間的隨機整數值,包含這兩個界限。 請注意,這會使用Math.random且不安全。 如果您需要將此專案用於任何類型的安全性用途,請尋找更好的隨機來源。

function getRandomIntegerInclusive(min: number, max: number): number

參數

min

number

允許的最小整數值。

max

number

允許的最大整數值。

傳回

number

isDefined<T>(undefined | null | T)

協助程式 TypeGuard 會檢查是否已定義專案。

function isDefined<T>(thing: undefined | null | T): thing

參數

thing

undefined | null | T

什麼

傳回

thing

isError(unknown)

錯誤物件圖形的 Typeguard (具有名稱和訊息)

function isError(e: unknown): e

參數

e

unknown

catch 子句攔截到的東西。

傳回

e

isObject(unknown)

判斷輸入何時為泛型 JS 對象的協助程式。

function isObject(input: unknown): input

參數

input

unknown

傳回

input

當輸入不是 null、Array、RegExp 或 Date 的物件類型時,則為 true。

isObjectWithProperties<Thing, PropertyName>(Thing, PropertyName[])

Helper TypeGuard 會檢查輸入是否為具有指定屬性的物件。

function isObjectWithProperties<Thing, PropertyName>(thing: Thing, properties: PropertyName[]): thing

參數

thing

Thing

什麼。

properties

PropertyName[]

應該出現在物件中的屬性名稱。

傳回

thing

objectHasProperty<Thing, PropertyName>(Thing, PropertyName)

協助程式 TypeGuard 會檢查輸入是否為具有指定屬性的物件。

function objectHasProperty<Thing, PropertyName>(thing: Thing, property: PropertyName): thing

參數

thing

Thing

任何物件。

property

PropertyName

應該出現在物件中的屬性名稱。

傳回

thing

randomUUID()

產生的通用唯一標識碼

function randomUUID(): string

傳回

string

RFC4122 v4 UUID。

stringToUint8Array(string, EncodingType)

將字串轉換成特定字元編碼位元組數位的協助程式。

function stringToUint8Array(value: string, format: EncodingType): Uint8Array

參數

value

string

要轉換的字串

format
EncodingType

我們用來譯碼值的格式

傳回

Uint8Array

uint8array

uint8ArrayToString(Uint8Array, EncodingType)

將具有特定字元編碼的位元組轉換成字串的協助程式

function uint8ArrayToString(bytes: Uint8Array, format: EncodingType): string

參數

bytes

Uint8Array

uint8array 位元組

format
EncodingType

我們用來編碼位元組的格式

傳回

string

編碼字串的字串