UNPKG

bobflux-gen

Version:

Generator for monkey files in bobflux application.

22 lines (21 loc) 1.69 kB
"use strict"; function apiServiceToString(alias, nodeModule) { return "import * as " + alias + " from '" + nodeModule + "';"; } exports.apiServiceToString = apiServiceToString; function moduleToString(indent, def) { return "\n" + indent + "export module " + def.name + " {\n" + indent + " " + def.content + "\n" + indent + "}"; } exports.moduleToString = moduleToString; function interfaceToString(indent, def) { return "\n" + indent + (!!def.isExported ? 'export' : '') + " interface I" + def.name + " {\n" + indent + " " + def.properties.map(function (p) { return p.name + ": " + p.valueName + ";"; }).join("\n" + indent + indent) + "\n" + indent + "}"; } exports.interfaceToString = interfaceToString; function apiGetResponse(indent) { return "\n" + indent + "export interface IGetResponse<T> {\n" + indent + " data: T[];\n" + indent + " totalRowsCount: number;\n" + indent + "} \n "; } exports.apiGetResponse = apiGetResponse; function apiGet(indent, def) { return "\n" + indent + "export const get" + def.entitySet + " = (): Promise<IGetResponse<I" + def.entityTypeName + ">> => {\n" + indent + " return new Promise<IGetResponse<I" + def.entityTypeName + ">>((f, r) => {\n" + indent + " " + def.apiServiceAlias + ".get('" + def.apiPrefix + def.entitySet + "')\n" + indent + " .then(response => {\n" + indent + " f({ data: response.data['value'], totalRowsCount: response.data['@odata.count'] });\n" + indent + " })\n" + indent + " .catch(error => {\n" + indent + " r(error);\n" + indent + " });\n" + indent + " });\n" + indent + "}\n"; } exports.apiGet = apiGet;