电速宝智配引擎
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

options-helper.js 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. var isArray = require('./array-helper').isArray;
  2. module.exports = {
  3. copyOptions: function (options) {
  4. var key, copy = {};
  5. for (key in options) {
  6. if (options.hasOwnProperty(key)) {
  7. copy[key] = options[key];
  8. }
  9. }
  10. return copy;
  11. },
  12. ensureFlagExists: function (item, options) {
  13. if (!(item in options) || typeof options[item] !== 'boolean') {
  14. options[item] = false;
  15. }
  16. },
  17. ensureSpacesExists: function (options) {
  18. if (!('spaces' in options) || (typeof options.spaces !== 'number' && typeof options.spaces !== 'string')) {
  19. options.spaces = 0;
  20. }
  21. },
  22. ensureAlwaysArrayExists: function (options) {
  23. if (!('alwaysArray' in options) || (typeof options.alwaysArray !== 'boolean' && !isArray(options.alwaysArray))) {
  24. options.alwaysArray = false;
  25. }
  26. },
  27. ensureKeyExists: function (key, options) {
  28. if (!(key + 'Key' in options) || typeof options[key + 'Key'] !== 'string') {
  29. options[key + 'Key'] = options.compact ? '_' + key : key;
  30. }
  31. },
  32. checkFnExists: function (key, options) {
  33. return key + 'Fn' in options;
  34. }
  35. };