fix(core): update

This commit is contained in:
2020-07-05 17:53:49 +00:00
parent 4251dbf0af
commit 7675c27cab
6 changed files with 489 additions and 254 deletions

View File

@ -1,3 +1,17 @@
import * as plugins from './test-sdk.plugins';
import { AgTestServer } from './test-sdk.classes.testserver';
export let standardExport = 'Hi there! :) This is an exported string';
export { AgTestServer };
let testServer: AgTestServer;
export const createTestServer = async (handlerArg: plugins.agSdk.AAgHandler<any>) => {
testServer = new AgTestServer(handlerArg);
await testServer.start();
return testServer;
};
export const stopTestServer = async () => {
if (testServer) {
await testServer.stop();
}
};

View File

@ -0,0 +1,42 @@
import * as plugins from './test-sdk.plugins';
export class AgTestServer {
public handlers: Array<plugins.agSdk.AAgHandler<any>> = [];
public server: plugins.smartexpress.Server;
constructor(handlerArg?: plugins.agSdk.AAgHandler<any>) {
if (handlerArg) {
this.handlers.push(handlerArg);
}
}
public async addAgHandler(handlerArg: plugins.agSdk.AAgHandler<any>) {
this.handlers.push(handlerArg);
await this.stop();
await this.start();
}
public async start() {
this.server = new plugins.smartexpress.Server({
cors: true,
defaultAnswer: async () => 'apiglobal testserver',
domain: 'localhost',
forceSsl: false,
});
for (const handlerArg of this.handlers) {
this.server.addRoute(
`/${handlerArg.slug}`,
new plugins.smartexpress.HandlerTypedRouter(handlerArg.typedrouter)
);
}
}
public async stop() {
if (this.server) {
const previousServer = this.server;
this.server = null;
await this.server.startedPromise;
await this.server.stop();
}
}
}

View File

@ -1,2 +1,9 @@
const removeme = {};
export { removeme };
// apiglobal scope
import * as agSdk from '@apiglobal/sdk';
export { agSdk };
// pushrocks scope
import * as smartexpress from '@pushrocks/smartexpress';
export { smartexpress };