feat: Reinitialize frontend with SvelteKit and TypeScript

- Delete old Vite+Svelte frontend
- Initialize new SvelteKit project with TypeScript
- Configure Tailwind CSS v4 + DaisyUI
- Implement JWT authentication with auto-refresh
- Create login page with form validation (Zod)
- Add protected route guards
- Update Docker configuration for single-stage build
- Add E2E tests with Playwright (6/11 passing)
- Fix Svelte 5 reactivity with $state() runes

Known issues:
- 5 E2E tests failing (timing/async issues)
- Token refresh implementation needs debugging
- Validation error display timing
This commit is contained in:
2026-02-17 16:19:59 -05:00
parent 54df6018f5
commit de2d83092e
28274 changed files with 3816354 additions and 90 deletions

View File

@@ -0,0 +1,805 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Event_js_1 = __importDefault(require("../../event/Event.cjs"));
const DOMExceptionNameEnum_js_1 = __importDefault(require("../../exception/DOMExceptionNameEnum.cjs"));
const HTMLElement_js_1 = __importDefault(require("../html-element/HTMLElement.cjs"));
const TimeRanges_js_1 = __importDefault(require("./TimeRanges.cjs"));
const DOMTokenList_js_1 = __importDefault(require("../../dom/DOMTokenList.cjs"));
const MediaStream_js_1 = __importDefault(require("./MediaStream.cjs"));
const TextTrackKindEnum_js_1 = __importDefault(require("./TextTrackKindEnum.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const ElementEventAttributeUtility_js_1 = __importDefault(require("../element/ElementEventAttributeUtility.cjs"));
/**
* HTML Media Element.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
*
*/
class HTMLMediaElement extends HTMLElement_js_1.default {
// Internal Properties
[PropertySymbol.volume] = 1;
[PropertySymbol.paused] = true;
[PropertySymbol.currentTime] = 0;
[PropertySymbol.playbackRate] = 1;
[PropertySymbol.defaultPlaybackRate] = 1;
[PropertySymbol.muted] = false;
[PropertySymbol.defaultMuted] = false;
[PropertySymbol.preservesPitch] = true;
[PropertySymbol.buffered] = new TimeRanges_js_1.default(PropertySymbol.illegalConstructor);
[PropertySymbol.duration] = NaN;
[PropertySymbol.error] = null;
[PropertySymbol.ended] = false;
[PropertySymbol.networkState] = 0;
[PropertySymbol.readyState] = 0;
[PropertySymbol.seeking] = false;
[PropertySymbol.seekable] = new TimeRanges_js_1.default(PropertySymbol.illegalConstructor);
[PropertySymbol.sinkId] = '';
[PropertySymbol.played] = new TimeRanges_js_1.default(PropertySymbol.illegalConstructor);
[PropertySymbol.remote] = new this[PropertySymbol.window].RemotePlayback();
[PropertySymbol.controlsList] = null;
[PropertySymbol.mediaKeys] = null;
[PropertySymbol.srcObject] = null;
[PropertySymbol.textTracks] = [];
// Events
/* eslint-disable jsdoc/require-jsdoc */
get onabort() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onabort');
}
set onabort(value) {
this[PropertySymbol.propertyEventListeners].set('onabort', value);
}
get oncanplay() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'oncanplay');
}
set oncanplay(value) {
this[PropertySymbol.propertyEventListeners].set('oncanplay', value);
}
get oncanplaythrough() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'oncanplaythrough');
}
set oncanplaythrough(value) {
this[PropertySymbol.propertyEventListeners].set('oncanplaythrough', value);
}
get ondurationchange() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'ondurationchange');
}
set ondurationchange(value) {
this[PropertySymbol.propertyEventListeners].set('ondurationchange', value);
}
get onemptied() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onemptied');
}
set onemptied(value) {
this[PropertySymbol.propertyEventListeners].set('onemptied', value);
}
get onended() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onended');
}
set onended(value) {
this[PropertySymbol.propertyEventListeners].set('onended', value);
}
get onloadeddata() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onloadeddata');
}
set onloadeddata(value) {
this[PropertySymbol.propertyEventListeners].set('onloadeddata', value);
}
get onloadedmetadata() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onloadedmetadata');
}
set onloadedmetadata(value) {
this[PropertySymbol.propertyEventListeners].set('onloadedmetadata', value);
}
get onloadstart() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onloadstart');
}
set onloadstart(value) {
this[PropertySymbol.propertyEventListeners].set('onloadstart', value);
}
get onpause() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onpause');
}
set onpause(value) {
this[PropertySymbol.propertyEventListeners].set('onpause', value);
}
get onplay() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onplay');
}
set onplay(value) {
this[PropertySymbol.propertyEventListeners].set('onplay', value);
}
get onplaying() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onplaying');
}
set onplaying(value) {
this[PropertySymbol.propertyEventListeners].set('onplaying', value);
}
get onprogress() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onprogress');
}
set onprogress(value) {
this[PropertySymbol.propertyEventListeners].set('onprogress', value);
}
get onratechange() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onratechange');
}
set onratechange(value) {
this[PropertySymbol.propertyEventListeners].set('onratechange', value);
}
get onresize() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onresize');
}
set onresize(value) {
this[PropertySymbol.propertyEventListeners].set('onresize', value);
}
get onseeked() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onseeked');
}
set onseeked(value) {
this[PropertySymbol.propertyEventListeners].set('onseeked', value);
}
get onseeking() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onseeking');
}
set onseeking(value) {
this[PropertySymbol.propertyEventListeners].set('onseeking', value);
}
get onstalled() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onstalled');
}
set onstalled(value) {
this[PropertySymbol.propertyEventListeners].set('onstalled', value);
}
get onsuspend() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onsuspend');
}
set onsuspend(value) {
this[PropertySymbol.propertyEventListeners].set('onsuspend', value);
}
get ontimeupdate() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'ontimeupdate');
}
set ontimeupdate(value) {
this[PropertySymbol.propertyEventListeners].set('ontimeupdate', value);
}
get onvolumechange() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onvolumechange');
}
set onvolumechange(value) {
this[PropertySymbol.propertyEventListeners].set('onvolumechange', value);
}
get onwaiting() {
return ElementEventAttributeUtility_js_1.default.getEventListener(this, 'onwaiting');
}
set onwaiting(value) {
this[PropertySymbol.propertyEventListeners].set('onwaiting', value);
}
/* eslint-enable jsdoc/require-jsdoc */
/**
* Returns buffered.
*
* @returns Buffered.
*/
get buffered() {
return this[PropertySymbol.buffered];
}
/**
* Returns duration.
*
* @returns Duration.
*/
get duration() {
return this[PropertySymbol.duration];
}
/**
* Returns error.
*
* @returns Error.
*/
get error() {
return this[PropertySymbol.error];
}
/**
* Returns ended.
*
* @returns Ended.
*/
get ended() {
return this[PropertySymbol.ended];
}
/**
* Returns networkState.
*
* @returns NetworkState.
*/
get networkState() {
return this[PropertySymbol.networkState];
}
/**
* Returns readyState.
*
* @returns ReadyState.
*/
get readyState() {
return this[PropertySymbol.readyState];
}
/**
* Return a RemotePlayback object instance associated with the media element.
*
* @returns RemotePlayback.
*/
get remote() {
return this[PropertySymbol.remote];
}
/**
* Returns seeking.
*
* @returns Seeking.
*/
get seeking() {
return this[PropertySymbol.seeking];
}
/**
* Returns seekable.
*
* @returns Seekable.
*/
get seekable() {
return this[PropertySymbol.seekable];
}
/**
* Returns sinkId.
*
* @returns SinkId.
*/
get sinkId() {
return this[PropertySymbol.sinkId];
}
/**
* Returns played.
*
* @returns Played.
*/
get played() {
return this[PropertySymbol.played];
}
/**
* Returns autoplay.
*
* @returns Autoplay.
*/
get autoplay() {
return this.getAttribute('autoplay') !== null;
}
/**
* Sets autoplay.
*
* @param autoplay Autoplay.
*/
set autoplay(autoplay) {
if (!autoplay) {
this.removeAttribute('autoplay');
}
else {
this.setAttribute('autoplay', '');
}
}
/**
* Returns controls.
*
* @returns Controls.
*/
get controls() {
return this.getAttribute('controls') !== null;
}
/**
* Sets controls.
*
* @param controls Controls.
*/
set controls(controls) {
if (!controls) {
this.removeAttribute('controls');
}
else {
this.setAttribute('controls', '');
}
}
/**
* Returns loop.
*
* @returns Loop.
*/
get loop() {
return this.getAttribute('loop') !== null;
}
/**
* Sets loop.
*
* @param loop Loop.
*/
set loop(loop) {
if (!loop) {
this.removeAttribute('loop');
}
else {
this.setAttribute('loop', '');
}
}
/**
* Returns preload.
*
* @returns preload.
*/
get preload() {
return this.getAttribute('preload') || 'auto';
}
/**
* Sets preload.
*
* @param preload preload.
*/
set preload(preload) {
this.setAttribute('preload', preload);
}
/**
* Returns src.
*
* @returns Src.
*/
get src() {
if (!this.hasAttribute('src')) {
return '';
}
try {
return new URL(this.getAttribute('src'), this[PropertySymbol.ownerDocument].location.href)
.href;
}
catch (e) {
return this.getAttribute('src');
}
}
/**
* Sets src.
*
* @param src Src.
*/
set src(src) {
this.setAttribute('src', src);
if (Boolean(src)) {
this.dispatchEvent(new Event_js_1.default('canplay', { bubbles: false, cancelable: false }));
this.dispatchEvent(new Event_js_1.default('durationchange', { bubbles: false, cancelable: false }));
}
}
/**
* Returns controlsList.
*
* @returns ControlsList.
*/
get controlsList() {
if (this[PropertySymbol.controlsList] === null) {
this[PropertySymbol.controlsList] = new DOMTokenList_js_1.default(PropertySymbol.illegalConstructor, this, 'controlslist');
}
return this[PropertySymbol.controlsList];
}
/**
* Sets controlsList.
*
* @param value Value.
*/
set controlsList(value) {
this.setAttribute('controlslist', value);
}
/**
* Returns mediaKeys.
*
* @returns MediaKeys.
*/
get mediaKeys() {
return this[PropertySymbol.mediaKeys];
}
/**
* Returns muted.
*
* @returns Muted.
*/
get muted() {
if (this[PropertySymbol.muted]) {
return this[PropertySymbol.muted];
}
if (!this[PropertySymbol.defaultMuted]) {
return this.getAttribute('muted') !== null;
}
return false;
}
/**
* Sets muted.
*
* @param muted Muted.
*/
set muted(muted) {
this[PropertySymbol.muted] = !!muted;
if (!muted && !this[PropertySymbol.defaultMuted]) {
this.removeAttribute('muted');
}
else {
this.setAttribute('muted', '');
}
}
/**
* Returns defaultMuted.
*
* @returns DefaultMuted.
*/
get defaultMuted() {
return this[PropertySymbol.defaultMuted];
}
/**
* Sets defaultMuted.
*
* @param defaultMuted DefaultMuted.
*/
set defaultMuted(defaultMuted) {
this[PropertySymbol.defaultMuted] = !!defaultMuted;
if (!this[PropertySymbol.defaultMuted] && !this[PropertySymbol.muted]) {
this.removeAttribute('muted');
}
else {
this.setAttribute('muted', '');
}
}
/**
* Returns disableRemotePlayback.
*
* @returns DisableRemotePlayback.
*/
get disableRemotePlayback() {
return this.getAttribute('disableremoteplayback') !== null;
}
/**
* Sets disableRemotePlayback.
*
* @param disableRemotePlayback DisableRemotePlayback.
*/
set disableRemotePlayback(disableRemotePlayback) {
if (!disableRemotePlayback) {
this.removeAttribute('disableremoteplayback');
}
else {
this.setAttribute('disableremoteplayback', '');
}
}
/**
* A MediaStream representing the media to play or that has played in the current HTMLMediaElement, or null if not assigned.
*
* @returns MediaStream.
*/
get srcObject() {
return this[PropertySymbol.srcObject];
}
/**
* Sets src object.
*
* @param srcObject SrcObject.
*/
set srcObject(srcObject) {
if (srcObject !== null && !(srcObject instanceof MediaStream_js_1.default)) {
throw new this[PropertySymbol.window].TypeError(`Failed to set the 'srcObject' property on 'HTMLMediaElement': The provided value is not of type 'MediaStream'.`);
}
this[PropertySymbol.srcObject] = srcObject;
}
/**
* Returns text track list.
*
* @returns Text track list.
*/
get textTracks() {
const items = [];
for (const track of this[PropertySymbol.textTracks]) {
items.push(track);
}
for (const track of this.querySelectorAll('track')[PropertySymbol.items]) {
items.push(track.track);
}
return new this[PropertySymbol.window].TextTrackList(PropertySymbol.illegalConstructor, items);
}
/**
* Returns currentSrc.
*
* @returns CurrentrSrc.
*/
get currentSrc() {
const src = this.src;
if (src) {
return src;
}
const sourceElement = this.querySelector('source');
return sourceElement ? sourceElement.src : '';
}
/**
* Returns volume.
*
* @returns Volume.
*/
get volume() {
return this[PropertySymbol.volume];
}
/**
* Sets volume.
*
* @param volume Volume.
*/
set volume(volume) {
const parsedVolume = Number(volume);
if (isNaN(parsedVolume)) {
throw new this[PropertySymbol.window].TypeError(`Failed to set the 'volume' property on 'HTMLMediaElement': The provided double value is non-finite.`);
}
if (parsedVolume < 0 || parsedVolume > 1) {
throw new this[PropertySymbol.window].DOMException(`Failed to set the 'volume' property on 'HTMLMediaElement': The volume provided (${parsedVolume}) is outside the range [0, 1].`, DOMExceptionNameEnum_js_1.default.indexSizeError);
}
// TODO: volumechange event https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/volumechange_event
this[PropertySymbol.volume] = parsedVolume;
}
/**
* Returns crossOrigin.
*
* @returns CrossOrigin.
*/
get crossOrigin() {
const crossOrigin = this.getAttribute('crossorigin');
if (crossOrigin === 'use-credentials') {
return 'use-credentials';
}
if (crossOrigin !== null) {
return 'anonymous';
}
return null;
}
/**
* Sets crossOrigin.
*
* @param crossOrigin CrossOrigin.
*/
set crossOrigin(crossOrigin) {
this.setAttribute('crossorigin', crossOrigin);
}
/**
* Returns currentTime.
*
* @returns CurrentTime.
*/
get currentTime() {
return this[PropertySymbol.currentTime];
}
/**
* Sets currentTime.
*
* @param currentTime CurrentTime.
*/
set currentTime(currentTime) {
const parsedCurrentTime = Number(currentTime);
if (isNaN(parsedCurrentTime)) {
throw new this[PropertySymbol.window].TypeError(`Failed to set the 'currentTime' property on 'HTMLMediaElement': The provided double value is non-finite.`);
}
this[PropertySymbol.currentTime] = parsedCurrentTime;
}
/**
* Returns playbackRate.
*
* @returns PlaybackRate.
*/
get playbackRate() {
return this[PropertySymbol.playbackRate];
}
/**
* Sets playbackRate.
*
* @param playbackRate PlaybackRate.
*/
set playbackRate(playbackRate) {
const parsedPlaybackRate = Number(playbackRate);
if (isNaN(parsedPlaybackRate)) {
throw new this[PropertySymbol.window].TypeError(`Failed to set the 'playbackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`);
}
this[PropertySymbol.playbackRate] = parsedPlaybackRate;
}
/**
* Returns defaultPlaybackRate.
*
* @returns DefaultPlaybackRate.
*/
get defaultPlaybackRate() {
return this[PropertySymbol.defaultPlaybackRate];
}
/**
* Sets defaultPlaybackRate.
*
* @param defaultPlaybackRate DefaultPlaybackRate.
*/
set defaultPlaybackRate(defaultPlaybackRate) {
const parsedDefaultPlaybackRate = Number(defaultPlaybackRate);
if (isNaN(parsedDefaultPlaybackRate)) {
throw new this[PropertySymbol.window].TypeError(`Failed to set the 'defaultPlaybackRate' property on 'HTMLMediaElement': The provided double value is non-finite.`);
}
this[PropertySymbol.defaultPlaybackRate] = parsedDefaultPlaybackRate;
}
/**
* Returns preservesPitch.
*
* @returns PlaybackRate.
*/
get preservesPitch() {
return this[PropertySymbol.preservesPitch];
}
/**
* Sets preservesPitch.
*
* @param preservesPitch PreservesPitch.
*/
set preservesPitch(preservesPitch) {
this[PropertySymbol.preservesPitch] = Boolean(preservesPitch);
}
/**
* Returns paused.
*
* @returns Paused.
*/
get paused() {
return this[PropertySymbol.paused];
}
/**
* @override
*/
get tabIndex() {
const tabIndex = this.getAttribute('tabindex');
if (tabIndex !== null) {
const parsed = Number(tabIndex);
return isNaN(parsed) ? 0 : parsed;
}
return 0;
}
/**
* @override
*/
set tabIndex(tabIndex) {
super.tabIndex = tabIndex;
}
/**
* Adds a new text track to the media element.
*
* @param kind The kind of text track.
* @param label The label of the text track.
* @param language The language of the text track data.
*/
addTextTrack(kind, label, language) {
const window = this[PropertySymbol.window];
if (arguments.length === 0) {
throw new window.TypeError(`Failed to execute 'addTextTrack' on 'HTMLMediaElement': 1 argument required, but only 0 present.`);
}
if (!TextTrackKindEnum_js_1.default[kind]) {
throw new window.TypeError(`Failed to execute 'addTextTrack' on 'HTMLMediaElement': The provided value '${kind}' is not a valid enum value of type TextTrackKind.`);
}
const track = new window.TextTrack(PropertySymbol.illegalConstructor);
track[PropertySymbol.kind] = kind;
track[PropertySymbol.label] = label || '';
track[PropertySymbol.language] = language || '';
this[PropertySymbol.textTracks].push(track);
return track;
}
/**
* Pause played media.
*/
pause() {
if (this[PropertySymbol.paused]) {
return;
}
this[PropertySymbol.paused] = true;
this.dispatchEvent(new Event_js_1.default('pause', { bubbles: false, cancelable: false }));
}
/**
* Start playing media.
*/
async play() {
if (!this[PropertySymbol.paused]) {
return;
}
this[PropertySymbol.paused] = false;
this.dispatchEvent(new Event_js_1.default('play', { bubbles: false, cancelable: false }));
this.dispatchEvent(new Event_js_1.default('playing', { bubbles: false, cancelable: false }));
}
/**
* Reports how likely it is that the current browser will be able to play media of a given MIME type.
*
* @param _type MIME type.
* @returns Can play type.
*/
canPlayType(_type) {
// TODO: Implement this method
return '';
}
/**
* Quickly seeks the media to the new time with precision tradeoff.
*
* @param _time Time.
*/
fastSeek(_time) {
// TODO: Implement this method
}
/**
* Load media.
*/
load() {
this.dispatchEvent(new Event_js_1.default('emptied', { bubbles: false, cancelable: false }));
}
/**
* Sets media keys.
*
* @param mediaKeys MediaKeys.
* @returns Promise.
*/
async setMediaKeys(mediaKeys) {
this[PropertySymbol.mediaKeys] = mediaKeys;
}
/**
* Sets sink id.
*
* @param sinkId SinkId.
* @returns Promise.
*/
async setSinkId(sinkId) {
this[PropertySymbol.sinkId] = sinkId;
}
/**
* Returns MediaStream, captures a stream of the media content.
*
* @returns MediaStream.
*/
captureStream() {
return new this[PropertySymbol.window].MediaStream();
}
/**
* @override
*/
[PropertySymbol.cloneNode](deep = false) {
return super[PropertySymbol.cloneNode](deep);
}
}
exports.default = HTMLMediaElement;
//# sourceMappingURL=HTMLMediaElement.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,440 @@
import Event from '../../event/Event.cjs';
import HTMLElement from '../html-element/HTMLElement.cjs';
import TimeRanges from './TimeRanges.cjs';
import DOMTokenList from '../../dom/DOMTokenList.cjs';
import RemotePlayback from './RemotePlayback.cjs';
import MediaStream from './MediaStream.cjs';
import TextTrackList from './TextTrackList.cjs';
import TextTrack from './TextTrack.cjs';
import TextTrackKindEnum from './TextTrackKindEnum.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
interface IMediaError {
code: number;
message: string;
}
/**
* HTML Media Element.
*
* Reference:
* https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement
*
*/
export default class HTMLMediaElement extends HTMLElement {
cloneNode: (deep?: boolean) => HTMLMediaElement;
[PropertySymbol.volume]: number;
[PropertySymbol.paused]: boolean;
[PropertySymbol.currentTime]: number;
[PropertySymbol.playbackRate]: number;
[PropertySymbol.defaultPlaybackRate]: number;
[PropertySymbol.muted]: boolean;
[PropertySymbol.defaultMuted]: boolean;
[PropertySymbol.preservesPitch]: boolean;
[PropertySymbol.buffered]: TimeRanges;
[PropertySymbol.duration]: number;
[PropertySymbol.error]: IMediaError;
[PropertySymbol.ended]: boolean;
[PropertySymbol.networkState]: number;
[PropertySymbol.readyState]: number;
[PropertySymbol.seeking]: boolean;
[PropertySymbol.seekable]: TimeRanges;
[PropertySymbol.sinkId]: string;
[PropertySymbol.played]: TimeRanges;
[PropertySymbol.remote]: RemotePlayback;
[PropertySymbol.controlsList]: DOMTokenList | null;
[PropertySymbol.mediaKeys]: object | null;
[PropertySymbol.srcObject]: MediaStream | null;
[PropertySymbol.textTracks]: TextTrack[];
get onabort(): ((event: Event) => void) | null;
set onabort(value: ((event: Event) => void) | null);
get oncanplay(): ((event: Event) => void) | null;
set oncanplay(value: ((event: Event) => void) | null);
get oncanplaythrough(): ((event: Event) => void) | null;
set oncanplaythrough(value: ((event: Event) => void) | null);
get ondurationchange(): ((event: Event) => void) | null;
set ondurationchange(value: ((event: Event) => void) | null);
get onemptied(): ((event: Event) => void) | null;
set onemptied(value: ((event: Event) => void) | null);
get onended(): ((event: Event) => void) | null;
set onended(value: ((event: Event) => void) | null);
get onloadeddata(): ((event: Event) => void) | null;
set onloadeddata(value: ((event: Event) => void) | null);
get onloadedmetadata(): ((event: Event) => void) | null;
set onloadedmetadata(value: ((event: Event) => void) | null);
get onloadstart(): ((event: Event) => void) | null;
set onloadstart(value: ((event: Event) => void) | null);
get onpause(): ((event: Event) => void) | null;
set onpause(value: ((event: Event) => void) | null);
get onplay(): ((event: Event) => void) | null;
set onplay(value: ((event: Event) => void) | null);
get onplaying(): ((event: Event) => void) | null;
set onplaying(value: ((event: Event) => void) | null);
get onprogress(): ((event: Event) => void) | null;
set onprogress(value: ((event: Event) => void) | null);
get onratechange(): ((event: Event) => void) | null;
set onratechange(value: ((event: Event) => void) | null);
get onresize(): ((event: Event) => void) | null;
set onresize(value: ((event: Event) => void) | null);
get onseeked(): ((event: Event) => void) | null;
set onseeked(value: ((event: Event) => void) | null);
get onseeking(): ((event: Event) => void) | null;
set onseeking(value: ((event: Event) => void) | null);
get onstalled(): ((event: Event) => void) | null;
set onstalled(value: ((event: Event) => void) | null);
get onsuspend(): ((event: Event) => void) | null;
set onsuspend(value: ((event: Event) => void) | null);
get ontimeupdate(): ((event: Event) => void) | null;
set ontimeupdate(value: ((event: Event) => void) | null);
get onvolumechange(): ((event: Event) => void) | null;
set onvolumechange(value: ((event: Event) => void) | null);
get onwaiting(): ((event: Event) => void) | null;
set onwaiting(value: ((event: Event) => void) | null);
/**
* Returns buffered.
*
* @returns Buffered.
*/
get buffered(): TimeRanges;
/**
* Returns duration.
*
* @returns Duration.
*/
get duration(): number;
/**
* Returns error.
*
* @returns Error.
*/
get error(): IMediaError;
/**
* Returns ended.
*
* @returns Ended.
*/
get ended(): boolean;
/**
* Returns networkState.
*
* @returns NetworkState.
*/
get networkState(): number;
/**
* Returns readyState.
*
* @returns ReadyState.
*/
get readyState(): number;
/**
* Return a RemotePlayback object instance associated with the media element.
*
* @returns RemotePlayback.
*/
get remote(): RemotePlayback;
/**
* Returns seeking.
*
* @returns Seeking.
*/
get seeking(): boolean;
/**
* Returns seekable.
*
* @returns Seekable.
*/
get seekable(): TimeRanges;
/**
* Returns sinkId.
*
* @returns SinkId.
*/
get sinkId(): string;
/**
* Returns played.
*
* @returns Played.
*/
get played(): TimeRanges;
/**
* Returns autoplay.
*
* @returns Autoplay.
*/
get autoplay(): boolean;
/**
* Sets autoplay.
*
* @param autoplay Autoplay.
*/
set autoplay(autoplay: boolean);
/**
* Returns controls.
*
* @returns Controls.
*/
get controls(): boolean;
/**
* Sets controls.
*
* @param controls Controls.
*/
set controls(controls: boolean);
/**
* Returns loop.
*
* @returns Loop.
*/
get loop(): boolean;
/**
* Sets loop.
*
* @param loop Loop.
*/
set loop(loop: boolean);
/**
* Returns preload.
*
* @returns preload.
*/
get preload(): string;
/**
* Sets preload.
*
* @param preload preload.
*/
set preload(preload: string);
/**
* Returns src.
*
* @returns Src.
*/
get src(): string;
/**
* Sets src.
*
* @param src Src.
*/
set src(src: string);
/**
* Returns controlsList.
*
* @returns ControlsList.
*/
get controlsList(): DOMTokenList;
/**
* Sets controlsList.
*
* @param value Value.
*/
set controlsList(value: string);
/**
* Returns mediaKeys.
*
* @returns MediaKeys.
*/
get mediaKeys(): object | null;
/**
* Returns muted.
*
* @returns Muted.
*/
get muted(): boolean;
/**
* Sets muted.
*
* @param muted Muted.
*/
set muted(muted: boolean);
/**
* Returns defaultMuted.
*
* @returns DefaultMuted.
*/
get defaultMuted(): boolean;
/**
* Sets defaultMuted.
*
* @param defaultMuted DefaultMuted.
*/
set defaultMuted(defaultMuted: boolean);
/**
* Returns disableRemotePlayback.
*
* @returns DisableRemotePlayback.
*/
get disableRemotePlayback(): boolean;
/**
* Sets disableRemotePlayback.
*
* @param disableRemotePlayback DisableRemotePlayback.
*/
set disableRemotePlayback(disableRemotePlayback: boolean);
/**
* A MediaStream representing the media to play or that has played in the current HTMLMediaElement, or null if not assigned.
*
* @returns MediaStream.
*/
get srcObject(): MediaStream | null;
/**
* Sets src object.
*
* @param srcObject SrcObject.
*/
set srcObject(srcObject: MediaStream | null);
/**
* Returns text track list.
*
* @returns Text track list.
*/
get textTracks(): TextTrackList;
/**
* Returns currentSrc.
*
* @returns CurrentrSrc.
*/
get currentSrc(): string;
/**
* Returns volume.
*
* @returns Volume.
*/
get volume(): number;
/**
* Sets volume.
*
* @param volume Volume.
*/
set volume(volume: number | string);
/**
* Returns crossOrigin.
*
* @returns CrossOrigin.
*/
get crossOrigin(): string;
/**
* Sets crossOrigin.
*
* @param crossOrigin CrossOrigin.
*/
set crossOrigin(crossOrigin: string | null);
/**
* Returns currentTime.
*
* @returns CurrentTime.
*/
get currentTime(): number;
/**
* Sets currentTime.
*
* @param currentTime CurrentTime.
*/
set currentTime(currentTime: number | string);
/**
* Returns playbackRate.
*
* @returns PlaybackRate.
*/
get playbackRate(): number;
/**
* Sets playbackRate.
*
* @param playbackRate PlaybackRate.
*/
set playbackRate(playbackRate: number | string);
/**
* Returns defaultPlaybackRate.
*
* @returns DefaultPlaybackRate.
*/
get defaultPlaybackRate(): number;
/**
* Sets defaultPlaybackRate.
*
* @param defaultPlaybackRate DefaultPlaybackRate.
*/
set defaultPlaybackRate(defaultPlaybackRate: number | string);
/**
* Returns preservesPitch.
*
* @returns PlaybackRate.
*/
get preservesPitch(): boolean;
/**
* Sets preservesPitch.
*
* @param preservesPitch PreservesPitch.
*/
set preservesPitch(preservesPitch: boolean);
/**
* Returns paused.
*
* @returns Paused.
*/
get paused(): boolean;
/**
* @override
*/
get tabIndex(): number;
/**
* @override
*/
set tabIndex(tabIndex: number);
/**
* Adds a new text track to the media element.
*
* @param kind The kind of text track.
* @param label The label of the text track.
* @param language The language of the text track data.
*/
addTextTrack(kind: TextTrackKindEnum, label?: string, language?: string): TextTrack;
/**
* Pause played media.
*/
pause(): void;
/**
* Start playing media.
*/
play(): Promise<void>;
/**
* Reports how likely it is that the current browser will be able to play media of a given MIME type.
*
* @param _type MIME type.
* @returns Can play type.
*/
canPlayType(_type: string): string;
/**
* Quickly seeks the media to the new time with precision tradeoff.
*
* @param _time Time.
*/
fastSeek(_time: number): void;
/**
* Load media.
*/
load(): void;
/**
* Sets media keys.
*
* @param mediaKeys MediaKeys.
* @returns Promise.
*/
setMediaKeys(mediaKeys: object | null): Promise<void>;
/**
* Sets sink id.
*
* @param sinkId SinkId.
* @returns Promise.
*/
setSinkId(sinkId: string): Promise<void>;
/**
* Returns MediaStream, captures a stream of the media content.
*
* @returns MediaStream.
*/
captureStream(): MediaStream;
/**
* @override
*/
[PropertySymbol.cloneNode](deep?: boolean): HTMLMediaElement;
}
export {};
//# sourceMappingURL=HTMLMediaElement.d.ts.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=IMediaTrackCapabilities.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IMediaTrackCapabilities.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/IMediaTrackCapabilities.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,22 @@
export default interface IMediaTrackCapabilities {
aspectRatio: {
max: number;
min: number;
};
deviceId: string;
facingMode: [];
frameRate: {
max: number;
min: number;
};
height: {
max: number;
min: number;
};
resizeMode: string[];
width: {
max: number;
min: number;
};
}
//# sourceMappingURL=IMediaTrackCapabilities.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IMediaTrackCapabilities.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/IMediaTrackCapabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,uBAAuB;IAC/C,WAAW,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,EAAE,CAAC;IACf,SAAS,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,MAAM,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;IACF,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,KAAK,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;KACZ,CAAC;CACF"}

