MCPcopy Create free account
hub / github.com/microsoft/SandDance / mergeShaders

Function mergeShaders

docs/app/js/sanddance-app.js:87828–87852  ·  view source on GitHub ↗
(target, source)

Source from the content-addressed store, hash-verified

87826 return target;
87827}
87828function mergeShaders(target, source) {
87829 if (!source) return target;
87830 var result = Object.assign({}, target, source);
87831 if ("defines" in source) result.defines = Object.assign({}, target.defines, source.defines);
87832 if ("modules" in source) {
87833 result.modules = (target.modules || []).concat(source.modules);
87834 if (source.modules.some(function(module) {
87835 return module.name === "project64";
87836 })) {
87837 var index = result.modules.findIndex(function(module) {
87838 return module.name === "project32";
87839 });
87840 if (index >= 0) result.modules.splice(index, 1);
87841 }
87842 }
87843 if ("inject" in source) {
87844 if (!target.inject) result.inject = source.inject;
87845 else {
87846 var mergedInjection = _objectSpread({}, target.inject);
87847 for(var key in source.inject)mergedInjection[key] = (mergedInjection[key] || "") + source.inject[key];
87848 result.inject = mergedInjection;
87849 }
87850 }
87851 return result;
87852}
87853
87854},{"@babel/runtime/helpers/esm/defineProperty":"5Xk1p","@parcel/transformer-js/src/esmodule-helpers.js":"jA2du"}],"bSDti":[function(require,module,exports) {
87855var parcelHelpers = require("@parcel/transformer-js/src/esmodule-helpers.js");

Callers

nothing calls this directly

Calls 1

_objectSpreadFunction · 0.70

Tested by

no test coverage detected