effect 4.0.0-beta.92 → 4.0.0-beta.94

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 (162) hide show
  1. package/dist/Cause.d.ts +3 -1
  2. package/dist/Cause.d.ts.map +1 -1
  3. package/dist/Cause.js.map +1 -1
  4. package/dist/Config.d.ts +1 -1
  5. package/dist/Config.d.ts.map +1 -1
  6. package/dist/Config.js.map +1 -1
  7. package/dist/Effect.d.ts +130 -0
  8. package/dist/Effect.d.ts.map +1 -1
  9. package/dist/Effect.js +43 -0
  10. package/dist/Effect.js.map +1 -1
  11. package/dist/FileSystem.d.ts +7 -0
  12. package/dist/FileSystem.d.ts.map +1 -1
  13. package/dist/FileSystem.js +3 -0
  14. package/dist/FileSystem.js.map +1 -1
  15. package/dist/Layer.d.ts +1 -1
  16. package/dist/Layer.d.ts.map +1 -1
  17. package/dist/Layer.js +6 -3
  18. package/dist/Layer.js.map +1 -1
  19. package/dist/LayerMap.js +1 -1
  20. package/dist/LayerMap.js.map +1 -1
  21. package/dist/LayerRef.d.ts +252 -0
  22. package/dist/LayerRef.d.ts.map +1 -0
  23. package/dist/LayerRef.js +171 -0
  24. package/dist/LayerRef.js.map +1 -0
  25. package/dist/Schema.d.ts +74 -30
  26. package/dist/Schema.d.ts.map +1 -1
  27. package/dist/Schema.js +3 -0
  28. package/dist/Schema.js.map +1 -1
  29. package/dist/SchemaParser.d.ts +1 -1
  30. package/dist/SchemaParser.d.ts.map +1 -1
  31. package/dist/SchemaParser.js.map +1 -1
  32. package/dist/internal/core.js +1 -1
  33. package/dist/internal/effect.js +10 -6
  34. package/dist/internal/effect.js.map +1 -1
  35. package/dist/testing/TestSchema.d.ts +2 -2
  36. package/dist/testing/TestSchema.d.ts.map +1 -1
  37. package/dist/testing/TestSchema.js.map +1 -1
  38. package/dist/unstable/ai/Chat.d.ts +1 -1
  39. package/dist/unstable/ai/Chat.d.ts.map +1 -1
  40. package/dist/unstable/ai/LanguageModel.d.ts +2 -2
  41. package/dist/unstable/ai/LanguageModel.d.ts.map +1 -1
  42. package/dist/unstable/cli/Argument.d.ts +2 -2
  43. package/dist/unstable/cli/Argument.d.ts.map +1 -1
  44. package/dist/unstable/cli/Argument.js.map +1 -1
  45. package/dist/unstable/cli/Flag.d.ts +2 -2
  46. package/dist/unstable/cli/Flag.d.ts.map +1 -1
  47. package/dist/unstable/cli/Flag.js.map +1 -1
  48. package/dist/unstable/cli/Param.d.ts +2 -2
  49. package/dist/unstable/cli/Param.d.ts.map +1 -1
  50. package/dist/unstable/cli/Param.js.map +1 -1
  51. package/dist/unstable/cli/Primitive.js.map +1 -1
  52. package/dist/unstable/cluster/ClusterWorkflowEngine.d.ts.map +1 -1
  53. package/dist/unstable/cluster/ClusterWorkflowEngine.js +1 -0
  54. package/dist/unstable/cluster/ClusterWorkflowEngine.js.map +1 -1
  55. package/dist/unstable/cluster/Entity.d.ts.map +1 -1
  56. package/dist/unstable/cluster/Entity.js +5 -3
  57. package/dist/unstable/cluster/Entity.js.map +1 -1
  58. package/dist/unstable/cluster/Sharding.d.ts.map +1 -1
  59. package/dist/unstable/cluster/Sharding.js +3 -1
  60. package/dist/unstable/cluster/Sharding.js.map +1 -1
  61. package/dist/unstable/cluster/internal/entityManager.js +3 -2
  62. package/dist/unstable/cluster/internal/entityManager.js.map +1 -1
  63. package/dist/unstable/cluster/internal/resourceMap.js +39 -14
  64. package/dist/unstable/cluster/internal/resourceMap.js.map +1 -1
  65. package/dist/unstable/encoding/Sse.d.ts +2 -2
  66. package/dist/unstable/encoding/Sse.d.ts.map +1 -1
  67. package/dist/unstable/http/HttpBody.d.ts +1 -1
  68. package/dist/unstable/http/HttpBody.d.ts.map +1 -1
  69. package/dist/unstable/http/HttpBody.js +1 -1
  70. package/dist/unstable/http/HttpBody.js.map +1 -1
  71. package/dist/unstable/http/HttpClient.js +2 -2
  72. package/dist/unstable/http/HttpClient.js.map +1 -1
  73. package/dist/unstable/http/HttpClientRequest.d.ts +5 -4
  74. package/dist/unstable/http/HttpClientRequest.d.ts.map +1 -1
  75. package/dist/unstable/http/HttpClientRequest.js +5 -4
  76. package/dist/unstable/http/HttpClientRequest.js.map +1 -1
  77. package/dist/unstable/http/HttpClientResponse.d.ts +1 -1
  78. package/dist/unstable/http/HttpClientResponse.d.ts.map +1 -1
  79. package/dist/unstable/http/HttpClientResponse.js.map +1 -1
  80. package/dist/unstable/http/HttpIncomingMessage.d.ts +2 -2
  81. package/dist/unstable/http/HttpIncomingMessage.d.ts.map +1 -1
  82. package/dist/unstable/http/HttpIncomingMessage.js.map +1 -1
  83. package/dist/unstable/http/HttpRouter.d.ts +4 -4
  84. package/dist/unstable/http/HttpRouter.d.ts.map +1 -1
  85. package/dist/unstable/http/HttpRouter.js.map +1 -1
  86. package/dist/unstable/http/HttpServerRequest.d.ts +8 -8
  87. package/dist/unstable/http/HttpServerRequest.d.ts.map +1 -1
  88. package/dist/unstable/http/HttpServerRequest.js.map +1 -1
  89. package/dist/unstable/http/HttpServerResponse.d.ts +1 -1
  90. package/dist/unstable/http/HttpServerResponse.d.ts.map +1 -1
  91. package/dist/unstable/http/HttpServerResponse.js.map +1 -1
  92. package/dist/unstable/http/Multipart.d.ts +2 -2
  93. package/dist/unstable/http/Multipart.d.ts.map +1 -1
  94. package/dist/unstable/http/Multipart.js.map +1 -1
  95. package/dist/unstable/http/Url.d.ts +29 -4
  96. package/dist/unstable/http/Url.d.ts.map +1 -1
  97. package/dist/unstable/http/Url.js +44 -2
  98. package/dist/unstable/http/Url.js.map +1 -1
  99. package/dist/unstable/http/UrlParams.d.ts +2 -28
  100. package/dist/unstable/http/UrlParams.d.ts.map +1 -1
  101. package/dist/unstable/http/UrlParams.js +4 -46
  102. package/dist/unstable/http/UrlParams.js.map +1 -1
  103. package/dist/unstable/httpapi/HttpApi.d.ts.map +1 -1
  104. package/dist/unstable/httpapi/HttpApi.js +2 -4
  105. package/dist/unstable/httpapi/HttpApi.js.map +1 -1
  106. package/dist/unstable/httpapi/HttpApiBuilder.d.ts.map +1 -1
  107. package/dist/unstable/httpapi/HttpApiBuilder.js +30 -15
  108. package/dist/unstable/httpapi/HttpApiBuilder.js.map +1 -1
  109. package/dist/unstable/httpapi/HttpApiClient.js.map +1 -1
  110. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts +7 -7
  111. package/dist/unstable/httpapi/HttpApiEndpoint.d.ts.map +1 -1
  112. package/dist/unstable/httpapi/HttpApiSchema.d.ts +1 -1
  113. package/dist/unstable/httpapi/HttpApiSchema.d.ts.map +1 -1
  114. package/dist/unstable/observability/OtlpTracer.d.ts.map +1 -1
  115. package/dist/unstable/observability/OtlpTracer.js +4 -3
  116. package/dist/unstable/observability/OtlpTracer.js.map +1 -1
  117. package/dist/unstable/reactivity/Atom.d.ts +4 -4
  118. package/dist/unstable/reactivity/Atom.d.ts.map +1 -1
  119. package/dist/unstable/reactivity/Atom.js.map +1 -1
  120. package/package.json +1 -1
  121. package/src/Cause.ts +3 -1
  122. package/src/Config.ts +1 -1
  123. package/src/Effect.ts +131 -0
  124. package/src/FileSystem.ts +13 -0
  125. package/src/Layer.ts +6 -6
  126. package/src/LayerMap.ts +1 -1
  127. package/src/LayerRef.ts +379 -0
  128. package/src/Schema.ts +83 -33
  129. package/src/SchemaParser.ts +2 -2
  130. package/src/internal/core.ts +1 -1
  131. package/src/internal/effect.ts +33 -6
  132. package/src/testing/TestSchema.ts +2 -2
  133. package/src/unstable/ai/Chat.ts +1 -1
  134. package/src/unstable/ai/LanguageModel.ts +3 -3
  135. package/src/unstable/cli/Argument.ts +14 -7
  136. package/src/unstable/cli/Flag.ts +6 -3
  137. package/src/unstable/cli/Param.ts +6 -3
  138. package/src/unstable/cli/Primitive.ts +2 -2
  139. package/src/unstable/cluster/ClusterWorkflowEngine.ts +1 -0
  140. package/src/unstable/cluster/Entity.ts +13 -14
  141. package/src/unstable/cluster/Sharding.ts +134 -131
  142. package/src/unstable/cluster/internal/entityManager.ts +11 -9
  143. package/src/unstable/cluster/internal/resourceMap.ts +59 -25
  144. package/src/unstable/encoding/Sse.ts +3 -3
  145. package/src/unstable/http/HttpBody.ts +2 -2
  146. package/src/unstable/http/HttpClient.ts +2 -2
  147. package/src/unstable/http/HttpClientRequest.ts +8 -7
  148. package/src/unstable/http/HttpClientResponse.ts +2 -3
  149. package/src/unstable/http/HttpIncomingMessage.ts +4 -5
  150. package/src/unstable/http/HttpRouter.ts +8 -10
  151. package/src/unstable/http/HttpServerRequest.ts +20 -19
  152. package/src/unstable/http/HttpServerResponse.ts +2 -2
  153. package/src/unstable/http/Multipart.ts +3 -3
  154. package/src/unstable/http/Url.ts +62 -7
  155. package/src/unstable/http/UrlParams.ts +5 -58
  156. package/src/unstable/httpapi/HttpApi.ts +2 -4
  157. package/src/unstable/httpapi/HttpApiBuilder.ts +33 -21
  158. package/src/unstable/httpapi/HttpApiClient.ts +2 -2
  159. package/src/unstable/httpapi/HttpApiEndpoint.ts +7 -7
  160. package/src/unstable/httpapi/HttpApiSchema.ts +1 -1
  161. package/src/unstable/observability/OtlpTracer.ts +4 -3
  162. package/src/unstable/reactivity/Atom.ts +10 -7
