feat(project-name-generator): new type definition (#45342)

- definiton files
- tests

https://github.com/aceakash/project-name-generator#quick-start

Thanks!
This commit is contained in:
Piotr Błażejewicz (Peter Blazejewicz) 2020-06-16 11:42:59 +02:00 committed by GitHub
parent 5cd15521e0
commit 25d3d04177
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 76 additions and 0 deletions

37
types/project-name-generator/index.d.ts vendored Normal file
View File

@ -0,0 +1,37 @@
// Type definitions for project-name-generator 2.1
// Project: https://github.com/aceakash/project-name-generator#readme
// Definitions by: Piotr Błażejewicz <https://github.com/peterblazejewicz>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
/**
* Generate quirky names like spiffy-waterfall, sassy-bread, mature-dew-8239 to use wherever you need a random but memorable name.
*/
declare function generate(options?: generate.Options): generate.Project;
declare namespace generate {
interface Options {
/**
* Number of words generated (excluding number).
* All words will be adjectives, except the last one which will be a noun
* @default 2
*/
words?: number;
/**
* Whether a numeric suffix is generated or not. The number is between 1 - 9999, both inclusive.
* @default false
*/
number?: boolean;
/**
* Whether to output words beginning with the same letter or not
* @default false
*/
alliterative?: boolean;
}
interface Project {
raw: Array<string | number>;
dashed: string;
spaced: string;
}
}
export = generate;

View File

@ -0,0 +1,15 @@
import generate = require('project-name-generator');
// $ExpectType string
generate().dashed; // 'uptight-guitar'
// $ExpectType string
generate().spaced; // 'grandiose clam'
// $ExpectType (string | number)[]
generate().raw; // ['deluxe', 'grandmother']
// $ExpectType string
generate({ number: true }).dashed; // 'disgraceful-temper-7794'
// $ExpectType (string | number)[]
generate({ words: 4 }).raw; // ['tiny', 'crabby', 'wired', 'quicksand']
// $ExpectType string
generate({ words: 4, number: true }).dashed; // 'breakable-judicious-luxuriant-tax-3931'
// $ExpectType string
generate({ words: 2, alliterative: true }).spaced; // 'elegant experience'

View File

@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "commonjs",
"lib": [
"es6"
],
"noImplicitAny": true,
"noImplicitThis": true,
"strictFunctionTypes": true,
"strictNullChecks": true,
"baseUrl": "../",
"typeRoots": [
"../"
],
"types": [],
"noEmit": true,
"forceConsistentCasingInFileNames": true
},
"files": [
"index.d.ts",
"project-name-generator-tests.ts"
]
}

View File

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