@flowgram.ai/redux-devtool-plugin 0.1.24 → 0.1.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
package/dist/esm/index.js
CHANGED
|
@@ -97,14 +97,14 @@ var VariableConnector = class extends BaseConnector {
|
|
|
97
97
|
this.variableEngine.onScopeChange((action) => {
|
|
98
98
|
const { scope, type } = action;
|
|
99
99
|
if (type === "delete") {
|
|
100
|
-
delete this.scopes[scope.id];
|
|
100
|
+
delete this.scopes[String(scope.id)];
|
|
101
101
|
} else {
|
|
102
102
|
this.scopes = {
|
|
103
103
|
...this.scopes,
|
|
104
104
|
[scope.id]: this.getScopeState(scope)
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
|
-
this.send(`${type}/${scope.id}`);
|
|
107
|
+
this.send(`${type}/${String(scope.id)}`);
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
};
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/create-redux-devtool-plugin.ts","../../src/connectors/ecs-connector.ts","../../src/connectors/base.ts","../../src/connectors/variable-connector.ts"],"sourcesContent":["import { definePluginCreator } from '@flowgram.ai/core';\n\nimport { ECSConnector, VariableConnector } from './connectors';\n\nexport interface ReduxDevToolPluginOptions {\n enable?: boolean;\n // 需要监听的内容\n ecs?: boolean;\n variable?: boolean;\n}\n\nexport const createReduxDevToolPlugin = definePluginCreator<ReduxDevToolPluginOptions>({\n onBind({ bind }, opts) {\n const { enable } = opts;\n if (!enable) {\n return;\n }\n\n bind(ECSConnector).toSelf().inSingletonScope();\n\n bind(VariableConnector).toSelf().inSingletonScope();\n },\n onInit(ctx, opts) {\n const { enable, ecs = true, variable = false } = opts;\n if (!enable) {\n return;\n }\n\n if (ecs) {\n ctx.get(ECSConnector);\n }\n\n if (variable) {\n ctx.get(VariableConnector);\n }\n },\n});\n","import { inject, injectable } from 'inversify';\nimport { EntityManager } from '@flowgram.ai/core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class ECSConnector extends BaseConnector {\n @inject(EntityManager) protected entityManager: EntityManager;\n\n getName(): string {\n return '@flowgram.ai/EntityManager';\n }\n\n getState() {\n return this.entityManager.storeState({ configOnly: false });\n }\n\n onInit() {\n this.entityManager.onEntityLifeCycleChange(action => {\n this.send(`${action.type}/${action.entity.type}/${action.entity.id}`);\n });\n }\n}\n","import { injectable, postConstruct } from 'inversify';\n\n/**\n * 参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Methods.md\n */\n@injectable()\nexport abstract class BaseConnector {\n devTools;\n\n abstract getName(): string;\n\n abstract getState(): any;\n\n abstract onInit(): any;\n\n constructor() {\n this.devTools = (window as any).__REDUX_DEVTOOLS_EXTENSION__?.connect({\n name: this.getName(),\n });\n }\n\n @postConstruct()\n init() {\n if (this.devTools) {\n this.devTools.init(this.getState());\n this.devTools.subscribe((_msg: any) => {\n // COMMIT 清空数据\n if (_msg?.payload?.type === 'COMMIT') {\n this.devTools.init(this.getState());\n }\n });\n this.onInit();\n }\n }\n\n protected send(action: any, state?: any) {\n if (this.devTools) {\n this.devTools.send(action, state || this.getState());\n }\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { Scope, VariableEngine } from '@flowgram.ai/variable-core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class VariableConnector extends BaseConnector {\n @inject(VariableEngine) protected variableEngine: VariableEngine;\n\n /**\n * 缓存变量状态\n */\n scopes: Record<string, any> = {};\n\n getName(): string {\n return '@flowgram.ai/VariableEngine';\n }\n\n getState() {\n return { scopes: this.scopes, variables: this.variableEngine.globalVariableTable.variables };\n }\n\n getScopeState(scope: Scope) {\n return {\n ast: scope?.ast.toJSON(),\n output: scope.output.variables,\n available: scope.available.variables,\n };\n }\n\n onInit() {\n this.variableEngine.onScopeChange(action => {\n const { scope, type } = action;\n\n if (type === 'delete') {\n delete this.scopes[scope.id];\n } else {\n this.scopes = {\n ...this.scopes,\n [scope.id]: this.getScopeState(scope),\n };\n }\n\n this.send(`${type}/${scope.id}`);\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAAS,2BAA2B;;;ACApC,SAAS,QAAQ,cAAAA,mBAAkB;AACnC,SAAS,qBAAqB;;;ACD9B,SAAS,YAAY,qBAAqB;AAMnC,IAAe,gBAAf,MAA6B;AAAA,EASlC,cAAc;AACZ,SAAK,WAAY,OAAe,8BAA8B,QAAQ;AAAA,MACpE,MAAM,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EAGA,OAAO;AACL,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,KAAK,KAAK,SAAS,CAAC;AAClC,WAAK,SAAS,UAAU,CAAC,SAAc;AAErC,YAAI,MAAM,SAAS,SAAS,UAAU;AACpC,eAAK,SAAS,KAAK,KAAK,SAAS,CAAC;AAAA,QACpC;AAAA,MACF,CAAC;AACD,WAAK,OAAO;AAAA,IACd;AAAA,EACF;AAAA,EAEU,KAAK,QAAa,OAAa;AACvC,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,SAAS,CAAC;AAAA,IACrD;AAAA,EACF;AACF;AAlBE;AAAA,EADC,cAAc;AAAA,GAfK,cAgBpB;AAhBoB,gBAAf;AAAA,EADN,WAAW;AAAA,GACU;;;ADAf,IAAM,eAAN,cAA2B,cAAc;AAAA,EAG9C,UAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,cAAc,WAAW,EAAE,YAAY,MAAM,CAAC;AAAA,EAC5D;AAAA,EAEA,SAAS;AACP,SAAK,cAAc,wBAAwB,YAAU;AACnD,WAAK,KAAK,GAAG,OAAO,IAAI,IAAI,OAAO,OAAO,IAAI,IAAI,OAAO,OAAO,EAAE,EAAE;AAAA,IACtE,CAAC;AAAA,EACH;AACF;AAfmC;AAAA,EAAhC,OAAO,aAAa;AAAA,GADV,aACsB;AADtB,eAAN;AAAA,EADNC,YAAW;AAAA,GACC;;;AENb,SAAS,UAAAC,SAAQ,cAAAC,mBAAkB;AACnC,SAAgB,sBAAsB;AAK/B,IAAM,oBAAN,cAAgC,cAAc;AAAA,EAA9C;AAAA;AAML;AAAA;AAAA;AAAA,kBAA8B,CAAC;AAAA;AAAA,EAE/B,UAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,WAAO,EAAE,QAAQ,KAAK,QAAQ,WAAW,KAAK,eAAe,oBAAoB,UAAU;AAAA,EAC7F;AAAA,EAEA,cAAc,OAAc;AAC1B,WAAO;AAAA,MACL,KAAK,OAAO,IAAI,OAAO;AAAA,MACvB,QAAQ,MAAM,OAAO;AAAA,MACrB,WAAW,MAAM,UAAU;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,SAAS;AACP,SAAK,eAAe,cAAc,
|
|
1
|
+
{"version":3,"sources":["../../src/create-redux-devtool-plugin.ts","../../src/connectors/ecs-connector.ts","../../src/connectors/base.ts","../../src/connectors/variable-connector.ts"],"sourcesContent":["import { definePluginCreator } from '@flowgram.ai/core';\n\nimport { ECSConnector, VariableConnector } from './connectors';\n\nexport interface ReduxDevToolPluginOptions {\n enable?: boolean;\n // 需要监听的内容\n ecs?: boolean;\n variable?: boolean;\n}\n\nexport const createReduxDevToolPlugin = definePluginCreator<ReduxDevToolPluginOptions>({\n onBind({ bind }, opts) {\n const { enable } = opts;\n if (!enable) {\n return;\n }\n\n bind(ECSConnector).toSelf().inSingletonScope();\n\n bind(VariableConnector).toSelf().inSingletonScope();\n },\n onInit(ctx, opts) {\n const { enable, ecs = true, variable = false } = opts;\n if (!enable) {\n return;\n }\n\n if (ecs) {\n ctx.get(ECSConnector);\n }\n\n if (variable) {\n ctx.get(VariableConnector);\n }\n },\n});\n","import { inject, injectable } from 'inversify';\nimport { EntityManager } from '@flowgram.ai/core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class ECSConnector extends BaseConnector {\n @inject(EntityManager) protected entityManager: EntityManager;\n\n getName(): string {\n return '@flowgram.ai/EntityManager';\n }\n\n getState() {\n return this.entityManager.storeState({ configOnly: false });\n }\n\n onInit() {\n this.entityManager.onEntityLifeCycleChange(action => {\n this.send(`${action.type}/${action.entity.type}/${action.entity.id}`);\n });\n }\n}\n","import { injectable, postConstruct } from 'inversify';\n\n/**\n * 参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Methods.md\n */\n@injectable()\nexport abstract class BaseConnector {\n devTools;\n\n abstract getName(): string;\n\n abstract getState(): any;\n\n abstract onInit(): any;\n\n constructor() {\n this.devTools = (window as any).__REDUX_DEVTOOLS_EXTENSION__?.connect({\n name: this.getName(),\n });\n }\n\n @postConstruct()\n init() {\n if (this.devTools) {\n this.devTools.init(this.getState());\n this.devTools.subscribe((_msg: any) => {\n // COMMIT 清空数据\n if (_msg?.payload?.type === 'COMMIT') {\n this.devTools.init(this.getState());\n }\n });\n this.onInit();\n }\n }\n\n protected send(action: any, state?: any) {\n if (this.devTools) {\n this.devTools.send(action, state || this.getState());\n }\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { Scope, VariableEngine } from '@flowgram.ai/variable-core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class VariableConnector extends BaseConnector {\n @inject(VariableEngine) protected variableEngine: VariableEngine;\n\n /**\n * 缓存变量状态\n */\n scopes: Record<string, any> = {};\n\n getName(): string {\n return '@flowgram.ai/VariableEngine';\n }\n\n getState() {\n return { scopes: this.scopes, variables: this.variableEngine.globalVariableTable.variables };\n }\n\n getScopeState(scope: Scope) {\n return {\n ast: scope?.ast.toJSON(),\n output: scope.output.variables,\n available: scope.available.variables,\n };\n }\n\n onInit() {\n this.variableEngine.onScopeChange((action) => {\n const { scope, type } = action;\n\n if (type === 'delete') {\n delete this.scopes[String(scope.id)];\n } else {\n this.scopes = {\n ...this.scopes,\n [scope.id]: this.getScopeState(scope),\n };\n }\n\n this.send(`${type}/${String(scope.id)}`);\n });\n }\n}\n"],"mappings":"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","names":["injectable","injectable","inject","injectable","inject","injectable"]}
|
package/dist/index.js
CHANGED
|
@@ -121,14 +121,14 @@ var VariableConnector = class extends BaseConnector {
|
|
|
121
121
|
this.variableEngine.onScopeChange((action) => {
|
|
122
122
|
const { scope, type } = action;
|
|
123
123
|
if (type === "delete") {
|
|
124
|
-
delete this.scopes[scope.id];
|
|
124
|
+
delete this.scopes[String(scope.id)];
|
|
125
125
|
} else {
|
|
126
126
|
this.scopes = {
|
|
127
127
|
...this.scopes,
|
|
128
128
|
[scope.id]: this.getScopeState(scope)
|
|
129
129
|
};
|
|
130
130
|
}
|
|
131
|
-
this.send(`${type}/${scope.id}`);
|
|
131
|
+
this.send(`${type}/${String(scope.id)}`);
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
134
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/create-redux-devtool-plugin.ts","../src/connectors/ecs-connector.ts","../src/connectors/base.ts","../src/connectors/variable-connector.ts"],"sourcesContent":["export * from './create-redux-devtool-plugin';\nexport * from './connectors/ecs-connector';\n","import { definePluginCreator } from '@flowgram.ai/core';\n\nimport { ECSConnector, VariableConnector } from './connectors';\n\nexport interface ReduxDevToolPluginOptions {\n enable?: boolean;\n // 需要监听的内容\n ecs?: boolean;\n variable?: boolean;\n}\n\nexport const createReduxDevToolPlugin = definePluginCreator<ReduxDevToolPluginOptions>({\n onBind({ bind }, opts) {\n const { enable } = opts;\n if (!enable) {\n return;\n }\n\n bind(ECSConnector).toSelf().inSingletonScope();\n\n bind(VariableConnector).toSelf().inSingletonScope();\n },\n onInit(ctx, opts) {\n const { enable, ecs = true, variable = false } = opts;\n if (!enable) {\n return;\n }\n\n if (ecs) {\n ctx.get(ECSConnector);\n }\n\n if (variable) {\n ctx.get(VariableConnector);\n }\n },\n});\n","import { inject, injectable } from 'inversify';\nimport { EntityManager } from '@flowgram.ai/core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class ECSConnector extends BaseConnector {\n @inject(EntityManager) protected entityManager: EntityManager;\n\n getName(): string {\n return '@flowgram.ai/EntityManager';\n }\n\n getState() {\n return this.entityManager.storeState({ configOnly: false });\n }\n\n onInit() {\n this.entityManager.onEntityLifeCycleChange(action => {\n this.send(`${action.type}/${action.entity.type}/${action.entity.id}`);\n });\n }\n}\n","import { injectable, postConstruct } from 'inversify';\n\n/**\n * 参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Methods.md\n */\n@injectable()\nexport abstract class BaseConnector {\n devTools;\n\n abstract getName(): string;\n\n abstract getState(): any;\n\n abstract onInit(): any;\n\n constructor() {\n this.devTools = (window as any).__REDUX_DEVTOOLS_EXTENSION__?.connect({\n name: this.getName(),\n });\n }\n\n @postConstruct()\n init() {\n if (this.devTools) {\n this.devTools.init(this.getState());\n this.devTools.subscribe((_msg: any) => {\n // COMMIT 清空数据\n if (_msg?.payload?.type === 'COMMIT') {\n this.devTools.init(this.getState());\n }\n });\n this.onInit();\n }\n }\n\n protected send(action: any, state?: any) {\n if (this.devTools) {\n this.devTools.send(action, state || this.getState());\n }\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { Scope, VariableEngine } from '@flowgram.ai/variable-core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class VariableConnector extends BaseConnector {\n @inject(VariableEngine) protected variableEngine: VariableEngine;\n\n /**\n * 缓存变量状态\n */\n scopes: Record<string, any> = {};\n\n getName(): string {\n return '@flowgram.ai/VariableEngine';\n }\n\n getState() {\n return { scopes: this.scopes, variables: this.variableEngine.globalVariableTable.variables };\n }\n\n getScopeState(scope: Scope) {\n return {\n ast: scope?.ast.toJSON(),\n output: scope.output.variables,\n available: scope.available.variables,\n };\n }\n\n onInit() {\n this.variableEngine.onScopeChange(action => {\n const { scope, type } = action;\n\n if (type === 'delete') {\n delete this.scopes[scope.id];\n } else {\n this.scopes = {\n ...this.scopes,\n [scope.id]: this.getScopeState(scope),\n };\n }\n\n this.send(`${type}/${scope.id}`);\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,IAAAA,eAAoC;;;ACApC,IAAAC,oBAAmC;AACnC,kBAA8B;;;ACD9B,uBAA0C;AAMnC,IAAe,gBAAf,MAA6B;AAAA,EASlC,cAAc;AACZ,SAAK,WAAY,OAAe,8BAA8B,QAAQ;AAAA,MACpE,MAAM,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EAGA,OAAO;AACL,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,KAAK,KAAK,SAAS,CAAC;AAClC,WAAK,SAAS,UAAU,CAAC,SAAc;AAErC,YAAI,MAAM,SAAS,SAAS,UAAU;AACpC,eAAK,SAAS,KAAK,KAAK,SAAS,CAAC;AAAA,QACpC;AAAA,MACF,CAAC;AACD,WAAK,OAAO;AAAA,IACd;AAAA,EACF;AAAA,EAEU,KAAK,QAAa,OAAa;AACvC,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,KAAK,QAAQ,SAAS,KAAK,SAAS,CAAC;AAAA,IACrD;AAAA,EACF;AACF;AAlBE;AAAA,MADC,gCAAc;AAAA,GAfK,cAgBpB;AAhBoB,gBAAf;AAAA,MADN,6BAAW;AAAA,GACU;;;ADAf,IAAM,eAAN,cAA2B,cAAc;AAAA,EAG9C,UAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,cAAc,WAAW,EAAE,YAAY,MAAM,CAAC;AAAA,EAC5D;AAAA,EAEA,SAAS;AACP,SAAK,cAAc,wBAAwB,YAAU;AACnD,WAAK,KAAK,GAAG,OAAO,IAAI,IAAI,OAAO,OAAO,IAAI,IAAI,OAAO,OAAO,EAAE,EAAE;AAAA,IACtE,CAAC;AAAA,EACH;AACF;AAfmC;AAAA,MAAhC,0BAAO,yBAAa;AAAA,GADV,aACsB;AADtB,eAAN;AAAA,MADN,8BAAW;AAAA,GACC;;;AENb,IAAAC,oBAAmC;AACnC,2BAAsC;AAK/B,IAAM,oBAAN,cAAgC,cAAc;AAAA,EAA9C;AAAA;AAML;AAAA;AAAA;AAAA,kBAA8B,CAAC;AAAA;AAAA,EAE/B,UAAkB;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,WAAW;AACT,WAAO,EAAE,QAAQ,KAAK,QAAQ,WAAW,KAAK,eAAe,oBAAoB,UAAU;AAAA,EAC7F;AAAA,EAEA,cAAc,OAAc;AAC1B,WAAO;AAAA,MACL,KAAK,OAAO,IAAI,OAAO;AAAA,MACvB,QAAQ,MAAM,OAAO;AAAA,MACrB,WAAW,MAAM,UAAU;AAAA,IAC7B;AAAA,EACF;AAAA,EAEA,SAAS;AACP,SAAK,eAAe,cAAc,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/create-redux-devtool-plugin.ts","../src/connectors/ecs-connector.ts","../src/connectors/base.ts","../src/connectors/variable-connector.ts"],"sourcesContent":["export * from './create-redux-devtool-plugin';\nexport * from './connectors/ecs-connector';\n","import { definePluginCreator } from '@flowgram.ai/core';\n\nimport { ECSConnector, VariableConnector } from './connectors';\n\nexport interface ReduxDevToolPluginOptions {\n enable?: boolean;\n // 需要监听的内容\n ecs?: boolean;\n variable?: boolean;\n}\n\nexport const createReduxDevToolPlugin = definePluginCreator<ReduxDevToolPluginOptions>({\n onBind({ bind }, opts) {\n const { enable } = opts;\n if (!enable) {\n return;\n }\n\n bind(ECSConnector).toSelf().inSingletonScope();\n\n bind(VariableConnector).toSelf().inSingletonScope();\n },\n onInit(ctx, opts) {\n const { enable, ecs = true, variable = false } = opts;\n if (!enable) {\n return;\n }\n\n if (ecs) {\n ctx.get(ECSConnector);\n }\n\n if (variable) {\n ctx.get(VariableConnector);\n }\n },\n});\n","import { inject, injectable } from 'inversify';\nimport { EntityManager } from '@flowgram.ai/core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class ECSConnector extends BaseConnector {\n @inject(EntityManager) protected entityManager: EntityManager;\n\n getName(): string {\n return '@flowgram.ai/EntityManager';\n }\n\n getState() {\n return this.entityManager.storeState({ configOnly: false });\n }\n\n onInit() {\n this.entityManager.onEntityLifeCycleChange(action => {\n this.send(`${action.type}/${action.entity.type}/${action.entity.id}`);\n });\n }\n}\n","import { injectable, postConstruct } from 'inversify';\n\n/**\n * 参考:https://github.com/zalmoxisus/redux-devtools-extension/blob/master/docs/API/Methods.md\n */\n@injectable()\nexport abstract class BaseConnector {\n devTools;\n\n abstract getName(): string;\n\n abstract getState(): any;\n\n abstract onInit(): any;\n\n constructor() {\n this.devTools = (window as any).__REDUX_DEVTOOLS_EXTENSION__?.connect({\n name: this.getName(),\n });\n }\n\n @postConstruct()\n init() {\n if (this.devTools) {\n this.devTools.init(this.getState());\n this.devTools.subscribe((_msg: any) => {\n // COMMIT 清空数据\n if (_msg?.payload?.type === 'COMMIT') {\n this.devTools.init(this.getState());\n }\n });\n this.onInit();\n }\n }\n\n protected send(action: any, state?: any) {\n if (this.devTools) {\n this.devTools.send(action, state || this.getState());\n }\n }\n}\n","import { inject, injectable } from 'inversify';\nimport { Scope, VariableEngine } from '@flowgram.ai/variable-core';\n\nimport { BaseConnector } from './base';\n\n@injectable()\nexport class VariableConnector extends BaseConnector {\n @inject(VariableEngine) protected variableEngine: VariableEngine;\n\n /**\n * 缓存变量状态\n */\n scopes: Record<string, any> = {};\n\n getName(): string {\n return '@flowgram.ai/VariableEngine';\n }\n\n getState() {\n return { scopes: this.scopes, variables: this.variableEngine.globalVariableTable.variables };\n }\n\n getScopeState(scope: Scope) {\n return {\n ast: scope?.ast.toJSON(),\n output: scope.output.variables,\n available: scope.available.variables,\n };\n }\n\n onInit() {\n this.variableEngine.onScopeChange((action) => {\n const { scope, type } = action;\n\n if (type === 'delete') {\n delete this.scopes[String(scope.id)];\n } else {\n this.scopes = {\n ...this.scopes,\n [scope.id]: this.getScopeState(scope),\n };\n }\n\n this.send(`${type}/${String(scope.id)}`);\n });\n }\n}\n"],"mappings":"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","names":["import_core","import_inversify","import_inversify"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowgram.ai/redux-devtool-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"homepage": "https://flowgram.ai/",
|
|
5
5
|
"repository": "https://github.com/bytedance/flowgram.ai",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
"inversify": "^6.0.1",
|
|
20
20
|
"reflect-metadata": "~0.2.2",
|
|
21
21
|
"styled-components": "^5",
|
|
22
|
-
"@flowgram.ai/core": "0.1.
|
|
23
|
-
"@flowgram.ai/variable-core": "0.1.
|
|
22
|
+
"@flowgram.ai/core": "0.1.25",
|
|
23
|
+
"@flowgram.ai/variable-core": "0.1.25"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@vitest/coverage-v8": "^0.32.0",
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"tsup": "^8.0.1",
|
|
29
29
|
"typescript": "^5.0.4",
|
|
30
30
|
"vitest": "^0.34.6",
|
|
31
|
-
"@flowgram.ai/
|
|
32
|
-
"@flowgram.ai/
|
|
31
|
+
"@flowgram.ai/eslint-config": "0.1.25",
|
|
32
|
+
"@flowgram.ai/ts-config": "0.1.25"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public",
|