"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = unique; var _arrayContainsObject = _interopRequireDefault(require("./arrayContainsObject")); var _ParseObject = _interopRequireDefault(require("./ParseObject")); /** * Copyright (c) 2015-present, Parse, LLC. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * * @flow */ function unique /*:: */ (arr /*: Array*/ ) /*: Array*/ { var uniques = []; arr.forEach(function (value) { if (value instanceof _ParseObject.default) { if (!(0, _arrayContainsObject.default)(uniques, value)) { uniques.push(value); } } else { if (uniques.indexOf(value) < 0) { uniques.push(value); } } }); return uniques; }