mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
Add types for pkg-conf@2.1 (#27284)
* Add types for pkg-conf@2.1 * Refine for tests * Remove fixture * Update pkg-conf-tests.ts * Fix test * Update pkg-conf-tests.ts
This commit is contained in:
parent
93016410a9
commit
67abbade54
34
types/pkg-conf/index.d.ts
vendored
Normal file
34
types/pkg-conf/index.d.ts
vendored
Normal file
@ -0,0 +1,34 @@
|
||||
// Type definitions for pkg-conf 2.1
|
||||
// Project: https://github.com/sindresorhus/pkg-conf#readme
|
||||
// Definitions by: Jorge Gonzalez <https://github.com/jorgegonzalez>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.2
|
||||
|
||||
declare namespace pkgConf {
|
||||
type AnyJson = boolean | number | string | null | JsonArray | JsonMap;
|
||||
interface JsonArray extends Array<AnyJson> { }
|
||||
interface JsonMap {
|
||||
[key: string]: AnyJson;
|
||||
}
|
||||
|
||||
interface Options {
|
||||
// Directory to start looking up for a package.json file.
|
||||
// Default: process.cwd()
|
||||
cwd?: string;
|
||||
// Default config.
|
||||
defaults?: object;
|
||||
// Skip package.json files that have the namespaced config explicitly set to false.
|
||||
skipOnFalse?: boolean;
|
||||
}
|
||||
|
||||
// Returns the config.
|
||||
function sync(namespace: string, options?: Options): JsonMap;
|
||||
// Pass in the config returned from any of the above methods.
|
||||
// Returns the filepath to the package.json file or null when not found.
|
||||
function filepath(config: JsonMap): string | null;
|
||||
}
|
||||
|
||||
// Returns a Promise for the config.
|
||||
declare function pkgConf(namespace: string, options?: pkgConf.Options): Promise<pkgConf.JsonMap>;
|
||||
|
||||
export = pkgConf;
|
||||
6
types/pkg-conf/pkg-conf-tests.ts
Normal file
6
types/pkg-conf/pkg-conf-tests.ts
Normal file
@ -0,0 +1,6 @@
|
||||
import pkgConf = require('pkg-conf');
|
||||
|
||||
pkgConf('name'); // $ExpectType Promise<JsonMap>
|
||||
const config = pkgConf.sync('bugs'); // $ExpectType JsonMap
|
||||
pkgConf.filepath(config); // $ExpectType string | null
|
||||
config.url; // $ExpectType AnyJson
|
||||
23
types/pkg-conf/tsconfig.json
Normal file
23
types/pkg-conf/tsconfig.json
Normal file
@ -0,0 +1,23 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"lib": [
|
||||
"es6"
|
||||
],
|
||||
"noImplicitAny": true,
|
||||
"noImplicitThis": true,
|
||||
"strictNullChecks": true,
|
||||
"strictFunctionTypes": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"pkg-conf-tests.ts"
|
||||
]
|
||||
}
|
||||
1
types/pkg-conf/tslint.json
Normal file
1
types/pkg-conf/tslint.json
Normal file
@ -0,0 +1 @@
|
||||
{ "extends": "dtslint/dt.json" }
|
||||
Loading…
Reference in New Issue
Block a user