Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /usr/local/lib/node_modules/homebridge-config-ui-x/node_modules/rxjs/dist/esm/internal/operators/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import { Subscription } from '../Subscription';
import { operate } from '../util/lift';
import { OperatorSubscriber } from './OperatorSubscriber';
import { arrRemove } from '../util/arrRemove';
import { asyncScheduler } from '../scheduler/async';
import { popScheduler } from '../util/args';
export function bufferTime(bufferTimeSpan, ...otherArgs) {
var _a, _b;
const scheduler = (_a = popScheduler(otherArgs)) !== null && _a !== void 0 ? _a : asyncScheduler;
const bufferCreationInterval = (_b = otherArgs[0]) !== null && _b !== void 0 ? _b : null;
const maxBufferSize = otherArgs[1] || Infinity;
return operate((source, subscriber) => {
let bufferRecords = [];
let restartOnEmit = false;
const emit = (record) => {
const { buffer, subs } = record;
subs.unsubscribe();
arrRemove(bufferRecords, record);
subscriber.next(buffer);
restartOnEmit && startBuffer();
};
const startBuffer = () => {
if (bufferRecords) {
const subs = new Subscription();
subscriber.add(subs);
const buffer = [];
const record = {
buffer,
subs,
};
bufferRecords.push(record);
subs.add(scheduler.schedule(() => emit(record), bufferTimeSpan));
}
};
bufferCreationInterval !== null && bufferCreationInterval >= 0
?
subscriber.add(scheduler.schedule(function () {
startBuffer();
!this.closed && subscriber.add(this.schedule(null, bufferCreationInterval));
}, bufferCreationInterval))
: (restartOnEmit = true);
startBuffer();
const bufferTimeSubscriber = new OperatorSubscriber(subscriber, (value) => {
const recordsCopy = bufferRecords.slice();
for (const record of recordsCopy) {
const { buffer } = record;
buffer.push(value);
maxBufferSize <= buffer.length && emit(record);
}
}, () => {
while (bufferRecords === null || bufferRecords === void 0 ? void 0 : bufferRecords.length) {
subscriber.next(bufferRecords.shift().buffer);
}
bufferTimeSubscriber === null || bufferTimeSubscriber === void 0 ? void 0 : bufferTimeSubscriber.unsubscribe();
subscriber.complete();
subscriber.unsubscribe();
}, undefined, () => (bufferRecords = null));
source.subscribe(bufferTimeSubscriber);
});
}
//# sourceMappingURL=bufferTime.js.map |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0073 ]-- |