summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/_helpers/_phpCastString.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/_helpers/_phpCastString.js')
-rw-r--r--node_modules/locutus/php/_helpers/_phpCastString.js69
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/locutus/php/_helpers/_phpCastString.js b/node_modules/locutus/php/_helpers/_phpCastString.js
new file mode 100644
index 0000000..8228372
--- /dev/null
+++ b/node_modules/locutus/php/_helpers/_phpCastString.js
@@ -0,0 +1,69 @@
+'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 _phpCastString(value) {
+ // original by: RafaƂ Kukawski
+ // example 1: _phpCastString(true)
+ // returns 1: '1'
+ // example 2: _phpCastString(false)
+ // returns 2: ''
+ // example 3: _phpCastString('foo')
+ // returns 3: 'foo'
+ // example 4: _phpCastString(0/0)
+ // returns 4: 'NAN'
+ // example 5: _phpCastString(1/0)
+ // returns 5: 'INF'
+ // example 6: _phpCastString(-1/0)
+ // returns 6: '-INF'
+ // example 7: _phpCastString(null)
+ // returns 7: ''
+ // example 8: _phpCastString(undefined)
+ // returns 8: ''
+ // example 9: _phpCastString([])
+ // returns 9: 'Array'
+ // example 10: _phpCastString({})
+ // returns 10: 'Object'
+ // example 11: _phpCastString(0)
+ // returns 11: '0'
+ // example 12: _phpCastString(1)
+ // returns 12: '1'
+ // example 13: _phpCastString(3.14)
+ // returns 13: '3.14'
+
+ var type = typeof value === 'undefined' ? 'undefined' : _typeof(value);
+
+ switch (type) {
+ case 'boolean':
+ return value ? '1' : '';
+ case 'string':
+ return value;
+ case 'number':
+ if (isNaN(value)) {
+ return 'NAN';
+ }
+
+ if (!isFinite(value)) {
+ return (value < 0 ? '-' : '') + 'INF';
+ }
+
+ return value + '';
+ case 'undefined':
+ return '';
+ case 'object':
+ if (Array.isArray(value)) {
+ return 'Array';
+ }
+
+ if (value !== null) {
+ return 'Object';
+ }
+
+ return '';
+ case 'function':
+ // fall through
+ default:
+ throw new Error('Unsupported value type');
+ }
+};
+//# sourceMappingURL=_phpCastString.js.map \ No newline at end of file