Merge pull request #4850 from crissdev/master

improve definition for knockout.punches
This commit is contained in:
Mohamed Hegazy
2016-06-23 23:31:53 -07:00
committed by GitHub
2 changed files with 51 additions and 1 deletions

View File

@@ -2,7 +2,29 @@
function test_enable() {
ko.punches.enableAll();
}
function test_filters() {
ko.filters.default([], 'Empty');
ko.filters.default(null, 'Empty');
ko.filters.default(0, 'Empty');
ko.filters.default(' ', 'Empty');
ko.filters.fit('abcdef0123456789', 10);
ko.filters.fit('abcdef0123456789', 10, '_');
ko.filters.fit('abcdef0123456789', 10, '_', 'left');
ko.filters.fit('abcdef0123456789', 10, '_', 'middle');
ko.filters.fit('abcdef0123456789', 10, '_', 'right');
ko.filters.json({});
ko.filters.json({}, null, 4);
ko.filters.number('123456789');
ko.filters.number(12345.6789);
ko.filters.lowercase('TEST');
ko.filters.uppercase('test');
ko.filters.replace('1234abcd', '1234', '');
}

View File

@@ -9,8 +9,36 @@ interface KnockoutPunchesStatic {
enableAll(): void;
}
interface KnockoutPunchesFilters {
// Convert the value to uppercase.
uppercase(value: string): string;
// Convert the value to lowercase.
lowercase(value: string): string;
// Perform a search and replace on the value using String#replace.
replace(value: string, search: string, replace: string): string;
// Trim the value if its longer than the given length. The trimmed portion is
// replaced with ... or the replacement value, if given. By default, the value
// is trimmed on the right but can be changed to left or middle through the
// where option. For example: name | fit:10::'middle' will
// convert Shakespeare to Shak...are.
fit(value: number | string, length?: number, replacement?: string, trimWhere?: string): string;
// Convert the value to a JSON string using ko.toJSON. You can give a space value to format the JSON output.
json(rootObject: any, space?: any, replacer?: any): string;
// Format the value using toLocaleString.
number(value: number | string): string;
// If the value is blank, null, or an empty array, replace it with the given default value
default(value: any, defaultValue?: any): any;
}
interface KnockoutStatic {
punches: KnockoutPunchesStatic;
filters: KnockoutPunchesFilters;
}
declare module "knockout.punches" {