DialogStateManager class
DialogStateManager 會管理記憶體範圍和路徑解析程式。
備註
MemoryScopes 命名為根層級物件,可以存在於對話框內容或關閉關閉狀態中。 路徑解析程式允許對應類似$foo的快捷方式行為 -> dialog.foo
建構函式
Dialog |
初始化 DialogStateManager 類別的新實例。 |
屬性
configuration | 取得或設定對話框狀態管理員的已設定路徑解析程式和記憶體範圍。 |
方法
any |
檢查水位線之後是否有任何路徑變更。 |
delete |
刪除指定範圍的所有備份記憶體。 |
delete |
從記憶體中刪除屬性 |
get |
取得適合記錄的所有記憶體範圍。 |
get |
使用路徑表達式從記憶體取得值。 |
load |
確保已針對目前回合載入所有記憶體範圍。 |
parse |
將傳入路徑的路徑區段正規化。 |
save |
儲存對記憶體範圍所做的任何變更。 |
set |
將記憶體設定為值。 |
track |
追蹤特定路徑何時變更。 |
transform |
使用已註冊的路徑轉換器轉換路徑。 |
version() | 取得版本號碼。 |
建構函式詳細資料
DialogStateManager(DialogContext, DialogStateManagerConfiguration)
初始化 DialogStateManager 類別的新實例。
new DialogStateManager(dc: DialogContext, configuration?: DialogStateManagerConfiguration)
參數
交談目前回合的對話內容。
- 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
具有版本號碼的字串。