You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					60 lines
				
				2.1 KiB
			
		
		
			
		
	
	
					60 lines
				
				2.1 KiB
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | Object.defineProperty(exports, '__esModule', { value: true }); | ||
|  | 
 | ||
|  | var isBrowser = typeof document !== 'undefined'; | ||
|  | function getRegisteredStyles(registered, registeredStyles, classNames) { | ||
|  |   var rawClassName = ''; | ||
|  |   classNames.split(' ').forEach(function (className) { | ||
|  |     if (registered[className] !== undefined) { | ||
|  |       registeredStyles.push(registered[className] + ";"); | ||
|  |     } else { | ||
|  |       rawClassName += className + " "; | ||
|  |     } | ||
|  |   }); | ||
|  |   return rawClassName; | ||
|  | } | ||
|  | var registerStyles = function registerStyles(cache, serialized, isStringTag) { | ||
|  |   var className = cache.key + "-" + serialized.name; | ||
|  | 
 | ||
|  |   if ( // we only need to add the styles to the registered cache if the
 | ||
|  |   // class name could be used further down
 | ||
|  |   // the tree but if it's a string tag, we know it won't
 | ||
|  |   // so we don't have to add it to registered cache.
 | ||
|  |   // this improves memory usage since we can avoid storing the whole style string
 | ||
|  |   (isStringTag === false || // we need to always store it if we're in compat mode and
 | ||
|  |   // in node since emotion-server relies on whether a style is in
 | ||
|  |   // the registered cache to know whether a style is global or not
 | ||
|  |   // also, note that this check will be dead code eliminated in the browser
 | ||
|  |   isBrowser === false && cache.compat !== undefined) && cache.registered[className] === undefined) { | ||
|  |     cache.registered[className] = serialized.styles; | ||
|  |   } | ||
|  | }; | ||
|  | var insertStyles = function insertStyles(cache, serialized, isStringTag) { | ||
|  |   registerStyles(cache, serialized, isStringTag); | ||
|  |   var className = cache.key + "-" + serialized.name; | ||
|  | 
 | ||
|  |   if (cache.inserted[serialized.name] === undefined) { | ||
|  |     var stylesForSSR = ''; | ||
|  |     var current = serialized; | ||
|  | 
 | ||
|  |     do { | ||
|  |       var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true); | ||
|  | 
 | ||
|  |       if (!isBrowser && maybeStyles !== undefined) { | ||
|  |         stylesForSSR += maybeStyles; | ||
|  |       } | ||
|  | 
 | ||
|  |       current = current.next; | ||
|  |     } while (current !== undefined); | ||
|  | 
 | ||
|  |     if (!isBrowser && stylesForSSR.length !== 0) { | ||
|  |       return stylesForSSR; | ||
|  |     } | ||
|  |   } | ||
|  | }; | ||
|  | 
 | ||
|  | exports.getRegisteredStyles = getRegisteredStyles; | ||
|  | exports.insertStyles = insertStyles; | ||
|  | exports.registerStyles = registerStyles; |