Fix Adapters definition

This commit is contained in:
Matt Brooks
2015-07-07 09:22:39 +01:00
parent 4618f92d02
commit a549443564
2 changed files with 21 additions and 3 deletions
@@ -35,6 +35,19 @@ $.validator.unobtrusive.adapters
return null;
});
// Test `Adapters` indexer
var adapterName = $.validator.unobtrusive.adapters[0].name;
// Test `Adapters` iterator
$.each($.validator.unobtrusive.adapters, function (index, adapter) {
console.log(adapter.name);
console.log(adapter.params);
console.log(adapter.adapt);
});
// Test `Adapters` array
$.validator.unobtrusive.adapters.push({ name: "adapter", params: ["param1"], adapt: () => { } });
// Test overloads for `parseElement`
$.validator.unobtrusive.parseElement("form");
$.validator.unobtrusive.parseElement(document);
@@ -8,10 +8,15 @@
declare module MicrosoftJQueryUnobtrusiveValidation {
type JQuerySelector = string | Document | Element | JQuery;
interface Adapters {
[key: string]: Function;
interface Adapter {
name: string;
params: string[];
adapt: Function
}
interface Adapters extends Array<Adapter> {
add(adapterName: string, fn: Function): Adapters;
add(adapterName: string, params: any, fn: Function): Adapters;
add(adapterName: string, params: string[], fn: Function): Adapters;
addMinMax(adapterName: string, minRuleName: string, maxRuleName: string, minMaxRuleName: string, minAttribute?: string, maxAttribute?: string): Adapters;
addSingleVal(adapterName: string, ruleName: string): Adapters;
addSingleVal(adapterName: string, attribute: string, ruleName: string): Adapters;