@effect-app/infra 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (284) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/_cjs/errors.cjs +21 -22
  3. package/_cjs/errors.cjs.map +1 -1
  4. package/_cjs/lib/api/authorization.jwt.cjs +1 -1
  5. package/_cjs/{vendor/Cache/Cache/operations/makeWith.cjs → lib/api/codec.cjs} +16 -13
  6. package/_cjs/lib/api/codec.cjs.map +1 -0
  7. package/_cjs/{services/memQueue.cjs → lib/api/express/makeJsonSchema.cjs} +42 -22
  8. package/_cjs/lib/api/express/makeJsonSchema.cjs.map +1 -0
  9. package/_cjs/lib/api/express/makeOpenApiSpecs.cjs +66 -0
  10. package/_cjs/lib/api/express/makeOpenApiSpecs.cjs.map +1 -0
  11. package/_cjs/lib/api/express/schema/jwt.cjs +43 -0
  12. package/_cjs/lib/api/express/schema/jwt.cjs.map +1 -0
  13. package/_cjs/lib/api/express/schema/requestHandler.cjs +166 -0
  14. package/_cjs/lib/api/express/schema/requestHandler.cjs.map +1 -0
  15. package/_cjs/lib/api/express/schema/routing.cjs +121 -0
  16. package/_cjs/lib/api/express/schema/routing.cjs.map +1 -0
  17. package/_cjs/lib/api/routing.cjs +28 -28
  18. package/_cjs/lib/api/routing.cjs.map +1 -1
  19. package/_cjs/lib/api/writeDocs.cjs +4 -4
  20. package/_cjs/lib/api/writeDocs.cjs.map +1 -1
  21. package/_cjs/services/Store/Disk.cjs +1 -1
  22. package/_cjs/services/simpledb/cosmosdb.cjs +98 -0
  23. package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -0
  24. package/_cjs/services/simpledb/diskdb.cjs +118 -0
  25. package/_cjs/services/simpledb/diskdb.cjs.map +1 -0
  26. package/_cjs/services/simpledb/fileutil.cjs +36 -0
  27. package/_cjs/services/simpledb/fileutil.cjs.map +1 -0
  28. package/_cjs/{vendor/Cache/Cache/_internal/CacheState.cjs → services/simpledb/index.cjs} +31 -24
  29. package/_cjs/services/simpledb/index.cjs.map +1 -0
  30. package/_cjs/services/simpledb/memdb.cjs +74 -0
  31. package/_cjs/services/simpledb/memdb.cjs.map +1 -0
  32. package/_cjs/services/simpledb/mongodb.cjs +86 -0
  33. package/_cjs/services/simpledb/mongodb.cjs.map +1 -0
  34. package/_cjs/services/simpledb/redisdb.cjs +120 -0
  35. package/_cjs/services/simpledb/redisdb.cjs.map +1 -0
  36. package/_cjs/services/simpledb/shared.cjs +80 -0
  37. package/_cjs/services/simpledb/shared.cjs.map +1 -0
  38. package/_cjs/services/simpledb/simpledb.cjs +77 -0
  39. package/_cjs/services/simpledb/simpledb.cjs.map +1 -0
  40. package/_src/_global.ext.ts +1 -1
  41. package/_src/errors.ts +12 -3
  42. package/_src/lib/api/app.ts.bak +125 -0
  43. package/_src/lib/api/authorization.jwt.ts +1 -1
  44. package/_src/lib/api/codec.ts +27 -0
  45. package/_src/lib/api/errors.ts.bak +20 -0
  46. package/_src/lib/api/express/makeJsonSchema.ts +49 -0
  47. package/_src/lib/api/express/makeOpenApiSpecs.ts +60 -0
  48. package/_src/lib/api/express/routing.ts.bak +460 -0
  49. package/_src/lib/api/express/schema/jwt.ts +38 -0
  50. package/_src/lib/api/express/schema/requestHandler.ts +360 -0
  51. package/_src/lib/api/express/schema/routing.ts +202 -0
  52. package/_src/lib/api/routing.ts +5 -10
  53. package/_src/lib/api/writeDocs.ts +4 -5
  54. package/_src/services/Store/Disk.ts +1 -1
  55. package/_src/services/simpledb/cosmosdb.ts +134 -0
  56. package/_src/services/simpledb/diskdb.ts +158 -0
  57. package/_src/services/simpledb/fileutil.ts +28 -0
  58. package/_src/services/simpledb/index.ts +6 -0
  59. package/_src/services/simpledb/memdb.ts +79 -0
  60. package/_src/services/simpledb/mongodb.ts +99 -0
  61. package/_src/services/simpledb/redisdb.ts +182 -0
  62. package/_src/services/simpledb/shared.ts +117 -0
  63. package/_src/services/simpledb/simpledb.ts +117 -0
  64. package/dist/_global.ext.d.ts +1 -1
  65. package/dist/_global.ext.d.ts.map +1 -1
  66. package/dist/errors.d.ts +11 -2
  67. package/dist/errors.d.ts.map +1 -1
  68. package/dist/errors.js +17 -3
  69. package/dist/lib/api/authorization.jwt.d.ts +1 -1
  70. package/dist/lib/api/authorization.jwt.d.ts.map +1 -1
  71. package/dist/lib/api/authorization.jwt.js +2 -2
  72. package/dist/lib/api/codec.d.ts +7 -0
  73. package/dist/lib/api/codec.d.ts.map +1 -0
  74. package/dist/lib/api/codec.js +19 -0
  75. package/dist/lib/api/express/makeJsonSchema.d.ts +30 -0
  76. package/dist/lib/api/express/makeJsonSchema.d.ts.map +1 -0
  77. package/dist/lib/api/express/makeJsonSchema.js +40 -0
  78. package/dist/lib/api/express/makeOpenApiSpecs.d.ts +55 -0
  79. package/dist/lib/api/express/makeOpenApiSpecs.d.ts.map +1 -0
  80. package/dist/lib/api/express/makeOpenApiSpecs.js +56 -0
  81. package/dist/lib/api/express/schema/jwt.d.ts +5 -0
  82. package/dist/lib/api/express/schema/jwt.d.ts.map +1 -0
  83. package/dist/lib/api/express/schema/jwt.js +32 -0
  84. package/dist/lib/api/express/schema/requestHandler.d.ts +71 -0
  85. package/dist/lib/api/express/schema/requestHandler.d.ts.map +1 -0
  86. package/dist/lib/api/express/schema/requestHandler.js +140 -0
  87. package/dist/lib/api/express/schema/routing.d.ts +45 -0
  88. package/dist/lib/api/express/schema/routing.d.ts.map +1 -0
  89. package/dist/lib/api/express/schema/routing.js +95 -0
  90. package/dist/lib/api/routing.d.ts +4 -4
  91. package/dist/lib/api/routing.d.ts.map +1 -1
  92. package/dist/lib/api/routing.js +29 -28
  93. package/dist/lib/api/writeDocs.d.ts +1 -1
  94. package/dist/lib/api/writeDocs.d.ts.map +1 -1
  95. package/dist/lib/api/writeDocs.js +5 -5
  96. package/dist/services/Store/Disk.js +2 -2
  97. package/dist/services/simpledb/cosmosdb.d.ts +13 -0
  98. package/dist/services/simpledb/cosmosdb.d.ts.map +1 -0
  99. package/dist/services/simpledb/cosmosdb.js +88 -0
  100. package/dist/services/simpledb/diskdb.d.ts +12 -0
  101. package/dist/services/simpledb/diskdb.d.ts.map +1 -0
  102. package/dist/services/simpledb/diskdb.js +96 -0
  103. package/dist/services/simpledb/fileutil.d.ts +7 -0
  104. package/dist/services/simpledb/fileutil.d.ts.map +1 -0
  105. package/dist/services/simpledb/fileutil.js +25 -0
  106. package/dist/services/simpledb/index.d.ts +7 -0
  107. package/dist/services/simpledb/index.d.ts.map +1 -0
  108. package/dist/services/simpledb/index.js +7 -0
  109. package/dist/services/simpledb/memdb.d.ts +12 -0
  110. package/dist/services/simpledb/memdb.d.ts.map +1 -0
  111. package/dist/services/simpledb/memdb.js +55 -0
  112. package/dist/services/simpledb/mongodb.d.ts +13 -0
  113. package/dist/services/simpledb/mongodb.d.ts.map +1 -0
  114. package/dist/services/simpledb/mongodb.js +55 -0
  115. package/dist/services/simpledb/redisdb.d.ts +25 -0
  116. package/dist/services/simpledb/redisdb.d.ts.map +1 -0
  117. package/dist/services/simpledb/redisdb.js +105 -0
  118. package/dist/services/simpledb/shared.d.ts +63 -0
  119. package/dist/services/simpledb/shared.d.ts.map +1 -0
  120. package/dist/services/simpledb/shared.js +65 -0
  121. package/dist/services/simpledb/simpledb.d.ts +23 -0
  122. package/dist/services/simpledb/simpledb.d.ts.map +1 -0
  123. package/dist/services/simpledb/simpledb.js +56 -0
  124. package/package.json +126 -238
  125. package/_cjs/ext.cjs +0 -4
  126. package/_cjs/ext.cjs.map +0 -1
  127. package/_cjs/lib/fileUtil.cjs +0 -36
  128. package/_cjs/lib/fileUtil.cjs.map +0 -1
  129. package/_cjs/services/CUPS/service.cjs +0 -15
  130. package/_cjs/services/CUPS/service.cjs.map +0 -1
  131. package/_cjs/services/CUPS.cjs +0 -113
  132. package/_cjs/services/CUPS.cjs.map +0 -1
  133. package/_cjs/services/Cache.cjs +0 -39
  134. package/_cjs/services/Cache.cjs.map +0 -1
  135. package/_cjs/services/ServiceBus.cjs +0 -69
  136. package/_cjs/services/ServiceBus.cjs.map +0 -1
  137. package/_cjs/services/memQueue.cjs.map +0 -1
  138. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs +0 -14
  139. package/_cjs/vendor/Cache/Cache/_internal/AtomicBoolean.cjs.map +0 -1
  140. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs +0 -29
  141. package/_cjs/vendor/Cache/Cache/_internal/AtomicNumber.cjs.map +0 -1
  142. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs +0 -32
  143. package/_cjs/vendor/Cache/Cache/_internal/AtomicReference.cjs.map +0 -1
  144. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs +0 -266
  145. package/_cjs/vendor/Cache/Cache/_internal/CacheInternal.cjs.map +0 -1
  146. package/_cjs/vendor/Cache/Cache/_internal/CacheState.cjs.map +0 -1
  147. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs +0 -67
  148. package/_cjs/vendor/Cache/Cache/_internal/KeySet.cjs.map +0 -1
  149. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs +0 -44
  150. package/_cjs/vendor/Cache/Cache/_internal/MapKey.cjs.map +0 -1
  151. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs +0 -33
  152. package/_cjs/vendor/Cache/Cache/_internal/MapValue.cjs.map +0 -1
  153. package/_cjs/vendor/Cache/Cache/definition.cjs +0 -13
  154. package/_cjs/vendor/Cache/Cache/definition.cjs.map +0 -1
  155. package/_cjs/vendor/Cache/Cache/operations/make.cjs +0 -20
  156. package/_cjs/vendor/Cache/Cache/operations/make.cjs.map +0 -1
  157. package/_cjs/vendor/Cache/Cache/operations/makeWith.cjs.map +0 -1
  158. package/_cjs/vendor/Cache/Cache/operations.cjs +0 -28
  159. package/_cjs/vendor/Cache/Cache/operations.cjs.map +0 -1
  160. package/_cjs/vendor/Cache/Cache.cjs +0 -28
  161. package/_cjs/vendor/Cache/Cache.cjs.map +0 -1
  162. package/_cjs/vendor/Cache/CacheStats/definition.cjs +0 -13
  163. package/_cjs/vendor/Cache/CacheStats/definition.cjs.map +0 -1
  164. package/_cjs/vendor/Cache/CacheStats.cjs +0 -17
  165. package/_cjs/vendor/Cache/CacheStats.cjs.map +0 -1
  166. package/_cjs/vendor/Cache/EntryStats/definition.cjs +0 -11
  167. package/_cjs/vendor/Cache/EntryStats/definition.cjs.map +0 -1
  168. package/_cjs/vendor/Cache/EntryStats.cjs +0 -17
  169. package/_cjs/vendor/Cache/EntryStats.cjs.map +0 -1
  170. package/_cjs/vendor/Cache/Lookup/definition.cjs +0 -6
  171. package/_cjs/vendor/Cache/Lookup/definition.cjs.map +0 -1
  172. package/_cjs/vendor/Cache/Lookup.cjs +0 -17
  173. package/_cjs/vendor/Cache/Lookup.cjs.map +0 -1
  174. package/_cjs/vendor/Cache/index.cjs +0 -17
  175. package/_cjs/vendor/Cache/index.cjs.map +0 -1
  176. package/_src/ext.ts +0 -1
  177. package/_src/lib/fileUtil.ts +0 -56
  178. package/_src/services/CUPS/service.ts +0 -16
  179. package/_src/services/CUPS.ts +0 -105
  180. package/_src/services/Cache.ts +0 -45
  181. package/_src/services/ServiceBus.ts +0 -111
  182. package/_src/services/memQueue.ts +0 -30
  183. package/_src/vendor/Cache/Cache/_internal/AtomicBoolean.ts +0 -7
  184. package/_src/vendor/Cache/Cache/_internal/AtomicNumber.ts +0 -28
  185. package/_src/vendor/Cache/Cache/_internal/AtomicReference.ts +0 -30
  186. package/_src/vendor/Cache/Cache/_internal/CacheInternal.ts +0 -293
  187. package/_src/vendor/Cache/Cache/_internal/CacheState.ts +0 -56
  188. package/_src/vendor/Cache/Cache/_internal/KeySet.ts +0 -58
  189. package/_src/vendor/Cache/Cache/_internal/MapKey.ts +0 -43
  190. package/_src/vendor/Cache/Cache/_internal/MapValue.ts +0 -39
  191. package/_src/vendor/Cache/Cache/definition.ts +0 -112
  192. package/_src/vendor/Cache/Cache/operations/make.ts +0 -17
  193. package/_src/vendor/Cache/Cache/operations/makeWith.ts +0 -32
  194. package/_src/vendor/Cache/Cache/operations.ts +0 -4
  195. package/_src/vendor/Cache/Cache.ts +0 -4
  196. package/_src/vendor/Cache/CacheStats/definition.ts +0 -23
  197. package/_src/vendor/Cache/CacheStats.ts +0 -3
  198. package/_src/vendor/Cache/EntryStats/definition.ts +0 -19
  199. package/_src/vendor/Cache/EntryStats.ts +0 -3
  200. package/_src/vendor/Cache/Lookup/definition.ts +0 -15
  201. package/_src/vendor/Cache/Lookup.ts +0 -3
  202. package/_src/vendor/Cache/global.ts.bak +0 -23
  203. package/_src/vendor/Cache/index.ts +0 -4
  204. package/dist/ext.d.ts +0 -2
  205. package/dist/ext.d.ts.map +0 -1
  206. package/dist/ext.js +0 -2
  207. package/dist/lib/fileUtil.d.ts +0 -22
  208. package/dist/lib/fileUtil.d.ts.map +0 -1
  209. package/dist/lib/fileUtil.js +0 -23
  210. package/dist/services/CUPS/service.d.ts +0 -19
  211. package/dist/services/CUPS/service.d.ts.map +0 -1
  212. package/dist/services/CUPS/service.js +0 -5
  213. package/dist/services/CUPS.d.ts +0 -10
  214. package/dist/services/CUPS.d.ts.map +0 -1
  215. package/dist/services/CUPS.js +0 -89
  216. package/dist/services/Cache.d.ts +0 -28
  217. package/dist/services/Cache.d.ts.map +0 -1
  218. package/dist/services/Cache.js +0 -28
  219. package/dist/services/ServiceBus.d.ts +0 -26
  220. package/dist/services/ServiceBus.d.ts.map +0 -1
  221. package/dist/services/ServiceBus.js +0 -53
  222. package/dist/services/memQueue.d.ts +0 -18
  223. package/dist/services/memQueue.d.ts.map +0 -1
  224. package/dist/services/memQueue.js +0 -24
  225. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts +0 -5
  226. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.d.ts.map +0 -1
  227. package/dist/vendor/Cache/Cache/_internal/AtomicBoolean.js +0 -7
  228. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts +0 -8
  229. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.d.ts.map +0 -1
  230. package/dist/vendor/Cache/Cache/_internal/AtomicNumber.js +0 -22
  231. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts +0 -10
  232. package/dist/vendor/Cache/Cache/_internal/AtomicReference.d.ts.map +0 -1
  233. package/dist/vendor/Cache/Cache/_internal/AtomicReference.js +0 -25
  234. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts +0 -51
  235. package/dist/vendor/Cache/Cache/_internal/CacheInternal.d.ts.map +0 -1
  236. package/dist/vendor/Cache/Cache/_internal/CacheInternal.js +0 -253
  237. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts +0 -33
  238. package/dist/vendor/Cache/Cache/_internal/CacheState.d.ts.map +0 -1
  239. package/dist/vendor/Cache/Cache/_internal/CacheState.js +0 -21
  240. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts +0 -20
  241. package/dist/vendor/Cache/Cache/_internal/KeySet.d.ts.map +0 -1
  242. package/dist/vendor/Cache/Cache/_internal/KeySet.js +0 -61
  243. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts +0 -24
  244. package/dist/vendor/Cache/Cache/_internal/MapKey.d.ts.map +0 -1
  245. package/dist/vendor/Cache/Cache/_internal/MapKey.js +0 -37
  246. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts +0 -32
  247. package/dist/vendor/Cache/Cache/_internal/MapValue.d.ts.map +0 -1
  248. package/dist/vendor/Cache/Cache/_internal/MapValue.js +0 -24
  249. package/dist/vendor/Cache/Cache/definition.d.ts +0 -100
  250. package/dist/vendor/Cache/Cache/definition.d.ts.map +0 -1
  251. package/dist/vendor/Cache/Cache/definition.js +0 -5
  252. package/dist/vendor/Cache/Cache/operations/make.d.ts +0 -12
  253. package/dist/vendor/Cache/Cache/operations/make.d.ts.map +0 -1
  254. package/dist/vendor/Cache/Cache/operations/make.js +0 -12
  255. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts +0 -14
  256. package/dist/vendor/Cache/Cache/operations/makeWith.d.ts.map +0 -1
  257. package/dist/vendor/Cache/Cache/operations/makeWith.js +0 -15
  258. package/dist/vendor/Cache/Cache/operations.d.ts +0 -3
  259. package/dist/vendor/Cache/Cache/operations.d.ts.map +0 -1
  260. package/dist/vendor/Cache/Cache/operations.js +0 -4
  261. package/dist/vendor/Cache/Cache.d.ts +0 -3
  262. package/dist/vendor/Cache/Cache.d.ts.map +0 -1
  263. package/dist/vendor/Cache/Cache.js +0 -4
  264. package/dist/vendor/Cache/CacheStats/definition.d.ts +0 -19
  265. package/dist/vendor/Cache/CacheStats/definition.d.ts.map +0 -1
  266. package/dist/vendor/Cache/CacheStats/definition.js +0 -6
  267. package/dist/vendor/Cache/CacheStats.d.ts +0 -2
  268. package/dist/vendor/Cache/CacheStats.d.ts.map +0 -1
  269. package/dist/vendor/Cache/CacheStats.js +0 -3
  270. package/dist/vendor/Cache/EntryStats/definition.d.ts +0 -17
  271. package/dist/vendor/Cache/EntryStats/definition.d.ts.map +0 -1
  272. package/dist/vendor/Cache/EntryStats/definition.js +0 -4
  273. package/dist/vendor/Cache/EntryStats.d.ts +0 -2
  274. package/dist/vendor/Cache/EntryStats.d.ts.map +0 -1
  275. package/dist/vendor/Cache/EntryStats.js +0 -3
  276. package/dist/vendor/Cache/Lookup/definition.d.ts +0 -17
  277. package/dist/vendor/Cache/Lookup/definition.d.ts.map +0 -1
  278. package/dist/vendor/Cache/Lookup/definition.js +0 -2
  279. package/dist/vendor/Cache/Lookup.d.ts +0 -2
  280. package/dist/vendor/Cache/Lookup.d.ts.map +0 -1
  281. package/dist/vendor/Cache/Lookup.js +0 -3
  282. package/dist/vendor/Cache/index.d.ts +0 -5
  283. package/dist/vendor/Cache/index.d.ts.map +0 -1
  284. package/dist/vendor/Cache/index.js +0 -5
