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
如此 如果任何路径自计数器以来发生了更改。
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
具有版本号的字符串。