You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2019/07/26 09:27:54 UTC
[sling-whiteboard] 01/02: Better method names
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-whiteboard.git
commit b095fe73610176e8998e7a8e69b871698f5a0109
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Fri Jul 26 11:14:41 2019 +0200
Better method names
---
serverless-microsling/lib/openwhisk-renderer.js | 3 ++-
serverless-microsling/lib/render.js | 18 +++++++++---------
2 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/serverless-microsling/lib/openwhisk-renderer.js b/serverless-microsling/lib/openwhisk-renderer.js
index 21ba43d..f58a32e 100644
--- a/serverless-microsling/lib/openwhisk-renderer.js
+++ b/serverless-microsling/lib/openwhisk-renderer.js
@@ -51,7 +51,7 @@ const render = (resource, action) => {
const renderer = {
contentType: 'text/html',
- appliesTo : async (resourceType, extension) => {
+ getRendererInfo : async (resourceType, extension) => {
return getAction(resourceType, extension)
},
render : (resource, action) => {
@@ -59,6 +59,7 @@ const render = (resource, action) => {
},
}
+// For testing as a standalone OpenWhisk action
function main () {
return new Promise(async resolve => {
const resource = {
diff --git a/serverless-microsling/lib/render.js b/serverless-microsling/lib/render.js
index eee7098..73df80b 100644
--- a/serverless-microsling/lib/render.js
+++ b/serverless-microsling/lib/render.js
@@ -22,7 +22,7 @@
const defaultTextRenderer = {
contentType: 'text/plain',
- appliesTo : (resourceType, extension) => {
+ getRendererInfo : (resourceType, extension) => {
return extension == 'txt';
},
render : (resource) => {
@@ -32,7 +32,7 @@ const defaultTextRenderer = {
const defaultJsonRenderer = {
contentType: 'application/json',
- appliesTo : (resourceType, extension) => {
+ getRendererInfo : (resourceType, extension) => {
return extension == 'json';
},
render : (resource) => {
@@ -42,7 +42,7 @@ const defaultJsonRenderer = {
const defaultHtmlRenderer = {
contentType: 'text/html',
- appliesTo : (resourceType, extension) => {
+ getRendererInfo : (resourceType, extension) => {
return extension == 'html';
},
render : (resource) => {
@@ -69,16 +69,16 @@ const renderers = [
defaultJsonRenderer
];
-async function getRendererInfo(resourceType, extension) {
+async function selectRendererInfo(resourceType, extension) {
return new Promise(async resolve => {
let i;
let resolved;
for(i in renderers) {
- const applyContext = await renderers[i].appliesTo(resourceType, extension);
- if(applyContext) {
+ const rendererInfo = await renderers[i].getRendererInfo(resourceType, extension);
+ if(rendererInfo) {
resolve({
'renderer': renderers[i],
- 'applyContext': applyContext,
+ 'rendererInfo': rendererInfo,
});
resolved = true;
break;
@@ -97,14 +97,14 @@ async function render(context) {
if(context.debug) {
console.log(`rendering for resourceType ${resourceType} extension ${extension}`);
}
- const rendererInfo = await getRendererInfo(resourceType, extension);
+ const rendererInfo = await selectRendererInfo(resourceType, extension);
if(context.debug) {
console.log(rendererInfo);
}
if(!rendererInfo) {
throw Error(`Renderer not found for ${resourceType} extension ${extension}`);
}
- const rendered = await rendererInfo.renderer.render(resource, rendererInfo.applyContext);
+ const rendered = await rendererInfo.renderer.render(resource, rendererInfo.rendererInfo);
if(!rendered.output) {
throw Error('Renderer generated no output');
}