package/dist/Layer.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Layer.js","names":["Context","Deferred","constant","constTrue","constUndefined","dual","identity","core","internalEffect","getStackTraceLimit","setStackTraceLimit","internalTracer","pipeArguments","hasProperty","CurrentStackFrame","Scope","Tracer","TypeId","MemoMapTypeId","memoMapReuse","entry","scope","observers","andThen","scopeAddFinalizerExit","exit","finalizer","effect","isLayer","u","LayerProto","_ROut","_E","_RIn","pipe","arguments","fromBuildUnsafe","build","self","Object","create","fromBuild","memoMap","layerScope","forkUnsafe","onExit","_tag","close","void","fromBuildMemo","getOrElseMemoize","memoMapBuild","layer","makeUnsafe","deferred","await","suspend","map","delete","set","flatMap","done","MemoMapImpl","parent","constructor","Map","get","local","existing","makeMemoMapUnsafe","forkMemoMapUnsafe","makeMemoMap","sync","forkMemoMap","CurrentMemoMap","Service","getOrCreate","getOrElse","buildWithMemoMap","provideService","add","withFiber","fiber","context","getUnsafe","buildWithScope","succeed","length","resource","succeedContext","make","empty","evaluate","syncContext","effectImpl","service","effectContext","value","_","provide","effectDiscard","as","unwrap","mergeAllEffect","layers","parentScope","forEach","concurrency","mergeAll","merge","that","Array","isArray","provideWith","f","provideContext","merged","provideMerge","tap","tapError","catch_","error","fail","tapCause","catchCause","cause","failCause","orDie","onError","e","catch","catchTag","k","updateService","fresh","launch","scoped","never","mock","implementation","mockImpl","Proxy","target","prop","_receiver","prevLimit","Error","key","toString","name","makeUnimplemented","has","dead","assign","die","StreamTypeId","channel","ChannelTypeId","transform","unimplemented","setPrototypeOf","getPrototypeOf","satisfiesSuccessType","satisfiesErrorType","satisfiesServicesType","span","options","addSpanStackTrace","ParentSpan","onEnd","makeSpanScoped","addFinalizer","parentSpan","withSpan","dataFirst","undefined","withParentSpan","provideStackFrame","provideSpanStackFrame","captureStackTrace","parentSpanLayer","stack"],"sources":["../src/Layer.ts"],"sourcesContent":[null],"mappings":"AAcA,OAAO,KAAKA,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AAIzC,SAASC,QAAQ,EAAEC,SAAS,EAAEC,cAAc,EAAEC,IAAI,EAAEC,QAAQ,QAAQ,eAAe;AACnF,OAAO,KAAKC,IAAI,MAAM,oBAAoB;AAC1C,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AACtD,SAASC,kBAAkB,EAAEC,kBAAkB,QAAQ,+BAA+B;AACtF,OAAO,KAAKC,cAAc,MAAM,sBAAsB;AACtD,SAAwBC,aAAa,QAAQ,eAAe;AAC5D,SAASC,WAAW,QAAQ,gBAAgB;AAC5C,SAASC,iBAAiB,QAAQ,iBAAiB;AACnD,OAAO,KAAKC,KAAK,MAAM,YAAY;AAEnC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAIrC,MAAMC,MAAM,GAAG,eAAe;AAoJ9B,MAAMC,aAAa,GAAG,uBAAuB;AAwD7C,MAAMC,YAAY,GAAGA,CACnBC,KAAmB,EACnBC,KAAkB,KACuB;EACzCD,KAAK,CAACE,SAAS,EAAE;EACjB,OAAOd,cAAc,CAACe,OAAO,CAC3Bf,cAAc,CAACgB,qBAAqB,CAACH,KAAK,EAAGI,IAAI,IAAKL,KAAK,CAACM,SAAS,CAACD,IAAI,CAAC,CAAC,EAC5EL,KAAK,CAACO,MAAM,CACb;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,OAAO,MAAMC,OAAO,GAAIC,CAAU,IAA4ChB,WAAW,CAACgB,CAAC,EAAEZ,MAAM,CAAC;AAEpG,MAAMa,UAAU,GAAG;EACjB,CAACb,MAAM,GAAG;IACRc,KAAK,EAAEzB,QAAQ;IACf0B,EAAE,EAAE1B,QAAQ;IACZ2B,IAAI,EAAE3B;GACP;EACD4B,IAAIA,CAAA;IACF,OAAOtB,aAAa,CAAC,IAAI,EAAEuB,SAAS,CAAC;EACvC;CACD;AAED,MAAMC,eAAe,GACnBC,KAG0C,IACnB;EACvB,MAAMC,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACV,UAAU,CAAC;EACtCQ,IAAI,CAACD,KAAK,GAAGA,KAAK;EAClB,OAAOC,IAAI;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,OAAO,MAAMG,SAAS,GACpBJ,KAG0C,IAE1CD,eAAe,CAAC,CAACM,OAAgB,EAAErB,KAAkB,KAAI;EACvD,MAAMsB,UAAU,GAAG5B,KAAK,CAAC6B,UAAU,CAACvB,KAAK,CAAC;EAC1C,OAAOb,cAAc,CAACqC,MAAM,CAC1BR,KAAK,CAACK,OAAO,EAAEC,UAAU,CAAC,EACzBlB,IAAI,IAAKA,IAAI,CAACqB,IAAI,KAAK,SAAS,GAAG/B,KAAK,CAACgC,KAAK,CAACJ,UAAU,EAAElB,IAAI,CAAC,GAAGjB,cAAc,CAACwC,IAAI,CACxF;AACH,CAAC,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BA,OAAO,MAAMC,aAAa,GACxBZ,KAG0C,IACnB;EACvB,MAAMC,IAAI,GAAwBG,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KAAKqB,OAAO,CAACQ,gBAAgB,CAACZ,IAAI,EAAEjB,KAAK,EAAEgB,KAAK,CAAC,CAAC;EAC7G,OAAOC,IAAI;AACb,CAAC;AAED,MAAMa,YAAY,GAAGA,CACnBT,OAAoB,EACpBU,KAA0B,EAC1B/B,KAAkB,EAClBgB,KAAsF,KAC7C;EACzC,MAAMM,UAAU,GAAG5B,KAAK,CAACsC,UAAU,EAAE;EACrC,MAAMC,QAAQ,GAAGrD,QAAQ,CAACoD,UAAU,EAA4B;EAChE,MAAMjC,KAAK,GAAiB;IAC1BE,SAAS,EAAE,CAAC;IACZK,MAAM,EAAE1B,QAAQ,CAACsD,KAAK,CAACD,QAAQ,CAAC;IAChC5B,SAAS,EAAGD,IAAiC,IAC3CjB,cAAc,CAACgD,OAAO,CAAC,MAAK;MAC1BpC,KAAK,CAACE,SAAS,EAAE;MACjB,IAAIF,KAAK,CAACE,SAAS,KAAK,CAAC,EAAE;QACzBoB,OAAO,CAACe,GAAG,CAACC,MAAM,CAACN,KAAK,CAAC;QACzB,OAAOrC,KAAK,CAACgC,KAAK,CAACJ,UAAU,EAAElB,IAAI,CAAC;MACtC;MACA,OAAOjB,cAAc,CAACwC,IAAI;IAC5B,CAAC;GACJ;EACDN,OAAO,CAACe,GAAG,CAACE,GAAG,CAACP,KAAK,EAAEhC,KAAK,CAAC;EAC7B,OAAOZ,cAAc,CAACgB,qBAAqB,CAACH,KAAK,EAAED,KAAK,CAACM,SAAS,CAAC,CAACQ,IAAI,CACtE1B,cAAc,CAACoD,OAAO,CAAC,MAAMvB,KAAK,CAACK,OAAO,EAAEC,UAAU,CAAC,CAAC,EACxDnC,cAAc,CAACqC,MAAM,CAAEpB,IAAI,IAAI;IAC7BL,KAAK,CAACO,MAAM,GAAGF,IAAI;IACnB,OAAOxB,QAAQ,CAAC4D,IAAI,CAACP,QAAQ,EAAE7B,IAAI,CAAC;EACtC,CAAC,CAAC,CACH;AACH,CAAC;AAED,MAAMqC,WAAW;EACf,KAAK5C,aAAa,IAAC;IACjB,OAAOA,aAAa;EACtB;EAES6C,MAAM;EAEfC,YAAYD,MAAgB;IAC1B,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;EAESN,GAAG,gBAAG,IAAIQ,GAAG,EAAsC;EAE5DC,GAAGA,CACDd,KAA0B,EAC1B/B,KAAkB;IAElB,MAAM8C,KAAK,GAAG,IAAI,CAACV,GAAG,CAACS,GAAG,CAACd,KAAK,CAAC;IACjC,IAAIe,KAAK,EAAE;MACT,OAAOhD,YAAY,CAACgD,KAAK,EAAE9C,KAAK,CAAC;IACnC;IACA,OAAO,IAAI,CAAC0C,MAAM,EAAEG,GAAG,CAACd,KAAK,EAAE/B,KAAK,CAAC;EACvC;EAEA6B,gBAAgBA,CACdE,KAA0B,EAC1B/B,KAAkB,EAClBgB,KAAsF;IAEtF,MAAM+B,QAAQ,GAAG,IAAI,CAACF,GAAG,CAACd,KAAK,EAAE/B,KAAK,CAAC;IACvC,IAAI+C,QAAQ,EAAE;MACZ,OAAOA,QAAQ;IACjB;IACA,OAAOjB,YAAY,CAAC,IAAI,EAAEC,KAAK,EAAE/B,KAAK,EAAEgB,KAAK,CAAC;EAChD;;AAGF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,OAAO,MAAMgC,iBAAiB,GAAGA,CAAA,KAAe,IAAIP,WAAW,EAAE;AAEjE;;;;;;;;;;;;;;;;;AAiBA,OAAO,MAAMQ,iBAAiB,GAAIP,MAAe,IAAc,IAAID,WAAW,CAACC,MAAM,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,OAAO,MAAMQ,WAAW,gBAAoB/D,cAAc,CAACgE,IAAI,CAACH,iBAAiB,CAAC;AAElF;;;;;;;;;;;;;;;;;AAiBA,OAAO,MAAMI,WAAW,GAAIV,MAAe,IAAsBvD,cAAc,CAACgE,IAAI,CAAC,MAAMF,iBAAiB,CAACP,MAAM,CAAC,CAAC;AAErH;;;;;;;;;;;;;;;;;;AAkBA,OAAM,MAAOW,cAAe,sBAAQ1E,OAAO,CAAC2E,OAAO,EAA2B,CAAC,6BAA6B,CAAC;EAC3G,OAAOC,WAAW,gBAA2D5E,OAAO,CAAC6E,SAAS,CAC5F,IAAI,EACJR,iBAAiB,CAClB;;AAGH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,OAAO,MAAMS,gBAAgB,gBAmGzBzE,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzBI,OAAgB,EAChBrB,KAAkB,KAElBb,cAAc,CAACuE,cAAc,CAC3BvE,cAAc,CAACiD,GAAG,CAACnB,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EAAErB,OAAO,CAACgF,GAAG,CAACN,cAAc,EAAEhC,OAAO,CAAC,CAAC,EACpFgC,cAAc,EACdhC,OAAO,CACR,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAO,MAAML,KAAK,GAChBC,IAAyB,IAEzB/B,IAAI,CAAC0E,SAAS,CAAEC,KAAK,IACnBJ,gBAAgB,CACdxC,IAAI,EACJoC,cAAc,CAACE,WAAW,CAACM,KAAK,CAACC,OAAO,CAAC,EACzCnF,OAAO,CAACoF,SAAS,CAACF,KAAK,CAACC,OAAO,EAAEpE,KAAK,CAACA,KAAK,CAAC,CAC9C,CACF;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,OAAO,MAAMsE,cAAc,gBAiGvBhF,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzBjB,KAAkB,KAElBd,IAAI,CAAC0E,SAAS,CAAEC,KAAK,IACnBJ,gBAAgB,CACdxC,IAAI,EACJoC,cAAc,CAACE,WAAW,CAACM,KAAK,CAACC,OAAO,CAAC,EACzC9D,KAAK,CACN,CACF,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,OAAO,MAAMiE,OAAO,GA2DhB,SAAAA,CAAA;EACF,IAAInD,SAAS,CAACoD,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAQC,QAAa,IAAKC,cAAc,CAACzF,OAAO,CAAC0F,IAAI,CAACvD,SAAS,CAAC,CAAC,CAAC,EAAEqD,QAAQ,CAAC,CAAC;EAChF;EACA,OAAOC,cAAc,CAACzF,OAAO,CAAC0F,IAAI,CAACvD,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACjE,CAAQ;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,OAAO,MAAMsD,cAAc,GAAON,OAA2B,IAC3D/C,eAAe,CAAClC,QAAQ,CAACM,cAAc,CAAC8E,OAAO,CAACH,OAAO,CAAC,CAAC,CAAC;AAE5D;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,OAAO,MAAMQ,KAAK,gBAAiBF,cAAc,cAACzF,OAAO,CAAC2F,KAAK,EAAE,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAMnB,IAAI,GAmEb,SAAAA,CAAA;EACF,IAAIrC,SAAS,CAACoD,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAQK,QAAsB,IAAKC,WAAW,CAAC,MAAM7F,OAAO,CAAC0F,IAAI,CAACvD,SAAS,CAAC,CAAC,CAAC,EAAEyD,QAAQ,EAAE,CAAC,CAAC;EAC9F;EACA,OAAOC,WAAW,CAAC,MAAM7F,OAAO,CAAC0F,IAAI,CAACvD,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACtE,CAAQ;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,OAAO,MAAM0D,WAAW,GAAOD,QAAqC,IAClE3C,aAAa,CAAC/C,QAAQ,CAACM,cAAc,CAACgE,IAAI,CAACoB,QAAQ,CAAC,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,OAAO,MAAMjE,MAAM,GA6Ef,SAAAA,CAAA;EACF,IAAIQ,SAAS,CAACoD,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAQ5D,MAAW,IAAKmE,UAAU,CAAC3D,SAAS,CAAC,CAAC,CAAC,EAAER,MAAM,CAAC;EAC1D;EACA,OAAOmE,UAAU,CAAC3D,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAQ;AAER,MAAM2D,UAAU,GAAGA,CACjBC,OAA0B,EAC1BpE,MAAuB,KAEvBqE,aAAa,CAACxF,cAAc,CAACiD,GAAG,CAAC9B,MAAM,EAAGsE,KAAK,IAAKjG,OAAO,CAAC0F,IAAI,CAACK,OAAO,EAAEE,KAAK,CAAC,CAAC,CAAC;AAEpF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,OAAO,MAAMD,aAAa,GACxBrE,MAAwC,IACCsB,aAAa,CAAC,CAACiD,CAAC,EAAE7E,KAAK,KAAKN,KAAK,CAACoF,OAAO,CAACxE,MAAM,EAAEN,KAAK,CAAC,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BA,OAAO,MAAM+E,aAAa,GAAazE,MAAuB,IAC5DqE,aAAa,CAACxF,cAAc,CAAC6F,EAAE,CAAC1E,MAAM,EAAE3B,OAAO,CAAC2F,KAAK,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,OAAO,MAAMnC,OAAO,GAAaoC,QAAiC,IAChE3C,aAAa,CAAC,CAACP,OAAO,EAAErB,KAAK,KAAKb,cAAc,CAACgD,OAAO,CAAC,MAAMoC,QAAQ,EAAE,CAACvD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CAAC,CAAC;AAEnG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAMiF,MAAM,GACjBhE,IAAoC,IACc;EAClD,MAAMyD,OAAO,GAAG/F,OAAO,CAAC2E,OAAO,CAAmB,qBAAqB,CAAC;EACxE,OAAOf,OAAO,CAACjC,MAAM,CAACoE,OAAO,CAAC,CAACzD,IAAI,CAAC,EAAEtC,OAAO,CAACkE,GAAG,CAAC6B,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,MAAMQ,cAAc,GAAGA,CACrBC,MAAc,EACd9D,OAAgB,EAChBrB,KAAkB,KAKhB;EACF,MAAMoF,WAAW,GAAG1F,KAAK,CAAC6B,UAAU,CAACvB,KAAK,EAAE,UAAU,CAAC;EACvD,OAAOb,cAAc,CAACkG,OAAO,CAACF,MAAM,EAAGpD,KAAK,IAAKA,KAAK,CAACf,KAAK,CAACK,OAAO,EAAE3B,KAAK,CAAC6B,UAAU,CAAC6D,WAAW,EAAE,YAAY,CAAC,CAAC,EAAE;IAClHE,WAAW,EAAEH,MAAM,CAACjB;GACrB,CAAC,CAACrD,IAAI,CACL1B,cAAc,CAACiD,GAAG,CAAE0B,OAAO,IAAKnF,OAAO,CAAC4G,QAAQ,CAAC,GAAIzB,OAAe,CAAC,CAAC,CACvE;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,OAAO,MAAMyB,QAAQ,GAAGA,CACtB,GAAGJ,MAAc,KAKd/D,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KAAKkF,cAAc,CAACC,MAAM,EAAE9D,OAAO,EAAErB,KAAK,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,OAAO,MAAMwF,KAAK,gBA6LdxG,IAAI,CAAC,CAAC,EAAE,CACViC,IAA0B,EAC1BwE,IAAgE,KAC7DF,QAAQ,CAACtE,IAAI,EAAE,IAAIyE,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,GAAGA,IAAI,GAAG,CAACA,IAAI,CAAC,CAAC,CAAC,CAAC;AAE9D,MAAMG,WAAW,GAAGA,CAClB3E,IAA0B,EAC1BwE,IAAgE,EAChEI,CAGyB,KAEzBzE,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KACvBb,cAAc,CAACoD,OAAO,CACpBmD,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,GACfP,cAAc,CAACO,IAA2C,EAAEpE,OAAO,EAAErB,KAAK,CAAC,GAC1EyF,IAA6B,CAACzE,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACvD8D,OAAO,IACN7C,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CAACa,IAAI,CAC7B1B,cAAc,CAAC2G,cAAc,CAAChC,OAAO,CAAC,EACtC3E,cAAc,CAACiD,GAAG,CAAE2D,MAAM,IAAKF,CAAC,CAACE,MAAM,EAAEjC,OAAO,CAAC,CAAC,CACnD,CACJ,CACF;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EA,OAAO,MAAMgB,OAAO,gBAqUhB9F,IAAI,CAAC,CAAC,EAAE,CACViC,IAA0B,EAC1BwE,IAAgE,KAC7DG,WAAW,CAAC3E,IAAI,EAAEwE,IAAI,EAAExG,QAAQ,CAAC,CAAC;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmFA,OAAO,MAAM+G,YAAY,gBA6VrBhH,IAAI,CAAC,CAAC,EAAE,CACViC,IAA0B,EAC1BwE,IAAgE,KAEhEG,WAAW,CACT3E,IAAI,EACJwE,IAAI,EACJ,CAACxE,IAAI,EAAEwE,IAAI,KAAK9G,OAAO,CAAC6G,KAAK,CAACC,IAAI,EAAExE,IAAI,CAAC,CAC1C,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,OAAO,MAAMsB,OAAO,gBAoJhBvD,IAAI,CAAC,CAAC,EAAE,CACViC,IAAoB,EACpB4E,CAAqD,KAErDzE,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KACvBb,cAAc,CAACoD,OAAO,CACpBtB,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzB8D,OAAO,IAAK+B,CAAC,CAAC/B,OAAO,CAAC,CAAC9C,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CAC9C,CACF,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,MAAMiG,GAAG,gBA8CZjH,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzB4E,CAAwD,KAExDzE,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KACvBb,cAAc,CAACoD,OAAO,CACpBtB,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzB8D,OAAO,IAAKpE,KAAK,CAACoF,OAAO,CAAC3F,cAAc,CAAC6F,EAAE,CAACa,CAAC,CAAC/B,OAA8B,CAAC,EAAEA,OAAO,CAAC,EAAE9D,KAAK,CAAC,CACjG,CACF,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;AAoBA,OAAO,MAAMkG,QAAQ,gBA2CjBlH,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzB4E,CAAiC,KAEjCzE,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KACvBb,cAAc,CAACgH,MAAM,CACnBlF,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzBoG,KAAK,IAAK1G,KAAK,CAACoF,OAAO,CAAC3F,cAAc,CAACe,OAAO,CAAC2F,CAAC,CAACO,KAAW,CAAC,EAAEjH,cAAc,CAACkH,IAAI,CAACD,KAAK,CAAC,CAAC,EAAEpG,KAAK,CAAC,CACpG,CACF,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;AAqBA,OAAO,MAAMsG,QAAQ,gBAgDjBtH,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzB4E,CAAkD,KAElDzE,SAAS,CAAC,CAACC,OAAO,EAAErB,KAAK,KACvBb,cAAc,CAACoH,UAAU,CACvBtF,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzBwG,KAAK,IACJ9G,KAAK,CAACoF,OAAO,CAAC3F,cAAc,CAACe,OAAO,CAAC2F,CAAC,CAACW,KAAwB,CAAC,EAAErH,cAAc,CAACsH,SAAS,CAACD,KAAK,CAAC,CAAC,EAAExG,KAAK,CAAC,CAC7G,CACF,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CA,OAAO,MAAM0G,KAAK,GAAazF,IAAoB,IACjDF,eAAe,CAAC,CAACM,OAAO,EAAErB,KAAK,KAAKb,cAAc,CAACuH,KAAK,CAACzF,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CAAC,CAAC;AAEvF,MAAMmG,MAAM,gBAQRnH,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzB0F,OAA6C,KAE7C5F,eAAe,CAAC,CAACM,OAAO,EAAErB,KAAK,KAC7Bb,cAAc,CAACgH,MAAM,CACnBlF,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzB4G,CAAC,IAAKD,OAAO,CAACC,CAAC,CAAC,CAAC5F,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CACjC,CACT,CAAC;AAEJ;AACE;;;;;;;;;;;;;;AAcAmG,MAAM,IAAIU,KAAK;AAGjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAMC,QAAQ,gBA8FjB9H,IAAI,CAAC,CAAC,EAAE,CASViC,IAAyB,EACzB8F,CAAI,EACJlB,CAA8G,KAE9G9E,eAAe,CAAC,CAACM,OAAO,EAAErB,KAAK,KAC7Bb,cAAc,CAAC2H,QAAQ,CACrB7F,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EAC1B+G,CAAC,EACAX,KAAK,IAAKP,CAAC,CAACO,KAAK,CAAC,CAACpF,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CACnC,CACT,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,OAAO,MAAMuG,UAAU,gBAwHnBvH,IAAI,CAAC,CAAC,EAAE,CACViC,IAAyB,EACzB0F,OAA0D,KAE1D5F,eAAe,CAAC,CAACM,OAAO,EAAErB,KAAK,KAC7Bb,cAAc,CAACoH,UAAU,CACvBtF,IAAI,CAACD,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,EACzBwG,KAAK,IAAKG,OAAO,CAACH,KAAK,CAAC,CAACxF,KAAK,CAACK,OAAO,EAAErB,KAAK,CAAC,CACzC,CACT,CAAC;AAEJ;;;;;;;;;;;;;;;;;;AAkBA,OAAO,MAAMgH,aAAa,gBA2CtBhI,IAAI,CACN,CAAC,EACD,CACE+C,KAAwB,EACxB2C,OAA0B,EAC1BmB,CAA6B,KACHf,OAAO,CAAC/C,KAAK,EAAEzB,MAAM,CAACoE,OAAO,EAAEvF,cAAc,CAACiD,GAAG,CAACsC,OAAO,EAAEmB,CAAC,CAAC,CAAC,CAAC,CAC5F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkFA,OAAO,MAAMoB,KAAK,GAAahG,IAAoB,IACjDF,eAAe,CAAC,CAAC8D,CAAC,EAAE7E,KAAK,KAAKiB,IAAI,CAACD,KAAK,CAACgC,iBAAiB,EAAE,EAAEhD,KAAK,CAAC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgEA,OAAO,MAAMkH,MAAM,GAAkBjG,IAAyB,IAC5D9B,cAAc,CAACgI,MAAM,CAAChI,cAAc,CAACe,OAAO,CAACc,KAAK,CAACC,IAAI,CAAC,EAAE9B,cAAc,CAACiI,KAAK,CAAC,CAAC;AAuClF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuDA,OAAO,MAAMC,IAAI,GAoHb,SAAAA,CAAA;EACF,IAAIvG,SAAS,CAACoD,MAAM,KAAK,CAAC,EAAE;IAC1B,OAAQoD,cAAmB,IAAKC,QAAQ,CAACzG,SAAS,CAAC,CAAC,CAAC,EAAEwG,cAAc,CAAC;EACxE;EACA,OAAOC,QAAQ,CAACzG,SAAS,CAAC,CAAC,CAAC,EAAEA,SAAS,CAAC,CAAC,CAAC,CAAC;AAC7C,CAAQ;AAER,MAAMyG,QAAQ,GAAGA,CAAsB7C,OAA0B,EAAE4C,cAAmC,KACpGrD,OAAO,CAACS,OAAO,CAAC,CACd,IAAI8C,KAAK,CAAC;EAAE,GAAGF;AAAwB,CAAO,EAAE;EAC9CzE,GAAGA,CAAC4E,MAAM,EAAEC,IAAI,EAAEC,SAAS;IACzB,IAAID,IAAI,IAAID,MAAM,EAAE;MAClB,OAAOA,MAAM,CAACC,IAAe,CAAC;IAChC;IACA,MAAME,SAAS,GAAGxI,kBAAkB,EAAE;IACtCC,kBAAkB,CAAC,CAAC,CAAC;IACrB,MAAM+G,KAAK,GAAG,IAAIyB,KAAK,CAAC,GAAGnD,OAAO,CAACoD,GAAG,2BAA2BJ,IAAI,CAACK,QAAQ,EAAE,GAAG,CAAC;IACpF1I,kBAAkB,CAACuI,SAAS,CAAC;IAC7BxB,KAAK,CAAC4B,IAAI,GAAG,oBAAoB;IACjC,OAAOC,iBAAiB,CAAC7B,KAAK,CAAC;EACjC,CAAC;EACD8B,GAAG,EAAEpJ;CACN,CAAC,CACH;AAEH,MAAMmJ,iBAAiB,GAAI7B,KAAuB,IAAI;EACpD,MAAM+B,IAAI,GAAGjH,MAAM,CAACkH,MAAM,CAACjJ,cAAc,CAACkJ,GAAG,CAACjC,KAAK,CAAC,EAAE;IACpD,CAACkC,YAAY,GAAGA,YAAY;IAC5BC,OAAO,EAAE;MACP,CAACC,aAAa,GAAGA,aAAa;MAC9BC,SAAS,EAAEA,CAAA,KAAMtJ,cAAc,CAAC8E,OAAO,CAACkE,IAAI,CAAC;MAC7CtH,IAAIA,CAAA;QACF,OAAOtB,aAAa,CAAC,IAAI,EAAEuB,SAAS,CAAC;MACvC;KACD;IACD,CAAC0H,aAAa,GAAGA,aAAa;IAC9BC,SAAS,EAAEA,CAAA,KAAMtJ,cAAc,CAAC8E,OAAO,CAACkE,IAAI;GAC7C,CAAC;EACF,SAASO,aAAaA,CAAA;IACpB,OAAOP,IAAI;EACb;EACA;EACAjH,MAAM,CAACkH,MAAM,CAACM,aAAa,EAAEP,IAAI,CAAC;EAClCjH,MAAM,CAACyH,cAAc,CAACD,aAAa,EAAExH,MAAM,CAAC0H,cAAc,CAACT,IAAI,CAAC,CAAC;EACjE,OAAOO,aAAa;AACtB,CAAC;AAED,MAAMJ,YAAY,GAAkB,gBAAgB;AACpD,MAAME,aAAa,GAAmB,iBAAiB;AAEvD;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAO,MAAMK,oBAAoB,GAC/BA,CAAA,KAAyC9G,KAA2B,IAA2BA,KAAK;AAEtG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,OAAO,MAAM+G,kBAAkB,GAC7BA,CAAA,KAAmC/G,KAA2B,IAA2BA,KAAK;AAEhG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+BA,OAAO,MAAMgH,qBAAqB,GAChCA,CAAA,KAAuChH,KAA2B,IAA2BA,KAAK;AAqCpG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDA,OAAO,MAAMiH,IAAI,GAAGA,CAClBhB,IAAY,EACZiB,OAAqB,KACO;EAC5BA,OAAO,GAAG3J,cAAc,CAAC4J,iBAAiB,CAACD,OAAO,CAAC;EACnD,OAAO3I,MAAM,CACXX,MAAM,CAACwJ,UAAU,EACjBF,OAAO,EAAEG,KAAK,GACVjK,cAAc,CAAC8G,GAAG,CAClB9G,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,EAC3CD,IAAI,IAAK7J,cAAc,CAACmK,YAAY,CAAElJ,IAAI,IAAK6I,OAAO,CAACG,KAAM,CAACJ,IAAI,EAAE5I,IAAI,CAAC,CAAC,CAC5E,GACCjB,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,CACjD;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCA,OAAO,MAAMM,UAAU,GAAIP,IAAoB,IAC7C5E,cAAc,CAACzE,MAAM,CAACwJ,UAAU,CAACrF,OAAO,CAACkF,IAAI,CAAC,CAAC;AAEjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4DA,OAAO,MAAMQ,QAAQ,GA6HjB,SAAAA,CAAA;EACF,MAAMC,SAAS,GAAG,OAAO3I,SAAS,CAAC,CAAC,CAAC,KAAK,QAAQ;EAClD,MAAMkH,IAAI,GAAGyB,SAAS,GAAG3I,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC;EACpD,MAAMmI,OAAO,GAAG3J,cAAc,CAAC4J,iBAAiB,CAACO,SAAS,GAAG3I,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC,CAAgB;EACxG,IAAI2I,SAAS,EAAE;IACb,MAAMxI,IAAI,GAAGH,SAAS,CAAC,CAAC,CAAC;IACzB,OAAOmE,MAAM,CACX9F,cAAc,CAACiD,GAAG,CAChB6G,OAAO,EAAEG,KAAK,KAAKM,SAAS,GACxBvK,cAAc,CAAC8G,GAAG,CAClB9G,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,EAC3CD,IAAI,IAAK7J,cAAc,CAACmK,YAAY,CAAElJ,IAAI,IAAK6I,OAAO,CAACG,KAAM,CAACJ,IAAI,EAAE5I,IAAI,CAAC,CAAC,CAC5E,GACCjB,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,EAC/CD,IAAI,IAAKW,cAAc,CAAC1I,IAAI,EAAE+H,IAAI,CAAC,CACrC,CACF;EACH;EACA,OAAQ/H,IAA0B,IAChCgE,MAAM,CACJ9F,cAAc,CAACiD,GAAG,CAChB6G,OAAO,EAAEG,KAAK,KAAKM,SAAS,GACxBvK,cAAc,CAAC8G,GAAG,CAClB9G,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,EAC3CD,IAAI,IAAK7J,cAAc,CAACmK,YAAY,CAAElJ,IAAI,IAAK6I,OAAO,CAACG,KAAM,CAACJ,IAAI,EAAE5I,IAAI,CAAC,CAAC,CAC5E,GACCjB,cAAc,CAACkK,cAAc,CAACrB,IAAI,EAAEiB,OAAO,CAAC,EAC/CD,IAAI,IAAKW,cAAc,CAAC1I,IAAI,EAAE+H,IAAI,CAAC,CACrC,CACF;AACL,CAAQ;AAER;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmEA,OAAO,MAAMW,cAAc,GA2IvB,SAAAA,CAAA;EACF,MAAMF,SAAS,GAAGlJ,OAAO,CAACO,SAAS,CAAC,CAAC,CAAC,CAAC;EACvC,MAAMkI,IAAI,GAAmBS,SAAS,GAAG3I,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC;EACpE,IAAImI,OAAO,GAAGQ,SAAS,GAAG3I,SAAS,CAAC,CAAC,CAAC,GAAGA,SAAS,CAAC,CAAC,CAAC;EACrD,IAAI8I,iBAAiB,GAAsD3K,QAAQ;EACnF,IAAI+J,IAAI,CAACvH,IAAI,KAAK,MAAM,EAAE;IACxBwH,OAAO,GAAG3J,cAAc,CAAC4J,iBAAiB,CAACD,OAAO,CAAC;IACnDW,iBAAiB,GAAGC,qBAAqB,CAACb,IAAI,CAAChB,IAAI,EAAEiB,OAAO,EAAEa,iBAAiB,CAAC;EAClF;EACA,MAAMC,eAAe,GAAGR,UAAU,CAACP,IAAI,CAAC;EACxC,IAAIS,SAAS,EAAE;IACb,OAAO3E,OAAO,CAAC8E,iBAAiB,CAAC9I,SAAS,CAAC,CAAC,CAAC,CAAC,EAAEiJ,eAAe,CAAC;EAClE;EACA,OAAQ9I,IAA0B,IAAK6D,OAAO,CAAC8E,iBAAiB,CAAC3I,IAAI,CAAC,EAAE8I,eAAe,CAAC;AAC1F,CAAQ;AAER,MAAMF,qBAAqB,GAAGA,CAAC7B,IAAY,EAAEgC,KAA6C,KAAI;EAC5FA,KAAK,GAAG,OAAOA,KAAK,KAAK,UAAU,GAAGA,KAAK,GAAGjL,cAAc;EAC5D,OAAOiI,aAAa,CAACvH,iBAAiB,EAAGiD,MAAM,KAAM;IACnDsF,IAAI;IACJgC,KAAK;IACLtH;GACD,CAAC,CAAC;AACL,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Layer.js","names":["Context","Deferred","constant","constTrue","constUndefined","dual","identity","core","internalEffect","getStackTraceLimit","setStackTraceLimit","internalTracer","pipeArguments","hasProperty","CurrentStackFrame","Scope","Tracer","TypeId","MemoMapTypeId","memoMapReuse","entry","scope","observers","andThen","scopeAddFinalizerExit","exit","finalizer","effect","isLayer","u","LayerProto","_ROut","_E","_RIn","pipe","arguments","fromBuildUnsafe","build","self","Object","create","fromBuild","memoMap","layerScope","forkUnsafe","onExit","_tag","close","void","fromBuildMemo","getOrElseMemoize","memoMapBuild","layer","makeUnsafe","deferred","await","suspend","map","delete","set","flatMap","done","MemoMapImpl","parent","constructor","Map","get","local","existing","makeMemoMapUnsafe","forkMemoMapUnsafe","makeMemoMap","sync","forkMemoMap","CurrentMemoMap","Service","forkOrCreate","current","getOrUndefined","buildWithMemoMap","provideService","add","withFiber","fiber","context","getUnsafe","buildWithScope","succeed","length","resource","succeedContext","make","empty","evaluate","syncContext","effectImpl","service","effectContext","value","_","provide","effectDiscard","as","unwrap","mergeAllEffect","layers","parentScope","forEach","concurrency","mergeAll","merge","that","Array","isArray","provideWith","f","provideContext","merged","provideMerge","tap","tapError","catch_","error","fail","tapCause","catchCause","cause","failCause","orDie","onError","e","catch","catchTag","k","updateService","fresh","launch","scoped","never","mock","implementation","mockImpl","Proxy","target","prop","_receiver","prevLimit","Error","key","toString","name","makeUnimplemented","has","dead","assign","die","StreamTypeId","channel","ChannelTypeId","transform","unimplemented","setPrototypeOf","getPrototypeOf","satisfiesSuccessType","satisfiesErrorType","satisfiesServicesType","span","options","addSpanStackTrace","ParentSpan","onEnd","makeSpanScoped","addFinalizer","parentSpan","withSpan","dataFirst","undefined","withParentSpan","provideStackFrame","provideSpanStackFrame","captureStackTrace","parentSpanLayer","stack"],"sources":["../src/Layer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/LayerMap.js CHANGED
@@ -61,7 +61,7 @@ const TypeId = "~effect/LayerMap";
61
61
  */
