diff --git a/index.ts b/index.ts index 38d5aff..b7e7871 100644 --- a/index.ts +++ b/index.ts @@ -9,6 +9,7 @@ import { Edge } from './src/edge/main.js' +export { EdgeError } from 'edge-error' export { Template } from './src/template.js' export { edgeGlobals } from './src/edge/globals.js' export { Edge } diff --git a/src/template.ts b/src/template.ts index 09f4815..4ed2808 100644 --- a/src/template.ts +++ b/src/template.ts @@ -188,16 +188,24 @@ export class Template extends Macroable { } /** - * Raise an error + * Creates an instance of the EdgeError */ - newError(errorMessage: string, filename: string, lineNumber: number, column: number) { - throw new EdgeError(errorMessage, 'E_RUNTIME_EXCEPTION', { + createError(errorMessage: string, filename: string, lineNumber: number, column: number) { + return new EdgeError(errorMessage, 'E_RUNTIME_EXCEPTION', { filename: filename, line: lineNumber, col: column, }) } + /** + * Throws EdgeError. Use "createError" to create a new + * error instance + */ + newError(errorMessage: string, filename: string, lineNumber: number, column: number) { + throw this.createError(errorMessage, filename, lineNumber, column) + } + /** * Rethrows the runtime exception by re-constructing the error message * to point back to the original filename