@cspell/cspell-pipe 6.6.1 → 6.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Allows an iterable to be shared by multiple consumers.
3
+ * Each consumer takes from the iterable.
4
+ * @param iterable - the iterable to share
5
+ */
6
+ export declare function toDistributableIterableSync<T>(iterable: Iterable<T>): Iterable<T>;
7
+ /**
8
+ * Allows an iterable to be shared by multiple consumers.
9
+ * Each consumer takes from the iterable.
10
+ * @param iterable - the iterable to share
11
+ */
12
+ export declare const toDistributableIterable: typeof toDistributableIterableSync;
13
+ //# sourceMappingURL=distribute.d.ts.map
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toDistributableIterable = exports.toDistributableIterableSync = void 0;
4
+ /**
5
+ * Allows an iterable to be shared by multiple consumers.
6
+ * Each consumer takes from the iterable.
7
+ * @param iterable - the iterable to share
8
+ */
9
+ function toDistributableIterableSync(iterable) {
10
+ let lastValue;
11
+ let iter;
12
+ function getNext() {
13
+ if (lastValue && lastValue.done) {
14
+ return { ...lastValue };
15
+ }
16
+ iter = iter || iterable[Symbol.iterator]();
17
+ lastValue = iter.next();
18
+ return lastValue;
19
+ }
20
+ function* iterableFn() {
21
+ let next;
22
+ while (!(next = getNext()).done) {
23
+ yield next.value;
24
+ }
25
+ }
26
+ return {
27
+ [Symbol.iterator]: iterableFn,
28
+ };
29
+ }
30
+ exports.toDistributableIterableSync = toDistributableIterableSync;
31
+ /**
32
+ * Allows an iterable to be shared by multiple consumers.
33
+ * Each consumer takes from the iterable.
34
+ * @param iterable - the iterable to share
35
+ */
36
+ exports.toDistributableIterable = toDistributableIterableSync;
37
+ //# sourceMappingURL=distribute.js.map
@@ -1,4 +1,6 @@
1
1
  export { toAsyncIterable } from './toAsyncIterable';
2
2
  export { isAsyncIterable } from './util';
3
3
  export { toArray } from './toArray';
4
+ export { toDistributableIterable } from './distribute';
5
+ export { interleave } from './interleave';
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toArray = exports.isAsyncIterable = exports.toAsyncIterable = void 0;
3
+ exports.interleave = exports.toDistributableIterable = exports.toArray = exports.isAsyncIterable = exports.toAsyncIterable = void 0;
4
4
  var toAsyncIterable_1 = require("./toAsyncIterable");
5
5
  Object.defineProperty(exports, "toAsyncIterable", { enumerable: true, get: function () { return toAsyncIterable_1.toAsyncIterable; } });
6
6
  var util_1 = require("./util");
7
7
  Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: function () { return util_1.isAsyncIterable; } });
8
8
  var toArray_1 = require("./toArray");
9
9
  Object.defineProperty(exports, "toArray", { enumerable: true, get: function () { return toArray_1.toArray; } });
10
+ var distribute_1 = require("./distribute");
11
+ Object.defineProperty(exports, "toDistributableIterable", { enumerable: true, get: function () { return distribute_1.toDistributableIterable; } });
12
+ var interleave_1 = require("./interleave");
13
+ Object.defineProperty(exports, "interleave", { enumerable: true, get: function () { return interleave_1.interleave; } });
10
14
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,2 @@
1
+ export declare function interleave<T>(a: Iterable<T>, b: Iterable<T>): Iterable<T>;
2
+ //# sourceMappingURL=interleave.d.ts.map
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.interleave = void 0;
4
+ function* interleave(a, b) {
5
+ const ai = a[Symbol.iterator]();
6
+ const bi = b[Symbol.iterator]();
7
+ for (let aNext = ai.next(); !aNext.done; aNext = ai.next()) {
8
+ yield aNext.value;
9
+ const bNext = bi.next();
10
+ if (bNext.done)
11
+ break;
12
+ yield bNext.value;
13
+ }
14
+ for (let aNext = ai.next(); !aNext.done; aNext = ai.next()) {
15
+ yield aNext.value;
16
+ }
17
+ for (let bNext = bi.next(); !bNext.done; bNext = bi.next()) {
18
+ yield bNext.value;
19
+ }
20
+ }
21
+ exports.interleave = interleave;
22
+ //# sourceMappingURL=interleave.js.map
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as _helpers from './helpers';
2
2
  import * as _operators from './operators';
3
- export { isAsyncIterable, toArray, toAsyncIterable } from './helpers';
4
- export { opAwaitAsync, opConcatMap, opFilter, opFlatten, opJoinStrings, opMap, opSkip, opTake, opTap, opUnique, } from './operators';
3
+ export { interleave, isAsyncIterable, toArray, toAsyncIterable, toDistributableIterable } from './helpers';
4
+ export { opAppend, opAwaitAsync, opConcatMap, opFilter, opFlatten, opJoinStrings, opMap, opSkip, opTake, opTap, opUnique, } from './operators';
5
5
  export { pipeAsync, pipeSync } from './pipe';
