agenda/node_modules/@sindresorhus/merge-streams
Edward Betts ea4980a5d7 Fix European trip return heuristic for weekend location tracking
Adjust European short trip heuristic from >3 days to >1 day to correctly
detect when user has returned home from European trips. This fixes the
April 29-30, 2023 case where the location incorrectly showed "Sankt Georg, Hamburg"
instead of "Bristol" when the user was free (no events scheduled) after
the foss-north trip ended on April 27.

The previous logic required more than 3 days to pass before assuming
return home from European countries, but for short European trips by
rail/ferry, users typically return within 1-2 days.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-16 06:38:37 +02:00
..
index.d.ts Fix European trip return heuristic for weekend location tracking 2025-07-16 06:38:37 +02:00
index.js Fix European trip return heuristic for weekend location tracking 2025-07-16 06:38:37 +02:00
license Fix European trip return heuristic for weekend location tracking 2025-07-16 06:38:37 +02:00
package.json Fix European trip return heuristic for weekend location tracking 2025-07-16 06:38:37 +02:00
readme.md Fix European trip return heuristic for weekend location tracking 2025-07-16 06:38:37 +02:00

merge-streams

Merge multiple streams into a unified stream

Install

npm install @sindresorhus/merge-streams

Usage

import mergeStreams from '@sindresorhus/merge-streams';

const stream = mergeStreams([streamA, streamB]);

for await (const chunk of stream) {
	console.log(chunk);
	//=> 'A1'
	//=> 'B1'
	//=> 'A2'
	//=> 'B2'
}

API

mergeStreams(streams: stream.Readable[]): MergedStream

Merges an array of readable streams and returns a new readable stream that emits data from the individual streams as it arrives.

If you provide an empty array, it returns an already-ended stream.

MergedStream

Type: stream.Readable

A single stream combining the output of multiple streams.

MergedStream.add(stream: stream.Readable): void

Pipe a new readable stream.

Throws if MergedStream has already ended.

MergedStream.remove(stream: stream.Readable): boolean

Unpipe a stream previously added using either mergeStreams(streams) or MergedStream.add(stream).

Returns false if the stream was not previously added, or if it was already removed by MergedStream.remove(stream).

The removed stream is not automatically ended.