|
- 'use strict';
-
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
-
- var _warning = require('warning');
-
- var _warning2 = _interopRequireDefault(_warning);
-
- var _StyleSheet = require('../StyleSheet');
-
- var _StyleSheet2 = _interopRequireDefault(_StyleSheet);
-
- var _moduleId = require('./moduleId');
-
- var _moduleId2 = _interopRequireDefault(_moduleId);
-
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
-
- var maxRules = 1e10;
-
-
- var env = process.env.NODE_ENV;
-
- /**
- * Returns a function which generates unique class names based on counters.
- * When new generator function is created, rule counter is reseted.
- * We need to reset the rule counter for SSR for each request.
- */
-
- exports['default'] = function () {
- var ruleCounter = 0;
- var defaultPrefix = env === 'production' ? 'c' : '';
-
- return function (rule, sheet) {
- ruleCounter += 1;
-
- if (ruleCounter > maxRules) {
- (0, _warning2['default'])(false, '[JSS] You might have a memory leak. Rule counter is at %s.', ruleCounter);
- }
-
- var prefix = defaultPrefix;
- var jssId = '';
-
- if (sheet) {
- prefix = sheet.options.classNamePrefix || defaultPrefix;
- if (sheet.options.jss.id != null) jssId += sheet.options.jss.id;
- }
-
- if (env === 'production') {
- return '' + prefix + _moduleId2['default'] + jssId + ruleCounter;
- }
-
- return prefix + rule.key + '-' + _moduleId2['default'] + (jssId && '-' + jssId) + '-' + ruleCounter;
- };
- };
|