UNPKG

wonder.js

Version:
190 lines (174 loc) 11.1 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("../../../service/atom/ArrayService.js"); var StateDataMain$Wonderjs = require("../../../service/state/main/data/StateDataMain.js"); var DataViewCommon$Wonderjs = require("../../../asset/generate/DataViewCommon.js"); var GenerateABUtils$Wonderjs = require("../../utils/GenerateABUtils.js"); var IsDebugMainService$Wonderjs = require("../../../service/state/main/state/IsDebugMainService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var ImmutableHashMapService$Wonderjs = require("../../../service/atom/ImmutableHashMapService.js"); var ImmutableHashMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ImmutableHashMapService.js"); function _buildImageNameMap(rabRelativePath, param, allRabDepdentImageNameMap) { var __x = ArrayService$WonderCommonlib.reduceOneParam((function (nameMap, param) { return ImmutableHashMapService$WonderCommonlib.set(param[/* name */0], true, nameMap); }), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0), param[/* images */2]); return ImmutableHashMapService$WonderCommonlib.set(rabRelativePath, __x, allRabDepdentImageNameMap); } function _buildGeometryNameMap(rabRelativePath, param, allRabGeometryNameMap) { var __x = ArrayService$WonderCommonlib.reduceOneParam((function (nameMap, param) { return ImmutableHashMapService$WonderCommonlib.set(param[/* name */0], true, nameMap); }), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0), param[/* geometrys */5]); return ImmutableHashMapService$WonderCommonlib.set(rabRelativePath, __x, allRabGeometryNameMap); } function buildImageAndGeometryNameMap(param, param$1) { var rab = param[1]; var rabRelativePath = param[0]; var dataView = DataViewCommon$Wonderjs.create(rab); var match = GenerateABUtils$Wonderjs.readHeader(dataView); var jsonStr = GenerateABUtils$Wonderjs.getJsonStr(match[1], rab); var resourceAssetBundleContent = JSON.parse(jsonStr); return /* tuple */[ _buildImageNameMap(rabRelativePath, resourceAssetBundleContent, param$1[0]), _buildGeometryNameMap(rabRelativePath, resourceAssetBundleContent, param$1[1]) ]; } var RAB = /* module */[ /* _buildImageNameMap */_buildImageNameMap, /* _buildGeometryNameMap */_buildGeometryNameMap, /* buildImageAndGeometryNameMap */buildImageAndGeometryNameMap ]; function buildImageAndGeometryNameMap$1(rabDataArr) { return Contract$WonderLog.ensureCheck((function (param) { var allRabGeometryNameMap = param[1]; var allRabImageNameMap = param[0]; var _judge = function (allDependentNameMap) { return ArrayService$WonderCommonlib.forEach((function (nameMap) { return Contract$WonderLog.assertFalse(ArrayService$Wonderjs.hasDuplicateItems((function (item) { return item; }), ImmutableHashMapService$Wonderjs.getValidKeys(nameMap))); }), ImmutableHashMapService$WonderCommonlib.getValidValues(allDependentNameMap)); }; Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("one dependent rab->image has no duplicate name", "has"), (function (param) { return _judge(allRabImageNameMap); })); return Contract$WonderLog.test(Log$WonderLog.buildAssertMessage("one dependent rab->geometry has no duplicate name", "has"), (function (param) { return _judge(allRabGeometryNameMap); })); }), IsDebugMainService$Wonderjs.getIsDebug(StateDataMain$Wonderjs.stateData), ArrayService$WonderCommonlib.reduceOneParam((function (param, rabData) { return buildImageAndGeometryNameMap(rabData, /* tuple */[ param[0], param[1] ]); }), /* tuple */[ ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0), ImmutableHashMapService$WonderCommonlib.createEmpty(/* () */0) ], rabDataArr)); } function _findByDepthSearch(abRelativePath, dependencyRelation, allDependentAbRelativePathArr) { var match = ImmutableHashMapService$WonderCommonlib.get(abRelativePath, dependencyRelation); if (match !== undefined) { return ArrayService$WonderCommonlib.reduceOneParam((function (allDependentAbRelativePathArr, abRelativePath) { return _findByDepthSearch(abRelativePath, dependencyRelation, ArrayService$Wonderjs.push(abRelativePath, allDependentAbRelativePathArr)); }), allDependentAbRelativePathArr, match); } else { return allDependentAbRelativePathArr; } } function findAllDependencyRABRelativePathByDepthSearch(abRelativePath, dependencyRelation) { return ArrayService$Wonderjs.removeDuplicateItems((function (item) { return item; }), _findByDepthSearch(abRelativePath, dependencyRelation, ArrayService$WonderCommonlib.createEmpty(/* () */0)).reverse()); } function _isFindByBreadthSearchEnd(thisLayerAddedDependentAbRelativePathArr, thisLayerRemainedDependentAbRelativePathArr) { if (thisLayerAddedDependentAbRelativePathArr.length === 0) { return thisLayerRemainedDependentAbRelativePathArr.length === 0; } else { return false; } } function _addRemainedDependentAbRelativePathToThisLayer(dependencyRelation, param) { var thisLayerAddedDependentAbRelativePathArr = param[2]; var thisLayerRemainedDependentAbRelativePathArr = param[1]; var dependentAbRelativePath = ArrayService$Wonderjs.unsafeGetFirst(thisLayerRemainedDependentAbRelativePathArr); var thisLayerRemainedDependentAbRelativePathArr$1 = thisLayerRemainedDependentAbRelativePathArr.slice(1); var match = ImmutableHashMapService$WonderCommonlib.get(dependentAbRelativePath, dependencyRelation); var thisLayerAddedDependentAbRelativePathArr$1 = match !== undefined ? ArrayService$Wonderjs.fastConcat(thisLayerAddedDependentAbRelativePathArr, match) : thisLayerAddedDependentAbRelativePathArr; return /* tuple */[ param[0], thisLayerRemainedDependentAbRelativePathArr$1, thisLayerAddedDependentAbRelativePathArr$1 ]; } function _addThisLayerAbRelativePathArrToAll(dependencyRelation, param) { var thisLayerAddedDependentAbRelativePathArr = param[2]; var allDependentAbRelativePathArr = ArrayService$Wonderjs.push(thisLayerAddedDependentAbRelativePathArr, param[0]); var thisLayerRemainedDependentAbRelativePathArr = thisLayerAddedDependentAbRelativePathArr.slice(); var thisLayerAddedDependentAbRelativePathArr$1 = ArrayService$WonderCommonlib.createEmpty(/* () */0); return /* tuple */[ allDependentAbRelativePathArr, thisLayerRemainedDependentAbRelativePathArr, thisLayerAddedDependentAbRelativePathArr$1 ]; } function _findByBreadthSearch(dependencyRelation, _allDependentAbRelativePathArr, _thisLayerAddedDependentAbRelativePathArr, _thisLayerRemainedDependentAbRelativePathArr) { while(true) { var thisLayerRemainedDependentAbRelativePathArr = _thisLayerRemainedDependentAbRelativePathArr; var thisLayerAddedDependentAbRelativePathArr = _thisLayerAddedDependentAbRelativePathArr; var allDependentAbRelativePathArr = _allDependentAbRelativePathArr; var match = _isFindByBreadthSearchEnd(thisLayerAddedDependentAbRelativePathArr, thisLayerRemainedDependentAbRelativePathArr); if (match) { return allDependentAbRelativePathArr; } else { var match$1 = thisLayerRemainedDependentAbRelativePathArr.length > 0; var match$2 = match$1 ? _addRemainedDependentAbRelativePathToThisLayer(dependencyRelation, /* tuple */[ allDependentAbRelativePathArr, thisLayerRemainedDependentAbRelativePathArr, thisLayerAddedDependentAbRelativePathArr ]) : _addThisLayerAbRelativePathArrToAll(dependencyRelation, /* tuple */[ allDependentAbRelativePathArr, thisLayerRemainedDependentAbRelativePathArr, thisLayerAddedDependentAbRelativePathArr ]); _thisLayerRemainedDependentAbRelativePathArr = match$2[1]; _thisLayerAddedDependentAbRelativePathArr = match$2[2]; _allDependentAbRelativePathArr = match$2[0]; continue ; } }; } function _isInclude(dependentAbRelativePath, allRemainedDependentAbRelativePath) { return allRemainedDependentAbRelativePath.filter((function (remainedDependentAbRelativePathArr) { return remainedDependentAbRelativePathArr.includes(dependentAbRelativePath); })).length > 0; } function findAllDependencyRABRelativePathByBreadthSearch(abRelativePath, dependencyRelation) { var match = ImmutableHashMapService$WonderCommonlib.get(abRelativePath, dependencyRelation); if (match !== undefined) { var dependentAbRelativePathArr = match; var allDependencyRABRelativePath = _findByBreadthSearch(dependencyRelation, ArrayService$WonderCommonlib.createEmpty(/* () */0), ArrayService$WonderCommonlib.createEmpty(/* () */0), dependentAbRelativePathArr).map((function (dependentAbRelativePathArr) { return ArrayService$Wonderjs.removeDuplicateItems((function (item) { return item; }), dependentAbRelativePathArr); })); return ArrayService$Wonderjs.push(dependentAbRelativePathArr, allDependencyRABRelativePath.map((function (dependentAbRelativePathArr, index) { var allRemainedDependentAbRelativePath = allDependencyRABRelativePath.slice(index + 1 | 0); return dependentAbRelativePathArr.filter((function (dependentAbRelativePath) { return !_isInclude(dependentAbRelativePath, allRemainedDependentAbRelativePath); })); })).reverse()); } else { return ArrayService$WonderCommonlib.createEmpty(/* () */0); } } exports.RAB = RAB; exports.buildImageAndGeometryNameMap = buildImageAndGeometryNameMap$1; exports._findByDepthSearch = _findByDepthSearch; exports.findAllDependencyRABRelativePathByDepthSearch = findAllDependencyRABRelativePathByDepthSearch; exports._isFindByBreadthSearchEnd = _isFindByBreadthSearchEnd; exports._addRemainedDependentAbRelativePathToThisLayer = _addRemainedDependentAbRelativePathToThisLayer; exports._addThisLayerAbRelativePathArrToAll = _addThisLayerAbRelativePathArrToAll; exports._findByBreadthSearch = _findByBreadthSearch; exports._isInclude = _isInclude; exports.findAllDependencyRABRelativePathByBreadthSearch = findAllDependencyRABRelativePathByBreadthSearch; /* Log-WonderLog Not a pure module */