UNPKG

wonder.js

Version:
71 lines (62 loc) 3.1 kB
'use strict'; var Caml_array = require("bs-platform/lib/js/caml_array.js"); var BufferService$Wonderjs = require("../../../primitive/buffer/BufferService.js"); var ArrayService$WonderCommonlib = require("wonder-commonlib/lib/js/src/ArrayService.js"); var BufferSettingService$Wonderjs = require("../../../record/main/setting/BufferSettingService.js"); var DirtyTransformService$Wonderjs = require("../../../record/main/transform/DirtyTransformService.js"); var IndexComponentService$Wonderjs = require("../../../primitive/component/IndexComponentService.js"); var RecordTransformMainService$Wonderjs = require("./RecordTransformMainService.js"); var MutableSparseMapService$WonderCommonlib = require("wonder-commonlib/lib/js/src/MutableSparseMapService.js"); function _setDefaultChildren(index, childMap) { return MutableSparseMapService$WonderCommonlib.set(index, ArrayService$WonderCommonlib.createEmpty(/* () */0), childMap); } var _isNotNeedInitData = MutableSparseMapService$WonderCommonlib.has; function _initDataWhenCreate(index, transformRecord) { var childMap = transformRecord[/* childMap */16]; var match = MutableSparseMapService$WonderCommonlib.has(index, childMap); if (match) { return transformRecord; } else { var newrecord = Caml_array.caml_array_dup(transformRecord); newrecord[/* childMap */16] = _setDefaultChildren(index, childMap); return newrecord; } } function createWithoutMarkNotDirtyWithRecord(settingRecord, transformRecord) { var index = transformRecord[/* index */0]; var disposedIndexArray = transformRecord[/* disposedIndexArray */21]; var match = IndexComponentService$Wonderjs.generateIndex(index, disposedIndexArray); var index$1 = match[0]; transformRecord[/* index */0] = match[1]; var transformRecord$1 = _initDataWhenCreate(index$1, transformRecord); transformRecord$1[/* disposedIndexArray */21] = match[2]; return BufferService$Wonderjs.checkNotExceedMaxCount(BufferSettingService$Wonderjs.getTransformCount(settingRecord), /* tuple */[ transformRecord$1, index$1 ]); } function createWithoutMarkNotDirty(state) { var match = createWithoutMarkNotDirtyWithRecord(state[/* settingRecord */0], RecordTransformMainService$Wonderjs.getRecord(state)); state[/* transformRecord */11] = match[0]; return /* tuple */[ state, match[1] ]; } function create(state) { var match = createWithoutMarkNotDirty(state); var index = match[1]; var state$1 = match[0]; state$1[/* transformRecord */11] = DirtyTransformService$Wonderjs.mark(index, true, RecordTransformMainService$Wonderjs.getRecord(state$1)); return /* tuple */[ state$1, index ]; } exports._setDefaultChildren = _setDefaultChildren; exports._isNotNeedInitData = _isNotNeedInitData; exports._initDataWhenCreate = _initDataWhenCreate; exports.createWithoutMarkNotDirtyWithRecord = createWithoutMarkNotDirtyWithRecord; exports.createWithoutMarkNotDirty = createWithoutMarkNotDirty; exports.create = create; /* BufferService-Wonderjs Not a pure module */