getTemplateEnvironment method
Environment
getTemplateEnvironment()
Implementation
Environment getTemplateEnvironment() {
return Environment(
globals: getGlobalEvents(),
autoReload: false,
loader: FileSystemLoader(paths: <String>[FinchApp.config.widgetsPath]),
leftStripBlocks: false,
trimBlocks: false,
blockStart: FinchApp.config.blockStart,
blockEnd: FinchApp.config.blockEnd,
variableStart: FinchApp.config.variableStart,
variableEnd: FinchApp.config.variableEnd,
commentStart: FinchApp.config.commentStart,
commentEnd: FinchApp.config.commentEnd,
filters: {
..._layoutFilters,
'safe': (dynamic input) => safe(input.toString()),
'unscape': (dynamic input) => input.toString().unescape(),
'html': (dynamic input) => input.toString().unescape(),
},
getAttribute: (String key, dynamic object) {
try {
if (object is TString) {
return object.write();
}
if (object is String && key == 'tr') {
return object.tr.write();
}
if (object is Cookie) {
return key == 'name' ? object.name : object.value;
}
if (object[key] != null) {
if (object[key] is ObjectId) {
return (object[key] as ObjectId).oid;
}
}
if (object[key] is String) {
return safe(object[key]);
}
return object[key];
} on NoSuchMethodError {
Console.e({
'error': {
'object': object,
'key': key,
'error': 'The key "$key" on "$object" not found',
}
});
return null;
} catch (e) {
Console.w({
'error': {
'object': object,
'key': key,
'error': e,
}
});
return null;
}
});
}