From 7a52ddeba2a68388b544f529d2d92104420f77b0 Mon Sep 17 00:00:00 2001 From: Shipwreckt Date: Fri, 31 Oct 2025 20:02:14 +0000 Subject: Changed from static to 11ty! --- node_modules/is-json/index.js | 48 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 node_modules/is-json/index.js (limited to 'node_modules/is-json/index.js') diff --git a/node_modules/is-json/index.js b/node_modules/is-json/index.js new file mode 100644 index 0000000..2a09a3a --- /dev/null +++ b/node_modules/is-json/index.js @@ -0,0 +1,48 @@ +'use strict' + +module.exports = isJSON; +isJSON.strict = strict; + +function isJSON (str, pass_object) { + if (pass_object && isObject(str)) return true; + + if (!isString(str)) return false; + + str = str.replace(/\s/g, '').replace(/\n|\r/, ''); + + if (/^\{(.*?)\}$/.test(str)) + return /"(.*?)":(.*?)/g.test(str); + + if (/^\[(.*?)\]$/.test(str)) { + return str.replace(/^\[/, '') + .replace(/\]$/, '') + .replace(/},{/g, '}\n{') + .split(/\n/) + .map(function (s) { return isJSON(s); }) + .reduce(function (prev, curr) { return !!curr; }); + } + + return false; +} + + +function strict (str) { + if (isObject(str)) { + return true; + } + + try { + return JSON.parse(str) && true; + } catch (ex) { + return false; + } +} + +function isString (x) { + return Object.prototype.toString.call(x) === '[object String]'; +} + +function isObject (obj) { + return Object.prototype.toString.call(obj) === '[object Object]'; +} + -- cgit v1.2.3