summaryrefslogtreecommitdiff
path: root/school/node_modules/graphql/jsutils/inspect.js
diff options
context:
space:
mode:
authorMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
committerMinteck <contact@minteck.org>2023-01-10 14:54:04 +0100
commit99c1d9af689e5325f3cf535c4007b3aeb8325229 (patch)
treee663b3c2ebdbd67c818ac0c5147f0ce1d2463cda /school/node_modules/graphql/jsutils/inspect.js
parent9871b03912fc28ad38b4037ebf26a78aa937baba (diff)
downloadpluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.gz
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.tar.bz2
pluralconnect-99c1d9af689e5325f3cf535c4007b3aeb8325229.zip
Update - This is an automated commit
Diffstat (limited to 'school/node_modules/graphql/jsutils/inspect.js')
-rw-r--r--school/node_modules/graphql/jsutils/inspect.js133
1 files changed, 133 insertions, 0 deletions
diff --git a/school/node_modules/graphql/jsutils/inspect.js b/school/node_modules/graphql/jsutils/inspect.js
new file mode 100644
index 0000000..8d3a16c
--- /dev/null
+++ b/school/node_modules/graphql/jsutils/inspect.js
@@ -0,0 +1,133 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+ value: true
+});
+exports.default = inspect;
+
+var _nodejsCustomInspectSymbol = _interopRequireDefault(require("./nodejsCustomInspectSymbol.js"));
+
+function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
+
+function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
+
+var MAX_ARRAY_LENGTH = 10;
+var MAX_RECURSIVE_DEPTH = 2;
+/**
+ * Used to print values in error messages.
+ */
+
+function inspect(value) {
+ return formatValue(value, []);
+}
+
+function formatValue(value, seenValues) {
+ switch (_typeof(value)) {
+ case 'string':
+ return JSON.stringify(value);
+
+ case 'function':
+ return value.name ? "[function ".concat(value.name, "]") : '[function]';
+
+ case 'object':
+ if (value === null) {
+ return 'null';
+ }
+
+ return formatObjectValue(value, seenValues);
+
+ default:
+ return String(value);
+ }
+}
+
+function formatObjectValue(value, previouslySeenValues) {
+ if (previouslySeenValues.indexOf(value) !== -1) {
+ return '[Circular]';
+ }
+
+ var seenValues = [].concat(previouslySeenValues, [value]);
+ var customInspectFn = getCustomFn(value);
+
+ if (customInspectFn !== undefined) {
+ var customValue = customInspectFn.call(value); // check for infinite recursion
+
+ if (customValue !== value) {
+ return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);
+ }
+ } else if (Array.isArray(value)) {
+ return formatArray(value, seenValues);
+ }
+
+ return formatObject(value, seenValues);
+}
+
+function formatObject(object, seenValues) {
+ var keys = Object.keys(object);
+
+ if (keys.length === 0) {
+ return '{}';
+ }
+
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
+ return '[' + getObjectTag(object) + ']';
+ }
+
+ var properties = keys.map(function (key) {
+ var value = formatValue(object[key], seenValues);
+ return key + ': ' + value;
+ });
+ return '{ ' + properties.join(', ') + ' }';
+}
+
+function formatArray(array, seenValues) {
+ if (array.length === 0) {
+ return '[]';
+ }
+
+ if (seenValues.length > MAX_RECURSIVE_DEPTH) {
+ return '[Array]';
+ }
+
+ var len = Math.min(MAX_ARRAY_LENGTH, array.length);
+ var remaining = array.length - len;
+ var items = [];
+
+ for (var i = 0; i < len; ++i) {
+ items.push(formatValue(array[i], seenValues));
+ }
+
+ if (remaining === 1) {
+ items.push('... 1 more item');
+ } else if (remaining > 1) {
+ items.push("... ".concat(remaining, " more items"));
+ }
+
+ return '[' + items.join(', ') + ']';
+}
+
+function getCustomFn(object) {
+ var customInspectFn = object[String(_nodejsCustomInspectSymbol.default)];
+
+ if (typeof customInspectFn === 'function') {
+ return customInspectFn;
+ }
+
+ if (typeof object.inspect === 'function') {
+ return object.inspect;
+ }
+}
+
+function getObjectTag(object) {
+ var tag = Object.prototype.toString.call(object).replace(/^\[object /, '').replace(/]$/, '');
+
+ if (tag === 'Object' && typeof object.constructor === 'function') {
+ var name = object.constructor.name;
+
+ if (typeof name === 'string' && name !== '') {
+ return name;
+ }
+ }
+
+ return tag;
+}