@effect/opentelemetry
Advanced tools
Comparing version 0.1.1 to 0.1.2
@@ -0,1 +1,5 @@ | ||
/** | ||
* @since 1.0.0 | ||
*/ | ||
import * as Effect from "@effect/io/Effect"; | ||
import * as Layer from "@effect/io/Layer"; | ||
@@ -8,3 +12,3 @@ import { Resource } from "@effect/opentelemetry/Resource"; | ||
*/ | ||
export declare const layer: (config: Partial<Omit<NodeSDKConfiguration, "resource" | "serviceName">>) => Layer.Layer<Resource, never, never>; | ||
export declare const layer: <R, E>(config: Effect.Effect<R, E, Partial<Omit<NodeSDKConfiguration, "resource" | "serviceName">>>) => Layer.Layer<Resource | Exclude<R, import("@effect/io/Scope").Scope>, E, never>; | ||
//# sourceMappingURL=NodeSdk.d.ts.map |
@@ -21,7 +21,11 @@ "use strict"; | ||
*/ | ||
const layer = config => Layer.scopedDiscard(Effect.acquireRelease(Effect.flatMap(_Resource.Resource, resource => Effect.tap(Effect.sync(() => new _sdkNode.NodeSDK({ | ||
...config, | ||
resource | ||
})), sdk => Effect.sync(() => sdk.start()))), sdk => Effect.promise(() => sdk.shutdown()))); | ||
const layer = config => Layer.scopedDiscard(Effect.acquireRelease(Effect.flatMap(Effect.all(config, _Resource.Resource), ([config, resource]) => Effect.sync(() => { | ||
const sdk = new _sdkNode.NodeSDK({ | ||
...config, | ||
resource | ||
}); | ||
sdk.start(); | ||
return sdk; | ||
})), sdk => Effect.promise(() => sdk.shutdown()))); | ||
exports.layer = layer; | ||
//# sourceMappingURL=NodeSdk.js.map |
{ | ||
"name": "@effect/opentelemetry", | ||
"version": "0.1.1", | ||
"version": "0.1.2", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "repository": { |
@@ -14,13 +14,16 @@ /** | ||
*/ | ||
export const layer = (config: Partial<Omit<NodeSDKConfiguration, "resource" | "serviceName">>) => | ||
export const layer = <R, E>( | ||
config: Effect.Effect<R, E, Partial<Omit<NodeSDKConfiguration, "resource" | "serviceName">>> | ||
) => | ||
Layer.scopedDiscard(Effect.acquireRelease( | ||
Effect.flatMap( | ||
Resource, | ||
(resource) => | ||
Effect.tap( | ||
Effect.sync(() => new NodeSDK({ ...config, resource })), | ||
(sdk) => Effect.sync(() => sdk.start()) | ||
) | ||
Effect.all(config, Resource), | ||
([config, resource]) => | ||
Effect.sync(() => { | ||
const sdk = new NodeSDK({ ...config, resource }) | ||
sdk.start() | ||
return sdk | ||
}) | ||
), | ||
(sdk) => Effect.promise(() => sdk.shutdown()) | ||
)) |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
43953
673