Skip to content

Instantly share code, notes, and snippets.

@squadwuschel
Last active June 28, 2016 19:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save squadwuschel/30e51301ef02a26e8270f109cebfc5b9 to your computer and use it in GitHub Desktop.
Save squadwuschel/30e51301ef02a26e8270f109cebfc5b9 to your computer and use it in GitHub Desktop.
AngularJs TypeScript Service
module App.Services {
export interface IProxyPService {
addTsEntryAndName(person: ProxyGeneratorDemoPage.Models.Person.Models.IPerson, name: string): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IAuto>;
loadTsCallById(id: number): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IPerson>;
loadTsCallByParams(name: string, vorname: string, alter: number): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IPerson>;
voidTsReturnType(name: string): void;
stringTsReturnType(name: string): ng.IPromise<string>;
integerTsReturnType(age: number): ng.IPromise<number>;
}
export class ProxyPService implements IProxyPService {
static $inject = ['$http'];
constructor(private $http: ng.IHttpService) { }
public addTsEntryAndName(person: ProxyGeneratorDemoPage.Models.Person.Models.IPerson, name: string): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IAuto> {
return this.$http.post('Proxy/AddTsEntryAndName' + '?name=' + encodeURIComponent(name), person).then((response: ng.IHttpPromiseCallbackArg<ProxyGeneratorDemoPage.Models.Person.Models.IAuto>): ProxyGeneratorDemoPage.Models.Person.Models.IAuto => { return response.data; });
}
public loadTsCallById(id: number): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IPerson> {
return this.$http.get('Proxy/LoadTsCallById' + '/' + id).then((response: ng.IHttpPromiseCallbackArg<ProxyGeneratorDemoPage.Models.Person.Models.IPerson>): ProxyGeneratorDemoPage.Models.Person.Models.IPerson => { return response.data; });
}
public loadTsCallByParams(name: string, vorname: string, alter: number): ng.IPromise<ProxyGeneratorDemoPage.Models.Person.Models.IPerson> {
return this.$http.get('Proxy/LoadTsCallByParams' + '?name=' + encodeURIComponent(name) + '&vorname=' + encodeURIComponent(vorname) + '&alter=' + alter).then((response: ng.IHttpPromiseCallbackArg<ProxyGeneratorDemoPage.Models.Person.Models.IPerson>): ProxyGeneratorDemoPage.Models.Person.Models.IPerson => { return response.data; });
}
public voidTsReturnType(name: string): void {
this.$http.get('Proxy/VoidTsReturnType' + '?name=' + encodeURIComponent(name));
}
public stringTsReturnType(name: string): ng.IPromise<string> {
return this.$http.get('Proxy/StringTsReturnType' + '?name=' + encodeURIComponent(name)).then((response: ng.IHttpPromiseCallbackArg<string>): string => { return response.data; });
}
public integerTsReturnType(age: number): ng.IPromise<number> {
return this.$http.get('Proxy/IntegerTsReturnType' + '?age=' + age).then((response: ng.IHttpPromiseCallbackArg<number>): number => { return response.data; });
}
//#region Angular Module Definition
private static _module: ng.IModule;
public static get module(): ng.IModule {
if (this._module) { return this._module; }
this._module = angular.module('ProxyPService', []);
this._module.service('ProxyPService', ProxyPService);
return this._module;
}
//#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment