@lionweb/ts-utils 0.7.0-beta.13 → 0.7.0-beta.15

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/CHANGELOG.md CHANGED
@@ -4,4 +4,5 @@
4
4
 
5
5
  * Initial creation and publication of this package, as an extraction and de-duplication from `@lionweb/core`, `@lionweb/utilities`, `@lionweb/class-core`, and `@lionweb/validation`.
6
6
  * Add 'mapFrom' function that maps an array to a map, using given key and value functions.
7
+ * Introduce explicit types for `nested{1,2,3}Mapper` functions.
7
8
 
package/dist/arrays.d.ts CHANGED
@@ -20,4 +20,9 @@ export declare const uniquesAmong: <T>(ts: T[]) => T[];
20
20
  * leaving out the `null` or `undefined` values.
21
21
  */
22
22
  export declare const keepDefineds: <T>(ts: (T | null | undefined)[]) => T[];
23
+ /**
24
+ * @return the last element of the given `ts` array.
25
+ * @throws an {@link Error} if the array is empty, so it doesn't have a last element.
26
+ */
27
+ export declare const lastOfArray: <T>(ts: T[]) => T;
23
28
  //# sourceMappingURL=arrays.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAG,CAAC,EAQnD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAAG,CAAC,EACvB,CAAA;AAGpB;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAG,CAAC,EACN,CAAA"}
1
+ {"version":3,"file":"arrays.d.ts","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,SAAS,GAAG,CAAC,GAAG,CAAC,EAAE,CAAA;AAEhD;;;;GAIG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,OAAO,WAAW,CAAC,CAAC,CAAC,KAAG,CAAC,EAQnD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAAG,CAAC,EACvB,CAAA;AAGpB;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE,KAAG,CAAC,EACN,CAAA;AAG1D;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,IAAI,CAAC,EAAE,KAAG,CAKxC,CAAA"}
package/dist/arrays.js CHANGED
@@ -21,4 +21,14 @@ export const uniquesAmong = (ts) => [...new Set(ts)];
21
21
  * leaving out the `null` or `undefined` values.
22
22
  */
23
23
  export const keepDefineds = (ts) => ts.filter((t) => t !== undefined && t !== null);
24
+ /**
25
+ * @return the last element of the given `ts` array.
26
+ * @throws an {@link Error} if the array is empty, so it doesn't have a last element.
27
+ */
28
+ export const lastOfArray = (ts) => {
29
+ if (ts.length === 0) {
30
+ throw new Error(`empty array doesn't have a last element`);
31
+ }
32
+ return ts[ts.length - 1];
33
+ };
24
34
  //# sourceMappingURL=arrays.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,KAAqB,EAAO,EAAE;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAAO,EAAO,EAAE,CAC5C,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAGpB;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAA4B,EAAO,EAAE,CACjE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAQ,CAAA"}
1
+ {"version":3,"file":"arrays.js","sourceRoot":"","sources":["../src/arrays.ts"],"names":[],"mappings":"AAQA;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAI,KAAqB,EAAO,EAAE;IACrD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACb,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAA;IAChB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAA;AAClB,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAAO,EAAO,EAAE,CAC5C,CAAC,GAAG,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;AAGpB;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAI,EAA4B,EAAO,EAAE,CACjE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,IAAI,CAAQ,CAAA;AAG1D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,EAAO,EAAK,EAAE;IACzC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;IAC9D,CAAC;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AAC5B,CAAC,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./arrays.js";
2
2
  export * from "./cycles.js";
3
3
  export * from "./graphs.js";
4
+ export * from "./json.js";
4
5
  export * from "./maps.js";
5
6
  export * from "./nested-maps.js";
6
7
  export * from "./recursion.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
package/dist/index.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export * from "./arrays.js";
2
2
  export * from "./cycles.js";
3
3
  export * from "./graphs.js";
4
+ export * from "./json.js";
4
5
  export * from "./maps.js";
5
6
  export * from "./nested-maps.js";
6
7
  export * from "./recursion.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,WAAW,CAAA;AACzB,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,eAAe,CAAA"}
