{"version":3,"sources":["webpack:///./node_modules/lowlight/lib/core.js","webpack:///./node_modules/lowlight/lib/common.js"],"names":["own","hasOwnProperty","defaultPrefix","highlight","language","value","options","prefix","fault","getLanguage","undefined","configure","__emitter","HastEmitter","classPrefix","result","ignoreIllegals","errorRaised","_emitter","root","data","relevance","highlightAuto","subset","listLanguages","index","type","children","length","name","current","registerLanguage","syntax","registerAlias","alias","registerAliases","languageName","key","call","registered","aliasOrLanguage","Boolean","this","stack","tail","push","openNode","addText","closeNode","other","results","tagName","properties","className","split","map","d","i","repeat","child","pop","lowlight","a"],"mappings":"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","file":"js/group-lesson~4dcf2892.6117d2b2.js","sourcesContent":["/**\n * @typedef {import('hast').Text} Text\n * @typedef {import('highlight.js').HighlightResult} HighlightResult\n * @typedef {import('highlight.js').HLJSOptions} HighlightOptions\n * @typedef {import('highlight.js').LanguageFn} HighlightSyntax\n * @typedef {import('highlight.js').Emitter} HighlightEmitter\n *\n * @typedef {{type: 'element', tagName: 'span', properties: {className: Array}, children: Array}} Span\n * @typedef {{type: 'root', data: {language: string|null, relevance: number}, children: Array}} Root\n *\n * @typedef {Object} ExtraOptions\n * @property {Array} [subset]\n * List of allowed languages, defaults to all registered languages.\n *\n * @typedef {Object} Options\n * Configuration.\n * @property {string} [prefix='hljs-']\n * Class prefix.\n *\n * @typedef {Options & ExtraOptions} AutoOptions\n */\n\nimport high from 'highlight.js/lib/core'\nimport {fault} from 'fault'\n\nconst own = {}.hasOwnProperty\n\nconst defaultPrefix = 'hljs-'\n\n/**\n * Highlight `value` (code) as `language` (name).\n *\n * @param {string} language\n * Programming language name.\n * @param {string} value\n * Code to highlight.\n * @param {Options} [options={}]\n * Configuration.\n * @returns {Root}\n * A hast `Root` node.\n */\nfunction highlight(language, value, options = {}) {\n let prefix = options.prefix\n\n if (typeof language !== 'string') {\n throw fault('Expected `string` for name, got `%s`', language)\n }\n\n if (!high.getLanguage(language)) {\n throw fault('Unknown language: `%s` is not registered', language)\n }\n\n if (typeof value !== 'string') {\n throw fault('Expected `string` for value, got `%s`', value)\n }\n\n if (prefix === null || prefix === undefined) {\n prefix = defaultPrefix\n }\n\n high.configure({__emitter: HastEmitter, classPrefix: prefix})\n\n const result = /** @type {HighlightResult & {_emitter: HastEmitter}} */ (\n high.highlight(value, {language, ignoreIllegals: true})\n )\n\n high.configure({})\n\n // `highlight.js` seems to use this (currently) for broken grammars, so let’s\n // keep it in there just to be sure.\n /* c8 ignore next 3 */\n if (result.errorRaised) {\n throw result.errorRaised\n }\n\n // @ts-expect-error: `language` is always defined in `highlight`.\n result._emitter.root.data.language = result.language\n result._emitter.root.data.relevance = result.relevance\n\n return result._emitter.root\n}\n\n/**\n * Highlight `value` (code) and guess its programming language.\n *\n * @param {string} value\n * Code to highlight.\n * @param {AutoOptions} [options={}]\n * Configuration.\n * @returns {Root}\n * A hast `Root` node.\n */\nfunction highlightAuto(value, options = {}) {\n const subset = options.subset || high.listLanguages()\n let prefix = options.prefix\n let index = -1\n /** @type {Root} */\n let result = {\n type: 'root',\n data: {language: null, relevance: 0},\n children: []\n }\n\n if (prefix === null || prefix === undefined) {\n prefix = defaultPrefix\n }\n\n if (typeof value !== 'string') {\n throw fault('Expected `string` for value, got `%s`', value)\n }\n\n while (++index < subset.length) {\n const name = subset[index]\n\n if (!high.getLanguage(name)) continue\n\n const current = highlight(name, value, options)\n\n if (current.data.relevance > result.data.relevance) result = current\n }\n\n return result\n}\n\n/**\n * Register a language.\n *\n * @param {string} language\n * Programming language name.\n * @param {HighlightSyntax} syntax\n * `highlight.js` language syntax.\n * @returns {void}\n */\nfunction registerLanguage(language, syntax) {\n high.registerLanguage(language, syntax)\n}\n\n/**\n * Register aliases for already registered languages.\n *\n * @param {string|Record>} language\n * Programming language name or a map of `language`s to `alias`es or `list`s\n * @param {string|Array} [alias]\n * New aliases for the programming language.\n * @returns {void}\n */\nconst registerAlias =\n /**\n * @type {(\n * ((language: string, alias: string|Array) => void) &\n * ((aliases: Record>) => void)\n * )}\n */\n (\n /**\n * @param {string|Record>} language\n * @param {string|Array} [alias]\n * @returns {void}\n */\n function (language, alias) {\n if (typeof language === 'string') {\n // @ts-expect-error: should be a string in this overload.\n high.registerAliases(alias, {languageName: language})\n } else {\n /** @type {string} */\n let key\n\n for (key in language) {\n if (own.call(language, key)) {\n high.registerAliases(language[key], {languageName: key})\n }\n }\n }\n }\n )\n\n/**\n * Check whether an `alias` or `language` is registered.\n *\n * @param {string} aliasOrLanguage\n * Name of a registered language or alias.\n * @returns {boolean}\n * Whether `aliasOrlanguage` is registered.\n */\nfunction registered(aliasOrLanguage) {\n return Boolean(high.getLanguage(aliasOrLanguage))\n}\n\n/**\n * List registered languages.\n *\n * @returns {Array}\n * Names of registered language.\n */\nfunction listLanguages() {\n return high.listLanguages()\n}\n\n/** @type {HighlightEmitter} */\nclass HastEmitter {\n /**\n * @param {HighlightOptions} options\n */\n constructor(options) {\n /** @type {HighlightOptions} */\n this.options = options\n /** @type {Root} */\n this.root = {\n type: 'root',\n data: {language: null, relevance: 0},\n children: []\n }\n /** @type {[Root, ...Span[]]} */\n this.stack = [this.root]\n }\n\n /**\n * @param {string} value\n */\n addText(value) {\n if (value === '') return\n\n const current = this.stack[this.stack.length - 1]\n const tail = current.children[current.children.length - 1]\n\n if (tail && tail.type === 'text') {\n tail.value += value\n } else {\n current.children.push({type: 'text', value})\n }\n }\n\n /**\n * @param {string} value\n * @param {string} name\n */\n addKeyword(value, name) {\n this.openNode(name)\n this.addText(value)\n this.closeNode()\n }\n\n /**\n * @param {HastEmitter} other\n * @param {string} name\n */\n addSublanguage(other, name) {\n const current = this.stack[this.stack.length - 1]\n const results = other.root.children\n\n if (name) {\n current.children.push({\n type: 'element',\n tagName: 'span',\n properties: {className: [name]},\n children: results\n })\n } else {\n current.children.push(...results)\n }\n }\n\n /**\n * @param {string} name\n */\n openNode(name) {\n // First “class” gets the prefix. Rest gets a repeated underscore suffix.\n // See: \n // See: \n const className = name\n .split('.')\n .map((d, i) => (i ? d + '_'.repeat(i) : this.options.classPrefix + d))\n const current = this.stack[this.stack.length - 1]\n /** @type {Span} */\n const child = {\n type: 'element',\n tagName: 'span',\n properties: {className},\n children: []\n }\n\n current.children.push(child)\n this.stack.push(child)\n }\n\n /**\n */\n closeNode() {\n this.stack.pop()\n }\n\n /**\n */\n closeAllNodes() {}\n\n /**\n */\n finalize() {}\n\n /**\n */\n toHTML() {\n return ''\n }\n}\n\nexport const lowlight = {\n highlight,\n highlightAuto,\n registerLanguage,\n registered,\n listLanguages,\n registerAlias\n}\n","import arduino from 'highlight.js/lib/languages/arduino'\nimport bash from 'highlight.js/lib/languages/bash'\nimport c from 'highlight.js/lib/languages/c'\nimport cpp from 'highlight.js/lib/languages/cpp'\nimport csharp from 'highlight.js/lib/languages/csharp'\nimport css from 'highlight.js/lib/languages/css'\nimport diff from 'highlight.js/lib/languages/diff'\nimport go from 'highlight.js/lib/languages/go'\nimport ini from 'highlight.js/lib/languages/ini'\nimport java from 'highlight.js/lib/languages/java'\nimport javascript from 'highlight.js/lib/languages/javascript'\nimport json from 'highlight.js/lib/languages/json'\nimport kotlin from 'highlight.js/lib/languages/kotlin'\nimport less from 'highlight.js/lib/languages/less'\nimport lua from 'highlight.js/lib/languages/lua'\nimport makefile from 'highlight.js/lib/languages/makefile'\nimport markdown from 'highlight.js/lib/languages/markdown'\nimport objectivec from 'highlight.js/lib/languages/objectivec'\nimport perl from 'highlight.js/lib/languages/perl'\nimport php from 'highlight.js/lib/languages/php'\nimport phpTemplate from 'highlight.js/lib/languages/php-template'\nimport plaintext from 'highlight.js/lib/languages/plaintext'\nimport python from 'highlight.js/lib/languages/python'\nimport pythonRepl from 'highlight.js/lib/languages/python-repl'\nimport r from 'highlight.js/lib/languages/r'\nimport ruby from 'highlight.js/lib/languages/ruby'\nimport rust from 'highlight.js/lib/languages/rust'\nimport scss from 'highlight.js/lib/languages/scss'\nimport shell from 'highlight.js/lib/languages/shell'\nimport sql from 'highlight.js/lib/languages/sql'\nimport swift from 'highlight.js/lib/languages/swift'\nimport typescript from 'highlight.js/lib/languages/typescript'\nimport vbnet from 'highlight.js/lib/languages/vbnet'\nimport xml from 'highlight.js/lib/languages/xml'\nimport yaml from 'highlight.js/lib/languages/yaml'\nimport {lowlight} from './core.js'\n\nlowlight.registerLanguage('arduino', arduino)\nlowlight.registerLanguage('bash', bash)\nlowlight.registerLanguage('c', c)\nlowlight.registerLanguage('cpp', cpp)\nlowlight.registerLanguage('csharp', csharp)\nlowlight.registerLanguage('css', css)\nlowlight.registerLanguage('diff', diff)\nlowlight.registerLanguage('go', go)\nlowlight.registerLanguage('ini', ini)\nlowlight.registerLanguage('java', java)\nlowlight.registerLanguage('javascript', javascript)\nlowlight.registerLanguage('json', json)\nlowlight.registerLanguage('kotlin', kotlin)\nlowlight.registerLanguage('less', less)\nlowlight.registerLanguage('lua', lua)\nlowlight.registerLanguage('makefile', makefile)\nlowlight.registerLanguage('markdown', markdown)\nlowlight.registerLanguage('objectivec', objectivec)\nlowlight.registerLanguage('perl', perl)\nlowlight.registerLanguage('php', php)\nlowlight.registerLanguage('php-template', phpTemplate)\nlowlight.registerLanguage('plaintext', plaintext)\nlowlight.registerLanguage('python', python)\nlowlight.registerLanguage('python-repl', pythonRepl)\nlowlight.registerLanguage('r', r)\nlowlight.registerLanguage('ruby', ruby)\nlowlight.registerLanguage('rust', rust)\nlowlight.registerLanguage('scss', scss)\nlowlight.registerLanguage('shell', shell)\nlowlight.registerLanguage('sql', sql)\nlowlight.registerLanguage('swift', swift)\nlowlight.registerLanguage('typescript', typescript)\nlowlight.registerLanguage('vbnet', vbnet)\nlowlight.registerLanguage('xml', xml)\nlowlight.registerLanguage('yaml', yaml)\n\nexport {lowlight} from './core.js'\n"],"sourceRoot":""}