@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 1.18 kB
JavaScript
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0
import r from"./../utils/define-nonenumerable-read-only-property.js";import e from"./../assert/is-function.js";import t from"./../assert/is-iterator-like.js";import n from"./../assert/has-own-property.js";import o from"./../symbol/iterator.js";var u=r,a=e,i=t,f=n,l=o;function s(r,e,t,n){var o,u;for(o=r.length,u=0;u<o;u++)if(!t.call(n,r[u],e))return!1;return!0}function m(r,e,t){var n,o,p;if(!i(r))throw new TypeError("invalid argument. First argument must be an iterator protocol-compliant object. Value: `"+r+"`.");if(!a(e))throw new TypeError("invalid argument. Second argument must be a function. Value: `"+e+"`.");return o=[],u(n={},"next",(function(){var n,u;if(p)return{done:!0};for(;;){if((u=r.next()).done)return p=!0,n={},f(u,"value")&&s(o,u.value,e,t)&&(n.value=u.value),n.done=!0,n;if(u=u.value,s(o,u,e,t)){o.push(u);break}}return{value:u,done:!1}})),u(n,"return",(function(r){if(p=!0,arguments.length)return{value:r,done:!0};return{done:!0}})),l&&a(r[l])&&u(n,l,(function(){return m(r[l](),e,t)})),n}var p=m;export default p;
//# sourceMappingURL=unique-by.js.map