UNPKG

wonder.js

Version:
91 lines (83 loc) 3.65 kB
'use strict'; var Log$WonderLog = require("wonder-log/lib/js/src/Log.js"); var Contract$WonderLog = require("wonder-log/lib/js/src/Contract.js"); var ArrayService$Wonderjs = require("./ArrayService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var DisposeComponentService$Wonderjs = require("../primitive/component/DisposeComponentService.js"); var MutableSparseMapService$Wonderjs = require("./MutableSparseMapService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); function addValue(key, value, arrayMap) { var match = MutableSparseMapService$Wonderjs.fastGet(key, arrayMap); if (match[0]) { ArrayService$Wonderjs.push(value, match[1]); return arrayMap; } else { return MutableSparseMapService$WonderCommonlib.set(key, /* array */[value], arrayMap); } } function addValueWithoutDuplicate(key, value, arrayMap) { var match = MutableSparseMapService$Wonderjs.fastGet(key, arrayMap); var valueArr = match[1]; if (match[0]) { var match$1 = valueArr.includes(value); if (match$1) { return arrayMap; } else { ArrayService$Wonderjs.push(value, valueArr); return arrayMap; } } else { return MutableSparseMapService$WonderCommonlib.set(key, /* array */[value], arrayMap); } } function removeValue(key, value, arrayMap) { var match = MutableSparseMapService$Wonderjs.fastGet(key, arrayMap); if (match[0]) { DisposeComponentService$Wonderjs.removeFromArray(value, match[1]); return arrayMap; } else { return arrayMap; } } function batchRemoveValueArr(key, valueArr, arrayMap) { var match = MutableSparseMapService$Wonderjs.fastGet(key, arrayMap); if (match[0]) { return MutableSparseMapService$WonderCommonlib.set(key, ArrayService$Wonderjs.batchRemove(valueArr, match[1]), arrayMap); } else { return arrayMap; } } function checkDuplicate(expectedMessage, key, value, arrayMap) { return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage(expectedMessage, "not"), (function (param) { var match = MutableSparseMapService$WonderCommonlib.get(key, arrayMap); if (match !== undefined) { var match$1 = ArrayService$WonderCommonlib.reduceOneParam((function (param, value) { var map = param[0]; var match = MutableSparseMapService$WonderCommonlib.get(value, map); if (match !== undefined) { return /* tuple */[ map, true ]; } else { return /* tuple */[ MutableSparseMapService$WonderCommonlib.set(value, true, map), param[1] ]; } }), /* tuple */[ MutableSparseMapService$WonderCommonlib.createEmpty(/* () */0), false ], match); return Contract$WonderLog.assertFalse(match$1[1]); } else { return Contract$WonderLog.assertPass(/* () */0); } })); } exports.addValue = addValue; exports.addValueWithoutDuplicate = addValueWithoutDuplicate; exports.removeValue = removeValue; exports.batchRemoveValueArr = batchRemoveValueArr; exports.checkDuplicate = checkDuplicate; /* Log-WonderLog Not a pure module */