View File

@@ -0,0 +1,3 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=IMediaTrackSettings.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IMediaTrackSettings.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/IMediaTrackSettings.ts"],"names":[],"mappings":""}

View File

@@ -0,0 +1,6 @@
export default interface IMediaTrackSettings {
deviceId: string;
frameRate: number;
resizeMode: string;
}
//# sourceMappingURL=IMediaTrackSettings.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"IMediaTrackSettings.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/IMediaTrackSettings.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB"}

View File

@@ -0,0 +1,139 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const crypto_1 = __importDefault(require("crypto"));
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const MediaStreamTrackEvent_js_1 = __importDefault(require("../../event/events/MediaStreamTrackEvent.cjs"));
/**
* MediaStream.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStream
*/
class MediaStream extends EventTarget_js_1.default {
// Public properties
active = true;
id = crypto_1.default.randomUUID();
// Events
onaddtrack = null;
onremovetrack = null;
// Internal properties
[PropertySymbol.tracks] = [];
/**
* Constructor.
*
* @param [streamOrTracks] Stream or tracks.
*/
constructor(streamOrTracks) {
super();
if (!this[PropertySymbol.window]) {
throw new TypeError(`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`);
}
if (streamOrTracks !== undefined) {
this[PropertySymbol.tracks] =
streamOrTracks instanceof MediaStream
? streamOrTracks[PropertySymbol.tracks].slice()
: streamOrTracks;
}
}
/**
* Adds a track.
*
* @param track Track.
*/
addTrack(track) {
if (this[PropertySymbol.tracks].includes(track)) {
return;
}
this[PropertySymbol.tracks].push(track);
this.dispatchEvent(new MediaStreamTrackEvent_js_1.default('addtrack', { track }));
}
/**
* Returns a clone.
*
* @returns Clone.
*/
clone() {
return new this.constructor(this);
}
/**
* Returns audio tracks.
*
* @returns Audio tracks.
*/
getAudioTracks() {
return this[PropertySymbol.tracks].filter((track) => track.kind === 'audio');
}
/**
* Returns track by id.
*
* @param id Id.
* @returns Track.
*/
getTrackById(id) {
for (const track of this[PropertySymbol.tracks]) {
if (track.id === id) {
return track;
}
}
return null;
}
/**
* Returns video tracks.
*
* @returns Video tracks.
*/
getVideoTracks() {
return this[PropertySymbol.tracks].filter((track) => track.kind === 'video');
}
/**
* Removes a track.
*
* @param track Track.
*/
removeTrack(track) {
const index = this[PropertySymbol.tracks].indexOf(track);
if (index === -1) {
return;
}
this[PropertySymbol.tracks].splice(index, 1);
this.dispatchEvent(new MediaStreamTrackEvent_js_1.default('removetrack', { track }));
}
}
exports.default = MediaStream;
//# sourceMappingURL=MediaStream.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"MediaStream.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/MediaStream.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,60 @@
import * as PropertySymbol from '../../PropertySymbol.cjs';
import EventTarget from '../../event/EventTarget.cjs';
import MediaStreamTrackEvent from '../../event/events/MediaStreamTrackEvent.cjs';
import MediaStreamTrack from './MediaStreamTrack.cjs';
/**
* MediaStream.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStream
*/
export default class MediaStream extends EventTarget {
active: boolean;
id: string;
onaddtrack: ((event: MediaStreamTrackEvent) => void) | null;
onremovetrack: ((event: MediaStreamTrackEvent) => void) | null;
[PropertySymbol.tracks]: MediaStreamTrack[];
/**
* Constructor.
*
* @param [streamOrTracks] Stream or tracks.
*/
constructor(streamOrTracks?: MediaStream | MediaStreamTrack[]);
/**
* Adds a track.
*
* @param track Track.
*/
addTrack(track: MediaStreamTrack): void;
/**
* Returns a clone.
*
* @returns Clone.
*/
clone(): MediaStream;
/**
* Returns audio tracks.
*
* @returns Audio tracks.
*/
getAudioTracks(): MediaStreamTrack[];
/**
* Returns track by id.
*
* @param id Id.
* @returns Track.
*/
getTrackById(id: string): MediaStreamTrack | null;
/**
* Returns video tracks.
*
* @returns Video tracks.
*/
getVideoTracks(): MediaStreamTrack[];
/**
* Removes a track.
*
* @param track Track.
*/
removeTrack(track: MediaStreamTrack): void;
}
//# sourceMappingURL=MediaStream.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"MediaStream.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/MediaStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,qBAAqB,MAAM,6CAA6C,CAAC;AAChF,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW;IAE5C,MAAM,UAAQ;IACd,EAAE,EAAE,MAAM,CAAuB;IAGjC,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IACnE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAGtE,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAM;IAExD;;;;OAIG;gBACS,cAAc,CAAC,EAAE,WAAW,GAAG,gBAAgB,EAAE;IAiB7D;;;;OAIG;IACI,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAQ9C;;;;OAIG;IACI,KAAK,IAAI,WAAW;IAI3B;;;;OAIG;IACI,cAAc,IAAI,gBAAgB,EAAE;IAI3C;;;;;OAKG;IACI,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI;IASxD;;;;OAIG;IACI,cAAc,IAAI,gBAAgB,EAAE;IAI3C;;;;OAIG;IACI,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;CAQjD"}

