export function mf2ParsePattern()

in js/src/mf2-parse.ts [28:49]


export function mf2ParsePattern(
  src: string,
  onError: (error: ParseError) => void
): Pattern {
  let msg: MF2Message
  try {
    msg = parseMessage(`{{${src}}}`)
  } catch (error) {
    if (error instanceof MessageSyntaxError) {
      const err = `mf2: ${error.message}`
      onError(new ParseError(err, error.start - 2, error.end - 2))
    } else {
      onError(new ParseError(`mf2: ${error}`, 0, src.length))
    }
    return []
  }
  if (msg.type !== 'message' || msg.declarations.length) {
    onError(new ParseError(`mf2: Parse error`, 0, src.length))
    return []
  }
  return msg.pattern.map(patternPart)
}