package/dist/json.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /** Normalized JSON with 4 spaces as indent */
2
+ export declare const asPrettyJsonString: (obj: unknown) => string;
3
+ /** Minimal JSON with no spaces as indent */
4
+ export declare const asMinimalJsonString: (obj: unknown) => string;
5
+ //# sourceMappingURL=json.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,eAAO,MAAM,kBAAkB,GAAI,KAAK,OAAO,KAAG,MAEjD,CAAA;AACD,4CAA4C;AAC5C,eAAO,MAAM,mBAAmB,GAAK,KAAK,OAAO,KAAG,MAEnD,CAAA"}
package/dist/json.js ADDED
@@ -0,0 +1,9 @@
1
+ /** Normalized JSON with 4 spaces as indent */
2
+ export const asPrettyJsonString = (obj) => {
3
+ return JSON.stringify(obj, null, 4);
4
+ };
5
+ /** Minimal JSON with no spaces as indent */
6
+ export const asMinimalJsonString = (obj) => {
7
+ return JSON.stringify(obj, null, 0);
8
+ };
9
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../src/json.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAU,EAAE;IACvD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAA;AACD,4CAA4C;AAC5C,MAAM,CAAC,MAAM,mBAAmB,GAAI,CAAC,GAAY,EAAU,EAAE;IACzD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAA"}
@@ -1,9 +1,12 @@
1
1
  export type Nested1Map<T> = Record<string, T>;
2
2
  export type Nested2Map<T> = Record<string, Record<string, T>>;
3
3
  export type Nested3Map<T> = Record<string, Record<string, Record<string, T>>>;