View File

@@ -0,0 +1,189 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const crypto_1 = __importDefault(require("crypto"));
const CAPABILITIES = {
aspectRatio: {
max: 300,
min: 0.006666666666666667
},
deviceId: '',
facingMode: [],
frameRate: {
max: 60,
min: 0
},
height: {
max: 150,
min: 1
},
resizeMode: ['none', 'crop-and-scale'],
width: {
max: 300,
min: 1
}
};
const SETTINGS = {
deviceId: '',
frameRate: 60,
resizeMode: 'none'
};
/**
* Canvas Capture Media Stream Track.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack
*/
class MediaStreamTrack extends EventTarget_js_1.default {
contentHint = '';
enabled = true;
id = crypto_1.default.randomUUID();
muted = false;
readyState = 'live';
label = '';
[PropertySymbol.label] = '';
[PropertySymbol.kind] = 'video';
[PropertySymbol.constraints] = {};
[PropertySymbol.capabilities] = JSON.parse(JSON.stringify(CAPABILITIES));
[PropertySymbol.settings] = JSON.parse(JSON.stringify(SETTINGS));
// Events
onended = null;
onmute = null;
onunmute = null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
super();
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
if (!this[PropertySymbol.window]) {
throw new TypeError(`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`);
}
}
/**
* Returns the kind of the track.
*
* @returns Kind.
*/
get kind() {
return this[PropertySymbol.kind];
}
/**
* Applies constraints.
*
* @param _constraints Constraints.
* @param constraints
*/
async applyConstraints(constraints) {
this.#mergeObjects(this[PropertySymbol.constraints], constraints);
}
/**
* Returns constraints.
*
* @returns Constraints.
*/
getConstraints() {
return this[PropertySymbol.constraints];
}
/**
* Returns capabilities.
*
* @returns Capabilities.
*/
getCapabilities() {
return this[PropertySymbol.capabilities];
}
/**
* Returns settings.
*
* @returns Settings.
*/
getSettings() {
return this[PropertySymbol.settings];
}
/**
* Clones the track.
*
* @returns Clone.
*/
clone() {
const clone = new this.constructor(PropertySymbol.illegalConstructor);
clone[PropertySymbol.kind] = this[PropertySymbol.kind];
clone[PropertySymbol.constraints] = this[PropertySymbol.constraints];
clone[PropertySymbol.capabilities] = this[PropertySymbol.capabilities];
clone[PropertySymbol.settings] = this[PropertySymbol.settings];
clone.contentHint = this.contentHint;
clone.enabled = this.enabled;
clone.label = this.label;
clone.muted = this.muted;
clone.readyState = this.readyState;
return clone;
}
/**
* Stops the track.
*/
stop() {
this.readyState = 'ended';
}
/**
* Merges two objects.
*
* @param source Target.
* @param target Source.
*/
#mergeObjects(source, target) {
for (const key in target) {
if (target[key] !== null && typeof target[key] === 'object' && !Array.isArray(target[key])) {
if (typeof source[key] !== 'object') {
source[key] = {};
}
this.#mergeObjects(source[key], target[key]);
}
else {
source[key] = target[key];
}
}
}
}
exports.default = MediaStreamTrack;
//# sourceMappingURL=MediaStreamTrack.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"MediaStreamTrack.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/MediaStreamTrack.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,75 @@
import Event from '../../event/Event.cjs';
import EventTarget from '../../event/EventTarget.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
import IMediaTrackCapabilities from './IMediaTrackCapabilities.cjs';
import IMediaTrackSettings from './IMediaTrackSettings.cjs';
/**
* Canvas Capture Media Stream Track.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/MediaStreamTrack
*/
export default class MediaStreamTrack extends EventTarget {
#private;
contentHint: '' | 'speech' | 'speech-recognition' | 'music' | 'motion' | 'detail' | 'text';
enabled: boolean;
readonly id: string;
muted: boolean;
readyState: 'live' | 'ended';
label: string;
[PropertySymbol.label]: string;
[PropertySymbol.kind]: 'audio' | 'video';
[PropertySymbol.constraints]: object;
[PropertySymbol.capabilities]: IMediaTrackCapabilities;
[PropertySymbol.settings]: IMediaTrackSettings;
onended: ((event: Event) => void) | null;
onmute: ((event: Event) => void) | null;
onunmute: ((event: Event) => void) | null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol: symbol);
/**
* Returns the kind of the track.
*
* @returns Kind.
*/
get kind(): 'audio' | 'video';
/**
* Applies constraints.
*
* @param _constraints Constraints.
* @param constraints
*/
applyConstraints(constraints: object): Promise<void>;
/**
* Returns constraints.
*
* @returns Constraints.
*/
getConstraints(): object;
/**
* Returns capabilities.
*
* @returns Capabilities.
*/
getCapabilities(): IMediaTrackCapabilities;
/**
* Returns settings.
*
* @returns Settings.
*/
getSettings(): IMediaTrackSettings;
/**
* Clones the track.
*
* @returns Clone.
*/
clone(): MediaStreamTrack;
/**
* Stops the track.
*/
stop(): void;
}
//# sourceMappingURL=MediaStreamTrack.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"MediaStreamTrack.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/MediaStreamTrack.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AACnE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;AA4B3D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,WAAW;;IACjD,WAAW,EACf,EAAE,GACF,QAAQ,GACR,oBAAoB,GACpB,OAAO,GACP,QAAQ,GACR,QAAQ,GACR,MAAM,CAAM;IACR,OAAO,UAAQ;IACtB,SAAgB,EAAE,EAAE,MAAM,CAAuB;IAC1C,KAAK,UAAS;IACd,UAAU,EAAE,MAAM,GAAG,OAAO,CAAU;IACtC,KAAK,EAAE,MAAM,CAAM;IACnB,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAM;IACpC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAW;IACnD,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,MAAM,CAAM;IAC1C,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAE3D;IACK,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAwC;IAGtF,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAChD,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAC/C,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC,GAAG,IAAI,CAAQ;IAExD;;;;OAIG;gBACS,wBAAwB,EAAE,MAAM;IAc5C;;;;OAIG;IACH,IAAW,IAAI,IAAI,OAAO,GAAG,OAAO,CAEnC;IAED;;;;;OAKG;IACU,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,eAAe,IAAI,uBAAuB;IAIjD;;;;OAIG;IACI,WAAW,IAAI,mBAAmB;IAIzC;;;;OAIG;IACI,KAAK,IAAI,gBAAgB;IAgBhC;;OAEG;IACI,IAAI,IAAI,IAAI;CAsBnB"}

