@webiny/stdlib 0.0.3 → 0.0.5

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.
Files changed (60) hide show
  1. package/README.md +4 -2
  2. package/dist/README.md +4 -2
  3. package/dist/common/index.d.ts +3 -2
  4. package/dist/common/index.d.ts.map +1 -1
  5. package/dist/common/index.js +3 -2
  6. package/dist/common/index.js.map +1 -1
  7. package/dist/common/utils/boolean/boolean.d.ts.map +1 -0
  8. package/dist/common/utils/{boolean.js → boolean/boolean.js} +6 -0
  9. package/dist/common/utils/boolean/boolean.js.map +1 -0
  10. package/dist/common/utils/boolean/index.d.ts +2 -0
  11. package/dist/common/utils/boolean/index.d.ts.map +1 -0
  12. package/dist/common/utils/boolean/index.js +2 -0
  13. package/dist/common/utils/boolean/index.js.map +1 -0
  14. package/dist/common/utils/dotProp/dotProp.d.ts.map +1 -0
  15. package/dist/common/utils/dotProp/dotProp.js.map +1 -0
  16. package/dist/common/utils/dotProp/index.d.ts +2 -0
  17. package/dist/common/utils/dotProp/index.d.ts.map +1 -0
  18. package/dist/common/utils/dotProp/index.js +2 -0
  19. package/dist/common/utils/dotProp/index.js.map +1 -0
  20. package/dist/common/utils/uuid/index.d.ts +2 -0
  21. package/dist/common/utils/uuid/index.d.ts.map +1 -0
  22. package/dist/common/utils/uuid/index.js +2 -0
  23. package/dist/common/utils/uuid/index.js.map +1 -0
  24. package/dist/common/utils/uuid/uuid.d.ts +7 -0
  25. package/dist/common/utils/uuid/uuid.d.ts.map +1 -0
  26. package/dist/common/utils/uuid/uuid.js +33 -0
  27. package/dist/common/utils/uuid/uuid.js.map +1 -0
  28. package/dist/node/features/HashFolderTool/HashFolderTool.d.ts +19 -0
  29. package/dist/node/features/HashFolderTool/HashFolderTool.d.ts.map +1 -0
  30. package/dist/node/features/HashFolderTool/HashFolderTool.js +99 -0
  31. package/dist/node/features/HashFolderTool/HashFolderTool.js.map +1 -0
  32. package/dist/node/features/HashFolderTool/abstractions/HashFolderTool.d.ts +32 -0
  33. package/dist/node/features/HashFolderTool/abstractions/HashFolderTool.d.ts.map +1 -0
  34. package/dist/node/features/HashFolderTool/abstractions/HashFolderTool.js +3 -0
  35. package/dist/node/features/HashFolderTool/abstractions/HashFolderTool.js.map +1 -0
  36. package/dist/node/features/HashFolderTool/abstractions/index.d.ts +2 -0
  37. package/dist/node/features/HashFolderTool/abstractions/index.d.ts.map +1 -0
  38. package/dist/node/features/HashFolderTool/abstractions/index.js +2 -0
  39. package/dist/node/features/HashFolderTool/abstractions/index.js.map +1 -0
  40. package/dist/node/features/HashFolderTool/feature.d.ts +5 -0
  41. package/dist/node/features/HashFolderTool/feature.d.ts.map +1 -0
  42. package/dist/node/features/HashFolderTool/feature.js +9 -0
  43. package/dist/node/features/HashFolderTool/feature.js.map +1 -0
  44. package/dist/node/features/HashFolderTool/index.d.ts +4 -0
  45. package/dist/node/features/HashFolderTool/index.d.ts.map +1 -0
  46. package/dist/node/features/HashFolderTool/index.js +4 -0
  47. package/dist/node/features/HashFolderTool/index.js.map +1 -0
  48. package/dist/node/index.d.ts +1 -0
  49. package/dist/node/index.d.ts.map +1 -1
  50. package/dist/node/index.js +1 -0
  51. package/dist/node/index.js.map +1 -1
  52. package/dist/package.json +13 -11
  53. package/package.json +13 -11
  54. package/dist/common/utils/boolean.d.ts.map +0 -1
  55. package/dist/common/utils/boolean.js.map +0 -1
  56. package/dist/common/utils/dotProp.d.ts.map +0 -1
  57. package/dist/common/utils/dotProp.js.map +0 -1
  58. /package/dist/common/utils/{boolean.d.ts → boolean/boolean.d.ts} +0 -0
  59. /package/dist/common/utils/{dotProp.d.ts → dotProp/dotProp.d.ts} +0 -0
  60. /package/dist/common/utils/{dotProp.js → dotProp/dotProp.js} +0 -0
package/README.md CHANGED
@@ -27,8 +27,9 @@ The package is ESM-only and ships three subpath exports. Because each is a separ
27
27
  | `Logger` / `ConsoleLogger` / `ConsoleLoggerFeature` | Logging abstraction + console implementation — [docs](src/common/features/Logger/README.md) |
