From 2d5dff2d590df6ad9cd5f400e76bddfc20906d41 Mon Sep 17 00:00:00 2001 From: s-ol Date: Fri, 12 Jul 2019 17:36:41 +0200 Subject: fail-early for --- mmm/mmmfs/browser.moon | 2 +- mmm/mmmfs/util.moon | 13 +++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mmm/mmmfs/browser.moon b/mmm/mmmfs/browser.moon index ca77b9c..379537e 100644 --- a/mmm/mmmfs/browser.moon +++ b/mmm/mmmfs/browser.moon @@ -179,7 +179,7 @@ class Browser elseif ok div "[no conversion path to #{prop.type}]" elseif res and res.match and res\match '%[nossr%]$' - div "[this page could not be pre-renderer on the server]" + div "[this page could not be pre-rendered on the server]" else if trace res = "#{res}\n#{trace}" diff --git a/mmm/mmmfs/util.moon b/mmm/mmmfs/util.moon index 8c80b6b..68a970a 100644 --- a/mmm/mmmfs/util.moon +++ b/mmm/mmmfs/util.moon @@ -4,7 +4,7 @@ merge = (orig={}, extra) -> attr[k] = v (elements) -> - import a from elements + import a, div, pre from elements find_fileder = (fileder, origin) -> if 'string' == type fileder @@ -39,7 +39,16 @@ merge = (orig={}, extra) -> embed = (fileder, name='', origin, opts={}) -> fileder = find_fileder fileder, origin - node = fileder\gett name, 'mmm/dom' + -- node = fileder\gett name, 'mmm/dom' + ok, node = pcall fileder.gett, fileder, name, 'mmm/dom' + + if not ok + return div "couldn't embed #{fileder} #{name}", + (pre node), + style: { + background: 'var(--gray-fail)', + padding: '1em', + } return node if opts.nolink link_to fileder, node, nil, opts.attr -- cgit v1.2.3