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"]); }); } }