Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
canvas
/
node_modules
/
@emotion
/
babel-plugin
/
src
/
utils
/
Filename :
object-to-string.js
back
Copy
// @flow import { serializeStyles } from '@emotion/serialize' // to anyone looking at this, this isn't intended to simplify every single case // it's meant to simplify the most common cases so i don't want to make it especially complex // also, this will be unnecessary when prepack is ready export function simplifyObject(node: *, t: Object) { let finalString = '' for (let i = 0; i < node.properties.length; i++) { let property = node.properties[i] if ( !t.isObjectProperty(property) || property.computed || (!t.isIdentifier(property.key) && !t.isStringLiteral(property.key)) || (!t.isStringLiteral(property.value) && !t.isNumericLiteral(property.value) && !t.isObjectExpression(property.value)) ) { return node } let key = property.key.name || property.key.value if (key === 'styles') { return node } if (t.isObjectExpression(property.value)) { let simplifiedChild = simplifyObject(property.value, t) if (!t.isStringLiteral(simplifiedChild)) { return node } finalString += `${key}{${simplifiedChild.value}}` continue } let value = property.value.value finalString += serializeStyles([{ [key]: value }]).styles } return t.stringLiteral(finalString) }