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.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.9 KiB
						
					
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.9 KiB
						
					
					
				| 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
 | |
|    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 ( maybeStyles !== undefined) {
 | |
|         stylesForSSR += maybeStyles;
 | |
|       }
 | |
| 
 | |
|       current = current.next;
 | |
|     } while (current !== undefined);
 | |
| 
 | |
|     if ( stylesForSSR.length !== 0) {
 | |
|       return stylesForSSR;
 | |
|     }
 | |
|   }
 | |
| };
 | |
| 
 | |
| export { getRegisteredStyles, insertStyles, registerStyles };
 |