mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-16 11:02:11 +08:00
Made any parameter explicit and added tests
This commit is contained in:
67
knockout.mapping/knockout.mapping-tests.ts
Normal file
67
knockout.mapping/knockout.mapping-tests.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
/// <reference path="knockout.mapping.d.ts" />
|
||||
/// <reference path="../knockout/knockout.d.ts" />
|
||||
|
||||
var inputJSON = '{ name: "foo" }';
|
||||
var inputData = { name: 'foo' };
|
||||
var inputModel = { name: 'bar' };
|
||||
var inputParent = { name: 'parent' };
|
||||
var options = {};
|
||||
|
||||
var createOptions = {
|
||||
data: inputData,
|
||||
parent: parent
|
||||
}
|
||||
|
||||
var updateOptions = {
|
||||
data: inputData,
|
||||
parent: parent,
|
||||
observable: ko.observable(7)
|
||||
}
|
||||
|
||||
var targetOptions = {};
|
||||
var inputOptions = {};
|
||||
|
||||
var mappingOptions = {
|
||||
ignore: ['age'],
|
||||
include: ['name'],
|
||||
copy: ['height'],
|
||||
mappedProperties: ['age', 'name'],
|
||||
deferEvaluation: false,
|
||||
create: function (options: KnockoutMappingCreateOptions) { },
|
||||
update: function (options: KnockoutMappingUpdateOptions) { },
|
||||
key: function (data: any) { return data; }
|
||||
}
|
||||
|
||||
|
||||
// Utility functions
|
||||
mapping.isMapped(inputModel);
|
||||
mapping.defaultOptions();
|
||||
mapping.resetDefaultOptions();
|
||||
mapping.getType(inputModel);
|
||||
|
||||
// fromJS function
|
||||
mapping.fromJS(inputData);
|
||||
mapping.fromJS(inputData, targetOptions);
|
||||
mapping.fromJS(inputData, inputOptions, inputModel);
|
||||
|
||||
// fromJSON function
|
||||
mapping.fromJSON(inputJSON);
|
||||
mapping.fromJSON(inputJSON, targetOptions);
|
||||
mapping.fromJSON(inputJSON, inputOptions, inputModel);
|
||||
|
||||
// toJS function
|
||||
mapping.toJS(inputModel);
|
||||
mapping.toJS(inputModel, mappingOptions);
|
||||
|
||||
// toJSON function
|
||||
mapping.toJSON(inputModel);
|
||||
mapping.toJSON(inputModel, mappingOptions);
|
||||
|
||||
// visitModel function
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, {});
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { visitedObjects: null });
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { parentName: 'parent' });
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { ignore: ['age'] });
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { copy: ['height'] });
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { include: ['name'] });
|
||||
mapping.visitModel(inputModel, function (x: any) { return x; }, { visitedObjects: null, parentName: 'parent', ignore: ['age'], copy: ['height'], include: ['name'] });
|
||||
2
knockout.mapping/knockout.mapping.d.ts
vendored
2
knockout.mapping/knockout.mapping.d.ts
vendored
@@ -40,7 +40,7 @@ interface KnockoutMapping {
|
||||
defaultOptions(): KnockoutMappingOptions;
|
||||
resetDefaultOptions(): void;
|
||||
getType(x: any): any;
|
||||
visitModel(rootObject: any, callback: Function, options?: { visitedObjects?; parentName?; ignore?; copy?; include?; }): any;
|
||||
visitModel(rootObject: any, callback: Function, options?: { visitedObjects?: any; parentName?: string; ignore?: string[]; copy?: string[]; include?: string[]; }): any;
|
||||
}
|
||||
|
||||
interface KnockoutStatic {
|
||||
|
||||
Reference in New Issue
Block a user