New definition for non npm package amap-js-api-overview (#38761)

This commit is contained in:
breeze9527 2019-10-03 04:25:39 +08:00 committed by Ryan Cavanaugh
parent b2c017037d
commit 36c00a1bed
4 changed files with 143 additions and 0 deletions

View File

@ -0,0 +1,52 @@
declare const map: AMap.Map;
declare const tileLayer: AMap.TileLayer;
// $ExpectType OverView<TileLayer>
new AMap.OverView();
// $ExpectType OverView<TileLayer>
new AMap.OverView({});
// $ExpectType OverView<TileLayer>
const overview = new AMap.OverView({
tileLayer,
isOpen: true,
visible: true
});
// $ExpectType void
overview.show();
// $ExpectType void
overview.hide();
// $ExpectType void
overview.open();
// $ExpectType void
overview.close();
// $ExpectType void
overview.setTileLayer(tileLayer);
// $ExpectType TileLayer
overview.getTileLayer();
overview.on('show', (event: AMap.OverView.EventMap['show']) => {
// $ExpectType "show"
event.type;
});
overview.on('hide', (event: AMap.OverView.EventMap['hide']) => {
// $ExpectType "hide"
event.type;
});
overview.on('open', (event: AMap.OverView.EventMap['open']) => {
// $ExpectType "open"
event.type;
});
overview.on('close', (event: AMap.OverView.EventMap['close']) => {
// $ExpectType "close"
event.type;
});

64
types/amap-js-api-overview/index.d.ts vendored Normal file
View File

@ -0,0 +1,64 @@
// Type definitions for non-npm package amap-js-api-overview 1.4
// Project: https://lbs.amap.com/api/javascript-api/reference/map-control#AMap.OverView
// Definitions by: breeze9527 <https://github.com/breeze9527>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.8
/// <reference types="amap-js-api" />
declare namespace AMap {
namespace OverView {
interface EventMap {
show: Event<'show'>;
hide: Event<'hide'>;
open: Event<'open'>;
close: Event<'close'>;
}
interface Options<L extends TileLayer = TileLayer> {
/**
*
*/
tileLayer?: L;
/**
* false
*/
isOpen?: boolean;
/**
* true
*/
visible?: boolean;
}
}
/**
*
*/
class OverView<L extends TileLayer = TileLayer> extends EventEmitter {
constructor(options?: OverView.Options<L>);
/**
*
*/
show(): void;
/**
*
*/
hide(): void;
/**
*
*/
open(): void;
/***
*
*/
close(): void;
/**
*
* @param tileLayer
*/
setTileLayer(tileLayer: L): void;
/**
*
*/
getTileLayer(): L;
}
}

View File

@ -0,0 +1,24 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6",
"dom"
],
"noEmit": true,
"noImplicitAny": true,
"noImplicitThis": true,
"strictNullChecks": true,
"strictFunctionTypes": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"amap-js-api-overview-tests.ts"
]
}

View File

@ -0,0 +1,3 @@
{
"extends": "dtslint/dt.json"
}