Skip to content

Instantly share code, notes, and snippets.

@OzieWest
Created July 20, 2017 10:16
Show Gist options
  • Select an option

  • Save OzieWest/904a3f577b4842c40b49b4be7e63adb9 to your computer and use it in GitHub Desktop.

Select an option

Save OzieWest/904a3f577b4842c40b49b4be7e63adb9 to your computer and use it in GitHub Desktop.
jsfy
function jsfy(objFromJson: any) {
if (typeof objFromJson === 'undefined') {
return undefined;
}
if (objFromJson === null) {
return null;
}
if (typeof objFromJson === 'string') {
return `'${objFromJson}'`;
}
if (typeof objFromJson === 'number' || typeof objFromJson === 'boolean') {
return objFromJson;
}
if (Array.isArray(objFromJson)) {
return `[${objFromJson.map(jsfy).join(', ')}]`;
}
if (objFromJson instanceof Date) {
return `'${objFromJson.toISOString()}'`;
}
if (typeof objFromJson === 'object') {
const keys = Object.keys(objFromJson);
let props = '';
for (let i = 0; i < keys.length; i += 1) {
props = props + (keys[i] + ': ' + jsfy(objFromJson[keys[i]]));
}
return '{ ' + props + ' }';
}
return objFromJson.toString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment