From ce34b37c05c3a1aaa6869bd8f11983f873801b95 Mon Sep 17 00:00:00 2001 From: Pine Mizune Date: Mon, 30 Jan 2017 17:55:03 +0900 Subject: [PATCH] Add type definitions for es6-weak-map --- es6-weak-map/es6-weak-map-tests.ts | 18 ++++++++++++++++++ es6-weak-map/index.d.ts | 21 +++++++++++++++++++++ es6-weak-map/tsconfig.json | 23 +++++++++++++++++++++++ es6-weak-map/tslint.json | 1 + 4 files changed, 63 insertions(+) create mode 100644 es6-weak-map/es6-weak-map-tests.ts create mode 100644 es6-weak-map/index.d.ts create mode 100644 es6-weak-map/tsconfig.json create mode 100644 es6-weak-map/tslint.json diff --git a/es6-weak-map/es6-weak-map-tests.ts b/es6-weak-map/es6-weak-map-tests.ts new file mode 100644 index 0000000000..aec03c03d1 --- /dev/null +++ b/es6-weak-map/es6-weak-map-tests.ts @@ -0,0 +1,18 @@ +import WeakMap = require('es6-weak-map'); + +new WeakMap<{}, string>(); + +var tuples: [number, string][] = [ [0, 'foo'], [1, 'bar'] ]; +new WeakMap(tuples); + +var map = new WeakMap<{}, string>(); +var obj = {}; + +map.set(obj, 'foo'); +map.get(obj); +map.has(obj); +map.delete(obj); +map.get(obj); +map.has(obj); +map.set(obj, 'bar'); +map.has(obj); diff --git a/es6-weak-map/index.d.ts b/es6-weak-map/index.d.ts new file mode 100644 index 0000000000..50035420c8 --- /dev/null +++ b/es6-weak-map/index.d.ts @@ -0,0 +1,21 @@ +// Type definitions for es6-weak-map 1.2 +// Project: https://github.com/medikoo/es6-weak-map +// Definitions by: Pine Mizune +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +export = WeakMap; +export as namespace WeakMap; + +interface Iterable { + [Symbol.iterator](): Iterator; +} + +declare class WeakMap { + constructor(); + constructor(iterable: Iterable<[K, V]>); + + delete(key: K): boolean; + get(key: K): V; + has(key: K): boolean; + set(key: K, value?: V): WeakMap; +} diff --git a/es6-weak-map/tsconfig.json b/es6-weak-map/tsconfig.json new file mode 100644 index 0000000000..4a80116224 --- /dev/null +++ b/es6-weak-map/tsconfig.json @@ -0,0 +1,23 @@ + +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "es6-weak-map-tests.ts" + ] +} diff --git a/es6-weak-map/tslint.json b/es6-weak-map/tslint.json new file mode 100644 index 0000000000..377cc837d4 --- /dev/null +++ b/es6-weak-map/tslint.json @@ -0,0 +1 @@ +{ "extends": "../tslint.json" }