unique.js 763 B

1234567891011121314151617181920212223242526272829303132
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = unique;
  6. var _arrayContainsObject = _interopRequireDefault(require("./arrayContainsObject"));
  7. var _ParseObject = _interopRequireDefault(require("./ParseObject"));
  8. function _interopRequireDefault(obj) {
  9. return obj && obj.__esModule ? obj : {
  10. default: obj
  11. };
  12. }
  13. /**
  14. * @flow
  15. */
  16. function unique /*:: <T>*/(arr /*: Array<T>*/) /*: Array<T>*/{
  17. const uniques = [];
  18. arr.forEach(value => {
  19. if (value instanceof _ParseObject.default) {
  20. if (!(0, _arrayContainsObject.default)(uniques, value)) {
  21. uniques.push(value);
  22. }
  23. } else {
  24. if (uniques.indexOf(value) < 0) {
  25. uniques.push(value);
  26. }
  27. }
  28. });
  29. return uniques;
  30. }