@effect/opentelemetry 0.32.3 → 0.33.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.
@@ -53,9 +53,9 @@ const layerTracerProvider = (processor, config) => Layer.scoped(Tracer.TracerPro
53
53
  */
54
54
  exports.layerTracerProvider = layerTracerProvider;
55
55
  const layer = evaluate => Layer.unwrapEffect(Effect.map(Effect.isEffect(evaluate) ? evaluate : Effect.sync(evaluate), config => {
56
- const ResourceLive = Resource.layer(config.resource);
57
- const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.provide(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.effectDiscard(Effect.void);
58
- const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.effectDiscard(Effect.void);
56
+ const ResourceLive = config.resource === undefined ? Resource.layerFromEnv() : Resource.layer(config.resource);
57
+ const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.provide(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.empty;
58
+ const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.empty;
59
59
  return Layer.merge(TracerLive, MetricsLive).pipe(Layer.provideMerge(ResourceLive));
60
60
  }));
61
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSdk.js","names":["_sdkTraceNode","require","Effect","_interopRequireWildcard","Layer","Metrics","Resource","Tracer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","NodeTracerProvider","undefined","addSpanProcessor","ignoreLogged","promise","shutdown","exports","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","TracerLive","spanProcessor","pipe","provide","tracerConfig","effectDiscard","void","MetricsLive","metricReader","merge","provideMerge","layerEmpty"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"NodeSdk.js","names":["_sdkTraceNode","require","Effect","_interopRequireWildcard","Layer","Metrics","Resource","Tracer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","NodeTracerProvider","undefined","addSpanProcessor","ignoreLogged","promise","shutdown","exports","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","layerFromEnv","TracerLive","spanProcessor","pipe","provide","tracerConfig","empty","MetricsLive","metricReader","merge","provideMerge","layerEmpty"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,13 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.layerEmpty = exports.layer = exports.Resource = void 0;
6
+ exports.layerFromEnv = exports.layerEmpty = exports.layer = exports.Resource = void 0;
7
7
  var Resources = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@opentelemetry/resources"));
8
8
  var _semanticConventions = /*#__PURE__*/require("@opentelemetry/semantic-conventions");
9
+ var _effect = /*#__PURE__*/require("effect");
10
+ var Arr = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Array"));
9
11
  var _Context = /*#__PURE__*/require("effect/Context");
12
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
10
13
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
14
  function _getRequireWildcardCache(e) {
12
15
  if ("function" != typeof WeakMap) return null;
@@ -59,9 +62,35 @@ const layer = config => {
59
62
  return Layer.succeed(Resource, new Resources.Resource(attributes));
60
63
  };
61
64
  /**
62
- * @since 2.0.0
65
+ * @since 1.0.0
63
66
  * @category layer
64
67
  */
65
68
  exports.layer = layer;
69
+ const layerFromEnv = additionalAttributes => Layer.effect(Resource, Effect.gen(function* (_) {
70
+ const serviceName = yield* _(_effect.Config.string("OTEL_SERVICE_NAME"), _effect.Config.option, Effect.orDie);
71
+ const attributes = yield* _(_effect.Config.string("OTEL_RESOURCE_ATTRIBUTES"), _effect.Config.withDefault(""), _effect.Config.map(s => {
72
+ const attrs = s.split(",");
73
+ return Arr.reduce(attrs, {}, (acc, attr) => {
74
+ const parts = attr.split("=");
75
+ if (parts.length !== 2) {
76
+ return acc;
77
+ }
78
+ acc[parts[0].trim()] = parts[1].trim();
79
+ return acc;
80
+ });
81
+ }), Effect.orDie);
82
+ if (serviceName._tag === "Some") {
83
+ attributes[_semanticConventions.SEMRESATTRS_SERVICE_NAME] = serviceName.value;
84
+ }
85
+ if (additionalAttributes) {
86
+ Object.assign(attributes, additionalAttributes);
87
+ }
88
+ return new Resources.Resource(attributes);
89
+ }));
90
+ /**
91
+ * @since 2.0.0
92
+ * @category layer
93
+ */
94
+ exports.layerFromEnv = layerFromEnv;
66
95
  const layerEmpty = exports.layerEmpty = /*#__PURE__*/Layer.succeed(Resource, /*#__PURE__*/Resources.Resource.empty());
67
96
  //# sourceMappingURL=Resource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.js","names":["Resources","_interopRequireWildcard","require","_semanticConventions","_Context","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Resource","exports","GenericTag","layer","config","attributes","undefined","SEMRESATTRS_SERVICE_NAME","serviceName","SEMRESATTRS_TELEMETRY_SDK_NAME","SEMRESATTRS_TELEMETRY_SDK_LANGUAGE","globalThis","document","TELEMETRYSDKLANGUAGEVALUES_NODEJS","TELEMETRYSDKLANGUAGEVALUES_WEBJS","serviceVersion","SEMRESATTRS_SERVICE_VERSION","succeed","layerEmpty","empty"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,SAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,oBAAA,gBAAAD,OAAA;AAQA,IAAAE,QAAA,gBAAAF,OAAA;AACA,IAAAG,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAqC,SAAAI,yBAAAC,CAAA;EAAA,yBAAAC,OAAA;EAAA,IAAAC,CAAA,OAAAD,OAAA;IAAAE,CAAA,OAAAF,OAAA;EAAA,QAAAF,wBAAA,YAAAA,CAAAC,CAAA;IAAA,OAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA;EAAA,GAAAF,CAAA;AAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA;EAAA,KAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA;EAAA,aAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA;IAAAK,OAAA,EAAAL;EAAA;EAAA,IAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA;EAAA,IAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA;EAAA,IAAAQ,CAAA;MAAAC,SAAA;IAAA;IAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA;EAAA,SAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA;IAAA,IAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA;IAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA;EAAA;EAAA,OAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA;AAbrC;;;;AAuBA;;;;AAIO,MAAMW,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAtB,QAAA,CAAAwB,UAAU,EAA+B,gCAAgC,CAAC;AAElG;;;;AAIO,MAAMC,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAA2B;IACzC,IAAID,MAAM,CAACC,UAAU,IAAIC,SAAS,CAAC;IACnC,CAAC7B,oBAAA,CAAA8B,wBAAwB,GAAGH,MAAM,CAACI,WAAW;IAC9C,CAAC/B,oBAAA,CAAAgC,8BAA8B,GAAG,uBAAuB;IACzD,CAAChC,oBAAA,CAAAiC,kCAAkC,GAAG,OAAQC,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACrFnC,oBAAA,CAAAoC,iCAAiC,GACjCpC,oBAAA,CAAAqC;GACL;EACD,IAAIV,MAAM,CAACW,cAAc,EAAE;IACzBV,UAAU,CAAC5B,oBAAA,CAAAuC,2BAA2B,CAAC,GAAGZ,MAAM,CAACW,cAAc;EACjE;EACA,OAAOpC,KAAK,CAACsC,OAAO,CAClBjB,QAAQ,EACR,IAAI1B,SAAS,CAAC0B,QAAQ,CAACK,UAAU,CAAC,CACnC;AACH,CAAC;AAED;;;;AAAAJ,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAIO,MAAMe,UAAU,GAAAjB,OAAA,CAAAiB,UAAA,gBAAGvC,KAAK,CAACsC,OAAO,CACrCjB,QAAQ,eACR1B,SAAS,CAAC0B,QAAQ,CAACmB,KAAK,EAAE,CAC3B","ignoreList":[]}
1
+ {"version":3,"file":"Resource.js","names":["Resources","_interopRequireWildcard","require","_semanticConventions","_effect","Arr","_Context","Effect","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Resource","exports","GenericTag","layer","config","attributes","undefined","SEMRESATTRS_SERVICE_NAME","serviceName","SEMRESATTRS_TELEMETRY_SDK_NAME","SEMRESATTRS_TELEMETRY_SDK_LANGUAGE","globalThis","document","TELEMETRYSDKLANGUAGEVALUES_NODEJS","TELEMETRYSDKLANGUAGEVALUES_WEBJS","serviceVersion","SEMRESATTRS_SERVICE_VERSION","succeed","layerFromEnv","additionalAttributes","effect","gen","_","Config","string","option","orDie","withDefault","map","s","attrs","split","reduce","acc","attr","parts","length","trim","_tag","value","assign","layerEmpty","empty"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -14,14 +14,14 @@ import * as Resource from "./Resource.js";
14
14
  * @category model
15
15
  */
16
16
  export interface Configuration {
17
- readonly spanProcessor?: SpanProcessor;
18
- readonly tracerConfig?: Omit<TracerConfig, "resource">;
19
- readonly metricReader?: MetricReader;
20
- readonly resource: {
17
+ readonly spanProcessor?: SpanProcessor | undefined;
18
+ readonly tracerConfig?: Omit<TracerConfig, "resource"> | undefined;
19
+ readonly metricReader?: MetricReader | undefined;
20
+ readonly resource?: {
21
21
  readonly serviceName: string;
22
22
  readonly serviceVersion?: string;
23
23
  readonly attributes?: Resources.ResourceAttributes;
24
- };
24
+ } | undefined;
25
25
  }
26
26
  /**
27
27
  * @since 1.0.0
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../../src/NodeSdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IACtD,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACpC,QAAQ,CAAC,QAAQ,EAAE;QACjB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;QAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAA;KACnD,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,cACnB,aAAa,WACf,KAAK,YAAY,EAAE,UAAU,CAAC,KACtC,MAAM,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,QAAQ,CAkBpD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAwBzF,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAuB,CAAA"}
1
+ {"version":3,"file":"NodeSdk.d.ts","sourceRoot":"","sources":["../../src/NodeSdk.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAEhF,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AAGzC;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CAAA;IAClD,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GAAG,SAAS,CAAA;IAClE,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAClB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;QAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,kBAAkB,CAAA;KACnD,GAAG,SAAS,CAAA;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,cACnB,aAAa,WACf,KAAK,YAAY,EAAE,UAAU,CAAC,KACtC,MAAM,KAAK,CAAC,cAAc,EAAE,KAAK,EAAE,SAAS,QAAQ,CAkBpD,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,KAAK,EAAE;IAClB,CAAC,QAAQ,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IAClE,CAAC,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CA0BzF,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAuB,CAAA"}
@@ -24,6 +24,11 @@ export declare const layer: (config: {
24
24
  readonly serviceVersion?: string;
25
25
  readonly attributes?: Resources.ResourceAttributes;
26
26
  }) => Layer.Layer<Resource, never, never>;
27
+ /**
28
+ * @since 1.0.0
29
+ * @category layer
30
+ */
31
+ export declare const layerFromEnv: (additionalAttributes?: Resources.ResourceAttributes | undefined) => Layer.Layer<Resource>;
27
32
  /**
28
33
  * @since 2.0.0
29
34
  * @category layer
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAUrD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,4DAA6E,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,KAAK,WAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,kBAAkB,CAAA;CACnD,wCAgBA,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU,qCAGtB,CAAA"}
1
+ {"version":3,"file":"Resource.d.ts","sourceRoot":"","sources":["../../src/Resource.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AAarD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,4DAA6E,CAAA;AAElG;;;GAGG;AACH,eAAO,MAAM,KAAK,WAAY;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAA;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,kBAAkB,CAAA;CACnD,wCAgBA,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,0BAEnB,UAAU,kBAAkB,GAC5B,SAAS,KACZ,MAAM,KAAK,CAAC,QAAQ,CA6BpB,CAAA;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,qCAGtB,CAAA"}
@@ -21,9 +21,9 @@ export const layerTracerProvider = (processor, config) => Layer.scoped(Tracer.Tr
21
21
  * @category layer
22
22
  */
23
23
  export const layer = evaluate => Layer.unwrapEffect(Effect.map(Effect.isEffect(evaluate) ? evaluate : Effect.sync(evaluate), config => {
24
- const ResourceLive = Resource.layer(config.resource);
25
- const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.provide(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.effectDiscard(Effect.void);
26
- const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.effectDiscard(Effect.void);
24
+ const ResourceLive = config.resource === undefined ? Resource.layerFromEnv() : Resource.layer(config.resource);
25
+ const TracerLive = config.spanProcessor ? Tracer.layer.pipe(Layer.provide(layerTracerProvider(config.spanProcessor, config.tracerConfig))) : Layer.empty;
26
+ const MetricsLive = config.metricReader ? Metrics.layer(() => config.metricReader) : Layer.empty;
27
27
  return Layer.merge(TracerLive, MetricsLive).pipe(Layer.provideMerge(ResourceLive));
28
28
  }));
29
29
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSdk.js","names":["NodeTracerProvider","Effect","Layer","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","undefined","addSpanProcessor","ignoreLogged","promise","shutdown","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","TracerLive","spanProcessor","pipe","provide","tracerConfig","effectDiscard","void","MetricsLive","metricReader","merge","provideMerge","layerEmpty"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,kBAAkB,QAAQ,+BAA+B;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAiBrC;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAwB,EACxBC,MAAuC,KAEvCN,KAAK,CAACO,MAAM,CACVJ,MAAM,CAACK,cAAc,EACrBT,MAAM,CAACU,OAAO,CACZP,QAAQ,CAACA,QAAQ,EAChBQ,QAAQ,IACPX,MAAM,CAACY,cAAc,CACnBZ,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMC,QAAQ,GAAG,IAAIf,kBAAkB,CAAC;IACtC,IAAIQ,MAAM,IAAIQ,SAAS,CAAC;IACxBJ;GACD,CAAC;EACFG,QAAQ,CAACE,gBAAgB,CAACV,SAAS,CAAC;EACpC,OAAOQ,QAAQ;AACjB,CAAC,CAAC,EACDA,QAAQ,IAAKd,MAAM,CAACiB,YAAY,CAACjB,MAAM,CAACkB,OAAO,CAAC,MAAMJ,QAAQ,CAACK,QAAQ,EAAE,CAAC,CAAC,CAC7E,CACJ,CACF;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,GAIhBC,QAAyE,IAEzEpB,KAAK,CAACqB,YAAY,CAChBtB,MAAM,CAACuB,GAAG,CACRvB,MAAM,CAACwB,QAAQ,CAACH,QAAQ,CAAC,GACrBA,QAAwC,GACxCrB,MAAM,CAACa,IAAI,CAACQ,QAAQ,CAAC,EACxBd,MAAM,IAAI;EACT,MAAMkB,YAAY,GAAGtB,QAAQ,CAACiB,KAAK,CAACb,MAAM,CAACI,QAAQ,CAAC;EACpD,MAAMe,UAAU,GAAGnB,MAAM,CAACoB,aAAa,GACrCvB,MAAM,CAACgB,KAAK,CAACQ,IAAI,CACf3B,KAAK,CAAC4B,OAAO,CAACxB,mBAAmB,CAACE,MAAM,CAACoB,aAAa,EAAEpB,MAAM,CAACuB,YAAY,CAAC,CAAC,CAC9E,GACC7B,KAAK,CAAC8B,aAAa,CAAC/B,MAAM,CAACgC,IAAI,CAAC;EACpC,MAAMC,WAAW,GAAG1B,MAAM,CAAC2B,YAAY,GACnChC,OAAO,CAACkB,KAAK,CAAC,MAAMb,MAAM,CAAC2B,YAAa,CAAC,GACzCjC,KAAK,CAAC8B,aAAa,CAAC/B,MAAM,CAACgC,IAAI,CAAC;EACpC,OAAO/B,KAAK,CAACkC,KAAK,CAACT,UAAU,EAAEO,WAAW,CAAC,CAACL,IAAI,CAC9C3B,KAAK,CAACmC,YAAY,CAACX,YAAY,CAAC,CACjC;AACH,CAAC,CACF,CACF;AAEH;;;;AAIA,OAAO,MAAMY,UAAU,GAAmClC,QAAQ,CAACkC,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"NodeSdk.js","names":["NodeTracerProvider","Effect","Layer","Metrics","Resource","Tracer","layerTracerProvider","processor","config","scoped","TracerProvider","flatMap","resource","acquireRelease","sync","provider","undefined","addSpanProcessor","ignoreLogged","promise","shutdown","layer","evaluate","unwrapEffect","map","isEffect","ResourceLive","layerFromEnv","TracerLive","spanProcessor","pipe","provide","tracerConfig","empty","MetricsLive","metricReader","merge","provideMerge","layerEmpty"],"sources":["../../src/NodeSdk.ts"],"sourcesContent":[null],"mappings":"AAOA,SAASA,kBAAkB,QAAQ,+BAA+B;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,cAAc;AACvC,OAAO,KAAKC,QAAQ,MAAM,eAAe;AACzC,OAAO,KAAKC,MAAM,MAAM,aAAa;AAiBrC;;;;AAIA,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,SAAwB,EACxBC,MAAuC,KAEvCN,KAAK,CAACO,MAAM,CACVJ,MAAM,CAACK,cAAc,EACrBT,MAAM,CAACU,OAAO,CACZP,QAAQ,CAACA,QAAQ,EAChBQ,QAAQ,IACPX,MAAM,CAACY,cAAc,CACnBZ,MAAM,CAACa,IAAI,CAAC,MAAK;EACf,MAAMC,QAAQ,GAAG,IAAIf,kBAAkB,CAAC;IACtC,IAAIQ,MAAM,IAAIQ,SAAS,CAAC;IACxBJ;GACD,CAAC;EACFG,QAAQ,CAACE,gBAAgB,CAACV,SAAS,CAAC;EACpC,OAAOQ,QAAQ;AACjB,CAAC,CAAC,EACDA,QAAQ,IAAKd,MAAM,CAACiB,YAAY,CAACjB,MAAM,CAACkB,OAAO,CAAC,MAAMJ,QAAQ,CAACK,QAAQ,EAAE,CAAC,CAAC,CAC7E,CACJ,CACF;AAEH;;;;AAIA,OAAO,MAAMC,KAAK,GAIhBC,QAAyE,IAEzEpB,KAAK,CAACqB,YAAY,CAChBtB,MAAM,CAACuB,GAAG,CACRvB,MAAM,CAACwB,QAAQ,CAACH,QAAQ,CAAC,GACrBA,QAAwC,GACxCrB,MAAM,CAACa,IAAI,CAACQ,QAAQ,CAAC,EACxBd,MAAM,IAAI;EACT,MAAMkB,YAAY,GAAGlB,MAAM,CAACI,QAAQ,KAAKI,SAAS,GAC9CZ,QAAQ,CAACuB,YAAY,EAAE,GACvBvB,QAAQ,CAACiB,KAAK,CAACb,MAAM,CAACI,QAAQ,CAAC;EACnC,MAAMgB,UAAU,GAAGpB,MAAM,CAACqB,aAAa,GACrCxB,MAAM,CAACgB,KAAK,CAACS,IAAI,CACf5B,KAAK,CAAC6B,OAAO,CAACzB,mBAAmB,CAACE,MAAM,CAACqB,aAAa,EAAErB,MAAM,CAACwB,YAAY,CAAC,CAAC,CAC9E,GACC9B,KAAK,CAAC+B,KAAK;EACf,MAAMC,WAAW,GAAG1B,MAAM,CAAC2B,YAAY,GACnChC,OAAO,CAACkB,KAAK,CAAC,MAAMb,MAAM,CAAC2B,YAAa,CAAC,GACzCjC,KAAK,CAAC+B,KAAK;EACf,OAAO/B,KAAK,CAACkC,KAAK,CAACR,UAAU,EAAEM,WAAW,CAAC,CAACJ,IAAI,CAC9C5B,KAAK,CAACmC,YAAY,CAACX,YAAY,CAAC,CACjC;AACH,CAAC,CACF,CACF;AAEH;;;;AAIA,OAAO,MAAMY,UAAU,GAAmClC,QAAQ,CAACkC,UAAU","ignoreList":[]}
@@ -3,7 +3,10 @@
3
3
  */
4
4
  import * as Resources from "@opentelemetry/resources";
5
5
  import { SEMRESATTRS_SERVICE_NAME, SEMRESATTRS_SERVICE_VERSION, SEMRESATTRS_TELEMETRY_SDK_LANGUAGE, SEMRESATTRS_TELEMETRY_SDK_NAME, TELEMETRYSDKLANGUAGEVALUES_NODEJS, TELEMETRYSDKLANGUAGEVALUES_WEBJS } from "@opentelemetry/semantic-conventions";
6
+ import { Config } from "effect";
7
+ import * as Arr from "effect/Array";
6
8
  import { GenericTag } from "effect/Context";
9
+ import * as Effect from "effect/Effect";
7
10
  import * as Layer from "effect/Layer";
8
11
  /**
9
12
  * @since 1.0.0
@@ -26,6 +29,31 @@ export const layer = config => {
26
29
  }
27
30
  return Layer.succeed(Resource, new Resources.Resource(attributes));
28
31
  };
32
+ /**
33
+ * @since 1.0.0
34
+ * @category layer
35
+ */
36
+ export const layerFromEnv = additionalAttributes => Layer.effect(Resource, Effect.gen(function* (_) {
37
+ const serviceName = yield* _(Config.string("OTEL_SERVICE_NAME"), Config.option, Effect.orDie);
38
+ const attributes = yield* _(Config.string("OTEL_RESOURCE_ATTRIBUTES"), Config.withDefault(""), Config.map(s => {
39
+ const attrs = s.split(",");
40
+ return Arr.reduce(attrs, {}, (acc, attr) => {
41
+ const parts = attr.split("=");
42
+ if (parts.length !== 2) {
43
+ return acc;
44
+ }
45
+ acc[parts[0].trim()] = parts[1].trim();
46
+ return acc;
47
+ });
48
+ }), Effect.orDie);
49
+ if (serviceName._tag === "Some") {
50
+ attributes[SEMRESATTRS_SERVICE_NAME] = serviceName.value;
51
+ }
52
+ if (additionalAttributes) {
53
+ Object.assign(attributes, additionalAttributes);
54
+ }
55
+ return new Resources.Resource(attributes);
56
+ }));
29
57
  /**
30
58
  * @since 2.0.0
31
59
  * @category layer
@@ -1 +1 @@
1
- {"version":3,"file":"Resource.js","names":["Resources","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_TELEMETRY_SDK_LANGUAGE","SEMRESATTRS_TELEMETRY_SDK_NAME","TELEMETRYSDKLANGUAGEVALUES_NODEJS","TELEMETRYSDKLANGUAGEVALUES_WEBJS","GenericTag","Layer","Resource","layer","config","attributes","undefined","serviceName","globalThis","document","serviceVersion","succeed","layerEmpty","empty"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,0BAA0B;AACrD,SACEC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kCAAkC,EAClCC,8BAA8B,EAC9BC,iCAAiC,EACjCC,gCAAgC,QAC3B,qCAAqC;AAC5C,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AAUrC;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGF,UAAU,CAA+B,gCAAgC,CAAC;AAElG;;;;AAIA,OAAO,MAAMG,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAA2B;IACzC,IAAID,MAAM,CAACC,UAAU,IAAIC,SAAS,CAAC;IACnC,CAACZ,wBAAwB,GAAGU,MAAM,CAACG,WAAW;IAC9C,CAACV,8BAA8B,GAAG,uBAAuB;IACzD,CAACD,kCAAkC,GAAG,OAAQY,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACrFX,iCAAiC,GACjCC;GACL;EACD,IAAIK,MAAM,CAACM,cAAc,EAAE;IACzBL,UAAU,CAACV,2BAA2B,CAAC,GAAGS,MAAM,CAACM,cAAc;EACjE;EACA,OAAOT,KAAK,CAACU,OAAO,CAClBT,QAAQ,EACR,IAAIT,SAAS,CAACS,QAAQ,CAACG,UAAU,CAAC,CACnC;AACH,CAAC;AAED;;;;AAIA,OAAO,MAAMO,UAAU,gBAAGX,KAAK,CAACU,OAAO,CACrCT,QAAQ,eACRT,SAAS,CAACS,QAAQ,CAACW,KAAK,EAAE,CAC3B","ignoreList":[]}
1
+ {"version":3,"file":"Resource.js","names":["Resources","SEMRESATTRS_SERVICE_NAME","SEMRESATTRS_SERVICE_VERSION","SEMRESATTRS_TELEMETRY_SDK_LANGUAGE","SEMRESATTRS_TELEMETRY_SDK_NAME","TELEMETRYSDKLANGUAGEVALUES_NODEJS","TELEMETRYSDKLANGUAGEVALUES_WEBJS","Config","Arr","GenericTag","Effect","Layer","Resource","layer","config","attributes","undefined","serviceName","globalThis","document","serviceVersion","succeed","layerFromEnv","additionalAttributes","effect","gen","_","string","option","orDie","withDefault","map","s","attrs","split","reduce","acc","attr","parts","length","trim","_tag","value","Object","assign","layerEmpty","empty"],"sources":["../../src/Resource.ts"],"sourcesContent":[null],"mappings":"AAAA;;;AAGA,OAAO,KAAKA,SAAS,MAAM,0BAA0B;AACrD,SACEC,wBAAwB,EACxBC,2BAA2B,EAC3BC,kCAAkC,EAClCC,8BAA8B,EAC9BC,iCAAiC,EACjCC,gCAAgC,QAC3B,qCAAqC;AAC5C,SAASC,MAAM,QAAQ,QAAQ;AAC/B,OAAO,KAAKC,GAAG,MAAM,cAAc;AACnC,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAUrC;;;;AAIA,OAAO,MAAMC,QAAQ,gBAAGH,UAAU,CAA+B,gCAAgC,CAAC;AAElG;;;;AAIA,OAAO,MAAMI,KAAK,GAAIC,MAIrB,IAAI;EACH,MAAMC,UAAU,GAA2B;IACzC,IAAID,MAAM,CAACC,UAAU,IAAIC,SAAS,CAAC;IACnC,CAACf,wBAAwB,GAAGa,MAAM,CAACG,WAAW;IAC9C,CAACb,8BAA8B,GAAG,uBAAuB;IACzD,CAACD,kCAAkC,GAAG,OAAQe,UAAkB,CAACC,QAAQ,KAAK,WAAW,GACrFd,iCAAiC,GACjCC;GACL;EACD,IAAIQ,MAAM,CAACM,cAAc,EAAE;IACzBL,UAAU,CAACb,2BAA2B,CAAC,GAAGY,MAAM,CAACM,cAAc;EACjE;EACA,OAAOT,KAAK,CAACU,OAAO,CAClBT,QAAQ,EACR,IAAIZ,SAAS,CAACY,QAAQ,CAACG,UAAU,CAAC,CACnC;AACH,CAAC;AAED;;;;AAIA,OAAO,MAAMO,YAAY,GACvBC,oBAEa,IAEbZ,KAAK,CAACa,MAAM,CACVZ,QAAQ,EACRF,MAAM,CAACe,GAAG,CAAC,WAAUC,CAAC;EACpB,MAAMT,WAAW,GAAG,OAAOS,CAAC,CAACnB,MAAM,CAACoB,MAAM,CAAC,mBAAmB,CAAC,EAAEpB,MAAM,CAACqB,MAAM,EAAElB,MAAM,CAACmB,KAAK,CAAC;EAC7F,MAAMd,UAAU,GAAG,OAAOW,CAAC,CACzBnB,MAAM,CAACoB,MAAM,CAAC,0BAA0B,CAAC,EACzCpB,MAAM,CAACuB,WAAW,CAAC,EAAE,CAAC,EACtBvB,MAAM,CAACwB,GAAG,CAAEC,CAAC,IAAI;IACf,MAAMC,KAAK,GAAGD,CAAC,CAACE,KAAK,CAAC,GAAG,CAAC;IAC1B,OAAO1B,GAAG,CAAC2B,MAAM,CAACF,KAAK,EAAE,EAAkC,EAAE,CAACG,GAAG,EAAEC,IAAI,KAAI;MACzE,MAAMC,KAAK,GAAGD,IAAI,CAACH,KAAK,CAAC,GAAG,CAAC;MAC7B,IAAII,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;QACtB,OAAOH,GAAG;MACZ;MACAA,GAAG,CAACE,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE,CAAC,GAAGF,KAAK,CAAC,CAAC,CAAC,CAACE,IAAI,EAAE;MACtC,OAAOJ,GAAG;IACZ,CAAC,CAAC;EACJ,CAAC,CAAC,EACF1B,MAAM,CAACmB,KAAK,CACb;EACD,IAAIZ,WAAW,CAACwB,IAAI,KAAK,MAAM,EAAE;IAC/B1B,UAAU,CAACd,wBAAwB,CAAC,GAAGgB,WAAW,CAACyB,KAAK;EAC1D;EACA,IAAInB,oBAAoB,EAAE;IACxBoB,MAAM,CAACC,MAAM,CAAC7B,UAAU,EAAEQ,oBAAoB,CAAC;EACjD;EACA,OAAO,IAAIvB,SAAS,CAACY,QAAQ,CAACG,UAAU,CAAC;AAC3C,CAAC,CAAC,CACH;AAEH;;;;AAIA,OAAO,MAAM8B,UAAU,gBAAGlC,KAAK,CAACU,OAAO,CACrCT,QAAQ,eACRZ,SAAS,CAACY,QAAQ,CAACkC,KAAK,EAAE,CAC3B","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@effect/opentelemetry",
3
- "version": "0.32.3",
3
+ "version": "0.33.0",
4
4
  "description": "OpenTelemetry integration for Effect",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -11,12 +11,12 @@
11
11
  "sideEffects": [],
12
12
  "peerDependencies": {
13
13
  "@opentelemetry/api": "^1.6",
14
- "@opentelemetry/resources": "^1.17",
15
- "@opentelemetry/sdk-metrics": "^1.17",
16
- "@opentelemetry/sdk-trace-base": "^1.17",
17
- "@opentelemetry/sdk-trace-node": "^1.17",
18
- "@opentelemetry/sdk-trace-web": "^1.17",
19
- "@opentelemetry/semantic-conventions": "^1.17",
14
+ "@opentelemetry/resources": "^1.22",
15
+ "@opentelemetry/sdk-metrics": "^1.22",
16
+ "@opentelemetry/sdk-trace-base": "^1.22",
17
+ "@opentelemetry/sdk-trace-node": "^1.22",
18
+ "@opentelemetry/sdk-trace-web": "^1.22",
19
+ "@opentelemetry/semantic-conventions": "^1.22",
20
20
  "effect": "^3.0.3"
21
21
  },
22
22
  "peerDependenciesMeta": {
package/src/NodeSdk.ts CHANGED
@@ -18,14 +18,14 @@ import * as Tracer from "./Tracer.js"
18
18
  * @category model
19
19
  */
20
20
  export interface Configuration {
21
- readonly spanProcessor?: SpanProcessor
22
- readonly tracerConfig?: Omit<TracerConfig, "resource">
23
- readonly metricReader?: MetricReader
24
- readonly resource: {
21
+ readonly spanProcessor?: SpanProcessor | undefined
22
+ readonly tracerConfig?: Omit<TracerConfig, "resource"> | undefined
23
+ readonly metricReader?: MetricReader | undefined
24
+ readonly resource?: {
25
25
  readonly serviceName: string
26
26
  readonly serviceVersion?: string
27
27
  readonly attributes?: Resources.ResourceAttributes
28
- }
28
+ } | undefined
29
29
  }
30
30
 
31
31
  /**
@@ -71,15 +71,17 @@ export const layer: {
71
71
  ? evaluate as Effect.Effect<Configuration>
72
72
  : Effect.sync(evaluate),
73
73
  (config) => {
74
- const ResourceLive = Resource.layer(config.resource)
74
+ const ResourceLive = config.resource === undefined
75
+ ? Resource.layerFromEnv()
76
+ : Resource.layer(config.resource)
75
77
  const TracerLive = config.spanProcessor ?
76
78
  Tracer.layer.pipe(
77
79
  Layer.provide(layerTracerProvider(config.spanProcessor, config.tracerConfig))
78
80
  )
79
- : Layer.effectDiscard(Effect.void)
81
+ : Layer.empty
80
82
  const MetricsLive = config.metricReader
81
83
  ? Metrics.layer(() => config.metricReader!)
82
- : Layer.effectDiscard(Effect.void)
84
+ : Layer.empty
83
85
  return Layer.merge(TracerLive, MetricsLive).pipe(
84
86
  Layer.provideMerge(ResourceLive)
85
87
  )
package/src/Resource.ts CHANGED
@@ -10,7 +10,10 @@ import {
10
10
  TELEMETRYSDKLANGUAGEVALUES_NODEJS,
11
11
  TELEMETRYSDKLANGUAGEVALUES_WEBJS
12
12
  } from "@opentelemetry/semantic-conventions"
13
+ import { Config } from "effect"
14
+ import * as Arr from "effect/Array"
13
15
  import { GenericTag } from "effect/Context"
16
+ import * as Effect from "effect/Effect"
14
17
  import * as Layer from "effect/Layer"
15
18
 
16
19
  /**
@@ -53,6 +56,45 @@ export const layer = (config: {
53
56
  )
54
57
  }
55
58
 
59
+ /**
60
+ * @since 1.0.0
61
+ * @category layer
62
+ */
63
+ export const layerFromEnv = (
64
+ additionalAttributes?:
65
+ | Resources.ResourceAttributes
66
+ | undefined
67
+ ): Layer.Layer<Resource> =>
68
+ Layer.effect(
69
+ Resource,
70
+ Effect.gen(function*(_) {
71
+ const serviceName = yield* _(Config.string("OTEL_SERVICE_NAME"), Config.option, Effect.orDie)
72
+ const attributes = yield* _(
73
+ Config.string("OTEL_RESOURCE_ATTRIBUTES"),
74
+ Config.withDefault(""),
75
+ Config.map((s) => {
76
+ const attrs = s.split(",")
77
+ return Arr.reduce(attrs, {} as Resources.ResourceAttributes, (acc, attr) => {
78
+ const parts = attr.split("=")
79
+ if (parts.length !== 2) {
80
+ return acc
81
+ }
82
+ acc[parts[0].trim()] = parts[1].trim()
83
+ return acc
84
+ })
85
+ }),
86
+ Effect.orDie
87
+ )
88
+ if (serviceName._tag === "Some") {
89
+ attributes[SEMRESATTRS_SERVICE_NAME] = serviceName.value
90
+ }
91
+ if (additionalAttributes) {
92
+ Object.assign(attributes, additionalAttributes)
93
+ }
94
+ return new Resources.Resource(attributes)
95
+ })
96
+ )
97
+
56
98
  /**
57
99
  * @since 2.0.0
58
100
  * @category layer