Add types for handlebars-helpers (#30620)

This commit is contained in:
Rémi Alvergnat
2018-11-19 17:25:24 +01:00
committed by Pranav Senthilnathan
parent 80b8a35848
commit fa44bbf144
4 changed files with 86 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
import * as Handlebars from 'handlebars';
import * as helpers from 'handlebars-helpers';
const handlebars = Handlebars.create();
helpers();
helpers('helper');
helpers(['helper']);
helpers({handlebars});
helpers('helper', {handlebars});
helpers(['helper'], {handlebars});

49
types/handlebars-helpers/index.d.ts vendored Normal file
View File

@@ -0,0 +1,49 @@
// Type definitions for handlebars-helpers 0.5
// Project: http://assemble.io/helpers/
// Definitions by: Toilal <https://github.com/Toilal>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
// TypeScript Version: 2.3
import * as Handlebars from 'handlebars';
declare function helpers(groups?: helpers.Options | string | string[], options?: helpers.Options): { [name: string]: Handlebars.HelperDelegate };
interface Utils {
/**
* Returns true if the given value contains the given
* `object`, optionally passing a starting index.
*/
contains<T>(val: T[], obj: T, start: number): boolean;
/**
* Remove leading and trailing whitespace and non-word
* characters from the given string.
*/
chop(str: string): string;
/**
* Change casing on the given `string`, optionally
* passing a delimiter to use between words in the
* returned string.
*
* ```handlebars
* utils.changecase('fooBarBaz');
* //=> 'foo bar baz'
*
* utils.changecase('fooBarBaz' '-');
* //=> 'foo-bar-baz'
* ```
*/
changecase(str: string, fn: (str: string) => string): string;
}
declare namespace helpers {
interface Options {
handlebars?: typeof Handlebars;
hbs?: typeof Handlebars;
}
const utils: Utils;
}
export = helpers;

View File

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

View File

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