locutus
Version:
Locutus other languages' standard libraries to JavaScript for fun and educational purposes
32 lines (31 loc) • 974 B
JavaScript
import { gettype } from "../var/gettype.js";
export function strval(str) {
// discuss at: https://locutus.io/php/strval/
// original by: Brett Zamir (https://brett-zamir.me)
// improved by: Kevin van Zonneveld (https://kvz.io)
// bugfixed by: Brett Zamir (https://brett-zamir.me)
// example 1: strval({red: 1, green: 2, blue: 3, white: 4})
// returns 1: 'Object'
let type = '';
if (typeof str === 'undefined') {
throw new Error('strval() expects exactly 1 argument, 0 given');
}
if (str === null) {
return '';
}
type = gettype(str);
// Comment out the entire switch if you want JS-like
// behavior instead of PHP behavior
switch (type) {
case 'boolean':
if (str === true) {
return '1';
}
return '';
case 'array':
return 'Array';
case 'object':
return 'Object';
}
return String(str);
}