View File

@@ -0,0 +1,81 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
/**
* RemotePlayback.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback
*/
class RemotePlayback extends EventTarget_js_1.default {
// Internal properties
[PropertySymbol.state] = 'disconnected';
// Events
onconnecting = null;
onconnect = null;
ondisconnect = null;
/**
* Returns the state of the remote playback.
*/
get state() {
return this[PropertySymbol.state];
}
/**
* Watches the list of available remote playback devices and returns a Promise that resolves with a callbackId of an available remote playback device.
*
* @returns Promise.
*/
async watchAvailability() {
// TODO: Implement
}
/**
* Cancels the request to monitor the availability of remote playback devices.
*/
cancelWatchAvailability() {
// TODO: Implement
}
/**
* Prompts the user to select and give permission to connect to a remote playback device.
*/
prompt() {
// TODO: Implement
}
}
exports.default = RemotePlayback;
//# sourceMappingURL=RemotePlayback.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RemotePlayback.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/RemotePlayback.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gFAAqD;AACrD,wEAA0D;AAE1D;;;;GAIG;AACH,MAAqB,cAAe,SAAQ,wBAAW;IACtD,sBAAsB;IACf,CAAC,cAAc,CAAC,KAAK,CAAC,GAAgD,cAAc,CAAC;IAE5F,SAAS;IACF,YAAY,GAA2B,IAAI,CAAC;IAC5C,SAAS,GAA2B,IAAI,CAAC;IACzC,YAAY,GAA2B,IAAI,CAAC;IAEnD;;OAEG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,iBAAiB;QAC7B,kBAAkB;IACnB,CAAC;IAED;;OAEG;IACI,uBAAuB;QAC7B,kBAAkB;IACnB,CAAC;IAED;;OAEG;IACI,MAAM;QACZ,kBAAkB;IACnB,CAAC;CACD;AAtCD,iCAsCC"}

