@embeddable.com/sdk-react 2.2.25 → 2.2.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.esm.js CHANGED
@@ -541,7 +541,27 @@ const validateComponentProps = (metaInfo) => {
541
541
  // There is no props defined
542
542
  if (!propsNode)
543
543
  return;
544
- const propsReturnStatement = propsNode.value.body.body.find((x) => x.type === "ReturnStatement");
544
+ let functionBody;
545
+ // if propsNode is a function defined elsewhere
546
+ if (propsNode.value.type === "Identifier") {
547
+ const functionName = propsNode.value.name;
548
+ path
549
+ .findParent((path) => path.isProgram())
550
+ .traverse({
551
+ VariableDeclarator(path) {
552
+ if (path.node.id.name === functionName &&
553
+ (path.node.init.type === "FunctionExpression" ||
554
+ path.node.init.type === "ArrowFunctionExpression")) {
555
+ functionBody = path.node.init.body.body;
556
+ }
557
+ },
558
+ });
559
+ }
560
+ else {
561
+ // assume that propsNode is anonymous function
562
+ functionBody = propsNode.value.body.body;
563
+ }
564
+ const propsReturnStatement = functionBody.find((x) => x.type === "ReturnStatement");
545
565
  const results = (_b = propsReturnStatement === null || propsReturnStatement === void 0 ? void 0 : propsReturnStatement.argument) === null || _b === void 0 ? void 0 : _b.properties.find((x) => { var _a; return ((_a = x === null || x === void 0 ? void 0 : x.key) === null || _a === void 0 ? void 0 : _a.name) === "results"; });
546
566
  // There is no results defined inside props
547
567
  if (results === undefined) {