Merge parser and expressions into repository

This commit is contained in:
Christopher Schleiden
2023-01-06 15:54:31 -08:00
parent 4f961a6247
commit 70e33f999d
328 changed files with 35337 additions and 0 deletions
@@ -0,0 +1,27 @@
import { TemplateContext } from "../../templates/template-context"
import {
TemplateToken,
TemplateTokenError,
} from "../../templates/tokens/template-token"
export function handleTemplateTokenErrors<TResult>(
root: TemplateToken,
context: TemplateContext,
defaultValue: TResult,
f: () => TResult
): TResult {
let r: TResult = defaultValue
try {
r = f()
} catch (err) {
if (err instanceof TemplateTokenError) {
context.error(err.token, err)
} else {
// Report error for the root node
context.error(root, err)
}
}
return r
}