{"version":3,"sources":["webpack:///./node_modules/react-syntax-highlighter/node_modules/highlight.js/lib/languages/dart.js"],"names":["module","exports","hljs","SUBST","className","variants","begin","BRACED_SUBST","end","keywords","STRING","illegal","contains","BACKSLASH_ESCAPE","C_NUMBER_MODE","BUILT_IN_TYPES","NULLABLE_BUILT_IN_TYPES","map","e","concat","name","keyword","built_in","join","$pattern","COMMENT","subLanguage","relevance","C_LINE_COMMENT_MODE","C_BLOCK_COMMENT_MODE","beginKeywords","excludeEnd","UNDERSCORE_TITLE_MODE"],"mappings":"8EAwGAA,EAAOC,QAhGP,SAAcC,GACZ,IAAIC,EAAQ,CACVC,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,sBAGPC,EAAe,CACjBH,UAAW,QACXC,SAAU,CAAC,CACTC,MAAO,OACPE,IAAK,MAEPC,SAAU,qCAERC,EAAS,CACXN,UAAW,SACXC,SAAU,CAAC,CACTC,MAAO,OACPE,IAAK,OACJ,CACDF,MAAO,OACPE,IAAK,OACJ,CACDF,MAAO,KACPE,IAAK,IACLG,QAAS,OACR,CACDL,MAAO,KACPE,IAAK,IACLG,QAAS,OACR,CACDL,MAAO,MACPE,IAAK,MACLI,SAAU,CAACV,EAAKW,iBAAkBV,EAAOI,IACxC,CACDD,MAAO,MACPE,IAAK,MACLI,SAAU,CAACV,EAAKW,iBAAkBV,EAAOI,IACxC,CACDD,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CAACV,EAAKW,iBAAkBV,EAAOI,IACxC,CACDD,MAAO,IACPE,IAAK,IACLG,QAAS,MACTC,SAAU,CAACV,EAAKW,iBAAkBV,EAAOI,MAG7CA,EAAaK,SAAW,CAACV,EAAKY,cAAeJ,GAC7C,IAAIK,EAAiB,CACrB,aAAc,WAAY,WAAY,WAAY,WAAY,WAAY,OAAQ,MAAO,QAAS,SAAU,UAAW,SAAU,MAAO,YAAa,SAAU,eAAgB,aAAc,SAAU,OAAQ,MAAO,OAAQ,SAAU,MAAO,MAC/O,UAAW,eACPC,EAA0BD,EAAeE,KAAI,SAAUC,GACzD,MAAO,GAAGC,OAAOD,EAAG,QAStB,MAAO,CACLE,KAAM,OACNX,SATa,CACbY,QAAS,6YACTC,SAAUP,EAAeI,OAAOH,GAAyBG,OAAO,CAChE,QAAS,OAAQ,UAAW,QAC5B,WAAY,gBAAiB,mBAAoB,WAAWI,KAAK,KACjEC,SAAU,4BAKVZ,SAAU,CAACF,EAAQR,EAAKuB,QAAQ,UAAW,OAAQ,CACjDC,YAAa,WACbC,UAAW,IACTzB,EAAKuB,QAAQ,WAAY,IAAK,CAChCb,SAAU,CAAC,CACTc,YAAa,WACbpB,MAAO,IACPE,IAAK,IACLmB,UAAW,MAEXzB,EAAK0B,oBAAqB1B,EAAK2B,qBAAsB,CACvDzB,UAAW,QACX0B,cAAe,kBACftB,IAAK,IACLuB,YAAY,EACZnB,SAAU,CAAC,CACTkB,cAAe,sBACd5B,EAAK8B,wBACP9B,EAAKY,cAAe,CACrBV,UAAW,OACXE,MAAO,cACN,CACDA,MAAO","file":"react-syntax-highlighter_languages_highlight_dart-5322c50fb97099996a08.js","sourcesContent":["/*\nLanguage: Dart\nRequires: markdown.js\nAuthor: Maxim Dikun <dikmax@gmail.com>\nDescription: Dart a modern, object-oriented language developed by Google. For more information see https://www.dartlang.org/\nWebsite: https://dart.dev\nCategory: scripting\n*/\nfunction dart(hljs) {\n  var SUBST = {\n    className: 'subst',\n    variants: [{\n      begin: '\\\\$[A-Za-z0-9_]+'\n    }]\n  };\n  var BRACED_SUBST = {\n    className: 'subst',\n    variants: [{\n      begin: '\\\\${',\n      end: '}'\n    }],\n    keywords: 'true false null this is new super'\n  };\n  var STRING = {\n    className: 'string',\n    variants: [{\n      begin: 'r\\'\\'\\'',\n      end: '\\'\\'\\''\n    }, {\n      begin: 'r\"\"\"',\n      end: '\"\"\"'\n    }, {\n      begin: 'r\\'',\n      end: '\\'',\n      illegal: '\\\\n'\n    }, {\n      begin: 'r\"',\n      end: '\"',\n      illegal: '\\\\n'\n    }, {\n      begin: '\\'\\'\\'',\n      end: '\\'\\'\\'',\n      contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]\n    }, {\n      begin: '\"\"\"',\n      end: '\"\"\"',\n      contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]\n    }, {\n      begin: '\\'',\n      end: '\\'',\n      illegal: '\\\\n',\n      contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]\n    }, {\n      begin: '\"',\n      end: '\"',\n      illegal: '\\\\n',\n      contains: [hljs.BACKSLASH_ESCAPE, SUBST, BRACED_SUBST]\n    }]\n  };\n  BRACED_SUBST.contains = [hljs.C_NUMBER_MODE, STRING];\n  var BUILT_IN_TYPES = [// dart:core\n  'Comparable', 'DateTime', 'Duration', 'Function', 'Iterable', 'Iterator', 'List', 'Map', 'Match', 'Object', 'Pattern', 'RegExp', 'Set', 'Stopwatch', 'String', 'StringBuffer', 'StringSink', 'Symbol', 'Type', 'Uri', 'bool', 'double', 'int', 'num', // dart:html\n  'Element', 'ElementList'];\n  var NULLABLE_BUILT_IN_TYPES = BUILT_IN_TYPES.map(function (e) {\n    return \"\".concat(e, \"?\");\n  });\n  var KEYWORDS = {\n    keyword: 'abstract as assert async await break case catch class const continue covariant default deferred do ' + 'dynamic else enum export extends extension external factory false final finally for Function get hide if ' + 'implements import in inferface is late library mixin new null on operator part required rethrow return set ' + 'show static super switch sync this throw true try typedef var void while with yield',\n    built_in: BUILT_IN_TYPES.concat(NULLABLE_BUILT_IN_TYPES).concat([// dart:core\n    'Never', 'Null', 'dynamic', 'print', // dart:html\n    'document', 'querySelector', 'querySelectorAll', 'window']).join(' '),\n    $pattern: /[A-Za-z][A-Za-z0-9_]*\\??/\n  };\n  return {\n    name: 'Dart',\n    keywords: KEYWORDS,\n    contains: [STRING, hljs.COMMENT('/\\\\*\\\\*', '\\\\*/', {\n      subLanguage: 'markdown',\n      relevance: 0\n    }), hljs.COMMENT('///+\\\\s*', '$', {\n      contains: [{\n        subLanguage: 'markdown',\n        begin: '.',\n        end: '$',\n        relevance: 0\n      }]\n    }), hljs.C_LINE_COMMENT_MODE, hljs.C_BLOCK_COMMENT_MODE, {\n      className: 'class',\n      beginKeywords: 'class interface',\n      end: '{',\n      excludeEnd: true,\n      contains: [{\n        beginKeywords: 'extends implements'\n      }, hljs.UNDERSCORE_TITLE_MODE]\n    }, hljs.C_NUMBER_MODE, {\n      className: 'meta',\n      begin: '@[A-Za-z]+'\n    }, {\n      begin: '=>' // No markup, just a relevance booster\n\n    }]\n  };\n}\n\nmodule.exports = dart;"],"sourceRoot":""}