@aim-packages/subtitle 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,12 +1,12 @@
1
- "use strict";var re=Object.defineProperty;var ne=(t,e,r)=>e in t?re(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var d=(t,e,r)=>ne(t,typeof e!="symbol"?e+"":e,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function I(t,e=2){return t.toString().padStart(e,"0")}function M(t){const e=Math.floor(t/3600),r=Math.floor(t%3600/60),n=t%3600%60,i=Math.floor(n%1*1e3),s=I(e),o=I(r),f=I(Math.floor(n)),a=I(i,3);return`${s}:${o}:${f}.${a}`}function z(t){if(!t)return 0;const e=t.split(":");try{let r=e[2].split(",");return r.length===1&&(r=e[2].split(".")),parseFloat(e[0])*3600+parseFloat(e[1])*60+parseFloat(r[0])+parseFloat("0."+r[1])}catch{return 0}}function ae(t){return/[\u4E00-\u9FFF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/.test(t)}const ie=Object.freeze(Object.defineProperty({__proto__:null,containsCJKCharacters:ae,convertToSeconds:z,formatTime:M,padNumber:I},Symbol.toStringTag,{value:"Module"}));/**
1
+ "use strict";var St=Object.defineProperty;var jt=(e,t,r)=>t in e?St(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var y=(e,t,r)=>jt(e,typeof t!="symbol"?t+"":t,r);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function U(e,t=2){return e.toString().padStart(t,"0")}function w(e){const t=Math.floor(e/3600),r=Math.floor(e%3600/60),n=e%3600%60,a=Math.floor(n%1*1e3),c=U(t),s=U(r),u=U(Math.floor(n)),i=U(a,3);return`${c}:${s}:${u}.${i}`}function A(e){if(!e)return 0;const t=e.split(":");try{let r=t[2].split(",");return r.length===1&&(r=t[2].split(".")),parseFloat(t[0])*3600+parseFloat(t[1])*60+parseFloat(r[0])+parseFloat("0."+r[1])}catch{return 0}}function We(e){return/[\u4E00-\u9FFF\u3040-\u309F\u30A0-\u30FF\uAC00-\uD7AF]/.test(e)}const $t=Object.freeze(Object.defineProperty({__proto__:null,containsCJKCharacters:We,convertToSeconds:A,formatTime:w,padNumber:U},Symbol.toStringTag,{value:"Module"}));/**
2
2
  * @name ass2vtt
3
3
  * @desc Converts ASS subtitle data into VTT format.
4
4
  * @author YuQian2015 (https://github.com/YuQian2015)
5
5
  * @license MIT
6
- */function se(t){const e=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(n=""){return n.split(/[:.]/).map((i,s,o)=>{if(s===o.length-1){if(i.length===1)return"."+i+"00";if(i.length===2)return"."+i+"0"}else if(i.length===1)return(s===0?"0":":0")+i;return s===0?i:s===o.length-1?"."+i:":"+i}).join("")}return`WEBVTT
6
+ */function xt(e){const t=new RegExp("Dialogue:\\s\\d,(\\d+:\\d\\d:\\d\\d.\\d\\d),(\\d+:\\d\\d:\\d\\d.\\d\\d),([^,]*),([^,]*),(?:[^,]*,){4}([\\s\\S]*)$","i");function r(n=""){return n.split(/[:.]/).map((a,c,s)=>{if(c===s.length-1){if(a.length===1)return"."+a+"00";if(a.length===2)return"."+a+"0"}else if(a.length===1)return(c===0?"0":":0")+a;return c===0?a:c===s.length-1?"."+a:":"+a}).join("")}return`WEBVTT
7
7
 
8
- `+t.split(/\r?\n/).map(n=>{const i=n.match(e);return i?{start:r(i[1].trim()),end:r(i[2].trim()),text:i[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"<br />").trim().split(/\r?\n/).map(s=>s.trim()).join(`
9
- `)}:null}).filter(n=>n).map((n,i)=>n?n.start+" --> "+n.end+`
8
+ `+e.split(/\r?\n/).map(n=>{const a=n.match(t);return a?{start:r(a[1].trim()),end:r(a[2].trim()),text:a[5].replace(/{[\s\S]*?}/g,"").replace(/(\\N)/g,"<br />").trim().split(/\r?\n/).map(c=>c.trim()).join(`
9
+ `)}:null}).filter(n=>n).map((n,a)=>n?n.start+" --> "+n.end+`
10
10
  `+n.text:"").filter(n=>n.trim()).join(`
11
11
 
12
12
  `)}/**
@@ -17,9 +17,9 @@
17
17
  * @author Newtopia Dev (http://www.newtopia.com)
18
18
  * @version 1.0.1
19
19
  * @license MIT
20
- */function oe(t,e){let r=e;for(;!t[r];)r++;return r}function ce(t){let e=t.length-1;for(;e>=0&&!t[e];)e--;return e}function ue(t="",e={propName:{}}){const r=[],n=t.split(/(?:\r\n|\r|\n)/gm).filter(u=>u.length>0),i=n.map((u,h)=>n[h+2]&&/\d{2}:\d{2}:\d{2}[,\.]\d{2,3}\s*-->\s*\d{2}:\d{2}:\d{2}[,\.]\d{2,3}/.test(n[h+2])?u+`\r
21
- `:u).join(`
22
- `).split(/(?:\r\n|\r|\n)/gm),s=ce(i)+1;let o=0,f,a,c;for(let u=0;u<s;u++){for(c={},a=[],u=oe(i,u),c.id=parseInt(i[u++],10),f=i[u++].split(/[\t ]*-->[\t ]*/),c[e.propName.start||"start"]=e.timeInText?f[0]:z(f[0]),o=f[1].indexOf(" "),o!==-1&&(f[1]=f[1].substr(0,o)),c[e.propName.end||"end"]=e.timeInText?f[1]:z(f[1]);u<s&&i[u];)a.push(i[u++]);const h=e.propName.text||"text";c[h]=a.join(e.keepMultiLine?`
23
- `:" ").replace(/\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}/gi,""),c[h]=c[h].replace(/</g,"&lt;").replace(/>/g,"&gt;"),c[h]=c[h].replace(/&lt;(\/?(font|b|u|i|s))((\s+(\w|\w[\w\-]*\w)(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)(\/?)&gt;/gi,"<$1$3$7>"),e.ignoreLineBreaks?c[h]=c[h].replace(/\\N/gi,""):c[h]=c[h].replace(/\\N/gi,"<br />"),r.push(c)}return r}function fe(t,e){const r=/<\/?[^>]+(>|$)/g;return new Promise((n,i)=>{let s={};const o=[];let f=!1;const a=t.split(`
24
- `);a.forEach((u,h)=>{u.replace(r,"")===" "||u.replace(r,"")===""||(u.indexOf("-->")!==-1?(f=!0,typeof s.start=="number"&&s.start>=0&&o.push(q(s)),s={start:W(u.split("-->")[0].trimRight().split(" ").pop()),end:W(u.split("-->")[1].trimLeft().split(" ").shift()),part:""}):f&&(o.length!==0?(o[o.length-1].part.replace(r,""),u.replace(r,""),s.part.length===0?s.part=u:s.part=`${s.part}
25
- ${u}`,h===a.length-1&&o.push(q(s))):(s.part=u,o.push(q(s)),s.part="")))}),s=[];const c=/(<([0-9:.>]+)>)/ig;o.forEach(u=>{const F=u.part.split().map(function(g){return g.replace(c,function(b){return b.split("").reduce(function(V,Ya){return`==${b.replace("<","").replace(">","")}`},0)})})[0].replace(r,"").split(" "),T=[];F.forEach(function(g){if(g.indexOf("==")>-1){const b=g.split("=="),V=b[0];if(b[1],V==""||V=="##")return;T.push({word:ct(g.split("==")[0]),time:W(g.split("==")[1])})}else T.push({word:ct(g),time:void 0})}),u.words=T,u.part=u.part.replace(r,"")}),n(o)})}function W(t){const e=t.split(":"),r=e[e.length-3]?+e[e.length-3]:0,n=e[e.length-2]?+e[e.length-2]:0,i=+e[e.length-1];return r*3600+n*60+i}function ct(t){return t.replace(/[^0-9a-z'-]/gi,"").toLowerCase()}function q(t){if(t==null||typeof t!="object")return t;const e=t.constructor();for(const r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e}async function le(t){return ue(t,{keepMultiLine:!0,propName:{}}).filter(n=>n.text).map(n=>({st:M(n.start),et:M(n.end),text:n.text}))}async function Ft(t){return(await fe(t)).filter(n=>n.part).map(n=>({st:M(n.start),et:M(n.end),text:n.part}))}async function he(t){return Ft(se(t))}const pe=Object.freeze(Object.defineProperty({__proto__:null,assToAimSegments:he,srtToAimSegments:le,vttToAimSegments:Ft},Symbol.toStringTag,{value:"Module"}));class ge{constructor(e){d(this,"chains",{});d(this,"delimit","__replace__");d(this,"onFilter");d(this,"checked",!1);d(this,"checkedText","");d(this,"checkedLevel");d(this,"filteredText","");this.onFilter=e}add(e,r){typeof e!="string"&&(e=new TextDecoder().decode(e));const n=e;if(!n)return;let i=this.chains;for(let s=0;s<n.length;s++){if(n[s]in i)i=i[n[s]];else{if(!(i instanceof Object))break;let o,f;for(let a=s;a<n.length;a++)i[n[a]]={},[o,f]=[i,n[a]],i=i[n[a]];o&&f&&(o[f]={[this.delimit]:r||""});break}s===n.length-1&&(i[this.delimit]=r||"")}}parse(e){e.forEach(r=>{this.add(...r)})}reParse(e){this.chains={},e.forEach(r=>{this.add(r[0],r[1])})}feed(e){if(!this.checked&&!this.chains[e]){this.filteredText+=e,this.onFilter&&this.onFilter(e);return}if(!this.checked&&this.chains[e]){this.checked=!0,this.checkedLevel=this.chains[e],this.checkedText+=e;return}if(this.checked&&this.checkedLevel[e]){this.checkedLevel=this.checkedLevel[e],this.checkedText+=e;return}if(this.checked&&!this.checkedLevel[e]){const r=typeof this.checkedLevel[this.delimit]=="string"?this.checkedLevel[this.delimit]:this.checkedText;r&&r.length&&r.split("").forEach(n=>{this.filteredText+=n,this.onFilter&&this.onFilter(n)}),this.checked=!1,this.checkedText="",this.checkedLevel=void 0,this.chains[e]?(this.checked=!0,this.checkedLevel=this.chains[e],this.checkedText=e):(this.onFilter&&this.onFilter(e),this.filteredText+=e)}}feedAll(e){return e.length?(e.split("").forEach(n=>{this.feed(n)}),this.end()):""}end(){if(this.checked&&this.checkedText){const r=typeof this.checkedLevel[this.delimit]=="string"?this.checkedLevel[this.delimit]:this.checkedText;r&&r.length&&r.split("").forEach(n=>{this.onFilter&&this.onFilter(n),this.filteredText+=n}),this.checkedText="",this.checkedLevel=void 0,this.checked=!1}const e=this.filteredText;return this.filteredText="",e}}const de=Object.freeze(Object.defineProperty({__proto__:null,StreamFilter:ge},Symbol.toStringTag,{value:"Module"}));var Ct=typeof global=="object"&&global&&global.Object===Object&&global,be=typeof self=="object"&&self&&self.Object===Object&&self,y=Ct||be||Function("return this")(),x=y.Symbol,It=Object.prototype,ye=It.hasOwnProperty,Te=It.toString,C=x?x.toStringTag:void 0;function ve(t){var e=ye.call(t,C),r=t[C];try{t[C]=void 0;var n=!0}catch{}var i=Te.call(t);return n&&(e?t[C]=r:delete t[C]),i}var _e=Object.prototype,me=_e.toString;function je(t){return me.call(t)}var $e="[object Null]",Se="[object Undefined]",ut=x?x.toStringTag:void 0;function B(t){return t==null?t===void 0?Se:$e:ut&&ut in Object(t)?ve(t):je(t)}function U(t){return t!=null&&typeof t=="object"}var et=Array.isArray;function k(t){var e=typeof t;return t!=null&&(e=="object"||e=="function")}var Oe="[object AsyncFunction]",xe="[object Function]",we="[object GeneratorFunction]",Ae="[object Proxy]";function Lt(t){if(!k(t))return!1;var e=B(t);return e==xe||e==we||e==Oe||e==Ae}var Y=y["__core-js_shared__"],ft=function(){var t=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||"");return t?"Symbol(src)_1."+t:""}();function Pe(t){return!!ft&&ft in t}var Ee=Function.prototype,Fe=Ee.toString;function $(t){if(t!=null){try{return Fe.call(t)}catch{}try{return t+""}catch{}}return""}var Ce=/[\\^$.*+?()[\]{}|]/g,Ie=/^\[object .+?Constructor\]$/,Le=Function.prototype,Me=Object.prototype,ze=Le.toString,Ne=Me.hasOwnProperty,De=RegExp("^"+ze.call(Ne).replace(Ce,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Be(t){if(!k(t)||Pe(t))return!1;var e=Lt(t)?De:Ie;return e.test($(t))}function Ue(t,e){return t==null?void 0:t[e]}function S(t,e){var r=Ue(t,e);return Be(r)?r:void 0}var X=S(y,"WeakMap"),lt=Object.create,ke=function(){function t(){}return function(e){if(!k(e))return{};if(lt)return lt(e);t.prototype=e;var r=new t;return t.prototype=void 0,r}}();function Ge(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r<n;)e[r]=t[r];return e}var ht=function(){try{var t=S(Object,"defineProperty");return t({},"",{}),t}catch{}}();function Re(t,e){for(var r=-1,n=t==null?0:t.length;++r<n&&e(t[r],r,t)!==!1;);return t}var He=9007199254740991,Ke=/^(?:0|[1-9]\d*)$/;function Ve(t,e){var r=typeof t;return e=e??He,!!e&&(r=="number"||r!="symbol"&&Ke.test(t))&&t>-1&&t%1==0&&t<e}function Mt(t,e,r){e=="__proto__"&&ht?ht(t,e,{configurable:!0,enumerable:!0,value:r,writable:!0}):t[e]=r}function zt(t,e){return t===e||t!==t&&e!==e}var We=Object.prototype,qe=We.hasOwnProperty;function Nt(t,e,r){var n=t[e];(!(qe.call(t,e)&&zt(n,r))||r===void 0&&!(e in t))&&Mt(t,e,r)}function R(t,e,r,n){var i=!r;r||(r={});for(var s=-1,o=e.length;++s<o;){var f=e[s],a=void 0;a===void 0&&(a=t[f]),i?Mt(r,f,a):Nt(r,f,a)}return r}var Ye=9007199254740991;function Dt(t){return typeof t=="number"&&t>-1&&t%1==0&&t<=Ye}function Bt(t){return t!=null&&Dt(t.length)&&!Lt(t)}var Je=Object.prototype;function rt(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||Je;return t===r}function Xe(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}var Ze="[object Arguments]";function pt(t){return U(t)&&B(t)==Ze}var Ut=Object.prototype,Qe=Ut.hasOwnProperty,tr=Ut.propertyIsEnumerable,er=pt(function(){return arguments}())?pt:function(t){return U(t)&&Qe.call(t,"callee")&&!tr.call(t,"callee")};function rr(){return!1}var kt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,gt=kt&&typeof module=="object"&&module&&!module.nodeType&&module,nr=gt&&gt.exports===kt,dt=nr?y.Buffer:void 0,ar=dt?dt.isBuffer:void 0,Gt=ar||rr,ir="[object Arguments]",sr="[object Array]",or="[object Boolean]",cr="[object Date]",ur="[object Error]",fr="[object Function]",lr="[object Map]",hr="[object Number]",pr="[object Object]",gr="[object RegExp]",dr="[object Set]",br="[object String]",yr="[object WeakMap]",Tr="[object ArrayBuffer]",vr="[object DataView]",_r="[object Float32Array]",mr="[object Float64Array]",jr="[object Int8Array]",$r="[object Int16Array]",Sr="[object Int32Array]",Or="[object Uint8Array]",xr="[object Uint8ClampedArray]",wr="[object Uint16Array]",Ar="[object Uint32Array]",p={};p[_r]=p[mr]=p[jr]=p[$r]=p[Sr]=p[Or]=p[xr]=p[wr]=p[Ar]=!0;p[ir]=p[sr]=p[Tr]=p[or]=p[vr]=p[cr]=p[ur]=p[fr]=p[lr]=p[hr]=p[pr]=p[gr]=p[dr]=p[br]=p[yr]=!1;function Pr(t){return U(t)&&Dt(t.length)&&!!p[B(t)]}function nt(t){return function(e){return t(e)}}var Rt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,L=Rt&&typeof module=="object"&&module&&!module.nodeType&&module,Er=L&&L.exports===Rt,J=Er&&Ct.process,w=function(){try{var t=L&&L.require&&L.require("util").types;return t||J&&J.binding&&J.binding("util")}catch{}}(),bt=w&&w.isTypedArray,Fr=bt?nt(bt):Pr,Cr=Object.prototype,Ir=Cr.hasOwnProperty;function Ht(t,e){var r=et(t),n=!r&&er(t),i=!r&&!n&&Gt(t),s=!r&&!n&&!i&&Fr(t),o=r||n||i||s,f=o?Xe(t.length,String):[],a=f.length;for(var c in t)(e||Ir.call(t,c))&&!(o&&(c=="length"||i&&(c=="offset"||c=="parent")||s&&(c=="buffer"||c=="byteLength"||c=="byteOffset")||Ve(c,a)))&&f.push(c);return f}function Kt(t,e){return function(r){return t(e(r))}}var Lr=Kt(Object.keys,Object),Mr=Object.prototype,zr=Mr.hasOwnProperty;function Nr(t){if(!rt(t))return Lr(t);var e=[];for(var r in Object(t))zr.call(t,r)&&r!="constructor"&&e.push(r);return e}function at(t){return Bt(t)?Ht(t):Nr(t)}function Dr(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var Br=Object.prototype,Ur=Br.hasOwnProperty;function kr(t){if(!k(t))return Dr(t);var e=rt(t),r=[];for(var n in t)n=="constructor"&&(e||!Ur.call(t,n))||r.push(n);return r}function it(t){return Bt(t)?Ht(t,!0):kr(t)}var N=S(Object,"create");function Gr(){this.__data__=N?N(null):{},this.size=0}function Rr(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}var Hr="__lodash_hash_undefined__",Kr=Object.prototype,Vr=Kr.hasOwnProperty;function Wr(t){var e=this.__data__;if(N){var r=e[t];return r===Hr?void 0:r}return Vr.call(e,t)?e[t]:void 0}var qr=Object.prototype,Yr=qr.hasOwnProperty;function Jr(t){var e=this.__data__;return N?e[t]!==void 0:Yr.call(e,t)}var Xr="__lodash_hash_undefined__";function Zr(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=N&&e===void 0?Xr:e,this}function j(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}j.prototype.clear=Gr;j.prototype.delete=Rr;j.prototype.get=Wr;j.prototype.has=Jr;j.prototype.set=Zr;function Qr(){this.__data__=[],this.size=0}function H(t,e){for(var r=t.length;r--;)if(zt(t[r][0],e))return r;return-1}var tn=Array.prototype,en=tn.splice;function rn(t){var e=this.__data__,r=H(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():en.call(e,r,1),--this.size,!0}function nn(t){var e=this.__data__,r=H(e,t);return r<0?void 0:e[r][1]}function an(t){return H(this.__data__,t)>-1}function sn(t,e){var r=this.__data__,n=H(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function _(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}_.prototype.clear=Qr;_.prototype.delete=rn;_.prototype.get=nn;_.prototype.has=an;_.prototype.set=sn;var D=S(y,"Map");function on(){this.size=0,this.__data__={hash:new j,map:new(D||_),string:new j}}function cn(t){var e=typeof t;return e=="string"||e=="number"||e=="symbol"||e=="boolean"?t!=="__proto__":t===null}function K(t,e){var r=t.__data__;return cn(e)?r[typeof e=="string"?"string":"hash"]:r.map}function un(t){var e=K(this,t).delete(t);return this.size-=e?1:0,e}function fn(t){return K(this,t).get(t)}function ln(t){return K(this,t).has(t)}function hn(t,e){var r=K(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this}function A(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}A.prototype.clear=on;A.prototype.delete=un;A.prototype.get=fn;A.prototype.has=ln;A.prototype.set=hn;function Vt(t,e){for(var r=-1,n=e.length,i=t.length;++r<n;)t[i+r]=e[r];return t}var Wt=Kt(Object.getPrototypeOf,Object);function pn(){this.__data__=new _,this.size=0}function gn(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r}function dn(t){return this.__data__.get(t)}function bn(t){return this.__data__.has(t)}var yn=200;function Tn(t,e){var r=this.__data__;if(r instanceof _){var n=r.__data__;if(!D||n.length<yn-1)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new A(n)}return r.set(t,e),this.size=r.size,this}function P(t){var e=this.__data__=new _(t);this.size=e.size}P.prototype.clear=pn;P.prototype.delete=gn;P.prototype.get=dn;P.prototype.has=bn;P.prototype.set=Tn;function vn(t,e){return t&&R(e,at(e),t)}function _n(t,e){return t&&R(e,it(e),t)}var qt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,yt=qt&&typeof module=="object"&&module&&!module.nodeType&&module,mn=yt&&yt.exports===qt,Tt=mn?y.Buffer:void 0,vt=Tt?Tt.allocUnsafe:void 0;function jn(t,e){if(e)return t.slice();var r=t.length,n=vt?vt(r):new t.constructor(r);return t.copy(n),n}function $n(t,e){for(var r=-1,n=t==null?0:t.length,i=0,s=[];++r<n;){var o=t[r];e(o,r,t)&&(s[i++]=o)}return s}function Yt(){return[]}var Sn=Object.prototype,On=Sn.propertyIsEnumerable,_t=Object.getOwnPropertySymbols,st=_t?function(t){return t==null?[]:(t=Object(t),$n(_t(t),function(e){return On.call(t,e)}))}:Yt;function xn(t,e){return R(t,st(t),e)}var wn=Object.getOwnPropertySymbols,Jt=wn?function(t){for(var e=[];t;)Vt(e,st(t)),t=Wt(t);return e}:Yt;function An(t,e){return R(t,Jt(t),e)}function Xt(t,e,r){var n=e(t);return et(t)?n:Vt(n,r(t))}function Pn(t){return Xt(t,at,st)}function En(t){return Xt(t,it,Jt)}var Z=S(y,"DataView"),Q=S(y,"Promise"),tt=S(y,"Set"),mt="[object Map]",Fn="[object Object]",jt="[object Promise]",$t="[object Set]",St="[object WeakMap]",Ot="[object DataView]",Cn=$(Z),In=$(D),Ln=$(Q),Mn=$(tt),zn=$(X),v=B;(Z&&v(new Z(new ArrayBuffer(1)))!=Ot||D&&v(new D)!=mt||Q&&v(Q.resolve())!=jt||tt&&v(new tt)!=$t||X&&v(new X)!=St)&&(v=function(t){var e=B(t),r=e==Fn?t.constructor:void 0,n=r?$(r):"";if(n)switch(n){case Cn:return Ot;case In:return mt;case Ln:return jt;case Mn:return $t;case zn:return St}return e});var Nn=Object.prototype,Dn=Nn.hasOwnProperty;function Bn(t){var e=t.length,r=new t.constructor(e);return e&&typeof t[0]=="string"&&Dn.call(t,"index")&&(r.index=t.index,r.input=t.input),r}var xt=y.Uint8Array;function ot(t){var e=new t.constructor(t.byteLength);return new xt(e).set(new xt(t)),e}function Un(t,e){var r=e?ot(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)}var kn=/\w*$/;function Gn(t){var e=new t.constructor(t.source,kn.exec(t));return e.lastIndex=t.lastIndex,e}var wt=x?x.prototype:void 0,At=wt?wt.valueOf:void 0;function Rn(t){return At?Object(At.call(t)):{}}function Hn(t,e){var r=e?ot(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.length)}var Kn="[object Boolean]",Vn="[object Date]",Wn="[object Map]",qn="[object Number]",Yn="[object RegExp]",Jn="[object Set]",Xn="[object String]",Zn="[object Symbol]",Qn="[object ArrayBuffer]",ta="[object DataView]",ea="[object Float32Array]",ra="[object Float64Array]",na="[object Int8Array]",aa="[object Int16Array]",ia="[object Int32Array]",sa="[object Uint8Array]",oa="[object Uint8ClampedArray]",ca="[object Uint16Array]",ua="[object Uint32Array]";function fa(t,e,r){var n=t.constructor;switch(e){case Qn:return ot(t);case Kn:case Vn:return new n(+t);case ta:return Un(t,r);case ea:case ra:case na:case aa:case ia:case sa:case oa:case ca:case ua:return Hn(t,r);case Wn:return new n;case qn:case Xn:return new n(t);case Yn:return Gn(t);case Jn:return new n;case Zn:return Rn(t)}}function la(t){return typeof t.constructor=="function"&&!rt(t)?ke(Wt(t)):{}}var ha="[object Map]";function pa(t){return U(t)&&v(t)==ha}var Pt=w&&w.isMap,ga=Pt?nt(Pt):pa,da="[object Set]";function ba(t){return U(t)&&v(t)==da}var Et=w&&w.isSet,ya=Et?nt(Et):ba,Ta=1,va=2,_a=4,Zt="[object Arguments]",ma="[object Array]",ja="[object Boolean]",$a="[object Date]",Sa="[object Error]",Qt="[object Function]",Oa="[object GeneratorFunction]",xa="[object Map]",wa="[object Number]",te="[object Object]",Aa="[object RegExp]",Pa="[object Set]",Ea="[object String]",Fa="[object Symbol]",Ca="[object WeakMap]",Ia="[object ArrayBuffer]",La="[object DataView]",Ma="[object Float32Array]",za="[object Float64Array]",Na="[object Int8Array]",Da="[object Int16Array]",Ba="[object Int32Array]",Ua="[object Uint8Array]",ka="[object Uint8ClampedArray]",Ga="[object Uint16Array]",Ra="[object Uint32Array]",l={};l[Zt]=l[ma]=l[Ia]=l[La]=l[ja]=l[$a]=l[Ma]=l[za]=l[Na]=l[Da]=l[Ba]=l[xa]=l[wa]=l[te]=l[Aa]=l[Pa]=l[Ea]=l[Fa]=l[Ua]=l[ka]=l[Ga]=l[Ra]=!0;l[Sa]=l[Qt]=l[Ca]=!1;function G(t,e,r,n,i,s){var o,f=e&Ta,a=e&va,c=e&_a;if(o!==void 0)return o;if(!k(t))return t;var u=et(t);if(u){if(o=Bn(t),!f)return Ge(t,o)}else{var h=v(t),O=h==Qt||h==Oa;if(Gt(t))return jn(t,f);if(h==te||h==Zt||O&&!i){if(o=a||O?{}:la(t),!f)return a?An(t,_n(o,t)):xn(t,vn(o,t))}else{if(!l[h])return i?t:{};o=fa(t,h,f)}}s||(s=new P);var E=s.get(t);if(E)return E;s.set(t,o),ya(t)?t.forEach(function(g){o.add(G(g,e,r,g,t,s))}):ga(t)&&t.forEach(function(g,b){o.set(b,G(g,e,r,b,t,s))});var F=c?a?En:Pn:a?it:at,T=u?void 0:F(t);return Re(T||t,function(g,b){T&&(b=g,g=t[b]),Nt(o,b,G(g,e,r,b,t,s))}),o}var Ha=1,Ka=4;function Va(t){return G(t,Ha|Ka)}class ee{constructor(e){d(this,"threshold",2);d(this,"hit",0);d(this,"prevSegment");d(this,"hitSegment");d(this,"hitSegmentList",[]);d(this,"options");this.options=e||{}}push(e){var r,n;this.hitSegment&&this.hitSegment.text!==e.text&&(this.hitSegmentList.push(this.hitSegment),this.reset()),this.prevSegment&&e.text===this.prevSegment.text?(this.hit++,this.hit===1&&(this.hitSegment=Va(this.prevSegment)),this.threshold<=this.hit&&this.hitSegment&&(this.hitSegment.et=e.et,this.hitSegment.hit=this.hit,(n=(r=this.options).onHit)==null||n.call(r,this.hitSegmentList))):this.hit=0,this.prevSegment=e}end(){var e,r;this.hitSegment&&(this.hitSegmentList.push(this.hitSegment),(r=(e=this.options).onHit)==null||r.call(e,this.hitSegmentList)),this.reset()}reset(){this.hit=0,this.prevSegment=void 0,this.hitSegment=void 0}}const m={punc:/[.,?!\],。!?…]{1}/,em:/[.?!\]。!?…]{1}/,space:/^\s+|\s+$|\s{2,}/g,ep:/[.,?!,。!?…]{1}\s*$/};function Wa(t,e){let r=[];const n=new ee({onHit:a=>{r=a}}),i=a=>a.trim().length===0,s=a=>{const c=z(a.st),u=z(a.et);return c>=u},o={emt:[],ep:[],zf:[],punc:[],em:[],space:[]},f=[];return t.forEach((a,c)=>{const u=m.punc.test(a.text),h=m.em.test(a.text),O=m.space.test(a.text),E=i(a.text),F=s(a),T=m.ep.test(a.text);n.push(a),a.punc=u?1:0,u&&o.punc.push(c),a.em=h?1:0,h&&o.em.push(c),a.space=O?1:0,O&&(e!=null&&e.space?a.text=a.text.replace(m.space," ").trim():o.space.push(c)),a.emt=i(a.text)?1:0,E&&(e!=null&&e.emt||o.emt.push(c)),a.zf=s(a)?1:0,F&&(e!=null&&e.zf||o.zf.push(c)),a.ep=T?1:0,T&&(e!=null&&e.ep?a.text=a.text.replace(m.ep,""):o.ep.push(c)),!(e!=null&&e.zf&&a.zf)&&(e!=null&&e.emt&&a.emt||f.push(a))}),n.end(),{result:o,repeat:r,segments:f}}const qa=Object.freeze(Object.defineProperty({__proto__:null,RepeatCheck:ee,subtitleOptimization:Wa,subtitleOptimizationRegExp:m},Symbol.toStringTag,{value:"Module"}));exports.filter=de;exports.parser=pe;exports.tools=qa;exports.utils=ie;
20
+ */function Ot(e,t){let r=t;for(;!e[r];)r++;return r}function wt(e){let t=e.length-1;for(;t>=0&&!e[t];)t--;return t}function At(e="",t={propName:{}}){const r=[],n=e.split(/(?:\r\n|\r|\n)/gm).filter(f=>f.length>0),a=n.map((f,l)=>n[l+2]&&/\d{2}:\d{2}:\d{2}[,\.]\d{2,3}\s*-->\s*\d{2}:\d{2}:\d{2}[,\.]\d{2,3}/.test(n[l+2])?f+`\r
21
+ `:f).join(`
22
+ `).split(/(?:\r\n|\r|\n)/gm),c=wt(a)+1;let s=0,u,i,o;for(let f=0;f<c;f++){for(o={},i=[],f=Ot(a,f),o.id=parseInt(a[f++],10),u=a[f++].split(/[\t ]*-->[\t ]*/),o[t.propName.start||"start"]=t.timeInText?u[0]:A(u[0]),s=u[1].indexOf(" "),s!==-1&&(u[1]=u[1].substr(0,s)),o[t.propName.end||"end"]=t.timeInText?u[1]:A(u[1]);f<c&&a[f];)i.push(a[f++]);const l=t.propName.text||"text";o[l]=i.join(t.keepMultiLine?`
23
+ `:" ").replace(/\{(\\[\w]+\(?([\w\d]+,?)+\)?)+\}/gi,""),o[l]=o[l].replace(/</g,"&lt;").replace(/>/g,"&gt;"),o[l]=o[l].replace(/&lt;(\/?(font|b|u|i|s))((\s+(\w|\w[\w\-]*\w)(\s*=\s*(?:".*?"|'.*?'|[^'">\s]+))?)+\s*|\s*)(\/?)&gt;/gi,"<$1$3$7>"),t.ignoreLineBreaks?o[l]=o[l].replace(/\\N/gi,""):o[l]=o[l].replace(/\\N/gi,"<br />"),r.push(o)}return r}function Pt(e,t){const r=/<\/?[^>]+(>|$)/g;return new Promise((n,a)=>{let c={};const s=[];let u=!1;const i=e.split(`
24
+ `);i.forEach((f,l)=>{f.replace(r,"")===" "||f.replace(r,"")===""||(f.indexOf("-->")!==-1?(u=!0,typeof c.start=="number"&&c.start>=0&&s.push(se(c)),c={start:ae(f.split("-->")[0].trimRight().split(" ").pop()),end:ae(f.split("-->")[1].trimLeft().split(" ").shift()),part:""}):u&&(s.length!==0?(s[s.length-1].part.replace(r,""),f.replace(r,""),c.part.length===0?c.part=f:c.part=`${c.part}
25
+ ${f}`,l===i.length-1&&s.push(se(c))):(c.part=f,s.push(se(c)),c.part="")))}),c=[];const o=/(<([0-9:.>]+)>)/ig;s.forEach(f=>{const m=f.part.split().map(function(g){return g.replace(o,function(p){return p.split("").reduce(function(_,k){return`==${p.replace("<","").replace(">","")}`},0)})})[0].replace(r,"").split(" "),b=[];m.forEach(function(g){if(g.indexOf("==")>-1){const p=g.split("=="),_=p[0];if(p[1],_==""||_=="##")return;b.push({word:$e(g.split("==")[0]),time:ae(g.split("==")[1])})}else b.push({word:$e(g),time:void 0})}),f.words=b,f.part=f.part.replace(r,"")}),n(s)})}function ae(e){const t=e.split(":"),r=t[t.length-3]?+t[t.length-3]:0,n=t[t.length-2]?+t[t.length-2]:0,a=+t[t.length-1];return r*3600+n*60+a}function $e(e){return e.replace(/[^0-9a-z'-]/gi,"").toLowerCase()}function se(e){if(e==null||typeof e!="object")return e;const t=e.constructor();for(const r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t}const ie={padding:[.4,0],maxGap:10,minGap:2,minStart:6};function Et(e){let t,r,n,a,c,s,u,i,o;const f=!!(e&&e.vad&&e.vad.length>0),l="[--end--]",v="[--Single--]",T="[--Full--]",m=/\[(\d{2}:\d{2}:\d{2}\.\d{3}) --> (\d{2}:\d{2}:\d{2}\.\d{3})\]/;let b=!1,g=!1,p="";return _(),{feed:B,reset:_,end:k};function _(){t=!0,r="",n=!1,a="",c=!1,s=void 0,u=0,i=!1,o=0}function k(){if(i){console.log("whisper parser is already end");return}B(l)}function J(j){b||(p+=j),!b&&!g&&We(p)&&(g=!0),!b&&p.length>50&&(b=!0)}function B(j){var me,_e,Se;J(j);const O=[];r+=j,t&&((me=e==null?void 0:e.onStart)==null||me.call(e,{type:"event",event:"start",data:[]})),t&&Ct(r)&&(r=r.slice(qe.length)),t=!1;const Y=r.length;for(;u<Y;){const X=r[u];if(++u,c&&s&&X!=="["&&(s.text+=X),X==="["&&(n&&a.length&&s&&(s.text+=a),a="",n=!0,c=!1),n){if(a+=X,a===T&&(a=""),a===v&&(a="",f&&o++),a===l){s&&O.push(s),i=!0;break}if(m.test(a)){const I=m.exec(a),D=I==null?void 0:I[1],ne=I==null?void 0:I[2];if(s&&O.push(s),D&&ne){if(f&&(e!=null&&e.vad)&&e.vad.length>0){let Z=0;Z=e.vad[o].start-ie.padding[0]<0?0:e.vad[o].start-ie.padding[0];const _t=D==="00:00:00.000";let je=w(A(D)+Z);o>0&&_t&&(je=w(A(D)+Z+ie.padding[0])),s={st:je,et:w(A(ne)+Z),text:"",children:[]}}else s={st:D,et:ne,text:"",children:[]};c=!0,n=!1,a=""}}}}O.length&&((_e=e==null?void 0:e.onParse)==null||_e.call(e,{type:"event",event:"message",data:O})),i&&((Se=e==null?void 0:e.onEnd)==null||Se.call(e,{type:"event",event:"end",data:r}),_())}}const qe=[239,187,191];function Ct(e){return qe.every((t,r)=>e.charCodeAt(r)===t)}function Ft(e){let t,r,n,a,c,s,u,i;const o=/\[(\d+)\]/,f="[--end--]";return l(),{feed:T,reset:l,end:v};function l(){t=!0,r="",n=0,i=!1,s="",a=void 0,c=!1,u=!1}function v(){T(f)}function T(m){var p,_,k,J,B;const b=[];r+=m,t&&((p=e==null?void 0:e.onStart)==null||p.call(e,{type:"event",event:"start",data:[]})),t&&It(r)&&(r=r.slice(Je.length)),t=!1;const g=r.length;for(;n<g;){const j=r[n];if(++n,u&&a&&j!=="["&&(a.text+=j,(_=e==null?void 0:e.onProgress)==null||_.call(e,{type:"event",event:"message",data:[a]})),j==="["&&(c&&s.length&&a&&(a.text+=s,(k=e==null?void 0:e.onProgress)==null||k.call(e,{type:"event",event:"message",data:[a]})),s="",c=!0,u=!1),c){if(s+=j,s===f){a&&b.push(a),i=!0;break}if(o.test(s)){const O=o.exec(s),Y=O==null?void 0:O[1];a&&b.push(a),Y&&(a={index:Number(Y),text:""},u=!0,c=!1,s="")}}}b.length&&((J=e==null?void 0:e.onParse)==null||J.call(e,{type:"event",event:"message",data:b})),i&&((B=e==null?void 0:e.onEnd)==null||B.call(e,{type:"event",event:"end",data:r}),l())}}const Je=[239,187,191];function It(e){return Je.every((t,r)=>e.charCodeAt(r)===t)}async function Lt(e){return At(e,{keepMultiLine:!0,propName:{}}).filter(n=>n.text).map(n=>({st:w(n.start),et:w(n.end),text:n.text}))}async function Ye(e){return(await Pt(e)).filter(n=>n.part).map(n=>({st:w(n.start),et:w(n.end),text:n.part}))}async function Mt(e){return Ye(xt(e))}const zt=Object.freeze(Object.defineProperty({__proto__:null,assToAimSegments:Mt,createTranslateStreamParser:Ft,createWhisperStreamParser:Et,srtToAimSegments:Lt,vttToAimSegments:Ye},Symbol.toStringTag,{value:"Module"}));class Nt{constructor(t){y(this,"chains",{});y(this,"delimit","__replace__");y(this,"onFilter");y(this,"checked",!1);y(this,"checkedText","");y(this,"checkedLevel");y(this,"filteredText","");this.onFilter=t}add(t,r){typeof t!="string"&&(t=new TextDecoder().decode(t));const n=t;if(!n)return;let a=this.chains;for(let c=0;c<n.length;c++){if(n[c]in a)a=a[n[c]];else{if(!(a instanceof Object))break;let s,u;for(let i=c;i<n.length;i++)a[n[i]]={},[s,u]=[a,n[i]],a=a[n[i]];s&&u&&(s[u]={[this.delimit]:r||""});break}c===n.length-1&&(a[this.delimit]=r||"")}}parse(t){t.forEach(r=>{this.add(...r)})}reParse(t){this.chains={},t.forEach(r=>{this.add(r[0],r[1])})}feed(t){if(!this.checked&&!this.chains[t]){this.filteredText+=t,this.onFilter&&this.onFilter(t);return}if(!this.checked&&this.chains[t]){this.checked=!0,this.checkedLevel=this.chains[t],this.checkedText+=t;return}if(this.checked&&this.checkedLevel[t]){this.checkedLevel=this.checkedLevel[t],this.checkedText+=t;return}if(this.checked&&!this.checkedLevel[t]){const r=typeof this.checkedLevel[this.delimit]=="string"?this.checkedLevel[this.delimit]:this.checkedText;r&&r.length&&r.split("").forEach(n=>{this.filteredText+=n,this.onFilter&&this.onFilter(n)}),this.checked=!1,this.checkedText="",this.checkedLevel=void 0,this.chains[t]?(this.checked=!0,this.checkedLevel=this.chains[t],this.checkedText=t):(this.onFilter&&this.onFilter(t),this.filteredText+=t)}}feedAll(t){return t.length?(t.split("").forEach(n=>{this.feed(n)}),this.end()):""}end(){if(this.checked&&this.checkedText){const r=typeof this.checkedLevel[this.delimit]=="string"?this.checkedLevel[this.delimit]:this.checkedText;r&&r.length&&r.split("").forEach(n=>{this.onFilter&&this.onFilter(n),this.filteredText+=n}),this.checkedText="",this.checkedLevel=void 0,this.checked=!1}const t=this.filteredText;return this.filteredText="",t}}const kt=Object.freeze(Object.defineProperty({__proto__:null,StreamFilter:Nt},Symbol.toStringTag,{value:"Module"}));var Xe=typeof global=="object"&&global&&global.Object===Object&&global,Bt=typeof self=="object"&&self&&self.Object===Object&&self,S=Xe||Bt||Function("return this")(),L=S.Symbol,Ze=Object.prototype,Dt=Ze.hasOwnProperty,Gt=Ze.toString,G=L?L.toStringTag:void 0;function Ut(e){var t=Dt.call(e,G),r=e[G];try{e[G]=void 0;var n=!0}catch{}var a=Gt.call(e);return n&&(t?e[G]=r:delete e[G]),a}var Rt=Object.prototype,Ht=Rt.toString;function Kt(e){return Ht.call(e)}var Vt="[object Null]",Wt="[object Undefined]",xe=L?L.toStringTag:void 0;function V(e){return e==null?e===void 0?Wt:Vt:xe&&xe in Object(e)?Ut(e):Kt(e)}function W(e){return e!=null&&typeof e=="object"}var de=Array.isArray;function q(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var qt="[object AsyncFunction]",Jt="[object Function]",Yt="[object GeneratorFunction]",Xt="[object Proxy]";function Qe(e){if(!q(e))return!1;var t=V(e);return t==Jt||t==Yt||t==qt||t==Xt}var ce=S["__core-js_shared__"],Oe=function(){var e=/[^.]+$/.exec(ce&&ce.keys&&ce.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function Zt(e){return!!Oe&&Oe in e}var Qt=Function.prototype,er=Qt.toString;function C(e){if(e!=null){try{return er.call(e)}catch{}try{return e+""}catch{}}return""}var tr=/[\\^$.*+?()[\]{}|]/g,rr=/^\[object .+?Constructor\]$/,nr=Function.prototype,ar=Object.prototype,sr=nr.toString,ir=ar.hasOwnProperty,cr=RegExp("^"+sr.call(ir).replace(tr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function or(e){if(!q(e)||Zt(e))return!1;var t=Qe(e)?cr:rr;return t.test(C(e))}function ur(e,t){return e==null?void 0:e[t]}function F(e,t){var r=ur(e,t);return or(r)?r:void 0}var ue=F(S,"WeakMap"),we=Object.create,fr=function(){function e(){}return function(t){if(!q(t))return{};if(we)return we(t);e.prototype=t;var r=new e;return e.prototype=void 0,r}}();function lr(e,t){var r=-1,n=e.length;for(t||(t=Array(n));++r<n;)t[r]=e[r];return t}var Ae=function(){try{var e=F(Object,"defineProperty");return e({},"",{}),e}catch{}}();function hr(e,t){for(var r=-1,n=e==null?0:e.length;++r<n&&t(e[r],r,e)!==!1;);return e}var dr=9007199254740991,gr=/^(?:0|[1-9]\d*)$/;function pr(e,t){var r=typeof e;return t=t??dr,!!t&&(r=="number"||r!="symbol"&&gr.test(e))&&e>-1&&e%1==0&&e<t}function et(e,t,r){t=="__proto__"&&Ae?Ae(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}function tt(e,t){return e===t||e!==e&&t!==t}var br=Object.prototype,yr=br.hasOwnProperty;function rt(e,t,r){var n=e[t];(!(yr.call(e,t)&&tt(n,r))||r===void 0&&!(t in e))&&et(e,t,r)}function ee(e,t,r,n){var a=!r;r||(r={});for(var c=-1,s=t.length;++c<s;){var u=t[c],i=void 0;i===void 0&&(i=e[u]),a?et(r,u,i):rt(r,u,i)}return r}var vr=9007199254740991;function nt(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=vr}function at(e){return e!=null&&nt(e.length)&&!Qe(e)}var Tr=Object.prototype;function ge(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||Tr;return e===r}function mr(e,t){for(var r=-1,n=Array(e);++r<e;)n[r]=t(r);return n}var _r="[object Arguments]";function Pe(e){return W(e)&&V(e)==_r}var st=Object.prototype,Sr=st.hasOwnProperty,jr=st.propertyIsEnumerable,$r=Pe(function(){return arguments}())?Pe:function(e){return W(e)&&Sr.call(e,"callee")&&!jr.call(e,"callee")};function xr(){return!1}var it=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ee=it&&typeof module=="object"&&module&&!module.nodeType&&module,Or=Ee&&Ee.exports===it,Ce=Or?S.Buffer:void 0,wr=Ce?Ce.isBuffer:void 0,ct=wr||xr,Ar="[object Arguments]",Pr="[object Array]",Er="[object Boolean]",Cr="[object Date]",Fr="[object Error]",Ir="[object Function]",Lr="[object Map]",Mr="[object Number]",zr="[object Object]",Nr="[object RegExp]",kr="[object Set]",Br="[object String]",Dr="[object WeakMap]",Gr="[object ArrayBuffer]",Ur="[object DataView]",Rr="[object Float32Array]",Hr="[object Float64Array]",Kr="[object Int8Array]",Vr="[object Int16Array]",Wr="[object Int32Array]",qr="[object Uint8Array]",Jr="[object Uint8ClampedArray]",Yr="[object Uint16Array]",Xr="[object Uint32Array]",d={};d[Rr]=d[Hr]=d[Kr]=d[Vr]=d[Wr]=d[qr]=d[Jr]=d[Yr]=d[Xr]=!0;d[Ar]=d[Pr]=d[Gr]=d[Er]=d[Ur]=d[Cr]=d[Fr]=d[Ir]=d[Lr]=d[Mr]=d[zr]=d[Nr]=d[kr]=d[Br]=d[Dr]=!1;function Zr(e){return W(e)&&nt(e.length)&&!!d[V(e)]}function pe(e){return function(t){return e(t)}}var ot=typeof exports=="object"&&exports&&!exports.nodeType&&exports,R=ot&&typeof module=="object"&&module&&!module.nodeType&&module,Qr=R&&R.exports===ot,oe=Qr&&Xe.process,M=function(){try{var e=R&&R.require&&R.require("util").types;return e||oe&&oe.binding&&oe.binding("util")}catch{}}(),Fe=M&&M.isTypedArray,en=Fe?pe(Fe):Zr,tn=Object.prototype,rn=tn.hasOwnProperty;function ut(e,t){var r=de(e),n=!r&&$r(e),a=!r&&!n&&ct(e),c=!r&&!n&&!a&&en(e),s=r||n||a||c,u=s?mr(e.length,String):[],i=u.length;for(var o in e)(t||rn.call(e,o))&&!(s&&(o=="length"||a&&(o=="offset"||o=="parent")||c&&(o=="buffer"||o=="byteLength"||o=="byteOffset")||pr(o,i)))&&u.push(o);return u}function ft(e,t){return function(r){return e(t(r))}}var nn=ft(Object.keys,Object),an=Object.prototype,sn=an.hasOwnProperty;function cn(e){if(!ge(e))return nn(e);var t=[];for(var r in Object(e))sn.call(e,r)&&r!="constructor"&&t.push(r);return t}function be(e){return at(e)?ut(e):cn(e)}function on(e){var t=[];if(e!=null)for(var r in Object(e))t.push(r);return t}var un=Object.prototype,fn=un.hasOwnProperty;function ln(e){if(!q(e))return on(e);var t=ge(e),r=[];for(var n in e)n=="constructor"&&(t||!fn.call(e,n))||r.push(n);return r}function ye(e){return at(e)?ut(e,!0):ln(e)}var H=F(Object,"create");function hn(){this.__data__=H?H(null):{},this.size=0}function dn(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var gn="__lodash_hash_undefined__",pn=Object.prototype,bn=pn.hasOwnProperty;function yn(e){var t=this.__data__;if(H){var r=t[e];return r===gn?void 0:r}return bn.call(t,e)?t[e]:void 0}var vn=Object.prototype,Tn=vn.hasOwnProperty;function mn(e){var t=this.__data__;return H?t[e]!==void 0:Tn.call(t,e)}var _n="__lodash_hash_undefined__";function Sn(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=H&&t===void 0?_n:t,this}function E(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}E.prototype.clear=hn;E.prototype.delete=dn;E.prototype.get=yn;E.prototype.has=mn;E.prototype.set=Sn;function jn(){this.__data__=[],this.size=0}function te(e,t){for(var r=e.length;r--;)if(tt(e[r][0],t))return r;return-1}var $n=Array.prototype,xn=$n.splice;function On(e){var t=this.__data__,r=te(t,e);if(r<0)return!1;var n=t.length-1;return r==n?t.pop():xn.call(t,r,1),--this.size,!0}function wn(e){var t=this.__data__,r=te(t,e);return r<0?void 0:t[r][1]}function An(e){return te(this.__data__,e)>-1}function Pn(e,t){var r=this.__data__,n=te(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}function x(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}x.prototype.clear=jn;x.prototype.delete=On;x.prototype.get=wn;x.prototype.has=An;x.prototype.set=Pn;var K=F(S,"Map");function En(){this.size=0,this.__data__={hash:new E,map:new(K||x),string:new E}}function Cn(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function re(e,t){var r=e.__data__;return Cn(t)?r[typeof t=="string"?"string":"hash"]:r.map}function Fn(e){var t=re(this,e).delete(e);return this.size-=t?1:0,t}function In(e){return re(this,e).get(e)}function Ln(e){return re(this,e).has(e)}function Mn(e,t){var r=re(this,e),n=r.size;return r.set(e,t),this.size+=r.size==n?0:1,this}function z(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var n=e[t];this.set(n[0],n[1])}}z.prototype.clear=En;z.prototype.delete=Fn;z.prototype.get=In;z.prototype.has=Ln;z.prototype.set=Mn;function lt(e,t){for(var r=-1,n=t.length,a=e.length;++r<n;)e[a+r]=t[r];return e}var ht=ft(Object.getPrototypeOf,Object);function zn(){this.__data__=new x,this.size=0}function Nn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}function kn(e){return this.__data__.get(e)}function Bn(e){return this.__data__.has(e)}var Dn=200;function Gn(e,t){var r=this.__data__;if(r instanceof x){var n=r.__data__;if(!K||n.length<Dn-1)return n.push([e,t]),this.size=++r.size,this;r=this.__data__=new z(n)}return r.set(e,t),this.size=r.size,this}function N(e){var t=this.__data__=new x(e);this.size=t.size}N.prototype.clear=zn;N.prototype.delete=Nn;N.prototype.get=kn;N.prototype.has=Bn;N.prototype.set=Gn;function Un(e,t){return e&&ee(t,be(t),e)}function Rn(e,t){return e&&ee(t,ye(t),e)}var dt=typeof exports=="object"&&exports&&!exports.nodeType&&exports,Ie=dt&&typeof module=="object"&&module&&!module.nodeType&&module,Hn=Ie&&Ie.exports===dt,Le=Hn?S.Buffer:void 0,Me=Le?Le.allocUnsafe:void 0;function Kn(e,t){if(t)return e.slice();var r=e.length,n=Me?Me(r):new e.constructor(r);return e.copy(n),n}function Vn(e,t){for(var r=-1,n=e==null?0:e.length,a=0,c=[];++r<n;){var s=e[r];t(s,r,e)&&(c[a++]=s)}return c}function gt(){return[]}var Wn=Object.prototype,qn=Wn.propertyIsEnumerable,ze=Object.getOwnPropertySymbols,ve=ze?function(e){return e==null?[]:(e=Object(e),Vn(ze(e),function(t){return qn.call(e,t)}))}:gt;function Jn(e,t){return ee(e,ve(e),t)}var Yn=Object.getOwnPropertySymbols,pt=Yn?function(e){for(var t=[];e;)lt(t,ve(e)),e=ht(e);return t}:gt;function Xn(e,t){return ee(e,pt(e),t)}function bt(e,t,r){var n=t(e);return de(e)?n:lt(n,r(e))}function Zn(e){return bt(e,be,ve)}function Qn(e){return bt(e,ye,pt)}var fe=F(S,"DataView"),le=F(S,"Promise"),he=F(S,"Set"),Ne="[object Map]",ea="[object Object]",ke="[object Promise]",Be="[object Set]",De="[object WeakMap]",Ge="[object DataView]",ta=C(fe),ra=C(K),na=C(le),aa=C(he),sa=C(ue),$=V;(fe&&$(new fe(new ArrayBuffer(1)))!=Ge||K&&$(new K)!=Ne||le&&$(le.resolve())!=ke||he&&$(new he)!=Be||ue&&$(new ue)!=De)&&($=function(e){var t=V(e),r=t==ea?e.constructor:void 0,n=r?C(r):"";if(n)switch(n){case ta:return Ge;case ra:return Ne;case na:return ke;case aa:return Be;case sa:return De}return t});var ia=Object.prototype,ca=ia.hasOwnProperty;function oa(e){var t=e.length,r=new e.constructor(t);return t&&typeof e[0]=="string"&&ca.call(e,"index")&&(r.index=e.index,r.input=e.input),r}var Ue=S.Uint8Array;function Te(e){var t=new e.constructor(e.byteLength);return new Ue(t).set(new Ue(e)),t}function ua(e,t){var r=t?Te(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.byteLength)}var fa=/\w*$/;function la(e){var t=new e.constructor(e.source,fa.exec(e));return t.lastIndex=e.lastIndex,t}var Re=L?L.prototype:void 0,He=Re?Re.valueOf:void 0;function ha(e){return He?Object(He.call(e)):{}}function da(e,t){var r=t?Te(e.buffer):e.buffer;return new e.constructor(r,e.byteOffset,e.length)}var ga="[object Boolean]",pa="[object Date]",ba="[object Map]",ya="[object Number]",va="[object RegExp]",Ta="[object Set]",ma="[object String]",_a="[object Symbol]",Sa="[object ArrayBuffer]",ja="[object DataView]",$a="[object Float32Array]",xa="[object Float64Array]",Oa="[object Int8Array]",wa="[object Int16Array]",Aa="[object Int32Array]",Pa="[object Uint8Array]",Ea="[object Uint8ClampedArray]",Ca="[object Uint16Array]",Fa="[object Uint32Array]";function Ia(e,t,r){var n=e.constructor;switch(t){case Sa:return Te(e);case ga:case pa:return new n(+e);case ja:return ua(e,r);case $a:case xa:case Oa:case wa:case Aa:case Pa:case Ea:case Ca:case Fa:return da(e,r);case ba:return new n;case ya:case ma:return new n(e);case va:return la(e);case Ta:return new n;case _a:return ha(e)}}function La(e){return typeof e.constructor=="function"&&!ge(e)?fr(ht(e)):{}}var Ma="[object Map]";function za(e){return W(e)&&$(e)==Ma}var Ke=M&&M.isMap,Na=Ke?pe(Ke):za,ka="[object Set]";function Ba(e){return W(e)&&$(e)==ka}var Ve=M&&M.isSet,Da=Ve?pe(Ve):Ba,Ga=1,Ua=2,Ra=4,yt="[object Arguments]",Ha="[object Array]",Ka="[object Boolean]",Va="[object Date]",Wa="[object Error]",vt="[object Function]",qa="[object GeneratorFunction]",Ja="[object Map]",Ya="[object Number]",Tt="[object Object]",Xa="[object RegExp]",Za="[object Set]",Qa="[object String]",es="[object Symbol]",ts="[object WeakMap]",rs="[object ArrayBuffer]",ns="[object DataView]",as="[object Float32Array]",ss="[object Float64Array]",is="[object Int8Array]",cs="[object Int16Array]",os="[object Int32Array]",us="[object Uint8Array]",fs="[object Uint8ClampedArray]",ls="[object Uint16Array]",hs="[object Uint32Array]",h={};h[yt]=h[Ha]=h[rs]=h[ns]=h[Ka]=h[Va]=h[as]=h[ss]=h[is]=h[cs]=h[os]=h[Ja]=h[Ya]=h[Tt]=h[Xa]=h[Za]=h[Qa]=h[es]=h[us]=h[fs]=h[ls]=h[hs]=!0;h[Wa]=h[vt]=h[ts]=!1;function Q(e,t,r,n,a,c){var s,u=t&Ga,i=t&Ua,o=t&Ra;if(s!==void 0)return s;if(!q(e))return e;var f=de(e);if(f){if(s=oa(e),!u)return lr(e,s)}else{var l=$(e),v=l==vt||l==qa;if(ct(e))return Kn(e,u);if(l==Tt||l==yt||v&&!a){if(s=i||v?{}:La(e),!u)return i?Xn(e,Rn(s,e)):Jn(e,Un(s,e))}else{if(!h[l])return a?e:{};s=Ia(e,l,u)}}c||(c=new N);var T=c.get(e);if(T)return T;c.set(e,s),Da(e)?e.forEach(function(g){s.add(Q(g,t,r,g,e,c))}):Na(e)&&e.forEach(function(g,p){s.set(p,Q(g,t,r,p,e,c))});var m=o?i?Qn:Zn:i?ye:be,b=f?void 0:m(e);return hr(b||e,function(g,p){b&&(p=g,g=e[p]),rt(s,p,Q(g,t,r,p,e,c))}),s}var ds=1,gs=4;function ps(e){return Q(e,ds|gs)}class mt{constructor(t){y(this,"threshold",2);y(this,"hit",0);y(this,"prevSegment");y(this,"hitSegment");y(this,"hitSegmentList",[]);y(this,"options");this.options=t||{}}push(t){var r,n;this.hitSegment&&this.hitSegment.text!==t.text&&(this.hitSegmentList.push(this.hitSegment),this.reset()),this.prevSegment&&t.text===this.prevSegment.text?(this.hit++,this.hit===1&&(this.hitSegment=ps(this.prevSegment)),this.threshold<=this.hit&&this.hitSegment&&(this.hitSegment.et=t.et,this.hitSegment.hit=this.hit,(n=(r=this.options).onHit)==null||n.call(r,this.hitSegmentList))):this.hit=0,this.prevSegment=t}end(){var t,r;this.hitSegment&&(this.hitSegmentList.push(this.hitSegment),(r=(t=this.options).onHit)==null||r.call(t,this.hitSegmentList)),this.reset()}reset(){this.hit=0,this.prevSegment=void 0,this.hitSegment=void 0}}const P={punc:/[.,?!\],。!?…]{1}/,em:/[.?!\]。!?…]{1}/,space:/^\s+|\s+$|\s{2,}/g,ep:/[.,?!,。!?…]{1}\s*$/};function bs(e,t){let r=[];const n=new mt({onHit:i=>{r=i}}),a=i=>i.trim().length===0,c=i=>{const o=A(i.st),f=A(i.et);return o>=f},s={emt:[],ep:[],zf:[],punc:[],em:[],space:[]},u=[];return e.forEach((i,o)=>{const f=P.punc.test(i.text),l=P.em.test(i.text),v=P.space.test(i.text),T=a(i.text),m=c(i),b=P.ep.test(i.text);n.push(i),i.punc=f?1:0,f&&s.punc.push(o),i.em=l?1:0,l&&s.em.push(o),i.space=v?1:0,v&&(t!=null&&t.space?i.text=i.text.replace(P.space," ").trim():s.space.push(o)),i.emt=a(i.text)?1:0,T&&(t!=null&&t.emt||s.emt.push(o)),i.zf=c(i)?1:0,m&&(t!=null&&t.zf||s.zf.push(o)),i.ep=b?1:0,b&&(t!=null&&t.ep?i.text=i.text.replace(P.ep,""):s.ep.push(o)),!(t!=null&&t.zf&&i.zf)&&(t!=null&&t.emt&&i.emt||u.push(i))}),n.end(),{result:s,repeat:r,segments:u}}const ys=Object.freeze(Object.defineProperty({__proto__:null,RepeatCheck:mt,subtitleOptimization:bs,subtitleOptimizationRegExp:P},Symbol.toStringTag,{value:"Module"}));exports.filter=kt;exports.parser=zt;exports.tools=ys;exports.utils=$t;
package/dist/index.d.ts CHANGED
@@ -84,6 +84,21 @@ declare function containsCJKCharacters(str: string): boolean;
84
84
  */
85
85
  declare function convertToSeconds(time?: string): number;
86
86
 
87
+ /**
88
+ * Creates a new Parser parser.
89
+ *
90
+ * @param onParse - Callback to invoke when a new event is parsed, or a new reconnection interval
91
+ * has been sent from the server
92
+ *
93
+ * @returns A new Parser parser, with `parse`, `end` and `reset` methods.
94
+ * @public
95
+ */
96
+ declare function create(options?: ParserOptions<AimSegments[], AimSegments[], string> & {
97
+ vad?: VADTimeItem[];
98
+ }): Parser<string>;
99
+
100
+ declare function create_2(options?: ParserOptions<RequiredByKey<Partial<AimSegments>, "index">[], Partial<AimSegments>[], string>): Parser<string>;
101
+
87
102
  export declare namespace filter {
88
103
  export {
89
104
  StreamFilter
@@ -113,14 +128,75 @@ declare interface OptimizationOptions {
113
128
  */
114
129
  declare function padNumber(num: number, length?: number): string;
115
130
 
131
+ /**
132
+ * Callback passed as the `onParse` callback to a parser
133
+ *
134
+ * @public
135
+ */
136
+ declare type ParseCallback<T> = (event: ParsedEvent<T>) => void;
137
+
138
+ declare interface ParsedEvent<T> {
139
+ type: "event";
140
+ event: "start" | "message" | "end";
141
+ data?: T;
142
+ }
143
+
144
+ /**
145
+ * Parser parser instance.
146
+ *
147
+ * Needs to be reset between reconnections/when switching data source, using the `reset()` method.
148
+ *
149
+ * @public
150
+ */
151
+ declare interface Parser<T = string> {
152
+ /**
153
+ * Feeds the parser another chunk. The method _does not_ return a parsed message.
154
+ * Instead, if the chunk was a complete message (or completed a previously incomplete message),
155
+ * it will invoke the `onParse` callback used to create the parsers.
156
+ *
157
+ * @param chunk - The chunk to parse. Can be a partial, eg in the case of streaming messages.
158
+ * @public
159
+ */
160
+ feed(chunk: T): void;
161
+ /**
162
+ * Resets the parser state. This is required when you have a new stream of messages -
163
+ * for instance in the case of a client being disconnected and reconnecting.
164
+ *
165
+ * @public
166
+ */
167
+ reset(): void;
168
+ end(): void;
169
+ }
170
+
116
171
  export declare namespace parser {
117
172
  export {
118
173
  srtToAimSegments,
119
174
  vttToAimSegments,
120
- assToAimSegments
175
+ assToAimSegments,
176
+ create as createWhisperStreamParser,
177
+ create_2 as createTranslateStreamParser
121
178
  }
122
179
  }
123
180
 
181
+ /**
182
+ * `ParserOptions` 是一个泛型类型,用于配置解析器的回调函数。
183
+ *
184
+ * @template S - 解析开始时的状态类型
185
+ * @template P - 解析过程中使用的状态类型
186
+ * @template E - 解析结束时的状态类型
187
+ *
188
+ * @property {ParseCallback<S>} [onStart] - 解析开始时的回调函数
189
+ * @property {ParseCallback<P>} [onParse] - 解析过程中调用的回调函数
190
+ * @property {ParseCallback<P>} [onProgress] - 解析进度更新时的回调函数
191
+ * @property {ParseCallback<E>} [onEnd] - 解析结束时的回调函数
192
+ */
193
+ declare type ParserOptions<S, P, E> = {
194
+ onStart?: ParseCallback<S>;
195
+ onParse?: ParseCallback<P>;
196
+ onProgress?: ParseCallback<P>;
197
+ onEnd?: ParseCallback<E>;
198
+ };
199
+
124
200
  declare class RepeatCheck {
125
201
  threshold: number;
126
202
  hit: number;
@@ -138,6 +214,8 @@ declare interface RepeatCheckOption {
138
214
  onHit?: (segment: AimSegments[]) => void;
139
215
  }
140
216
 
217
+ declare type RequiredByKey<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
218
+
141
219
  declare function srtToAimSegments(text: string): Promise<AimSegments[]>;
142
220
 
143
221
  declare class StreamFilter {
@@ -195,6 +273,11 @@ export declare namespace utils {
195
273
  }
196
274
  }
197
275
 
276
+ declare type VADTimeItem = {
277
+ start: number;
278
+ end: number;
279
+ };
280
+
198
281
  declare function vttToAimSegments(text: string): Promise<AimSegments[]>;
199
282
 
200
283
  export { }