View File

@@ -0,0 +1,32 @@
import EventTarget from '../../event/EventTarget.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
/**
* RemotePlayback.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/RemotePlayback
*/
export default class RemotePlayback extends EventTarget {
[PropertySymbol.state]: 'connecting' | 'connected' | 'disconnected';
onconnecting: (event: Event) => void;
onconnect: (event: Event) => void;
ondisconnect: (event: Event) => void;
/**
* Returns the state of the remote playback.
*/
get state(): 'connecting' | 'connected' | 'disconnected';
/**
* Watches the list of available remote playback devices and returns a Promise that resolves with a callbackId of an available remote playback device.
*
* @returns Promise.
*/
watchAvailability(): Promise<void>;
/**
* Cancels the request to monitor the availability of remote playback devices.
*/
cancelWatchAvailability(): void;
/**
* Prompts the user to select and give permission to connect to a remote playback device.
*/
prompt(): void;
}
//# sourceMappingURL=RemotePlayback.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"RemotePlayback.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/RemotePlayback.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,WAAW;IAE/C,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,YAAY,GAAG,WAAW,GAAG,cAAc,CAAkB;IAGrF,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAC5C,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IACzC,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAEnD;;OAEG;IACH,IAAW,KAAK,IAAI,YAAY,GAAG,WAAW,GAAG,cAAc,CAE9D;IAED;;;;OAIG;IACU,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/C;;OAEG;IACI,uBAAuB,IAAI,IAAI;IAItC;;OAEG;IACI,MAAM,IAAI,IAAI;CAGrB"}

View File

