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
具有版本號碼的字串。