lambda-live-debugger
Version:
Debug Lambda functions locally like it is running in the cloud
89 lines (88 loc) • 2.84 kB
TypeScript
/**
* Mock types for the Serverless Framework.
* Copied from node_modules/@types/serverless/index.d.ts when the 'serverless' package is not installed.
* External references (AwsProvider, Service class, etc.) are inlined or simplified.
*/
/** Stand-in for AwsProvider.Event so we don't depend on awsProvider.d.ts */
type Event = unknown;
/**
* Service instance shape (copied from @types/serverless/classes/Service.d.ts).
* Only the properties used by slsFramework are typed in full.
*/
export interface ServerlessService {
custom: {
[key: string]: any;
};
plugins: string[];
functions: {
[key: string]: Serverless.FunctionDefinitionHandler | Serverless.FunctionDefinitionImage;
};
}
export declare namespace Serverless {
/**
* CLI options provided to the command
* @example
* // serverless --verbose --stage prod
* { verbose: true, stage: 'prod' }
*/
interface Options {
function?: string | undefined;
watch?: boolean | undefined;
verbose?: boolean | undefined;
extraServicePath?: string | undefined;
stage?: string | undefined;
region?: string | undefined;
noDeploy?: boolean | undefined;
[key: string]: string | boolean | string[] | undefined;
}
interface Config {
servicePath: string;
serviceDir: string;
}
interface FunctionDefinition {
name?: string | undefined;
package?: Package | undefined;
reservedConcurrency?: number | undefined;
runtime?: string | undefined;
timeout?: number | undefined;
memorySize?: number | undefined;
environment?: {
[name: string]: string;
} | undefined;
events: Event[];
tags?: {
[key: string]: string;
} | undefined;
}
interface LogOptions {
color?: string | undefined;
bold?: boolean | undefined;
underline?: boolean | undefined;
entity?: string | undefined;
}
interface FunctionDefinitionHandler extends FunctionDefinition {
handler: string;
}
interface FunctionDefinitionImage extends FunctionDefinition {
image: string;
}
interface Package {
/** @deprecated use `patterns` instead */
include?: string[] | undefined;
/** @deprecated use `patterns` instead */
exclude?: string[] | undefined;
patterns?: string[] | undefined;
artifact?: string | undefined;
individually?: boolean | undefined;
}
type EventType = Event | object;
}
/**
* Serverless instance. Full class in @types/serverless has more members; this mock keeps service, init(), run().
*/
export interface Serverless {
service: ServerlessService;
init(): Promise<any>;
run(): Promise<any>;
}
export {};