@@ -0,0 +1,173 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const TextTrackCueList_js_1 = __importDefault(require("./TextTrackCueList.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const TextTrackKindEnum_js_1 = __importDefault(require("./TextTrackKindEnum.cjs"));
/**
* TextTrack.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrack
*/
class TextTrack extends EventTarget_js_1.default {
// Internal properties
[PropertySymbol.kind] = TextTrackKindEnum_js_1.default.subtitles;
[PropertySymbol.label] = '';
[PropertySymbol.language] = '';
[PropertySymbol.id] = '';
[PropertySymbol.mode] = 'disabled';
[PropertySymbol.cues] = new TextTrackCueList_js_1.default(PropertySymbol.illegalConstructor);
[PropertySymbol.activeCues] = new TextTrackCueList_js_1.default(PropertySymbol.illegalConstructor);
// Events
oncuechange = null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
super();
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
if (!this[PropertySymbol.window]) {
throw new TypeError(`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`);
}
}
/**
* Returns the kind of the text track.
*
* @returns Kind.
*/
get kind() {
return this[PropertySymbol.kind];
}
/**
* Returns the label of the text track.
*
* @returns Label.
*/
get label() {
return this[PropertySymbol.label];
}
/**
* Returns the language of the text track.
*
* @returns Language.
*/
get language() {
return this[PropertySymbol.language];
}
/**
* Returns the id of the text track.
*
* @returns Id.
*/
get id() {
return this[PropertySymbol.id];
}
/**
* Returns the mode of the text track.
*
* @returns Mode.
*/
get mode() {
return this[PropertySymbol.mode];
}
/**
* Sets the mode of the text track.
*
* @param mode Mode.
*/
set mode(mode) {
if (mode !== 'disabled' && mode !== 'showing') {
// TODO: Browser outputs a warning here.
return;
}
this[PropertySymbol.mode] = mode;
}
/**
* Returns the list of cues in the track list.
*
* @returns List of cues.
*/
get cues() {
if (this[PropertySymbol.mode] === 'disabled') {
return null;
}
return this[PropertySymbol.cues];
}
/**
* Returns the list of active cues in the track list.
*
* @returns List of active cues.
*/
get activeCues() {
if (this[PropertySymbol.mode] === 'disabled') {
return null;
}
return this[PropertySymbol.activeCues];
}
/**
* Adds a cue to the track list.
*
* @param cue Text track cue.
*/
addCue(cue) {
if (this[PropertySymbol.cues].includes(cue)) {
return;
}
cue[PropertySymbol.track] = this;
this[PropertySymbol.cues].push(cue);
}
/**
* Removes a cue from the track list.
*
* @param cue Text track cue.
*/
removeCue(cue) {
const index = this[PropertySymbol.cues].indexOf(cue);
if (index !== -1) {
cue[PropertySymbol.track] = null;
this[PropertySymbol.cues].splice(index, 1);
}
}
}
exports.default = TextTrack;
//# sourceMappingURL=TextTrack.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrack.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrack.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,88 @@
import EventTarget from '../../event/EventTarget.cjs';
import Event from '../../event/Event.cjs';
import TextTrackCue from './TextTrackCue.cjs';
import TextTrackCueList from './TextTrackCueList.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
import TextTrackKindEnum from './TextTrackKindEnum.cjs';
/**
* TextTrack.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrack
*/
export default class TextTrack extends EventTarget {
[PropertySymbol.kind]: TextTrackKindEnum;
[PropertySymbol.label]: string;
[PropertySymbol.language]: string;
[PropertySymbol.id]: string;
[PropertySymbol.mode]: 'disabled' | 'showing';
[PropertySymbol.cues]: TextTrackCueList;
[PropertySymbol.activeCues]: TextTrackCueList;
oncuechange: (event: Event) => void;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol: symbol);
/**
* Returns the kind of the text track.
*
* @returns Kind.
*/
get kind(): TextTrackKindEnum;
/**
* Returns the label of the text track.
*
* @returns Label.
*/
get label(): string;
/**
* Returns the language of the text track.
*
* @returns Language.
*/
get language(): string;
/**
* Returns the id of the text track.
*
* @returns Id.
*/
get id(): string;
/**
* Returns the mode of the text track.
*
* @returns Mode.
*/
get mode(): 'disabled' | 'showing';
/**
* Sets the mode of the text track.
*
* @param mode Mode.
*/
set mode(mode: 'disabled' | 'showing');
/**
* Returns the list of cues in the track list.
*
* @returns List of cues.
*/
get cues(): TextTrackCueList | null;
/**
* Returns the list of active cues in the track list.
*
* @returns List of active cues.
*/
get activeCues(): TextTrackCueList | null;
/**
* Adds a cue to the track list.
*
* @param cue Text track cue.
*/
addCue(cue: TextTrackCue): void;
/**
* Removes a cue from the track list.
*
* @param cue Text track cue.
*/
removeCue(cue: TextTrackCue): void;
}
//# sourceMappingURL=TextTrack.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrack.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrack.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,iBAAiB,MAAM,wBAAwB,CAAC;AAEvD;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,WAAW;IAE1C,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAA+B;IACvE,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,CAAM;IACpC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAM;IACvC,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,CAAM;IACjC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAc;IAC3D,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,gBAAgB,CAE5C;IACK,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAElD;IAGK,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAElD;;;;OAIG;gBACS,wBAAwB,EAAE,MAAM;IAc5C;;;;OAIG;IACH,IAAW,IAAI,IAAI,iBAAiB,CAEnC;IAED;;;;OAIG;IACH,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,IAAW,QAAQ,IAAI,MAAM,CAE5B;IAED;;;;OAIG;IACH,IAAW,EAAE,IAAI,MAAM,CAEtB;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,UAAU,GAAG,SAAS,CAExC;IAED;;;;OAIG;IACH,IAAW,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,EAM3C;IAED;;;;OAIG;IACH,IAAW,IAAI,IAAI,gBAAgB,GAAG,IAAI,CAKzC;IAED;;;;OAIG;IACH,IAAW,UAAU,IAAI,gBAAgB,GAAG,IAAI,CAK/C;IAED;;;;OAIG;IACI,MAAM,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAQtC;;;;OAIG;IACI,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;CAOzC"}

View File

@@ -0,0 +1,81 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
/**
* TextTrackCue.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue
*/
class TextTrackCue extends EventTarget_js_1.default {
// Public properties
id = '';
startTime = 0;
endTime = 0;
pauseOnExit = false;
// Internal properties
[PropertySymbol.track] = null;
// Events
onenter = null;
onexit = null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
super();
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
if (!this[PropertySymbol.window]) {
throw new TypeError(`Failed to construct '${this.constructor.name}': '${this.constructor.name}' was constructed outside a Window context.`);
}
}
/**
* Returns the owner track.
*
* @returns TextTrack.
*/
get track() {
return this[PropertySymbol.track];
}
}
exports.default = TextTrackCue;
//# sourceMappingURL=TextTrackCue.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackCue.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackCue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gFAAqD;AAGrD,wEAA0D;AAE1D;;;;GAIG;AACH,MAA8B,YAAa,SAAQ,wBAAW;IAC7D,oBAAoB;IACb,EAAE,GAAW,EAAE,CAAC;IAChB,SAAS,GAAW,CAAC,CAAC;IACtB,OAAO,GAAW,CAAC,CAAC;IACpB,WAAW,GAAY,KAAK,CAAC;IAEpC,sBAAsB;IACf,CAAC,cAAc,CAAC,KAAK,CAAC,GAAqB,IAAI,CAAC;IAEvD,SAAS;IACF,OAAO,GAA2B,IAAI,CAAC;IACvC,MAAM,GAA2B,IAAI,CAAC;IAE7C;;;;OAIG;IACH,YAAY,wBAAgC;QAC3C,KAAK,EAAE,CAAC;QACR,IAAI,wBAAwB,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;YACpE,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,SAAS,CAClB,wBAAwB,IAAI,CAAC,WAAW,CAAC,IAAI,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,6CAA6C,CACtH,CAAC;QACH,CAAC;IACF,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACf,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;CACD;AAxCD,+BAwCC"}

View File

@@ -0,0 +1,31 @@
import EventTarget from '../../event/EventTarget.cjs';
import Event from '../../event/Event.cjs';
import TextTrack from './TextTrack.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
/**
* TextTrackCue.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackCue
*/
export default abstract class TextTrackCue extends EventTarget {
id: string;
startTime: number;
endTime: number;
pauseOnExit: boolean;
[PropertySymbol.track]: TextTrack | null;
onenter: (event: Event) => void;
onexit: (event: Event) => void;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol: symbol);
/**
* Returns the owner track.
*
* @returns TextTrack.
*/
get track(): TextTrack;
}
//# sourceMappingURL=TextTrackCue.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackCue.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackCue.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,MAAM,sBAAsB,CAAC;AACzC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,YAAa,SAAQ,WAAW;IAEtD,EAAE,EAAE,MAAM,CAAM;IAChB,SAAS,EAAE,MAAM,CAAK;IACtB,OAAO,EAAE,MAAM,CAAK;IACpB,WAAW,EAAE,OAAO,CAAS;IAG7B,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,CAAQ;IAGhD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IACvC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAE7C;;;;OAIG;gBACS,wBAAwB,EAAE,MAAM;IAa5C;;;;OAIG;IACH,IAAW,KAAK,IAAI,SAAS,CAE5B;CACD"}

View File

