From 165b79d6133303bed1e880e864271489d874fffa Mon Sep 17 00:00:00 2001 From: justjavac Date: Fri, 29 Mar 2019 12:48:26 +0800 Subject: [PATCH] check `EventTarget` params --- js/event_target.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/js/event_target.ts b/js/event_target.ts index 98b7bbcb8dd29..76f144834ced4 100644 --- a/js/event_target.ts +++ b/js/event_target.ts @@ -1,5 +1,6 @@ // Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. import * as domTypes from "./dom_types"; +import { requiredArguments } from "./util"; /* TODO: This is an incomplete implementation to provide functionality * for Event. A proper spec is still required for a proper Web API. @@ -14,6 +15,7 @@ export class EventTarget implements domTypes.EventTarget { listener: domTypes.EventListenerOrEventListenerObject | null, _options?: boolean | domTypes.AddEventListenerOptions ): void { + requiredArguments("EventTarget.addEventListener", arguments.length, 2); if (!(type in this.listeners)) { this.listeners[type] = []; } @@ -27,6 +29,7 @@ export class EventTarget implements domTypes.EventTarget { callback: domTypes.EventListenerOrEventListenerObject | null, _options?: domTypes.EventListenerOptions | boolean ): void { + requiredArguments("EventTarget.removeEventListener", arguments.length, 2); if (type in this.listeners && callback !== null) { this.listeners[type] = this.listeners[type].filter( listener => listener !== callback @@ -35,6 +38,7 @@ export class EventTarget implements domTypes.EventTarget { } public dispatchEvent(event: domTypes.Event): boolean { + requiredArguments("EventTarget.dispatchEvent", arguments.length, 1); if (!(event.type in this.listeners)) { return true; }