lemon-engine
Version:
Lemon Engine Module to Synchronize Node over DynamoDB + ElastiCache + Elasticsearch by [lemoncloud](https://lemoncloud.io)
52 lines (51 loc) • 2.11 kB
TypeScript
/** ********************************************************************************************************************
* boot loading for global instance manager
** *******************************************************************************************************************/
/**
* main creation function of lemon instance pool (LIP)
*
*
* options : {
* name : string - name of module.
* env : object - environment settings.
* }
*
* @param scope main scope like global, browser, ...
* @param options configuration.
*/
import { EngineOption, LemonEngine } from './common/types';
export * from './common/types';
import { LemonEngineModel } from './core/lemon-engine-model';
import { HttpProxy } from './plugins/http-proxy';
import { WebProxy } from './plugins/web-proxy';
import { MysqlProxy } from './plugins/mysql-proxy';
import { DynamoProxy } from './plugins/dynamo-proxy';
import { RedisProxy } from './plugins/redis-proxy';
import { Elastic6Proxy } from './plugins/elastic6-proxy';
import { S3Proxy } from './plugins/s3-proxy';
import { SQSProxy } from './plugins/sqs-proxy';
import { SNSProxy } from './plugins/sns-proxy';
import { SESProxy } from './plugins/ses-proxy';
import { CognitoProxy } from './plugins/cognito-proxy';
import { LambdaProxy } from './plugins/lambda-proxy';
import { ProtocolProxy } from './plugins/protocol-proxy';
import { CronProxy } from './plugins/cron-proxy';
import { AGWProxy } from './plugins/agw-proxy';
export { LemonEngineModel, MysqlProxy, DynamoProxy, RedisProxy, Elastic6Proxy };
export { HttpProxy, WebProxy, S3Proxy, SQSProxy, SNSProxy, SESProxy };
export { CognitoProxy, LambdaProxy, ProtocolProxy, CronProxy, AGWProxy };
/**
* initialize as EngineInterface
*
* ```ts
* import engine from 'lemon-engine';
* const $engine = engine(global, { env: process.env });
* ```
*
* @param scope main scope like global, browser, ...
* @param options configuration.
*/
export default function initiate(scope?: {
_$?: LemonEngine;
[key: string]: any;
}, options?: EngineOption): LemonEngine;