/**
* @archivo texto-pista-cue-list.js
* /
/**
* @typedef {Objeto} TextTrackCueList~TextTrackCue
*
* @propiedad {cadena} id
* La identificación única para esta señal de pista de texto
*
* @propiedad {número} hora de inicio
* La hora de inicio de esta señal de pista de texto
*
* @propiedad {número} hora de finalización
* La hora de finalización de esta señal de pista de texto
*
* @property {booleano} pauseOnExit
* Haga una pausa cuando se alcance la hora de finalización si es cierto.
*
* @ver [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcue}
* /
/**
* Una lista de TextTrackCues.
*
* @ver [Spec]{@link https://html.spec.whatwg.org/multipage/embedded-content.html#texttrackcuelist}
* /
clase TextTrackCueList {
/**
* Crear una instancia de esta clase..
*
* @param {Array} señales
* Una lista de cues para ser inicializados con
* /
constructor (señales) {
TextTrackCueList.prototype.setCues_.call(this, cues);
/**
* @miembro de TextTrackCueList
* @miembro {número} longitud
* El número actual de `TextTrackCue`s en TextTrackCueList.
* @instancia
* /
Object.defineProperty(esto, 'longitud', {
conseguir() {
devuelve esto.longitud_;
}
});
}
/**
* Un colocador de señales en esta lista. Crea captadores
* un índice para las señales.
*
* @param {Array} señales
* Una variedad de señales para establecer
*
* @privado
* /
setCues_(cues) {
const oldLength = this.length || 0;
sea i = 0;
const l = cues.longitud;
this.cues_ = señales;
this.length_ = señales.longitud;
const defineProp = función (índice) {
if (!('' + índice en esto)) {
Object.defineProperty(esto, '' + índice, {
conseguir() {
devuelve esto.cues_[índice];
}
});
}
};
if (antiguoLongitud < l) {
i = longitudAnterior;
para (; yo < yo; i++) {
defineProp.call(esto, yo);
}
}
}
/**
* Obtenga un `TextTrackCue` que se encuentra actualmente en `TextTrackCueList` por id.
*
* @param {cadena} id
* El id del cue que debe ser buscado.
*
* @return {TextTrackCueList~TextTrackCue|null}
* Una sola señal o nula si no se encontró ninguna.
* /
getCueById(id) {
dejar resultado = nulo;
para (sea i = 0, l = esta.longitud; i < yo; i++) {
const señal = esto[i];
if (cue.id === id) {
resultado = señal;
romper;
}
}
resultado devuelto;
}
}
exportar TextTrackCueList predeterminado;