summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/var/print_r.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/var/print_r.js')
-rw-r--r--node_modules/locutus/php/var/print_r.js75
1 files changed, 75 insertions, 0 deletions
diff --git a/node_modules/locutus/php/var/print_r.js b/node_modules/locutus/php/var/print_r.js
new file mode 100644
index 0000000..534ebe3
--- /dev/null
+++ b/node_modules/locutus/php/var/print_r.js
@@ -0,0 +1,75 @@
+'use strict';
+
+var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
+
+module.exports = function print_r(array, returnVal) {
+ // eslint-disable-line camelcase
+ // discuss at: http://locutus.io/php/print_r/
+ // original by: Michael White (http://getsprink.com)
+ // improved by: Ben Bryan
+ // improved by: Brett Zamir (http://brett-zamir.me)
+ // improved by: Kevin van Zonneveld (http://kvz.io)
+ // input by: Brett Zamir (http://brett-zamir.me)
+ // example 1: print_r(1, true)
+ // returns 1: '1'
+
+ var echo = require('../strings/echo');
+
+ var output = '';
+ var padChar = ' ';
+ var padVal = 4;
+
+ var _repeatChar = function _repeatChar(len, padChar) {
+ var str = '';
+ for (var i = 0; i < len; i++) {
+ str += padChar;
+ }
+ return str;
+ };
+ var _formatArray = function _formatArray(obj, curDepth, padVal, padChar) {
+ if (curDepth > 0) {
+ curDepth++;
+ }
+
+ var basePad = _repeatChar(padVal * curDepth, padChar);
+ var thickPad = _repeatChar(padVal * (curDepth + 1), padChar);
+ var str = '';
+
+ if ((typeof obj === 'undefined' ? 'undefined' : _typeof(obj)) === 'object' && obj !== null && obj.constructor) {
+ str += 'Array\n' + basePad + '(\n';
+ for (var key in obj) {
+ if (Object.prototype.toString.call(obj[key]) === '[object Array]') {
+ str += thickPad;
+ str += '[';
+ str += key;
+ str += '] => ';
+ str += _formatArray(obj[key], curDepth + 1, padVal, padChar);
+ } else {
+ str += thickPad;
+ str += '[';
+ str += key;
+ str += '] => ';
+ str += obj[key];
+ str += '\n';
+ }
+ }
+ str += basePad + ')\n';
+ } else if (obj === null || obj === undefined) {
+ str = '';
+ } else {
+ // for our "resource" class
+ str = obj.toString();
+ }
+
+ return str;
+ };
+
+ output = _formatArray(array, 0, padVal, padChar);
+
+ if (returnVal !== true) {
+ echo(output);
+ return true;
+ }
+ return output;
+};
+//# sourceMappingURL=print_r.js.map \ No newline at end of file