You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 lines
2.6 KiB
1 lines
2.6 KiB
{"version":3,"file":"timeInterval.js","sourceRoot":"","sources":["../../src/operators/timeInterval.ts"],"names":[],"mappings":";;;;;;AAEA,2BAA2B,eAAe,CAAC,CAAA;AAE3C,sBAAsB,oBAAoB,CAAC,CAAA;AAG3C,sBAAgC,SAA6B;IAA7B,yBAA6B,GAA7B,yBAA6B;IAC3D,MAAM,CAAC,UAAC,MAAqB,IAAK,OAAA,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,SAAS,CAAC,CAAC,EAAhD,CAAgD,CAAC;AACrF,CAAC;AAFe,oBAAY,eAE3B,CAAA;AAED;IACE,sBAAmB,KAAQ,EAAS,QAAgB;QAAjC,UAAK,GAAL,KAAK,CAAG;QAAS,aAAQ,GAAR,QAAQ,CAAQ;IAEpD,CAAC;IACH,mBAAC;AAAD,CAAC,AAJD,IAIC;AAJY,oBAAY,eAIxB,CAAA;AAAA,CAAC;AAEF;IACE,8BAAoB,SAAqB;QAArB,cAAS,GAAT,SAAS,CAAY;IAEzC,CAAC;IAED,mCAAI,GAAJ,UAAK,QAAqC,EAAE,MAAW;QACrD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,sBAAsB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IAChF,CAAC;IACH,2BAAC;AAAD,CAAC,AARD,IAQC;AAED;;;;GAIG;AACH;IAAwC,0CAAa;IAGnD,gCAAY,WAAwC,EAAU,SAAqB;QACjF,kBAAM,WAAW,CAAC,CAAC;QADyC,cAAS,GAAT,SAAS,CAAY;QAF3E,aAAQ,GAAW,CAAC,CAAC;QAK3B,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAC,GAAG,EAAE,CAAC;IAClC,CAAC;IAES,sCAAK,GAAf,UAAgB,KAAQ;QACtB,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC;QAEpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACH,6BAAC;AAAD,CAAC,AAhBD,CAAwC,uBAAU,GAgBjD","sourcesContent":["import { Operator } from '../Operator';\nimport { Observable } from '../Observable';\nimport { Subscriber } from '../Subscriber';\nimport { IScheduler } from '../Scheduler';\nimport { async } from '../scheduler/async';\nimport { OperatorFunction } from '../interfaces';\n\nexport function timeInterval<T>(scheduler: IScheduler = async): OperatorFunction<T, TimeInterval<T>> {\n return (source: Observable<T>) => source.lift(new TimeIntervalOperator(scheduler));\n}\n\nexport class TimeInterval<T> {\n constructor(public value: T, public interval: number) {\n\n }\n};\n\nclass TimeIntervalOperator<T> implements Operator<T, TimeInterval<T>> {\n constructor(private scheduler: IScheduler) {\n\n }\n\n call(observer: Subscriber<TimeInterval<T>>, source: any): any {\n return source.subscribe(new TimeIntervalSubscriber(observer, this.scheduler));\n }\n}\n\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nclass TimeIntervalSubscriber<T> extends Subscriber<T> {\n private lastTime: number = 0;\n\n constructor(destination: Subscriber<TimeInterval<T>>, private scheduler: IScheduler) {\n super(destination);\n\n this.lastTime = scheduler.now();\n }\n\n protected _next(value: T) {\n let now = this.scheduler.now();\n let span = now - this.lastTime;\n this.lastTime = now;\n\n this.destination.next(new TimeInterval(value, span));\n }\n}\n"]} |