@effect-app/infra 0.68.0 → 0.68.2

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 (21) hide show
  1. package/.cache/effect/095519d034161945a8d2616a506d3e7f35a9b3d868814f44c747429c60fc4e7f.hash +1 -1
  2. package/.cache/effect/1bfd92946b11da4292f2ed99dc0e322462b60559148f9524abc20e26f70779e1.hash +1 -1
  3. package/.cache/effect/49c1bd9ec26e6df78b994d8df0bfe21b119803fa4aa46349bf4679fd0f1e7cda.hash +1 -1
  4. package/.cache/effect/58d4ccde8bd2db7829706db5bebd01b99900ee83f0f6a8413b53d17cbd69f510.hash +1 -1
  5. package/.cache/effect/72a5a16a6b62b63cd71719c833091128207d7e6c823cb32293549b3dd58c451b.hash +1 -1
  6. package/.cache/effect/7a9c33db6aedaf00093a132c1d4e48e9d043cef05e932b8a37da24d44e224248.hash +1 -1
  7. package/.cache/effect/c67d971634d2dc8118b40452b61c9a51620c35809be4a89982476aa80701d852.hash +1 -1
  8. package/.cache/effect/f38adf43700dab905456a534a0690eaf882cff2cd576c731f23d6d14a3c3d659.hash +1 -1
  9. package/CHANGELOG.md +17 -0
  10. package/_cjs/services/Store/Disk.cjs +5 -4
  11. package/_cjs/services/Store/Disk.cjs.map +1 -1
  12. package/_src/services/Store/Disk.ts +9 -4
  13. package/dist/services/Store/Disk.d.ts.map +1 -1
  14. package/dist/services/Store/Disk.js +6 -5
  15. package/package.json +8 -8
  16. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.content +0 -25
  17. package/.cache/effect/134218688132dfbdea493cbe1f26e73449f2759121df35ddd5448346b59c9a8d.hash +0 -1
  18. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.content +0 -87
  19. package/.cache/effect/14eb9da4ca6d22162888c7fdb7f39ab772d2a2dc6625db6031ecdb32ac89158f.hash +0 -1
  20. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.content +0 -97
  21. package/.cache/effect/8594f0f42afc0641b00e88998000cc47382a1d07da31f4a148f7976701ca22d5.hash +0 -1
@@ -1 +1 @@
1
- 16bfaefe5a2429ca909ad25c1703bbd285431a8192a0c87f95827a21cf7cd387
1
+ 303f340f76ffd50c75569aa3043bf124145e06cceb4057d9c4530ed31d07a728
@@ -1 +1 @@
1
- 83c9f6474d25a55a8363a18bec5e9e7ef2f1e57bcf59ea51051641eb430a9ee8
1
+ 2106804d7ed5f62d59b96efcf115903f0f9819d46ae439f0e1304f2d1b729287
@@ -1 +1 @@
1
- 20378cb1c31dd43c775c6044789dd947cb08ce40f2804afd1623ec87cfe2e4ea
1
+ 0c3f90d28e483961c87493d6563be45e5a24323b6d777f037429c5c041113be2
@@ -1 +1 @@
1
- 2ad2ca48c69fc592e81a7dea735173234df685d4464a17e30868181c4ee3959a
1
+ 30f1491bd7ed7b71a8f3b2d6d9d549cced916cd60721bf96085353b20d87b77f
@@ -1 +1 @@
1
- 35207ebdda44c6e08dd00ffc65f33a96b6b76a90f685949c026b2c702478d1fb
1
+ 84a172eae432ab308b0da7a1450443906102c34d10c90afdf2a73f756cf96a30
@@ -1 +1 @@
1
- a32a40b2ee49298c8da08cd6bba7807b93ce8b451fdc3072b8065764b621a666
1
+ 4e41249ba004a7c0dc89e9306f2fcedc66585f6a43cff02e094f0d73d723bf8d
@@ -1 +1 @@
1
- 2e7b6be49bc3deac32bc70abcdb88dbca6696392d6f2f72d02048ceac445b558
1
+ 0958fd132e2c918acec7e021223aec95701d820ac3efbcb7b6f5c96200d7c3ad
@@ -1 +1 @@
1
- acd0b034bacd357b1279f27a4bbbf4912c57d104f5a5fea36a26c9b16bc39356
1
+ 76ac514b63e950709a008303d53d3e9cc91c0bdb845dc16d2b78b8c751391d40
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @effect-app/infra
2
2
 
3
+ ## 0.68.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Update packages
8
+ - Updated dependencies
9
+ - @effect-app/infra-adapters@0.47.1
10
+ - @effect-app/prelude@0.55.1
11
+ - @effect-app/schema@0.48.1
12
+ - @effect-app/core@0.54.1
13
+
14
+ ## 0.68.1
15
+
16
+ ### Patch Changes
17
+
18
+ - Flush should be uninterruptible
19
+
3
20
  ## 0.68.0
4
21
 
5
22
  ### Minor Changes
@@ -29,12 +29,13 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed) {
29
29
  const sem = tsplus_module_1.unsafeMakeSemaphore(1);
30
30
  const withPermit = sem.withPermits(1);
31
31
  const flushToDisk = withPermit(tsplus_module_1.flatMap(store.all, fsStore.setRaw));
32
+ const flushToDiskInBackground = tsplus_module_1.forkDaemon(tsplus_module_1.uninterruptible(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))));
32
33
  return {
33
34
  ...store,
34
- batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))))),
35
- bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))))),
36
- set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err)))))),
37
- remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, err => tsplus_module_1.sync(() => console.error(err))))))
35
+ batchSet: tsplus_module_2.flow(store.batchSet, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
36
+ bulkSet: tsplus_module_2.flow(store.bulkSet, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
37
+ set: tsplus_module_2.flow(store.set, t => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
38
+ remove: tsplus_module_2.flow(store.remove, t => tsplus_module_1.tap(t, () => flushToDiskInBackground))
38
39
  };
39
40
  });
40
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","tsplus_module_1","gen","$","file","fsStore","orDie","map","readTextFile","x","JSON","parse","setRaw","v","stringify","undefined","json","writeTextFile","store","makeMemoryStoreInt","fs","existsSync","flatMap","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","batchSet","tsplus_module_2","flow","t","tap","forkDaemon","tapErrorCause","err","sync","console","error","bulkSet","remove","makeDiskStore","mkdirSync","make","config","storesSem","primary","stores","Map","getStore","allowNamespace","succeed","tsplus_module_3","storeId","Error","suspend","existing","s","_","find","args","filter","filterJoinSelect","DiskStoreLive","toLayer","StoreMaker"],"sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Disk.cjs","names":["fu","_interopRequireWildcard","require","_fs","_interopRequireDefault","_Memory","_service","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","makeDiskStoreInt","prefix","namespace","dir","name","seed","tsplus_module_1","gen","$","file","fsStore","orDie","map","readTextFile","x","JSON","parse","setRaw","v","stringify","undefined","json","writeTextFile","store","makeMemoryStoreInt","fs","existsSync","flatMap","all","sem","unsafeMakeSemaphore","withPermit","withPermits","flushToDisk","flushToDiskInBackground","forkDaemon","uninterruptible","tapErrorCause","err","sync","console","error","batchSet","tsplus_module_2","flow","t","tap","bulkSet","remove","makeDiskStore","mkdirSync","make","config","storesSem","primary","stores","Map","getStore","allowNamespace","succeed","tsplus_module_3","storeId","Error","suspend","existing","s","_","find","args","filter","filterJoinSelect","DiskStoreLive","toLayer","StoreMaker"],"sources":["../../../_src/services/Store/Disk.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -38,23 +38,28 @@ function makeDiskStoreInt<Id extends string, PM extends PersistenceModelType<Id>
38
38
  const sem = Semaphore.unsafeMake(1)
