Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
})).then((function (wdb) {
return Most.drain(Most.tap((function (param) {
return Curry._3(handleWhenLoadWholeWDBFunc, param[0], param[1], param[2]);
}), AssembleWholeWDBSystem$Wonderjs.assemble(wdb, /* tuple */[
true,
true,
true,
true,
true
], state))).then((function (param) {
return Promise.resolve(/* () */0);
}));
}));
}
return Most.flatMap((function (wabRelativePath) {
var state = StateDataMainService$Wonderjs.unsafeGetState(StateDataMain$Wonderjs.stateData);
var match = OperateWABAssetBundleMainService$Wonderjs.isLoaded(wabRelativePath, state);
if (match) {
return Most.just(OperateWABAssetBundleMainService$Wonderjs.unsafeGetLoadedWAB(wabRelativePath, state));
} else {
return Most.tap((function (wab) {
var state = StateDataMainService$Wonderjs.unsafeGetState(StateDataMain$Wonderjs.stateData);
StateDataMainService$Wonderjs.setState(StateDataMain$Wonderjs.stateData, OperateWABAssetBundleMainService$Wonderjs.setLoadedWAB(wabRelativePath, wab, OperateWABAssetBundleMainService$Wonderjs.markLoaded(wabRelativePath, state)));
return /* () */0;
}), LoadABSystem$Wonderjs.load(getAssetBundlePathFunc() + wabRelativePath, fetchFunc));
}
}), Most.just(wabRelativePath));
}
var name = match[/* name */0];
var match$1 = MutableSparseMapService$WonderCommonlib.get(imageIndex, loadBlobImageMap);
if (match$1 !== undefined) {
ArrayService$Wonderjs.push(/* record */[
/* geometryData */undefined,
/* imageData *//* record */[
/* imageIndex */imageIndex,
/* image */Caml_option.valFromOption(match$1)
],
/* type_ */type_
], resultLoadedStreamChunkDataArr);
return Most.empty();
} else {
return Most.map((function (param) {
return /* () */0;
}), Most.tap((function (image) {
ImageUtils$Wonderjs.setImageName(image, name);
ArrayService$Wonderjs.push(/* record */[
/* geometryData */undefined,
/* imageData *//* record */[
/* imageIndex */imageIndex,
/* image */image
],
/* type_ */type_
], resultLoadedStreamChunkDataArr);
MutableSparseMapService$WonderCommonlib.set(imageIndex, image, loadBlobImageMap);
return /* () */0;
}), AssembleUtils$Wonderjs.buildLoadImageStream(match[/* arrayBuffer */3], match[/* mimeType */2], "load image error. imageName: " + (String(name) + ""))));
}
} else {
ArrayService$Wonderjs.push(/* record */[
/* geometryData */param[/* geometryData */0],
}
}), Most.tap((function () {
if (isSingleClick) {
if (count[0] !== 1) {
count[0] = 0;
return /* () */0;
} else {
return 0;
}
} else if (count[0] < 2) {
count[0] = 0;
return /* () */0;
} else {
return 0;
}
}), Most.debounce(debounceTime, Most.tap((function () {
count[0] = count[0] + 1 | 0;
return /* () */0;
}), clickStream)))));
}
function importAssetWDB(param, param$1, isLoadImage, param$2) {
var editorState = param$2[0];
var parentFolderNode = param$1[1];
var wdbNodeId = param$1[0];
var name = param[0];
var allGameObjectsRef = /* record */[/* contents : array */[]];
var imageUint8ArrayDataMapRef = /* record */[/* contents */ImmutableSparseMapService$WonderCommonlib.createEmpty(/* () */0)];
return Most.drain(Most.tap((function (param) {
var gameObject = param[2];
var engineState = param[0];
var allGameObjects = HierarchyGameObjectEngineService$WonderEditor.getAllGameObjects(gameObject, engineState);
StateEditorService$WonderEditor.setState(OperateTreeAssetEditorService$WonderEditor.insertNode(NodeAssetService$WonderEditor.getNodeId(parentFolderNode), WDBNodeAssetService$WonderEditor.buildNode(wdbNodeId, name, gameObject), editorState));
var engineState$1 = GameObjectEngineService$WonderEditor.setGameObjectName(name, gameObject, GameObjectEngineService$WonderEditor.setAllGameObjectsIsRenderIfHasMeshRenderer(false, gameObject, engineState));
StateEngineService$WonderEditor.setState(engineState$1);
allGameObjectsRef[0] = allGameObjects;
imageUint8ArrayDataMapRef[0] = param[1][0];
return /* () */0;
}), AssembleWDBEngineService$WonderEditor.assembleWDB(param[1], false, false, false, false, isLoadImage, param$2[1]))).then((function (param) {
return Promise.resolve(/* tuple */[
/* tuple */[
allGameObjectsRef[0],
imageUint8ArrayDataMapRef[0]
],
/* tuple */[
return Most.drain(Most.mergeArray(ArrayService$Wonderjs.reduceOneParamValidi((function (streamArr, imageData, imageIndex) {
var name = imageData[/* name */0];
var match = _isImageBufferDataDependencyAndRemoved(imageData);
var tmp;
if (match) {
tmp = Most.just(OperateRABAssetBundleMainService$Wonderjs.unsafeFindDataInAllDependencyRABByName(allDependencyRABRelativePath, name, state, OperateRABAssetBundleMainService$Wonderjs.findImageByName));
} else {
var arrayBuffer = ABArrayBufferUtils$Wonderjs.SAB[/* getArrayBufferFromBufferViews */0](binBuffer, imageData[/* bufferView */1], bufferViews);
tmp = Most.map((function (image) {
return image;
}), Most.tap((function (image) {
return ImageUtils$Wonderjs.setImageName(image, name);
}), AssembleUtils$Wonderjs.buildLoadImageStream(arrayBuffer, imageData[/* mimeType */2], "load image error. imageName: " + (String(name) + ""))));
}
return ArrayService$Wonderjs.push(Most.tap((function (image) {
blobObjectUrlImageArr[imageIndex] = image;
return /* () */0;
}), tmp), streamArr);
}), /* array */[], OptionService$Wonderjs.unsafeGetJsonSerializedValue(images)))).then((function (param) {
return Promise.resolve(blobObjectUrlImageArr);
function publishZip(param, createZipFunc, fetchFunc) {
var zipName = param[0];
var editorState = StateEditorService$WonderEditor.getState(/* () */0);
var engineState = StateEngineService$WonderEditor.unsafeGetState(/* () */0);
var match = StateEditorService$WonderEditor.getIsRun(/* () */0);
if (match) {
ConsoleUtils$WonderEditor.warn("should publish local when stop, but now is run!", editorState);
return new Promise((function (resolve, reject) {
return resolve(undefined);
}));
} else {
var match$1 = _generateSceneWDB(editorState, engineState);
var sceneGraphArrayBuffer = match$1[1];
StateEngineService$WonderEditor.setState(match$1[0]);
return Most.drain(Most.tap((function (zip) {
Zip$WonderBsJszip.generateAsyncBlob(Zip$WonderBsJszip.write(zip, Caml_option.some(Options$WonderBsJszip.makeWriteOptions(undefined, true, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)), "Scene.wdb", /* `trustme */[
380026608,
TypeArrayType$WonderEditor.newBlobFromArrayBuffer(sceneGraphArrayBuffer)
]), undefined, Zip$WonderBsJszip.makeAsyncBlobOptions(undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, /* () */0)).then((function (content) {
return Promise.resolve((FileSaver.saveAs(content, zipName + ".zip"), /* () */0));
}));
return /* () */0;
}), _loadData(param[1], sceneGraphArrayBuffer, fetchFunc, Most.just(Curry._1(createZipFunc, /* () */0))))).then((function (param) {
return Promise.resolve(undefined);
}));
}
}
return Most.flatMap((function (rabRelativePath) {
var state = StateDataMainService$Wonderjs.unsafeGetState(StateDataMain$Wonderjs.stateData);
var match = OperateRABAssetBundleMainService$Wonderjs.isLoaded(rabRelativePath, state);
if (match) {
return Most.empty();
} else {
return Most.map((function (param) {
return /* () */0;
}), Most.tap((function (rab) {
var state = StateDataMainService$Wonderjs.unsafeGetState(StateDataMain$Wonderjs.stateData);
StateDataMainService$Wonderjs.setState(StateDataMain$Wonderjs.stateData, OperateRABAssetBundleMainService$Wonderjs.setLoadedRAB(rabRelativePath, rab, OperateRABAssetBundleMainService$Wonderjs.markLoaded(rabRelativePath, state)));
return /* () */0;
}), loadAB(rabRelativePath, wholeManifest, wholeDependencyRelationMap, /* tuple */[
getAssetBundlePathFunc,
isAssetBundleArrayBufferCachedFunc,
getAssetBundleArrayBufferCacheFunc,
cacheAssetBundleArrayBufferFunc,
fetchFunc
])));
}
}), Most.just(rabRelativePath));
}
export function Http(sinks: HttpSinks): HttpSources {
const { request$ } = sinks
const response$$: Stream =
hold(tap(drain, map(request, request$)))
drain(response$$)
return { response$$ }
}