angular.module('fbMocks') .factory('resourceService', ['$q', function ( $q: ng.IQService ): fb.IMockResourceService { var mockBase = new fb.MockBase($q); var resolve = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.resolve(mockBase.requestIdentifier(type, identifier), returnValue); }; var reject = function (type: fb.RequestType, identifier: string, returnValue: any): void { mockBase.reject(mockBase.requestIdentifier(type, identifier), returnValue); }; var getPendingRequests = function (): string[] { return mockBase.getPendingRequests(); }; var addToObject = function (object, data) { var keys = Object.keys(data); for (var i = 0; i < keys.length; i++) { object[keys[i]] = data[keys[i]]; } }; var get = function (resource, params) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.GET, '')) }; }; var query = function (resource, params) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.QUERY, ''))}; }; var add = function (resource, object) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, ''))}; }; var addWithParam = function (resource, paramObj, object) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.ADD, '')) }; }; var save = function (resource, id, object) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.SAVE, ''))}; }; var saveLO = function (a, b, c, d, e) { return new fb.ResourceBase({}); }; var remove = function (resource, id) { return { $promise: mockBase.createRequest(mockBase.requestIdentifier(fb.RequestType.REMOVE, '')) }; }; var removeFromErrorQueue = function () { }; return { get: get, query: query, add: add, save: save, saveLO:saveLO, addWithParam: addWithParam, removeFromQueues: removeFromErrorQueue, removeFromQueuesAndCache: removeFromErrorQueue, remove: remove, resolve: resolve, reject: reject, getPendingRequests: getPendingRequests }; }]);