{"version":3,"file":"rpc-metadata.mjs","names":[],"sources":["../../src/trace/rpc-metadata.ts"],"sourcesContent":["/*\n * Copyright The OpenTelemetry Authors\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { Context, Span } from '@opentelemetry/api';\nimport { createContextKey } from '@opentelemetry/api';\n\nconst RPC_METADATA_KEY = createContextKey(\n  'OpenTelemetry SDK Context Key RPC_METADATA'\n);\n\nexport enum RPCType {\n  HTTP = 'http',\n}\n\ntype HTTPMetadata = {\n  type: RPCType.HTTP;\n  route?: string;\n  span: Span;\n};\n\n/**\n * Allows for future rpc metadata to be used with this mechanism\n */\nexport type RPCMetadata = HTTPMetadata;\n\nexport function setRPCMetadata(context: Context, meta: RPCMetadata): Context {\n  return context.setValue(RPC_METADATA_KEY, meta);\n}\n\nexport function deleteRPCMetadata(context: Context): Context {\n  return context.deleteValue(RPC_METADATA_KEY);\n}\n\nexport function getRPCMetadata(context: Context): RPCMetadata | undefined {\n  return context.getValue(RPC_METADATA_KEY) as RPCMetadata | undefined;\n}\n"],"mappings":";;AAQA,MAAM,mBAAmB,iBACvB,4CACF;AAEA,IAAY,UAAL,yBAAA,SAAA;CACL,QAAA,UAAA;;AACF,EAAA,CAAA,CAAA;AAaA,SAAgB,eAAe,SAAkB,MAA4B;CAC3E,OAAO,QAAQ,SAAS,kBAAkB,IAAI;AAChD;AAEA,SAAgB,kBAAkB,SAA2B;CAC3D,OAAO,QAAQ,YAAY,gBAAgB;AAC7C;AAEA,SAAgB,eAAe,SAA2C;CACxE,OAAO,QAAQ,SAAS,gBAAgB;AAC1C"}