28
28
  | `Cache` / `MemoryCacheFeature` | Synchronous key-value cache — [docs](src/common/features/Cache/README.md) |
29
29
  | `AsyncCache` / `AsyncMemoryCacheFeature` | Async key-value cache — [docs](src/common/features/Cache/README.md) |
30
- | `immutableGet` / `immutableSet` / `immutableDelete` / `mutableSet` / `mutableDelete` | Dot-notation get/set/delete on nested objects — [docs](src/common/utils/README.md#dotprop) |
31
- | `toBoolean` / `isTruthy` / `isFalsy` | Semantic boolean coercion — [docs](src/common/utils/README.md#boolean) |
30
+ | `immutableGet` / `immutableSet` / `immutableDelete` / `mutableSet` / `mutableDelete` | Dot-notation get/set/delete on nested objects — [docs](src/common/utils/dotProp/README.md) |
31
+ | `toBoolean` / `isTruthy` / `isFalsy` | Semantic boolean coercion — [docs](src/common/utils/boolean/README.md) |
32
+ | `uuid` | RFC 4122 v4 UUID generator (native + fallback) — [docs](src/common/utils/uuid/README.md) |
32
33
 
33
34
  ---
34
35
 
@@ -44,6 +45,7 @@ The package is ESM-only and ships three subpath exports. Because each is a separ
44
45
  | `NdJsonReaderTool` / `NdJsonReaderToolFeature` | Parse NDJSON from files, streams, or in-memory lines with checkpoint support — [docs](src/node/features/NdJsonReaderTool/README.md) |
45
46
  | `ReadStreamFactory` / `ReadStreamFactoryFeature` | Disposable `node:fs` read streams via `AsyncDisposable` — [docs](src/node/features/ReadStreamFactory/README.md) |
46
47
  | `PackageJsonFileTool` / `PackageJsonFileToolFeature` | Read, validate, mutate, and write `package.json` files — [docs](src/node/features/PackageJsonFileTool/README.md) |
48
+ | `HashFolderTool` / `HashFolderToolFeature` | Deterministic SHA-256 hash of a folder's contents — [docs](src/node/features/HashFolderTool/README.md) |
47
49
 
48
50
  ---
49
51
 
package/dist/README.md CHANGED
@@ -27,8 +27,9 @@ The package is ESM-only and ships three subpath exports. Because each is a separ
27
27
  | `Logger` / `ConsoleLogger` / `ConsoleLoggerFeature` | Logging abstraction + console implementation — [docs](src/common/features/Logger/README.md) |
28
28
  | `Cache` / `MemoryCacheFeature` | Synchronous key-value cache — [docs](src/common/features/Cache/README.md) |
29
29
  | `AsyncCache` / `AsyncMemoryCacheFeature` | Async key-value cache — [docs](src/common/features/Cache/README.md) |
30
- | `immutableGet` / `immutableSet` / `immutableDelete` / `mutableSet` / `mutableDelete` | Dot-notation get/set/delete on nested objects — [docs](src/common/utils/README.md#dotprop) |
31
- | `toBoolean` / `isTruthy` / `isFalsy` | Semantic boolean coercion — [docs](src/common/utils/README.md#boolean) |
30
+ | `immutableGet` / `immutableSet` / `immutableDelete` / `mutableSet` / `mutableDelete` | Dot-notation get/set/delete on nested objects — [docs](src/common/utils/dotProp/README.md) |
31
+ | `toBoolean` / `isTruthy` / `isFalsy` | Semantic boolean coercion — [docs](src/common/utils/boolean/README.md) |
32
+ | `uuid` | RFC 4122 v4 UUID generator (native + fallback) — [docs](src/common/utils/uuid/README.md) |
32
33
 
33
34
  ---
34
35
 
@@ -44,6 +45,7 @@ The package is ESM-only and ships three subpath exports. Because each is a separ
44
45
  | `NdJsonReaderTool` / `NdJsonReaderToolFeature` | Parse NDJSON from files, streams, or in-memory lines with checkpoint support — [docs](src/node/features/NdJsonReaderTool/README.md) |
45
46
  | `ReadStreamFactory` / `ReadStreamFactoryFeature` | Disposable `node:fs` read streams via `AsyncDisposable` — [docs](src/node/features/ReadStreamFactory/README.md) |
46
47
  | `PackageJsonFileTool` / `PackageJsonFileToolFeature` | Read, validate, mutate, and write `package.json` files — [docs](src/node/features/PackageJsonFileTool/README.md) |
48
+ | `HashFolderTool` / `HashFolderToolFeature` | Deterministic SHA-256 hash of a folder's contents — [docs](src/node/features/HashFolderTool/README.md) |
47
49
 
48
50
  ---
49
51
 
@@ -6,6 +6,7 @@ export { ConsoleLoggerFeature } from "./features/Logger/feature.js";
6
6
  export { ConsoleLogger } from "./features/Logger/ConsoleLogger.js";
7
7
  export { Cache, AsyncCache, CacheError, MemoryCacheFeature, AsyncMemoryCacheFeature } from "./features/Cache/index.js";
8
8
  export type { ICache, IAsyncCache } from "./features/Cache/index.js";
9
- export { toBoolean, isTruthy, isFalsy } from "./utils/boolean.js";
10
- export { immutableDelete, immutableGet, mutableDelete, mutableSet, immutableSet } from "./utils/dotProp.js";
9
+ export { toBoolean, isTruthy, isFalsy } from "./utils/boolean/index.js";
10
+ export { immutableDelete, immutableGet, mutableDelete, mutableSet, immutableSet } from "./utils/dotProp/index.js";
11
+ export { uuid } from "./utils/uuid/index.js";
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACH,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACf,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,KAAK,OAAO,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EACH,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
@@ -4,6 +4,7 @@ export { ConsoleLoggerConfig } from "./features/Logger/abstractions/ConsoleLogge
4
4
  export { ConsoleLoggerFeature } from "./features/Logger/feature.js";
5
5
  export { ConsoleLogger } from "./features/Logger/ConsoleLogger.js";
6
6
  export { Cache, AsyncCache, CacheError, MemoryCacheFeature, AsyncMemoryCacheFeature } from "./features/Cache/index.js";
7
- export { toBoolean, isTruthy, isFalsy } from "./utils/boolean.js";
8
- export { immutableDelete, immutableGet, mutableDelete, mutableSet, immutableSet } from "./utils/dotProp.js";
7
+ export { toBoolean, isTruthy, isFalsy } from "./utils/boolean/index.js";
8
+ export { immutableDelete, immutableGet, mutableDelete, mutableSet, immutableSet } from "./utils/dotProp/index.js";
9
+ export { uuid } from "./utils/uuid/index.js";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,MAAM,EAAgB,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACH,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACf,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,MAAM,EAAgB,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EACH,KAAK,EACL,UAAU,EACV,UAAU,EACV,kBAAkB,EAClB,uBAAuB,EAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EACH,eAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EACV,YAAY,EACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/boolean/boolean.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAmBjD;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/C"}
@@ -1,5 +1,11 @@
1
1
  /** Exact semantic parity with the `boolean` npm package. */
2
2
  export function toBoolean(value) {
3
+ if (typeof value === "boolean") {
4
+ return value;
5
+ }
6
+ else if (typeof value === "number") {
7
+ return value === 1;
8
+ }
3
9
  switch (Object.prototype.toString.call(value)) {
4
10
  case "[object String]":
5
11
  return ["true", "t", "yes", "y", "on", "1"].includes(value.trim().toLowerCase());
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../../src/common/utils/boolean/boolean.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,iBAAiB;YAClB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAC/C,KAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACzC,CAAC;QACN,KAAK,iBAAiB;YAClB,OAAQ,KAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7C,KAAK,kBAAkB;YACnB,OAAQ,KAAiB,CAAC,OAAO,EAAE,CAAC;QACxC;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,KAAc;IAClC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { toBoolean, isTruthy, isFalsy } from "./boolean.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/boolean/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { toBoolean, isTruthy, isFalsy } from "./boolean.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/utils/boolean/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotProp.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/dotProp/dotProp.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,iBAAS,YAAY,CAAC,CAAC,GAAG,OAAO,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9C,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,CAAC,GACjB,CAAC,CAOH;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/C,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAC7C,CAAC,CAKH;AAED;;;GAGG;AACH,iBAAS,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AAC7D,iBAAS,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;AAcpF;;GAEG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAE7F;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;AAC/D,iBAAS,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;AAYxF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dotProp.js","sourceRoot":"","sources":["../../../../src/common/utils/dotProp/dotProp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,SAAS,YAAY,CACjB,MAA8C,EAC9C,IAAY,EACZ,YAAgB;IAEhB,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,OAAO,YAA4B,CAAC;IACxC,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,eAAe,CAAC,YAAY,CAAM,CAAC;IAC9C,CAAC;IACD,OAAO,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,CAAM,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACjB,MAAS,EACT,IAAY,EACZ,KAA4C;IAE5C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzF,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACjB,CAAC;AAQD,SAAS,eAAe,CAAC,MAAuC,EAAE,IAAqB;IACnF,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,cAAc,CAAC,KAA4B,EAAE,IAAc,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAgC,MAAS,EAAE,IAAY,EAAE,KAAc;IACtF,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAQD,SAAS,aAAa,CAAC,MAAuC,EAAE,IAAqB;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,cAAc,CAAC,MAA6B,EAAE,IAAc,CAAC,CAAC;AACzE,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { immutableGet, immutableSet, immutableDelete, mutableSet, mutableDelete } from "./dotProp.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/dotProp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,aAAa,EAChB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { immutableGet, immutableSet, immutableDelete, mutableSet, mutableDelete } from "./dotProp.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/utils/dotProp/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,aAAa,EAChB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { uuid } from "./uuid.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/uuid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { uuid } from "./uuid.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/utils/uuid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Generates a RFC 4122 v4 UUID.
3
+ * Uses `crypto.randomUUID` when available (Node.js, secure browser contexts).
4
+ * Falls back to `crypto.getRandomValues` for insecure (HTTP) browser contexts.
5
+ */
6
+ export declare function uuid(): string;
7
+ //# sourceMappingURL=uuid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.d.ts","sourceRoot":"","sources":["../../../../src/common/utils/uuid/uuid.ts"],"names":[],"mappings":"AA8BA;;;;GAIG;AACH,wBAAgB,IAAI,IAAI,MAAM,CAM7B"}
@@ -0,0 +1,33 @@
1
+ const HEX = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
2
+ const DASH_POSITIONS = new Set([4, 6, 8, 10]);
3
+ function v4Fallback() {
4
+ const bytes = new Uint8Array(16);
5
+ crypto.getRandomValues(bytes);
6
+ let result = "";
7
+ for (let i = 0; i < 16; i++) {
8
+ if (DASH_POSITIONS.has(i)) {
9
+ result += "-";
10
+ }
11
+ let byte = bytes[i];
12
+ if (i === 6) {
13
+ byte = (byte & 0x0f) | 0x40;
14
+ }
15
+ else if (i === 8) {
16
+ byte = (byte & 0x3f) | 0x80;
17
+ }
18
+ result += HEX[byte];
19
+ }
20
+ return result;
21
+ }
22
+ /**
23
+ * Generates a RFC 4122 v4 UUID.
24
+ * Uses `crypto.randomUUID` when available (Node.js, secure browser contexts).
25
+ * Falls back to `crypto.getRandomValues` for insecure (HTTP) browser contexts.
26
+ */
27
+ export function uuid() {
28
+ if (typeof crypto !== "undefined" && typeof crypto.randomUUID === "function") {
29
+ return crypto.randomUUID();
30
+ }
31
+ return v4Fallback();
32
+ }
33
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../../src/common/utils/uuid/uuid.ts"],"names":[],"mappings":"AAAA,MAAM,GAAG,GAA0B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACpE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAClC,CAAC;AAEF,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;AAE9C,SAAS,UAAU;IACf,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAE9B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC1B,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,GAAG,CAAC;QAClB,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAW,CAAC;QAE9B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACV,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;aAAM,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,IAAI;IAChB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,UAAU,EAAE,CAAC;AACxB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { HashFolderTool as HashFolderToolAbstraction, type HashFolderOptions, type HashFolderResult } from "./abstractions/HashFolderTool.js";
2
+ declare class HashFolderToolImpl implements HashFolderToolAbstraction.Interface {
3
+ hash(folderPath: string, options?: HashFolderOptions): HashFolderResult;
4
+ hashAsync(folderPath: string, options?: HashFolderOptions): Promise<HashFolderResult>;
5
+ }
6
+ export declare const HashFolderTool: typeof HashFolderToolImpl & {
7
+ __abstraction: import("@webiny/di").Abstraction<import("./abstractions/HashFolderTool.js").IHashFolderTool>;
8
+ };
9
+ export declare function createHashFolderTool(): HashFolderToolAbstraction.Interface;
10
+ /**
11
+ * Standalone sync — computes a SHA-256 hash of a folder's contents.
12
+ */
13
+ export declare function hashFolder(folderPath: string, options?: HashFolderOptions): HashFolderResult;
14
+ /**
15
+ * Standalone async — reads files and subdirectories in parallel.
16
+ */
17
+ export declare function hashFolderAsync(folderPath: string, options?: HashFolderOptions): Promise<HashFolderResult>;
18
+ export {};
19
+ //# sourceMappingURL=HashFolderTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashFolderTool.d.ts","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/HashFolderTool.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,cAAc,IAAI,yBAAyB,EAC3C,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACxB,MAAM,kCAAkC,CAAC;AAkG1C,cAAM,kBAAmB,YAAW,yBAAyB,CAAC,SAAS;IAC5D,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAK7E;IAEY,SAAS,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAU3B;CACJ;AAED,eAAO,MAAM,cAAc;;CAGzB,CAAC;AAEH,wBAAgB,oBAAoB,IAAI,yBAAyB,CAAC,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAE5F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACjC,UAAU,EAAE,MAAM,EAClB,OAAO,CAAC,EAAE,iBAAiB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CAE3B"}
@@ -0,0 +1,99 @@
1
+ import { createHash } from "node:crypto";
2
+ import { readdirSync, readFileSync } from "node:fs";
3
+ import { readdir, readFile } from "node:fs/promises";
4
+ import { join, relative } from "node:path";
5
+ import { HashFolderTool as HashFolderToolAbstraction } from "./abstractions/HashFolderTool.js";
6
+ function combineEntries(entries) {
7
+ entries.sort((a, b) => a.relativePath.localeCompare(b.relativePath));
8
+ const combined = createHash("sha256");
9
+ for (const entry of entries) {
10
+ combined.update(entry.relativePath);
11
+ combined.update(entry.fileHash);
12
+ }
13
+ return combined.digest("hex");
14
+ }
15
+ function collectFilesSync(rootPath, currentPath, excludeFolders, excludeFiles) {
16
+ const entries = [];
17
+ const dirEntries = readdirSync(currentPath, { withFileTypes: true });
18
+ for (const dirEntry of dirEntries) {
19
+ if (dirEntry.isDirectory()) {
20
+ if (excludeFolders.has(dirEntry.name)) {
21
+ continue;
22
+ }
23
+ const subEntries = collectFilesSync(rootPath, join(currentPath, dirEntry.name), excludeFolders, excludeFiles);
24
+ entries.push(...subEntries);
25
+ }
26
+ else if (dirEntry.isFile()) {
27
+ if (excludeFiles.has(dirEntry.name)) {
28
+ continue;
29
+ }
30
+ const filePath = join(currentPath, dirEntry.name);
31
+ const content = readFileSync(filePath);
32
+ const fileHash = createHash("sha256").update(content).digest("hex");
33
+ entries.push({ relativePath: relative(rootPath, filePath), fileHash });
34
+ }
35
+ }
36
+ return entries;
37
+ }
38
+ async function collectFilesAsync(rootPath, currentPath, excludeFolders, excludeFiles) {
39
+ const dirEntries = await readdir(currentPath, { withFileTypes: true });
40
+ const tasks = [];
41
+ const fileEntries = [];
42
+ for (const dirEntry of dirEntries) {
43
+ if (dirEntry.isDirectory()) {
44
+ if (excludeFolders.has(dirEntry.name)) {
45
+ continue;
46
+ }
47
+ tasks.push(collectFilesAsync(rootPath, join(currentPath, dirEntry.name), excludeFolders, excludeFiles));
48
+ }
49
+ else if (dirEntry.isFile()) {
50
+ if (excludeFiles.has(dirEntry.name)) {
51
+ continue;
52
+ }
53
+ const filePath = join(currentPath, dirEntry.name);
54
+ fileEntries.push(readFile(filePath).then(content => ({
55
+ relativePath: relative(rootPath, filePath),
56
+ fileHash: createHash("sha256").update(content).digest("hex")
57
+ })));
58
+ }
59
+ }
60
+ const [subResults, localFiles] = await Promise.all([
61
+ Promise.all(tasks),
62
+ Promise.all(fileEntries)
63
+ ]);
64
+ return subResults.flat().concat(localFiles);
65
+ }
66
+ class HashFolderToolImpl {
67
+ hash(folderPath, options) {
68
+ const excludeFolders = new Set(options?.excludeFolders ?? []);
69
+ const excludeFiles = new Set(options?.excludeFiles ?? []);
70
+ const entries = collectFilesSync(folderPath, folderPath, excludeFolders, excludeFiles);
71
+ return { hash: combineEntries(entries) };
72
+ }
73
+ async hashAsync(folderPath, options) {
74
+ const excludeFolders = new Set(options?.excludeFolders ?? []);
75
+ const excludeFiles = new Set(options?.excludeFiles ?? []);
76
+ const entries = await collectFilesAsync(folderPath, folderPath, excludeFolders, excludeFiles);
77
+ return { hash: combineEntries(entries) };
78
+ }
79
+ }
80
+ export const HashFolderTool = HashFolderToolAbstraction.createImplementation({
81
+ implementation: HashFolderToolImpl,
82
+ dependencies: []
83
+ });
84
+ export function createHashFolderTool() {
85
+ return new HashFolderToolImpl();
86
+ }
87
+ /**
88
+ * Standalone sync — computes a SHA-256 hash of a folder's contents.
89
+ */
90
+ export function hashFolder(folderPath, options) {
91
+ return new HashFolderToolImpl().hash(folderPath, options);
92
+ }
93
+ /**
94
+ * Standalone async — reads files and subdirectories in parallel.
95
+ */
96
+ export async function hashFolderAsync(folderPath, options) {
97
+ return new HashFolderToolImpl().hashAsync(folderPath, options);
98
+ }
99
+ //# sourceMappingURL=HashFolderTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashFolderTool.js","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/HashFolderTool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Options for filtering which folders and files are included in the hash.
3
+ */
4
+ export interface HashFolderOptions {
5
+ /** Folder names to skip during traversal (e.g. "node_modules", "dist"). */
6
+ excludeFolders?: string[];
7
+ /** File names to skip (e.g. "tsconfig.build.tsbuildinfo"). */
8
+ excludeFiles?: string[];
9
+ }
10
+ /**
11
+ * Result of hashing a folder's contents.
12
+ */
13
+ export interface HashFolderResult {
14
+ /** Hex-encoded SHA-256 digest. */
15
+ hash: string;
16
+ }
17
+ /**
18
+ * Computes a deterministic SHA-256 hash of a folder's contents.
19
+ * Walks the directory recursively, hashes each file, sorts by relative path,
20
+ * then produces a single combined hash.
21
+ */
22
+ export interface IHashFolderTool {
23
+ /** Returns a result containing the hex-encoded SHA-256 hash (synchronous). */
24
+ hash(folderPath: string, options?: HashFolderOptions): HashFolderResult;
25
+ /** Parallel variant — reads files and subdirectories concurrently. */
26
+ hashAsync(folderPath: string, options?: HashFolderOptions): Promise<HashFolderResult>;
27
+ }
28
+ export declare const HashFolderTool: import("@webiny/di").Abstraction<IHashFolderTool>;
29
+ export declare namespace HashFolderTool {
30
+ type Interface = IHashFolderTool;
31
+ }
32
+ //# sourceMappingURL=HashFolderTool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashFolderTool.d.ts","sourceRoot":"","sources":["../../../../../src/node/features/HashFolderTool/abstractions/HashFolderTool.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAC9B,2EAA2E;IAC3E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,8EAA8E;IAC9E,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;IACxE,sEAAsE;IACtE,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CACzF;AAED,eAAO,MAAM,cAAc,mDAA4D,CAAC;AAExF,yBAAiB,cAAc,CAAC;IAC5B,KAAY,SAAS,GAAG,eAAe,CAAC;CAC3C"}
@@ -0,0 +1,3 @@
1
+ import { createAbstraction } from "../../../../common/index.js";
2
+ export const HashFolderTool = createAbstraction("Node/HashFolderTool");
3
+ //# sourceMappingURL=HashFolderTool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HashFolderTool.js","sourceRoot":"","sources":["../../../../../src/node/features/HashFolderTool/abstractions/HashFolderTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAgCtD,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAkB,qBAAqB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { HashFolderTool, type HashFolderOptions, type HashFolderResult } from "./HashFolderTool.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/node/features/HashFolderTool/abstractions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { HashFolderTool } from "./HashFolderTool.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/node/features/HashFolderTool/abstractions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiD,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const HashFolderToolFeature: {
2
+ name: string;
3
+ register(container: import("@webiny/di").Container): void;
4
+ };
5
+ //# sourceMappingURL=feature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.d.ts","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/feature.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;;;CAKhC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { createFeature } from "../../../common/index.js";
2
+ import { HashFolderTool } from "./HashFolderTool.js";
3
+ export const HashFolderToolFeature = createFeature({
4
+ name: "Node/HashFolderToolFeature",
5
+ register(container) {
6
+ container.register(HashFolderTool).inSingletonScope();
7
+ }
8
+ });
9
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feature.js","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/feature.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,CAAC,MAAM,qBAAqB,GAAG,aAAa,CAAC;IAC/C,IAAI,EAAE,4BAA4B;IAClC,QAAQ,CAAC,SAAS;QACd,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC1D,CAAC;CACJ,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { HashFolderTool, type HashFolderOptions, type HashFolderResult } from "./abstractions/index.js";
2
+ export { HashFolderToolFeature } from "./feature.js";
3
+ export { createHashFolderTool, hashFolder, hashFolderAsync } from "./HashFolderTool.js";
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { HashFolderTool } from "./abstractions/index.js";
2
+ export { HashFolderToolFeature } from "./feature.js";
3
+ export { createHashFolderTool, hashFolder, hashFolderAsync } from "./HashFolderTool.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/node/features/HashFolderTool/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,cAAc,EAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -6,4 +6,5 @@ export { PathTool, PathToolFeature, createPathTool, PackageNotFoundError } from
6
6
  export { NdJsonReaderTool, NdJsonReaderToolFeature, createNdJsonReaderTool, type CreateNdJsonReaderToolParams, type NdJsonRow, type NdJsonReaderOptions } from "./features/NdJsonReaderTool/index.js";
7
7
  export { ReadStreamFactory, ReadStreamFactoryFeature, createReadStreamFactory } from "./features/ReadStreamFactory/index.js";
8
8
  export { PackageJsonFileTool, PackageJsonFileToolFeature, createPackageJsonFileTool, type CreatePackageJsonFileToolParams, PackageJsonFile } from "./features/PackageJsonFileTool/index.js";
9
+ export { HashFolderTool, HashFolderToolFeature, createHashFolderTool, hashFolder, hashFolderAsync, type HashFolderOptions, type HashFolderResult } from "./features/HashFolderTool/index.js";
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,oBAAoB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,sBAAsB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,mBAAmB,EAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,eAAe,EAClB,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,KAAK,oBAAoB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,KAAK,yBAAyB,EAC9B,KAAK,WAAW,EACnB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAChC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,sBAAsB,EAC9B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,KAAK,4BAA4B,EACjC,KAAK,SAAS,EACd,KAAK,mBAAmB,EAC3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,+BAA+B,EACpC,eAAe,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,eAAe,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACxB,MAAM,oCAAoC,CAAC"}
@@ -6,4 +6,5 @@ export { PathTool, PathToolFeature, createPathTool, PackageNotFoundError } from
6
6
  export { NdJsonReaderTool, NdJsonReaderToolFeature, createNdJsonReaderTool } from "./features/NdJsonReaderTool/index.js";
7
7
  export { ReadStreamFactory, ReadStreamFactoryFeature, createReadStreamFactory } from "./features/ReadStreamFactory/index.js";
8
8
  export { PackageJsonFileTool, PackageJsonFileToolFeature, createPackageJsonFileTool, PackageJsonFile } from "./features/PackageJsonFileTool/index.js";
9
+ export { HashFolderTool, HashFolderToolFeature, createHashFolderTool, hashFolder, hashFolderAsync } from "./features/HashFolderTool/index.js";
9
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EAEjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EAGtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAIrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAEnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EAIzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EAEzB,eAAe,EAClB,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/node/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EAEjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EAGtB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EACH,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAIrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAEnB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,QAAQ,EACR,eAAe,EACf,cAAc,EACd,oBAAoB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACH,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EAIzB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACH,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,mBAAmB,EACnB,0BAA0B,EAC1B,yBAAyB,EAEzB,eAAe,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACH,cAAc,EACd,qBAAqB,EACrB,oBAAoB,EACpB,UAAU,EACV,eAAe,EAGlB,MAAM,oCAAoC,CAAC"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/stdlib",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "description": "Standard library for Webiny — platform-agnostic, Node.js, and browser utilities",
6
6
  "license": "MIT",
@@ -26,19 +26,19 @@
26
26
  "fast-glob": "^3.3.3",
27
27
  "pino": "^10.3.1",
28
28
  "pino-pretty": "^13.1.3",
29
- "type-fest": "^5.6.0",
29
+ "type-fest": "^5.7.0",
30
30
  "zod": "^4.4.3"
31
31
  },
32
32
  "devDependencies": {
33
33
  "@changesets/cli": "^2.31.0",
34
34
  "@types/node": ">=24",
35
- "@typescript/native-preview": "^7.0.0-dev.20260519.1",
36
- "@vitest/coverage-v8": "^4.1.6",
37
- "adio": "^3.0.0",
38
- "happy-dom": "^20.9.0",
39
- "oxfmt": "^0.51.0",
40
- "oxlint": "^1.66.0",
41
- "vitest": "^4.1.6"
35
+ "@typescript/native-preview": "^7.0.0-dev.20260603.1",
36
+ "@vitest/coverage-v8": "^4.1.8",
37
+ "adio": "^3.0.1",
38
+ "happy-dom": "^20.10.1",
39
+ "oxfmt": "^0.53.0",
40
+ "oxlint": "^1.68.0",
41
+ "vitest": "^4.1.8"
42
42
  },
43
43
  "scripts": {
44
44
  "clean": "rm -rf dist",
@@ -53,6 +53,8 @@
53
53
  "lint": "oxlint --deny-warnings",
54
54
  "lint:fix": "oxlint --fix",
55
55
  "check:imports": "adio",
56
- "typecheck": "tsgo -p config/tsconfig.check.common.json && tsgo -p config/tsconfig.check.node.json && tsgo -p config/tsconfig.check.browser.json && tsgo -p config/tsconfig.check.scripts.json"
57
- }
56
+ "typecheck": "tsgo -p config/tsconfig.check.common.json && tsgo -p config/tsconfig.check.node.json && tsgo -p config/tsconfig.check.browser.json && tsgo -p config/tsconfig.check.scripts.json",
57
+ "full": "yarn check:imports && yarn clean && yarn format:fix && yarn lint:fix && yarn typecheck && yarn build && yarn test:coverage"
58
+ },
59
+ "packageManager": "yarn@4.16.0"
58
60
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/stdlib",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "type": "module",
5
5
  "description": "Standard library for Webiny — platform-agnostic, Node.js, and browser utilities",
6
6
  "license": "MIT",
@@ -29,19 +29,19 @@
29
29
  "fast-glob": "^3.3.3",
30
30
  "pino": "^10.3.1",
31
31
  "pino-pretty": "^13.1.3",
32
- "type-fest": "^5.6.0",
32
+ "type-fest": "^5.7.0",
33
33
  "zod": "^4.4.3"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@changesets/cli": "^2.31.0",
37
37
  "@types/node": ">=24",
38
- "@typescript/native-preview": "^7.0.0-dev.20260519.1",
39
- "@vitest/coverage-v8": "^4.1.6",
40
- "adio": "^3.0.0",
41
- "happy-dom": "^20.9.0",
42
- "oxfmt": "^0.51.0",
43
- "oxlint": "^1.66.0",
44
- "vitest": "^4.1.6"
38
+ "@typescript/native-preview": "^7.0.0-dev.20260603.1",
39
+ "@vitest/coverage-v8": "^4.1.8",
40
+ "adio": "^3.0.1",
41
+ "happy-dom": "^20.10.1",
42
+ "oxfmt": "^0.53.0",
43
+ "oxlint": "^1.68.0",
44
+ "vitest": "^4.1.8"
45
45
  },
46
46
  "scripts": {
47
47
  "clean": "rm -rf dist",
@@ -56,6 +56,8 @@
56
56
  "lint": "oxlint --deny-warnings",
57
57
  "lint:fix": "oxlint --fix",
58
58
  "check:imports": "adio",
59
- "typecheck": "tsgo -p config/tsconfig.check.common.json && tsgo -p config/tsconfig.check.node.json && tsgo -p config/tsconfig.check.browser.json && tsgo -p config/tsconfig.check.scripts.json"
60
- }
59
+ "typecheck": "tsgo -p config/tsconfig.check.common.json && tsgo -p config/tsconfig.check.node.json && tsgo -p config/tsconfig.check.browser.json && tsgo -p config/tsconfig.check.scripts.json",
60
+ "full": "yarn check:imports && yarn clean && yarn format:fix && yarn lint:fix && yarn typecheck && yarn build && yarn test:coverage"
61
+ },
62
+ "packageManager": "yarn@4.16.0"
61
63
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean.d.ts","sourceRoot":"","sources":["../../../src/common/utils/boolean.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAajD;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEhD;AAED,mEAAmE;AACnE,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"boolean.js","sourceRoot":"","sources":["../../../src/common/utils/boolean.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,MAAM,UAAU,SAAS,CAAC,KAAc;IACpC,QAAQ,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,iBAAiB;YAClB,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,QAAQ,CAC/C,KAAgB,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CACzC,CAAC;QACN,KAAK,iBAAiB;YAClB,OAAQ,KAAgB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAC7C,KAAK,kBAAkB;YACnB,OAAQ,KAAiB,CAAC,OAAO,EAAE,CAAC;QACxC;YACI,OAAO,KAAK,CAAC;IACrB,CAAC;AACL,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAC,KAAc;IACnC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5B,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,OAAO,CAAC,KAAc;IAClC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotProp.d.ts","sourceRoot":"","sources":["../../../src/common/utils/dotProp.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,iBAAS,YAAY,CAAC,CAAC,GAAG,OAAO,EAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,GAAG,SAAS,EAC9C,IAAI,EAAE,MAAM,EACZ,YAAY,CAAC,EAAE,CAAC,GACjB,CAAC,CAOH;AAED;;;GAGG;AACH,iBAAS,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/C,MAAM,EAAE,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,GAC7C,CAAC,CAKH;AAED;;;GAGG;AACH,iBAAS,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC;AAC7D,iBAAS,eAAe,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC;AAcpF;;GAEG;AACH,iBAAS,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAE7F;AAED;;;GAGG;AACH,iBAAS,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;AAC/D,iBAAS,aAAa,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;AAYxF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dotProp.js","sourceRoot":"","sources":["../../../src/common/utils/dotProp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAEpE;;GAEG;AACH,SAAS,YAAY,CACjB,MAA8C,EAC9C,IAAY,EACZ,YAAgB;IAEhB,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3B,OAAO,YAA4B,CAAC;IACxC,CAAC;SAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO,eAAe,CAAC,YAAY,CAAM,CAAC;IAC9C,CAAC;IACD,OAAO,WAAW,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,YAAY,CAAM,CAAC;AACzE,CAAC;AAED;;;GAGG;AACH,SAAS,YAAY,CACjB,MAAS,EACT,IAAY,EACZ,KAA4C;IAE5C,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzF,WAAW,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,KAAK,CAAC;AACjB,CAAC;AAQD,SAAS,eAAe,CAAC,MAAuC,EAAE,IAAqB;IACnF,MAAM,KAAK,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACnD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACnC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,cAAc,CAAC,KAA4B,EAAE,IAAc,CAAC,CAAC;IAC7D,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAgC,MAAS,EAAE,IAAY,EAAE,KAAc;IACtF,OAAO,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAQD,SAAS,aAAa,CAAC,MAAuC,EAAE,IAAqB;IACjF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,cAAc,CAAC,MAA6B,EAAE,IAAc,CAAC,CAAC;AACzE,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC"}