@ryo-98/react-api-bridge
Version:
A registry for component imperative api
28 lines (27 loc) • 580 B
JavaScript
function getUpperContextValue(start, shouldForwardYield) {
let parent = start.parent;
if (!parent || !shouldForwardYield) {
return parent;
}
while (parent) {
const allAPI = {};
for (const apiName in parent.bridge) {
const apiDesc = parent.bridge[apiName];
if (apiDesc) {
allAPI[apiName] = apiDesc.apiNList;
}
}
if (!!shouldForwardYield({
payload: parent.payload,
parent: parent.parent,
allAPI
})) {
break;
}
parent = parent.parent;
}
return parent;
}
export {
getUpperContextValue
};