mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-12 13:00:19 +00:00
Add type definitions for d3-require (#36102)
* Add type definitions for d3-require * d3-require: fix lint issue * d3-require: export as namespace d3 * Revert "d3-require: export as namespace d3" This reverts commit b970c3d2534df302133ab7a16b4c28ab27e0f702. as this may conflict with d3 module. * Update tslint.json Co-authored-by: Orta <orta.therox+github@gmail.com>
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
import { require as d3Require, requireFrom } from 'd3-require';
|
||||
|
||||
d3Require('abc').then(x => null);
|
||||
|
||||
d3Require.alias({a: 'a'})('a', 'b').then(x => null);
|
||||
d3Require.resolve('b').then(x => x.length);
|
||||
|
||||
requireFrom(async a => ('/~/' + a))('a', 'b').then(x => null);
|
||||
Vendored
+45
@@ -0,0 +1,45 @@
|
||||
// Type definitions for d3-require 1.2
|
||||
// Project: https://github.com/d3/d3-require
|
||||
// Definitions by: Kindy Lin <https://github.com/kindy>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.1
|
||||
|
||||
// Last module version validated against: 1.2.2
|
||||
|
||||
export interface require {
|
||||
(name: string, ...names: string[]): Promise<any>;
|
||||
|
||||
/**
|
||||
* Returns a `require` with the specified *aliases*.
|
||||
* `require.alias({"react": React, "react-dom": ReactDOM})`
|
||||
*/
|
||||
alias(aliases: {[k: string]: any}): require;
|
||||
|
||||
/**
|
||||
* The resolver passed to `requireFrom`
|
||||
*/
|
||||
resolve: resolver;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a promise to the URL to load the module with the specified *name*.
|
||||
*/
|
||||
export type resolver = (name: string, base?: string) => Promise<string>;
|
||||
export type requireFrom = (resolver: resolver) => require;
|
||||
|
||||
export class RequireError extends Error {}
|
||||
|
||||
/**
|
||||
* Loads modules from jsDelivr.
|
||||
* Like `require('d3@5')`
|
||||
*
|
||||
* @param name Any package name optionally followed by the 'at sign' and a semver range
|
||||
* @returns A promise to the loaded module
|
||||
*/
|
||||
export const require: require;
|
||||
|
||||
/**
|
||||
* Returns a new `require` which loads modules from the specified `resolver`.
|
||||
* Like `requireFrom(name => ('https://unpkg.com/'+name))`
|
||||
*/
|
||||
export const requireFrom: requireFrom;
|
||||
@@ -0,0 +1,24 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6",
|
||||
"dom"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"d3-require-tests.ts"
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "dtslint/dt.json"
|
||||
}
|
||||
Reference in New Issue
Block a user