correios-webservice
Version:
Cliente NodeJS para consumir a api nova dos Correios (CWS)
55 lines (43 loc) • 1.17 kB
text/typescript
import { Auth } from "../auth";
import { ClientConfig } from "../client";
import { Endpoint } from "../endpoint";
interface CountryData {
"sigla": string,
"nome": string
"idioma": string
"codigoSiscomex": string
}
type CountriesResponse = CountryData[]
type CitiesResponse = {
"codigo": string
"nome": string,
}[]
class Countries extends Endpoint {
public async get() {
return await this.http.get<any, CountriesResponse>(
`/paises`
);
}
protected getPrefix(): string {
return "/pais";
}
}
class Cities extends Endpoint {
public async get(countryCode: string) {
return await this.http.get<any, CitiesResponse>(
`/paises/${countryCode}/cidades`
);
}
protected getPrefix(): string {
return "/pais";
}
}
class Country {
public paises: Countries;
public cidades: Cities;
constructor(auth: Auth, config: ClientConfig) {
this.paises = new Countries(auth, config);
this.cidades = new Cities(auth, config);
}
}
export { Country, CountriesResponse };