@azure/functions
Version:
Microsoft Azure Functions NodeJS Framework
107 lines (89 loc) • 3.27 kB
TypeScript
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT License.
import { FunctionHandler } from '../index';
import { InvocationContext } from '../InvocationContext';
import { HookContext, HookContextInit } from './HookContext';
/**
* Handler for pre-invocation hooks.
*/
export type PreInvocationHandler = (context: PreInvocationContext) => void | Promise<void>;
/**
* Context on a function before it executes.
*/
export declare class PreInvocationContext extends InvocationHookContext {
/**
* For testing purposes only. This will always be constructed for you when run in the context of the Azure Functions runtime
*/
constructor(init?: PreInvocationContextInit);
/**
* The arguments passed to this specific invocation.
* Changes to this array _will_ affect the inputs passed to your function
*/
inputs: unknown[];
/**
* The function handler for this specific invocation. Changes to this value _will_ affect the function itself
*/
functionHandler: FunctionHandler;
}
/**
* Handler for post-invocation hooks
*/
export type PostInvocationHandler = (context: PostInvocationContext) => void | Promise<void>;
/**
* Context on a function after it executes.
*/
export declare class PostInvocationContext extends InvocationHookContext {
/**
* For testing purposes only. This will always be constructed for you when run in the context of the Azure Functions runtime
*/
constructor(init?: PostInvocationContextInit);
/**
* The arguments passed to this specific invocation.
*/
inputs: unknown[];
/**
* The result of the function. Changes to this value _will_ affect the overall result of the function
*/
result: unknown;
/**
* The error thrown by the function, or null/undefined if there is no error. Changes to this value _will_ affect the overall result of the function
*/
error: unknown;
}
/**
* Base class for all invocation hook context objects
*/
export declare class InvocationHookContext extends HookContext {
/**
* For testing purposes only. This will always be constructed for you when run in the context of the Azure Functions runtime
*/
constructor(init?: InvocationHookContextInit);
/**
* The context object passed to the function.
* This object is readonly. You may modify it, but attempting to overwrite it will throw an error
*/
readonly invocationContext: InvocationContext;
}
/**
* Object passed to InvocationHookContext constructors.
* For testing purposes only
*/
export interface InvocationHookContextInit extends HookContextInit {
inputs?: unknown[];
invocationContext?: InvocationContext;
}
/**
* Object passed to PreInvocationContext constructors.
* For testing purposes only
*/
export interface PreInvocationContextInit extends InvocationHookContextInit {
functionCallback?: FunctionHandler;
}
/**
* Object passed to PostInvocationContext constructors.
* For testing purposes only
*/
export interface PostInvocationContextInit extends InvocationHookContextInit {
result?: unknown;
error?: unknown;
}