1
0
mirror of https://github.com/Jermolene/TiddlyWiki5 synced 2024-06-30 01:03:16 +00:00
TiddlyWiki5/plugins/tiddlywiki/aws/templates/lambda/handler.tid

45 lines
1.0 KiB
Plaintext
Raw Normal View History

title: $:/plugins/tiddlywiki/aws/lambda/handler
type: text/plain
/*
TiddlyWiki for AWS
*/
exports.handler = function(event,context,callback) {
// Initialise the boot prefix
global.$tw = _bootprefix();
// Initialise the returned results
$tw["lambda-result"] = {
"files-written": []
};
// Some default package info
$tw.packageInfo = lambdaPackageInfo;
// Load any tiddlers from the package
$tw.preloadTiddlerArray(lambdaTiddlers);
// Decompress the event data if required
if(typeof event.compressed === "string") {
require("zlib").gunzip(Buffer.from(event.compressed,"base64"),function(err,buff) {
if(err) {
return callback(err);
}
boot(JSON.parse(buff.toString()));
});
} else {
boot(event);
}
function boot(event) {
// Load any tiddlers from the event
if(event.tiddlers) {
$tw.preloadTiddlerArray(event.tiddlers);
}
// Load the commands from the event
$tw.boot.argv = (event.commands || []).slice(0);
// Boot the TW5 app
_boot($tw);
$tw.boot.boot(function() {
callback(null,$tw["lambda-result"]);
});
}
}