diff --git a/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js b/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js
index ec4dcbeda..f2491e03d 100644
--- a/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js
+++ b/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js
@@ -178,22 +178,7 @@ function mergeTrees(trees) {
}
}
}
- if (result.cues.length === 0) result.cues = [
- ...tree.cues
- ];
- else for(let l = 0; l < result.cues.length; l++){
- const a = result.cues[l].tree.children;
- const b = tree.cues[l]?.tree?.children;
- result.cues[l] = {
- ...result.cues[l],
- tree: {
- children: [
- ...a,
- ...b
- ]
- }
- };
- }
+ result.cues.push(...tree.cues);
}
return result;
}
@@ -246,9 +231,6 @@ function artplayerPluginMultipleSubtitles({ subtitles = [] }) {
};
};
}
-artplayerPluginMultipleSubtitles.env = "development";
-artplayerPluginMultipleSubtitles.version = "1.0.0";
-artplayerPluginMultipleSubtitles.build = "2023-11-24 09:22:00";
if (typeof window !== "undefined") window["artplayerPluginMultipleSubtitles"] = artplayerPluginMultipleSubtitles;
},{"./parser":"eko7u","@parcel/transformer-js/src/esmodule-helpers.js":"5dUr6"}],"eko7u":[function(require,module,exports) {
@@ -978,7 +960,7 @@ exports.defineInteropFlag = function(a) {
};
exports.exportAll = function(source, dest) {
Object.keys(source).forEach(function(key) {
- if (key === "default" || key === "__esModule" || dest.hasOwnProperty(key)) return;
+ if (key === "default" || key === "__esModule" || Object.prototype.hasOwnProperty.call(dest, key)) return;
Object.defineProperty(dest, key, {
enumerable: true,
get: function() {
diff --git a/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js.map b/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js.map
index 811060513..169c65742 100644
--- a/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js.map
+++ b/docs/uncompiled/artplayer-plugin-multiple-subtitles/index.js.map
@@ -1 +1 @@
-{"mappings":"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","sources":["packages/artplayer-plugin-multiple-subtitles/src/index.js","packages/artplayer-plugin-multiple-subtitles/src/parser.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["import { WebVTTParser, WebVTTSerializer } from './parser';\n\nasync function loadVtt(option, { getExt, srtToVtt, assToVtt }) {\n const response = await fetch(option.url);\n const buffer = await response.arrayBuffer();\n const decoder = new TextDecoder(option.encoding || 'utf-8');\n const text = decoder.decode(buffer);\n switch (option.type || getExt(option.url)) {\n case 'srt': {\n return srtToVtt(text);\n }\n case 'ass': {\n return assToVtt(text);\n }\n case 'vtt': {\n return text;\n }\n default:\n return '';\n }\n}\n\nfunction mergeTrees(trees) {\n const parser = new WebVTTParser();\n const result = parser.parse('', 'metadata');\n\n for (let i = 0; i < trees.length; i++) {\n const tree = trees[i];\n\n if (!tree.updated) {\n tree.updated = true;\n for (let j = 0; j < tree.cues.length; j++) {\n const cue = tree.cues[j];\n for (let k = 0; k < cue.tree.children.length; k++) {\n const children = cue.tree.children[k];\n children.value = `
${children.value}
`;\n }\n }\n }\n\n if (result.cues.length === 0) {\n result.cues = [...tree.cues];\n } else {\n for (let l = 0; l < result.cues.length; l++) {\n const a = result.cues[l].tree.children;\n const b = tree.cues[l]?.tree?.children;\n result.cues[l] = { ...result.cues[l], tree: { children: [...a, ...b] } };\n }\n }\n }\n\n return result;\n}\n\nexport default function artplayerPluginMultipleSubtitles({ subtitles = [] }) {\n return async (art) => {\n const { unescape, getExt, srtToVtt, assToVtt } = art.constructor.utils;\n\n const parser = new WebVTTParser();\n const seri = new WebVTTSerializer();\n\n const vtts = await Promise.all(\n subtitles.map((option) => {\n return loadVtt(option, { getExt, srtToVtt, assToVtt });\n }),\n );\n\n const trees = vtts.map((vtt, index) => {\n const tree = parser.parse(vtt, 'metadata');\n tree.url = subtitles[index].url;\n tree.name = subtitles[index].name;\n return tree;\n });\n\n let lastUrl = '';\n function setTracks(trees = []) {\n const tree = mergeTrees(trees);\n const vtt = seri.serialize(tree.cues);\n URL.revokeObjectURL(lastUrl);\n const url = URL.createObjectURL(new Blob([vtt], { type: 'text/vtt' }));\n lastUrl = url;\n art.option.subtitle.escape = false;\n art.subtitle.init({\n ...art.option.subtitle,\n url,\n type: 'vtt',\n onVttLoad: unescape,\n });\n }\n\n setTracks(trees);\n\n return {\n name: 'multipleSubtitles',\n tracks(names = []) {\n return setTracks(names.map((name) => trees.find((tree) => tree.name === name)));\n },\n reset() {\n return setTracks(trees);\n },\n };\n };\n}\n\nartplayerPluginMultipleSubtitles.env = process.env.NODE_ENV;\nartplayerPluginMultipleSubtitles.version = process.env.APP_VER;\nartplayerPluginMultipleSubtitles.build = process.env.BUILD_DATE;\n\nif (typeof window !== 'undefined') {\n window['artplayerPluginMultipleSubtitles'] = artplayerPluginMultipleSubtitles;\n}\n","// Any copyright is dedicated to the Public Domain.\n// http://creativecommons.org/publicdomain/zero/1.0/\n\n// Not intended to be fast, but if you can make it faster, please help out!\n\n/* eslint-disable */\n(function () {\n var defaultCueSettings = {\n direction: 'horizontal',\n snapToLines: true,\n linePosition: 'auto',\n lineAlign: 'start',\n textPosition: 'auto',\n positionAlign: 'auto',\n size: 100,\n alignment: 'center',\n };\n\n var WebVTTParser = function (entities) {\n if (!entities) {\n entities = {\n '&': '&',\n '<': '<',\n '>': '>',\n '&lrm': '\\u200e',\n '&rlm': '\\u200f',\n ' ': '\\u00A0',\n };\n }\n this.entities = entities;\n this.parse = function (input, mode) {\n // global search and replace for \\0\n input = input.replace(/\\0/g, '\\uFFFD');\n var NEWLINE = /\\r\\n|\\r|\\n/,\n startTime = Date.now(),\n linePos = 0,\n lines = input.split(NEWLINE),\n alreadyCollected = false,\n styles = [],\n cues = [],\n errors = [];\n function err(message, col) {\n errors.push({ message: message, line: linePos + 1, col: col });\n }\n\n var line = lines[linePos],\n lineLength = line.length,\n signature = 'WEBVTT',\n bom = 0,\n signature_length = signature.length;\n\n /* Byte order mark */\n if (line[0] === '\\ufeff') {\n bom = 1;\n signature_length += 1;\n }\n /* SIGNATURE */\n if (\n lineLength < signature_length ||\n line.indexOf(signature) !== 0 + bom ||\n (lineLength > signature_length && line[signature_length] !== ' ' && line[signature_length] !== '\\t')\n ) {\n err('No valid signature. (File needs to start with \"WEBVTT\".)');\n }\n\n linePos++;\n\n /* HEADER */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n err('No blank line after the signature.');\n if (lines[linePos].indexOf('-->') != -1) {\n alreadyCollected = true;\n break;\n }\n linePos++;\n }\n\n /* CUE LOOP */\n while (lines[linePos] != undefined) {\n var cue;\n while (!alreadyCollected && lines[linePos] == '') {\n linePos++;\n }\n if (!alreadyCollected && lines[linePos] == undefined) break;\n\n /* CUE CREATION */\n cue = Object.assign({}, defaultCueSettings, {\n id: '',\n startTime: 0,\n endTime: 0,\n pauseOnExit: false,\n direction: 'horizontal',\n snapToLines: true,\n linePosition: 'auto',\n lineAlign: 'start',\n textPosition: 'auto',\n positionAlign: 'auto',\n size: 100,\n alignment: 'center',\n text: '',\n tree: null,\n });\n\n var parseTimings = true;\n\n if (lines[linePos].indexOf('-->') == -1) {\n cue.id = lines[linePos];\n\n /* COMMENTS\n Not part of the specification's parser as these would just be ignored. However,\n we want them to be conforming and not get \"Cue identifier cannot be standalone\".\n */\n if (/^NOTE($|[ \\t])/.test(cue.id)) {\n // .startsWith fails in Chrome\n linePos++;\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) err('Cannot have timestamp in a comment.');\n linePos++;\n }\n continue;\n }\n\n /* STYLES */\n if (/^STYLE($|[ \\t])/.test(cue.id)) {\n var style = [];\n var invalid = false;\n linePos++;\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n err('Cannot have timestamp in a style block.');\n invalid = true;\n }\n style.push(lines[linePos]);\n linePos++;\n }\n if (cues.length) {\n err('Style blocks cannot appear after the first cue.');\n continue;\n }\n if (!invalid) {\n styles.push(style.join('\\n'));\n }\n continue;\n }\n\n linePos++;\n\n if (lines[linePos] == '' || lines[linePos] == undefined) {\n err('Cue identifier cannot be standalone.');\n continue;\n }\n\n if (lines[linePos].indexOf('-->') == -1) {\n parseTimings = false;\n err('Cue identifier needs to be followed by timestamp.');\n continue;\n }\n }\n\n /* TIMINGS */\n alreadyCollected = false;\n var timings = new WebVTTCueTimingsAndSettingsParser(lines[linePos], err);\n var previousCueStart = 0;\n if (cues.length > 0) {\n previousCueStart = cues[cues.length - 1].startTime;\n }\n if (parseTimings && !timings.parse(cue, previousCueStart)) {\n /* BAD CUE */\n\n cue = null;\n linePos++;\n\n /* BAD CUE LOOP */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n alreadyCollected = true;\n break;\n }\n linePos++;\n }\n continue;\n }\n linePos++;\n\n /* CUE TEXT LOOP */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n err('Blank line missing before cue.');\n alreadyCollected = true;\n break;\n }\n if (cue.text != '') cue.text += '\\n';\n cue.text += lines[linePos];\n linePos++;\n }\n\n /* CUE TEXT PROCESSING */\n var cuetextparser = new WebVTTCueTextParser(cue.text, err, mode, entities);\n cue.tree = cuetextparser.parse(cue.startTime, cue.endTime);\n cues.push(cue);\n }\n cues.sort(function (a, b) {\n if (a.startTime < b.startTime) return -1;\n if (a.startTime > b.startTime) return 1;\n if (a.endTime > b.endTime) return -1;\n if (a.endTime < b.endTime) return 1;\n return 0;\n });\n /* END */\n return { cues: cues, errors: errors, time: Date.now() - startTime, styles: styles };\n };\n };\n\n var WebVTTCueTimingsAndSettingsParser = function (line, errorHandler) {\n var SPACE = /[\\u0020\\t\\f]/,\n NOSPACE = /[^\\u0020\\t\\f]/,\n line = line,\n pos = 0,\n err = function (message) {\n errorHandler(message, pos + 1);\n },\n spaceBeforeSetting = true;\n function skip(pattern) {\n while (line[pos] != undefined && pattern.test(line[pos])) {\n pos++;\n }\n }\n function collect(pattern) {\n var str = '';\n while (line[pos] != undefined && pattern.test(line[pos])) {\n str += line[pos];\n pos++;\n }\n return str;\n }\n /* http://dev.w3.org/html5/webvtt/#collect-a-webvtt-timestamp */\n function timestamp() {\n var units = 'minutes',\n val1,\n val2,\n val3,\n val4;\n // 3\n if (line[pos] == undefined) {\n err('No timestamp found.');\n return;\n }\n // 4\n if (!/\\d/.test(line[pos])) {\n err('Timestamp must start with a character in the range 0-9.');\n return;\n }\n // 5-7\n val1 = collect(/\\d/);\n if (val1.length > 2 || parseInt(val1, 10) > 59) {\n units = 'hours';\n }\n // 8\n if (line[pos] != ':') {\n err('No time unit separator found.');\n return;\n }\n pos++;\n // 9-11\n val2 = collect(/\\d/);\n if (val2.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n // 12\n if (units == 'hours' || line[pos] == ':') {\n if (line[pos] != ':') {\n err('No seconds found or minutes is greater than 59.');\n return;\n }\n pos++;\n val3 = collect(/\\d/);\n if (val3.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n } else {\n if (val1.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n val3 = val2;\n val2 = val1;\n val1 = '0';\n }\n // 13\n if (line[pos] != '.') {\n err('No decimal separator (\".\") found.');\n return;\n }\n pos++;\n // 14-16\n val4 = collect(/\\d/);\n if (val4.length != 3) {\n err('Milliseconds must be given in three digits.');\n return;\n }\n // 17\n if (parseInt(val2, 10) > 59) {\n err('You cannot have more than 59 minutes.');\n return;\n }\n if (parseInt(val3, 10) > 59) {\n err('You cannot have more than 59 seconds.');\n return;\n }\n return (\n parseInt(val1, 10) * 60 * 60 + parseInt(val2, 10) * 60 + parseInt(val3, 10) + parseInt(val4, 10) / 1000\n );\n }\n\n /* http://dev.w3.org/html5/webvtt/#parse-the-webvtt-settings */\n function parseSettings(input, cue) {\n var settings = input.split(SPACE),\n seen = [];\n for (var i = 0; i < settings.length; i++) {\n if (settings[i] == '') continue;\n\n var index = settings[i].indexOf(':'),\n setting = settings[i].slice(0, index),\n value = settings[i].slice(index + 1);\n\n if (seen.indexOf(setting) != -1) {\n err('Duplicate setting.');\n }\n seen.push(setting);\n\n if (value == '') {\n err('No value for setting defined.');\n return;\n }\n\n if (setting == 'vertical') {\n // writing direction\n if (value != 'rl' && value != 'lr') {\n err(\"Writing direction can only be set to 'rl' or 'rl'.\");\n continue;\n }\n cue.direction = value;\n } else if (setting == 'line') {\n // line position and optionally line alignment\n if (/,/.test(value)) {\n var comp = value.split(',');\n value = comp[0];\n var lineAlign = comp[1];\n }\n if (!/^[-\\d](\\d*)(\\.\\d+)?%?$/.test(value)) {\n err('Line position takes a number or percentage.');\n continue;\n }\n if (value.indexOf('-', 1) != -1) {\n err(\"Line position can only have '-' at the start.\");\n continue;\n }\n if (value.indexOf('%') != -1 && value.indexOf('%') != value.length - 1) {\n err(\"Line position can only have '%' at the end.\");\n continue;\n }\n if (value[0] == '-' && value[value.length - 1] == '%') {\n err('Line position cannot be a negative percentage.');\n continue;\n }\n var numVal = value;\n var isPercent = false;\n if (value[value.length - 1] == '%') {\n isPercent = true;\n numVal = value.slice(0, value.length - 1);\n if (parseInt(value, 10) > 100) {\n err('Line position cannot be >100%.');\n continue;\n }\n }\n if (numVal === '' || isNaN(numVal) || !isFinite(numVal)) {\n err('Line position needs to be a number');\n continue;\n }\n if (lineAlign !== undefined) {\n if (!['start', 'center', 'end'].includes(lineAlign)) {\n err('Line alignment needs to be one of start, center or end');\n continue;\n }\n cue.lineAlign = lineAlign;\n }\n cue.snapToLines = !isPercent;\n cue.linePosition = parseFloat(numVal);\n if (parseFloat(numVal).toString() !== numVal) {\n cue.nonSerializable = true;\n }\n } else if (setting == 'position') {\n // text position and optional positionAlign\n if (/,/.test(value)) {\n var comp = value.split(',');\n value = comp[0];\n var positionAlign = comp[1];\n }\n if (value[value.length - 1] != '%') {\n err('Text position must be a percentage.');\n continue;\n }\n if (parseInt(value, 10) > 100 || parseInt(value, 10) < 0) {\n err('Text position needs to be between 0 and 100%.');\n continue;\n }\n numVal = value.slice(0, value.length - 1);\n if (numVal === '' || isNaN(numVal) || !isFinite(numVal)) {\n err('Line position needs to be a number');\n continue;\n }\n if (positionAlign !== undefined) {\n if (!['line-left', 'center', 'line-right'].includes(positionAlign)) {\n err('Position alignment needs to be one of line-left, center or line-right');\n continue;\n }\n cue.positionAlign = positionAlign;\n }\n cue.textPosition = parseFloat(numVal);\n } else if (setting == 'size') {\n // size\n if (value[value.length - 1] != '%') {\n err('Size must be a percentage.');\n continue;\n }\n if (parseInt(value, 10) > 100) {\n err('Size cannot be >100%.');\n continue;\n }\n var size = value.slice(0, value.length - 1);\n if (size === undefined || size === '' || isNaN(size)) {\n err('Size needs to be a number');\n size = 100;\n continue;\n } else {\n size = parseFloat(size);\n if (size < 0 || size > 100) {\n err('Size needs to be between 0 and 100%.');\n continue;\n }\n }\n cue.size = size;\n } else if (setting == 'align') {\n // alignment\n var alignValues = ['start', 'center', 'end', 'left', 'right'];\n if (alignValues.indexOf(value) == -1) {\n err('Alignment can only be set to one of ' + alignValues.join(', ') + '.');\n continue;\n }\n cue.alignment = value;\n } else {\n err('Invalid setting.');\n }\n }\n }\n\n this.parse = function (cue, previousCueStart) {\n skip(SPACE);\n cue.startTime = timestamp();\n if (cue.startTime == undefined) {\n return;\n }\n if (cue.startTime < previousCueStart) {\n err('Start timestamp is not greater than or equal to start timestamp of previous cue.');\n }\n if (NOSPACE.test(line[pos])) {\n err(\"Timestamp not separated from '-->' by whitespace.\");\n }\n skip(SPACE);\n // 6-8\n if (line[pos] != '-') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (line[pos] != '-') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (line[pos] != '>') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (NOSPACE.test(line[pos])) {\n err(\"'-->' not separated from timestamp by whitespace.\");\n }\n skip(SPACE);\n cue.endTime = timestamp();\n if (cue.endTime == undefined) {\n return;\n }\n if (cue.endTime <= cue.startTime) {\n err('End timestamp is not greater than start timestamp.');\n }\n\n if (NOSPACE.test(line[pos])) {\n spaceBeforeSetting = false;\n }\n skip(SPACE);\n parseSettings(line.substring(pos), cue);\n return true;\n };\n this.parseTimestamp = function () {\n var ts = timestamp();\n if (line[pos] != undefined) {\n err('Timestamp must not have trailing characters.');\n return;\n }\n return ts;\n };\n };\n\n var WebVTTCueTextParser = function (line, errorHandler, mode, entities) {\n this.entities = entities;\n var self = this;\n var line = line,\n pos = 0,\n err = function (message) {\n if (mode == 'metadata') return;\n errorHandler(message, pos + 1);\n };\n\n this.parse = function (cueStart, cueEnd) {\n function removeCycles(tree) {\n const cyclelessTree = { ...tree };\n if (tree.children) {\n cyclelessTree.children = tree.children.map(removeCycles);\n }\n if (cyclelessTree.parent) {\n delete cyclelessTree.parent;\n }\n return cyclelessTree;\n }\n\n var result = { children: [] },\n current = result,\n timestamps = [];\n\n function attach(token) {\n current.children.push({\n type: 'object',\n name: token[1],\n classes: token[2],\n children: [],\n parent: current,\n });\n current = current.children[current.children.length - 1];\n }\n function inScope(name) {\n var node = current;\n while (node) {\n if (node.name == name) return true;\n node = node.parent;\n }\n return;\n }\n\n while (line[pos] != undefined) {\n var token = nextToken();\n if (token[0] == 'text') {\n current.children.push({ type: 'text', value: token[1], parent: current });\n } else if (token[0] == 'start tag') {\n if (mode == 'chapters') err('Start tags not allowed in chapter title text.');\n var name = token[1];\n if (name != 'v' && name != 'lang' && token[3] != '') {\n err('Only and can have an annotation.');\n }\n if (name == 'c' || name == 'i' || name == 'b' || name == 'u' || name == 'ruby') {\n attach(token);\n } else if (name == 'rt' && current.name == 'ruby') {\n attach(token);\n } else if (name == 'v') {\n if (inScope('v')) {\n err(' cannot be nested inside itself.');\n }\n attach(token);\n current.value = token[3]; // annotation\n if (!token[3]) {\n err(' requires an annotation.');\n }\n } else if (name == 'lang') {\n attach(token);\n current.value = token[3]; // language\n } else {\n err('Incorrect start tag.');\n }\n } else if (token[0] == 'end tag') {\n if (mode == 'chapters') err('End tags not allowed in chapter title text.');\n // XXX check content\n if (token[1] == current.name) {\n current = current.parent;\n } else if (token[1] == 'ruby' && current.name == 'rt') {\n current = current.parent.parent;\n } else {\n err('Incorrect end tag.');\n }\n } else if (token[0] == 'timestamp') {\n if (mode == 'chapters') err('Timestamp not allowed in chapter title text.');\n var timings = new WebVTTCueTimingsAndSettingsParser(token[1], err),\n timestamp = timings.parseTimestamp();\n if (timestamp != undefined) {\n if (timestamp <= cueStart || timestamp >= cueEnd) {\n err('Timestamp must be between start timestamp and end timestamp.');\n }\n if (timestamps.length > 0 && timestamps[timestamps.length - 1] >= timestamp) {\n err('Timestamp must be greater than any previous timestamp.');\n }\n current.children.push({ type: 'timestamp', value: timestamp, parent: current });\n timestamps.push(timestamp);\n }\n }\n }\n while (current.parent) {\n if (current.name != 'v') {\n err('Required end tag missing.');\n }\n current = current.parent;\n }\n return removeCycles(result);\n };\n\n function nextToken() {\n var state = 'data',\n result = '',\n buffer = '',\n classes = [];\n while (line[pos - 1] != undefined || pos == 0) {\n var c = line[pos];\n if (state == 'data') {\n if (c == '&') {\n buffer = c;\n state = 'escape';\n } else if (c == '<' && result == '') {\n state = 'tag';\n } else if (c == '<' || c == undefined) {\n return ['text', result];\n } else {\n result += c;\n }\n } else if (state == 'escape') {\n if (c == '<' || c == undefined) {\n err('Incorrect escape.');\n let m;\n if ((m = buffer.match(/^([0-9]+)$/))) {\n result += String.fromCharCode(m[1]);\n } else {\n if (self.entities[buffer]) {\n result += self.entities[buffer];\n } else {\n result += buffer;\n }\n }\n return ['text', result];\n } else if (c == '&') {\n err('Incorrect escape.');\n result += buffer;\n buffer = c;\n } else if (/[a-z#0-9]/i.test(c)) {\n buffer += c;\n } else if (c == ';') {\n let m;\n if ((m = buffer.match(/^(x?[0-9]+)$/))) {\n // we prepend \"0\" so that x20 be interpreted as hexadecim (0x20)\n result += String.fromCharCode('0' + m[1]);\n } else if (self.entities[buffer + c]) {\n result += self.entities[buffer + c];\n } else if ((m = Object.keys(entities).find((n) => buffer.startsWith(n)))) {\n // partial match\n result += self.entities[m] + buffer.slice(m.length) + c;\n } else {\n err('Incorrect escape.');\n result += buffer + ';';\n }\n state = 'data';\n } else {\n err('Incorrect escape.');\n result += buffer + c;\n state = 'data';\n }\n } else if (state == 'tag') {\n if (c == '\\t' || c == '\\n' || c == '\\f' || c == ' ') {\n state = 'start tag annotation';\n } else if (c == '.') {\n state = 'start tag class';\n } else if (c == '/') {\n state = 'end tag';\n } else if (/\\d/.test(c)) {\n result = c;\n state = 'timestamp tag';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['start tag', '', [], ''];\n } else {\n result = c;\n state = 'start tag';\n }\n } else if (state == 'start tag') {\n if (c == '\\t' || c == '\\f' || c == ' ') {\n state = 'start tag annotation';\n } else if (c == '\\n') {\n buffer = c;\n state = 'start tag annotation';\n } else if (c == '.') {\n state = 'start tag class';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['start tag', result, [], ''];\n } else {\n result += c;\n }\n } else if (state == 'start tag class') {\n if (c == '\\t' || c == '\\f' || c == ' ') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = '';\n state = 'start tag annotation';\n } else if (c == '\\n') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = c;\n state = 'start tag annotation';\n } else if (c == '.') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = '';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n if (buffer) {\n classes.push(buffer);\n }\n return ['start tag', result, classes, ''];\n } else {\n buffer += c;\n }\n } else if (state == 'start tag annotation') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n buffer = buffer\n .split(/[\\u0020\\t\\f\\r\\n]+/)\n .filter(function (item) {\n if (item) return true;\n })\n .join(' ');\n return ['start tag', result, classes, buffer];\n } else {\n buffer += c;\n }\n } else if (state == 'end tag') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['end tag', result];\n } else {\n result += c;\n }\n } else if (state == 'timestamp tag') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['timestamp', result];\n } else {\n result += c;\n }\n } else {\n err('Never happens.'); // The joke is it might.\n }\n // 8\n pos++;\n }\n }\n };\n\n var WebVTTSerializer = function () {\n function serializeTimestamp(seconds) {\n const ms = ('00' + (seconds - Math.floor(seconds)).toFixed(3) * 1000).slice(-3);\n let h = 0,\n m = 0,\n s = 0;\n if (seconds >= 3600) {\n h = Math.floor(seconds / 3600);\n }\n m = Math.floor((seconds - 3600 * h) / 60);\n s = Math.floor(seconds - 3600 * h - 60 * m);\n return (h ? h + ':' : '') + ('' + m).padStart(2, '0') + ':' + ('' + s).padStart(2, '0') + '.' + ms;\n }\n function serializeCueSettings(cue) {\n var result = '';\n const nonDefaultSettings = Object.keys(defaultCueSettings).filter((s) => cue[s] !== defaultCueSettings[s]);\n if (nonDefaultSettings.includes('direction')) {\n result += ' vertical:' + cue.direction;\n }\n if (nonDefaultSettings.includes('alignment')) {\n result += ' align:' + cue.alignment;\n }\n if (nonDefaultSettings.includes('size')) {\n result += ' size:' + cue.size + '%';\n }\n if (nonDefaultSettings.includes('lineAlign') || nonDefaultSettings.includes('linePosition')) {\n result +=\n ' line:' +\n cue.linePosition +\n (cue.snapToLines ? '' : '%') +\n (cue.lineAlign && cue.lineAlign != defaultCueSettings.lineAlign ? ',' + cue.lineAlign : '');\n }\n if (nonDefaultSettings.includes('textPosition') || nonDefaultSettings.includes('positionAlign')) {\n result +=\n ' position:' +\n cue.textPosition +\n '%' +\n (cue.positionAlign && cue.positionAlign !== defaultCueSettings.positionAlign\n ? ',' + cue.positionAlign\n : '');\n }\n return result;\n }\n function serializeTree(tree) {\n var result = '';\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n if (node.type == 'text') {\n result += node.value.replace(/&/g, '&').replace(//g, '>');\n } else if (node.type == 'object') {\n result += '<' + node.name;\n if (node.classes) {\n for (var y = 0; y < node.classes.length; y++) {\n result += '.' + node.classes[y];\n }\n }\n if (node.value) {\n result += ' ' + node.value;\n }\n result += '>';\n if (node.children) result += serializeTree(node.children);\n result += '' + node.name + '>';\n } else if (node.type == 'timestamp') {\n result += '<' + serializeTimestamp(node.value) + '>';\n } else {\n result += '<' + node.value + '>';\n }\n }\n return result;\n }\n function serializeCue(cue) {\n return (\n (cue.id !== undefined ? cue.id + '\\n' : '') +\n serializeTimestamp(cue.startTime) +\n ' --> ' +\n serializeTimestamp(cue.endTime) +\n serializeCueSettings(cue) +\n '\\n' +\n serializeTree(cue.tree.children) +\n '\\n\\n'\n );\n }\n function serializeStyle(style) {\n return 'STYLE\\n' + style + '\\n\\n';\n }\n this.serialize = function (cues, styles) {\n var result = 'WEBVTT\\n\\n';\n if (styles) {\n for (var i = 0; i < styles.length; i++) {\n result += serializeStyle(styles[i]);\n }\n }\n for (var i = 0; i < cues.length; i++) {\n result += serializeCue(cues[i]);\n }\n return result;\n };\n };\n\n function exportify(object) {\n object.WebVTTParser = WebVTTParser;\n object.WebVTTCueTimingsAndSettingsParser = WebVTTCueTimingsAndSettingsParser;\n object.WebVTTCueTextParser = WebVTTCueTextParser;\n object.WebVTTSerializer = WebVTTSerializer;\n }\n if (typeof window !== 'undefined') exportify(window);\n if (typeof exports !== 'undefined') exportify(exports);\n})();\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (key === 'default' || key === '__esModule' || dest.hasOwnProperty(key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"}
\ No newline at end of file
+{"mappings":"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","sources":["packages/artplayer-plugin-multiple-subtitles/src/index.js","packages/artplayer-plugin-multiple-subtitles/src/parser.js","node_modules/@parcel/transformer-js/src/esmodule-helpers.js"],"sourcesContent":["import { WebVTTParser, WebVTTSerializer } from './parser';\n\nasync function loadVtt(option, { getExt, srtToVtt, assToVtt }) {\n const response = await fetch(option.url);\n const buffer = await response.arrayBuffer();\n const decoder = new TextDecoder(option.encoding || 'utf-8');\n const text = decoder.decode(buffer);\n switch (option.type || getExt(option.url)) {\n case 'srt': {\n return srtToVtt(text);\n }\n case 'ass': {\n return assToVtt(text);\n }\n case 'vtt': {\n return text;\n }\n default:\n return '';\n }\n}\n\nfunction mergeTrees(trees) {\n const parser = new WebVTTParser();\n const result = parser.parse('', 'metadata');\n\n for (let i = 0; i < trees.length; i++) {\n const tree = trees[i];\n\n if (!tree.updated) {\n tree.updated = true;\n for (let j = 0; j < tree.cues.length; j++) {\n const cue = tree.cues[j];\n for (let k = 0; k < cue.tree.children.length; k++) {\n const children = cue.tree.children[k];\n children.value = `${children.value}
`;\n }\n }\n }\n\n result.cues.push(...tree.cues);\n }\n\n return result;\n}\n\nexport default function artplayerPluginMultipleSubtitles({ subtitles = [] }) {\n return async (art) => {\n const { unescape, getExt, srtToVtt, assToVtt } = art.constructor.utils;\n\n const parser = new WebVTTParser();\n const seri = new WebVTTSerializer();\n\n const vtts = await Promise.all(\n subtitles.map((option) => {\n return loadVtt(option, { getExt, srtToVtt, assToVtt });\n }),\n );\n\n const trees = vtts.map((vtt, index) => {\n const tree = parser.parse(vtt, 'metadata');\n tree.url = subtitles[index].url;\n tree.name = subtitles[index].name;\n return tree;\n });\n\n let lastUrl = '';\n function setTracks(trees = []) {\n const tree = mergeTrees(trees);\n const vtt = seri.serialize(tree.cues);\n URL.revokeObjectURL(lastUrl);\n const url = URL.createObjectURL(new Blob([vtt], { type: 'text/vtt' }));\n lastUrl = url;\n art.option.subtitle.escape = false;\n art.subtitle.init({\n ...art.option.subtitle,\n url,\n type: 'vtt',\n onVttLoad: unescape,\n });\n }\n\n setTracks(trees);\n\n return {\n name: 'multipleSubtitles',\n tracks(names = []) {\n return setTracks(names.map((name) => trees.find((tree) => tree.name === name)));\n },\n reset() {\n return setTracks(trees);\n },\n };\n };\n}\n\nif (typeof window !== 'undefined') {\n window['artplayerPluginMultipleSubtitles'] = artplayerPluginMultipleSubtitles;\n}\n","// Any copyright is dedicated to the Public Domain.\n// http://creativecommons.org/publicdomain/zero/1.0/\n\n// Not intended to be fast, but if you can make it faster, please help out!\n\n/* eslint-disable */\n(function () {\n var defaultCueSettings = {\n direction: 'horizontal',\n snapToLines: true,\n linePosition: 'auto',\n lineAlign: 'start',\n textPosition: 'auto',\n positionAlign: 'auto',\n size: 100,\n alignment: 'center',\n };\n\n var WebVTTParser = function (entities) {\n if (!entities) {\n entities = {\n '&': '&',\n '<': '<',\n '>': '>',\n '&lrm': '\\u200e',\n '&rlm': '\\u200f',\n ' ': '\\u00A0',\n };\n }\n this.entities = entities;\n this.parse = function (input, mode) {\n // global search and replace for \\0\n input = input.replace(/\\0/g, '\\uFFFD');\n var NEWLINE = /\\r\\n|\\r|\\n/,\n startTime = Date.now(),\n linePos = 0,\n lines = input.split(NEWLINE),\n alreadyCollected = false,\n styles = [],\n cues = [],\n errors = [];\n function err(message, col) {\n errors.push({ message: message, line: linePos + 1, col: col });\n }\n\n var line = lines[linePos],\n lineLength = line.length,\n signature = 'WEBVTT',\n bom = 0,\n signature_length = signature.length;\n\n /* Byte order mark */\n if (line[0] === '\\ufeff') {\n bom = 1;\n signature_length += 1;\n }\n /* SIGNATURE */\n if (\n lineLength < signature_length ||\n line.indexOf(signature) !== 0 + bom ||\n (lineLength > signature_length && line[signature_length] !== ' ' && line[signature_length] !== '\\t')\n ) {\n err('No valid signature. (File needs to start with \"WEBVTT\".)');\n }\n\n linePos++;\n\n /* HEADER */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n err('No blank line after the signature.');\n if (lines[linePos].indexOf('-->') != -1) {\n alreadyCollected = true;\n break;\n }\n linePos++;\n }\n\n /* CUE LOOP */\n while (lines[linePos] != undefined) {\n var cue;\n while (!alreadyCollected && lines[linePos] == '') {\n linePos++;\n }\n if (!alreadyCollected && lines[linePos] == undefined) break;\n\n /* CUE CREATION */\n cue = Object.assign({}, defaultCueSettings, {\n id: '',\n startTime: 0,\n endTime: 0,\n pauseOnExit: false,\n direction: 'horizontal',\n snapToLines: true,\n linePosition: 'auto',\n lineAlign: 'start',\n textPosition: 'auto',\n positionAlign: 'auto',\n size: 100,\n alignment: 'center',\n text: '',\n tree: null,\n });\n\n var parseTimings = true;\n\n if (lines[linePos].indexOf('-->') == -1) {\n cue.id = lines[linePos];\n\n /* COMMENTS\n Not part of the specification's parser as these would just be ignored. However,\n we want them to be conforming and not get \"Cue identifier cannot be standalone\".\n */\n if (/^NOTE($|[ \\t])/.test(cue.id)) {\n // .startsWith fails in Chrome\n linePos++;\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) err('Cannot have timestamp in a comment.');\n linePos++;\n }\n continue;\n }\n\n /* STYLES */\n if (/^STYLE($|[ \\t])/.test(cue.id)) {\n var style = [];\n var invalid = false;\n linePos++;\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n err('Cannot have timestamp in a style block.');\n invalid = true;\n }\n style.push(lines[linePos]);\n linePos++;\n }\n if (cues.length) {\n err('Style blocks cannot appear after the first cue.');\n continue;\n }\n if (!invalid) {\n styles.push(style.join('\\n'));\n }\n continue;\n }\n\n linePos++;\n\n if (lines[linePos] == '' || lines[linePos] == undefined) {\n err('Cue identifier cannot be standalone.');\n continue;\n }\n\n if (lines[linePos].indexOf('-->') == -1) {\n parseTimings = false;\n err('Cue identifier needs to be followed by timestamp.');\n continue;\n }\n }\n\n /* TIMINGS */\n alreadyCollected = false;\n var timings = new WebVTTCueTimingsAndSettingsParser(lines[linePos], err);\n var previousCueStart = 0;\n if (cues.length > 0) {\n previousCueStart = cues[cues.length - 1].startTime;\n }\n if (parseTimings && !timings.parse(cue, previousCueStart)) {\n /* BAD CUE */\n\n cue = null;\n linePos++;\n\n /* BAD CUE LOOP */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n alreadyCollected = true;\n break;\n }\n linePos++;\n }\n continue;\n }\n linePos++;\n\n /* CUE TEXT LOOP */\n while (lines[linePos] != '' && lines[linePos] != undefined) {\n if (lines[linePos].indexOf('-->') != -1) {\n err('Blank line missing before cue.');\n alreadyCollected = true;\n break;\n }\n if (cue.text != '') cue.text += '\\n';\n cue.text += lines[linePos];\n linePos++;\n }\n\n /* CUE TEXT PROCESSING */\n var cuetextparser = new WebVTTCueTextParser(cue.text, err, mode, entities);\n cue.tree = cuetextparser.parse(cue.startTime, cue.endTime);\n cues.push(cue);\n }\n cues.sort(function (a, b) {\n if (a.startTime < b.startTime) return -1;\n if (a.startTime > b.startTime) return 1;\n if (a.endTime > b.endTime) return -1;\n if (a.endTime < b.endTime) return 1;\n return 0;\n });\n /* END */\n return { cues: cues, errors: errors, time: Date.now() - startTime, styles: styles };\n };\n };\n\n var WebVTTCueTimingsAndSettingsParser = function (line, errorHandler) {\n var SPACE = /[\\u0020\\t\\f]/,\n NOSPACE = /[^\\u0020\\t\\f]/,\n line = line,\n pos = 0,\n err = function (message) {\n errorHandler(message, pos + 1);\n },\n spaceBeforeSetting = true;\n function skip(pattern) {\n while (line[pos] != undefined && pattern.test(line[pos])) {\n pos++;\n }\n }\n function collect(pattern) {\n var str = '';\n while (line[pos] != undefined && pattern.test(line[pos])) {\n str += line[pos];\n pos++;\n }\n return str;\n }\n /* http://dev.w3.org/html5/webvtt/#collect-a-webvtt-timestamp */\n function timestamp() {\n var units = 'minutes',\n val1,\n val2,\n val3,\n val4;\n // 3\n if (line[pos] == undefined) {\n err('No timestamp found.');\n return;\n }\n // 4\n if (!/\\d/.test(line[pos])) {\n err('Timestamp must start with a character in the range 0-9.');\n return;\n }\n // 5-7\n val1 = collect(/\\d/);\n if (val1.length > 2 || parseInt(val1, 10) > 59) {\n units = 'hours';\n }\n // 8\n if (line[pos] != ':') {\n err('No time unit separator found.');\n return;\n }\n pos++;\n // 9-11\n val2 = collect(/\\d/);\n if (val2.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n // 12\n if (units == 'hours' || line[pos] == ':') {\n if (line[pos] != ':') {\n err('No seconds found or minutes is greater than 59.');\n return;\n }\n pos++;\n val3 = collect(/\\d/);\n if (val3.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n } else {\n if (val1.length != 2) {\n err('Must be exactly two digits.');\n return;\n }\n val3 = val2;\n val2 = val1;\n val1 = '0';\n }\n // 13\n if (line[pos] != '.') {\n err('No decimal separator (\".\") found.');\n return;\n }\n pos++;\n // 14-16\n val4 = collect(/\\d/);\n if (val4.length != 3) {\n err('Milliseconds must be given in three digits.');\n return;\n }\n // 17\n if (parseInt(val2, 10) > 59) {\n err('You cannot have more than 59 minutes.');\n return;\n }\n if (parseInt(val3, 10) > 59) {\n err('You cannot have more than 59 seconds.');\n return;\n }\n return (\n parseInt(val1, 10) * 60 * 60 + parseInt(val2, 10) * 60 + parseInt(val3, 10) + parseInt(val4, 10) / 1000\n );\n }\n\n /* http://dev.w3.org/html5/webvtt/#parse-the-webvtt-settings */\n function parseSettings(input, cue) {\n var settings = input.split(SPACE),\n seen = [];\n for (var i = 0; i < settings.length; i++) {\n if (settings[i] == '') continue;\n\n var index = settings[i].indexOf(':'),\n setting = settings[i].slice(0, index),\n value = settings[i].slice(index + 1);\n\n if (seen.indexOf(setting) != -1) {\n err('Duplicate setting.');\n }\n seen.push(setting);\n\n if (value == '') {\n err('No value for setting defined.');\n return;\n }\n\n if (setting == 'vertical') {\n // writing direction\n if (value != 'rl' && value != 'lr') {\n err(\"Writing direction can only be set to 'rl' or 'rl'.\");\n continue;\n }\n cue.direction = value;\n } else if (setting == 'line') {\n // line position and optionally line alignment\n if (/,/.test(value)) {\n var comp = value.split(',');\n value = comp[0];\n var lineAlign = comp[1];\n }\n if (!/^[-\\d](\\d*)(\\.\\d+)?%?$/.test(value)) {\n err('Line position takes a number or percentage.');\n continue;\n }\n if (value.indexOf('-', 1) != -1) {\n err(\"Line position can only have '-' at the start.\");\n continue;\n }\n if (value.indexOf('%') != -1 && value.indexOf('%') != value.length - 1) {\n err(\"Line position can only have '%' at the end.\");\n continue;\n }\n if (value[0] == '-' && value[value.length - 1] == '%') {\n err('Line position cannot be a negative percentage.');\n continue;\n }\n var numVal = value;\n var isPercent = false;\n if (value[value.length - 1] == '%') {\n isPercent = true;\n numVal = value.slice(0, value.length - 1);\n if (parseInt(value, 10) > 100) {\n err('Line position cannot be >100%.');\n continue;\n }\n }\n if (numVal === '' || isNaN(numVal) || !isFinite(numVal)) {\n err('Line position needs to be a number');\n continue;\n }\n if (lineAlign !== undefined) {\n if (!['start', 'center', 'end'].includes(lineAlign)) {\n err('Line alignment needs to be one of start, center or end');\n continue;\n }\n cue.lineAlign = lineAlign;\n }\n cue.snapToLines = !isPercent;\n cue.linePosition = parseFloat(numVal);\n if (parseFloat(numVal).toString() !== numVal) {\n cue.nonSerializable = true;\n }\n } else if (setting == 'position') {\n // text position and optional positionAlign\n if (/,/.test(value)) {\n var comp = value.split(',');\n value = comp[0];\n var positionAlign = comp[1];\n }\n if (value[value.length - 1] != '%') {\n err('Text position must be a percentage.');\n continue;\n }\n if (parseInt(value, 10) > 100 || parseInt(value, 10) < 0) {\n err('Text position needs to be between 0 and 100%.');\n continue;\n }\n numVal = value.slice(0, value.length - 1);\n if (numVal === '' || isNaN(numVal) || !isFinite(numVal)) {\n err('Line position needs to be a number');\n continue;\n }\n if (positionAlign !== undefined) {\n if (!['line-left', 'center', 'line-right'].includes(positionAlign)) {\n err('Position alignment needs to be one of line-left, center or line-right');\n continue;\n }\n cue.positionAlign = positionAlign;\n }\n cue.textPosition = parseFloat(numVal);\n } else if (setting == 'size') {\n // size\n if (value[value.length - 1] != '%') {\n err('Size must be a percentage.');\n continue;\n }\n if (parseInt(value, 10) > 100) {\n err('Size cannot be >100%.');\n continue;\n }\n var size = value.slice(0, value.length - 1);\n if (size === undefined || size === '' || isNaN(size)) {\n err('Size needs to be a number');\n size = 100;\n continue;\n } else {\n size = parseFloat(size);\n if (size < 0 || size > 100) {\n err('Size needs to be between 0 and 100%.');\n continue;\n }\n }\n cue.size = size;\n } else if (setting == 'align') {\n // alignment\n var alignValues = ['start', 'center', 'end', 'left', 'right'];\n if (alignValues.indexOf(value) == -1) {\n err('Alignment can only be set to one of ' + alignValues.join(', ') + '.');\n continue;\n }\n cue.alignment = value;\n } else {\n err('Invalid setting.');\n }\n }\n }\n\n this.parse = function (cue, previousCueStart) {\n skip(SPACE);\n cue.startTime = timestamp();\n if (cue.startTime == undefined) {\n return;\n }\n if (cue.startTime < previousCueStart) {\n err('Start timestamp is not greater than or equal to start timestamp of previous cue.');\n }\n if (NOSPACE.test(line[pos])) {\n err(\"Timestamp not separated from '-->' by whitespace.\");\n }\n skip(SPACE);\n // 6-8\n if (line[pos] != '-') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (line[pos] != '-') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (line[pos] != '>') {\n err('No valid timestamp separator found.');\n return;\n }\n pos++;\n if (NOSPACE.test(line[pos])) {\n err(\"'-->' not separated from timestamp by whitespace.\");\n }\n skip(SPACE);\n cue.endTime = timestamp();\n if (cue.endTime == undefined) {\n return;\n }\n if (cue.endTime <= cue.startTime) {\n err('End timestamp is not greater than start timestamp.');\n }\n\n if (NOSPACE.test(line[pos])) {\n spaceBeforeSetting = false;\n }\n skip(SPACE);\n parseSettings(line.substring(pos), cue);\n return true;\n };\n this.parseTimestamp = function () {\n var ts = timestamp();\n if (line[pos] != undefined) {\n err('Timestamp must not have trailing characters.');\n return;\n }\n return ts;\n };\n };\n\n var WebVTTCueTextParser = function (line, errorHandler, mode, entities) {\n this.entities = entities;\n var self = this;\n var line = line,\n pos = 0,\n err = function (message) {\n if (mode == 'metadata') return;\n errorHandler(message, pos + 1);\n };\n\n this.parse = function (cueStart, cueEnd) {\n function removeCycles(tree) {\n const cyclelessTree = { ...tree };\n if (tree.children) {\n cyclelessTree.children = tree.children.map(removeCycles);\n }\n if (cyclelessTree.parent) {\n delete cyclelessTree.parent;\n }\n return cyclelessTree;\n }\n\n var result = { children: [] },\n current = result,\n timestamps = [];\n\n function attach(token) {\n current.children.push({\n type: 'object',\n name: token[1],\n classes: token[2],\n children: [],\n parent: current,\n });\n current = current.children[current.children.length - 1];\n }\n function inScope(name) {\n var node = current;\n while (node) {\n if (node.name == name) return true;\n node = node.parent;\n }\n return;\n }\n\n while (line[pos] != undefined) {\n var token = nextToken();\n if (token[0] == 'text') {\n current.children.push({ type: 'text', value: token[1], parent: current });\n } else if (token[0] == 'start tag') {\n if (mode == 'chapters') err('Start tags not allowed in chapter title text.');\n var name = token[1];\n if (name != 'v' && name != 'lang' && token[3] != '') {\n err('Only and can have an annotation.');\n }\n if (name == 'c' || name == 'i' || name == 'b' || name == 'u' || name == 'ruby') {\n attach(token);\n } else if (name == 'rt' && current.name == 'ruby') {\n attach(token);\n } else if (name == 'v') {\n if (inScope('v')) {\n err(' cannot be nested inside itself.');\n }\n attach(token);\n current.value = token[3]; // annotation\n if (!token[3]) {\n err(' requires an annotation.');\n }\n } else if (name == 'lang') {\n attach(token);\n current.value = token[3]; // language\n } else {\n err('Incorrect start tag.');\n }\n } else if (token[0] == 'end tag') {\n if (mode == 'chapters') err('End tags not allowed in chapter title text.');\n // XXX check content\n if (token[1] == current.name) {\n current = current.parent;\n } else if (token[1] == 'ruby' && current.name == 'rt') {\n current = current.parent.parent;\n } else {\n err('Incorrect end tag.');\n }\n } else if (token[0] == 'timestamp') {\n if (mode == 'chapters') err('Timestamp not allowed in chapter title text.');\n var timings = new WebVTTCueTimingsAndSettingsParser(token[1], err),\n timestamp = timings.parseTimestamp();\n if (timestamp != undefined) {\n if (timestamp <= cueStart || timestamp >= cueEnd) {\n err('Timestamp must be between start timestamp and end timestamp.');\n }\n if (timestamps.length > 0 && timestamps[timestamps.length - 1] >= timestamp) {\n err('Timestamp must be greater than any previous timestamp.');\n }\n current.children.push({ type: 'timestamp', value: timestamp, parent: current });\n timestamps.push(timestamp);\n }\n }\n }\n while (current.parent) {\n if (current.name != 'v') {\n err('Required end tag missing.');\n }\n current = current.parent;\n }\n return removeCycles(result);\n };\n\n function nextToken() {\n var state = 'data',\n result = '',\n buffer = '',\n classes = [];\n while (line[pos - 1] != undefined || pos == 0) {\n var c = line[pos];\n if (state == 'data') {\n if (c == '&') {\n buffer = c;\n state = 'escape';\n } else if (c == '<' && result == '') {\n state = 'tag';\n } else if (c == '<' || c == undefined) {\n return ['text', result];\n } else {\n result += c;\n }\n } else if (state == 'escape') {\n if (c == '<' || c == undefined) {\n err('Incorrect escape.');\n let m;\n if ((m = buffer.match(/^([0-9]+)$/))) {\n result += String.fromCharCode(m[1]);\n } else {\n if (self.entities[buffer]) {\n result += self.entities[buffer];\n } else {\n result += buffer;\n }\n }\n return ['text', result];\n } else if (c == '&') {\n err('Incorrect escape.');\n result += buffer;\n buffer = c;\n } else if (/[a-z#0-9]/i.test(c)) {\n buffer += c;\n } else if (c == ';') {\n let m;\n if ((m = buffer.match(/^(x?[0-9]+)$/))) {\n // we prepend \"0\" so that x20 be interpreted as hexadecim (0x20)\n result += String.fromCharCode('0' + m[1]);\n } else if (self.entities[buffer + c]) {\n result += self.entities[buffer + c];\n } else if ((m = Object.keys(entities).find((n) => buffer.startsWith(n)))) {\n // partial match\n result += self.entities[m] + buffer.slice(m.length) + c;\n } else {\n err('Incorrect escape.');\n result += buffer + ';';\n }\n state = 'data';\n } else {\n err('Incorrect escape.');\n result += buffer + c;\n state = 'data';\n }\n } else if (state == 'tag') {\n if (c == '\\t' || c == '\\n' || c == '\\f' || c == ' ') {\n state = 'start tag annotation';\n } else if (c == '.') {\n state = 'start tag class';\n } else if (c == '/') {\n state = 'end tag';\n } else if (/\\d/.test(c)) {\n result = c;\n state = 'timestamp tag';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['start tag', '', [], ''];\n } else {\n result = c;\n state = 'start tag';\n }\n } else if (state == 'start tag') {\n if (c == '\\t' || c == '\\f' || c == ' ') {\n state = 'start tag annotation';\n } else if (c == '\\n') {\n buffer = c;\n state = 'start tag annotation';\n } else if (c == '.') {\n state = 'start tag class';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['start tag', result, [], ''];\n } else {\n result += c;\n }\n } else if (state == 'start tag class') {\n if (c == '\\t' || c == '\\f' || c == ' ') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = '';\n state = 'start tag annotation';\n } else if (c == '\\n') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = c;\n state = 'start tag annotation';\n } else if (c == '.') {\n if (buffer) {\n classes.push(buffer);\n }\n buffer = '';\n } else if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n if (buffer) {\n classes.push(buffer);\n }\n return ['start tag', result, classes, ''];\n } else {\n buffer += c;\n }\n } else if (state == 'start tag annotation') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n buffer = buffer\n .split(/[\\u0020\\t\\f\\r\\n]+/)\n .filter(function (item) {\n if (item) return true;\n })\n .join(' ');\n return ['start tag', result, classes, buffer];\n } else {\n buffer += c;\n }\n } else if (state == 'end tag') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['end tag', result];\n } else {\n result += c;\n }\n } else if (state == 'timestamp tag') {\n if (c == '>' || c == undefined) {\n if (c == '>') {\n pos++;\n }\n return ['timestamp', result];\n } else {\n result += c;\n }\n } else {\n err('Never happens.'); // The joke is it might.\n }\n // 8\n pos++;\n }\n }\n };\n\n var WebVTTSerializer = function () {\n function serializeTimestamp(seconds) {\n const ms = ('00' + (seconds - Math.floor(seconds)).toFixed(3) * 1000).slice(-3);\n let h = 0,\n m = 0,\n s = 0;\n if (seconds >= 3600) {\n h = Math.floor(seconds / 3600);\n }\n m = Math.floor((seconds - 3600 * h) / 60);\n s = Math.floor(seconds - 3600 * h - 60 * m);\n return (h ? h + ':' : '') + ('' + m).padStart(2, '0') + ':' + ('' + s).padStart(2, '0') + '.' + ms;\n }\n function serializeCueSettings(cue) {\n var result = '';\n const nonDefaultSettings = Object.keys(defaultCueSettings).filter((s) => cue[s] !== defaultCueSettings[s]);\n if (nonDefaultSettings.includes('direction')) {\n result += ' vertical:' + cue.direction;\n }\n if (nonDefaultSettings.includes('alignment')) {\n result += ' align:' + cue.alignment;\n }\n if (nonDefaultSettings.includes('size')) {\n result += ' size:' + cue.size + '%';\n }\n if (nonDefaultSettings.includes('lineAlign') || nonDefaultSettings.includes('linePosition')) {\n result +=\n ' line:' +\n cue.linePosition +\n (cue.snapToLines ? '' : '%') +\n (cue.lineAlign && cue.lineAlign != defaultCueSettings.lineAlign ? ',' + cue.lineAlign : '');\n }\n if (nonDefaultSettings.includes('textPosition') || nonDefaultSettings.includes('positionAlign')) {\n result +=\n ' position:' +\n cue.textPosition +\n '%' +\n (cue.positionAlign && cue.positionAlign !== defaultCueSettings.positionAlign\n ? ',' + cue.positionAlign\n : '');\n }\n return result;\n }\n function serializeTree(tree) {\n var result = '';\n for (var i = 0; i < tree.length; i++) {\n var node = tree[i];\n if (node.type == 'text') {\n result += node.value.replace(/&/g, '&').replace(//g, '>');\n } else if (node.type == 'object') {\n result += '<' + node.name;\n if (node.classes) {\n for (var y = 0; y < node.classes.length; y++) {\n result += '.' + node.classes[y];\n }\n }\n if (node.value) {\n result += ' ' + node.value;\n }\n result += '>';\n if (node.children) result += serializeTree(node.children);\n result += '' + node.name + '>';\n } else if (node.type == 'timestamp') {\n result += '<' + serializeTimestamp(node.value) + '>';\n } else {\n result += '<' + node.value + '>';\n }\n }\n return result;\n }\n function serializeCue(cue) {\n return (\n (cue.id !== undefined ? cue.id + '\\n' : '') +\n serializeTimestamp(cue.startTime) +\n ' --> ' +\n serializeTimestamp(cue.endTime) +\n serializeCueSettings(cue) +\n '\\n' +\n serializeTree(cue.tree.children) +\n '\\n\\n'\n );\n }\n function serializeStyle(style) {\n return 'STYLE\\n' + style + '\\n\\n';\n }\n this.serialize = function (cues, styles) {\n var result = 'WEBVTT\\n\\n';\n if (styles) {\n for (var i = 0; i < styles.length; i++) {\n result += serializeStyle(styles[i]);\n }\n }\n for (var i = 0; i < cues.length; i++) {\n result += serializeCue(cues[i]);\n }\n return result;\n };\n };\n\n function exportify(object) {\n object.WebVTTParser = WebVTTParser;\n object.WebVTTCueTimingsAndSettingsParser = WebVTTCueTimingsAndSettingsParser;\n object.WebVTTCueTextParser = WebVTTCueTextParser;\n object.WebVTTSerializer = WebVTTSerializer;\n }\n if (typeof window !== 'undefined') exportify(window);\n if (typeof exports !== 'undefined') exportify(exports);\n})();\n","exports.interopDefault = function (a) {\n return a && a.__esModule ? a : {default: a};\n};\n\nexports.defineInteropFlag = function (a) {\n Object.defineProperty(a, '__esModule', {value: true});\n};\n\nexports.exportAll = function (source, dest) {\n Object.keys(source).forEach(function (key) {\n if (\n key === 'default' ||\n key === '__esModule' ||\n Object.prototype.hasOwnProperty.call(dest, key)\n ) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function () {\n return source[key];\n },\n });\n });\n\n return dest;\n};\n\nexports.export = function (dest, destName, get) {\n Object.defineProperty(dest, destName, {\n enumerable: true,\n get: get,\n });\n};\n"],"names":[],"version":3,"file":"index.js.map","sourceRoot":"../../../"}
\ No newline at end of file
diff --git a/packages/artplayer-plugin-multiple-subtitles/package.json b/packages/artplayer-plugin-multiple-subtitles/package.json
index 93f30d1d6..12a04cb96 100644
--- a/packages/artplayer-plugin-multiple-subtitles/package.json
+++ b/packages/artplayer-plugin-multiple-subtitles/package.json
@@ -1,6 +1,6 @@
{
"license": "MIT",
- "version": "1.0.0",
+ "version": "1.1.0",
"name": "artplayer-plugin-multiple-subtitles",
"types": "types/artplayer-plugin-multiple-subtitles.d.ts",
"description": "multiple subtitles plugin for ArtPlayer",
@@ -21,4 +21,4 @@
"video",
"player"
]
-}
+}
\ No newline at end of file
diff --git a/packages/artplayer-plugin-multiple-subtitles/src/index.js b/packages/artplayer-plugin-multiple-subtitles/src/index.js
index dd03428a3..c87c2de5d 100644
--- a/packages/artplayer-plugin-multiple-subtitles/src/index.js
+++ b/packages/artplayer-plugin-multiple-subtitles/src/index.js
@@ -38,15 +38,7 @@ function mergeTrees(trees) {
}
}
- if (result.cues.length === 0) {
- result.cues = [...tree.cues];
- } else {
- for (let l = 0; l < result.cues.length; l++) {
- const a = result.cues[l].tree.children;
- const b = tree.cues[l]?.tree?.children;
- result.cues[l] = { ...result.cues[l], tree: { children: [...a, ...b] } };
- }
- }
+ result.cues.push(...tree.cues);
}
return result;