wonder.js
Version:
34 lines (29 loc) • 1.57 kB
JavaScript
;
var Curry = require("bs-platform/lib/js/curry.js");
var ArrayService$Wonderjs = require("../../../../atom/ArrayService.js");
var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js");
function addToEventArr(eventName, eventData, getPriorityFunc, eventArrMap) {
var match = MutableSparseMapService$WonderCommonlib.get(eventName, eventArrMap);
if (match !== undefined) {
return MutableSparseMapService$WonderCommonlib.set(eventName, ArrayService$Wonderjs.push(eventData, match).sort((function (eventDataA, eventDataB) {
return Curry._1(getPriorityFunc, eventDataB) - Curry._1(getPriorityFunc, eventDataA) | 0;
})), eventArrMap);
} else {
return MutableSparseMapService$WonderCommonlib.set(eventName, /* array */[eventData], eventArrMap);
}
}
function removeFromEventArrMapByHandleFunc(eventName, param, eventArrMap) {
var targetHandleFunc = param[1];
var getHandleFuncFunc = param[0];
var match = MutableSparseMapService$WonderCommonlib.get(eventName, eventArrMap);
if (match !== undefined) {
return MutableSparseMapService$WonderCommonlib.set(eventName, match.filter((function (domEventData) {
return Curry._1(getHandleFuncFunc, domEventData) !== targetHandleFunc;
})), eventArrMap);
} else {
return eventArrMap;
}
}
exports.addToEventArr = addToEventArr;
exports.removeFromEventArrMapByHandleFunc = removeFromEventArrMapByHandleFunc;
/* ArrayService-Wonderjs Not a pure module */