function findProperty()

in packages/metro-transform-plugins/src/inline-plugin.js [90:116]


  function findProperty(
    objectExpression: ObjectExpression,
    key: string,
    fallback: () => Node,
  ): Node {
    let value = null;

    for (const p of objectExpression.properties) {
      if (!isObjectProperty(p) && !isObjectMethod(p)) {
        continue;
      }
      if (
        (isIdentifier(p.key) && p.key.name === key) ||
        (isStringLiteral(p.key) && p.key.value === key)
      ) {
        if (isObjectProperty(p)) {
          value = p.value;
          break;
        } else if (isObjectMethod(p)) {
          value = t.toExpression(p);
          break;
        }
      }
    }

    return value ?? fallback();
  }