bobflux-gen
Version:
Generator for monkey files in bobflux application.
22 lines (21 loc) • 1.69 kB
JavaScript
;
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;