@@ -0,0 +1,69 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
/**
*
*/
class TextTrackCueList extends Array {
/**
* Constructor.
*
* @param [illegalConstructorSymbol] Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
super();
// "illegalConstructorSymbol" can be "1" when calling the "splice()" method
if (illegalConstructorSymbol !== 1 &&
illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
}
/**
* Returns the first TextTrackCue object with the identifier passed to it.
*
* @param id Text track cue identifier.
*/
getCueById(id) {
for (const cue of this) {
if (cue.id === id) {
return cue;
}
}
return null;
}
}
exports.default = TextTrackCueList;
//# sourceMappingURL=TextTrackCueList.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackCueList.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackCueList.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wEAA0D;AAE1D;;GAEG;AACH,MAAqB,gBAAiB,SAAQ,KAAmB;IAChE;;;;OAIG;IACH,YAAY,wBAAiC;QAC5C,KAAK,EAAE,CAAC;QACR,2EAA2E;QAC3E,IACmB,wBAAyB,KAAK,CAAC;YACjD,wBAAwB,KAAK,cAAc,CAAC,kBAAkB,EAC7D,CAAC;YACF,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,EAAU;QAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnB,OAAO,GAAG,CAAC;YACZ,CAAC;QACF,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;CACD;AA9BD,mCA8BC"}

View File

@@ -0,0 +1,19 @@
import TextTrackCue from './TextTrackCue.cjs';
/**
*
*/
export default class TextTrackCueList extends Array<TextTrackCue> {
/**
* Constructor.
*
* @param [illegalConstructorSymbol] Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol?: symbol);
/**
* Returns the first TextTrackCue object with the identifier passed to it.
*
* @param id Text track cue identifier.
*/
getCueById(id: string): TextTrackCue | null;
}
//# sourceMappingURL=TextTrackCueList.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackCueList.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackCueList.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAG7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,KAAK,CAAC,YAAY,CAAC;IAChE;;;;OAIG;gBACS,wBAAwB,CAAC,EAAE,MAAM;IAW7C;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;CAQlD"}

View File

@@ -0,0 +1,12 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var TextTrackKindEnum;
(function (TextTrackKindEnum) {
TextTrackKindEnum["subtitles"] = "subtitles";
TextTrackKindEnum["captions"] = "captions";
TextTrackKindEnum["descriptions"] = "descriptions";
TextTrackKindEnum["chapters"] = "chapters";
TextTrackKindEnum["metadata"] = "metadata";
})(TextTrackKindEnum || (TextTrackKindEnum = {}));
exports.default = TextTrackKindEnum;
//# sourceMappingURL=TextTrackKindEnum.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackKindEnum.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackKindEnum.ts"],"names":[],"mappings":";;AAAA,IAAK,iBAMJ;AAND,WAAK,iBAAiB;IACrB,4CAAuB,CAAA;IACvB,0CAAqB,CAAA;IACrB,kDAA6B,CAAA;IAC7B,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;AACtB,CAAC,EANI,iBAAiB,KAAjB,iBAAiB,QAMrB;AAED,kBAAe,iBAAiB,CAAC"}

View File

@@ -0,0 +1,9 @@
declare enum TextTrackKindEnum {
subtitles = "subtitles",
captions = "captions",
descriptions = "descriptions",
chapters = "chapters",
metadata = "metadata"
}
export default TextTrackKindEnum;
//# sourceMappingURL=TextTrackKindEnum.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackKindEnum.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackKindEnum.ts"],"names":[],"mappings":"AAAA,aAAK,iBAAiB;IACrB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,QAAQ,aAAa;IACrB,QAAQ,aAAa;CACrB;AAED,eAAe,iBAAiB,CAAC"}

View File