62
62
  export const make = /*#__PURE__*/Effect.fnUntraced(function* (lookup, options) {
63
63
  const context = yield* Effect.context();
64
- const memoMap = Layer.CurrentMemoMap.getOrCreate(context);
64
+ const memoMap = Layer.CurrentMemoMap.forkOrCreate(context);
65
65
  const rcMap = yield* RcMap.make({
66
66
  lookup: key => Effect.contextWith(_ => Layer.buildWithMemoMap(lookup(key), memoMap, Context.get(_, Scope.Scope))),
67
67
  idleTimeToLive: options?.idleTimeToLive
@@ -1 +1 @@
1
- {"version":3,"file":"LayerMap.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcMap","Scope","TypeId","make","fnUntraced","lookup","options","context","memoMap","CurrentMemoMap","getOrCreate","rcMap","key","contextWith","_","buildWithMemoMap","get","idleTimeToLive","effectContext","contextEffect","invalidate","fromRecord","layers","preloadKeys","preload","Object","keys","undefined","Service","id","Err","globalThis","Error","limit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","defineProperty","stack","layerNoDeps","effect","layer","dependencies","length","provide","unwrap","map","layerMap","flatMap"],"sources":["../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"LayerMap.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcMap","Scope","TypeId","make","fnUntraced","lookup","options","context","memoMap","CurrentMemoMap","forkOrCreate","rcMap","key","contextWith","_","buildWithMemoMap","get","idleTimeToLive","effectContext","contextEffect","invalidate","fromRecord","layers","preloadKeys","preload","Object","keys","undefined","Service","id","Err","globalThis","Error","limit","creationError","TagClass","TagClass_","setPrototypeOf","getPrototypeOf","defineProperty","stack","layerNoDeps","effect","layer","dependencies","length","provide","unwrap","map","layerMap","flatMap"],"sources":["../src/LayerMap.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,252 @@
1
+ /**
2
+ * Creates refreshable references to a single layer-built service context.
3
+ *
4
+ * A `LayerRef<I, E>` builds one `Layer` into a cached `Context<I>`, exposes it
5
+ * back as a layer or scoped effect, and supports invalidation so later users can
6
+ * acquire a fresh context.
7
+ *
8
+ * @since 4.0.0
9
+ */
10
+ import * as Context from "./Context.ts";
11
+ import type * as Duration from "./Duration.ts";
12
+ import * as Effect from "./Effect.ts";
13
+ import * as Layer from "./Layer.ts";
14
+ import * as RcRef from "./RcRef.ts";
15
+ import type * as Schedule from "./Schedule.ts";
16
+ import * as Scope from "./Scope.ts";
17
+ declare const TypeId = "~effect/LayerRef";
18
+ /**
19
+ * A refreshable reference to a single layer-built service context.
20
+ *
21
+ * **When to use**
22
+ *
23
+ * Use when you want to share one scoped layer resource across many users while
24
+ * retaining the ability to invalidate it and rebuild it later.
25
+ *
26
+ * **Details**
27
+ *
28
+ * A `LayerRef` is the unkeyed counterpart to a layer cache: it lazily builds the
29
+ * layer on first use, reuses the resulting context while it is borrowed or kept
30
+ * idle, and can invalidate the cached context so the next use rebuilds it.
31
+ *
32
+ * @see {@link make} for constructing a `LayerRef` from a layer
33
+ * @see {@link Service} for defining a `LayerRef` as a service class
34
+ *
35
+ * @category models
36
+ * @since 4.0.0
37
+ */
38
+ export interface LayerRef<in out I, in out E = never> {
39
+ readonly [TypeId]: typeof TypeId;
40
+ /**
41
+ * The underlying reference-counted cache that stores the built context.
42
+ */
43
+ readonly rcRef: RcRef.RcRef<Context.Context<I>, E>;
44
+ /**
45
+ * Layer that provides the currently cached context, acquiring it if needed.
46
+ */
47
+ readonly get: Layer.Layer<I, E>;
48
+ /**
49
+ * Scoped effect that retrieves the currently cached context, acquiring it if needed.
50
+ */
51
+ readonly contextEffect: Effect.Effect<Context.Context<I>, E, Scope.Scope>;
52
+ /**
53
+ * Invalidates the cached context so the next use rebuilds the layer.
54
+ */
55
+ readonly invalidate: Effect.Effect<void>;
56
+ /**
57
+ * Invalidates the cached context so the next use rebuilds the layer, and
58
+ * reacquires it.
59
+ */
60
+ readonly refresh: Effect.Effect<void, E>;
61
+ }
62
+ /**
63
+ * Creates a `LayerRef` from a `Layer`.
64
+ *
65
+ * **When to use**
66
+ *
67
+ * Use when you have one layer-built resource that should be shared, optionally
68
+ * kept alive while idle, and refreshed on demand.
69
+ *
70
+ * **Details**
71
+ *
72
+ * The layer is built lazily on first use unless `preload` is `true`.
73
+ * `idleTimeToLive` keeps the context cached after it stops being used, and
74
+ * `invalidationSchedule` can periodically invalidate it. When `preload` is
75
+ * `true`, scheduled invalidation also reacquires the context.
76
+ *
77
+ * **Gotchas**
78
+ *
79
+ * Invalidation does not revoke contexts already borrowed by active scopes; those
80
+ * contexts remain usable until their scopes close.
81
+ *
82
+ * **Example** (Sharing one layer-built service)
83
+ *
84
+ * ```ts
85
+ * import { Context, Effect, Layer } from "effect"
86
+ * import { make } from "effect/LayerRef"
87
+ *
88
+ * class Database extends Context.Service<Database, {
89
+ * readonly query: Effect.Effect<string>
90
+ * }>()("Database") {}
91
+ *
92
+ * const databaseLayer = Layer.succeed(Database, {
93
+ * query: Effect.succeed("result")
94
+ * })
95
+ *
96
+ * const query = Effect.gen(function*() {
97
+ * const database = yield* Database
98
+ * return yield* database.query
99
+ * })
100
+ *
101
+ * const program = Effect.scoped(
102
+ * Effect.gen(function*() {
103
+ * const ref = yield* make(databaseLayer, {
104
+ * idleTimeToLive: "5 seconds"
105
+ * })
106
+ *
107
+ * const result = yield* Effect.provide(query, ref.get)
108
+ *
109
+ * yield* ref.invalidate
110
+ *
111
+ * return result
112
+ * })
113
+ * )
114
+ * ```
115
+ *
116
+ * @see {@link Service} for defining a reusable service class around a `LayerRef`
117
+ *
118
+ * @category constructors
119
+ * @since 4.0.0
120
+ */
121
+ export declare const make: <I, E, R, X, const Preload extends boolean = never, SE = never, SR = never>(layer: Layer.Layer<I, E, R>, options?: {
122
+ /**
123
+ * Duration to keep the resource alive after it is no longer used.
124
+ */
125
+ readonly idleTimeToLive?: Duration.Input | undefined;
126
+ /**
127
+ * Whether to acquire the resource during creation.
128
+ */
129
+ readonly preload?: Preload | undefined;
130
+ /**
131
+ * Schedule used to invalidate the cached resource. When `preload` is
132
+ * `true`, each scheduled invalidation also reacquires the resource.
133
+ */
134
+ readonly invalidationSchedule?: Schedule.Schedule<X, unknown, SE, SR> | undefined;
135
+ } | undefined) => Effect.Effect<LayerRef<I, E>, [Preload] extends [true] ? E : never, Scope.Scope | R | SR>;
136
+ /**
137
+ * Service class shape produced by `LayerRef.Service`.
138
+ *
139
+ * **When to use**
140
+ *
141
+ * Use as the public type for classes returned by `LayerRef.Service` when an API
142
+ * needs to accept, return, or alias the generated service class and its static
143
+ * helpers.
144
+ *
145
+ * **Details**
146
+ *
147
+ * It combines a `Context.Service` tag for the `LayerRef` with default layers and
148
+ * helper accessors for retrieving, using, and invalidating the cached resource.
149
+ *
150
+ * @see {@link Service} for creating concrete `LayerRef` service classes
151
+ *
152
+ * @category services
153
+ * @since 4.0.0
154
+ */
155
+ export interface TagClass<in out Self, in out Id extends string, in out I, in out E, in out R, in out LE, in out Deps extends Layer.Layer<any, any, any>> extends Context.ServiceClass<Self, Id, LayerRef<I, E>> {
156
+ /**
157
+ * Default layer for the `LayerRef` service, with dependencies applied.
158
+ */
159
+ readonly layer: Layer.Layer<Self, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _E : never) | LE, Exclude<R, (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _A : never)> | (Deps extends Layer.Layer<infer _A, infer _E, infer _R> ? _R : never)>;
160
+ /**
161
+ * Default layer for the `LayerRef` service without provided dependencies.
162
+ */
163
+ readonly layerNoDeps: Layer.Layer<Self, LE, R>;
164
+ /**
165
+ * Layer that provides the currently cached context, requiring this service.
166
+ */
167
+ readonly get: Layer.Layer<I, E, Self>;
168
+ /**
169
+ * Scoped effect that retrieves the currently cached context through this service.
170
+ */
171
+ readonly contextEffect: Effect.Effect<Context.Context<I>, E, Scope.Scope | Self>;
172
+ /**
173
+ * Invalidates the cached context through this service.
174
+ */
175
+ readonly invalidate: Effect.Effect<void, never, Self>;
176
+ /**
177
+ * Invalidates the cached context through this service, and reacquires it.
178
+ */
179
+ readonly refresh: Effect.Effect<void, E, Self>;
180
+ }
181
+ /**
182
+ * Creates a service class for a `LayerRef`.
183
+ *
184
+ * **When to use**
185
+ *
186
+ * Use when you want to name a shared layer reference as an application service
187
+ * and expose static helpers for providing, retrieving, and invalidating it.
188
+ *
189
+ * **Details**
190
+ *
191
+ * The returned class is a `Context.Service` whose value is a `LayerRef`. It also
192
+ * includes `.layer`, `.layerNoDeps`, `.get`, `.contextEffect`, and `.invalidate`
193
+ * helpers so callers do not need to access the `LayerRef` value directly.
194
+ *
195
+ * **Example** (Defining a refreshable service)
196
+ *
197
+ * ```ts
198
+ * import { Context, Effect, Layer } from "effect"
199
+ * import { Service } from "effect/LayerRef"
200
+ *
201
+ * class Database extends Context.Service<Database, {
202
+ * readonly query: Effect.Effect<string>
203
+ * }>()("Database") {}
204
+ *
205
+ * const databaseLayer = Layer.succeed(Database, {
206
+ * query: Effect.succeed("result")
207
+ * })
208
+ *
209
+ * class DatabaseRef extends Service<DatabaseRef>()("DatabaseRef", {
210
+ * layer: databaseLayer,
211
+ * preload: true
212
+ * }) {}
213
+ *
214
+ * const program = Effect.gen(function*() {
215
+ * const database = yield* Database
216
+ * return yield* database.query
217
+ * }).pipe(
218
+ * Effect.provide(DatabaseRef.get),
219
+ * Effect.provide(DatabaseRef.layer)
220
+ * )
221
+ * ```
222
+ *
223
+ * @see {@link make} for creating a `LayerRef` value without defining a service class
224
+ *
225
+ * @category services
226
+ * @since 4.0.0
227
+ */
228
+ export declare const Service: <Self>() => <const Id extends string, I, E, R, X, const Deps extends ReadonlyArray<Layer.Layer<any, any, any>> = [], const Preload extends boolean = never, SE = never, SR = never>(id: Id, options: {
229
+ /**
230
+ * Layer used to build the cached context.
231
+ */
232
+ readonly layer: Layer.Layer<I, E, R>;
233
+ /**
234
+ * Layers used to satisfy dependencies of the `LayerRef` service layer.
235
+ */
236
+ readonly dependencies?: Deps | undefined;
237
+ /**
238
+ * Duration to keep the resource alive after it is no longer used.
239
+ */
240
+ readonly idleTimeToLive?: Duration.Input | undefined;
241
+ /**
242
+ * Whether to acquire the resource during creation.
243
+ */
244
+ readonly preload?: Preload | undefined;
245
+ /**
246
+ * Schedule used to invalidate the cached resource. When `preload` is
247
+ * `true`, each scheduled invalidation also reacquires the resource.
248
+ */
249
+ readonly invalidationSchedule?: Schedule.Schedule<X, unknown, SE, SR> | undefined;
250
+ }) => TagClass<Self, Id, I, E, R | SR, [Preload] extends [true] ? E : never, Deps[number]>;
251
+ export {};
252
+ //# sourceMappingURL=LayerRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayerRef.d.ts","sourceRoot":"","sources":["../src/LayerRef.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * Creates refreshable references to a single layer-built service context.
3
+ *
4
+ * A `LayerRef<I, E>` builds one `Layer` into a cached `Context<I>`, exposes it
5
+ * back as a layer or scoped effect, and supports invalidation so later users can
6
+ * acquire a fresh context.
7
+ *
8
+ * @since 4.0.0
9
+ */
10
+ import * as Context from "./Context.js";
11
+ import * as Effect from "./Effect.js";
12
+ import { identity } from "./Function.js";
13
+ import { getStackTraceLimit, setStackTraceLimit } from "./internal/stackTraceLimit.js";
14
+ import * as Layer from "./Layer.js";
15
+ import * as RcRef from "./RcRef.js";
16
+ import * as Scope from "./Scope.js";
17
+ const TypeId = "~effect/LayerRef";
18
+ /**
19
+ * Creates a `LayerRef` from a `Layer`.
20
+ *
21
+ * **When to use**
22
+ *
23
+ * Use when you have one layer-built resource that should be shared, optionally
24
+ * kept alive while idle, and refreshed on demand.
25
+ *
26
+ * **Details**
27
+ *
28
+ * The layer is built lazily on first use unless `preload` is `true`.
29
+ * `idleTimeToLive` keeps the context cached after it stops being used, and
30
+ * `invalidationSchedule` can periodically invalidate it. When `preload` is
31
+ * `true`, scheduled invalidation also reacquires the context.
32
+ *
33
+ * **Gotchas**
34
+ *
35
+ * Invalidation does not revoke contexts already borrowed by active scopes; those
36
+ * contexts remain usable until their scopes close.
37
+ *
38
+ * **Example** (Sharing one layer-built service)
39
+ *
40
+ * ```ts
41
+ * import { Context, Effect, Layer } from "effect"
42
+ * import { make } from "effect/LayerRef"
43
+ *
44
+ * class Database extends Context.Service<Database, {
45
+ * readonly query: Effect.Effect<string>
46
+ * }>()("Database") {}
47
+ *
48
+ * const databaseLayer = Layer.succeed(Database, {
49
+ * query: Effect.succeed("result")
50
+ * })
51
+ *
52
+ * const query = Effect.gen(function*() {
53
+ * const database = yield* Database
54
+ * return yield* database.query
55
+ * })
56
+ *
57
+ * const program = Effect.scoped(
58
+ * Effect.gen(function*() {
59
+ * const ref = yield* make(databaseLayer, {
60
+ * idleTimeToLive: "5 seconds"
61
+ * })
62
+ *
63
+ * const result = yield* Effect.provide(query, ref.get)
64
+ *
65
+ * yield* ref.invalidate
66
+ *
67
+ * return result
68
+ * })
69
+ * )
70
+ * ```
71
+ *
72
+ * @see {@link Service} for defining a reusable service class around a `LayerRef`
73
+ *
74
+ * @category constructors
75
+ * @since 4.0.0
76
+ */
77
+ export const make = /*#__PURE__*/Effect.fnUntraced(function* (layer, options) {
78
+ const context = yield* Effect.context();
79
+ const memoMap = Layer.CurrentMemoMap.forkOrCreate(context);
80
+ const rcRef = yield* RcRef.make({
81
+ acquire: Effect.contextWith(_ => Layer.buildWithMemoMap(layer, memoMap, Context.get(_, Scope.Scope))),
82
+ idleTimeToLive: options?.idleTimeToLive
83
+ });
84
+ const refresh = RcRef.invalidate(rcRef).pipe(Effect.andThen(Effect.scoped(RcRef.get(rcRef))), Effect.asVoid);
85
+ if (options?.preload) {
86
+ yield* refresh;
87
+ }
88
+ if (options?.invalidationSchedule) {
89
+ const onRefresh = options.preload ? refresh : RcRef.invalidate(rcRef);
90
+ yield* onRefresh.pipe(Effect.ignoreCause, Effect.schedule(options.invalidationSchedule), Effect.forkScoped);
91
+ }
92
+ return identity({
93
+ [TypeId]: TypeId,
94
+ rcRef,
95
+ get: Layer.effectContext(RcRef.get(rcRef)),
96
+ contextEffect: RcRef.get(rcRef),
97
+ invalidate: RcRef.invalidate(rcRef),
98
+ refresh
99
+ });
100
+ });
101
+ /**
102
+ * Creates a service class for a `LayerRef`.
103
+ *
104
+ * **When to use**
105
+ *
106
+ * Use when you want to name a shared layer reference as an application service
107
+ * and expose static helpers for providing, retrieving, and invalidating it.
108
+ *
109
+ * **Details**
110
+ *
111
+ * The returned class is a `Context.Service` whose value is a `LayerRef`. It also
112
+ * includes `.layer`, `.layerNoDeps`, `.get`, `.contextEffect`, and `.invalidate`
113
+ * helpers so callers do not need to access the `LayerRef` value directly.
114
+ *
115
+ * **Example** (Defining a refreshable service)
116
+ *
117
+ * ```ts
118
+ * import { Context, Effect, Layer } from "effect"
119
+ * import { Service } from "effect/LayerRef"
120
+ *
121
+ * class Database extends Context.Service<Database, {
122
+ * readonly query: Effect.Effect<string>
123
+ * }>()("Database") {}
124
+ *
125
+ * const databaseLayer = Layer.succeed(Database, {
126
+ * query: Effect.succeed("result")
127
+ * })
128
+ *
129
+ * class DatabaseRef extends Service<DatabaseRef>()("DatabaseRef", {
130
+ * layer: databaseLayer,
131
+ * preload: true
132
+ * }) {}
133
+ *
134
+ * const program = Effect.gen(function*() {
135
+ * const database = yield* Database
136
+ * return yield* database.query
137
+ * }).pipe(
138
+ * Effect.provide(DatabaseRef.get),
139
+ * Effect.provide(DatabaseRef.layer)
140
+ * )
141
+ * ```
142
+ *
143
+ * @see {@link make} for creating a `LayerRef` value without defining a service class
144
+ *
145
+ * @category services
146
+ * @since 4.0.0
147
+ */
148
+ export const Service = () => (id, options) => {
149
+ const Err = globalThis.Error;
150
+ const limit = getStackTraceLimit();
151
+ setStackTraceLimit(2);
152
+ const creationError = new Err();
153
+ setStackTraceLimit(limit);
154
+ function TagClass() {}
155
+ const TagClass_ = TagClass;
156
+ Object.setPrototypeOf(TagClass, Object.getPrototypeOf(Context.Service(id)));
157
+ TagClass.key = id;
158
+ Object.defineProperty(TagClass, "stack", {
159
+ get() {
160
+ return creationError.stack;
161
+ }
162
+ });
163
+ TagClass_.layerNoDeps = Layer.effect(TagClass_)(make(options.layer, options));
164
+ TagClass_.layer = options.dependencies && options.dependencies.length > 0 ? Layer.provide(TagClass_.layerNoDeps, options.dependencies) : TagClass_.layerNoDeps;
165
+ TagClass_.get = Layer.unwrap(TagClass_.useSync(ref => ref.get));
166
+ TagClass_.contextEffect = TagClass_.use(ref => ref.contextEffect);
167
+ TagClass_.invalidate = TagClass_.use(ref => ref.invalidate);
168
+ TagClass_.refresh = TagClass_.use(ref => ref.refresh);
169
+ return TagClass;
170
+ };
171
+ //# sourceMappingURL=LayerRef.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayerRef.js","names":["Context","Effect","identity","getStackTraceLimit","setStackTraceLimit","Layer","RcRef","Scope","TypeId","make","fnUntraced","layer","options","context","memoMap","CurrentMemoMap","forkOrCreate","rcRef","acquire","contextWith","_","buildWithMemoMap","get","idleTimeToLive","refresh","invalidate","pipe","andThen","scoped","asVoid","preload","invalidationSchedule","onRefresh","ignoreCause","schedule","forkScoped","effectContext","contextEffect","Service","id","Err","globalThis","Error","limit","creationError","TagClass","TagClass_","Object","setPrototypeOf","getPrototypeOf","key","defineProperty","stack","layerNoDeps","effect","dependencies","length","provide","unwrap","useSync","ref","use"],"sources":["../src/LayerRef.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}