{"version":3,"file":"ProxySpanSessionManager.cjs","names":["NoOpSpanSessionManager"],"sources":["../../../../src/api-sessions/manager/ProxySpanSessionManager/ProxySpanSessionManager.ts"],"sourcesContent":["import type { HrTime } from '@opentelemetry/api';\nimport type { ReadableSpan } from '@opentelemetry/sdk-trace-web';\nimport type {\n  PropertyOptions,\n  ReasonSessionEnded,\n  SpanSessionManager,\n  StartSessionOptions,\n} from '../index.ts';\nimport { NoOpSpanSessionManager } from '../NoOpSpanSessionManager/index.ts';\n\nconst NOOP_SPAN_SESSION_MANAGER = new NoOpSpanSessionManager();\n\nexport class ProxySpanSessionManager implements SpanSessionManager {\n  private _delegate?: SpanSessionManager;\n\n  public getDelegate(): SpanSessionManager {\n    return this._delegate ?? NOOP_SPAN_SESSION_MANAGER;\n  }\n\n  public setDelegate(delegate: SpanSessionManager): void {\n    this._delegate = delegate;\n  }\n\n  public addBreadcrumb(name: string): void {\n    this.getDelegate().addBreadcrumb(name);\n  }\n\n  public addProperty(\n    key: string,\n    value: string,\n    options?: PropertyOptions,\n  ): void {\n    this.getDelegate().addProperty(key, value, options);\n  }\n\n  public removeProperty(key: string): void {\n    this.getDelegate().removeProperty(key);\n  }\n\n  public endSessionSpan() {\n    this.getDelegate().endSessionSpan();\n  }\n\n  public endSessionSpanInternal(reason: ReasonSessionEnded) {\n    this.getDelegate().endSessionSpanInternal(reason);\n  }\n\n  public currentSessionAsReadableSpan(\n    reason: ReasonSessionEnded,\n  ): ReadableSpan | null {\n    return this.getDelegate().currentSessionAsReadableSpan(reason);\n  }\n\n  public getSessionId(): string | null {\n    return this.getDelegate().getSessionId();\n  }\n\n  public getPreviousSessionId(): string | null {\n    return this.getDelegate().getPreviousSessionId();\n  }\n\n  public getSessionSpan() {\n    return this.getDelegate().getSessionSpan();\n  }\n\n  public getSessionStartTime(): HrTime | null {\n    return this.getDelegate().getSessionStartTime();\n  }\n\n  public startSessionSpan(options?: StartSessionOptions) {\n    this.getDelegate().startSessionSpan(options);\n  }\n\n  public addSessionStartedListener(listener: () => void): () => void {\n    return this.getDelegate().addSessionStartedListener(listener);\n  }\n\n  public addSessionEndedListener(listener: () => void): () => void {\n    return this.getDelegate().addSessionEndedListener(listener);\n  }\n}\n"],"mappings":";;AAUA,MAAM,4BAA4B,sEAAIA,wBAAwB;AAE9D,IAAa,0BAAb,MAAmE;CACjE;CAEA,cAAyC;AACvC,SAAO,KAAK,aAAa;;CAG3B,YAAmB,UAAoC;AACrD,OAAK,YAAY;;CAGnB,cAAqB,MAAoB;AACvC,OAAK,aAAa,CAAC,cAAc,KAAK;;CAGxC,YACE,KACA,OACA,SACM;AACN,OAAK,aAAa,CAAC,YAAY,KAAK,OAAO,QAAQ;;CAGrD,eAAsB,KAAmB;AACvC,OAAK,aAAa,CAAC,eAAe,IAAI;;CAGxC,iBAAwB;AACtB,OAAK,aAAa,CAAC,gBAAgB;;CAGrC,uBAA8B,QAA4B;AACxD,OAAK,aAAa,CAAC,uBAAuB,OAAO;;CAGnD,6BACE,QACqB;AACrB,SAAO,KAAK,aAAa,CAAC,6BAA6B,OAAO;;CAGhE,eAAqC;AACnC,SAAO,KAAK,aAAa,CAAC,cAAc;;CAG1C,uBAA6C;AAC3C,SAAO,KAAK,aAAa,CAAC,sBAAsB;;CAGlD,iBAAwB;AACtB,SAAO,KAAK,aAAa,CAAC,gBAAgB;;CAG5C,sBAA4C;AAC1C,SAAO,KAAK,aAAa,CAAC,qBAAqB;;CAGjD,iBAAwB,SAA+B;AACrD,OAAK,aAAa,CAAC,iBAAiB,QAAQ;;CAG9C,0BAAiC,UAAkC;AACjE,SAAO,KAAK,aAAa,CAAC,0BAA0B,SAAS;;CAG/D,wBAA+B,UAAkC;AAC/D,SAAO,KAAK,aAAa,CAAC,wBAAwB,SAAS"}