3bde3e560bef0867a6c26233ed92a5cc1af0009ccde214c71c220e3f863b6147.json 4.8 KB

1
  1. {"ast":null,"code":"import { RichTypeNumber } from \"../../../flowGraphRichTypes.js\";\nimport { FlowGraphExecutionBlockWithOutSignal } from \"../../../flowGraphExecutionBlockWithOutSignal.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\n/**\n * @experimental\n * This block debounces the execution of a input, i.e. ensures that the input is only executed once every X times\n */\nexport class FlowGraphDebounceBlock extends FlowGraphExecutionBlockWithOutSignal {\n constructor(config) {\n super(config);\n this.count = this.registerDataInput(\"count\", RichTypeNumber);\n this.reset = this._registerSignalInput(\"reset\");\n this.currentCount = this.registerDataOutput(\"currentCount\", RichTypeNumber);\n }\n _execute(context, callingSignal) {\n if (callingSignal === this.reset) {\n context._setExecutionVariable(this, \"debounceCount\", 0);\n return;\n }\n const count = this.count.getValue(context);\n const currentCount = context._getExecutionVariable(this, \"debounceCount\", 0);\n const newCount = currentCount + 1;\n this.currentCount.setValue(newCount, context);\n context._setExecutionVariable(this, \"debounceCount\", newCount);\n if (newCount >= count) {\n this.out._activateSignal(context);\n context._setExecutionVariable(this, \"debounceCount\", 0);\n }\n }\n /**\n * @returns class name of the block.\n */\n getClassName() {\n return \"FGDebounceBlock\";\n }\n}\nRegisterClass(\"FGDebounceBlock\", FlowGraphDebounceBlock);","map":{"version":3,"names":["RichTypeNumber","FlowGraphExecutionBlockWithOutSignal","RegisterClass","FlowGraphDebounceBlock","constructor","config","count","registerDataInput","reset","_registerSignalInput","currentCount","registerDataOutput","_execute","context","callingSignal","_setExecutionVariable","getValue","_getExecutionVariable","newCount","setValue","out","_activateSignal","getClassName"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/FlowGraph/Blocks/Execution/ControlFlow/flowGraphDebounceBlock.js"],"sourcesContent":["import { RichTypeNumber } from \"../../../flowGraphRichTypes.js\";\nimport { FlowGraphExecutionBlockWithOutSignal } from \"../../../flowGraphExecutionBlockWithOutSignal.js\";\nimport { RegisterClass } from \"../../../../Misc/typeStore.js\";\n/**\n * @experimental\n * This block debounces the execution of a input, i.e. ensures that the input is only executed once every X times\n */\nexport class FlowGraphDebounceBlock extends FlowGraphExecutionBlockWithOutSignal {\n constructor(config) {\n super(config);\n this.count = this.registerDataInput(\"count\", RichTypeNumber);\n this.reset = this._registerSignalInput(\"reset\");\n this.currentCount = this.registerDataOutput(\"currentCount\", RichTypeNumber);\n }\n _execute(context, callingSignal) {\n if (callingSignal === this.reset) {\n context._setExecutionVariable(this, \"debounceCount\", 0);\n return;\n }\n const count = this.count.getValue(context);\n const currentCount = context._getExecutionVariable(this, \"debounceCount\", 0);\n const newCount = currentCount + 1;\n this.currentCount.setValue(newCount, context);\n context._setExecutionVariable(this, \"debounceCount\", newCount);\n if (newCount >= count) {\n this.out._activateSignal(context);\n context._setExecutionVariable(this, \"debounceCount\", 0);\n }\n }\n /**\n * @returns class name of the block.\n */\n getClassName() {\n return \"FGDebounceBlock\";\n }\n}\nRegisterClass(\"FGDebounceBlock\", FlowGraphDebounceBlock);\n"],"mappings":"AAAA,SAASA,cAAc,QAAQ,gCAAgC;AAC/D,SAASC,oCAAoC,QAAQ,kDAAkD;AACvG,SAASC,aAAa,QAAQ,+BAA+B;AAC7D;AACA;AACA;AACA;AACA,OAAO,MAAMC,sBAAsB,SAASF,oCAAoC,CAAC;EAC7EG,WAAWA,CAACC,MAAM,EAAE;IAChB,KAAK,CAACA,MAAM,CAAC;IACb,IAAI,CAACC,KAAK,GAAG,IAAI,CAACC,iBAAiB,CAAC,OAAO,EAAEP,cAAc,CAAC;IAC5D,IAAI,CAACQ,KAAK,GAAG,IAAI,CAACC,oBAAoB,CAAC,OAAO,CAAC;IAC/C,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,kBAAkB,CAAC,cAAc,EAAEX,cAAc,CAAC;EAC/E;EACAY,QAAQA,CAACC,OAAO,EAAEC,aAAa,EAAE;IAC7B,IAAIA,aAAa,KAAK,IAAI,CAACN,KAAK,EAAE;MAC9BK,OAAO,CAACE,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;MACvD;IACJ;IACA,MAAMT,KAAK,GAAG,IAAI,CAACA,KAAK,CAACU,QAAQ,CAACH,OAAO,CAAC;IAC1C,MAAMH,YAAY,GAAGG,OAAO,CAACI,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC5E,MAAMC,QAAQ,GAAGR,YAAY,GAAG,CAAC;IACjC,IAAI,CAACA,YAAY,CAACS,QAAQ,CAACD,QAAQ,EAAEL,OAAO,CAAC;IAC7CA,OAAO,CAACE,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAEG,QAAQ,CAAC;IAC9D,IAAIA,QAAQ,IAAIZ,KAAK,EAAE;MACnB,IAAI,CAACc,GAAG,CAACC,eAAe,CAACR,OAAO,CAAC;MACjCA,OAAO,CAACE,qBAAqB,CAAC,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;IAC3D;EACJ;EACA;AACJ;AACA;EACIO,YAAYA,CAAA,EAAG;IACX,OAAO,iBAAiB;EAC5B;AACJ;AACApB,aAAa,CAAC,iBAAiB,EAAEC,sBAAsB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}