@@ -1,112 +0,0 @@
1
- import type { CacheStats } from "../CacheStats.js"
2
- import type { EntryStats } from "../EntryStats.js"
3
-
4
- export const CacheURI = Symbol.for("@effect/cache/Cache")
5
- export type CacheURI = typeof CacheURI
6
-
7
- /**
8
- * A `Cache` is defined in terms of a lookup function that, given a key of
9
- * type `Key`, can either fail with an error of type `Error` or succeed with a
10
- * value of type `Value`. Getting a value from the cache will either return
11
- * the previous result of the lookup function if it is available or else
12
- * compute a new result with the lookup function, put it in the cache, and
13
- * return it.
14
- *
15
- * A cache also has a specified capacity and time to live. When the cache is
16
- * at capacity the least recently accessed values in the cache will be
17
- * removed to make room for new values. Getting a value with a life older than
18
- * the specified time to live will result in a new value being computed with
19
- * the lookup function and returned when available.
20
- *
21
- * The cache is safe for concurrent access. If multiple fibers attempt to get
22
- * the same key the lookup function will only be computed once and the result
23
- * will be returned to all fibers.
24
- *
25
- * @tsplus type effect/cache/Cache
26
- */
27
- export interface Cache<Key, Error, Value> {
28
- readonly [CacheURI]: {
29
- readonly _Key: (_: Key) => void
30
- readonly _Error: (_: never) => Error
31
- readonly _Value: (_: never) => Value
32
- }
33
-
34
- /**
35
- * Returns the approximate number of values in the cache.
36
- */
37
- readonly size: Effect<never, never, number>
38
-
39
- /**
40
- * Returns an approximation of the entries in the cache.
41
- */
42
- readonly entries: Effect<never, never, Chunk<readonly [Key, Value]>>
43
-
44
- /**
45
- * Returns an approximation of the values in the cache.
46
- */
47
- readonly values: Effect<never, never, Chunk<Value>>
48
-
49
- /**
50
- * Returns statistics for this cache.
51
- */
52
- readonly cacheStats: Effect<never, never, CacheStats>
53
-
54
- /**
55
- * Returns statistics for the specified entry, if it exists.
56
- */
57
- readonly entryStats: (key: Key) => Effect<never, never, Opt<EntryStats>>
58
-
59
- /**
60
- * Retrieves the value associated with the specified key if it exists.
61
- * Otherwise computes the value with the lookup function, puts it in the
62
- * cache, and returns it.
63
- */
64
- readonly get: (key: Key) => Effect<never, Error, Value>
65
-
66
- /**
67
- * Associates the specified value to the specified key in the cache.
68
- */
69
- readonly set: (key: Key, value: Value) => Effect<never, never, void>
70
-
71
- /**
72
- * Returns whether a value associated with the specified key exists in the
73
- * cache.
74
- */
75
- readonly contains: (key: Key) => Effect<never, never, boolean>
76
-
77
- /**
78
- * Computes the value associated with the specified key, with the lookup
79
- * function, and puts it in the cache. The difference between this and
80
- * `get` method is that `refresh` triggers (re)computation of the value
81
- * without invalidating it in the cache, so any request to the associated
82
- * key can still be served while the value is being re-computed/retrieved
83
- * by the lookup function. Additionally, `refresh` always triggers the
84
- * lookup function, disregarding the last `Error`.
85
- */
86
- readonly refresh: (key: Key) => Effect<never, Error, void>
87
-
88
- /**
89
- * Invalidates the value associated with the specified key.
90
- */
91
- readonly invalidate: (key: Key) => Effect<never, never, void>
92
-
93
- /**
94
- * Invalidates all values in the cache.
95
- */
96
- readonly invalidateAll: Effect<never, never, void>
97
- }
98
-
99
- /**
100
- * @tsplus type effect/cache/Cache.Ops
101
- */
102
- export interface CacheOps {
103
- readonly $: CacheAspects
104
- }
105
- export const Cache: CacheOps = {
106
- $: {}
107
- }
108
-
109
- /**
110
- * @tsplus type effect/cache/Cache.Aspects
111
- */
112
- export interface CacheAspects {}
@@ -1,17 +0,0 @@
1
- import type { Lookup } from "../../Lookup/definition.js"
2
- import { Cache } from "../definition.js"
3
-
4
- /**
5
- * Constructs a new cache with the specified capacity, time to live, and
6
- * lookup function.
7
- *
8
- * @tsplus static effect/cache/Cache.Ops make
9
- */
10
- export function make<Key, Environment, Error, Value>(
11
- capacity: number,
12
- timeToLive: DUR,
13
- lookup: Lookup<Key, Environment, Error, Value>,
14
- __tsplusTrace?: string
15
- ): Effect<Environment, never, Cache<Key, Error, Value>> {
16
- return Cache.makeWith(capacity, lookup, () => timeToLive)
17
- }
@@ -1,32 +0,0 @@
1
- import type { Lookup } from "../../Lookup/definition.js"
2
- import { CacheInternal } from "../_internal/CacheInternal.js"
3
- import type { Cache } from "../definition.js"
4
-
5
- /**
6
- * Constructs a new cache with the specified capacity, time to live, and
7
- * lookup function, where the time to live can depend on the `Exit` value
8
- * returned by the lookup function.
9
- *
10
- * @tsplus static effect/cache/Cache.Ops makeWith
11
- */
12
- export function makeWith<Key, Environment, Error, Value>(
13
- capacity: number,
14
- lookup: Lookup<Key, Environment, Error, Value>,
15
- timeToLive: (exit: Exit<Error, Value>) => DUR,
16
- __tsplusTrace?: string
17
- ): Effect<Environment, never, Cache<Key, Error, Value>> {
18
- return Effect.clockWith(clock =>
19
- Effect.environment<Environment>().flatMap(environment =>
20
- Effect.fiberId().map(fiberId =>
21
- new CacheInternal(
22
- capacity,
23
- lookup,
24
- timeToLive,
25
- clock,
26
- environment,
27
- fiberId
28
- )
29
- )
30
- )
31
- )
32
- }
@@ -1,4 +0,0 @@
1
- // codegen:start {preset: barrel, include: ./operations/*.ts, prefix: "@effect/cache/Cache"}
2
- export * from "./operations/make.js"
3
- export * from "./operations/makeWith.js"
4
- // codegen:end
@@ -1,4 +0,0 @@
1
- // codegen:start {preset: barrel, include: ./Cache/*.ts, prefix: "@effect/cache"}
2
- export * from "./Cache/definition.js"
3
- export * from "./Cache/operations.js"
4
- // codegen:end
@@ -1,23 +0,0 @@
1
- /**
2
- * A `CacheStats` represents a snapshot of statistics for the cache as of a
3
- * point in time.
4
- *
5
- * @tsplus type effect/cache/CacheStats
6
- */
7
- export interface CacheStats {
8
- readonly hits: number
9
- readonly misses: number
10
- readonly size: number
11
- }
12
-
13
- /**
14
- * @tsplus type effect/cache/CacheStats.Ops
15
- */
16
- export interface CacheStatsOps {
17
- (hits: number, misses: number, size: number): CacheStats
18
- }
19
- export const CacheStats: CacheStatsOps = (hits, misses, size) => ({
20
- hits,
21
- misses,
22
- size
23
- })
@@ -1,3 +0,0 @@
1
- // codegen:start {preset: barrel, include: ./CacheStats/*.ts, prefix: "@effect/cache"}
2
- export * from "./CacheStats/definition.js"
3
- // codegen:end
@@ -1,19 +0,0 @@
1
- /**
2
- * An `EntryStats` represents a snapshot of statistics for an entry in the
3
- * cache.
4
- *
5
- * @tsplus type effect/cache/EntryStats
6
- */
7
- export interface EntryStats {
8
- readonly loadedMillis: number
9
- }
10
-
11
- /**
12
- * @tsplus type effect/cache/EntryStats.Ops
13
- */
14
- export interface EntryStatsOps {
15
- (loadedMillis: number): EntryStats
16
- }
17
- export const EntryStats: EntryStatsOps = (loadedMillis) => ({
18
- loadedMillis
19
- })
@@ -1,3 +0,0 @@
1
- // codegen:start {preset: barrel, include: ./EntryStats/*.ts, prefix: "@effect/cache"}
2
- export * from "./EntryStats/definition.js"
3
- // codegen:end
@@ -1,15 +0,0 @@
1
- /**
2
- * A `Lookup` represents a lookup function that, given a key of type `Key`, can
3
- * return an `Effect` that will either produce a value of type `Value` or
4
- * fail with an error of type `Error` using an environment of type
5
- * `Environment`.
6
- *
7
- * You can think of a `Lookup` as an effectual function that computes a value
8
- * given a key. Given any effectual function you can convert it to a lookup
9
- * function for a cache by using the `Lookup` constructor.
10
- *
11
- * @tsplus type effect/cache/Lookup
12
- */
13
- export interface Lookup<Key, Environment, Error, Value> {
14
- (key: Key): Effect<Environment, Error, Value>
15
- }
@@ -1,3 +0,0 @@
1
- // codegen:start {preset: barrel, include: ./Lookup/*.ts, prefix: "@effect/cache"}
2
- export * from "./Lookup/definition.js"
3
- // codegen:end
@@ -1,23 +0,0 @@
1
- import "@effect/cache"
2
- import "@effect/core/global"
3
- import "@tsplus/stdlib/global"
4
-
5
- /**
6
- * @tsplus global
7
- */
8
- import { Cache } from "@effect/cache/Cache/definition"
9
-
10
- /**
11
- * @tsplus global
12
- */
13
- import { CacheStats } from "@effect/cache/CacheStats/definition"
14
-
15
- /**
16
- * @tsplus global
17
- */
18
- import { EntryStats } from "@effect/cache/EntryStats/definition"
19
-
20
- /**
21
- * @tsplus global
22
- */
23
- import { Lookup } from "@effect/cache/Lookup/definition"
@@ -1,4 +0,0 @@
1
- export * as cache from "./Cache.js"
2
- export * as cacheStats from "./CacheStats.js"
3
- export * as entryStats from "./EntryStats.js"
4
- export * as lookup from "./Lookup.js"
package/dist/ext.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import "./lib/ext/Array.js";
2
- //# sourceMappingURL=ext.d.ts.map
package/dist/ext.d.ts.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"ext.d.ts","sourceRoot":"","sources":["../_src/ext.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,CAAA"}
package/dist/ext.js DELETED
@@ -1,2 +0,0 @@
1
- import "./lib/ext/Array.js";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9leHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxvQkFBb0IsQ0FBQSJ9
@@ -1,22 +0,0 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- /// <reference types="node" resolution-mode="require"/>
3
- /// <reference types="node" resolution-mode="require"/>
4
- /// <reference types="node" resolution-mode="require"/>
5
- /// <reference types="node" resolution-mode="require"/>
6
- /// <reference types="node" resolution-mode="require"/>
7
- import type { Abortable } from "events";
8
- import type { Mode, ObjectEncodingOptions, OpenMode } from "fs";
9
- import fs from "fs/promises";
10
- import type internal from "stream";
11
- export declare function readFile(fileName: string): import("@effect/io/Effect").Effect<never, unknown, Buffer>;
12
- export declare function createReadableStream(fileName: string): import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope, unknown, import("fs").ReadStream>;
13
- export declare function openFile(fileName: string): import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope, unknown, fs.FileHandle>;
14
- export declare function tempFile(folder: string): (prefix: string) => (data: Data, options?: Options) => import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope, unknown, string>;
15
- type Data = string | NodeJS.ArrayBufferView | Iterable<string | NodeJS.ArrayBufferView> | AsyncIterable<string | NodeJS.ArrayBufferView> | internal.Stream;
16
- type Options = (ObjectEncodingOptions & {
17
- mode?: Mode | undefined;
18
- flag?: OpenMode | undefined;
19
- } & Abortable) | BufferEncoding | null;
20
- export declare function tempFile_(folder: string, prefix: string, data: Data, options?: Options): import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope, unknown, string>;
21
- export {};
22
- //# sourceMappingURL=fileUtil.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fileUtil.d.ts","sourceRoot":"","sources":["../../_src/lib/fileUtil.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAA;AAC/D,OAAO,EAAE,MAAM,aAAa,CAAA;AAG5B,OAAO,KAAK,QAAQ,MAAM,QAAQ,CAAA;AAElC,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,8DAExC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,0GAGpD;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,gGAExC;AAED,wBAAgB,QAAQ,CACtB,MAAM,EAAE,MAAM,YAEE,MAAM,YAAY,IAAI,YAAY,OAAO,2FAC1D;AAED,KAAK,IAAI,GACL,MAAM,GACN,MAAM,CAAC,eAAe,GACtB,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GACzC,aAAa,CAAC,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC,GAC9C,QAAQ,CAAC,MAAM,CAAA;AAEnB,KAAK,OAAO,GACR,CAAC,qBAAqB,GAAG;IACzB,IAAI,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;IACvB,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAA;CAC5B,GAAG,SAAS,CAAC,GACZ,cAAc,GACd,IAAI,CAAA;AACR,wBAAgB,SAAS,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,OAAO,CAAC,EAAE,OAAO,yFAUlB"}
@@ -1,23 +0,0 @@
1
- import * as tracer_1 from "@effect/io/Debug";
2
- const fileName_1 = "packages/infra/_src/lib/fileUtil.ts";
3
- import * as tsplus_module_1 from "@effect/io/Effect";
4
- import crypto from "crypto";
5
- import fs from "fs/promises";
6
- import os from "os";
7
- import path from "path";
8
- export function readFile(fileName) {
9
- return tracer_1.withCallTrace(fileName_1 + ":10:17")(tsplus_module_1.tryPromise(() => fs.readFile(fileName)));
10
- }
11
- export function createReadableStream(fileName) {
12
- return tracer_1.withCallTrace(fileName_1 + ":15:6")(tsplus_module_1.map(file => file.createReadStream()))(openFile(fileName));
13
- }
14
- export function openFile(fileName) {
15
- return tracer_1.withCallTrace(fileName_1 + ":19:53")(tsplus_module_1.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":19:17")(tsplus_module_1.tryPromise(() => fs.open(fileName))), f => tracer_1.withCallTrace(fileName_1 + ":19:80")(tsplus_module_1.promise(() => f.close()))));
16
- }
17
- export function tempFile(folder) {
18
- return (prefix) => (data, options) => tempFile_(folder, prefix, data, options);
19
- }
20
- export function tempFile_(folder, prefix, data, options) {
21
- return tracer_1.withCallTrace(fileName_1 + ":49:6")(tsplus_module_1.flatMap(fp => tracer_1.withCallTrace(fileName_1 + ":52:10")(tsplus_module_1.acquireRelease(tracer_1.withCallTrace(fileName_1 + ":51:10")(tsplus_module_1.map(_ => fp))(tracer_1.withCallTrace(fileName_1 + ":50:14")(tsplus_module_1.tryPromise(() => fs.writeFile(fp, data, options)))), p => tracer_1.withCallTrace(fileName_1 + ":53:23")(tsplus_module_1.promise(() => fs.unlink(p)))))))(tracer_1.withCallTrace(fileName_1 + ":48:10")(tsplus_module_1.sync(() => path.join(os.tmpdir(), folder, `${prefix}-` + crypto.randomUUID()))));
22
- }
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZVV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2xpYi9maWxlVXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUE7QUFHM0IsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzVCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQTtBQUNuQixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFHdkIsTUFBTSxVQUFVLFFBQVEsQ0FBQyxRQUFnQjtJQUN2QyxxREFBTywyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFBO0FBQ3ZELENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsUUFBZ0I7SUFDbkQsT0FBTyxpRUFDQSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxHQUQvQixRQUFRLENBQUMsUUFBUSxDQUFDLENBQ2MsQ0FBQTtBQUN6QyxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVEsQ0FBQyxRQUFnQjtJQUN2QyxxREFBTyw2RUFBQSwyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFnQixDQUFDLENBQUMsRUFBRSwrQ0FBQyx3QkFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQSxDQUFDLEVBQUE7QUFDeEcsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQ3RCLE1BQWM7SUFFZCxPQUFPLENBQUMsTUFBYyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQVUsRUFBRSxPQUFpQixFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDeEcsQ0FBQztBQWdCRCxNQUFNLFVBQVUsU0FBUyxDQUN2QixNQUFjLEVBQ2QsTUFBYyxFQUNkLElBQVUsRUFDVixPQUFpQjtJQUVqQixPQUFPLHFFQUNJLEVBQUUsQ0FBQyxFQUFFLCtDQUNaLCtCQUFBLGtFQUNPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxpREFEZCwyQkFBa0IsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLEVBQ3pDLEVBRVgsQ0FBQyxDQUFDLEVBQUUsK0NBQUMsd0JBQWUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBLENBQ3hDLENBQUEsaURBTkEscUJBQU8sR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsRUFPcEYsQ0FBQTtBQUNMLENBQUMifQ==
@@ -1,19 +0,0 @@
1
- import { ReasonableString } from "@effect-app/prelude/schema";
2
- import { Effect } from "@effect/io/Effect";
3
- import { Tag } from "@fp-ts/data/Context";
4
- export declare const PrinterId: import("@effect-app/schema").SchemaDefaultSchema<unknown, import("@effect-app/schema").ReasonableString, string, string, import("@effect-app/schema").ApiSelfType<import("@effect-app/schema").ReasonableString>> & import("@effect-app/schema").Utils<import("@effect-app/schema").SchemaDefaultSchema<unknown, import("@effect-app/schema").ReasonableString, string, string, import("@effect-app/schema").ApiSelfType<import("@effect-app/schema").ReasonableString>>>;
5
- export type PrinterId = ReasonableString;
6
- export interface CUPS {
7
- print: (buffer: ArrayBuffer, printerId: PrinterId, ...options: string[]) => Effect<never, unknown, {
8
- stdout: string;
9
- stderr: string;
10
- }>;
11
- getAvailablePrinters: Effect<never, unknown, ReasonableString[]>;
12
- }
13
- /**
14
- * @tsplus type CUPS.Ops
15
- */
16
- export interface CUPSOps extends Tag<CUPS> {
17
- }
18
- export declare const CUPS: CUPSOps;
19
- //# sourceMappingURL=service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../_src/services/CUPS/service.ts"],"names":[],"mappings":";;;AAAA,eAAO,MAAM,SAAS,2cAAmB,CAAA;AACzC,MAAM,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAExC,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE;QACjG,MAAM,EAAE,MAAM,CAAA;QACd,MAAM,EAAE,MAAM,CAAA;KACf,CAAC,CAAA;IACF,oBAAoB,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAA;CACjE;AAED;;GAEG;AACH,MAAM,WAAW,OAAQ,SAAQ,GAAG,CAAC,IAAI,CAAC;CAAG;AAC7C,eAAO,MAAM,IAAI,EAAE,OAAqB,CAAA"}
@@ -1,5 +0,0 @@
1
- import * as tsplus_module_1 from "@effect-app/prelude/schema";
2
- import * as tsplus_module_2 from "@fp-ts/data/Context";
3
- export const PrinterId = tsplus_module_1.ReasonableString;
4
- export const CUPS = tsplus_module_2.Tag();
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvc2VydmljZXMvQ1VQUy9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsTUFBTSxDQUFDLE1BQU0sU0FBUyxtQkFBRyxnQkFBZ0IsQ0FBQTtBQWV6QyxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQVksZ0JBQUEsR0FBRyxFQUFRLENBQUEifQ==
@@ -1,10 +0,0 @@
1
- import { Effect } from "@effect/io/Effect";
2
- import { CUPS } from "./CUPS/service.js";
3
- export * from "./CUPS/service.js";
4
- /**
5
- * @tsplus static CUPS.Ops Live
6
- * @tsplus location "@effect-app/infra/services/CUPS"
7
- */
8
- export declare function LiveCUPS(cupsServer?: URL): import("@effect/io/Layer").Layer<never, never, CUPS>;
9
- export declare const prepareTempDir: Effect<never, never, void>;
10
- //# sourceMappingURL=CUPS.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CUPS.d.ts","sourceRoot":"","sources":["../../_src/services/CUPS.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAK1C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AAExC,cAAc,mBAAmB,CAAA;;;;;AAKjC,wBAAgB,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,wDAExC;AAiDD,eAAO,MAAM,cAAc,4BAUzB,CAAA"}
@@ -1,89 +0,0 @@
1
- import * as tracer_1 from "@effect/io/Debug";
2
- const fileName_1 = "packages/infra/_src/services/CUPS.ts";
3
- import * as tsplus_module_1 from "@effect/io/Effect";
4
- import * as tsplus_module_2 from "@effect-app/prelude/utils";
5
- import * as tsplus_module_3 from "@effect-app/prelude/_ext/Prelude.ext";
6
- import cp from "child_process";
7
- import util from "util";
8
- import { tempFile } from "../lib/fileUtil.js";
9
- import { isTruthy } from "@effect-app/core/utils";
10
- import { ReasonableString } from "@effect-app/schema";
11
- import "@effect/io/Effect";
12
- import fs from "fs";
13
- import os from "os";
14
- import path from "path";
15
- import { CUPS } from "./CUPS/service.js";
16
- export * from "./CUPS/service.js";
17
- /**
18
- * @tsplus static CUPS.Ops Live
19
- */
20
- export function LiveCUPS(cupsServer) {
21
- return tsplus_module_1.toLayer(CUPS)(makeCUPS(cupsServer));
22
- }
23
- function makeCUPS(cupsServer) {
24
- return tsplus_module_1.sync(() => {
25
- function print_(buffer, printerId, ...options) {
26
- const print = printBuffer({
27
- id: printerId,
28
- url: cupsServer
29
- }, options);
30
- return print(buffer);
31
- }
32
- return {
33
- print: print_,
34
- getAvailablePrinters: getAvailablePrinters(cupsServer?.host)
35
- };
36
- });
37
- }
38
- const exec_ = util.promisify(cp.exec);
39
- const exec = (command) => tsplus_module_1.zipRight(tracer_1.withCallTrace(fileName_1 + ":43:8")(tsplus_module_1.tap(r => (tracer_1.withCallTrace(fileName_1 + ":43:46")(tsplus_module_1.logAnnotate("result", tsplus_module_2.RecordPretty(tsplus_module_2.object$(r))))(tracer_1.withCallTrace(fileName_1 + ":43:25")(tsplus_module_1.logDebug(`Executed`))))))(tracer_1.withCallTrace(fileName_1 + ":42:14")(tsplus_module_1.tryPromise(() => exec_(command)))))(tracer_1.withCallTrace(fileName_1 + ":41:10")(tsplus_module_1.logDebug(`Executing: ${command}`)));
40
- function printFile(printer, options) {
41
- return (filePath) => printFile_(filePath, printer, options);
42
- }
43
- function printFile_(filePath, printer, options) {
44
- return exec(["lp", ...buildPrintArgs(filePath, printer, options)].join(" "));
45
- }
46
- function* buildPrintArgs(filePath, printer, options) {
47
- if (printer) {
48
- if (printer.url) {
49
- yield `-h ${printer.url.host}`;
50
- if (printer.url.username) {
51
- yield `-U ${printer.url.username}`;
52
- }
53
- }
54
- yield `-d "${printer.id}"`;
55
- for (const o of options) {
56
- yield `-o ${o}`;
57
- }
58
- }
59
- yield `"${filePath}"`;
60
- }
61
- export const prepareTempDir = tsplus_module_1.sync(() => {
62
- // TODO
63
- try {
64
- fs.mkdirSync(path.join(os.tmpdir(), "effect-ts-app"));
65
- }
66
- catch (err) {
67
- if (`${err}`.includes("EEXIST")) {
68
- return;
69
- }
70
- throw err;
71
- }
72
- });
73
- const makeTempFile = tempFile("effect-ts-app");
74
- const makePrintJobTempFile = makeTempFile("print-job");
75
- function printBuffer(printer, options) {
76
- return (buffer) => tsplus_module_3.flatMapScoped(makePrintJobTempFile(Buffer.from(buffer)), printFile(printer, options));
77
- }
78
- function getAvailablePrinters(host) {
79
- return tsplus_module_1.map(({ stdout }) => [...stdout.matchAll(/device for (\w+):/g)]
80
- .map(_ => _[1])
81
- .filter(isTruthy)
82
- .map(ReasonableString))(exec(["lpstat", ...buildListArgs({ host }), "-s"].join(" ")));
83
- }
84
- function* buildListArgs(config) {
85
- if (config?.host) {
86
- yield `-h ${config.host}`;
87
- }
88
- }
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ1VQUy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvc2VydmljZXMvQ1VQUy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM5QixPQUFPLElBQUksTUFBTSxNQUFNLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRTdDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQTtBQUNqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUNyRCxPQUF1QixtQkFBbUIsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFDbkIsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUV2QixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFeEMsY0FBYyxtQkFBbUIsQ0FBQTtBQUVqQzs7R0FFRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQUMsVUFBZ0I7SUFDdkMsT0FBTyx3QkFBNkIsSUFBSSxFQUFqQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQWMsQ0FBQTtBQUMzQyxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsVUFBZ0I7SUFDaEMsT0FBTyxxQkFBTyxHQUFHLEVBQUU7UUFDakIsU0FBUyxNQUFNLENBQUMsTUFBbUIsRUFBRSxTQUFvQixFQUFFLEdBQUcsT0FBaUI7WUFDN0UsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDO2dCQUN4QixFQUFFLEVBQUUsU0FBUztnQkFDYixHQUFHLEVBQUUsVUFBVTthQUNoQixFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ1gsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDdEIsQ0FBQztRQUNELE9BQU87WUFDTCxLQUFLLEVBQUUsTUFBTTtZQUNiLG9CQUFvQixF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
@@ -1,28 +0,0 @@
1
- import { DUR } from "@fp-ts/data/Duration";
2
- import { Effect } from "@effect/io/Effect";
3
- import { Chunk } from "@fp-ts/data/Chunk";
4
- import { Exit } from "@effect/io/Exit";
5
- import type { Cache as _Cache } from "../vendor/Cache/Cache.js";
6
- import type { Lookup } from "../vendor/Cache/Lookup.js";
7
- /**
8
- * @tsplus type ets/cache/Cache
9
- */
10
- export interface Cache<Key, Error, Value> extends _Cache<Key, Error, Value> {
11
- }
12
- /**
13
- * @tsplus type ets/cache/CacheOps
14
- */
15
- export interface CacheOps {
16
- }
17
- export declare const Cache: CacheOps;
18
- /**
19
- * @tsplus static ets/cache/CacheOps make
20
- * @tsplus location "@effect-app/infra/services/Cache"
21
- */
22
- export declare function make<Key, Environment, Error, Value>(capacity: number, duration: DUR, lookup: Lookup<Key, Environment, Error, Value>): import("@effect/io/Effect").Effect<Environment, never, Cache<Key, Error, Value>>;
23
- /**
24
- * @tsplus getter ets/cache/Cache results
25
- * @tsplus location "@effect-app/infra/services/Cache"
26
- */
27
- export declare function results<Key, Error, Value>(self: Cache<Key, Error, Value>): Effect<never, never, Chunk<[Key, Exit<Error, Value>]>>;
28
- //# sourceMappingURL=Cache.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Cache.d.ts","sourceRoot":"","sources":["../../_src/services/Cache.ts"],"names":[],"mappings":";;;;AAAA,OAAO,KAAK,EAAE,KAAK,IAAI,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAG/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAE,SAAQ,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;CAAG;AAE9E;;GAEG;AAEH,MAAM,WAAW,QAAQ;CAAG;AAE5B,eAAO,MAAM,KAAK,EAAE,QAAa,CAAA;;;;;AAKjC,wBAAgB,IAAI,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EACjD,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,GAAG,EACb,MAAM,EAAE,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,CAAC,oFAG/C;;;;;AAKD,wBAAgB,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EACvC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,GAC7B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAUxD"}
@@ -1,28 +0,0 @@
1
- import * as tracer_1 from "@effect/io/Debug";
2
- const fileName_1 = "packages/infra/_src/services/Cache.ts";
3
- const fileName_2 = "/Users/patrickroza/Projects/effect-ts-app/libs/packages/infra/_src/services/Cache.ts";
4
- import * as tsplus_module_1 from "@fp-ts/data/Chunk";
5
- import * as tsplus_module_2 from "@effect/io/Effect";
6
- import { make as _make } from "../vendor/Cache/Cache.js";
7
- export const Cache = {};
8
- /**
9
- * @tsplus static ets/cache/CacheOps make
10
- */
11
- export function make(capacity, duration, lookup) {
12
- return _make(capacity, duration, lookup, fileName_2 + ":27:15");
13
- }
14
- /**
15
- * @tsplus getter ets/cache/Cache results
16
- */
17
- export function results(self) {
18
- return tracer_1.withCallTrace(fileName_1 + ":36:10")(tsplus_module_2.sync(() => {
19
- const values = [];
20
- for (const [key, value] of self.cacheState.map) {
21
- if (value._tag === "Complete") {
22
- values.push([key, value.exit]);
23
- }
24
- }
25
- return tsplus_module_1.fromIterable(values);
26
- }));
27
- }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2FjaGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL3NlcnZpY2VzL0NhY2hlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsT0FBTyxFQUFFLElBQUksSUFBSSxLQUFLLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQWV4RCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQWEsRUFBRSxDQUFBO0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FDbEIsUUFBZ0IsRUFDaEIsUUFBYSxFQUNiLE1BQThDO0lBRTlDLE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSx3QkFBeUQsQ0FBQTtBQUNsRyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUNyQixJQUE4QjtJQUU5QixxREFBTyxxQkFBTyxHQUFHLEVBQUU7UUFDakIsTUFBTSxNQUFNLEdBQXFDLEVBQUUsQ0FBQTtRQUNuRCxLQUFLLE1BQU0sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQU0sSUFBWSxDQUFDLFVBQTRDLENBQUMsR0FBRyxFQUFFO1lBQzFGLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7Z0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7YUFDL0I7U0FDRjtRQUNELE9BQU8sNkJBQW1CLE1BQU0sQ0FBQyxDQUFBO0lBQ25DLENBQUMsQ0FBQyxFQUFBO0FBQ0osQ0FBQyJ9
@@ -1,26 +0,0 @@
1
- import { Effect } from "@effect/io/Effect";
2
- import type { OperationOptionsBase, ProcessErrorArgs, ServiceBusMessage, ServiceBusMessageBatch, ServiceBusReceivedMessage, ServiceBusReceiver, ServiceBusSender } from "@azure/service-bus";
3
- import { ServiceBusClient } from "@azure/service-bus";
4
- export declare const LiveServiceBusClient: (url: string) => import("@effect/io/Layer").Layer<never, never, ServiceBusClient>;
5
- export declare const Sender: import("@fp-ts/data/Context").Tag<ServiceBusSender>;
6
- export declare function LiveSender(queueName: string): import("@effect/io/Layer").Layer<ServiceBusClient, never, ServiceBusSender>;
7
- export declare const Receiver: import("@fp-ts/data/Context").Tag<ServiceBusReceiver>;
8
- export declare function LiveReceiver(queueName: string): import("@effect/io/Layer").Layer<ServiceBusClient, never, ServiceBusReceiver>;
9
- export declare function sendMessages(messages: ServiceBusMessage | ServiceBusMessage[] | ServiceBusMessageBatch, options?: OperationOptionsBase): import("@effect/io/Effect").Effect<ServiceBusSender, never, void>;
10
- export declare function subscribe<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>): import("@effect/io/Effect").Effect<import("@effect/io/Scope").Scope | ServiceBusReceiver | RMsg | RErr, never, void>;
11
- export declare function Subscription<RMsg, RErr>(hndlr: MessageHandlers<RMsg, RErr>): import("@effect/io/Layer").Layer<ServiceBusReceiver | Exclude<RMsg, import("@effect/io/Scope").Scope> | Exclude<RErr, import("@effect/io/Scope").Scope>, never, void>;
12
- export interface MessageHandlers<RMsg, RErr> {
13
- /**
14
- * Handler that processes messages from service bus.
15
- *
16
- * @param message - A message received from Service Bus.
17
- */
18
- processMessage(message: ServiceBusReceivedMessage): Effect<RMsg, never, void>;
19
- /**
20
- * Handler that processes errors that occur during receiving.
21
- * @param args - The error and additional context to indicate where
22
- * the error originated.
23
- */
24
- processError(args: ProcessErrorArgs): Effect<RErr, never, void>;
25
- }
26
- //# sourceMappingURL=ServiceBus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServiceBus.d.ts","sourceRoot":"","sources":["../../_src/services/ServiceBus.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,yBAAyB,EACzB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AASrD,eAAO,MAAM,oBAAoB,QAAS,MAAM,qEAA0C,CAAA;AAa1F,eAAO,MAAM,MAAM,qDAA0B,CAAA;AAE7C,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,+EAE3C;AAcD,eAAO,MAAM,QAAQ,uDAA4B,CAAA;AACjD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,iFAE7C;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,iBAAiB,GAAG,iBAAiB,EAAE,GAAG,sBAAsB,EAC1E,OAAO,CAAC,EAAE,oBAAoB,qEAM/B;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,wHAyBvE;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,yKAE1E;AAED,MAAM,WAAW,eAAe,CAAC,IAAI,EAAE,IAAI;IACzC;;;;OAIG;IACH,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAC7E;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAChE"}