Skip to content

Commit

Permalink
Merge pull request #387 from miaulightouch/fix-lacking-typing
Browse files Browse the repository at this point in the history
fix: vue component lack of typing
  • Loading branch information
SangwonOh authored Oct 20, 2023
2 parents db59c4f + 41cd2be commit 293a135
Show file tree
Hide file tree
Showing 4 changed files with 158 additions and 4 deletions.
145 changes: 145 additions & 0 deletions packages/vue3/dist/types/OvenPlayer.vue.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
import type { OvenPlayerConfig, OvenPlayerInstance } from 'ovenplayer';
declare const _default: import("vue").DefineComponent<{
config: {
type: import("vue").PropType<OvenPlayerConfig>;
required: true;
};
}, {
createPlayer: () => void;
removePlayer: () => void;
playerInstance: import("vue").Ref<OvenPlayerInstance | undefined>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
ready: () => void;
metaChanged: (data: {
duration: number;
isP2P: boolean;
type: string;
}) => void;
stateChanged: (data: {
prevstate: import("ovenplayer").OvenPlayerState;
newstate: import("ovenplayer").OvenPlayerState;
}) => void;
resized: (data: "large" | "medium" | "small" | "xsmall") => void;
playbackRateChanged: (data: number) => void;
seek: (data: {
position: string;
newstate: string;
}) => void;
time: (data: {
duration: number;
position: number;
}) => void;
bufferChanged: (data: {
duration: number;
position: number;
buffer: number;
}) => void;
mute: (data: number) => void;
volumeChanged: (data: number) => void;
playlistChanged: (data: number) => void;
sourceChanged: (data: number) => void;
qualityLevelChanged: (data: {
currentQuality: number;
type: "request" | "render";
isAuto: boolean;
}) => void;
cueChanged: (data: VTTCue) => void;
timeDisplayModeChanged: (data: boolean) => void;
adChanged: (data: {
isLinear: boolean;
duration: number;
skipTimeOffset: number;
}) => void;
adTime: (data: {
isLinear: boolean;
duration: number;
skipTimeOffset: number;
remaining: number;
position: number;
}) => void;
adComplete: () => void;
fullscreenChanged: (data: boolean) => void;
clicked: (data: Event) => void;
allPlaylistEnded: () => void;
hlsPrepared: (data: object) => void;
hlsDestroyed: () => void;
dashPrepared: (data: object) => void;
dashDestroyed: () => void;
destroy: () => void;
error: (data: {
code: number;
error?: string | Error | undefined;
message: string;
reason: string;
}) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
config: {
type: import("vue").PropType<OvenPlayerConfig>;
required: true;
};
}>> & {
onReady?: (() => any) | undefined;
onMetaChanged?: ((data: {
duration: number;
isP2P: boolean;
type: string;
}) => any) | undefined;
onStateChanged?: ((data: {
prevstate: import("ovenplayer").OvenPlayerState;
newstate: import("ovenplayer").OvenPlayerState;
}) => any) | undefined;
onResized?: ((data: "large" | "medium" | "small" | "xsmall") => any) | undefined;
onPlaybackRateChanged?: ((data: number) => any) | undefined;
onSeek?: ((data: {
position: string;
newstate: string;
}) => any) | undefined;
onTime?: ((data: {
duration: number;
position: number;
}) => any) | undefined;
onBufferChanged?: ((data: {
duration: number;
position: number;
buffer: number;
}) => any) | undefined;
onMute?: ((data: number) => any) | undefined;
onVolumeChanged?: ((data: number) => any) | undefined;
onPlaylistChanged?: ((data: number) => any) | undefined;
onSourceChanged?: ((data: number) => any) | undefined;
onQualityLevelChanged?: ((data: {
currentQuality: number;
type: "request" | "render";
isAuto: boolean;
}) => any) | undefined;
onCueChanged?: ((data: VTTCue) => any) | undefined;
onTimeDisplayModeChanged?: ((data: boolean) => any) | undefined;
onAdChanged?: ((data: {
isLinear: boolean;
duration: number;
skipTimeOffset: number;
}) => any) | undefined;
onAdTime?: ((data: {
isLinear: boolean;
duration: number;
skipTimeOffset: number;
remaining: number;
position: number;
}) => any) | undefined;
onAdComplete?: (() => any) | undefined;
onFullscreenChanged?: ((data: boolean) => any) | undefined;
onClicked?: ((data: Event) => any) | undefined;
onAllPlaylistEnded?: (() => any) | undefined;
onHlsPrepared?: ((data: object) => any) | undefined;
onHlsDestroyed?: (() => any) | undefined;
onDashPrepared?: ((data: object) => any) | undefined;
onDashDestroyed?: (() => any) | undefined;
onDestroy?: (() => any) | undefined;
onError?: ((data: {
code: number;
error?: string | Error | undefined;
message: string;
reason: string;
}) => any) | undefined;
}, {}, {}>;
export default _default;
2 changes: 2 additions & 0 deletions packages/vue3/dist/types/index.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import OvenPlayerVue3 from './OvenPlayer.vue';
export default OvenPlayerVue3;
7 changes: 5 additions & 2 deletions packages/vue3/package.json
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
{
"name": "ovenplayer-vue3",
"version": "1.0.0-beta.0",
"version": "1.0.0-beta.1",
"type": "module",
"main": "dist/ovenplayer-vue3.umd.js",
"module": "dist/ovenplayer-vue3.es.js",
"scripts": {
"dev": "vite",
"build": "vue-tsc && vite build",
"build": "vue-tsc --noEmit && vite build && vue-tsc --declaration --emitDeclarationOnly",
"preview": "vite preview"
},
"exports": {
"types": "./dist/types/index.d.ts"
},
"peerDependencies": {
"vue": "^3.3.4"
},
Expand Down
8 changes: 6 additions & 2 deletions packages/vue3/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,18 @@
"allowImportingTsExtensions": true,
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
// "noEmit": true,
// "emitDeclarationOnly": true,
"jsx": "preserve",

/* Linting */
"strict": true,
"noUnusedLocals": true,
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true
"noFallthroughCasesInSwitch": true,

"declaration": true,
"declarationDir": "./dist/types"
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]
Expand Down

0 comments on commit 293a135

Please sign in to comment.