@vulcan-sql/core
Version:
Core package of VulcanSQL
40 lines (39 loc) • 1.43 kB
TypeScript
/// <reference types="node" />
import * as nunjucks from 'nunjucks';
import { ExecuteContext, UserInfo } from './compiler';
import { IncomingHttpHeaders, KoaRequest } from '../../models/index';
export declare const ReservedContextKeys: {
CurrentProfileName: string;
};
/** A helper class to manage metadata while executing templates, e.g. parameters, profile ...etc. */
export declare class NunjucksExecutionMetadata {
private profileName;
private parameters;
private userInfo?;
private req?;
private headers?;
constructor({ parameters, profileName, user, req, headers, }: ExecuteContext);
/** Load from nunjucks context */
static load(context: nunjucks.Context): NunjucksExecutionMetadata;
/** Dump to a pure object */
dump(): {
[x: string]: string | {
params: Record<string, any>;
user: UserInfo | undefined;
req: KoaRequest | undefined;
profile: string;
headers: IncomingHttpHeaders | undefined;
};
context: {
params: Record<string, any>;
user: UserInfo | undefined;
req: KoaRequest | undefined;
profile: string;
headers: IncomingHttpHeaders | undefined;
};
};
getProfileName(): string;
getUserInfo(): UserInfo | undefined;
getRequest(): KoaRequest | undefined;
getHeaders(): IncomingHttpHeaders | undefined;
}