6
6
  export declare const operators: typeof _operators;
7
7
  export declare const helpers: typeof _helpers;
package/dist/index.js CHANGED
@@ -23,14 +23,17 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.helpers = exports.operators = exports.pipeSync = exports.pipeAsync = exports.opUnique = exports.opTap = exports.opTake = exports.opSkip = exports.opMap = exports.opJoinStrings = exports.opFlatten = exports.opFilter = exports.opConcatMap = exports.opAwaitAsync = exports.toAsyncIterable = exports.toArray = exports.isAsyncIterable = void 0;
26
+ exports.helpers = exports.operators = exports.pipeSync = exports.pipeAsync = exports.opUnique = exports.opTap = exports.opTake = exports.opSkip = exports.opMap = exports.opJoinStrings = exports.opFlatten = exports.opFilter = exports.opConcatMap = exports.opAwaitAsync = exports.opAppend = exports.toDistributableIterable = exports.toAsyncIterable = exports.toArray = exports.isAsyncIterable = exports.interleave = void 0;
27
27
  const _helpers = __importStar(require("./helpers"));
28
28
  const _operators = __importStar(require("./operators"));
29
29
  var helpers_1 = require("./helpers");
30
+ Object.defineProperty(exports, "interleave", { enumerable: true, get: function () { return helpers_1.interleave; } });
30
31
  Object.defineProperty(exports, "isAsyncIterable", { enumerable: true, get: function () { return helpers_1.isAsyncIterable; } });
31
32
  Object.defineProperty(exports, "toArray", { enumerable: true, get: function () { return helpers_1.toArray; } });
32
33
  Object.defineProperty(exports, "toAsyncIterable", { enumerable: true, get: function () { return helpers_1.toAsyncIterable; } });
34
+ Object.defineProperty(exports, "toDistributableIterable", { enumerable: true, get: function () { return helpers_1.toDistributableIterable; } });
33
35
  var operators_1 = require("./operators");
36
+ Object.defineProperty(exports, "opAppend", { enumerable: true, get: function () { return operators_1.opAppend; } });
34
37
  Object.defineProperty(exports, "opAwaitAsync", { enumerable: true, get: function () { return operators_1.opAwaitAsync; } });
35
38
  Object.defineProperty(exports, "opConcatMap", { enumerable: true, get: function () { return operators_1.opConcatMap; } });
36
39
  Object.defineProperty(exports, "opFilter", { enumerable: true, get: function () { return operators_1.opFilter; } });
@@ -0,0 +1,15 @@
1
+ import { PipeFn } from '../internalTypes';
2
+ /**
3
+ * Append values onto the end of an iterable.
4
+ * @param iterablesToAppend - the iterables in the order to be appended.
5
+ * @returns
6
+ */
7
+ export declare function opAppendAsync<T>(...iterablesToAppend: (AsyncIterable<T> | Iterable<T>)[]): (iter: AsyncIterable<T> | Iterable<T>) => AsyncIterable<T>;
8
+ /**
9
+ * Append values onto the end of an iterable.
10
+ * @param iterablesToAppend - the iterables in the order to be appended.
11
+ * @returns
12
+ */
13
+ export declare function opAppendSync<T>(...iterablesToAppend: Iterable<T>[]): (iter: Iterable<T>) => Iterable<T>;
14
+ export declare function opAppend<T>(...iterablesToAppend: Iterable<T>[]): PipeFn<T, T>;
15
+ //# sourceMappingURL=append.d.ts.map
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.opAppend = exports.opAppendSync = exports.opAppendAsync = void 0;
4
+ const helpers_1 = require("../helpers");
5
+ /**
6
+ * Append values onto the end of an iterable.
7
+ * @param iterablesToAppend - the iterables in the order to be appended.
8
+ * @returns
9
+ */
10
+ function opAppendAsync(...iterablesToAppend) {
11
+ async function* fn(iter) {
12
+ yield* iter;
13
+ for (const i of iterablesToAppend) {
14
+ yield* i;
15
+ }
16
+ }
17
+ return fn;
18
+ }
19
+ exports.opAppendAsync = opAppendAsync;
20
+ /**
21
+ * Append values onto the end of an iterable.
22
+ * @param iterablesToAppend - the iterables in the order to be appended.
23
+ * @returns
24
+ */
25
+ function opAppendSync(...iterablesToAppend) {
26
+ function* fn(iter) {
27
+ yield* iter;
28
+ for (const i of iterablesToAppend) {
29
+ yield* i;
30
+ }
31
+ }
32
+ return fn;
33
+ }
34
+ exports.opAppendSync = opAppendSync;
35
+ function opAppend(...iterablesToAppend) {
36
+ function _(i) {
37
+ return (0, helpers_1.isAsyncIterable)(i) ? opAppendAsync(...iterablesToAppend)(i) : opAppendSync(...iterablesToAppend)(i);
38
+ }
39
+ return _;
40
+ }
41
+ exports.opAppend = opAppend;
42
+ //# sourceMappingURL=append.js.map
@@ -1,3 +1,4 @@
1
+ export { opAppend, opAppendAsync, opAppendSync } from './append';
1
2
  export { opAwaitAsync } from './await';
