lodash.memoize(rawSelector => { const parsedSelector = tryParseSelector(rawSelector); return { rawSelector, isExit: rawSelector.endsWith(":exit"), parsedSelector, listenerTypes: getPossibleTypes(parsedSelector), attributeCount: countClassAttributes(parsedSelector), identifierCount: countIdentifiers(parsedSelector) }; })