提供一个 store 方法用于数据共享/存储,方便插件间的数据共享

const { store } = acyort

store.set('key', { a: 1 }) // 存储一个名为 key,值为 { a: 1 }
store.get('key') // 获取名为 key 的值,结果为 { a: 1 }

// 获取其他插件的数据,默认情况下,每个插件有自己的命名空间,存储数据不会混乱
store.get('字段名', '插件名')

store.reset() // 清空所有值,只会清空当前插件,不影响其他

例子

用于 cliworkflow 之间的通信

module.exports = (acyort) => {
  acyort.cli.register('options', {
    name: '--config',
    alias: '-c',
    description: 'Show config',
    action(argv) {
      acyort.store.set('cli', argv) // 存储 cli 参数
      this.workflow.start() // 执行 AcyOrt 的运行流程
    },
  })

  acyort.workflow.register(function () {
    const argv = acyort.store.get('cli') // 这里获取 cli 运行参数
  })
}