DialogStateManager class

DialogStateManager 管理内存作用域和路径解析程序。

注解

MemoryScope 是命名的根级别对象,这些对象可以存在于对话上下文中,也可以存在于关闭状态中。 路径解析程序允许用于映射诸如 $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

如此 如果自计数器以来的任何路径已更改。

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

具有版本号的字符串。