Skip to content

Commit

Permalink
feat(platform): ap assemble space: add Custom to add custom inputs an…
Browse files Browse the repository at this point in the history
…d custom actions

now custom data not store in element, but store in app instead(by add customData);
now not add generated when generate app, add when enter element assemble instead;
refactor element assemble corresponding;
  • Loading branch information
yyc-git committed Nov 24, 2023
1 parent f2bd942 commit 40eb483
Show file tree
Hide file tree
Showing 62 changed files with 1,607 additions and 3,645 deletions.
44 changes: 23 additions & 21 deletions defaults/meta3d/lib/es6_global/src/app_and_package/AppManager.bs.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,17 @@ function _flatten(arr) {
return ArraySt$Meta3dCommonlib.reduceOneParam(arr, Js_array.concat, []);
}

function generate(allContributeFileData, allPackageBinaryFiles, allPackageBinaryFileDataStoredInApp, selectedElements, configData, startPackageProtocolName) {
function generate(allContributeFileData, allPackageBinaryFiles, allPackageBinaryFileDataStoredInApp, selectedElements, customData, configData, startPackageProtocolName) {
var encoder = new TextEncoder();
return BinaryFileOperator$Meta3d.generate(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ManagerUtils$Meta3d.mergeAllPackageBinaryFiles(ManagerUtils$Meta3d.generate([
[],
allContributeFileData
]))(allPackageBinaryFiles), new Uint8Array(BinaryFileOperator$Meta3d.generate(_flatten(ArraySt$Meta3dCommonlib.map(allPackageBinaryFileDataStoredInApp, (function (param) {
return [
TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(param[0]), encoder),
new Uint8Array(param[1])
];
})))))), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(selectedElements), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(NullableSt$Meta3dCommonlib.getWithDefault(configData, [])), encoder)), TextEncoder$Meta3d.encodeUint8Array(startPackageProtocolName, encoder)));
return BinaryFileOperator$Meta3d.generate(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ManagerUtils$Meta3d.mergeAllPackageBinaryFiles(ManagerUtils$Meta3d.generate([
[],
allContributeFileData
]))(allPackageBinaryFiles), new Uint8Array(BinaryFileOperator$Meta3d.generate(_flatten(ArraySt$Meta3dCommonlib.map(allPackageBinaryFileDataStoredInApp, (function (param) {
return [
TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(param[0]), encoder),
new Uint8Array(param[1])
];
})))))), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(selectedElements), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(customData), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(NullableSt$Meta3dCommonlib.getWithDefault(configData, [])), encoder)), TextEncoder$Meta3d.encodeUint8Array(startPackageProtocolName, encoder)));
}

