UNPKG

wonder.js

Version:
139 lines (130 loc) 10.1 kB
'use strict'; var Json_decode$WonderBsJson = require("wonder-bs-json/lib/js/src/Json_decode.js"); function _convertShaderMapData(json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* value */Json_decode$WonderBsJson.field("value", (function (param) { return Json_decode$WonderBsJson.array(Json_decode$WonderBsJson.string, param); }), json) ]; }), json); } function _convertDynamicBranchData(json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* condition */Json_decode$WonderBsJson.field("condition", Json_decode$WonderBsJson.string, json), /* pass */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("pass", Json_decode$WonderBsJson.string, param); }), json), /* fail */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("fail", Json_decode$WonderBsJson.string, param); }), json) ]; }), json); } function convertShadersToRecord(shaders) { return /* record */[ /* staticBranchs */Json_decode$WonderBsJson.field("static_branchs", _convertShaderMapData, shaders), /* dynamicBranchs */Json_decode$WonderBsJson.field("dynamic_branchs", _convertDynamicBranchData, shaders), /* groups */Json_decode$WonderBsJson.field("groups", _convertShaderMapData, shaders), /* materialShaders */Json_decode$WonderBsJson.field("material_shaders", (function (json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* shaderLibs */Json_decode$WonderBsJson.field("shader_libs", (function (param) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* type_ */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, param); }), json), /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json) ]; }), param); }), json) ]; }), json); }), shaders), /* noMaterialShaders */Json_decode$WonderBsJson.field("no_material_shaders", (function (json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* shaderLibs */Json_decode$WonderBsJson.field("shader_libs", (function (param) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* type_ */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, param); }), json), /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json) ]; }), param); }), json) ]; }), json); }), shaders) ]; } function _convertGlslToRecord(json) { return Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("glsls", (function (json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* type_ */Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, json), /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json) ]; }), json); }), param); }), json); } function _convertVariableToRecord(json) { return Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("variables", (function (json) { return /* record */[ /* uniforms */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("uniforms", (function (json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* field */Json_decode$WonderBsJson.field("field", Json_decode$WonderBsJson.string, json), /* type_ */Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, json), /* from */Json_decode$WonderBsJson.field("from", Json_decode$WonderBsJson.string, json) ]; }), json); }), param); }), json), /* attributes */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("attributes", (function (json) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, param); }), json), /* buffer */Json_decode$WonderBsJson.field("buffer", Json_decode$WonderBsJson.$$int, json), /* type_ */Json_decode$WonderBsJson.optional((function (param) { return Json_decode$WonderBsJson.field("type", Json_decode$WonderBsJson.string, param); }), json) ]; }), json); }), param); }), json) ]; }), param); }), json); } function convertShaderLibsToRecord(shaderLibs) { return Json_decode$WonderBsJson.array((function (json) { return /* record */[ /* name */Json_decode$WonderBsJson.field("name", Json_decode$WonderBsJson.string, json), /* glsls */_convertGlslToRecord(json), /* variables */_convertVariableToRecord(json) ]; }), shaderLibs); } exports._convertShaderMapData = _convertShaderMapData; exports._convertDynamicBranchData = _convertDynamicBranchData; exports.convertShadersToRecord = convertShadersToRecord; exports._convertGlslToRecord = _convertGlslToRecord; exports._convertVariableToRecord = _convertVariableToRecord; exports.convertShaderLibsToRecord = convertShaderLibsToRecord; /* No side effect */