UNPKG

wonder.js

Version:
63 lines (55 loc) 2.64 kB
'use strict'; var Curry = require("bs-platform/lib/js/curry.js"); var MostUtils$Wonderjs = require("../../../../../asset/utils/MostUtils.js"); var ArrayService$Wonderjs = require("../../../../atom/ArrayService.js"); var JobConfigService$Wonderjs = require("../../../../primitive/JobConfigService.js"); var MutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableHashMapService.js"); function getExecutableJob(jobs, jobItemName) { return JobConfigService$Wonderjs.unsafeFindFirst(jobs, jobItemName, (function (param) { return JobConfigService$Wonderjs.filterTargetName(param[/* name */0], jobItemName); })); } function _addHandleFuncStream(action, handleFuncStream, handleFuncStreamArr) { if (action) { return ArrayService$Wonderjs.push(handleFuncStream, handleFuncStreamArr); } else { handleFuncStreamArr.unshift(handleFuncStream); return handleFuncStreamArr; } } function _buildStream(stateData, customHandle) { return MostUtils$Wonderjs.callFunc((function (param) { Curry._1(customHandle, stateData); return undefined; })); } function _addSourceJobAllCustomJobHandleStreams(_subJobName, workerCustomMainLoopTargetJobMap, stateData, _handleFuncStreamArr) { while(true) { var handleFuncStreamArr = _handleFuncStreamArr; var subJobName = _subJobName; var match = MutableHashMapService$WonderCommonlib.get(subJobName, workerCustomMainLoopTargetJobMap); if (match !== undefined) { var match$1 = match; var handleFunc = match$1[2]; _handleFuncStreamArr = _addHandleFuncStream(match$1[1], MostUtils$Wonderjs.callFunc((function(handleFunc){ return function (param) { Curry._1(handleFunc, stateData); return undefined; } }(handleFunc))), handleFuncStreamArr); _subJobName = match$1[0]; continue ; } else { return handleFuncStreamArr; } }; } function addCustomJobHandleToStreamArr(subJobName, handleFuncStreamArr, workerCustomMainTargetJobMap, stateData, streamArr) { return ArrayService$Wonderjs.fastConcat(streamArr, _addSourceJobAllCustomJobHandleStreams(subJobName, workerCustomMainTargetJobMap, stateData, handleFuncStreamArr)); } exports.getExecutableJob = getExecutableJob; exports._addHandleFuncStream = _addHandleFuncStream; exports._buildStream = _buildStream; exports._addSourceJobAllCustomJobHandleStreams = _addSourceJobAllCustomJobHandleStreams; exports.addCustomJobHandleToStreamArr = addCustomJobHandleToStreamArr; /* MostUtils-Wonderjs Not a pure module */