diff options
Diffstat (limited to 'node_modules/locutus/php/_helpers/_phpCastString.js')
-rw-r--r-- | node_modules/locutus/php/_helpers/_phpCastString.js | 69 |
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 |