4
- export declare const mapValuesMapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, T>) => Record<string, R>;
5
- export declare const nested2Mapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, Record<string, T>>) => Record<string, Record<string, R>>;
6
- export declare const nested3Mapper: <T, R>(valueMapFunc: (t: T) => R) => (map: Record<string, Record<string, Record<string, T>>>) => Record<string, Record<string, Record<string, R>>>;
4
+ export type Nested1Mapper<T, R> = (nested1Map: Nested1Map<T>) => Nested1Map<R>;
5
+ export declare const mapValuesMapper: <T, R>(valueMapFunc: (t: T) => R) => Nested1Mapper<T, R>;
6
+ export type Nested2Mapper<T, R> = (nested2Map: Nested2Map<T>) => Nested2Map<R>;
7
+ export declare const nested2Mapper: <T, R>(valueMapFunc: (t: T) => R) => Nested2Mapper<T, R>;
8
+ export type Nested3Mapper<T, R> = (nested3Map: Nested3Map<T>) => Nested3Map<R>;
9
+ export declare const nested3Mapper: <T, R>(valueMapFunc: (t: T) => R) => Nested3Mapper<T, R>;
7
10
  /**
8
11
  * Return a function that groups an array of things using a group function as a
9
12
  * map : string (group key) &rarr; array of grouped things.
@@ -1 +1 @@
1
- {"version":3,"file":"nested-maps.d.ts","sourceRoot":"","sources":["../src/nested-maps.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;AAC7C,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAA;AAC7D,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;AAE7E,eAAO,MAAM,eAAe,GACvB,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAC/B,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CACmD,CAAA;AAGjG,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kFAAmD,CAAA;AAEhH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,kHAAiD,CAAA;AAE9G;;;GAGG;AACH,eAAO,MAAM,OAAO,GACf,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAEjC,CAAA;AAEjC;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACtB,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAEzB,CAAA;AAGrE;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GACtB,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,KAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC,EAAE,CAAC,CAEpC,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,KAAG,CAAC,EAMzF,CAAA;AAET;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,KAAG,CAAC,EAQ5G,CAAA;AAET;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,CAAC,EAAE,YAAY,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC,KAAG,CAAC,EAQ1H,CAAA"}
1
+ {"version":3,"file":"nested-maps.d.ts","sourceRoot":"","sources":["../src/nested-maps.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import { groupBy } from "./maps.js";
2
2
  export const mapValuesMapper = (valueMapFunc) => (map) => Object.fromEntries(Object.entries(map).map(([key, value]) => [key, valueMapFunc(value)]));
3
- // === mapValues(map, valueFunc)
4
3
  export const nested2Mapper = (valueMapFunc) => mapValuesMapper(mapValuesMapper(valueMapFunc));
5
4
  export const nested3Mapper = (valueMapFunc) => mapValuesMapper(nested2Mapper(valueMapFunc));
6
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"nested-maps.js","sourceRoot":"","sources":["../src/nested-maps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAOnC,MAAM,CAAC,MAAM,eAAe,GACxB,CAAO,YAAyB,EAAE,EAAE,CACpC,CAAC,GAAsB,EAAqB,EAAE,CAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACjG,gCAAgC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAE,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;AAEhH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAA;AAE9G;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAChB,CAAI,QAA0B,EAAkC,EAAE,CAC9D,CAAC,EAAO,EAAE,EAAE,CACR,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;AAEjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GACvB,CAAI,QAA0B,EAAE,QAA0B,EAAkC,EAAE,CAC1F,CAAC,EAAO,EAAE,EAAE,CACR,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,4EAA4E;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GACvB,CAAI,QAA0B,EAAE,QAA0B,EAAE,QAA0B,EAAkC,EAAE,CACtH,CAAC,EAAO,EAAE,EAAE,CACR,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,GAAsB,EAAE,OAAkC,EAAO,EAAE,CACnG,MAAM;KACD,OAAO,CAAC,GAAG,CAAC;KACZ,GAAG,CACA,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CACvB,CAAA;AAET;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,UAAyB,EAAE,QAAiD,EAAO,EAAE,CACtH,MAAM;KACD,OAAO,CAAC,UAAU,CAAC;KACnB,OAAO,CACJ,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CACnB,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAClC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1B,CACR,CAAA;AAET;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,UAAyB,EAAE,QAA+D,EAAO,EAAE,CACpI,MAAM;KACD,OAAO,CAAC,UAAU,CAAC;KACnB,OAAO,CACJ,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CACnB,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACzC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAChC,CACR,CAAA"}
1
+ {"version":3,"file":"nested-maps.js","sourceRoot":"","sources":["../src/nested-maps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAQnC,MAAM,CAAC,MAAM,eAAe,GACxB,CAAO,YAAyB,EAAuB,EAAE,CACzD,CAAC,GAAsB,EAAqB,EAAE,CAC1C,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAIjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAuB,EAAE,CAClF,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAA;AAGlD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,YAAyB,EAAuB,EAAE,CAClF,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAA;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAChB,CAAI,QAA0B,EAAkC,EAAE,CAC9D,CAAC,EAAO,EAAE,EAAE,CACR,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA;AAEjC;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GACvB,CAAI,QAA0B,EAAE,QAA0B,EAAkC,EAAE,CAC1F,CAAC,EAAO,EAAE,EAAE,CACR,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACrE,4EAA4E;AAE5E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GACvB,CAAI,QAA0B,EAAE,QAA0B,EAAE,QAA0B,EAAkC,EAAE,CACtH,CAAC,EAAO,EAAE,EAAE,CACR,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAO,GAAsB,EAAE,OAAkC,EAAO,EAAE,CACnG,MAAM;KACD,OAAO,CAAC,GAAG,CAAC;KACZ,GAAG,CACA,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CACV,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CACvB,CAAA;AAET;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,UAAyB,EAAE,QAAiD,EAAO,EAAE,CACtH,MAAM;KACD,OAAO,CAAC,UAAU,CAAC;KACnB,OAAO,CACJ,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CACnB,aAAa,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CAClC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAC1B,CACR,CAAA;AAET;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAO,UAAyB,EAAE,QAA+D,EAAO,EAAE,CACpI,MAAM;KACD,OAAO,CAAC,UAAU,CAAC;KACnB,OAAO,CACJ,CAAC,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,EAAE,CACnB,cAAc,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CACzC,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAChC,CACR,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"toposort.d.ts","sourceRoot":"","sources":["../src/toposort.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAG,CAAC,EAAE,GAAG,KA0BvF,CAAA"}
1
+ {"version":3,"file":"toposort.d.ts","sourceRoot":"","sources":["../src/toposort.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAG,CAAC,EAAE,GAAG,KAuBvF,CAAA"}
package/dist/toposort.js CHANGED
@@ -30,9 +30,6 @@ export const dependencyOrderOf = (vertices, edgesOf) => {
30
30
  const extendedChain = [...chain, current];
31
31
  const hasCycle = edgesOf(current).some((edge) => visit(edge, extendedChain));
32
32
  ordered.push(current);
33
- if (hasCycle) {
34
- console.dir(ordered);
35
- }
36
33
  return hasCycle;
37
34
  };
38
35
  const hasCycle = vertices.some((vertex) => visit(vertex, []));
@@ -1 +1 @@
1
- {"version":3,"file":"toposort.js","sourceRoot":"","sources":["../src/toposort.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,QAAa,EAAE,OAA2B,EAAe,EAAE;IAC5F,MAAM,OAAO,GAAQ,EAAE,CAAA;IAEvB,MAAM,KAAK,GAAG,CAAC,OAAU,EAAE,KAAU,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACf,CAAC;QACD,MAAM,aAAa,GAAG,CAAE,GAAG,KAAK,EAAE,OAAO,CAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CACvC,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrB,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QACxB,CAAC;QACD,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAChC,CAAA;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AACrC,CAAC,CAAA"}
1
+ {"version":3,"file":"toposort.js","sourceRoot":"","sources":["../src/toposort.ts"],"names":[],"mappings":"AAAA,wDAAwD;AACxD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AAEtC;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAI,QAAa,EAAE,OAA2B,EAAe,EAAE;IAC5F,MAAM,OAAO,GAAQ,EAAE,CAAA;IAEvB,MAAM,KAAK,GAAG,CAAC,OAAU,EAAE,KAAU,EAAE,EAAE;QACrC,IAAI,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAChC,OAAO,KAAK,CAAA;QAChB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9B,OAAO,IAAI,CAAA;QACf,CAAC;QACD,MAAM,aAAa,GAAG,CAAE,GAAG,KAAK,EAAE,OAAO,CAAE,CAAA;QAC3C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAClC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,CACvC,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACrB,OAAO,QAAQ,CAAA;IACnB,CAAC,CAAA;IAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAC1B,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAChC,CAAA;IAED,OAAO,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAA;AACrC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,29 +1,29 @@
1
1
  {
2
- "name": "@lionweb/ts-utils",
3
- "version": "0.7.0-beta.13",
4
- "description": "Utilities for LionWeb JSON",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "typings": "dist/index.d.ts",
8
- "type": "module",
9
- "license": "Apache-2.0",
10
- "repository": {
11
- "type": "git",
12
- "url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
13
- },
14
- "bugs": {
15
- "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
- },
17
- "scripts": {
18
- "clean": "npx rimraf dist node_modules -g lionweb-ts-utils-*.tgz",
19
- "build": "tsc",
20
- "lint": "eslint src",
21
- "prep:pre-release": "npm run clean && npm install && npm run build",
22
- "prerelease-alpha": "npm run prep:pre-release",
23
- "release-alpha": "npm publish --tag alpha",
24
- "prerelease-beta": "npm run prep:pre-release",
25
- "release-beta": "npm publish --tag beta",
26
- "prerelease": "npm run prep:pre-release",
27
- "release": "npm publish"
28
- }
2
+ "name": "@lionweb/ts-utils",
3
+ "version": "0.7.0-beta.15",
4
+ "description": "Utilities for LionWeb JSON",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "typings": "dist/index.d.ts",
8
+ "type": "module",
9
+ "license": "Apache-2.0",
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/LionWeb-io/lionweb-typescript.git"
13
+ },
14
+ "bugs": {
15
+ "url": "https://github.com/LionWeb-io/lionweb-typescript/issues"
16
+ },
17
+ "scripts": {
18
+ "clean": "npx rimraf dist node_modules -g lionweb-ts-utils-*.tgz",
19
+ "build": "tsc",
20
+ "lint": "eslint src",
21
+ "prep:pre-release": "npm run clean && npm install && npm run build",
22
+ "prerelease-alpha": "npm run prep:pre-release",
23
+ "release-alpha": "npm publish --tag alpha",
24
+ "prerelease-beta": "npm run prep:pre-release",
25
+ "release-beta": "npm publish --tag beta",
26
+ "prerelease": "npm run prep:pre-release",
27
+ "release": "npm publish"
28
+ }
29
29
  }