@logicflow/engine 0.0.12-beta.0 → 0.0.12
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/index.js +1 -1
- package/es/platform/browser/browserVm.js.map +1 -1
- package/es/platform/node/nodeVm.js +1 -0
- package/es/platform/node/nodeVm.js.map +1 -1
- package/lib/platform/browser/browserVm.js.map +1 -1
- package/lib/platform/node/nodeVm.js +1 -0
- package/lib/platform/node/nodeVm.js.map +1 -1
- package/package.json +4 -5
- package/src/platform/node/nodeVm.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("node:vm")):"function"==typeof define&&define.amd?define(["exports","node:vm"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Engine={},e.vm)}(this,(function(e,t){"use strict";function o(e,t,o,n){return new(o||(o=Promise))((function(i,s){function r(e){try{a(n.next(e))}catch(e){s(e)}}function d(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(r,d)}a((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const n="instance:complete",i="instance:interrupted",s="instance:error";var r,d;e.FlowStatus=void 0,(r=e.FlowStatus||(e.FlowStatus={})).COMPLETED="completed",r.INTERRUPTED="interrupted",r.RUNNING="running",r.PENDING="pending",r.ERROR="error",e.ActionStatus=void 0,(d=e.ActionStatus||(e.ActionStatus={})).SUCCESS="success",d.ERROR="error",d.INTERRUPTED="interrupted";const a=(e,n)=>o(void 0,void 0,void 0,(function*(){const i=yield((e,n={})=>o(void 0,void 0,void 0,(function*(){const o=t.createContext(n);return t.runInContext(e,o),o})))(e,n);return i}));class c{constructor({nodeConfig:e,context:t,globalData:o}){const{outgoing:n,incoming:i,id:s,type:r,properties:d}=e;this.baseType="base",this.outgoing=n,this.incoming=i,this.nodeId=s,this.type=r,this.properties=d,this.context=t,this.globalData=o}action(e){return o(this,void 0,void 0,(function*(){console.log("action param ---\x3e>>",e)}))}onResume(e){return o(this,void 0,void 0,(function*(){console.log("onResume params ---\x3e>>",e)}))}isPass(e){return o(this,void 0,void 0,(function*(){if(!e)return!0;const{conditionExpression:t}=e;if(!t)return!0;try{return yield a(`\n const isPassResult = (${t})\n return isPassResult\n `,Object.assign({},this.globalData))}catch(e){return!1}}))}getOutgoing(){return o(this,void 0,void 0,(function*(){const e=[],t=[];for(const e of this.outgoing){const{properties:o}=e;t.push(this.isPass(o))}return(yield Promise.all(t)).forEach(((t,o)=>{const n=this.outgoing[o];n.result=t,e.push(n)})),e}))}execute(t){return o(this,void 0,void 0,(function*(){const{executionId:o,actionId:n}=t,i=yield this.action({nodeId:this.nodeId,executionId:o,actionId:n}),s=i?i.status:"success";if(s===e.ActionStatus.SUCCESS){const s=yield this.getOutgoing(),r=i?i.detail:{};t.next({status:e.ActionStatus.SUCCESS,detail:r,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,executionId:o,actionId:n,outgoing:s})}return{status:s,detail:null==i?void 0:i.detail,executionId:o,actionId:n,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,outgoing:[]}}))}resume(t){return o(this,void 0,void 0,(function*(){const o=yield this.getOutgoing();yield this.onResume({executionId:t.executionId,actionId:t.actionId,nodeId:t.nodeId,data:t.data}),t.next({executionId:t.executionId,actionId:t.actionId,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,outgoing:o,status:e.ActionStatus.SUCCESS})}))}}c.nodeTypeName="BaseNode";class u extends c{constructor(){super(...arguments),this.baseType="start"}}u.nodeTypeName="StartNode";class l extends c{constructor(){super(...arguments),this.baseType="task"}}l.nodeTypeName="TaskNode";class h{constructor(){this._events={}}on(e,t,o){e=e.trim(),this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!o})}off(e,t){if(e||(this._events={}),t){const o=this._events[e]||[];let{length:n}=o;for(let e=0;e<n;e++)o[e].callback===t&&(o.splice(e,1),n--,e--);0===o.length&&delete this._events[e]}else delete this._events[e]}emit(e,t){(o=>{let{length:n}=o;for(let i=0;i<n;i++){if(!o[i])continue;const{callback:s,once:r}=o[i];r&&(o.splice(i,1),0===o.length&&delete this._events[e],n--,i--),s.apply(this,[t])}})(this._events[e]||[])}getEvents(){return this._events}}const f="object"==typeof window&&window.window===window,p="object"==typeof global&&global.global===global,g=f?window:"object"==typeof self&&self.self===self?self:p?global:"object"==typeof globalThis?globalThis:{eval:()=>{}};if(!g.sessionStorage){const e={data:{},setItem(t,o){e.data[t]=o},getItem:t=>e.data[t],removeItem(t){delete e.data[t]},clear(){e.data={}}};g.sessionStorage=e}var v={setItem(e,t){"object"==typeof t&&(t=JSON.stringify(t)),g.sessionStorage.setItem(e,t)},getItem(e){const t=g.sessionStorage.getItem(e);try{return JSON.parse(t)}catch(e){return t}},removeItem(e){g.sessionStorage.removeItem(e)},clear(){g.sessionStorage.clear()}};function I(e){var t=e.default;if("function"==typeof t){var o=function e(){if(this instanceof e){var o=[null];return o.push.apply(o,arguments),new(Function.bind.apply(t,o))}return t.apply(this,arguments)};o.prototype=t.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),o}var E={},m={},y={},_=I(Object.freeze({__proto__:null,default:{}}));Object.defineProperty(y,"__esModule",{value:!0}),y.default=function(){return b.default.randomFillSync(x)};var N,b=(N=_)&&N.__esModule?N:{default:N};const x=new Uint8Array(16);var M={};Object.defineProperty(M,"__esModule",{value:!0}),M.default=void 0;const O=[];for(let e=0;e<256;++e)O.push((e+256).toString(16).substr(1));var R=function(e,t){const o=t||0;return(O[e[o+0]]+O[e[o+1]]+O[e[o+2]]+O[e[o+3]]+"-"+O[e[o+4]]+O[e[o+5]]+"-"+O[e[o+6]]+O[e[o+7]]+"-"+O[e[o+8]]+O[e[o+9]]+"-"+O[e[o+10]]+O[e[o+11]]+O[e[o+12]]+O[e[o+13]]+O[e[o+14]]+O[e[o+15]]).toLowerCase()};M.default=R,Object.defineProperty(m,"__esModule",{value:!0}),m.default=void 0;var T=S(y),A=S(M);function S(e){return e&&e.__esModule?e:{default:e}}let D,w,j=0,C=0;var P=function(e,t,o){let n=t&&o||0;const i=t||new Array(16);let s=(e=e||{}).node||D,r=void 0!==e.clockseq?e.clockseq:w;if(null==s||null==r){const t=e.random||(e.rng||T.default)();null==s&&(s=D=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==r&&(r=w=16383&(t[6]<<8|t[7]))}let d=void 0!==e.msecs?e.msecs:Date.now(),a=void 0!==e.nsecs?e.nsecs:C+1;const c=d-j+(a-C)/1e4;if(c<0&&void 0===e.clockseq&&(r=r+1&16383),(c<0||d>j)&&void 0===e.nsecs&&(a=0),a>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");j=d,C=a,w=r,d+=122192928e5;const u=(1e4*(268435455&d)+a)%4294967296;i[n++]=u>>>24&255,i[n++]=u>>>16&255,i[n++]=u>>>8&255,i[n++]=255&u;const l=d/4294967296*1e4&268435455;i[n++]=l>>>8&255,i[n++]=255&l,i[n++]=l>>>24&15|16,i[n++]=l>>>16&255,i[n++]=r>>>8|128,i[n++]=255&r;for(let e=0;e<6;++e)i[n+e]=s[e];return t||(0,A.default)(i)};m.default=P;var F={},L={};Object.defineProperty(L,"__esModule",{value:!0}),L.default=function(e,t,o){function n(e,n,i,s){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let o=0;o<e.length;++o)t.push(e.charCodeAt(o));return t}(e)),"string"==typeof n&&(n=function(e){const t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(n)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(n)||16!==n.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");const r=o(n.concat(e));if(r[6]=15&r[6]|t,r[8]=63&r[8]|128,i){s=s||0;for(let e=0;e<16;++e)i[s+e]=r[e];return i}return(0,U.default)(r)}try{n.name=e}catch(e){}return n.DNS=k,n.URL=G,n},L.URL=L.DNS=void 0;var U=function(e){return e&&e.__esModule?e:{default:e}}(M);const k="6ba7b810-9dad-11d1-80b4-00c04fd430c8";L.DNS=k;const G="6ba7b811-9dad-11d1-80b4-00c04fd430c8";L.URL=G;var B={};Object.defineProperty(B,"__esModule",{value:!0}),B.default=void 0;var $=function(e){return e&&e.__esModule?e:{default:e}}(_);var Q=function(e){return Array.isArray(e)?e=Buffer.from(e):"string"==typeof e&&(e=Buffer.from(e,"utf8")),$.default.createHash("md5").update(e).digest()};B.default=Q,Object.defineProperty(F,"__esModule",{value:!0}),F.default=void 0;var X=V(L),q=V(B);function V(e){return e&&e.__esModule?e:{default:e}}var Y=(0,X.default)("v3",48,q.default);F.default=Y;var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.default=void 0;var H=W(y),J=W(M);function W(e){return e&&e.__esModule?e:{default:e}}var K=function(e,t,o){const n=(e=e||{}).random||(e.rng||H.default)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){o=o||0;for(let e=0;e<16;++e)t[o+e]=n[e];return t}return(0,J.default)(n)};z.default=K;var Z={},ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var te=function(e){return e&&e.__esModule?e:{default:e}}(_);var oe=function(e){return Array.isArray(e)?e=Buffer.from(e):"string"==typeof e&&(e=Buffer.from(e,"utf8")),te.default.createHash("sha1").update(e).digest()};ee.default=oe,Object.defineProperty(Z,"__esModule",{value:!0}),Z.default=void 0;var ne=se(L),ie=se(ee);function se(e){return e&&e.__esModule?e:{default:e}}var re=(0,ne.default)("v5",80,ie.default);Z.default=re,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return i.default}});var t=s(m),o=s(F),n=s(z),i=s(Z);function s(e){return e&&e.__esModule?e:{default:e}}}(E);class de extends h{constructor(e){super(),this.nodeQueueMap=new Map,this.actionRunningMap=new Map,this.flowModel=e.flowModel,this.recorder=e.recorder}addAction(e){const{executionId:t}=e;this.nodeQueueMap.has(t)||this.nodeQueueMap.set(t,[]);const o=this.nodeQueueMap.get(t);o&&o.push(e),console.log("this.nodeQueueMap---\x3e>>",this.nodeQueueMap)}pushActionToRunningMap(e){var t;const{executionId:o,actionId:n}=e;if(!this.actionRunningMap.has(o)){const e=new Map;this.actionRunningMap.set(o,e)}n&&(null===(t=this.actionRunningMap.get(o))||void 0===t||t.set(n,e))}removeActionFromRunningMap(e){const{executionId:t,actionId:o}=e;if(!o)return;const n=this.actionRunningMap.get(t);n&&n.delete(o)}saveActionResult(e){var t;null===(t=this.recorder)||void 0===t||t.addActionRecord(Object.assign({timestamp:Date.now()},e))}hasRunningAction(e){const t=this.actionRunningMap.get(e);return!!t&&(0!==t.size||(this.actionRunningMap.delete(e),!1))}run(t){const o=this.nodeQueueMap.get(t.executionId);for(;null==o?void 0:o.length;){const e=o.pop(),t=`action-${E.v4()}`,n=Object.assign(Object.assign({},e),{actionId:t});this.pushActionToRunningMap(n),this.exec(n)}this.hasRunningAction(t.executionId)||this.emit(n,Object.assign(Object.assign({},t),{status:e.FlowStatus.COMPLETED}))}next(e){e.outgoing&&e.outgoing.length>0&&e.outgoing.forEach((t=>{t.result&&this.addAction({executionId:e.executionId,nodeId:t.target})})),this.saveActionResult(e),this.removeActionFromRunningMap(e),this.run(e)}resume(e){return o(this,void 0,void 0,(function*(){const{executionId:t,actionId:o,nodeId:n}=e;this.pushActionToRunningMap({executionId:t,actionId:o,nodeId:n});const i=this.flowModel.createAction(n);yield null==i?void 0:i.resume(Object.assign(Object.assign({},e),{next:this.next.bind(this)}))}))}interrupted(e){this.emit(i,e)}error(e){this.emit(s,e)}exec(t){return o(this,void 0,void 0,(function*(){const{executionId:o,actionId:n,nodeId:i}=t,s=this.flowModel.createAction(i),r=yield null==s?void 0:s.execute({executionId:o,actionId:n,nodeId:i,next:this.next.bind(this)});if(r){const{nodeType:s,properties:d,outgoing:a,status:c,detail:u}=r,l={executionId:o,actionId:n,nodeId:i,nodeType:s,properties:d,outgoing:a,status:c,detail:u};(null==r?void 0:r.status)===e.FlowStatus.INTERRUPTED&&(this.interrupted(r),this.saveActionResult(l),this.removeActionFromRunningMap(t)),(null==r?void 0:r.status)===e.FlowStatus.ERROR&&(this.error(r),this.saveActionResult(l),this.removeActionFromRunningMap(t))}}))}}var ae,ce;!function(e){e[e.NONE_START_NODE=1e3]="NONE_START_NODE",e[e.NONE_NODE_ID=1001]="NONE_NODE_ID",e[e.NO_DOCUMENT_BODY=2001]="NO_DOCUMENT_BODY"}(ae||(ae={})),function(e){e[e.NONE_START_NODE_IN_DATA=2e3]="NONE_START_NODE_IN_DATA",e[e.START_NODE_INCOMING=2001]="START_NODE_INCOMING",e[e.EXPRESSION_EXEC_ERROR=3e3]="EXPRESSION_EXEC_ERROR"}(ce||(ce={}));const ue={[ae.NONE_START_NODE]:"未找到入度为0的节点",[ae.NONE_NODE_ID]:"流程数据中存在没有此节点",[ae.NO_DOCUMENT_BODY]:"找不到document.body, 请在DOM加载完成后再执行"};ce.NONE_START_NODE_IN_DATA,ce.START_NODE_INCOMING,ce.EXPRESSION_EXEC_ERROR;class le{constructor({nodeModelMap:e,recorder:t,context:o={},globalData:r={},startNodeType:d="StartNode"}){this.nodeConfigMap=new Map,this.startNodes=[],this.globalData={},this.nodeModelMap=e,this.executeList=[],this.executingInstance=null,this.context=o,this.globalData=r,this.startNodeType=d,this.isRunning=!1,this.scheduler=new de({flowModel:this,recorder:t}),this.scheduler.on(n,(e=>{this.onExecuteFinished(e)})),this.scheduler.on(i,(e=>{this.onExecuteFinished(e)})),this.scheduler.on(s,(e=>{this.onExecuteFinished(e)}))}load(e){const{nodes:t=[],edges:o=[]}=e;t.forEach((e=>{if(this.nodeModelMap.has(e.type)){const t={id:e.id,type:e.type,properties:e.properties,incoming:[],outgoing:[]};this.nodeConfigMap.set(e.id,t),e.type===this.startNodeType&&this.startNodes.push(t)}else console.warn(`未识别的节点类型:${e.type}`)})),o.forEach((e=>{const t=this.nodeConfigMap.get(e.sourceNodeId),o=this.nodeConfigMap.get(e.targetNodeId);t&&t.outgoing.push({id:e.id,properties:e.properties,target:e.targetNodeId}),o&&o.type!==this.startNodeType&&o.incoming.push({id:e.id,properties:e.properties,source:e.sourceNodeId})}))}createExecution(e){var t;if(this.executeList.push(e),e.actionId&&e.nodeId&&e.executionId)return void this.scheduler.resume({executionId:e.executionId,actionId:e.actionId,nodeId:e.nodeId,data:e.data});const o=`exec-${E.v4()}`;if(e.executionId=o,null==e?void 0:e.nodeId){const o=this.nodeConfigMap.get(e.nodeId);if(!o)return void(null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,new Error(`${n=ae.NONE_NODE_ID,`error[${n}]: ${ue[n]}`}(${e.nodeId})`)));this.startNodes=[o]}var n;this.startNodes.forEach((e=>{this.scheduler.addAction({executionId:o,nodeId:e.id})})),this.scheduler.run({executionId:o})}execute(e){return o(this,void 0,void 0,(function*(){this.createExecution(e)}))}resume(e){return o(this,void 0,void 0,(function*(){this.createExecution(e)}))}createAction(e){const t=this.nodeConfigMap.get(e);if(t){const e=this.nodeModelMap.get(t.type);if(!e)throw new Error("该 NodeModel 不存在,抛出异常");return new e({nodeConfig:t,globalData:this.globalData,context:this.context})}}setStartNodeType(e){this.startNodeType=e}updateGlobalData(e){return this.globalData=Object.assign(Object.assign({},this.globalData),e),this.globalData}onExecuteFinished(e){const t=this.executeList.findIndex((t=>t.executionId===e.executionId));if(t>-1){const{callback:o}=this.executeList[t];this.executeList.splice(t,1),null==o||o(e)}}}const he="LOGICFLOW_ENGINE_INSTANCES";class fe{constructor({instanceId:e}){this.instanceId=e,this.maxRecorder=100;const t=this.getItem(he)||[];if(-1===t.indexOf(e)&&t.push(e),t.length>100){const e=t.shift();this.clearInstance(e)}this.setItem(he,t)}setMaxRecorderNumber(e){this.maxRecorder=e}setItem(e,t){try{v.setItem(e,t)}catch(o){console.error("Ops, something wrong with storage.setItem !!!"),v.clear(),v.setItem(e,t)}}getItem(e){return v.getItem(e)}getExecutionActions(e){return o(this,void 0,void 0,(function*(){return this.getItem(e)}))}getExecutionList(){return o(this,void 0,void 0,(function*(){return this.getItem(this.instanceId)||[]}))}addExecution(e){const t=this.getItem(this.instanceId)||[];if(t.length>=this.maxRecorder){const e=t.shift();this.popExecution(e)}t.push(e),this.setItem(this.instanceId,t)}popExecution(e){(this.getItem(e)||[]).forEach((e=>{v.removeItem(e)})),v.removeItem(e)}pushActionToExecution(e,t){const o=this.getItem(e)||[];o.push(t),this.setItem(e,o)}addActionRecord(e){return o(this,void 0,void 0,(function*(){const{executionId:t,actionId:o}=e;(yield this.getExecutionActions(t))||this.addExecution(t),this.pushActionToExecution(t,o),this.setItem(o,e)}))}getActionRecord(e){return o(this,void 0,void 0,(function*(){return this.getItem(e)}))}clear(){this.clearInstance(this.instanceId)}clearInstance(e){(this.getItem(e)||[]).forEach((e=>{v.removeItem(e);(this.getItem(e)||[]).forEach((e=>{v.removeItem(e)}))})),v.removeItem(e)}}class pe{constructor(e){this.nodeModelMap=new Map,this.instanceId=`engine-${E.v4()}`,(null==e?void 0:e.debug)&&(this.recorder=new fe({instanceId:this.instanceId})),this.register({type:u.nodeTypeName,model:u}),this.register({type:l.nodeTypeName,model:l}),this.context=(null==e?void 0:e.context)||{}}register(e){this.nodeModelMap.set(e.type,e.model)}setCustomRecorder(e){this.recorder=e}load({graphData:e,startNodeType:t="StartNode",globalData:o={}}){this.graphData=e;const n=new le({nodeModelMap:this.nodeModelMap,recorder:this.recorder,context:this.context,globalData:o,startNodeType:t});return n.load(e),this.flowModel=n,n}execute(e){return o(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{var n;let i=e;e||(i={}),null===(n=this.flowModel)||void 0===n||n.execute(Object.assign(Object.assign({},i),{callback:e=>{t(e)},onError:e=>{o(e)}}))}))}))}resume(e){return o(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{var n;null===(n=this.flowModel)||void 0===n||n.resume(Object.assign(Object.assign({},e),{callback:e=>{t(e)},onError:e=>{o(e)}}))}))}))}getExecutionList(){var e;return o(this,void 0,void 0,(function*(){return yield null===(e=this.recorder)||void 0===e?void 0:e.getExecutionList()}))}getExecutionRecord(e){var t,n;return o(this,void 0,void 0,(function*(){const o=yield null===(t=this.recorder)||void 0===t?void 0:t.getExecutionActions(e);if(!o)return null;const i=[];for(let e=0;e<(null==o?void 0:o.length);e++){const t=o[e];this.recorder&&i.push(null===(n=this.recorder)||void 0===n?void 0:n.getActionRecord(t))}return Promise.all(i)}))}destroy(){var e;null===(e=this.recorder)||void 0===e||e.clear()}getGlobalData(){var e;return null===(e=this.flowModel)||void 0===e?void 0:e.globalData}setGlobalData(e){this.flowModel&&(this.flowModel.globalData=e)}updateGlobalData(e){this.flowModel&&Object.assign(this.flowModel.globalData,e)}}e.BASE_START_NODE="start",e.BaseNode=c,e.EVENT_INSTANCE_COMPLETE=n,e.EVENT_INSTANCE_ERROR=s,e.EVENT_INSTANCE_INTERRUPTED=i,e.Engine=pe,e.Recorder=fe,e.StartNode=u,e.TaskNode=l,e.default=pe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("node:vm")):"function"==typeof define&&define.amd?define(["exports","node:vm"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).Engine={},e.vm)}(this,(function(e,t){"use strict";function o(e,t,o,n){return new(o||(o=Promise))((function(i,s){function r(e){try{a(n.next(e))}catch(e){s(e)}}function d(e){try{a(n.throw(e))}catch(e){s(e)}}function a(e){var t;e.done?i(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(r,d)}a((n=n.apply(e,t||[])).next())}))}"function"==typeof SuppressedError&&SuppressedError;const n="instance:complete",i="instance:interrupted",s="instance:error";var r,d;e.FlowStatus=void 0,(r=e.FlowStatus||(e.FlowStatus={})).COMPLETED="completed",r.INTERRUPTED="interrupted",r.RUNNING="running",r.PENDING="pending",r.ERROR="error",e.ActionStatus=void 0,(d=e.ActionStatus||(e.ActionStatus={})).SUCCESS="success",d.ERROR="error",d.INTERRUPTED="interrupted";const a=(e,n)=>o(void 0,void 0,void 0,(function*(){const i=yield((e,n={})=>o(void 0,void 0,void 0,(function*(){const o=t.createContext(n);return t.runInContext(e,o),console.log("context ===>>>",o),o})))(e,n);return i}));class c{constructor({nodeConfig:e,context:t,globalData:o}){const{outgoing:n,incoming:i,id:s,type:r,properties:d}=e;this.baseType="base",this.outgoing=n,this.incoming=i,this.nodeId=s,this.type=r,this.properties=d,this.context=t,this.globalData=o}action(e){return o(this,void 0,void 0,(function*(){console.log("action param ---\x3e>>",e)}))}onResume(e){return o(this,void 0,void 0,(function*(){console.log("onResume params ---\x3e>>",e)}))}isPass(e){return o(this,void 0,void 0,(function*(){if(!e)return!0;const{conditionExpression:t}=e;if(!t)return!0;try{return yield a(`\n const isPassResult = (${t})\n return isPassResult\n `,Object.assign({},this.globalData))}catch(e){return!1}}))}getOutgoing(){return o(this,void 0,void 0,(function*(){const e=[],t=[];for(const e of this.outgoing){const{properties:o}=e;t.push(this.isPass(o))}return(yield Promise.all(t)).forEach(((t,o)=>{const n=this.outgoing[o];n.result=t,e.push(n)})),e}))}execute(t){return o(this,void 0,void 0,(function*(){const{executionId:o,actionId:n}=t,i=yield this.action({nodeId:this.nodeId,executionId:o,actionId:n}),s=i?i.status:"success";if(s===e.ActionStatus.SUCCESS){const s=yield this.getOutgoing(),r=i?i.detail:{};t.next({status:e.ActionStatus.SUCCESS,detail:r,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,executionId:o,actionId:n,outgoing:s})}return{status:s,detail:null==i?void 0:i.detail,executionId:o,actionId:n,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,outgoing:[]}}))}resume(t){return o(this,void 0,void 0,(function*(){const o=yield this.getOutgoing();yield this.onResume({executionId:t.executionId,actionId:t.actionId,nodeId:t.nodeId,data:t.data}),t.next({executionId:t.executionId,actionId:t.actionId,nodeId:this.nodeId,nodeType:this.type,properties:this.properties,outgoing:o,status:e.ActionStatus.SUCCESS})}))}}c.nodeTypeName="BaseNode";class u extends c{constructor(){super(...arguments),this.baseType="start"}}u.nodeTypeName="StartNode";class l extends c{constructor(){super(...arguments),this.baseType="task"}}l.nodeTypeName="TaskNode";class h{constructor(){this._events={}}on(e,t,o){e=e.trim(),this._events[e]||(this._events[e]=[]),this._events[e].push({callback:t,once:!!o})}off(e,t){if(e||(this._events={}),t){const o=this._events[e]||[];let{length:n}=o;for(let e=0;e<n;e++)o[e].callback===t&&(o.splice(e,1),n--,e--);0===o.length&&delete this._events[e]}else delete this._events[e]}emit(e,t){(o=>{let{length:n}=o;for(let i=0;i<n;i++){if(!o[i])continue;const{callback:s,once:r}=o[i];r&&(o.splice(i,1),0===o.length&&delete this._events[e],n--,i--),s.apply(this,[t])}})(this._events[e]||[])}getEvents(){return this._events}}const f="object"==typeof window&&window.window===window,p="object"==typeof global&&global.global===global,g=f?window:"object"==typeof self&&self.self===self?self:p?global:"object"==typeof globalThis?globalThis:{eval:()=>{}};if(!g.sessionStorage){const e={data:{},setItem(t,o){e.data[t]=o},getItem:t=>e.data[t],removeItem(t){delete e.data[t]},clear(){e.data={}}};g.sessionStorage=e}var v={setItem(e,t){"object"==typeof t&&(t=JSON.stringify(t)),g.sessionStorage.setItem(e,t)},getItem(e){const t=g.sessionStorage.getItem(e);try{return JSON.parse(t)}catch(e){return t}},removeItem(e){g.sessionStorage.removeItem(e)},clear(){g.sessionStorage.clear()}};function I(e){var t=e.default;if("function"==typeof t){var o=function e(){if(this instanceof e){var o=[null];return o.push.apply(o,arguments),new(Function.bind.apply(t,o))}return t.apply(this,arguments)};o.prototype=t.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(e).forEach((function(t){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})})),o}var E={},m={},y={},_=I(Object.freeze({__proto__:null,default:{}}));Object.defineProperty(y,"__esModule",{value:!0}),y.default=function(){return b.default.randomFillSync(x)};var N,b=(N=_)&&N.__esModule?N:{default:N};const x=new Uint8Array(16);var M={};Object.defineProperty(M,"__esModule",{value:!0}),M.default=void 0;const O=[];for(let e=0;e<256;++e)O.push((e+256).toString(16).substr(1));var R=function(e,t){const o=t||0;return(O[e[o+0]]+O[e[o+1]]+O[e[o+2]]+O[e[o+3]]+"-"+O[e[o+4]]+O[e[o+5]]+"-"+O[e[o+6]]+O[e[o+7]]+"-"+O[e[o+8]]+O[e[o+9]]+"-"+O[e[o+10]]+O[e[o+11]]+O[e[o+12]]+O[e[o+13]]+O[e[o+14]]+O[e[o+15]]).toLowerCase()};M.default=R,Object.defineProperty(m,"__esModule",{value:!0}),m.default=void 0;var T=S(y),A=S(M);function S(e){return e&&e.__esModule?e:{default:e}}let D,w,j=0,C=0;var P=function(e,t,o){let n=t&&o||0;const i=t||new Array(16);let s=(e=e||{}).node||D,r=void 0!==e.clockseq?e.clockseq:w;if(null==s||null==r){const t=e.random||(e.rng||T.default)();null==s&&(s=D=[1|t[0],t[1],t[2],t[3],t[4],t[5]]),null==r&&(r=w=16383&(t[6]<<8|t[7]))}let d=void 0!==e.msecs?e.msecs:Date.now(),a=void 0!==e.nsecs?e.nsecs:C+1;const c=d-j+(a-C)/1e4;if(c<0&&void 0===e.clockseq&&(r=r+1&16383),(c<0||d>j)&&void 0===e.nsecs&&(a=0),a>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");j=d,C=a,w=r,d+=122192928e5;const u=(1e4*(268435455&d)+a)%4294967296;i[n++]=u>>>24&255,i[n++]=u>>>16&255,i[n++]=u>>>8&255,i[n++]=255&u;const l=d/4294967296*1e4&268435455;i[n++]=l>>>8&255,i[n++]=255&l,i[n++]=l>>>24&15|16,i[n++]=l>>>16&255,i[n++]=r>>>8|128,i[n++]=255&r;for(let e=0;e<6;++e)i[n+e]=s[e];return t||(0,A.default)(i)};m.default=P;var F={},L={};Object.defineProperty(L,"__esModule",{value:!0}),L.default=function(e,t,o){function n(e,n,i,s){if("string"==typeof e&&(e=function(e){e=unescape(encodeURIComponent(e));const t=[];for(let o=0;o<e.length;++o)t.push(e.charCodeAt(o));return t}(e)),"string"==typeof n&&(n=function(e){const t=[];return e.replace(/[a-fA-F0-9]{2}/g,(function(e){t.push(parseInt(e,16))})),t}(n)),!Array.isArray(e))throw TypeError("value must be an array of bytes");if(!Array.isArray(n)||16!==n.length)throw TypeError("namespace must be uuid string or an Array of 16 byte values");const r=o(n.concat(e));if(r[6]=15&r[6]|t,r[8]=63&r[8]|128,i){s=s||0;for(let e=0;e<16;++e)i[s+e]=r[e];return i}return(0,U.default)(r)}try{n.name=e}catch(e){}return n.DNS=k,n.URL=G,n},L.URL=L.DNS=void 0;var U=function(e){return e&&e.__esModule?e:{default:e}}(M);const k="6ba7b810-9dad-11d1-80b4-00c04fd430c8";L.DNS=k;const G="6ba7b811-9dad-11d1-80b4-00c04fd430c8";L.URL=G;var B={};Object.defineProperty(B,"__esModule",{value:!0}),B.default=void 0;var $=function(e){return e&&e.__esModule?e:{default:e}}(_);var Q=function(e){return Array.isArray(e)?e=Buffer.from(e):"string"==typeof e&&(e=Buffer.from(e,"utf8")),$.default.createHash("md5").update(e).digest()};B.default=Q,Object.defineProperty(F,"__esModule",{value:!0}),F.default=void 0;var X=V(L),q=V(B);function V(e){return e&&e.__esModule?e:{default:e}}var Y=(0,X.default)("v3",48,q.default);F.default=Y;var z={};Object.defineProperty(z,"__esModule",{value:!0}),z.default=void 0;var H=W(y),J=W(M);function W(e){return e&&e.__esModule?e:{default:e}}var K=function(e,t,o){const n=(e=e||{}).random||(e.rng||H.default)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){o=o||0;for(let e=0;e<16;++e)t[o+e]=n[e];return t}return(0,J.default)(n)};z.default=K;var Z={},ee={};Object.defineProperty(ee,"__esModule",{value:!0}),ee.default=void 0;var te=function(e){return e&&e.__esModule?e:{default:e}}(_);var oe=function(e){return Array.isArray(e)?e=Buffer.from(e):"string"==typeof e&&(e=Buffer.from(e,"utf8")),te.default.createHash("sha1").update(e).digest()};ee.default=oe,Object.defineProperty(Z,"__esModule",{value:!0}),Z.default=void 0;var ne=se(L),ie=se(ee);function se(e){return e&&e.__esModule?e:{default:e}}var re=(0,ne.default)("v5",80,ie.default);Z.default=re,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"v1",{enumerable:!0,get:function(){return t.default}}),Object.defineProperty(e,"v3",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(e,"v4",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(e,"v5",{enumerable:!0,get:function(){return i.default}});var t=s(m),o=s(F),n=s(z),i=s(Z);function s(e){return e&&e.__esModule?e:{default:e}}}(E);class de extends h{constructor(e){super(),this.nodeQueueMap=new Map,this.actionRunningMap=new Map,this.flowModel=e.flowModel,this.recorder=e.recorder}addAction(e){const{executionId:t}=e;this.nodeQueueMap.has(t)||this.nodeQueueMap.set(t,[]);const o=this.nodeQueueMap.get(t);o&&o.push(e),console.log("this.nodeQueueMap---\x3e>>",this.nodeQueueMap)}pushActionToRunningMap(e){var t;const{executionId:o,actionId:n}=e;if(!this.actionRunningMap.has(o)){const e=new Map;this.actionRunningMap.set(o,e)}n&&(null===(t=this.actionRunningMap.get(o))||void 0===t||t.set(n,e))}removeActionFromRunningMap(e){const{executionId:t,actionId:o}=e;if(!o)return;const n=this.actionRunningMap.get(t);n&&n.delete(o)}saveActionResult(e){var t;null===(t=this.recorder)||void 0===t||t.addActionRecord(Object.assign({timestamp:Date.now()},e))}hasRunningAction(e){const t=this.actionRunningMap.get(e);return!!t&&(0!==t.size||(this.actionRunningMap.delete(e),!1))}run(t){const o=this.nodeQueueMap.get(t.executionId);for(;null==o?void 0:o.length;){const e=o.pop(),t=`action-${E.v4()}`,n=Object.assign(Object.assign({},e),{actionId:t});this.pushActionToRunningMap(n),this.exec(n)}this.hasRunningAction(t.executionId)||this.emit(n,Object.assign(Object.assign({},t),{status:e.FlowStatus.COMPLETED}))}next(e){e.outgoing&&e.outgoing.length>0&&e.outgoing.forEach((t=>{t.result&&this.addAction({executionId:e.executionId,nodeId:t.target})})),this.saveActionResult(e),this.removeActionFromRunningMap(e),this.run(e)}resume(e){return o(this,void 0,void 0,(function*(){const{executionId:t,actionId:o,nodeId:n}=e;this.pushActionToRunningMap({executionId:t,actionId:o,nodeId:n});const i=this.flowModel.createAction(n);yield null==i?void 0:i.resume(Object.assign(Object.assign({},e),{next:this.next.bind(this)}))}))}interrupted(e){this.emit(i,e)}error(e){this.emit(s,e)}exec(t){return o(this,void 0,void 0,(function*(){const{executionId:o,actionId:n,nodeId:i}=t,s=this.flowModel.createAction(i),r=yield null==s?void 0:s.execute({executionId:o,actionId:n,nodeId:i,next:this.next.bind(this)});if(r){const{nodeType:s,properties:d,outgoing:a,status:c,detail:u}=r,l={executionId:o,actionId:n,nodeId:i,nodeType:s,properties:d,outgoing:a,status:c,detail:u};(null==r?void 0:r.status)===e.FlowStatus.INTERRUPTED&&(this.interrupted(r),this.saveActionResult(l),this.removeActionFromRunningMap(t)),(null==r?void 0:r.status)===e.FlowStatus.ERROR&&(this.error(r),this.saveActionResult(l),this.removeActionFromRunningMap(t))}}))}}var ae,ce;!function(e){e[e.NONE_START_NODE=1e3]="NONE_START_NODE",e[e.NONE_NODE_ID=1001]="NONE_NODE_ID",e[e.NO_DOCUMENT_BODY=2001]="NO_DOCUMENT_BODY"}(ae||(ae={})),function(e){e[e.NONE_START_NODE_IN_DATA=2e3]="NONE_START_NODE_IN_DATA",e[e.START_NODE_INCOMING=2001]="START_NODE_INCOMING",e[e.EXPRESSION_EXEC_ERROR=3e3]="EXPRESSION_EXEC_ERROR"}(ce||(ce={}));const ue={[ae.NONE_START_NODE]:"未找到入度为0的节点",[ae.NONE_NODE_ID]:"流程数据中存在没有此节点",[ae.NO_DOCUMENT_BODY]:"找不到document.body, 请在DOM加载完成后再执行"};ce.NONE_START_NODE_IN_DATA,ce.START_NODE_INCOMING,ce.EXPRESSION_EXEC_ERROR;class le{constructor({nodeModelMap:e,recorder:t,context:o={},globalData:r={},startNodeType:d="StartNode"}){this.nodeConfigMap=new Map,this.startNodes=[],this.globalData={},this.nodeModelMap=e,this.executeList=[],this.executingInstance=null,this.context=o,this.globalData=r,this.startNodeType=d,this.isRunning=!1,this.scheduler=new de({flowModel:this,recorder:t}),this.scheduler.on(n,(e=>{this.onExecuteFinished(e)})),this.scheduler.on(i,(e=>{this.onExecuteFinished(e)})),this.scheduler.on(s,(e=>{this.onExecuteFinished(e)}))}load(e){const{nodes:t=[],edges:o=[]}=e;t.forEach((e=>{if(this.nodeModelMap.has(e.type)){const t={id:e.id,type:e.type,properties:e.properties,incoming:[],outgoing:[]};this.nodeConfigMap.set(e.id,t),e.type===this.startNodeType&&this.startNodes.push(t)}else console.warn(`未识别的节点类型:${e.type}`)})),o.forEach((e=>{const t=this.nodeConfigMap.get(e.sourceNodeId),o=this.nodeConfigMap.get(e.targetNodeId);t&&t.outgoing.push({id:e.id,properties:e.properties,target:e.targetNodeId}),o&&o.type!==this.startNodeType&&o.incoming.push({id:e.id,properties:e.properties,source:e.sourceNodeId})}))}createExecution(e){var t;if(this.executeList.push(e),e.actionId&&e.nodeId&&e.executionId)return void this.scheduler.resume({executionId:e.executionId,actionId:e.actionId,nodeId:e.nodeId,data:e.data});const o=`exec-${E.v4()}`;if(e.executionId=o,null==e?void 0:e.nodeId){const o=this.nodeConfigMap.get(e.nodeId);if(!o)return void(null===(t=null==e?void 0:e.onError)||void 0===t||t.call(e,new Error(`${n=ae.NONE_NODE_ID,`error[${n}]: ${ue[n]}`}(${e.nodeId})`)));this.startNodes=[o]}var n;this.startNodes.forEach((e=>{this.scheduler.addAction({executionId:o,nodeId:e.id})})),this.scheduler.run({executionId:o})}execute(e){return o(this,void 0,void 0,(function*(){this.createExecution(e)}))}resume(e){return o(this,void 0,void 0,(function*(){this.createExecution(e)}))}createAction(e){const t=this.nodeConfigMap.get(e);if(t){const e=this.nodeModelMap.get(t.type);if(!e)throw new Error("该 NodeModel 不存在,抛出异常");return new e({nodeConfig:t,globalData:this.globalData,context:this.context})}}setStartNodeType(e){this.startNodeType=e}updateGlobalData(e){return this.globalData=Object.assign(Object.assign({},this.globalData),e),this.globalData}onExecuteFinished(e){const t=this.executeList.findIndex((t=>t.executionId===e.executionId));if(t>-1){const{callback:o}=this.executeList[t];this.executeList.splice(t,1),null==o||o(e)}}}const he="LOGICFLOW_ENGINE_INSTANCES";class fe{constructor({instanceId:e}){this.instanceId=e,this.maxRecorder=100;const t=this.getItem(he)||[];if(-1===t.indexOf(e)&&t.push(e),t.length>100){const e=t.shift();this.clearInstance(e)}this.setItem(he,t)}setMaxRecorderNumber(e){this.maxRecorder=e}setItem(e,t){try{v.setItem(e,t)}catch(o){console.error("Ops, something wrong with storage.setItem !!!"),v.clear(),v.setItem(e,t)}}getItem(e){return v.getItem(e)}getExecutionActions(e){return o(this,void 0,void 0,(function*(){return this.getItem(e)}))}getExecutionList(){return o(this,void 0,void 0,(function*(){return this.getItem(this.instanceId)||[]}))}addExecution(e){const t=this.getItem(this.instanceId)||[];if(t.length>=this.maxRecorder){const e=t.shift();this.popExecution(e)}t.push(e),this.setItem(this.instanceId,t)}popExecution(e){(this.getItem(e)||[]).forEach((e=>{v.removeItem(e)})),v.removeItem(e)}pushActionToExecution(e,t){const o=this.getItem(e)||[];o.push(t),this.setItem(e,o)}addActionRecord(e){return o(this,void 0,void 0,(function*(){const{executionId:t,actionId:o}=e;(yield this.getExecutionActions(t))||this.addExecution(t),this.pushActionToExecution(t,o),this.setItem(o,e)}))}getActionRecord(e){return o(this,void 0,void 0,(function*(){return this.getItem(e)}))}clear(){this.clearInstance(this.instanceId)}clearInstance(e){(this.getItem(e)||[]).forEach((e=>{v.removeItem(e);(this.getItem(e)||[]).forEach((e=>{v.removeItem(e)}))})),v.removeItem(e)}}class pe{constructor(e){this.nodeModelMap=new Map,this.instanceId=`engine-${E.v4()}`,(null==e?void 0:e.debug)&&(this.recorder=new fe({instanceId:this.instanceId})),this.register({type:u.nodeTypeName,model:u}),this.register({type:l.nodeTypeName,model:l}),this.context=(null==e?void 0:e.context)||{}}register(e){this.nodeModelMap.set(e.type,e.model)}setCustomRecorder(e){this.recorder=e}load({graphData:e,startNodeType:t="StartNode",globalData:o={}}){this.graphData=e;const n=new le({nodeModelMap:this.nodeModelMap,recorder:this.recorder,context:this.context,globalData:o,startNodeType:t});return n.load(e),this.flowModel=n,n}execute(e){return o(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{var n;let i=e;e||(i={}),null===(n=this.flowModel)||void 0===n||n.execute(Object.assign(Object.assign({},i),{callback:e=>{t(e)},onError:e=>{o(e)}}))}))}))}resume(e){return o(this,void 0,void 0,(function*(){return new Promise(((t,o)=>{var n;null===(n=this.flowModel)||void 0===n||n.resume(Object.assign(Object.assign({},e),{callback:e=>{t(e)},onError:e=>{o(e)}}))}))}))}getExecutionList(){var e;return o(this,void 0,void 0,(function*(){return yield null===(e=this.recorder)||void 0===e?void 0:e.getExecutionList()}))}getExecutionRecord(e){var t,n;return o(this,void 0,void 0,(function*(){const o=yield null===(t=this.recorder)||void 0===t?void 0:t.getExecutionActions(e);if(!o)return null;const i=[];for(let e=0;e<(null==o?void 0:o.length);e++){const t=o[e];this.recorder&&i.push(null===(n=this.recorder)||void 0===n?void 0:n.getActionRecord(t))}return Promise.all(i)}))}destroy(){var e;null===(e=this.recorder)||void 0===e||e.clear()}getGlobalData(){var e;return null===(e=this.flowModel)||void 0===e?void 0:e.globalData}setGlobalData(e){this.flowModel&&(this.flowModel.globalData=e)}updateGlobalData(e){this.flowModel&&Object.assign(this.flowModel.globalData,e)}}e.BASE_START_NODE="start",e.BaseNode=c,e.EVENT_INSTANCE_COMPLETE=n,e.EVENT_INSTANCE_ERROR=s,e.EVENT_INSTANCE_INTERRUPTED=i,e.Engine=pe,e.Recorder=fe,e.StartNode=u,e.TaskNode=l,e.default=pe,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserVm.js","sourceRoot":"","sources":["../../../src/platform/browser/browserVm.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,eAAe;AACf,iBAAiB;AACjB,mBAAmB;AACnB,iBAAiB;AACjB,kCAAkC;AAClC,EAAE;AACF,mEAAmE;AACnE,oDAAoD;AACpD,kCAAkC;AAClC,uCAAuC;AACvC,6DAA6D;AAC7D,MAAM;AACN,sCAAsC;AACtC,8CAA8C;AAC9C,wBAAwB;AACxB,6CAA6C;AAC7C,oBAAoB;AACpB,4CAA4C;AAC5C,iDAAiD;AACjD,4CAA4C;AAC5C,SAAS;AACT,MAAM;AACN,wBAAwB;AACxB,IAAI;AACJ,EAAE;AACF,yDAAyD;AACzD,UAAU;AACV,sCAAsC;AACtC,qCAAqC;AACrC,oDAAoD;AACpD,kCAAkC;AAClC,wDAAwD;AACxD,QAAQ;AACR,kBAAkB;AAClB,uEAAuE;AACvE,cAAc;AACd,iBAAiB;AACjB,WAAW;AACX,SAAS;AACT,MAAM;AACN,IAAI;AACJ,EAAE;AACF,sCAAsC;AACtC,kBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB,8CAA8C;AAC9C,gCAAgC;AAChC,mBAAmB;AACnB,IAAI;AACJ,EAAE;AACF,8DAA8D;;AAE9D,OAAO,OAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"browserVm.js","sourceRoot":"","sources":["../../../src/platform/browser/browserVm.ts"],"names":[],"mappings":"AAAA,WAAW;AACX,eAAe;AACf,iBAAiB;AACjB,mBAAmB;AACnB,iBAAiB;AACjB,kCAAkC;AAClC,EAAE;AACF,mEAAmE;AACnE,oDAAoD;AACpD,kCAAkC;AAClC,uCAAuC;AACvC,6DAA6D;AAC7D,MAAM;AACN,sCAAsC;AACtC,8CAA8C;AAC9C,wBAAwB;AACxB,6CAA6C;AAC7C,oBAAoB;AACpB,4CAA4C;AAC5C,iDAAiD;AACjD,4CAA4C;AAC5C,SAAS;AACT,MAAM;AACN,wBAAwB;AACxB,IAAI;AACJ,EAAE;AACF,yDAAyD;AACzD,UAAU;AACV,sCAAsC;AACtC,qCAAqC;AACrC,oDAAoD;AACpD,kCAAkC;AAClC,wDAAwD;AACxD,QAAQ;AACR,kBAAkB;AAClB,uEAAuE;AACvE,cAAc;AACd,iBAAiB;AACjB,WAAW;AACX,SAAS;AACT,MAAM;AACN,IAAI;AACJ,EAAE;AACF,sCAAsC;AACtC,kBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB,8CAA8C;AAC9C,gCAAgC;AAChC,mBAAmB;AACnB,IAAI;AACJ,EAAE;AACF,8DAA8D;;AAE9D,OAAO,OAAO,MAAM,mBAAmB,CAAA;AAEvC,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,IAAY,EACZ,UAAU,GAAG,EAAE,EACD,EAAE;IAChB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAA;KACpC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;KACnD;AACH,CAAC,CAAA,CAAA"}
|
|
@@ -4,6 +4,7 @@ import vm from 'node:vm';
|
|
|
4
4
|
export const runInNodeContext = (code, globalData = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
|
5
5
|
const context = vm.createContext(globalData);
|
|
6
6
|
vm.runInContext(code, context);
|
|
7
|
+
console.log('context ===>>>', context);
|
|
7
8
|
return context;
|
|
8
9
|
});
|
|
9
10
|
//# sourceMappingURL=nodeVm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeVm.js","sourceRoot":"","sources":["../../../src/platform/node/nodeVm.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,iCAAiC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,aAAsC,EAAE,EAC1B,EAAE;IAChB,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IAC5C,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE9B,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA,CAAA"}
|
|
1
|
+
{"version":3,"file":"nodeVm.js","sourceRoot":"","sources":["../../../src/platform/node/nodeVm.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,iCAAiC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,aAAsC,EAAE,EAC1B,EAAE;IAChB,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IAC5C,EAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAEtC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browserVm.js","sourceRoot":"","sources":["../../../src/platform/browser/browserVm.ts"],"names":[],"mappings":";AAAA,WAAW;AACX,eAAe;AACf,iBAAiB;AACjB,mBAAmB;AACnB,iBAAiB;AACjB,kCAAkC;AAClC,EAAE;AACF,mEAAmE;AACnE,oDAAoD;AACpD,kCAAkC;AAClC,uCAAuC;AACvC,6DAA6D;AAC7D,MAAM;AACN,sCAAsC;AACtC,8CAA8C;AAC9C,wBAAwB;AACxB,6CAA6C;AAC7C,oBAAoB;AACpB,4CAA4C;AAC5C,iDAAiD;AACjD,4CAA4C;AAC5C,SAAS;AACT,MAAM;AACN,wBAAwB;AACxB,IAAI;AACJ,EAAE;AACF,yDAAyD;AACzD,UAAU;AACV,sCAAsC;AACtC,qCAAqC;AACrC,oDAAoD;AACpD,kCAAkC;AAClC,wDAAwD;AACxD,QAAQ;AACR,kBAAkB;AAClB,uEAAuE;AACvE,cAAc;AACd,iBAAiB;AACjB,WAAW;AACX,SAAS;AACT,MAAM;AACN,IAAI;AACJ,EAAE;AACF,sCAAsC;AACtC,kBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB,8CAA8C;AAC9C,gCAAgC;AAChC,mBAAmB;AACnB,IAAI;AACJ,EAAE;AACF,8DAA8D;;;;AAE9D,
|
|
1
|
+
{"version":3,"file":"browserVm.js","sourceRoot":"","sources":["../../../src/platform/browser/browserVm.ts"],"names":[],"mappings":";AAAA,WAAW;AACX,eAAe;AACf,iBAAiB;AACjB,mBAAmB;AACnB,iBAAiB;AACjB,kCAAkC;AAClC,EAAE;AACF,mEAAmE;AACnE,oDAAoD;AACpD,kCAAkC;AAClC,uCAAuC;AACvC,6DAA6D;AAC7D,MAAM;AACN,sCAAsC;AACtC,8CAA8C;AAC9C,wBAAwB;AACxB,6CAA6C;AAC7C,oBAAoB;AACpB,4CAA4C;AAC5C,iDAAiD;AACjD,4CAA4C;AAC5C,SAAS;AACT,MAAM;AACN,wBAAwB;AACxB,IAAI;AACJ,EAAE;AACF,yDAAyD;AACzD,UAAU;AACV,sCAAsC;AACtC,qCAAqC;AACrC,oDAAoD;AACpD,kCAAkC;AAClC,wDAAwD;AACxD,QAAQ;AACR,kBAAkB;AAClB,uEAAuE;AACvE,cAAc;AACd,iBAAiB;AACjB,WAAW;AACX,SAAS;AACT,MAAM;AACN,IAAI;AACJ,EAAE;AACF,sCAAsC;AACtC,kBAAkB;AAClB,qBAAqB;AACrB,uBAAuB;AACvB,8CAA8C;AAC9C,gCAAgC;AAChC,mBAAmB;AACnB,IAAI;AACJ,EAAE;AACF,8DAA8D;;;;AAE9D,0EAAuC;AAEhC,MAAM,mBAAmB,GAAG,CACjC,IAAY,EACZ,UAAU,GAAG,EAAE,EACD,EAAE;IAChB,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAA;QAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,CAAA;KACpC;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,GAAG,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAA;KACnD;AACH,CAAC,CAAA,CAAA;AAXY,QAAA,mBAAmB,uBAW/B"}
|
|
@@ -7,6 +7,7 @@ const node_vm_1 = tslib_1.__importDefault(require("node:vm"));
|
|
|
7
7
|
const runInNodeContext = (code, globalData = {}) => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
8
|
const context = node_vm_1.default.createContext(globalData);
|
|
9
9
|
node_vm_1.default.runInContext(code, context);
|
|
10
|
+
console.log('context ===>>>', context);
|
|
10
11
|
return context;
|
|
11
12
|
});
|
|
12
13
|
exports.runInNodeContext = runInNodeContext;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodeVm.js","sourceRoot":"","sources":["../../../src/platform/node/nodeVm.ts"],"names":[],"mappings":";;;;AAAA,8DAAwB;AACxB,iCAAiC;AAE1B,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,aAAsC,EAAE,EAC1B,EAAE;IAChB,MAAM,OAAO,GAAG,iBAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IAC5C,iBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE9B,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA,CAAA;
|
|
1
|
+
{"version":3,"file":"nodeVm.js","sourceRoot":"","sources":["../../../src/platform/node/nodeVm.ts"],"names":[],"mappings":";;;;AAAA,8DAAwB;AACxB,iCAAiC;AAE1B,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,aAAsC,EAAE,EAC1B,EAAE;IAChB,MAAM,OAAO,GAAG,iBAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAA;IAC5C,iBAAE,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;IAE9B,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAA;IAEtC,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA,CAAA;AAVY,QAAA,gBAAgB,oBAU5B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logicflow/engine",
|
|
3
|
-
"version": "0.0.12
|
|
3
|
+
"version": "0.0.12",
|
|
4
4
|
"description": "a process engine for javascript",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"module": "es/index.js",
|
|
@@ -22,12 +22,11 @@
|
|
|
22
22
|
"clean:turbo": "rss",
|
|
23
23
|
"clean:build": "rss",
|
|
24
24
|
"clean": "rss",
|
|
25
|
-
"build:
|
|
26
|
-
"build:
|
|
27
|
-
"build:cjs": "rss",
|
|
25
|
+
"build:esm": "tsc --module esnext --target es6 --outDir ./es",
|
|
26
|
+
"build:cjs": "tsc --module commonjs --target es6 --outDir ./lib",
|
|
28
27
|
"build:umd": "rollup -c ./rollup.config.js --bundleConfigAsCjs",
|
|
29
28
|
"build:dev": "run-p -s build:cjs build:esm",
|
|
30
|
-
"build:watch": "
|
|
29
|
+
"build:watch": "run-p -s build:watch:esm build:watch:cjs",
|
|
31
30
|
"build:watch:esm": "rss",
|
|
32
31
|
"build:watch:cjs": "rss",
|
|
33
32
|
"build": "rss",
|