{"ast":null,"code":"// Process {ruby base|ruby text}\n\n'use strict';\n\nfunction ddmd_ruby(state, silent) {\n var token,\n tokens,\n max = state.posMax,\n start = state.pos,\n devPos,\n closePos,\n baseText,\n rubyText,\n baseArray,\n rubyArray;\n if (silent) {\n return false;\n }\n if (state.src.charCodeAt(start) !== 0x7b /* { */) {\n return false;\n }\n if (start + 4 >= max) {\n return false;\n }\n state.pos = start + 1;\n while (state.pos < max) {\n if (devPos) {\n if (state.src.charCodeAt(state.pos) === 0x7D /* } */ && state.src.charCodeAt(state.pos - 1) !== 0x5C /* \\ */) {\n closePos = state.pos;\n break;\n }\n } else if (state.src.charCodeAt(state.pos) === 0x7C /* | */ && state.src.charCodeAt(state.pos - 1) !== 0x5C /* \\ */) {\n devPos = state.pos;\n }\n state.pos++;\n }\n if (!closePos || start + 1 === state.pos) {\n state.pos = start;\n return false;\n }\n state.posMax = state.pos;\n state.pos = start + 1;\n token = state.push('ruby_open', 'ruby', 1);\n token.markup = '{';\n baseText = state.src.slice(start + 1, devPos);\n rubyText = state.src.slice(devPos + 1, closePos);\n baseArray = baseText.split('');\n rubyArray = rubyText.split('|');\n if (baseArray.length === rubyArray.length) {\n baseArray.forEach(function (content, idx) {\n state.md.inline.parse(content, state.md, state.env, tokens = []);\n tokens.forEach(function (t) {\n state.tokens.push(t);\n });\n token = state.push('rt_open', 'rt', 1);\n state.md.inline.parse(rubyArray[idx], state.md, state.env, tokens = []);\n tokens.forEach(function (t) {\n state.tokens.push(t);\n });\n token = state.push('rt_close', 'rt', -1);\n });\n } else {\n state.md.inline.parse(baseText, state.md, state.env, tokens = []);\n tokens.forEach(function (t) {\n state.tokens.push(t);\n });\n token = state.push('rt_open', 'rt', 1);\n state.md.inline.parse(rubyText, state.md, state.env, tokens = []);\n tokens.forEach(function (t) {\n state.tokens.push(t);\n });\n token = state.push('rt_close', 'rt', -1);\n }\n token = state.push('ruby_close', 'ruby', -1);\n token.markup = '}';\n state.pos = state.posMax + 1;\n state.posMax = max;\n return true;\n}\nmodule.exports = function ruby_plugin(md) {\n md.inline.ruler.before('text', 'ddmd_ruby', ddmd_ruby);\n};","map":{"version":3,"names":["ddmd_ruby","state","silent","token","tokens","max","posMax","start","pos","devPos","closePos","baseText","rubyText","baseArray","rubyArray","src","charCodeAt","push","markup","slice","split","length","forEach","content","idx","md","inline","parse","env","t","module","exports","ruby_plugin","ruler","before"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/markdown-it-ruby/index.js"],"sourcesContent":["// Process {ruby base|ruby text}\n\n'use strict';\n\nfunction ddmd_ruby (state, silent) {\n\n var token,\n tokens,\n max = state.posMax,\n start = state.pos,\n devPos,\n closePos,\n baseText,\n rubyText,\n baseArray,\n rubyArray;\n\n if (silent) { return false; }\n if (state.src.charCodeAt(start) !== 0x7b/* { */) { return false; }\n if (start + 4 >= max) {return false; }\n\n state.pos = start + 1;\n\n while (state.pos < max) {\n\n if (devPos) {\n\n if (\n state.src.charCodeAt(state.pos) === 0x7D/* } */\n && state.src.charCodeAt(state.pos - 1) !== 0x5C/* \\ */\n ) {\n closePos = state.pos;\n break;\n }\n\n } else if (state.src.charCodeAt(state.pos) === 0x7C/* | */ \n && state.src.charCodeAt(state.pos - 1) !== 0x5C/* \\ */) {\n devPos = state.pos;\n }\n\n state.pos++;\n }\n\n if (!closePos || start + 1 === state.pos) {\n state.pos = start;\n return false;\n }\n\n state.posMax = state.pos;\n state.pos = start + 1;\n\n token = state.push('ruby_open', 'ruby', 1);\n token.markup = '{';\n\n baseText = state.src.slice(start + 1, devPos);\n rubyText = state.src.slice(devPos + 1, closePos);\n\n baseArray = baseText.split('');\n rubyArray = rubyText.split('|');\n\n if (baseArray.length === rubyArray.length) {\n\n baseArray.forEach(function(content, idx) {\n\n state.md.inline.parse(\n content,\n state.md,\n state.env,\n tokens = []\n );\n\n tokens.forEach(function(t) {\n state.tokens.push(t);\n });\n\n token = state.push('rt_open', 'rt', 1);\n\n state.md.inline.parse(\n rubyArray[idx],\n state.md,\n state.env,\n tokens = []\n );\n\n tokens.forEach(function(t) {\n state.tokens.push(t);\n });\n\n token = state.push('rt_close', 'rt', -1);\n\n });\n\n } else {\n\n state.md.inline.parse(\n baseText,\n state.md,\n state.env,\n tokens = []\n );\n\n tokens.forEach(function(t) {\n state.tokens.push(t);\n });\n\n token = state.push('rt_open', 'rt', 1);\n\n state.md.inline.parse(\n rubyText,\n state.md,\n state.env,\n tokens = []\n );\n\n tokens.forEach(function(t) {\n state.tokens.push(t);\n });\n\n token = state.push('rt_close', 'rt', -1);\n\n }\n\n token = state.push('ruby_close', 'ruby', -1);\n token.markup = '}';\n\n state.pos = state.posMax + 1;\n state.posMax = max;\n\n return true;\n}\n\nmodule.exports = function ruby_plugin(md) {\n md.inline.ruler.before('text', 'ddmd_ruby', ddmd_ruby);\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]}