How to use the babylon.tokTypes.braceR function in babylon

To help you get started, we’ve selected a few babylon examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github ringcentral / ringcentral-js-widgets / packages / locale-loader / lib / getRawData / index.js View on Github external
const ast = parse(content, { sourceType: 'module' });
  let idx = 0;
  const len = ast.tokens.length;
  let capturing = false;
  const data = {};
  while (idx < len) {
    const token = ast.tokens[idx];
    if (
      token.type === tokTypes._export &&
      ast.tokens[idx + 1].type === tokTypes._default &&
      ast.tokens[idx + 2].type === tokTypes.braceL
    ) {
      capturing = true;
      idx += 3;
    } else if (capturing) {
      if (token.type === tokTypes.braceR) {
        break;
      } else {
        const {
          key,
          value,
          startIdx,
          endIdx,
          valueStart,
          valueEnd,
        } = parseLine(ast.tokens, idx);
        data[key] = {
          key,
          value,
          valueStart,
          valueEnd,
          startIdx,
github ringcentral / ringcentral-js-widgets / packages / locale-loader / lib / getRawData / index.js View on Github external
value,
          startIdx,
          endIdx,
          valueStart,
          valueEnd,
        } = parseLine(ast.tokens, idx);
        data[key] = {
          key,
          value,
          valueStart,
          valueEnd,
          startIdx,
          endIdx,
          source: annotations.get(key),
        };
        if (ast.tokens[endIdx].type !== tokTypes.braceR) {
          idx = endIdx + 1;
        } else {
          break;
        }
      }
    } else {
      idx += 1;
    }
  }
  return {
    content,
    data,
    ast,
  };
}