39
39
  const withPermit = sem.withPermits(1)
40
40
  const flushToDisk = store.all.flatMap(fsStore.setRaw).apply(withPermit)
41
+ const flushToDiskInBackground = flushToDisk
42
+ .tapErrorCause((err) => Effect(console.error(err)))
43
+ .uninterruptible
44
+ .forkDaemon
45
+
41
46
  return {
42
47
  ...store,
43
48
  batchSet: flow(
44
49
  store.batchSet,
45
- (t) => t.tap(() => flushToDisk.tapErrorCause((err) => Effect(console.error(err))).forkDaemon)
50
+ (t) => t.tap(() => flushToDiskInBackground)
46
51
  ),
47
52
  bulkSet: flow(
48
53
  store.bulkSet,
49
- (t) => t.tap(() => flushToDisk.tapErrorCause((err) => Effect(console.error(err))).forkDaemon)
54
+ (t) => t.tap(() => flushToDiskInBackground)
50
55
  ),
51
56
  set: flow(
52
57
  store.set,
53
- (t) => t.tap(() => flushToDisk.tapErrorCause((err) => Effect(console.error(err))).forkDaemon)
58
+ (t) => t.tap(() => flushToDiskInBackground)
54
59
  ),
55
60
  remove: flow(
56
61
  store.remove,
57
- (t) => t.tap(() => flushToDisk.tapErrorCause((err) => Effect(console.error(err))).forkDaemon)
62
+ (t) => t.tap(() => flushToDiskInBackground)
58
63
  )
59
64
  } satisfies Store<PM, Id>
60
65
  })
@@ -1 +1 @@
1
- {"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":";;AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAuDzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;yEAOtD,MAAM;GAyCnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,sGAKvE"}
1
+ {"version":3,"file":"Disk.d.ts","sourceRoot":"","sources":["../../../_src/services/Store/Disk.ts"],"names":[],"mappings":";;AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AA4DzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM;yEAOtD,MAAM;GAyCnB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,MAAM,sGAKvE"}
@@ -21,12 +21,13 @@ function makeDiskStoreInt(prefix, namespace, dir, name, seed) {
21
21
  const sem = tsplus_module_1.unsafeMakeSemaphore(1);
22
22
  const withPermit = sem.withPermits(1);
23
23
  const flushToDisk = withPermit(tsplus_module_1.flatMap(store.all, fsStore.setRaw));
24
+ const flushToDiskInBackground = tsplus_module_1.forkDaemon(tsplus_module_1.uninterruptible(tsplus_module_1.tapErrorCause(flushToDisk, (err) => tsplus_module_1.sync(() => console.error(err)))));
24
25
  return {
25
26
  ...store,
26
- batchSet: tsplus_module_2.flow(store.batchSet, (t) => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, (err) => tsplus_module_1.sync(() => console.error(err)))))),
27
- bulkSet: tsplus_module_2.flow(store.bulkSet, (t) => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, (err) => tsplus_module_1.sync(() => console.error(err)))))),
28
- set: tsplus_module_2.flow(store.set, (t) => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, (err) => tsplus_module_1.sync(() => console.error(err)))))),
29
- remove: tsplus_module_2.flow(store.remove, (t) => tsplus_module_1.tap(t, () => tsplus_module_1.forkDaemon(tsplus_module_1.tapErrorCause(flushToDisk, (err) => tsplus_module_1.sync(() => console.error(err))))))
27
+ batchSet: tsplus_module_2.flow(store.batchSet, (t) => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
28
+ bulkSet: tsplus_module_2.flow(store.bulkSet, (t) => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
29
+ set: tsplus_module_2.flow(store.set, (t) => tsplus_module_1.tap(t, () => flushToDiskInBackground)),
30
+ remove: tsplus_module_2.flow(store.remove, (t) => tsplus_module_1.tap(t, () => flushToDiskInBackground))
30
31
  };
31
32
  });
32
33
  }
@@ -77,4 +78,4 @@ export function makeDiskStore({ prefix }, dir) {
77
78
  export function DiskStoreLive(config, dir) {
78
79
  return tsplus_module_1.toLayer(tsplus_module_1.flatMap(tsplus_module_1.config(config), (_) => makeDiskStore(_, dir)), StoreMaker);
79
80
  }
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvRGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFbkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLFNBQVMsZ0JBQWdCLENBQ3ZCLE1BQWMsRUFDZCxTQUFpQixFQUNqQixHQUFXLEVBQ1gsSUFBWSxFQUNaLElBQXlDO0lBRXpDLE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUE7UUFDbkcsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLHdCQUFFLG9CQUFBLEVBQUU7aUJBQ0osWUFBWSxDQUFDLElBQUksQ0FBQyxFQUNkLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBUyxDQUFDLENBQzVCO1lBQ1IsTUFBTSxFQUFFLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NB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
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGlzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvU3RvcmUvRGlzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxLQUFLLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFbkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRXpDLFNBQVMsZ0JBQWdCLENBQ3ZCLE1BQWMsRUFDZCxTQUFpQixFQUNqQixHQUFXLEVBQ1gsSUFBWSxFQUNaLElBQXlDO0lBRXpDLE9BQU8sb0JBQVcsUUFBUSxDQUFDLEVBQUMsQ0FBQztRQUMzQixNQUFNLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLE1BQU0sR0FBRyxJQUFJLEdBQUcsQ0FBQyxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsR0FBRyxPQUFPLENBQUE7UUFDbkcsTUFBTSxPQUFPLEdBQUc7WUFDZCxHQUFHLHdCQUFFLG9CQUFBLEVBQUU7aUJBQ0osWUFBWSxDQUFDLElBQUksQ0FBQyxFQUNkLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBUyxDQUFDLENBQzVCO1lBQ1IsTUFBTSxFQUFFLENBQUMsQ0FBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1NB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
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@effect-app/infra",
3
- "version": "0.68.0",
3
+ "version": "0.68.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "dependencies": {
7
7
  "@azure/cosmos": "^3.17.3",
8
8
  "@azure/service-bus": "^7.9.0",
9
9
  "@effect/data": "^0.12.2",
10
- "@effect/io": "^0.25.12",
10
+ "@effect/io": "^0.25.13",
11
11
  "@sendgrid/helpers": "^7.7.0",
12
12
  "@sendgrid/mail": "^7.7.0",
13
13
  "change-case": "^4.1.2",
@@ -19,16 +19,16 @@
19
19
  "proper-lockfile": "^4.1.2",
20
20
  "pure-rand": "^6.0.2",
21
21
  "redlock": "^4.2.0",
22
- "@effect-app/prelude": "0.55.0",
23
- "@effect-app/core": "0.54.0",
24
- "@effect-app/infra-adapters": "0.47.0",
25
- "@effect-app/schema": "0.48.0"
22
+ "@effect-app/prelude": "0.55.1",
23
+ "@effect-app/core": "0.54.1",
24
+ "@effect-app/schema": "0.48.1",
25
+ "@effect-app/infra-adapters": "0.47.1"
26
26
  },
