From 8d9b48abde9fbe40daf2e0faf0436f97aff38ea7 Mon Sep 17 00:00:00 2001 From: KuanYu Chu Date: Fri, 25 Oct 2019 15:17:22 -0500 Subject: [PATCH] Add logger function to video.js Log interface (#39303) * Add logger function to video.js Log interface * Add logger function to video.js Log interface * Bump version and move Definitions_by to the top * Add video.js logger test --- types/video.js/index.d.ts | 11 ++++++++++- types/video.js/video.js-tests.ts | 15 +++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/types/video.js/index.d.ts b/types/video.js/index.d.ts index 0b7b154d75..55b306271a 100644 --- a/types/video.js/index.d.ts +++ b/types/video.js/index.d.ts @@ -1,4 +1,4 @@ -// Type definitions for Video.js 7.2 +// Type definitions for Video.js 7.3 // Project: https://github.com/videojs/video.js, https://videojs.com // Definitions by: Vincent Bortone // Simon Clériot @@ -10,6 +10,7 @@ // Adam Eisenreich // Mei Qingguang // Joe Flateau +// KuanYu Chu // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.1 @@ -2922,6 +2923,14 @@ declare namespace videojs { */ (...args: any[]): void; + /** + * Make a new module or plugin and log messages with a label. + * It takes a name and gives you back a log object like videojs.log + * + * @param label + */ + createLogger: (label: string) => Log; + /** * Logs debug messages. Similar to `console.debug`, but may also act as a comparable * log if `console.debug` is not available diff --git a/types/video.js/video.js-tests.ts b/types/video.js/video.js-tests.ts index b05742784f..695fef14b3 100644 --- a/types/video.js/video.js-tests.ts +++ b/types/video.js/video.js-tests.ts @@ -70,6 +70,8 @@ videojs("example_video_1").ready(function() { testPlugin(this, {}); testAugmentation(this); + + testLogger(); }); function testEvents(player: videojs.Player) { @@ -119,11 +121,20 @@ function testPlugin(player: videojs.Player, options: {}) { } function testAugmentation(player: videojs.Player) { - player.somePluginDefinedInAugmentation(); - videojs("example_video_2", { + player.somePluginDefinedInAugmentation(); + videojs("example_video_2", { plugins: { somePluginDefinedInAugmentation: {}, someOtherPluginNotTyped: {} } }); } + +function testLogger() { + const mylogger = videojs.log.createLogger('mylogger'); + const anotherlogger = mylogger.createLogger('anotherlogger'); + + videojs.log('hello'); + mylogger('how are you'); + anotherlogger('today'); +}