@@ -0,0 +1,198 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const EventTarget_js_1 = __importDefault(require("../../event/EventTarget.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
const ClassMethodBinder_js_1 = __importDefault(require("../../utilities/ClassMethodBinder.cjs"));
/**
* TextTrackList.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList
*/
class TextTrackList extends EventTarget_js_1.default {
// Internal properties
[PropertySymbol.items] = [];
// Events
onaddtrack = null;
onchange = null;
onremovetrack = null;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
* @param items Items.
*/
constructor(illegalConstructorSymbol, items) {
super();
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
this[PropertySymbol.items] = items;
const methodBinder = new ClassMethodBinder_js_1.default(this, [TextTrackList, EventTarget_js_1.default]);
return new Proxy(this, {
get: (target, property) => {
if (property === 'length') {
return items.length;
}
if (property in target || typeof property === 'symbol') {
methodBinder.bind(property);
return target[property];
}
const index = Number(property);
if (!isNaN(index)) {
return items[index];
}
},
set(target, property, newValue) {
methodBinder.bind(property);
if (typeof property === 'symbol') {
target[property] = newValue;
return true;
}
const index = Number(property);
if (isNaN(index)) {
target[property] = newValue;
}
return true;
},
deleteProperty(target, property) {
if (typeof property === 'symbol') {
delete target[property];
return true;
}
const index = Number(property);
if (isNaN(index)) {
delete target[property];
}
return true;
},
ownKeys() {
return Object.keys(items);
},
has(target, property) {
if (property in target) {
return true;
}
if (typeof property === 'symbol') {
return false;
}
const index = Number(property);
return !isNaN(index) && index >= 0 && index < items.length;
},
defineProperty(target, property, descriptor) {
methodBinder.preventBinding(property);
if (property in target) {
Object.defineProperty(target, property, descriptor);
return true;
}
return false;
},
getOwnPropertyDescriptor(target, property) {
if (property in target || typeof property === 'symbol') {
return;
}
const index = Number(property);
if (!isNaN(index) && items[index]) {
return {
value: items[index],
writable: false,
enumerable: true,
configurable: true
};
}
}
});
}
/**
* Returns the number of TextTrack objects in the TextTrackList.
*
* @returns Number of TextTrack objects.
*/
get length() {
return this[PropertySymbol.items].length;
}
/**
* Returns `Symbol.toStringTag`.
*
* @returns `Symbol.toStringTag`.
*/
get [Symbol.toStringTag]() {
return 'TextTrackList';
}
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toLocaleString() {
return '[object TextTrackList]';
}
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toString() {
return '[object TextTrackList]';
}
/**
* Returns an iterator, allowing you to go through all values of the key/value pairs contained in this object.
*
* @returns Iterator.
*/
[Symbol.iterator]() {
const items = this[PropertySymbol.items];
return items[Symbol.iterator]();
}
/**
* Returns the TextTrack found within the TextTrackList whose id matches the specified string. If no match is found, null is returned.
*
* @param id Text track cue identifier.
* @returns TextTrack.
*/
getTrackById(id) {
for (const cue of this[PropertySymbol.items]) {
if (cue.id === id) {
return cue;
}
}
return null;
}
}
exports.default = TextTrackList;
//# sourceMappingURL=TextTrackList.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackList.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackList.ts"],"names":[],"mappings":"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"}

View File

@@ -0,0 +1,59 @@
import TextTrack from './TextTrack.cjs';
import EventTarget from '../../event/EventTarget.cjs';
import * as PropertySymbol from '../../PropertySymbol.cjs';
/**
* TextTrackList.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList
*/
export default class TextTrackList extends EventTarget {
[PropertySymbol.items]: TextTrack[];
onaddtrack: (event: Event) => void;
onchange: (event: Event) => void;
onremovetrack: (event: Event) => void;
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
* @param items Items.
*/
constructor(illegalConstructorSymbol: symbol, items: TextTrack[]);
/**
* Returns the number of TextTrack objects in the TextTrackList.
*
* @returns Number of TextTrack objects.
*/
get length(): number;
/**
* Returns `Symbol.toStringTag`.
*
* @returns `Symbol.toStringTag`.
*/
get [Symbol.toStringTag](): string;
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toLocaleString(): string;
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toString(): string;
/**
* Returns an iterator, allowing you to go through all values of the key/value pairs contained in this object.
*
* @returns Iterator.
*/
[Symbol.iterator](): IterableIterator<TextTrack>;
/**
* Returns the TextTrack found within the TextTrackList whose id matches the specified string. If no match is found, null is returned.
*
* @param id Text track cue identifier.
* @returns TextTrack.
*/
getTrackById(id: string): TextTrack | null;
}
//# sourceMappingURL=TextTrackList.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TextTrackList.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TextTrackList.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAG1D;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,WAAW;IAE9C,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAM;IAGzC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAC1C,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IACxC,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAQ;IAEpD;;;;;OAKG;gBACS,wBAAwB,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE;IA6FhE;;;;OAIG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;OAIG;IACI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,SAAS,CAAC;IAKvD;;;;;OAKG;IACI,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;CAQjD"}

View File

@@ -0,0 +1,103 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
/**
* When loading a media resource for use by an <audio> or <video> element, the TimeRanges interface is used for representing the time ranges of the media resource that have been buffered, the time ranges that have been played, and the time ranges that are seekable.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges
*/
class TimeRanges {
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol) {
if (illegalConstructorSymbol !== PropertySymbol.illegalConstructor) {
throw new TypeError('Illegal constructor');
}
}
/**
* Returns length.
*/
get length() {
return 0;
}
/**
* Returns `Symbol.toStringTag`.
*
* @returns `Symbol.toStringTag`.
*/
get [Symbol.toStringTag]() {
return 'TimeRanges';
}
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toLocaleString() {
return '[object TimeRanges]';
}
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toString() {
return '[object TimeRanges]';
}
/**
* Returns start.
*
* @param _index Index.
* @returns Start.
*/
start(_index) {
return 0;
}
/**
* Returns end.
*
* @param _index Index.
* @returns End.
*/
end(_index) {
return 0;
}
}
exports.default = TimeRanges;
//# sourceMappingURL=TimeRanges.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TimeRanges.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TimeRanges.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wEAA0D;AAE1D;;;;GAIG;AACH,MAAqB,UAAU;IAC9B;;;;OAIG;IACH,YAAY,wBAAgC;QAC3C,IAAI,wBAAwB,KAAK,cAAc,CAAC,kBAAkB,EAAE,CAAC;YACpE,MAAM,IAAI,SAAS,CAAC,qBAAqB,CAAC,CAAC;QAC5C,CAAC;IACF,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QAChB,OAAO,CAAC,CAAC;IACV,CAAC;IAED;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC;QAC9B,OAAO,YAAY,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACI,cAAc;QACpB,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,QAAQ;QACd,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,MAAc;QAC1B,OAAO,CAAC,CAAC;IACV,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,MAAc;QACxB,OAAO,CAAC,CAAC;IACV,CAAC;CACD;AAjED,6BAiEC"}

View File

@@ -0,0 +1,50 @@
/**
* When loading a media resource for use by an <audio> or <video> element, the TimeRanges interface is used for representing the time ranges of the media resource that have been buffered, the time ranges that have been played, and the time ranges that are seekable.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/TimeRanges
*/
export default class TimeRanges {
/**
* Constructor.
*
* @param illegalConstructorSymbol Illegal constructor symbol.
*/
constructor(illegalConstructorSymbol: symbol);
/**
* Returns length.
*/
get length(): number;
/**
* Returns `Symbol.toStringTag`.
*
* @returns `Symbol.toStringTag`.
*/
get [Symbol.toStringTag](): string;
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toLocaleString(): string;
/**
* Returns `[object NodeList]`.
*
* @returns `[object NodeList]`.
*/
toString(): string;
/**
* Returns start.
*
* @param _index Index.
* @returns Start.
*/
start(_index: number): number;
/**
* Returns end.
*
* @param _index Index.
* @returns End.
*/
end(_index: number): number;
}
//# sourceMappingURL=TimeRanges.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"TimeRanges.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/TimeRanges.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B;;;;OAIG;gBACS,wBAAwB,EAAE,MAAM;IAM5C;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;;;OAIG;IACH,IAAW,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAExC;IAED;;;;OAIG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;OAIG;IACI,QAAQ,IAAI,MAAM;IAIzB;;;;;OAKG;IACI,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAIpC;;;;;OAKG;IACI,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAGlC"}

View File

@@ -0,0 +1,103 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const TextTrackCue_js_1 = __importDefault(require("./TextTrackCue.cjs"));
const PropertySymbol = __importStar(require("../../PropertySymbol.cjs"));
/**
* VTTCue.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/VTTCue
*/
class VTTCue extends TextTrackCue_js_1.default {
region = null;
vertical = '';
snapToLines = true;
line = 0;
lineAlign = '';
position = 'auto';
positionAlign = 'auto';
size = 100;
align = '';
text = '';
/**
* Constructor.
*
* @param startTime The start time for the cue.
* @param endTime The end time for the cue.
* @param text The text of the cue.
*/
constructor(startTime, endTime, text) {
super(PropertySymbol.illegalConstructor);
const window = this[PropertySymbol.window];
// TODO: Can we find a better solution for counting arguments by using the "arguments" property?
let argumentCount = 0;
if (startTime !== undefined) {
argumentCount++;
}
if (endTime !== undefined) {
argumentCount++;
}
if (text !== undefined) {
argumentCount++;
}
if (argumentCount < 3) {
throw new window.TypeError(`Failed to construct 'VTTCue': 3 arguments required, but only ${argumentCount} present.`);
}
startTime = Number(startTime);
endTime = Number(endTime);
if (isNaN(startTime) || isNaN(endTime)) {
throw new window.TypeError(`Failed to construct 'VTTCue': The provided double value is non-finite.`);
}
this.startTime = startTime;
this.endTime = endTime;
this.text = String(text);
}
/**
* Returns the cue as HTML.
*
* @returns DocumentFragment
*/
getCueAsHTML() {
const window = this[PropertySymbol.window];
const fragment = window.document.createDocumentFragment();
fragment.appendChild(window.document.createTextNode(this.text));
return fragment;
}
}
exports.default = VTTCue;
//# sourceMappingURL=VTTCue.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VTTCue.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/VTTCue.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,wEAA6C;AAE7C,wEAA0D;AAE1D;;;;GAIG;AACH,MAAqB,MAAO,SAAQ,yBAAY;IACxC,MAAM,GAAqB,IAAI,CAAC;IAChC,QAAQ,GAAW,EAAE,CAAC;IACtB,WAAW,GAAY,IAAI,CAAC;IAC5B,IAAI,GAAW,CAAC,CAAC;IACjB,SAAS,GAAW,EAAE,CAAC;IACvB,QAAQ,GAAW,MAAM,CAAC;IAC1B,aAAa,GAAW,MAAM,CAAC;IAC/B,IAAI,GAAW,GAAG,CAAC;IACnB,KAAK,GAAW,EAAE,CAAC;IACnB,IAAI,GAAW,EAAE,CAAC;IAEzB;;;;;;OAMG;IACH,YAAY,SAAiB,EAAE,OAAe,EAAE,IAAY;QAC3D,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;QAEzC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAE3C,gGAAgG;QAEhG,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,aAAa,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC3B,aAAa,EAAE,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,aAAa,EAAE,CAAC;QACjB,CAAC;QAED,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,MAAM,CAAC,SAAS,CACzB,gEAAgE,aAAa,WAAW,CACxF,CAAC;QACH,CAAC;QAED,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1B,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,MAAM,CAAC,SAAS,CACzB,wEAAwE,CACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACI,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAC1D,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC;IACjB,CAAC;CACD;AArED,yBAqEC"}

View File

@@ -0,0 +1,35 @@
import DocumentFragment from '../document-fragment/DocumentFragment.cjs';
import TextTrackCue from './TextTrackCue.cjs';
import VTTRegion from './VTTRegion.cjs';
/**
* VTTCue.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/VTTCue
*/
export default class VTTCue extends TextTrackCue {
region: VTTRegion | null;
vertical: string;
snapToLines: boolean;
line: number;
lineAlign: string;
position: string;
positionAlign: string;
size: number;
align: string;
text: string;
/**
* Constructor.
*
* @param startTime The start time for the cue.
* @param endTime The end time for the cue.
* @param text The text of the cue.
*/
constructor(startTime: number, endTime: number, text: string);
/**
* Returns the cue as HTML.
*
* @returns DocumentFragment
*/
getCueAsHTML(): DocumentFragment;
}
//# sourceMappingURL=VTTCue.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VTTCue.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/VTTCue.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,0CAA0C,CAAC;AACxE,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AAGvC;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IACxC,MAAM,EAAE,SAAS,GAAG,IAAI,CAAQ;IAChC,QAAQ,EAAE,MAAM,CAAM;IACtB,WAAW,EAAE,OAAO,CAAQ;IAC5B,IAAI,EAAE,MAAM,CAAK;IACjB,SAAS,EAAE,MAAM,CAAM;IACvB,QAAQ,EAAE,MAAM,CAAU;IAC1B,aAAa,EAAE,MAAM,CAAU;IAC/B,IAAI,EAAE,MAAM,CAAO;IACnB,KAAK,EAAE,MAAM,CAAM;IACnB,IAAI,EAAE,MAAM,CAAM;IAEzB;;;;;;OAMG;gBACS,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAuC5D;;;;OAIG;IACI,YAAY,IAAI,gBAAgB;CAMvC"}

View File

@@ -0,0 +1,19 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* VTTRegion.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/VTTRegion
*/
class VTTRegion {
id = '';
width = 100;
lines = 3;
regionAnchorX = 0;
regionAnchorY = 100;
viewportAnchorX = 0;
viewportAnchorY = 100;
scroll = 'none';
}
exports.default = VTTRegion;
//# sourceMappingURL=VTTRegion.cjs.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VTTRegion.cjs","sourceRoot":"","sources":["../../../src/nodes/html-media-element/VTTRegion.ts"],"names":[],"mappings":";;AAAA;;;;GAIG;AACH,MAAqB,SAAS;IACtB,EAAE,GAAW,EAAE,CAAC;IAChB,KAAK,GAAW,GAAG,CAAC;IACpB,KAAK,GAAW,CAAC,CAAC;IAClB,aAAa,GAAW,CAAC,CAAC;IAC1B,aAAa,GAAW,GAAG,CAAC;IAC5B,eAAe,GAAW,CAAC,CAAC;IAC5B,eAAe,GAAW,GAAG,CAAC;IAC9B,MAAM,GAAW,MAAM,CAAC;CAC/B;AATD,4BASC"}

View File

@@ -0,0 +1,16 @@
/**
* VTTRegion.
*
* @see https://developer.mozilla.org/en-US/docs/Web/API/VTTRegion
*/
export default class VTTRegion {
id: string;
width: number;
lines: number;
regionAnchorX: number;
regionAnchorY: number;
viewportAnchorX: number;
viewportAnchorY: number;
scroll: string;
}
//# sourceMappingURL=VTTRegion.d.ts.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"VTTRegion.d.ts","sourceRoot":"","sources":["../../../src/nodes/html-media-element/VTTRegion.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,SAAS;IACtB,EAAE,EAAE,MAAM,CAAM;IAChB,KAAK,EAAE,MAAM,CAAO;IACpB,KAAK,EAAE,MAAM,CAAK;IAClB,aAAa,EAAE,MAAM,CAAK;IAC1B,aAAa,EAAE,MAAM,CAAO;IAC5B,eAAe,EAAE,MAAM,CAAK;IAC5B,eAAe,EAAE,MAAM,CAAO;IAC9B,MAAM,EAAE,MAAM,CAAU;CAC/B"}