json client lib for this is the @magic-client json library.
it returns errors instead of throwing them and catches (some) malformed objects when stringifying.
npm install --save-exact @magic-libraries/json
in a page/component, just use the LIB.JSON functions
module.exports = () => Pre.View(LIB.JSON.stringify({ some: { object: ['with', 'values'] } }))
renders
LIB.JSON.stringify({ some: { object: ['with', 'values'] } })),
only use this library without checking it's return value if you know that your input json is not malformed. in all other cases the following pattern should be employed (and enhanced with custom error messages).
module.exports = {
ViewStringify: unsafe => {
const result = LIB.JSON.stringify(unsafe)
return div([result.message ? result.message : result])
},
ViewParse: unsafe => {
const result = LIB.JSON.parse(unsafe)
// in this case we can not check for .message,
// since unsafe might have a .message key after parsing
div([result instanceof Error ? result.message : result])
},
}
the source for this page is in the example directory and gets built and published to github using @magic/core
first release
- require node 13.5.0
- use @magic-libraries/try-catch
require @magic-libraries/try-catch from npm
do not import tryCatch in src/index.mjs
- FIX: @magic-libaries/tryCatch usage.
- bump required node version 14.2.0
bump required node version to 14.15.4
update dependencies
update dependencies
update dependencies
update dependencies
...