Sha256: ce03f946827805d3f6d7f67b06191a386a8a5774d33909b01f2583809ebeaf50

Contents?: true

Size: 677 Bytes

Versions: 57

Compression:

Stored size: 677 Bytes

Contents

'use strict';
const {Transform} = require('stream');

class ObjectTransform extends Transform {
	constructor() {
		super({
			objectMode: true
		});
	}
}

class FilterStream extends ObjectTransform {
	constructor(filter) {
		super();
		this._filter = filter;
	}

	_transform(data, encoding, callback) {
		if (this._filter(data)) {
			this.push(data);
		}

		callback();
	}
}

class UniqueStream extends ObjectTransform {
	constructor() {
		super();
		this._pushed = new Set();
	}

	_transform(data, encoding, callback) {
		if (!this._pushed.has(data)) {
			this.push(data);
			this._pushed.add(data);
		}

		callback();
	}
}

module.exports = {
	FilterStream,
	UniqueStream
};

Version data entries

57 entries across 57 versions & 2 rubygems

Version Path
immosquare-cleaner-0.1.60 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.59 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.58 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.57 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.56 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.55 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.54 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.53 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.52 node_modules/globby/stream-utils.js
trusty-cms-6.3.1 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.51 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.50 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.49 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.48 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.47 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.46 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.45 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.44 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.43 node_modules/globby/stream-utils.js
immosquare-cleaner-0.1.42 node_modules/globby/stream-utils.js