function getExtensionFuncDataStr(extensionFuncData) {
Expand Down Expand Up @@ -77,7 +77,7 @@ function _parseAllPackageUint8StoredInApp(allPackageUint8StoredInApp) {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
178,
182,
32
],
Error: new Error()
Expand Down Expand Up @@ -118,12 +118,12 @@ function _decode(data) {

function load(addGeneratedContributeFunc, appBinaryFile) {
var match = BinaryFileOperator$Meta3d.load(appBinaryFile);
if (match.length !== 7) {
if (match.length !== 8) {
throw {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
227,
231,
6
],
Error: new Error()
Expand All @@ -133,10 +133,10 @@ function load(addGeneratedContributeFunc, appBinaryFile) {
var allContributeUint8 = match[1];
var allPackageUint8NotStoredInApp = match[2];
var allPackageUint8StoredInApp = match[3];
var selectedElementsUint8 = match[4];
var configData = match[5];
var startPackageProtocolName = match[6];
var match$1 = ManagerUtils$Meta3d.loadApp(addGeneratedContributeFunc, JSON.parse(_decode(selectedElementsUint8)), [
var customDataUint8 = match[5];
var configData = match[6];
var startPackageProtocolName = match[7];
var match$1 = ManagerUtils$Meta3d.loadApp(addGeneratedContributeFunc, JSON.parse(_decode(customDataUint8)), [
allExtensionUint8,
allContributeUint8,
allPackageUint8NotStoredInApp,
Expand All @@ -156,12 +156,12 @@ function start(param) {

function getAllDataOfApp(appBinaryFile) {
var match = BinaryFileOperator$Meta3d.load(appBinaryFile);
if (match.length !== 7) {
if (match.length !== 8) {
throw {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
290,
297,
6
],
Error: new Error()
Expand All @@ -172,7 +172,8 @@ function getAllDataOfApp(appBinaryFile) {
var allPackageUint8NotStoredInApp = match[2];
var allPackageUint8StoredInApp = match[3];
var selectedElementsUint8 = match[4];
var configData = match[5];
var customDataUint8 = match[5];
var configData = match[6];
return [
_parseAllPackageUint8StoredInApp(allPackageUint8StoredInApp),
ManagerUtils$Meta3d.parse3([
Expand All @@ -181,7 +182,8 @@ function getAllDataOfApp(appBinaryFile) {
allPackageUint8NotStoredInApp
]),
_decodeConfigData(configData),
JSON.parse(_decode(selectedElementsUint8))
JSON.parse(_decode(selectedElementsUint8)),
JSON.parse(_decode(customDataUint8))
];
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -364,10 +364,10 @@ function _checkAllDependents(param) {
];
}

function _addGeneratedContribute(param, addGeneratedContributeFunc, selectedElements) {
function _addGeneratedContribute(param, addGeneratedContributeFunc, customData) {
return [
param[0],
Curry._2(addGeneratedContributeFunc, param[1], selectedElements)
Curry._2(addGeneratedContributeFunc, param[1], customData)
];
}

Expand All @@ -386,8 +386,8 @@ function _run(param) {
];
}

function loadApp(addGeneratedContributeFunc, selectedElements, data) {
return _run(_addGeneratedContribute(_checkAllDependents(_parse1(data)), addGeneratedContributeFunc, selectedElements));
function loadApp(addGeneratedContributeFunc, customData, data) {
return _run(_addGeneratedContribute(_checkAllDependents(_parse1(data)), addGeneratedContributeFunc, customData));
}

function loadPackage(data) {
Expand Down
44 changes: 23 additions & 21 deletions defaults/meta3d/lib/js/src/app_and_package/AppManager.bs.js
Original file line number Diff line number Diff line change
Expand Up @@ -36,17 +36,17 @@ function _flatten(arr) {
return ArraySt$Meta3dCommonlib.reduceOneParam(arr, Js_array.concat, []);
}

function generate(allContributeFileData, allPackageBinaryFiles, allPackageBinaryFileDataStoredInApp, selectedElements, configData, startPackageProtocolName) {
function generate(allContributeFileData, allPackageBinaryFiles, allPackageBinaryFileDataStoredInApp, selectedElements, customData, configData, startPackageProtocolName) {
var encoder = new TextEncoder();
return BinaryFileOperator$Meta3d.generate(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ManagerUtils$Meta3d.mergeAllPackageBinaryFiles(ManagerUtils$Meta3d.generate([
[],
allContributeFileData
]))(allPackageBinaryFiles), new Uint8Array(BinaryFileOperator$Meta3d.generate(_flatten(ArraySt$Meta3dCommonlib.map(allPackageBinaryFileDataStoredInApp, (function (param) {
return [
TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(param[0]), encoder),
new Uint8Array(param[1])
];
})))))), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(selectedElements), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(NullableSt$Meta3dCommonlib.getWithDefault(configData, [])), encoder)), TextEncoder$Meta3d.encodeUint8Array(startPackageProtocolName, encoder)));
return BinaryFileOperator$Meta3d.generate(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ArraySt$Meta3dCommonlib.push(ManagerUtils$Meta3d.mergeAllPackageBinaryFiles(ManagerUtils$Meta3d.generate([
[],
allContributeFileData
]))(allPackageBinaryFiles), new Uint8Array(BinaryFileOperator$Meta3d.generate(_flatten(ArraySt$Meta3dCommonlib.map(allPackageBinaryFileDataStoredInApp, (function (param) {
return [
TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(param[0]), encoder),
new Uint8Array(param[1])
];
})))))), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(selectedElements), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(customData), encoder)), TextEncoder$Meta3d.encodeUint8Array(JSON.stringify(NullableSt$Meta3dCommonlib.getWithDefault(configData, [])), encoder)), TextEncoder$Meta3d.encodeUint8Array(startPackageProtocolName, encoder)));
}

function getExtensionFuncDataStr(extensionFuncData) {
Expand Down Expand Up @@ -77,7 +77,7 @@ function _parseAllPackageUint8StoredInApp(allPackageUint8StoredInApp) {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
178,
182,
32
],
Error: new Error()
Expand Down Expand Up @@ -118,12 +118,12 @@ function _decode(data) {

function load(addGeneratedContributeFunc, appBinaryFile) {
var match = BinaryFileOperator$Meta3d.load(appBinaryFile);
if (match.length !== 7) {
if (match.length !== 8) {
throw {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
227,
231,
6
],
Error: new Error()
Expand All @@ -133,10 +133,10 @@ function load(addGeneratedContributeFunc, appBinaryFile) {
var allContributeUint8 = match[1];
var allPackageUint8NotStoredInApp = match[2];
var allPackageUint8StoredInApp = match[3];
var selectedElementsUint8 = match[4];
var configData = match[5];
var startPackageProtocolName = match[6];
var match$1 = ManagerUtils$Meta3d.loadApp(addGeneratedContributeFunc, JSON.parse(_decode(selectedElementsUint8)), [
var customDataUint8 = match[5];
var configData = match[6];
var startPackageProtocolName = match[7];
var match$1 = ManagerUtils$Meta3d.loadApp(addGeneratedContributeFunc, JSON.parse(_decode(customDataUint8)), [
allExtensionUint8,
allContributeUint8,
allPackageUint8NotStoredInApp,
Expand All @@ -156,12 +156,12 @@ function start(param) {

function getAllDataOfApp(appBinaryFile) {
var match = BinaryFileOperator$Meta3d.load(appBinaryFile);
if (match.length !== 7) {
if (match.length !== 8) {
throw {
RE_EXN_ID: "Match_failure",
_1: [
"AppManager.res",
290,
297,
6
],
Error: new Error()
Expand All @@ -172,7 +172,8 @@ function getAllDataOfApp(appBinaryFile) {
var allPackageUint8NotStoredInApp = match[2];
var allPackageUint8StoredInApp = match[3];
var selectedElementsUint8 = match[4];
var configData = match[5];
var customDataUint8 = match[5];
var configData = match[6];
return [
_parseAllPackageUint8StoredInApp(allPackageUint8StoredInApp),
ManagerUtils$Meta3d.parse3([
Expand All @@ -181,7 +182,8 @@ function getAllDataOfApp(appBinaryFile) {
allPackageUint8NotStoredInApp
]),
_decodeConfigData(configData),
JSON.parse(_decode(selectedElementsUint8))
JSON.parse(_decode(selectedElementsUint8)),
JSON.parse(_decode(customDataUint8))
];
}

Expand Down
8 changes: 4 additions & 4 deletions defaults/meta3d/lib/js/src/app_and_package/ManagerUtils.bs.js
Original file line number Diff line number Diff line change
Expand Up @@ -364,10 +364,10 @@ function _checkAllDependents(param) {
];
}

function _addGeneratedContribute(param, addGeneratedContributeFunc, selectedElements) {
function _addGeneratedContribute(param, addGeneratedContributeFunc, customData) {
return [
param[0],
Curry._2(addGeneratedContributeFunc, param[1], selectedElements)
Curry._2(addGeneratedContributeFunc, param[1], customData)
];
}

Expand All @@ -386,8 +386,8 @@ function _run(param) {
];
}

function loadApp(addGeneratedContributeFunc, selectedElements, data) {
return _run(_addGeneratedContribute(_checkAllDependents(_parse1(data)), addGeneratedContributeFunc, selectedElements));
function loadApp(addGeneratedContributeFunc, customData, data) {
return _run(_addGeneratedContribute(_checkAllDependents(_parse1(data)), addGeneratedContributeFunc, customData));
}

function loadPackage(data) {
Expand Down
2 changes: 2 additions & 0 deletions defaults/meta3d/src/app_and_package/AppAndPackageFileType.res
Original file line number Diff line number Diff line change
Expand Up @@ -131,3 +131,5 @@ type packageData = (
)

type selectedElements

type customData
11 changes: 10 additions & 1 deletion defaults/meta3d/src/app_and_package/AppManager.res
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ let generate = (
allPackageBinaryFiles,
allPackageBinaryFileDataStoredInApp: array<(packageData, Js.Typed_array.ArrayBuffer.t)>,
selectedElements: selectedElements,
customData: customData,
configData: Js.Nullable.t<Meta3dType.Index.startConfigData>,
startPackageProtocolName,
) => {
Expand All @@ -131,6 +132,9 @@ let generate = (
->Meta3dCommonlib.ArraySt.push(
TextEncoder.encodeUint8Array(selectedElements->Obj.magic->Js.Json.stringify, encoder),
)
->Meta3dCommonlib.ArraySt.push(
TextEncoder.encodeUint8Array(customData->Obj.magic->Js.Json.stringify, encoder),
)
->Meta3dCommonlib.ArraySt.push(
TextEncoder.encodeUint8Array(
configData
Expand Down Expand Up @@ -230,13 +234,15 @@ let load = (addGeneratedContributeFunc, appBinaryFile: ArrayBuffer.t): (
allPackageUint8NotStoredInApp,
allPackageUint8StoredInApp,
selectedElementsUint8,
customDataUint8,
configData,
startPackageProtocolName,
] = BinaryFileOperator.load(appBinaryFile)

let (state, _) = ManagerUtils.loadApp(
addGeneratedContributeFunc,
_decode(selectedElementsUint8)->Js.Json.parseExn->Obj.magic,
// _decode(selectedElementsUint8)->Js.Json.parseExn->Obj.magic,
_decode(customDataUint8)->Js.Json.parseExn->Obj.magic,
[allExtensionUint8, allContributeUint8, allPackageUint8NotStoredInApp, Obj.magic(1)],
)

Expand Down Expand Up @@ -286,13 +292,15 @@ let getAllDataOfApp = (appBinaryFile: ArrayBuffer.t): (
),
Meta3dType.Index.startConfigData,
selectedElements,
customData,
) => {
let [
allExtensionUint8,
allContributeUint8,
allPackageUint8NotStoredInApp,
allPackageUint8StoredInApp,
selectedElementsUint8,
customDataUint8,
configData,
_,
] = BinaryFileOperator.load(appBinaryFile)
Expand All @@ -302,5 +310,6 @@ let getAllDataOfApp = (appBinaryFile: ArrayBuffer.t): (
[allExtensionUint8, allContributeUint8, allPackageUint8NotStoredInApp]->ManagerUtils.parse3,
_decodeConfigData(configData),
_decode(selectedElementsUint8)->Js.Json.parseExn->Obj.magic,
_decode(customDataUint8)->Js.Json.parseExn->Obj.magic,
)
}
8 changes: 4 additions & 4 deletions defaults/meta3d/src/app_and_package/ManagerUtils.res
Original file line number Diff line number Diff line change
Expand Up @@ -325,9 +325,9 @@ let _checkAllDependents = ((allExtensionDataArr, allContributeDataArr)) => {
let _addGeneratedContribute = (
(allExtensionDataArr, allContributeDataArr),
addGeneratedContributeFunc,
selectedElements,
customData,
) => {
(allExtensionDataArr, allContributeDataArr->addGeneratedContributeFunc(selectedElements))
(allExtensionDataArr, allContributeDataArr->addGeneratedContributeFunc(customData))
}

// let _run = ((allExtensionDataArr, allContributeDataArr, configData)) => {
Expand Down Expand Up @@ -359,14 +359,14 @@ let _run = ((allExtensionDataArr, allContributeDataArr)) => {
(state, allExtensionDataArr)
}

let loadApp = (addGeneratedContributeFunc, selectedElements, data: array<Uint8Array.t>): (
let loadApp = (addGeneratedContributeFunc, customData, data: array<Uint8Array.t>): (
Meta3dType.Index.state,
array<extensionFileData>,
) => {
data
->_parse1
->_checkAllDependents
->_addGeneratedContribute(addGeneratedContributeFunc, selectedElements)
->_addGeneratedContribute(addGeneratedContributeFunc, customData)
->_run
}

Expand Down
4 changes: 2 additions & 2 deletions defaults/meta3d/test/features/app_manager.feature
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,7 @@ Feature: App Manager
And generate one contribute as c1
# And load e1, c1 and convert as l1
And load c1 and convert as l1
And generate app with p1, l1 and selectedElements as a1
And generate app with p1, l1, selectedElements, custom data as a1
When get all data of a1
# Then should return parsed p1, parsed e1, parsed c1
Then should return parsed p1, parsed c1, selectedElements
Then should return parsed p1, parsed c1, selectedElements, custom data
Loading

0 comments on commit 40eb483

Please sign in to comment.