27
27
  "devDependencies": {
28
28
  "@babel/cli": "^7.21.5",
29
- "@sentry/node": "^7.52.1",
29
+ "@sentry/node": "^7.53.1",
30
30
  "@types/express": "^4.17.17",
31
- "@types/node": "~20.2.1",
31
+ "@types/node": "~20.2.3",
32
32
  "@types/proper-lockfile": "^4.1.2",
33
33
  "@types/redis": "^2.8.32",
34
34
  "@types/redlock": "^4.0.4",
@@ -1,25 +0,0 @@
1
- import * as tsplus_module_1 from "@effect/io/Effect";
2
- import { InvalidStateError } from "../../errors.js";
3
- import { checkDuplicatePaths } from "./makeJsonSchema.js";
4
- const path = { path: "/securities/:id/search/:id2", method: "get" };
5
- const equalPaths = [
6
- "/securities/:idt/search/:id2",
7
- "/securities/:id/search/:id2t",
8
- "/securities/:idt/search/:id2t"
9
- ]
10
- .map((path) => ({ path, method: "get" }));
11
- const differentPaths = [
12
- "/securities/:id/search/",
13
- "/securities/search/:id2",
14
- "/securities/:id/:id2/search/:id3"
15
- ]
16
- .map((path) => ({ path, method: "get" }))
17
- .concat([
18
- "/securities/:idt/search/:id2"
19
- ]
20
- .map((path) => ({ path, method: "post" })));
21
- test("works", () => {
22
- expect(checkDuplicatePaths([path, ...differentPaths])).toStrictEqual(tsplus_module_1.succeed([path, ...differentPaths]));
23
- equalPaths.forEach((p) => expect(checkDuplicatePaths([path, p])).toStrictEqual(tsplus_module_1.fail(new InvalidStateError(`Duplicate method ${p.method} for path ${p.path}`))));
24
- });
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUpzb25TY2hlbWEudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3MvbWFrZUpzb25TY2hlbWEudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFFekQsTUFBTSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFBO0FBRW5FLE1BQU0sVUFBVSxHQUFHO0lBQ2pCLDhCQUE4QjtJQUM5Qiw4QkFBOEI7SUFDOUIsK0JBQStCO0NBQ2hDO0tBQ0UsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFFM0MsTUFBTSxjQUFjLEdBR2Q7SUFDSix5QkFBeUI7SUFDekIseUJBQXlCO0lBQ3pCLGtDQUFrQztDQUNuQztLQUNFLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztLQUN4QyxNQUFNLENBQUM7SUFDTiw4QkFBOEI7Q0FDL0I7S0FDRSxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBRS9DLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO0lBQ2pCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsd0JBQWUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFL0csVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3ZCLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUNsRCxxQkFBWSxJQUFJLGlCQUFpQixDQUFDLG9CQUFvQixDQUFDLENBQUMsTUFBTSxhQUFhLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQ3RGLENBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW52YWxpZFN0YXRlRXJyb3IgfSBmcm9tIFwiLi4vLi4vZXJyb3JzLmpzXCJcbmltcG9ydCB7IGNoZWNrRHVwbGljYXRlUGF0aHMgfSBmcm9tIFwiLi9tYWtlSnNvblNjaGVtYS5qc1wiXG5cbmNvbnN0IHBhdGggPSB7IHBhdGg6IFwiL3NlY3VyaXRpZXMvOmlkL3NlYXJjaC86aWQyXCIsIG1ldGhvZDogXCJnZXRcIiB9XG5cbmNvbnN0IGVxdWFsUGF0aHMgPSBbXG4gIFwiL3NlY3VyaXRpZXMvOmlkdC9zZWFyY2gvOmlkMlwiLFxuICBcIi9zZWN1cml0aWVzLzppZC9zZWFyY2gvOmlkMnRcIixcbiAgXCIvc2VjdXJpdGllcy86aWR0L3NlYXJjaC86aWQydFwiXG5dXG4gIC5tYXAoKHBhdGgpID0+ICh7IHBhdGgsIG1ldGhvZDogXCJnZXRcIiB9KSlcblxuY29uc3QgZGlmZmVyZW50UGF0aHM6IHtcbiAgcGF0aDogc3RyaW5nXG4gIG1ldGhvZDogc3RyaW5nXG59W10gPSBbXG4gIFwiL3NlY3VyaXRpZXMvOmlkL3NlYXJjaC9cIixcbiAgXCIvc2VjdXJpdGllcy9zZWFyY2gvOmlkMlwiLFxuICBcIi9zZWN1cml0aWVzLzppZC86aWQyL3NlYXJjaC86aWQzXCJcbl1cbiAgLm1hcCgocGF0aCkgPT4gKHsgcGF0aCwgbWV0aG9kOiBcImdldFwiIH0pKVxuICAuY29uY2F0KFtcbiAgICBcIi9zZWN1cml0aWVzLzppZHQvc2VhcmNoLzppZDJcIlxuICBdXG4gICAgLm1hcCgocGF0aCkgPT4gKHsgcGF0aCwgbWV0aG9kOiBcInBvc3RcIiB9KSkpXG5cbnRlc3QoXCJ3b3Jrc1wiLCAoKSA9PiB7XG4gIGV4cGVjdChjaGVja0R1cGxpY2F0ZVBhdGhzKFtwYXRoLCAuLi5kaWZmZXJlbnRQYXRoc10pKS50b1N0cmljdEVxdWFsKEVmZmVjdC5zdWNjZWVkKFtwYXRoLCAuLi5kaWZmZXJlbnRQYXRoc10pKVxuXG4gIGVxdWFsUGF0aHMuZm9yRWFjaCgocCkgPT5cbiAgICBleHBlY3QoY2hlY2tEdXBsaWNhdGVQYXRocyhbcGF0aCwgcF0pKS50b1N0cmljdEVxdWFsKFxuICAgICAgRWZmZWN0LmZhaWwobmV3IEludmFsaWRTdGF0ZUVycm9yKGBEdXBsaWNhdGUgbWV0aG9kICR7cC5tZXRob2R9IGZvciBwYXRoICR7cC5wYXRofWApKVxuICAgIClcbiAgKVxufSlcbiJdfQ==
@@ -1 +0,0 @@
1
- eeeabf23eeed55cc19be92fad9db0ad57b0af0d181bde005fe3c6a7181ab452f
@@ -1,87 +0,0 @@
1
- import * as tsplus_module_1 from "@effect/io/Effect";
2
- import * as tsplus_module_2 from "@effect/data/Chunk";
3
- import * as tsplus_module_3 from "@effect-app/core/_ext/Iterable";
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- import { InvalidStateError } from "../../errors.js";
6
- import * as RS from "./schema/routing.js";
7
- const rx = /:(\w+)/g;
8
- export function checkDuplicatePaths(paths) {
9
- const methods = Symbol("methods");
10
- const pathMethods = { [methods]: [] };
11
- const regex = /(?:^|\/)([^/:\n]+)|:(\w+)/g;
12
- for (const path of paths) {
13
- const matches = [...path.path.matchAll(regex)]
14
- .map((match) => match[1]
15
- ? { _tag: "resource", value: match[1] }
16
- : { _tag: "param", value: match[2] });
17
- let pathNavigator = pathMethods;
18
- for (let i = 0; i < matches.length;) {
19
- const match = matches[i];
20
- switch (match._tag) {
21
- case "resource": {
22
- if (!(match.value in (pathNavigator))) {
23
- ;
24
- (pathNavigator)[match.value] = { [methods]: [] };
25
- }
26
- pathNavigator = (pathNavigator)[match.value];
27
- i++;
28
- break;
29
- }
30
- case "param": {
31
- let numberOfParams = 1;
32
- while (i < matches.length && matches[i + 1]?._tag === "param") {
33
- numberOfParams++;
34
- i++;
35
- }
36
- if (!(numberOfParams in pathNavigator)) {
37
- ;
38
- (pathNavigator)[numberOfParams] = { [methods]: [] };
39
- }
40
- pathNavigator = (pathNavigator)[numberOfParams];
41
- i++;
42
- break;
43
- }
44
- }
45
- }
46
- if (pathNavigator[methods].includes(path.method)) {
47
- // throw duplicate path-method error
48
- return tsplus_module_1.fail(new InvalidStateError(`Duplicate method ${path.method} for path ${path.path}`));
49
- }
50
- pathNavigator[methods].push(path.method);
51
- }
52
- return tsplus_module_1.succeed(paths);
53
- }
54
- /**
55
- * Work in progress JSONSchema generator.
56
- */
57
- export function makeJsonSchema(r) {
58
- return tsplus_module_1.map(tsplus_module_1.flatMap(tsplus_module_3.ext_forEach(tsplus_module_2.fromIterable(r), RS.makeFromSchema), checkDuplicatePaths), (e) => {
59
- const map = ({ method, path, responses, ...rest }) => ({
60
- [method]: {
61
- ...rest,
62
- responses: responses.reduce((prev, cur) => {
63
- prev[cur.statusCode] = cur.type;
64
- return prev;
65
- }, {})
66
- }
67
- });
68
- return e.reduce((prev, e) => {
69
- const path = e.path.split("?")[0].replace(rx, (_a, b) => `{${b}}`);
70
- prev[path] = {
71
- ...prev[path],
72
- ...map(e)
73
- };
74
- return prev;
75
- }, {});
76
- });
77
- }
78
- class Response {
79
- statusCode;
80
- type;
81
- constructor(statusCode, type // string | JSONSchema | SubSchema
82
- ) {
83
- this.statusCode = statusCode;
84
- this.type = type;
85
- }
86
- }
87
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL21ha2VKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBSXpDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQTtBQUlwQixNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEtBQW1CO0lBRW5CLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUtqQyxNQUFNLFdBQVcsR0FBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFBO0lBQ2xELE1BQU0sS0FBSyxHQUFHLDRCQUE0QixDQUFBO0lBRTFDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUMzQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNiLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDTixDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQVc7WUFDaEQsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBRSxFQUFXLENBQ2pELENBQUE7UUFFSCxJQUFJLGFBQWEsR0FBMkIsV0FBVyxDQUFBO1FBQ3ZELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxHQUFHO1lBQ25DLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUUsQ0FBQTtZQUN6QixRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2xCLEtBQUssVUFBVSxDQUFDLENBQUM7b0JBQ2YsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEVBQUU7d0JBQ3JDLENBQUM7d0JBQUEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFBO3FCQUNsRDtvQkFDRCxhQUFhLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFFLENBQUE7b0JBQzdDLENBQUMsRUFBRSxDQUFBO29CQUNILE1BQUs7aUJBQ047Z0JBQ0QsS0FBSyxPQUFPLENBQUMsQ0FBQztvQkFDWixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUE7b0JBQ3RCLE9BQU8sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEtBQUssT0FBTyxFQUFFO3dCQUM3RCxjQUFjLEVBQUUsQ0FBQTt3QkFDaEIsQ0FBQyxFQUFFLENBQUE7cUJBQ0o7b0JBRUQsSUFBSSxDQUFDLENBQUMsY0FBYyxJQUFJLGFBQWEsQ0FBQyxFQUFFO3dCQUN0QyxDQUFDO3dCQUFBLENBQUMsYUFBYSxDQUFDLENBQUMsY0FBYyxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFBO3FCQUNyRDtvQkFDRCxhQUFhLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxjQUFjLENBQUUsQ0FBQTtvQkFDaEQsQ0FBQyxFQUFFLENBQUE7b0JBQ0gsTUFBSztpQkFDTjthQUNGO1NBQ0Y7UUFFRCxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2hELG9DQUFvQztZQUNwQyxPQUFPLHFCQUFZLElBQUksaUJBQWlCLENBQUMsb0JBQW9CLElBQUksQ0FBQyxNQUFNLGFBQWEsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQTtTQUNuRztRQUNELGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO0tBQ3pDO0lBRUQsT0FBTyx3QkFBZSxLQUFLLENBQUMsQ0FBQTtBQUM5QixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLENBQWtDO0lBQy9ELE9BQU8sb0JBQUEsd0JBQUEsNEJBQUEsNkJBQ1MsQ0FBQyxDQUFDLEVBQ0QsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUN4QixtQkFBbUIsQ0FBQyxFQUN4QixDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ1QsTUFBTSxHQUFHLEdBQUcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxFQUFnQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ1IsR0FBRyxJQUFJO2dCQUNQLFNBQVMsRUFBRyxTQUF3QixDQUFDLE1BQU0sQ0FDekMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7b0JBQ1osSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFBO29CQUMvQixPQUFPLElBQUksQ0FBQTtnQkFDYixDQUFDLEVBQ0QsRUFBc0QsQ0FDdkQ7YUFDRjtTQUNGLENBQUMsQ0FBQTtRQUNGLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FDYixDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNWLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDbEUsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHO2dCQUNYLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztnQkFDYixHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQVE7YUFDakIsQ0FBQTtZQUNELE9BQU8sSUFBSSxDQUFBO1FBQ2IsQ0FBQyxFQUNELEVBQTZELENBQzlELENBQUE7SUFDSCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUM7QUFFRCxNQUFNLFFBQVE7SUFFTTtJQUNBO0lBRmxCLFlBQ2tCLFVBQWtCLEVBQ2xCLElBQVMsQ0FBQyxrQ0FBa0M7O1FBRDVDLGVBQVUsR0FBVixVQUFVLENBQVE7UUFDbEIsU0FBSSxHQUFKLElBQUksQ0FBSztJQUN4QixDQUFDO0NBQ0wiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5cbmltcG9ydCB7IEludmFsaWRTdGF0ZUVycm9yIH0gZnJvbSBcIi4uLy4uL2Vycm9ycy5qc1wiXG5pbXBvcnQgKiBhcyBSUyBmcm9tIFwiLi9zY2hlbWEvcm91dGluZy5qc1wiXG5cbnR5cGUgTWV0aG9kcyA9IFwiR0VUXCIgfCBcIlBVVFwiIHwgXCJQT1NUXCIgfCBcIlBBVENIXCIgfCBcIkRFTEVURVwiXG5cbmNvbnN0IHJ4ID0gLzooXFx3KykvZ1xuXG50eXBlIF9BPEM+ID0gQyBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgQT4gPyBBIDogbmV2ZXJcblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrRHVwbGljYXRlUGF0aHM8VCBleHRlbmRzIHsgcGF0aDogc3RyaW5nOyBtZXRob2Q6IHN0cmluZyB9PihcbiAgcGF0aHM6IHJlYWRvbmx5IFRbXVxuKTogRWZmZWN0PG5ldmVyLCBJbnZhbGlkU3RhdGVFcnJvciwgcmVhZG9ubHkgVFtdPiB7XG4gIGNvbnN0IG1ldGhvZHMgPSBTeW1ib2woXCJtZXRob2RzXCIpXG4gIGludGVyZmFjZSBQYXRoTWV0aG9kcyB7XG4gICAgW2tleTogc3RyaW5nIHwgbnVtYmVyXTogdGhpcyB8IHVuZGVmaW5lZFxuICAgIFttZXRob2RzXTogc3RyaW5nW11cbiAgfVxuICBjb25zdCBwYXRoTWV0aG9kczogUGF0aE1ldGhvZHMgPSB7IFttZXRob2RzXTogW10gfVxuICBjb25zdCByZWdleCA9IC8oPzpefFxcLykoW14vOlxcbl0rKXw6KFxcdyspL2dcblxuICBmb3IgKGNvbnN0IHBhdGggb2YgcGF0aHMpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gWy4uLnBhdGgucGF0aC5tYXRjaEFsbChyZWdleCldXG4gICAgICAubWFwKChtYXRjaCkgPT5cbiAgICAgICAgbWF0Y2hbMV1cbiAgICAgICAgICA/IHsgX3RhZzogXCJyZXNvdXJjZVwiLCB2YWx1ZTogbWF0Y2hbMV0gfSBhcyBjb25zdFxuICAgICAgICAgIDogeyBfdGFnOiBcInBhcmFtXCIsIHZhbHVlOiBtYXRjaFsyXSEgfSBhcyBjb25zdFxuICAgICAgKVxuXG4gICAgbGV0IHBhdGhOYXZpZ2F0b3I6IFBhdGhNZXRob2RzIHwgc3RyaW5nW10gPSBwYXRoTWV0aG9kc1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2hlcy5sZW5ndGg7KSB7XG4gICAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXNbaV0hXG4gICAgICBzd2l0Y2ggKG1hdGNoLl90YWcpIHtcbiAgICAgICAgY2FzZSBcInJlc291cmNlXCI6IHtcbiAgICAgICAgICBpZiAoIShtYXRjaC52YWx1ZSBpbiAocGF0aE5hdmlnYXRvcikpKSB7XG4gICAgICAgICAgICA7KHBhdGhOYXZpZ2F0b3IpW21hdGNoLnZhbHVlXSA9IHsgW21ldGhvZHNdOiBbXSB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHBhdGhOYXZpZ2F0b3IgPSAocGF0aE5hdmlnYXRvcilbbWF0Y2gudmFsdWVdIVxuICAgICAgICAgIGkrK1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcInBhcmFtXCI6IHtcbiAgICAgICAgICBsZXQgbnVtYmVyT2ZQYXJhbXMgPSAxXG4gICAgICAgICAgd2hpbGUgKGkgPCBtYXRjaGVzLmxlbmd0aCAmJiBtYXRjaGVzW2kgKyAxXT8uX3RhZyA9PT0gXCJwYXJhbVwiKSB7XG4gICAgICAgICAgICBudW1iZXJPZlBhcmFtcysrXG4gICAgICAgICAgICBpKytcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIShudW1iZXJPZlBhcmFtcyBpbiBwYXRoTmF2aWdhdG9yKSkge1xuICAgICAgICAgICAgOyhwYXRoTmF2aWdhdG9yKVtudW1iZXJPZlBhcmFtc10gPSB7IFttZXRob2RzXTogW10gfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwYXRoTmF2aWdhdG9yID0gKHBhdGhOYXZpZ2F0b3IpW251bWJlck9mUGFyYW1zXSFcbiAgICAgICAgICBpKytcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHBhdGhOYXZpZ2F0b3JbbWV0aG9kc10uaW5jbHVkZXMocGF0aC5tZXRob2QpKSB7XG4gICAgICAvLyB0aHJvdyBkdXBsaWNhdGUgcGF0aC1tZXRob2QgZXJyb3JcbiAgICAgIHJldHVybiBFZmZlY3QuZmFpbChuZXcgSW52YWxpZFN0YXRlRXJyb3IoYER1cGxpY2F0ZSBtZXRob2QgJHtwYXRoLm1ldGhvZH0gZm9yIHBhdGggJHtwYXRoLnBhdGh9YCkpXG4gICAgfVxuICAgIHBhdGhOYXZpZ2F0b3JbbWV0aG9kc10ucHVzaChwYXRoLm1ldGhvZClcbiAgfVxuXG4gIHJldHVybiBFZmZlY3Quc3VjY2VlZChwYXRocylcbn1cblxuLyoqXG4gKiBXb3JrIGluIHByb2dyZXNzIEpTT05TY2hlbWEgZ2VuZXJhdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWFrZUpzb25TY2hlbWEocjogSXRlcmFibGU8UlMuUm91dGVEZXNjcmlwdG9yQW55Pikge1xuICByZXR1cm4gQ2h1bmtcbiAgICAuZnJvbUl0ZXJhYmxlKHIpXG4gICAgLmZvckVhY2hFZmZlY3QoUlMubWFrZUZyb21TY2hlbWEpXG4gICAgLmZsYXRNYXAoY2hlY2tEdXBsaWNhdGVQYXRocylcbiAgICAubWFwKChlKSA9PiB7XG4gICAgICBjb25zdCBtYXAgPSAoeyBtZXRob2QsIHBhdGgsIHJlc3BvbnNlcywgLi4ucmVzdCB9OiBfQTx0eXBlb2YgZT4pID0+ICh7XG4gICAgICAgIFttZXRob2RdOiB7XG4gICAgICAgICAgLi4ucmVzdCxcbiAgICAgICAgICByZXNwb25zZXM6IChyZXNwb25zZXMgYXMgQXJyYXk8YW55PikucmVkdWNlKFxuICAgICAgICAgICAgKHByZXYsIGN1cikgPT4ge1xuICAgICAgICAgICAgICBwcmV2W2N1ci5zdGF0dXNDb2RlXSA9IGN1ci50eXBlXG4gICAgICAgICAgICAgIHJldHVybiBwcmV2XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge30gYXMgUmVjb3JkPFJlc3BvbnNlW1wic3RhdHVzQ29kZVwiXSwgUmVzcG9uc2VbXCJ0eXBlXCJdPlxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIHJldHVybiBlLnJlZHVjZShcbiAgICAgICAgKHByZXYsIGUpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXRoID0gZS5wYXRoLnNwbGl0KFwiP1wiKVswXS5yZXBsYWNlKHJ4LCAoX2EsIGIpID0+IGB7JHtifX1gKVxuICAgICAgICAgIHByZXZbcGF0aF0gPSB7XG4gICAgICAgICAgICAuLi5wcmV2W3BhdGhdLFxuICAgICAgICAgICAgLi4ubWFwKGUpIGFzIGFueVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcHJldlxuICAgICAgICB9LFxuICAgICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8TWV0aG9kcywgUmV0dXJuVHlwZTx0eXBlb2YgbWFwPj4+XG4gICAgICApXG4gICAgfSlcbn1cblxuY2xhc3MgUmVzcG9uc2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgc3RhdHVzQ29kZTogbnVtYmVyLFxuICAgIHB1YmxpYyByZWFkb25seSB0eXBlOiBhbnkgLy8gc3RyaW5nIHwgSlNPTlNjaGVtYSB8IFN1YlNjaGVtYVxuICApIHt9XG59XG4iXX0=
@@ -1 +0,0 @@
1
- 8cc23346cd9bd1e663ddc1a53b36d0946bd5be2c5d457dd4fb342a3ea8f7e52e
@@ -1,97 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/core/Option";
2
- import * as tsplus_module_2 from "@effect/io/Effect";
3
- import * as tsplus_module_3 from "@effect/data/Option";
4
- /* eslint-disable @typescript-eslint/no-explicit-any */
5
- import * as MO from "@effect-app/schema";
6
- import { isObjectSchema } from "@effect-app/infra-adapters/Openapi/atlas-plutus";
7
- import * as OpenApi from "@effect-app/infra-adapters/Openapi/index";
8
- export function asRouteDescriptionAny(i) {
9
- return i;
10
- }
11
- export function arrAsRouteDescriptionAny(arr) {
12
- return arr.map(asRouteDescriptionAny);
13
- }
14
- export function makeRouteDescriptor(path, method, handler) {
15
- return { path, method, handler, _tag: "Schema" };
16
- }
17
- export function makeFromSchema(e) {
18
- const jsonSchema_ = OpenApi.for;
19
- const jsonSchema = (r) => jsonSchema_(r);
20
- const { Request: Req, Response: Res_, ResponseOpenApi } = e.handler;
21
- const r = ResponseOpenApi ?? Res_;
22
- const Res = r ? MO.extractSchema(r) : MO.Void;
23
- // TODO EffectOption.fromNullable(Req.Headers).flatMapOpt(jsonSchema)
24
- // TODO: use the path vs body etc serialisation also in the Client.
25
- const makeReqQuerySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Query)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
26
- const makeReqHeadersSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Headers)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
27
- const makeReqCookieSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Cookie)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
28
- const makeReqPathSchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Path)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
29
- const makeReqBodySchema = tsplus_module_2.flatMap(tsplus_module_2.sync(() => tsplus_module_3.fromNullable(Req.Body)), (_) => tsplus_module_3.match(_, () => tsplus_module_2.sync(() => tsplus_module_1.none), (_) => tsplus_module_2.map(jsonSchema(_), tsplus_module_3.some)));
30
- // const makeReqSchema = schema(Req)
31
- const makeResSchema = jsonSchema_(Res);
32
- function makeParameters(inn) {
33
- return (a) => {
34
- return tsplus_module_3.getOrElse(tsplus_module_3.map(tsplus_module_3.flatMap(a, (o) => (isObjectSchema(o) ? tsplus_module_3.some(o) : tsplus_module_1.none)), (x) => {
35
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
36
- return Object.keys(x.properties).map((p) => {
37
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
38
- const schema = x.properties[p];
39
- const required = Boolean(x.required?.includes(p));
40
- return { name: p, in: inn, required, schema };
41
- });
42
- }), () => []);
43
- };
44
- }
45
- return tsplus_module_2.map(tsplus_module_2.all({
46
- req: jsonSchema(Req.Model),
47
- reqQuery: makeReqQuerySchema,
48
- reqHeaders: makeReqHeadersSchema,
49
- reqBody: makeReqBodySchema,
50
- reqPath: makeReqPathSchema,
51
- reqCookie: makeReqCookieSchema,
52
- res: makeResSchema
53
- }), (_) => {
54
- // console.log("$$$ REQ", _.req)
55
- const isEmpty = !e.handler.Response || e.handler.Response === MO.Void;
56
- return {
57
- path: e.path,
58
- method: e.method.toLowerCase(),
59
- tags: e.info?.tags,
60
- description: _.req?.description,
61
- summary: _.req?.summary,
62
- operationId: _.req?.title,
63
- parameters: [
64
- ...makeParameters("path")(_.reqPath),
65
- ...makeParameters("query")(_.reqQuery),
66
- ...makeParameters("header")(_.reqHeaders),
67
- ...makeParameters("cookie")(_.reqCookie)
68
- ],
69
- requestBody: tsplus_module_1.getOrUndefined(tsplus_module_3.map(_
70
- .reqBody, (schema) => ({
71
- content: { "application/json": { schema } }
72
- }))),
73
- responses: [
74
- isEmpty
75
- ? new Response(204, { description: "Empty" })
76
- : new Response(200, {
77
- description: "OK",
78
- content: { "application/json": { schema: _.res } }
79
- }),
80
- new Response(400, { description: "ValidationError" })
81
- ]
82
- .concat(e.path.includes(":") && isEmpty
83
- ? [new Response(404, { description: "NotFoundError" })]
84
- : [])
85
- };
86
- });
87
- }
88
- class Response {
89
- statusCode;
90
- type;
91
- constructor(statusCode, type // string | JSONSchema | SubSchema
92
- ) {
93
- this.statusCode = statusCode;
94
- this.type = type;
95
- }
96
- }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL19zcmMvYXBpL2V4cHJlc3Mvc2NoZW1hL3JvdXRpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFJeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlEQUFpRCxDQUFBO0FBQ2hGLE9BQU8sS0FBSyxPQUFPLE1BQU0sMENBQTBDLENBQUE7QUFHbkUsTUFBTSxVQUFVLHFCQUFxQixDQUErQixDQUFJO0lBQ3RFLE9BQU8sQ0FBdUIsQ0FBQTtBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxHQUFxQjtJQUVyQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMscUJBQXFCLENBQUMsQ0FBQTtBQUN2QyxDQUFDO0FBa0NELE1BQU0sVUFBVSxtQkFBbUIsQ0FZakMsSUFBWSxFQUNaLE1BQWMsRUFDZCxPQVVDO0lBRUQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBVzdDLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsQ0FBZ0U7SUFFaEUsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQTtJQUMvQixNQUFNLFVBQVUsR0FBRyxDQUFPLENBQWtCLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUE7SUFDbkUsTUFBTSxDQUFDLEdBQUcsZUFBZSxJQUFJLElBQUksQ0FBQTtJQUNqQyxNQUFNLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMs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eHBsaWNpdC1hbnkgKi9cbmltcG9ydCAqIGFzIE1PIGZyb20gXCJAZWZmZWN0LWFwcC9zY2hlbWFcIlxuaW1wb3J0IHR5cGUgeyBNZXRob2RzIH0gZnJvbSBcIkBlZmZlY3QtYXBwL3NjaGVtYVwiXG5cbmltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYSwgUGFyYW1ldGVyTG9jYXRpb24sIFN1YlNjaGVtYSB9IGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2F0bGFzLXBsdXR1c1wiXG5pbXBvcnQgeyBpc09iamVjdFNjaGVtYSB9IGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2F0bGFzLXBsdXR1c1wiXG5pbXBvcnQgKiBhcyBPcGVuQXBpIGZyb20gXCJAZWZmZWN0LWFwcC9pbmZyYS1hZGFwdGVycy9PcGVuYXBpL2luZGV4XCJcbmltcG9ydCB0eXBlIHsgUmVxdWVzdEhhbmRsZXIsIFJlcXVlc3RIYW5kbGVyT3B0UmVzIH0gZnJvbSBcIi4vcmVxdWVzdEhhbmRsZXIuanNcIlxuXG5leHBvcnQgZnVuY3Rpb24gYXNSb3V0ZURlc2NyaXB0aW9uQW55PFIgZXh0ZW5kcyBSb3V0ZURlc2NyaXB0b3JBbnk+KGk6IFIpIHtcbiAgcmV0dXJuIGkgYXMgUm91dGVEZXNjcmlwdG9yQW55XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJBc1JvdXRlRGVzY3JpcHRpb25Bbnk8UiBleHRlbmRzIFJvdXRlRGVzY3JpcHRvckFueT4oXG4gIGFycjogUmVhZG9ubHlBcnJheTxSPlxuKSB7XG4gIHJldHVybiBhcnIubWFwKGFzUm91dGVEZXNjcmlwdGlvbkFueSlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSb3V0ZURlc2NyaXB0b3I8XG4gIFIsXG4gIFBhdGhBLFxuICBDb29raWVBLFxuICBRdWVyeUEsXG4gIEJvZHlBLFxuICBIZWFkZXJBLFxuICBSZXFBIGV4dGVuZHMgUGF0aEEgJiBRdWVyeUEgJiBCb2R5QSxcbiAgUmVzQSxcbiAgRXJyb3JzLFxuICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RzID0gTWV0aG9kc1xuPiB7XG4gIHBhdGg6IHN0cmluZ1xuICBtZXRob2Q6IE1FVEhPRFxuICBoYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxSLCBQYXRoQSwgQ29va2llQSwgUXVlcnlBLCBCb2R5QSwgSGVhZGVyQSwgUmVxQSwgUmVzQSwgRXJyb3JzPlxuICBpbmZvPzoge1xuICAgIHRhZ3M6IFJlYWRvbmx5QXJyYXk8c3RyaW5nPlxuICB9XG59XG5cbmV4cG9ydCB0eXBlIFJvdXRlRGVzY3JpcHRvckFueSA9IFJvdXRlRGVzY3JpcHRvcjxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueSxcbiAgYW55LFxuICBhbnksXG4gIGFueVxuPlxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZVJvdXRlRGVzY3JpcHRvcjxcbiAgUixcbiAgUGF0aEEsXG4gIENvb2tpZUEsXG4gIFF1ZXJ5QSxcbiAgQm9keUEsXG4gIEhlYWRlckEsXG4gIFJlcUEgZXh0ZW5kcyBQYXRoQSAmIFF1ZXJ5QSAmIEJvZHlBLFxuICBSZXNBID0gdm9pZCxcbiAgRXJyb3JzID0gYW55LFxuICBNRVRIT0QgZXh0ZW5kcyBNZXRob2RzID0gTWV0aG9kc1xuPihcbiAgcGF0aDogc3RyaW5nLFxuICBtZXRob2Q6IE1FVEhPRCxcbiAgaGFuZGxlcjogUmVxdWVzdEhhbmRsZXJPcHRSZXM8XG4gICAgUixcbiAgICBQYXRoQSxcbiAgICBDb29raWVBLFxuICAgIFF1ZXJ5QSxcbiAgICBCb2R5QSxcbiAgICBIZWFkZXJBLFxuICAgIFJlcUEsXG4gICAgUmVzQSxcbiAgICBFcnJvcnNcbiAgPlxuKSB7XG4gIHJldHVybiB7IHBhdGgsIG1ldGhvZCwgaGFuZGxlciwgX3RhZzogXCJTY2hlbWFcIiB9IGFzIFJvdXRlRGVzY3JpcHRvcjxcbiAgICBSLFxuICAgIFBhdGhBLFxuICAgIENvb2tpZUEsXG4gICAgUXVlcnlBLFxuICAgIEJvZHlBLFxuICAgIEhlYWRlckEsXG4gICAgUmVxQSxcbiAgICBSZXNBLFxuICAgIEVycm9ycyxcbiAgICBNRVRIT0RcbiAgPlxufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUZyb21TY2hlbWE8UmVzQT4oXG4gIGU6IFJvdXRlRGVzY3JpcHRvcjxhbnksIGFueSwgYW55LCBhbnksIGFueSwgYW55LCBSZXNBLCBhbnksIGFueT5cbikge1xuICBjb25zdCBqc29uU2NoZW1hXyA9IE9wZW5BcGkuZm9yXG4gIGNvbnN0IGpzb25TY2hlbWEgPSA8RSwgQT4ocjogTU8uUmVxUmVzPEUsIEE+KSA9PiBqc29uU2NoZW1hXyhyKVxuICBjb25zdCB7IFJlcXVlc3Q6IFJlcSwgUmVzcG9uc2U6IFJlc18sIFJlc3BvbnNlT3BlbkFwaSB9ID0gZS5oYW5kbGVyXG4gIGNvbnN0IHIgPSBSZXNwb25zZU9wZW5BcGkgPz8gUmVzX1xuICBjb25zdCBSZXMgPSByID8gTU8uZXh0cmFjdFNjaGVtYShyKSA6IE1PLlZvaWRcbiAgLy8gVE9ETyBFZmZlY3RPcHRpb24uZnJvbU51bGxhYmxlKFJlcS5IZWFkZXJzKS5mbGF0TWFwT3B0KGpzb25TY2hlbWEpXG4gIC8vIFRPRE86IHVzZSB0aGUgcGF0aCB2cyBib2R5IGV0YyBzZXJpYWxpc2F0aW9uIGFsc28gaW4gdGhlIENsaWVudC5cbiAgY29uc3QgbWFrZVJlcVF1ZXJ5U2NoZW1hID0gRWZmZWN0KE9wdGlvbi5mcm9tTnVsbGFibGUoUmVxLlF1ZXJ5KSkuZmxhdE1hcCgoXykgPT5cbiAgICBfLm1hdGNoKFxuICAgICAgKCkgPT4gRWZmZWN0KE9wdGlvbi5ub25lKSxcbiAgICAgIChfKSA9PiBqc29uU2NoZW1hKF8pLm1hcChPcHRpb24uc29tZSlcbiAgICApXG4gIClcbiAgY29uc3QgbWFrZVJlcUhlYWRlcnNTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuSGVhZGVycykpLmZsYXRNYXAoKF8pID0+XG4gICAgXy5tYXRjaChcbiAgICAgICgpID0+IEVmZmVjdChPcHRpb24ubm9uZSksXG4gICAgICAoXykgPT4ganNvblNjaGVtYShfKS5tYXAoT3B0aW9uLnNvbWUpXG4gICAgKVxuICApXG4gIGNvbnN0IG1ha2VSZXFDb29raWVTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuQ29va2llKSkuZmxhdE1hcCgoXykgPT5cbiAgICBfLm1hdGNoKFxuICAgICAgKCkgPT4gRWZmZWN0KE9wdGlvbi5ub25lKSxcbiAgICAgIChfKSA9PiBqc29uU2NoZW1hKF8pLm1hcChPcHRpb24uc29tZSlcbiAgICApXG4gIClcbiAgY29uc3QgbWFrZVJlcVBhdGhTY2hlbWEgPSBFZmZlY3QoT3B0aW9uLmZyb21OdWxsYWJsZShSZXEuUGF0aCkpLmZsYXRNYXAoKF8pID0+XG4gICAgXy5tYXRjaChcbiAgICAgICgpID0+IEVmZmVjdChPcHRpb24ubm9uZSksXG4gICAgICAoXykgPT4ganNvblNjaGVtYShfKS5tYXAoT3B0aW9uLnNvbWUpXG4gICAgKVxuICApXG4gIGNvbnN0IG1ha2VSZXFCb2R5U2NoZW1hID0gRWZmZWN0KE9wdGlvbi5mcm9tTnVsbGFibGUoUmVxLkJvZHkpKS5mbGF0TWFwKChfKSA9PlxuICAgIF8ubWF0Y2goXG4gICAgICAoKSA9PiBFZmZlY3QoT3B0aW9uLm5vbmUpLFxuICAgICAgKF8pID0+IGpzb25TY2hlbWEoXykubWFwKE9wdGlvbi5zb21lKVxuICAgIClcbiAgKVxuICAvLyBjb25zdCBtYWtlUmVxU2NoZW1hID0gc2NoZW1hKFJlcSlcblxuICBjb25zdCBtYWtlUmVzU2NoZW1hID0ganNvblNjaGVtYV8oUmVzIGFzIGFueSlcblxuICBmdW5jdGlvbiBtYWtlUGFyYW1ldGVycyhpbm46IFBhcmFtZXRlckxvY2F0aW9uKSB7XG4gICAgcmV0dXJuIChhOiBPcHRpb248SlNPTlNjaGVtYSB8IFN1YlNjaGVtYT4pID0+IHtcbiAgICAgIHJldHVybiBhXG4gICAgICAgIC5mbGF0TWFwKChvKSA9PiAoaXNPYmplY3RTY2hlbWEobykgPyBPcHRpb24obykgOiBPcHRpb24ubm9uZSkpXG4gICAgICAgIC5tYXAoKHgpID0+IHtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh4LnByb3BlcnRpZXMhKS5tYXAoKHApID0+IHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbm9uLW51bGwtYXNzZXJ0aW9uXG4gICAgICAgICAgICBjb25zdCBzY2hlbWEgPSB4LnByb3BlcnRpZXMhW3BdXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZCA9IEJvb2xlYW4oeC5yZXF1aXJlZD8uaW5jbHVkZXMocCkpXG4gICAgICAgICAgICByZXR1cm4geyBuYW1lOiBwLCBpbjogaW5uLCByZXF1aXJlZCwgc2NoZW1hIH1cbiAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgICAgICAuZ2V0T3JFbHNlKCgpID0+IFtdKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBFZmZlY3RcbiAgICAuYWxsKHtcbiAgICAgIHJlcToganNvblNjaGVtYShSZXEuTW9kZWwpLFxuICAgICAgcmVxUXVlcnk6IG1ha2VSZXFRdWVyeVNjaGVtYSxcbiAgICAgIHJlcUhlYWRlcnM6IG1ha2VSZXFIZWFkZXJzU2NoZW1hLFxuICAgICAgcmVxQm9keTogbWFrZVJlcUJvZHlTY2hlbWEsXG4gICAgICByZXFQYXRoOiBtYWtlUmVxUGF0aFNjaGVtYSxcbiAgICAgIHJlcUNvb2tpZTogbWFrZVJlcUNvb2tpZVNjaGVtYSxcbiAgICAgIHJlczogbWFrZVJlc1NjaGVtYVxuICAgIH0pXG4gICAgLm1hcCgoXykgPT4ge1xuICAgICAgLy8gY29uc29sZS5sb2coXCIkJCQgUkVRXCIsIF8ucmVxKVxuICAgICAgY29uc3QgaXNFbXB0eSA9ICFlLmhhbmRsZXIuUmVzcG9uc2UgfHwgZS5oYW5kbGVyLlJlc3BvbnNlID09PSBNTy5Wb2lkXG4gICAgICByZXR1cm4ge1xuICAgICAgICBwYXRoOiBlLnBhdGgsXG4gICAgICAgIG1ldGhvZDogZS5tZXRob2QudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgdGFnczogZS5pbmZvPy50YWdzLFxuICAgICAgICBkZXNjcmlwdGlvbjogXy5yZXE/LmRlc2NyaXB0aW9uLFxuICAgICAgICBzdW1tYXJ5OiBfLnJlcT8uc3VtbWFyeSxcbiAgICAgICAgb3BlcmF0aW9uSWQ6IF8ucmVxPy50aXRsZSxcbiAgICAgICAgcGFyYW1ldGVyczogW1xuICAgICAgICAgIC4uLm1ha2VQYXJhbWV0ZXJzKFwicGF0aFwiKShfLnJlcVBhdGgpLFxuICAgICAgICAgIC4uLm1ha2VQYXJhbWV0ZXJzKFwicXVlcnlcIikoXy5yZXFRdWVyeSksXG4gICAgICAgICAgLi4ubWFrZVBhcmFtZXRlcnMoXCJoZWFkZXJcIikoXy5yZXFIZWFkZXJzKSxcbiAgICAgICAgICAuLi5tYWtlUGFyYW1ldGVycyhcImNvb2tpZVwiKShfLnJlcUNvb2tpZSlcbiAgICAgICAgXSxcbiAgICAgICAgcmVxdWVzdEJvZHk6IF9cbiAgICAgICAgICAucmVxQm9keVxuICAgICAgICAgIC5tYXAoKHNjaGVtYSkgPT4gKHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHsgXCJhcHBsaWNhdGlvbi9qc29uXCI6IHsgc2NoZW1hIH0gfVxuICAgICAgICAgIH0pKVxuICAgICAgICAgIC52YWx1ZSxcbiAgICAgICAgcmVzcG9uc2VzOiBbXG4gICAgICAgICAgaXNFbXB0eVxuICAgICAgICAgICAgPyBuZXcgUmVzcG9uc2UoMjA0LCB7IGRlc2NyaXB0aW9uOiBcIkVtcHR5XCIgfSlcbiAgICAgICAgICAgIDogbmV3IFJlc3BvbnNlKDIwMCwge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogXCJPS1wiLFxuICAgICAgICAgICAgICBjb250ZW50OiB7IFwiYXBwbGljYXRpb24vanNvblwiOiB7IHNjaGVtYTogXy5yZXMgfSB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBuZXcgUmVzcG9uc2UoNDAwLCB7IGRlc2NyaXB0aW9uOiBcIlZhbGlkYXRpb25FcnJvclwiIH0pXG4gICAgICAgIF1cbiAgICAgICAgICAuY29uY2F0KFxuICAgICAgICAgICAgZS5wYXRoLmluY2x1ZGVzKFwiOlwiKSAmJiBpc0VtcHR5XG4gICAgICAgICAgICAgID8gW25ldyBSZXNwb25zZSg0MDQsIHsgZGVzY3JpcHRpb246IFwiTm90Rm91bmRFcnJvclwiIH0pXVxuICAgICAgICAgICAgICA6IFtdXG4gICAgICAgICAgKVxuICAgICAgfVxuICAgIH0pXG59XG5cbmNsYXNzIFJlc3BvbnNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IHN0YXR1c0NvZGU6IG51bWJlcixcbiAgICBwdWJsaWMgcmVhZG9ubHkgdHlwZTogYW55IC8vIHN0cmluZyB8IEpTT05TY2hlbWEgfCBTdWJTY2hlbWFcbiAgKSB7fVxufVxuIl19
@@ -1 +0,0 @@
1
- afd0a6760e1c0bb81d8f009c93722e5100019cd98eaaba1b82175573756e27d7