@likec4/core 1.47.0 → 1.48.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.
- package/LICENSE +1 -1
- package/dist/_chunks/Builder.view-element.mjs +3284 -0
- package/dist/_chunks/LikeC4Model.d.mts +1287 -0
- package/dist/_chunks/LikeC4Styles.mjs +691 -0
- package/dist/_chunks/RichText.d.mts +84 -0
- package/dist/_chunks/RichText.mjs +148 -0
- package/dist/_chunks/_aux.d.mts +289 -0
- package/dist/_chunks/_aux.mjs +18 -0
- package/dist/_chunks/_types.d.mts +781 -0
- package/dist/_chunks/_types2.d.mts +38 -0
- package/dist/_chunks/assignTagColors.mjs +24 -0
- package/dist/_chunks/calcDriftsFromSnapshot.mjs +379 -0
- package/dist/_chunks/connection.mjs +0 -0
- package/dist/_chunks/const.d.mts +43 -0
- package/dist/_chunks/const.mjs +33 -0
- package/dist/_chunks/expression-model.d.mts +192 -0
- package/dist/_chunks/expression-model.mjs +103 -0
- package/dist/_chunks/expression.d.mts +347 -0
- package/dist/_chunks/expression.mjs +107 -0
- package/dist/_chunks/find.d.mts +82 -0
- package/dist/_chunks/find.mjs +646 -0
- package/dist/_chunks/find2.d.mts +78 -0
- package/dist/_chunks/find2.mjs +287 -0
- package/dist/_chunks/fqnRef.d.mts +58 -0
- package/dist/_chunks/fqnRef.mjs +41 -0
- package/dist/_chunks/geometry.mjs +335 -0
- package/dist/_chunks/index.d.mts +169 -0
- package/dist/_chunks/index2.d.mts +937 -0
- package/dist/_chunks/index3.d.mts +146 -0
- package/dist/_chunks/index4.d.mts +62 -0
- package/dist/_chunks/index5.d.mts +42 -0
- package/dist/_chunks/index6.d.mts +43 -0
- package/dist/{shared/core.OtRNdMxy.d.mts → _chunks/index7.d.mts} +113 -197
- package/dist/_chunks/index8.d.mts +144 -0
- package/dist/_chunks/invariant.mjs +18 -0
- package/dist/_chunks/iterable.mjs +146 -0
- package/dist/_chunks/libs/@mantine/colors-generator.mjs +3416 -0
- package/dist/_chunks/libs/@ungap/structured-clone.mjs +213 -0
- package/dist/_chunks/libs/bail.mjs +14 -0
- package/dist/_chunks/libs/ccount.mjs +25 -0
- package/dist/_chunks/libs/character-entities-html4.mjs +263 -0
- package/dist/_chunks/libs/character-entities-legacy.mjs +117 -0
- package/dist/_chunks/libs/character-entities.mjs +2136 -0
- package/dist/_chunks/libs/comma-separated-tokens.mjs +18 -0
- package/dist/_chunks/libs/decode-named-character-reference.mjs +21 -0
- package/dist/_chunks/libs/defu.mjs +42 -0
- package/dist/_chunks/libs/devlop.mjs +5 -0
- package/dist/_chunks/libs/escape-string-regexp.mjs +8 -0
- package/dist/_chunks/libs/extend.mjs +77 -0
- package/dist/_chunks/libs/graphology-dag.mjs +703 -0
- package/dist/_chunks/libs/graphology-types.d.mts +601 -0
- package/dist/_chunks/libs/graphology.d.mts +6 -0
- package/dist/_chunks/libs/graphology.mjs +4565 -0
- package/dist/_chunks/libs/hast-util-sanitize.mjs +863 -0
- package/dist/_chunks/libs/hast-util-to-html.mjs +2696 -0
- package/dist/_chunks/libs/is-plain-obj.mjs +9 -0
- package/dist/_chunks/libs/longest-streak.mjs +30 -0
- package/dist/_chunks/libs/markdown-table.mjs +290 -0
- package/dist/_chunks/libs/mdast-util-find-and-replace.mjs +653 -0
- package/dist/_chunks/libs/mdast-util-from-markdown.mjs +8522 -0
- package/dist/_chunks/libs/mdast-util-gfm.mjs +2393 -0
- package/dist/_chunks/libs/mdast-util-to-hast.mjs +1803 -0
- package/dist/_chunks/libs/micromark-extension-gfm.mjs +2243 -0
- package/dist/_chunks/libs/mnemonist.d.mts +254 -0
- package/dist/_chunks/libs/mnemonist.mjs +1978 -0
- package/dist/_chunks/libs/natural-compare-lite.mjs +42 -0
- package/dist/_chunks/libs/rehype-sanitize.mjs +29 -0
- package/dist/_chunks/libs/rehype-stringify.mjs +34 -0
- package/dist/_chunks/libs/remark-gfm.mjs +36 -0
- package/dist/_chunks/libs/remark-github-blockquote-alert.mjs +100 -0
- package/dist/_chunks/libs/remark-parse.mjs +39 -0
- package/dist/_chunks/libs/remark-rehype.mjs +171 -0
- package/dist/_chunks/libs/remeda.mjs +702 -0
- package/dist/_chunks/libs/trough.mjs +158 -0
- package/dist/_chunks/libs/unified.mjs +2212 -0
- package/dist/_chunks/mnemonist.d.mts +1 -0
- package/dist/_chunks/mnemonist.mjs +0 -0
- package/dist/_chunks/model.mjs +1898 -0
- package/dist/_chunks/model2.mjs +0 -0
- package/dist/_chunks/relationships-view.mjs +132 -0
- package/dist/_chunks/rolldown-runtime.mjs +42 -0
- package/dist/{shared/core.C_3y3eqV.d.mts → _chunks/scalar.d.mts} +13 -43
- package/dist/_chunks/scalar.mjs +84 -0
- package/dist/_chunks/utils.mjs +483 -0
- package/dist/builder/index.d.mts +11 -775
- package/dist/builder/index.mjs +631 -1022
- package/dist/compute-view/index.d.mts +85 -56
- package/dist/compute-view/index.mjs +247 -214
- package/dist/compute-view/relationships-view/index.d.mts +16 -51
- package/dist/compute-view/relationships-view/index.mjs +6 -184
- package/dist/geometry/index.d.mts +2 -109
- package/dist/geometry/index.mjs +2 -327
- package/dist/index.d.mts +18 -20
- package/dist/index.mjs +27 -18
- package/dist/model/connection/deployment/index.d.mts +12 -15
- package/dist/model/connection/deployment/index.mjs +9 -2
- package/dist/model/connection/index.d.mts +14 -75
- package/dist/model/connection/index.mjs +10 -3
- package/dist/model/connection/model/index.d.mts +12 -15
- package/dist/model/connection/model/index.mjs +8 -2
- package/dist/model/index.d.mts +15 -57
- package/dist/model/index.mjs +11 -4
- package/dist/styles/index.d.mts +9 -117
- package/dist/styles/index.mjs +26 -59
- package/dist/types/RichText.d.mts +3 -0
- package/dist/types/RichText.mjs +7 -0
- package/dist/types/_aux.d.mts +3 -4
- package/dist/types/_aux.mjs +2 -7
- package/dist/types/expression-model.d.mts +6 -190
- package/dist/types/expression-model.mjs +6 -108
- package/dist/types/expression.d.mts +5 -6
- package/dist/types/expression.mjs +6 -112
- package/dist/types/fqnRef.d.mts +4 -60
- package/dist/types/fqnRef.mjs +6 -44
- package/dist/types/index.d.mts +9 -47
- package/dist/types/index.mjs +14 -16
- package/dist/types/scalar.d.mts +2 -2
- package/dist/types/scalar.mjs +7 -4
- package/dist/utils/graphology/index.d.mts +2 -1864
- package/dist/utils/graphology/index.mjs +3 -1
- package/dist/utils/index.d.mts +11 -124
- package/dist/utils/index.mjs +16 -43
- package/dist/utils/iterable/index.d.mts +9 -132
- package/dist/utils/iterable/index.mjs +2 -61
- package/dist/utils/mnemonist.d.mts +2 -0
- package/dist/utils/mnemonist.mjs +12 -0
- package/package.json +17 -22
- package/compute-view/relationships/package.json +0 -4
- package/dist/shared/core.3ZhnKAlZ.mjs +0 -106
- package/dist/shared/core.78IWAHAE.mjs +0 -332
- package/dist/shared/core.B85MJLTf.mjs +0 -5
- package/dist/shared/core.BFd1lU9R.mjs +0 -29
- package/dist/shared/core.BKlholso.mjs +0 -3
- package/dist/shared/core.BNN-3vPH.mjs +0 -1255
- package/dist/shared/core.BPGOjone.d.mts +0 -46
- package/dist/shared/core.BP_QHEXs.mjs +0 -785
- package/dist/shared/core.BbE4y-yl.mjs +0 -177
- package/dist/shared/core.Bdy3hhTc.mjs +0 -28382
- package/dist/shared/core.BfCKSW-g.d.mts +0 -1266
- package/dist/shared/core.BhNcrwzK.mjs +0 -7
- package/dist/shared/core.BkVA6gjl.mjs +0 -5
- package/dist/shared/core.BoYfZOBm.mjs +0 -3
- package/dist/shared/core.BsSXS-_R.mjs +0 -7
- package/dist/shared/core.C3JowhaZ.mjs +0 -32
- package/dist/shared/core.C4x8aaWa.mjs +0 -27
- package/dist/shared/core.CAgYpDtM.d.mts +0 -98
- package/dist/shared/core.CHf8VEa3.mjs +0 -1206
- package/dist/shared/core.CLSZtnFh.mjs +0 -69
- package/dist/shared/core.CbT8JVYL.mjs +0 -5
- package/dist/shared/core.CdNCAwq7.mjs +0 -176
- package/dist/shared/core.CmGY9blO.mjs +0 -6717
- package/dist/shared/core.CmPXpJ8l.mjs +0 -21
- package/dist/shared/core.Coi_LOUZ.mjs +0 -7
- package/dist/shared/core.CqAJJpK_.mjs +0 -3
- package/dist/shared/core.CywrQs86.d.mts +0 -31
- package/dist/shared/core.D00YbOhQ.d.mts +0 -300
- package/dist/shared/core.D0WZutNd.mjs +0 -94
- package/dist/shared/core.D4npX2q8.mjs +0 -18
- package/dist/shared/core.DB0Ue5Wx.d.mts +0 -70
- package/dist/shared/core.DC5IAaDT.d.mts +0 -334
- package/dist/shared/core.DE9qzhn8.d.mts +0 -83
- package/dist/shared/core.DGcIbsj4.mjs +0 -3946
- package/dist/shared/core.DH7TXqXf.mjs +0 -136
- package/dist/shared/core.DKhRkHRN.d.mts +0 -41
- package/dist/shared/core.DRJma0Ol.mjs +0 -22
- package/dist/shared/core.DU5SRqNF.mjs +0 -2209
- package/dist/shared/core.DXhDWKFZ.d.mts +0 -3
- package/dist/shared/core.DbfO90vF.mjs +0 -434
- package/dist/shared/core.DcS-0zys.mjs +0 -10
- package/dist/shared/core.Dh119QSP.mjs +0 -4995
- package/dist/shared/core.DjcWextK.mjs +0 -1371
- package/dist/shared/core.Dojz4bvg.d.mts +0 -504
- package/dist/shared/core.FZ305VYd.mjs +0 -21
- package/dist/shared/core.RfnaEmgA.mjs +0 -7
- package/dist/shared/core.btEq3i3f.mjs +0 -300
- package/dist/shared/core.oSV6SRfk.mjs +0 -13
- package/dist/shared/core.om36dXXW.mjs +0 -41
- package/dist/shared/core.osFs8tU7.d.mts +0 -466
- package/dist/shared/core.q10OP9oJ.mjs +0 -5
- package/dist/shared/core.tpvDGvdC.d.mts +0 -87
- package/dist/shared/core.uFk_o9X6.mjs +0 -13
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { bt as IteratorLike } from "./_aux.mjs";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/iterable/_types.d.ts
|
|
4
|
+
declare function isIterable<T, I extends Iterable<T>>(something: I | unknown): something is Iterable<T>;
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region src/utils/iterable/filter.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* Filters an iterable based on a predicate.
|
|
9
|
+
* Composabel first version of `ifilter`.
|
|
10
|
+
* @signature
|
|
11
|
+
* ifilter(predicate)(data)
|
|
12
|
+
*/
|
|
13
|
+
declare function ifilter<T, S extends T>(predicate: (v: T) => v is S): (iterable: Iterable<T>) => IteratorLike<S>;
|
|
14
|
+
declare function ifilter<T>(predicate: (v: T) => boolean): (iterable: Iterable<T>) => IteratorLike<T>;
|
|
15
|
+
/**
|
|
16
|
+
* Filters an iterable based on a predicate.
|
|
17
|
+
* Data first version of `ifilter`.
|
|
18
|
+
* @signature
|
|
19
|
+
* ifilter(data, predicate)
|
|
20
|
+
* @example
|
|
21
|
+
* ifilter(new Set([1, 2, 3]), x => x % 2 === 1) // => Iterable<[1, 3]>
|
|
22
|
+
*/
|
|
23
|
+
declare function ifilter<T, S extends T>(iterable: Iterable<T>, predicate: (v: T) => v is S): IteratorLike<S>;
|
|
24
|
+
declare function ifilter<T>(iterable: Iterable<T>, predicate: (v: T) => boolean): IteratorLike<T>;
|
|
25
|
+
//#endregion
|
|
26
|
+
//#region src/utils/iterable/find.d.ts
|
|
27
|
+
/**
|
|
28
|
+
* Finds the first element in the iterable that satisfies the predicate.
|
|
29
|
+
* Composable first version of `find`.
|
|
30
|
+
* @signature
|
|
31
|
+
* ifind(predicate)(data)
|
|
32
|
+
*/
|
|
33
|
+
declare function ifind<T, S extends T>(predicate: (item: T) => item is S): (iterable: Iterable<T>) => S | undefined;
|
|
34
|
+
declare function ifind<T>(predicate: (item: T) => boolean): (iterable: Iterable<T>) => T | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Finds the first element in the iterable that satisfies the predicate.
|
|
37
|
+
* Data first version of `find`.
|
|
38
|
+
* @signature
|
|
39
|
+
* ifind(data, predicate)
|
|
40
|
+
*/
|
|
41
|
+
declare function ifind<T, S extends T>(iterable: Iterable<T>, predicate: (item: T) => item is S): S | undefined;
|
|
42
|
+
declare function ifind<T>(iterable: Iterable<T>, predicate: (item: T) => boolean): T | undefined;
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region src/utils/iterable/first.d.ts
|
|
45
|
+
/**
|
|
46
|
+
* Takes the first N elements from an iterable.
|
|
47
|
+
* Composable first version of `ifirst`.
|
|
48
|
+
* @signature
|
|
49
|
+
* ifirst(count)(data)
|
|
50
|
+
*/
|
|
51
|
+
declare function ifirst<T>(count: number): (iterable: Iterable<T>) => IteratorLike<T>;
|
|
52
|
+
/**
|
|
53
|
+
* Takes the first N elements from an iterable.
|
|
54
|
+
* Data first version of `ifirst`.
|
|
55
|
+
* @signature
|
|
56
|
+
* ifirst(data, count)
|
|
57
|
+
* @example
|
|
58
|
+
* ifirst([1, 2, 3, 4, 5], 3) // => Iterable<[1, 2, 3]>
|
|
59
|
+
*/
|
|
60
|
+
declare function ifirst<T>(iterable: Iterable<T>, count: number): IteratorLike<T>;
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/utils/iterable/flat.d.ts
|
|
63
|
+
declare function iflat(): <T>(iterable: Iterable<IteratorLike<T>>) => IteratorLike<T>;
|
|
64
|
+
declare function iflat<T>(iterable: Iterable<IteratorLike<T>>): IteratorLike<T>;
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region src/utils/iterable/flatMap.d.ts
|
|
67
|
+
type FlatMapFunction<T, S> = (item: T) => Iterable<S>;
|
|
68
|
+
/**
|
|
69
|
+
* Maps an iterable using a mapper function and flattens the result by one level.
|
|
70
|
+
* Composable first version of `iflatMap`.
|
|
71
|
+
* @signature
|
|
72
|
+
* iflatMap(mapper)(data)
|
|
73
|
+
*/
|
|
74
|
+
declare function iflatMap<T, S>(mapper: FlatMapFunction<T, S>): (iterable: Iterable<T>) => IteratorLike<S>;
|
|
75
|
+
/**
|
|
76
|
+
* Maps an iterable using a mapper function and flattens the result by one level.
|
|
77
|
+
* Data first version of `iflatMap`.
|
|
78
|
+
* @signature
|
|
79
|
+
* iflatMap(data, mapper)
|
|
80
|
+
*/
|
|
81
|
+
declare function iflatMap<T, S>(iterable: Iterable<T>, mapper: FlatMapFunction<T, S>): IteratorLike<S>;
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/utils/iterable/head.d.ts
|
|
84
|
+
declare function ihead<T>(): (iterable: Iterable<T>) => T | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Finds the first element in the iterable that satisfies the predicate.
|
|
87
|
+
* Data first version of `find`.
|
|
88
|
+
* @signature
|
|
89
|
+
* ifind(data, predicate)
|
|
90
|
+
*/
|
|
91
|
+
declare function ihead<T>(iterable: Iterable<T>): T | undefined;
|
|
92
|
+
//#endregion
|
|
93
|
+
//#region src/utils/iterable/map.d.ts
|
|
94
|
+
type MapFunction<T, S> = (item: T) => S;
|
|
95
|
+
/**
|
|
96
|
+
* Maps an iterable using a mapper function.
|
|
97
|
+
* Composable first version of `imap`.
|
|
98
|
+
* @signature
|
|
99
|
+
* imap(mapper)(data)
|
|
100
|
+
*/
|
|
101
|
+
declare function imap<T, S>(mapper: MapFunction<T, S>): (iterable: Iterable<T>) => IteratorLike<S>;
|
|
102
|
+
/**
|
|
103
|
+
* Maps an iterable using a mapper function.
|
|
104
|
+
* Data first version of `imap`.
|
|
105
|
+
* @signature
|
|
106
|
+
* imap(data, mapper)
|
|
107
|
+
*/
|
|
108
|
+
declare function imap<T, S>(iterable: Iterable<T>, mapper: MapFunction<T, S>): IteratorLike<S>;
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region src/utils/iterable/reduce.d.ts
|
|
111
|
+
declare function ireduce<T, R>(reducer: (acc: R, item: T) => R, initialValue: R): (iterable: Iterable<T>) => R;
|
|
112
|
+
declare function ireduce<T, R>(iterable: Iterable<T>, reducer: (acc: R, item: T) => R, initialValue: R): R;
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region src/utils/iterable/some.d.ts
|
|
115
|
+
/**
|
|
116
|
+
* Checks if at least one element in the iterable satisfies the predicate.
|
|
117
|
+
* Composable first version of `some`.
|
|
118
|
+
* @signature
|
|
119
|
+
* isome(predicate)(data)
|
|
120
|
+
*/
|
|
121
|
+
declare function isome<T>(predicate: (item: T) => boolean): (iterable: Iterable<T>) => boolean;
|
|
122
|
+
/**
|
|
123
|
+
* Checks if at least one element in the iterable satisfies the predicate.
|
|
124
|
+
* Data first version of `some`.
|
|
125
|
+
* @signature
|
|
126
|
+
* isome(data, predicate)
|
|
127
|
+
*/
|
|
128
|
+
declare function isome<T>(iterable: Iterable<T>, predicate: (item: T) => boolean): boolean;
|
|
129
|
+
//#endregion
|
|
130
|
+
//#region src/utils/iterable/to.d.ts
|
|
131
|
+
declare function toArray(): <T>(iterable: Iterable<T> | ArrayLike<T>) => T[];
|
|
132
|
+
declare function toArray<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
|
|
133
|
+
declare function toSet(): <T>(iterable: Iterable<T>) => Set<T>;
|
|
134
|
+
declare function toSet<T>(iterable: Iterable<T>): Set<T>;
|
|
135
|
+
//#endregion
|
|
136
|
+
//#region src/utils/iterable/unique.d.ts
|
|
137
|
+
/**
|
|
138
|
+
* Returns an iterable that yields only unique values.
|
|
139
|
+
* It uses a Set to keep track of the values.
|
|
140
|
+
*/
|
|
141
|
+
declare function iunique(): <T>(iterable: Iterable<T>) => IteratorLike<T>;
|
|
142
|
+
declare function iunique<T>(iterable: Iterable<T>): IteratorLike<T>;
|
|
143
|
+
//#endregion
|
|
144
|
+
export { ireduce as a, iflatMap as c, ifind as d, ifilter as f, isome as i, iflat as l, toArray as n, imap as o, isIterable as p, toSet as r, ihead as s, iunique as t, ifirst as u };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/utils/invariant.ts
|
|
2
|
+
function nonNullable(value, message) {
|
|
3
|
+
if (typeof value === "undefined" || value == null) {
|
|
4
|
+
const msg = typeof message === "function" ? message() : message;
|
|
5
|
+
throw new Error(msg ?? `Expected defined value, but received ${value}`);
|
|
6
|
+
}
|
|
7
|
+
return value;
|
|
8
|
+
}
|
|
9
|
+
function invariant(condition, message) {
|
|
10
|
+
if (condition) return;
|
|
11
|
+
throw new Error(message ?? "Invariant failed");
|
|
12
|
+
}
|
|
13
|
+
function nonexhaustive(value) {
|
|
14
|
+
throw new Error(`NonExhaustive value: ${value}`);
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { nonNullable as n, nonexhaustive as r, invariant as t };
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { L as e$2, N as e, P as e$1 } from "./libs/remeda.mjs";
|
|
2
|
+
import { t as invariant } from "./invariant.mjs";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/iterable/_types.ts
|
|
5
|
+
function isIterable(something) {
|
|
6
|
+
return e(something) && typeof something === "object" && Symbol.iterator in something;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/utils/iterable/filter.ts
|
|
11
|
+
function ifilter(arg1, arg2) {
|
|
12
|
+
const pred = arg2 ?? arg1;
|
|
13
|
+
invariant(e$1(pred));
|
|
14
|
+
function* _filter(iter) {
|
|
15
|
+
for (const value of iter) if (pred(value)) yield value;
|
|
16
|
+
}
|
|
17
|
+
if (!arg2) return _filter;
|
|
18
|
+
return _filter(arg1);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
//#endregion
|
|
22
|
+
//#region src/utils/iterable/find.ts
|
|
23
|
+
function ifind(arg1, arg2) {
|
|
24
|
+
const pred = arg2 ?? arg1;
|
|
25
|
+
invariant(e$1(pred));
|
|
26
|
+
function _find(iter) {
|
|
27
|
+
for (const value of iter) if (pred(value)) return value;
|
|
28
|
+
}
|
|
29
|
+
if (!arg2) return _find;
|
|
30
|
+
return _find(arg1);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/utils/iterable/first.ts
|
|
35
|
+
function ifirst(arg1, arg2) {
|
|
36
|
+
const count = arg2 ?? arg1;
|
|
37
|
+
invariant(typeof count === "number" && count >= 0, "Count must be a non-negative number");
|
|
38
|
+
function* _first(iter) {
|
|
39
|
+
let taken = 0;
|
|
40
|
+
for (const value of iter) {
|
|
41
|
+
if (taken >= count) break;
|
|
42
|
+
yield value;
|
|
43
|
+
taken++;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (arg2 === void 0) return (iterable) => _first(iterable);
|
|
47
|
+
return _first(arg1);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/utils/iterable/flat.ts
|
|
52
|
+
function iflat(iterable) {
|
|
53
|
+
return iterable ? _iflat(iterable) : _iflat;
|
|
54
|
+
}
|
|
55
|
+
function* _iflat(iterable) {
|
|
56
|
+
for (const inner of iterable) yield* inner;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
//#region src/utils/iterable/flatMap.ts
|
|
61
|
+
function iflatMap(arg1, arg2) {
|
|
62
|
+
const mapper = arg2 ?? arg1;
|
|
63
|
+
invariant(e$1(mapper));
|
|
64
|
+
function* _flatMap(iter) {
|
|
65
|
+
for (const value of iter) yield* mapper(value);
|
|
66
|
+
}
|
|
67
|
+
if (!arg2) return _flatMap;
|
|
68
|
+
return _flatMap(arg1);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
//#region src/utils/iterable/head.ts
|
|
73
|
+
function ihead(iterable) {
|
|
74
|
+
if (!iterable) return _head;
|
|
75
|
+
return _head(iterable);
|
|
76
|
+
}
|
|
77
|
+
function _head(iter) {
|
|
78
|
+
const { value } = iter[Symbol.iterator]().next();
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
//#region src/utils/iterable/map.ts
|
|
84
|
+
function imap(arg1, arg2) {
|
|
85
|
+
const mapper = arg2 ?? arg1;
|
|
86
|
+
invariant(e$1(mapper));
|
|
87
|
+
function* _map(iter) {
|
|
88
|
+
for (const value of iter) yield mapper(value);
|
|
89
|
+
}
|
|
90
|
+
if (!arg2) return _map;
|
|
91
|
+
return _map(arg1);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region src/utils/iterable/reduce.ts
|
|
96
|
+
function ireduce(arg1, arg2, arg3) {
|
|
97
|
+
const reducer = e$2(arg3) ? arg2 : arg1;
|
|
98
|
+
const initialValue = arg3 ?? arg2;
|
|
99
|
+
invariant(e$1(reducer));
|
|
100
|
+
function _reduce(iter) {
|
|
101
|
+
let acc = initialValue;
|
|
102
|
+
for (const value of iter) acc = reducer(acc, value);
|
|
103
|
+
return acc;
|
|
104
|
+
}
|
|
105
|
+
return e$2(arg3) ? _reduce(arg1) : _reduce;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
//#endregion
|
|
109
|
+
//#region src/utils/iterable/some.ts
|
|
110
|
+
function isome(arg1, arg2) {
|
|
111
|
+
const pred = arg2 ?? arg1;
|
|
112
|
+
invariant(e$1(pred));
|
|
113
|
+
function _some(iter) {
|
|
114
|
+
for (const value of iter) if (pred(value)) return true;
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (!arg2) return _some;
|
|
118
|
+
return _some(arg1);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
//#endregion
|
|
122
|
+
//#region src/utils/iterable/to.ts
|
|
123
|
+
function toArray(iterable) {
|
|
124
|
+
if (iterable) return Array.from(iterable);
|
|
125
|
+
return (it) => Array.from(it);
|
|
126
|
+
}
|
|
127
|
+
function toSet(iterable) {
|
|
128
|
+
if (iterable) return new Set(iterable);
|
|
129
|
+
return (it) => new Set(it);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
//#endregion
|
|
133
|
+
//#region src/utils/iterable/unique.ts
|
|
134
|
+
function iunique(iterable) {
|
|
135
|
+
return iterable ? _iunique(iterable) : _iunique;
|
|
136
|
+
}
|
|
137
|
+
function* _iunique(iterable) {
|
|
138
|
+
const seen = /* @__PURE__ */ new Set();
|
|
139
|
+
for (const item of iterable) if (!seen.has(item)) {
|
|
140
|
+
seen.add(item);
|
|
141
|
+
yield item;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
//#endregion
|
|
146
|
+
export { ireduce as a, iflatMap as c, ifind as d, ifilter as f, isome as i, iflat as l, toArray as n, imap as o, isIterable as p, toSet as r, ihead as s, iunique as t, ifirst as u };
|