Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 | 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 59x 36x 58x 5x 5x 5x 5x 5x 63x 63x 63x 62x 60x 60x 59x 59x 58x 58x 58x 58x 58x 58x 58x 58x 58x 58x 57x 8x | const { mapObject, mapObjectValues, filterObjectKeys } = require('./utils/helpers'); const { minifyProperty } = require('./utils/styles'); const getStyleObjectValue = require('./get-style-object-value'); const generateClasses = require('./generate-classes'); const listStaticKeys = require('./list-static-keys'); const listReferences = require('./list-references'); const listDynamicKeys = require('./list-dynamic-keys'); const listFunctionCalls = require('./list-function-calls'); const normalizeArguments = require('./normalize-arguments'); const listFunctionCallKeys = require('./list-function-call-keys'); const generateStyles = require('./generate-styles'); const { replaceCreateCall, replaceFunctionCalls } = require('./mutate-ast'); const { validateReferences } = require('./validate'); function normalizeFunctionCalls(callExpressions) { const entries = callExpressions.map(id => { return [id.parentPath, normalizeArguments(id.parentPath)]; }); return new Map(entries); } function minifyProperties(classes) { return mapObject(classes, ([key, value]) => { const minifiedName = minifyProperty(key); const isObject = typeof value === 'object'; const minifiedValue = isObject ? minifyProperties(value) : value; return [minifiedName, minifiedValue]; }); } function transpileCreate(identifier, options) { const callExpr = identifier.parentPath.parentPath; const objExpr = callExpr.get('arguments.0'); const styleDefinitions = getStyleObjectValue(objExpr); const styleClasses = generateClasses(styleDefinitions); const references = listReferences(callExpr.parentPath); validateReferences(references); const funcCalls = listFunctionCalls(references); const normalizedFuncCalls = normalizeFunctionCalls(funcCalls); const styleNames = Object.keys(styleDefinitions); const staticKeys = listStaticKeys(callExpr, styleNames); const dynamicKeys = listDynamicKeys(references, styleNames); const funcCallKeys = listFunctionCallKeys([...normalizedFuncCalls.values()]); const allKeys = [...staticKeys, ...dynamicKeys, ...funcCallKeys]; const filteredDefinitions = filterObjectKeys(styleDefinitions, allKeys); const filteredStyleValues = filterObjectKeys(styleClasses, allKeys); const minifiedStyleValues = options.minifyProperties ? mapObjectValues(filteredStyleValues, minifyProperties) : filteredStyleValues; replaceCreateCall(callExpr, minifiedStyleValues); replaceFunctionCalls(normalizedFuncCalls, styleClasses); return generateStyles(filteredDefinitions); } module.exports = { transpileCreate }; |