@stdlib/esm
Version:
ES module distribution for Stdlib, a standard library for JavaScript and Node.js.
3 lines • 2.04 kB
JavaScript
// 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 i from"./../../symbol/iterator.js";import r from"./../../assert/is-plain-object.js";import t from"./../../assert/has-own-property.js";import o from"./../../assert/is-number.js";import n from"./../../assert/is-integer.js";import s from"./../../assert/is-positive-integer.js";import m from"./../../assert/is-nonnegative-integer.js";import p from"./../../math/base/assert/is-even.js";import a from"./../../math/base/assert/is-nan.js";var f=r,u=t,d=o.isPrimitive,v=n.isPrimitive,l=s.isPrimitive,b=m.isPrimitive,g=p,j=a;function x(e,i){return f(i)?!u(i,"period")||(e.period=i.period,l(i.period)&&g(i.period))?u(i,"min")&&(e.min=i.min,!d(i.min)||j(i.min))?new TypeError("invalid option. `min` option must be a number. Option: `"+i.min+"`."):u(i,"max")&&(e.max=i.max,!d(i.max)||j(i.max))?new TypeError("invalid option. `max` option must be a number. Option: `"+i.max+"`."):u(i,"offset")&&(e.offset=i.offset,!v(i.offset))?new TypeError("invalid option. `offset` option must be an integer. Option: `"+i.offset+"`."):u(i,"iter")&&(e.iter=i.iter,!b(i.iter))?new TypeError("invalid option. `iter` option must be a nonnegative integer. Option: `"+i.iter+"`."):null:new TypeError("invalid option. `period` option must be an positive even integer. Option: `"+i.period+"`."):new TypeError("invalid argument. Options argument must be an object. Value: `"+i+"`.")}var y=e,w=i,c=x;function h(e){var i,r,t,o,n,s,m;if(i={period:10,min:-1,max:1,offset:0,iter:1e308},arguments.length&&(o=c(i,e)))throw o;return(n=(i.period-i.offset)%i.period)<0&&(n+=i.period),n-=1,s=i.period/2,m=0,y(r={},"next",p),y(r,"return",a),w&&y(r,w,f),r;function p(){return m+=1,t||m>i.iter?{done:!0}:{value:(n+=1)%i.period<s?i.max:i.min,done:!1}}function a(e){return t=!0,arguments.length?{value:e,done:!0}:{done:!0}}function f(){return h(i)}}var E=h;export default E;
//# sourceMappingURL=square-wave.js.map