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

Function createComposedComponent

docs/app/js/sanddance-app.js:23942–23964  ·  view source on GitHub ↗
(outer)

Source from the content-addressed store, hash-verified

23940var _react = require("react");
23941var _memoize = require("../memoize");
23942function createComposedComponent(outer) {
23943 var Outer = outer;
23944 var outerMemoizer = (0, _memoize.createMemoizer)(function(inner) {
23945 if (outer === inner) throw new Error("Attempted to compose a component with itself.");
23946 var Inner = inner;
23947 var innerMemoizer = (0, _memoize.createMemoizer)(function(defaultRender) {
23948 var InnerWithDefaultRender = function(innerProps) {
23949 return _react.createElement(Inner, (0, _tslib.__assign)({}, innerProps, {
23950 defaultRender: defaultRender
23951 }));
23952 };
23953 return InnerWithDefaultRender;
23954 });
23955 var OuterWithDefaultRender = function(outerProps) {
23956 var defaultRender = outerProps.defaultRender;
23957 return _react.createElement(Outer, (0, _tslib.__assign)({}, outerProps, {
23958 defaultRender: defaultRender ? innerMemoizer(defaultRender) : Inner
23959 }));
23960 };
23961 return OuterWithDefaultRender;
23962 });
23963 return outerMemoizer;
23964}
23965var componentAsMemoizer = (0, _memoize.createMemoizer)(createComposedComponent);
23966function composeComponentAs(outer, inner) {
23967 return componentAsMemoizer(outer)(inner);

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected