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');
   }