2
3
  export { opConcatMap, opConcatMapAsync, opConcatMapSync } from './concatMap';
3
4
  export { opFilter as opFilter, opFilterAsync, opFilterSync } from './filter';
@@ -1,6 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.opUniqueSync = exports.opUniqueAsync = exports.opUnique = exports.opTapSync = exports.opTapAsync = exports.opTap = exports.opTakeSync = exports.opTakeAsync = exports.opTake = exports.opSkipSync = exports.opSkipAsync = exports.opSkip = exports.opMapSync = exports.opMapAsync = exports.opMap = exports.opJoinStringsSync = exports.opJoinStringsAsync = exports.opJoinStrings = exports.opFlattenSync = exports.opFlattenAsync = exports.opFlatten = exports.opFilterSync = exports.opFilterAsync = exports.opFilter = exports.opConcatMapSync = exports.opConcatMapAsync = exports.opConcatMap = exports.opAwaitAsync = void 0;
3
+ exports.opUniqueSync = exports.opUniqueAsync = exports.opUnique = exports.opTapSync = exports.opTapAsync = exports.opTap = exports.opTakeSync = exports.opTakeAsync = exports.opTake = exports.opSkipSync = exports.opSkipAsync = exports.opSkip = exports.opMapSync = exports.opMapAsync = exports.opMap = exports.opJoinStringsSync = exports.opJoinStringsAsync = exports.opJoinStrings = exports.opFlattenSync = exports.opFlattenAsync = exports.opFlatten = exports.opFilterSync = exports.opFilterAsync = exports.opFilter = exports.opConcatMapSync = exports.opConcatMapAsync = exports.opConcatMap = exports.opAwaitAsync = exports.opAppendSync = exports.opAppendAsync = exports.opAppend = void 0;
4
+ var append_1 = require("./append");
5
+ Object.defineProperty(exports, "opAppend", { enumerable: true, get: function () { return append_1.opAppend; } });
6
+ Object.defineProperty(exports, "opAppendAsync", { enumerable: true, get: function () { return append_1.opAppendAsync; } });
7
+ Object.defineProperty(exports, "opAppendSync", { enumerable: true, get: function () { return append_1.opAppendSync; } });
4
8
  var await_1 = require("./await");
5
9
  Object.defineProperty(exports, "opAwaitAsync", { enumerable: true, get: function () { return await_1.opAwaitAsync; } });
6
10
  var concatMap_1 = require("./concatMap");
@@ -23,6 +23,6 @@ function opJoinStringsSync(joinCharacter = ',') {
23
23
  return fn;
24
24
  }
25
25
  exports.opJoinStringsSync = opJoinStringsSync;
26
- const opJoinStrings = (joinCharacter = ',') => (0, util_1.toPipeFn)(opJoinStringsSync(joinCharacter), opJoinStringsAsync(joinCharacter));
26
+ const opJoinStrings = (joinCharacter) => (0, util_1.toPipeFn)(opJoinStringsSync(joinCharacter), opJoinStringsAsync(joinCharacter));
27
27
  exports.opJoinStrings = opJoinStrings;
28
28
  //# sourceMappingURL=joinStrings.js.map
@@ -1,4 +1,8 @@
1
1
  export declare function opTakeAsync<T>(count: number): (iter: AsyncIterable<T> | Iterable<T>) => AsyncIterable<T>;
2
2
  export declare function opTakeSync<T>(count: number): (iter: Iterable<T>) => Iterable<T>;
3
+ /**
4
+ * Consume only the first `count` number from the iterable.
5
+ * @param count - number to take
6
+ */
3
7
  export declare const opTake: <T>(count: number) => import("../internalTypes").PipeFn<T, T>;
4
8
  //# sourceMappingURL=take.d.ts.map
@@ -28,6 +28,10 @@ function opTakeSync(count) {
28
28
  return fn;
29
29
  }
30
30
  exports.opTakeSync = opTakeSync;
31
+ /**
32
+ * Consume only the first `count` number from the iterable.
33
+ * @param count - number to take
34
+ */
31
35
  const opTake = (count) => (0, util_1.toPipeFn)(opTakeSync(count), opTakeAsync(count));
32
36
  exports.opTake = opTake;
33
37
  //# sourceMappingURL=take.js.map
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "6.6.1",
6
+ "version": "6.7.0",
7
7
  "description": "Library to make working with Iterators/AsyncIterators easier.",
8
8
  "keywords": [
9
9
  "cspell",
@@ -93,9 +93,9 @@
93
93
  "node": ">=14"
94
94
  },
95
95
  "devDependencies": {
96
- "@types/node": "^18.6.5",
96
+ "@types/node": "^18.7.6",
97
97
  "jest": "^28.1.3",
98
98
  "rimraf": "^3.0.2"
99
99
  },
100
- "gitHead": "3c9c24d1cebd558ac3729d3fbf441e6ed751d8cf"
100
+ "gitHead": "3a7312a15d2df1507d9e01863ec5842f5a99e0cc"
101
101
  }