wonder.js
Version:
42 lines (35 loc) • 1.79 kB
JavaScript
;
var Curry = require("bs-platform/lib/js/curry.js");
var Caml_array = require("bs-platform/lib/js/caml_array.js");
var Worker$Wonderjs = require("../../../../external/Worker.js");
var DomService$Wonderjs = require("../../../primitive/DomService.js");
var DetectService$Wonderjs = require("../../../primitive/DetectService.js");
var OperateSettingService$Wonderjs = require("../../../record/main/setting/OperateSettingService.js");
function detect(state) {
var isSupportSharedArrayBuffer = Worker$Wonderjs.isSupportSharedArrayBuffer(/* () */0);
var newrecord = Caml_array.caml_array_dup(state);
var match = !isSupportSharedArrayBuffer;
newrecord[/* workerDetectRecord */41] = /* record */[
/* isSupportSharedArrayBuffer */isSupportSharedArrayBuffer,
/* isSupportRenderWorkerAndSharedArrayBuffer */match ? false : Curry._2(DetectService$Wonderjs.hasProperty, "transferControlToOffscreen", DomService$Wonderjs.buildCanvas())
];
return newrecord;
}
function isSupportSharedArrayBuffer(state) {
return state[/* workerDetectRecord */41][/* isSupportSharedArrayBuffer */0];
}
function isSupportRenderWorkerAndSharedArrayBuffer(state) {
return state[/* workerDetectRecord */41][/* isSupportRenderWorkerAndSharedArrayBuffer */1];
}
function isUseWorker(state) {
if (OperateSettingService$Wonderjs.unsafeGetWorker(state[/* settingRecord */0])[/* useWorker */0]) {
return state[/* workerDetectRecord */41][/* isSupportRenderWorkerAndSharedArrayBuffer */1];
} else {
return false;
}
}
exports.detect = detect;
exports.isSupportSharedArrayBuffer = isSupportSharedArrayBuffer;
exports.isSupportRenderWorkerAndSharedArrayBuffer = isSupportRenderWorkerAndSharedArrayBuffer;
exports.isUseWorker = isUseWorker;
/* Worker-Wonderjs Not a pure module */