_statefulSelectors.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. exports.__esModule = true;
  3. exports["default"] = void 0;
  4. var _errors = _interopRequireDefault(require("./_errors"));
  5. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
  6. function generateSelectors(template, state) {
  7. var stateSuffix = state ? ":" + state : '';
  8. return template(stateSuffix);
  9. }
  10. /**
  11. * Function helper that adds an array of states to a template of selectors. Used in textInputs and buttons.
  12. * @private
  13. */
  14. function statefulSelectors(states, template, stateMap) {
  15. if (!template) throw new _errors["default"](67);
  16. if (states.length === 0) return generateSelectors(template, null);
  17. var selectors = [];
  18. for (var i = 0; i < states.length; i += 1) {
  19. if (stateMap && stateMap.indexOf(states[i]) < 0) {
  20. throw new _errors["default"](68);
  21. }
  22. selectors.push(generateSelectors(template, states[i]));
  23. }
  24. selectors = selectors.join(',');
  25. return selectors;
  26. }
  27. var _default = exports["default"] = statefulSelectors;
  28. module.exports = exports.default;