共用方式為


DialogStateManager class

DialogStateManager 會管理記憶體範圍和路徑解析程式。

備註

MemoryScopes 命名為根層級物件,可以存在於對話框內容或關閉關閉狀態中。 路徑解析程式允許對應類似$foo的快捷方式行為 -> dialog.foo

建構函式

DialogStateManager(DialogContext, DialogStateManagerConfiguration)

初始化 DialogStateManager 類別的新實例。

屬性

configuration

取得或設定對話框狀態管理員的已設定路徑解析程式和記憶體範圍。

方法

anyPathChanged(number, string[])

檢查水位線之後是否有任何路徑變更。

deleteScopesMemory(string)

刪除指定範圍的所有備份記憶體。

deleteValue(string)

從記憶體中刪除屬性

getMemorySnapshot()

取得適合記錄的所有記憶體範圍。

getValue<T>(string, T | () => T)

使用路徑表達式從記憶體取得值。

loadAllScopes()

確保已針對目前回合載入所有記憶體範圍。

parsePath(string, boolean)

將傳入路徑的路徑區段正規化。

saveAllChanges()

儲存對記憶體範圍所做的任何變更。

setValue(string, any)

將記憶體設定為值。

trackPaths(string[])

追蹤特定路徑何時變更。

transformPath(string)

使用已註冊的路徑轉換器轉換路徑。

version()

取得版本號碼。

建構函式詳細資料

DialogStateManager(DialogContext, DialogStateManagerConfiguration)

初始化 DialogStateManager 類別的新實例。

new DialogStateManager(dc: DialogContext, configuration?: DialogStateManagerConfiguration)

參數

dc
DialogContext

交談目前回合的對話內容。

configuration
DialogStateManagerConfiguration

對話框狀態管理員的設定。

屬性詳細資料

configuration

取得或設定對話框狀態管理員的已設定路徑解析程式和記憶體範圍。

configuration: DialogStateManagerConfiguration

屬性值

備註

給定的對話內容鏈結有一組組組態資訊。 將新的組態指派給鏈結內的任何 DialogStateManager,將會更新整個鏈結的組態。

方法詳細資料

anyPathChanged(number, string[])

檢查水位線之後是否有任何路徑變更。

function anyPathChanged(counter: number, paths: string[]): boolean

參數

counter

number

要比較的時間計數器。

paths

string[]

要檢查的 trackPaths() 路徑

傳回

boolean

True 是表示 如果自計數器之後的任何路徑都已變更。

deleteScopesMemory(string)

刪除指定範圍的所有備份記憶體。

function deleteScopesMemory(name: string): Promise<void>

參數

name

string

範圍的名稱。

傳回

Promise<void>

deleteValue(string)

從記憶體中刪除屬性

function deleteValue(pathExpression: string)

參數

pathExpression

string

要移除的分葉屬性。

getMemorySnapshot()

取得適合記錄的所有記憶體範圍。

function getMemorySnapshot(): object

傳回

object

物件,表示所有記憶體範圍。

getValue<T>(string, T | () => T)

使用路徑表達式從記憶體取得值。

function getValue<T>(pathExpression: string, defaultValue?: T | () => T): T

參數

pathExpression

string

要使用的路徑表達式。

defaultValue

T | () => T

(選擇性) 找不到路徑時要使用的預設值。 可能是傳回要使用的預設值的函式。

傳回

T

找不到且未指定 defaultValue 時,找到的值或未定義。

備註

這一律會傳回記憶體的CLONE,對結果所做的任何修改都不會影響記憶體。

loadAllScopes()

確保已針對目前回合載入所有記憶體範圍。

function loadAllScopes(): Promise<void>

傳回

Promise<void>

備註

這應該在回合的開頭呼叫。

parsePath(string, boolean)

將傳入路徑的路徑區段正規化。

function parsePath(pathExpression: string, allowNestedPaths?: boolean): string | number[]

參數

pathExpression

string

正規化的路徑。

allowNestedPaths

boolean

自選。 如果 false,則偵測巢狀路徑會導致傳回空白路徑。 默認為 『true』。

傳回

string | number[]

標準化路徑。

備註

profile.address[0] 的路徑將會正規化為 profile.address.0

saveAllChanges()

儲存對記憶體範圍所做的任何變更。

function saveAllChanges(): Promise<void>

傳回

Promise<void>

備註

這應該在回合結束時呼叫。

setValue(string, any)

將記憶體設定為值。

function setValue(pathExpression: string, value: any)

參數

pathExpression

string

記憶體的路徑。

value

any

要設定的值。

trackPaths(string[])

追蹤特定路徑何時變更。

function trackPaths(paths: string[]): string[]

參數

paths

string[]

要追蹤的路徑。

傳回

string[]

要傳遞至 anyPathChanged() 的標準化路徑

transformPath(string)

使用已註冊的路徑轉換器轉換路徑。

function transformPath(pathExpression: string): string

參數

pathExpression

string

要轉換的路徑。

傳回

string

轉換的路徑。

version()

取得版本號碼。

function version(): string

傳回

string

具有版本號碼的字串。