共用方式為


@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)

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

變數

isBrowser

一個常數用來表示程式碼所執行的環境是否為網頁瀏覽器。

isBun

一個常數用來表示程式碼所執行的環境是否為 Bun.sh。

isDeno

一個表示程式碼是否運行環境的常數是 Deno。

isNode

一個常數,用以表示程式碼所執行的環境是否為 Node.js 相容環境。

isNodeLike

一個常數,用以表示程式碼所執行的環境是否為 Node.js 相容環境。

isNodeRuntime

一個常數,用來表示程式碼所執行的環境是否為Node.JS。

isReactNative

一個常數用來指示程式碼所執行的環境是否在 React-Native 中。

isWebWorker

一個常數用來指示程式碼所執行的環境是否為 Web Worker。

函式詳細資料

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

編碼字串的字串

Variable Details

isBrowser

一個常數用來表示程式碼所執行的環境是否為網頁瀏覽器。

isBrowser: boolean

類型

boolean

isBun

一個常數用來表示程式碼所執行的環境是否為 Bun.sh。

isBun: boolean

類型

boolean

isDeno

一個表示程式碼是否運行環境的常數是 Deno。

isDeno: boolean

類型

boolean

isNode

警告

此 API 現已淘汰。

Use isNodeLike instead.

一個常數,用以表示程式碼所執行的環境是否為 Node.js 相容環境。

isNode: boolean

類型

boolean

isNodeLike

一個常數,用以表示程式碼所執行的環境是否為 Node.js 相容環境。

isNodeLike: boolean

類型

boolean

isNodeRuntime

一個常數,用來表示程式碼所執行的環境是否為Node.JS。

isNodeRuntime: boolean

類型

boolean

isReactNative

一個常數用來指示程式碼所執行的環境是否在 React-Native 中。

isReactNative: boolean

類型

boolean

isWebWorker

一個常數用來指示程式碼所執行的環境是否為 Web Worker。

isWebWorker: boolean

類型

boolean