UNPKG

@stdlib/esm

Version:

ES module distribution for Stdlib, a standard library for JavaScript and Node.js.

3 lines 1.62 kB
// This file is a part of stdlib. License is Apache-2.0: http://www.apache.org/licenses/LICENSE-2.0 import e from"./../../utils/define-nonenumerable-read-only-property.js";import r from"./../../symbol/iterator.js";import t from"./../../constants/math/float64-pinf.js";import i from"./../../assert/is-plain-object.js";import o from"./../../assert/has-own-property.js";import n from"./../../assert/is-integer.js";import s from"./../../assert/is-positive-integer.js";import p from"./../../assert/is-nonnegative-integer.js";var f=i,a=o,m=n.isPrimitive,u=s.isPrimitive,d=p.isPrimitive;function l(e,r){return f(r)?a(r,"period")&&(e.period=r.period,!u(r.period))?new TypeError("invalid option. `period` option must be an positive integer. Option: `"+r.period+"`."):a(r,"offset")&&(e.offset=r.offset,!m(r.offset))?new TypeError("invalid option. `offset` option must be an integer. Option: `"+r.offset+"`."):a(r,"iter")&&(e.iter=r.iter,!d(r.iter))?new TypeError("invalid option. `iter` option must be a nonnegative integer. Option: `"+r.iter+"`."):null:new TypeError("invalid argument. Options argument must be an object. Value: `"+r+"`.")}var v=e,g=r,j=t,b=l;function c(e){var r,t,i,o,n,s;if(r={period:10,offset:0,iter:1e308},arguments.length&&(o=b(r,e)))throw o;return(n=(r.period-r.offset)%r.period)<0&&(n+=r.period),n-=1,s=0,v(t={},"next",p),v(t,"return",f),g&&v(t,g,a),t;function p(){return s+=1,i||s>r.iter?{done:!0}:(n+=1,{value:0===(n%=r.period)?j:0,done:!1})}function f(e){return i=!0,arguments.length?{value:e,done:!0}:{done:!0}}function a(){return c(r)}}var y=c;export default y; //# sourceMappingURL=dirac-comb.js.map