{
  "version": 3,
  "file": "trace.js",
  "sourceRoot": "",
  "sources": [
    "@uirouter/core/common/trace.ts"
  ],
  "names": [],
  "mappings": "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",
  "sourcesContent": [
    "/**\n * # Transition tracing (debug)\n *\n * Enable transition tracing to print transition information to the console,\n * in order to help debug your application.\n * Tracing logs detailed information about each Transition to your console.\n *\n * To enable tracing, import the [[Trace]] singleton and enable one or more categories.\n *\n * ### ES6\n * ```js\n * import {trace} from \"@uirouter/core\";\n * trace.enable(1, 5); // TRANSITION and VIEWCONFIG\n * ```\n *\n * ### CJS\n * ```js\n * let trace = require(\"@uirouter/core\").trace;\n * trace.enable(\"TRANSITION\", \"VIEWCONFIG\");\n * ```\n *\n * ### Globals\n * ```js\n * let trace = window[\"@uirouter/core\"].trace;\n * trace.enable(); // Trace everything (very verbose)\n * ```\n *\n * ### Angular 1:\n * ```js\n * app.run($trace => $trace.enable());\n * ```\n *\n * @packageDocumentation\n */\nimport { parse } from '../common/hof';\nimport { isNumber } from '../common/predicates';\nimport { Transition } from '../transition/transition';\nimport { ViewTuple } from '../view';\nimport { ActiveUIView, ViewConfig, ViewContext } from '../view/interface';\nimport { stringify, functionToString, maxLength, padString } from './strings';\nimport { safeConsole } from './safeConsole';\nimport { Resolvable } from '../resolve/resolvable';\nimport { PathNode } from '../path/pathNode';\nimport { PolicyWhen } from '../resolve/interface';\nimport { TransitionHook } from '../transition/transitionHook';\nimport { HookResult } from '../transition/interface';\nimport { StateObject } from '../state/stateObject';\n\nfunction uiViewString(uiview: ActiveUIView) {\n  if (!uiview) return 'ui-view (defunct)';\n  const state = uiview.creationContext ? uiview.creationContext.name || '(root)' : '(none)';\n  return `[ui-view#${uiview.id} ${uiview.$type}:${uiview.fqn} (${uiview.name}@${state})]`;\n}\n\nconst viewConfigString = (viewConfig: ViewConfig) => {\n  const view = viewConfig.viewDecl;\n  const state = view.$context.name || '(root)';\n  return `[View#${viewConfig.$id} from '${state}' state]: target ui-view: '${view.$uiViewName}@${view.$uiViewContextAnchor}'`;\n};\n\nfunction normalizedCat(input: Category | string): string {\n  return isNumber(input) ? Category[input] : Category[Category[input]];\n}\n\n/**\n * Trace categories Enum\n *\n * Enable or disable a category using [[Trace.enable]] or [[Trace.disable]]\n *\n * `trace.enable(Category.TRANSITION)`\n *\n * These can also be provided using a matching string, or position ordinal\n *\n * `trace.enable(\"TRANSITION\")`\n *\n * `trace.enable(1)`\n */\nenum Category {\n  RESOLVE,\n  TRANSITION,\n  HOOK,\n  UIVIEW,\n  VIEWCONFIG,\n}\n\nexport { Category };\n\nconst _tid = parse('$id');\nconst _rid = parse('router.$id');\n\nconst transLbl = (trans) => `Transition #${_tid(trans)}-${_rid(trans)}`;\n\n/**\n * Prints UI-Router Transition trace information to the console.\n */\nexport class Trace {\n  /** @internal */\n  approximateDigests: number;\n\n  /** @internal */\n  private _enabled: { [key: string]: boolean } = {};\n\n  /** @internal */\n  constructor() {\n    this.approximateDigests = 0;\n  }\n\n  /** @internal */\n  private _set(enabled: boolean, categories: Category[]) {\n    if (!categories.length) {\n      categories = <any>Object.keys(Category)\n        .map((k) => parseInt(k, 10))\n        .filter((k) => !isNaN(k))\n        .map((key) => Category[key]);\n    }\n    categories.map(normalizedCat).forEach((category) => (this._enabled[category] = enabled));\n  }\n\n  /**\n   * Enables a trace [[Category]]\n   *\n   * ```js\n   * trace.enable(\"TRANSITION\");\n   * ```\n   *\n   * @param categories categories to enable. If `categories` is omitted, all categories are enabled.\n   *        Also takes strings (category name) or ordinal (category position)\n   */\n  enable(...categories: (Category | string | number)[]);\n  enable(...categories: any[]) {\n    this._set(true, categories);\n  }\n  /**\n   * Disables a trace [[Category]]\n   *\n   * ```js\n   * trace.disable(\"VIEWCONFIG\");\n   * ```\n   *\n   * @param categories categories to disable. If `categories` is omitted, all categories are disabled.\n   *        Also takes strings (category name) or ordinal (category position)\n   */\n  disable(...categories: (Category | string | number)[]);\n  disable(...categories: any[]) {\n    this._set(false, categories);\n  }\n\n  /**\n   * Retrieves the enabled stateus of a [[Category]]\n   *\n   * ```js\n   * trace.enabled(\"VIEWCONFIG\"); // true or false\n   * ```\n   *\n   * @returns boolean true if the category is enabled\n   */\n  enabled(category: Category | string | number): boolean {\n    return !!this._enabled[normalizedCat(category)];\n  }\n\n  /** @internal called by ui-router code */\n  traceTransitionStart(trans: Transition) {\n    if (!this.enabled(Category.TRANSITION)) return;\n    safeConsole.log(`${transLbl(trans)}: Started  -> ${stringify(trans)}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceTransitionIgnored(trans: Transition) {\n    if (!this.enabled(Category.TRANSITION)) return;\n    safeConsole.log(`${transLbl(trans)}: Ignored  <> ${stringify(trans)}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceHookInvocation(step: TransitionHook, trans: Transition, options: any) {\n    if (!this.enabled(Category.HOOK)) return;\n    const event = parse('traceData.hookType')(options) || 'internal',\n      context = parse('traceData.context.state.name')(options) || parse('traceData.context')(options) || 'unknown',\n      name = functionToString((step as any).registeredHook.callback);\n    safeConsole.log(`${transLbl(trans)}:   Hook -> ${event} context: ${context}, ${maxLength(200, name)}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceHookResult(hookResult: HookResult, trans: Transition, transitionOptions: any) {\n    if (!this.enabled(Category.HOOK)) return;\n    safeConsole.log(`${transLbl(trans)}:   <- Hook returned: ${maxLength(200, stringify(hookResult))}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceResolvePath(path: PathNode[], when: PolicyWhen, trans?: Transition) {\n    if (!this.enabled(Category.RESOLVE)) return;\n    safeConsole.log(`${transLbl(trans)}:         Resolving ${path} (${when})`);\n  }\n\n  /** @internal called by ui-router code */\n  traceResolvableResolved(resolvable: Resolvable, trans?: Transition) {\n    if (!this.enabled(Category.RESOLVE)) return;\n    safeConsole.log(\n      `${transLbl(trans)}:               <- Resolved  ${resolvable} to: ${maxLength(200, stringify(resolvable.data))}`\n    );\n  }\n\n  /** @internal called by ui-router code */\n  traceError(reason: any, trans: Transition) {\n    if (!this.enabled(Category.TRANSITION)) return;\n    safeConsole.log(`${transLbl(trans)}: <- Rejected ${stringify(trans)}, reason: ${reason}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceSuccess(finalState: StateObject, trans: Transition) {\n    if (!this.enabled(Category.TRANSITION)) return;\n    safeConsole.log(`${transLbl(trans)}: <- Success  ${stringify(trans)}, final state: ${finalState.name}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceUIViewEvent(event: string, viewData: ActiveUIView, extra = '') {\n    if (!this.enabled(Category.UIVIEW)) return;\n    safeConsole.log(`ui-view: ${padString(30, event)} ${uiViewString(viewData)}${extra}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceUIViewConfigUpdated(viewData: ActiveUIView, context: ViewContext) {\n    if (!this.enabled(Category.UIVIEW)) return;\n    this.traceUIViewEvent('Updating', viewData, ` with ViewConfig from context='${context}'`);\n  }\n\n  /** @internal called by ui-router code */\n  traceUIViewFill(viewData: ActiveUIView, html: string) {\n    if (!this.enabled(Category.UIVIEW)) return;\n    this.traceUIViewEvent('Fill', viewData, ` with: ${maxLength(200, html)}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceViewSync(pairs: ViewTuple[]) {\n    if (!this.enabled(Category.VIEWCONFIG)) return;\n    const uivheader = 'uiview component fqn';\n    const cfgheader = 'view config state (view name)';\n    const mapping = pairs\n      .map(({ uiView, viewConfig }) => {\n        const uiv = uiView && uiView.fqn;\n        const cfg = viewConfig && `${viewConfig.viewDecl.$context.name}: (${viewConfig.viewDecl.$name})`;\n        return { [uivheader]: uiv, [cfgheader]: cfg };\n      })\n      .sort((a, b) => (a[uivheader] || '').localeCompare(b[uivheader] || ''));\n\n    safeConsole.table(mapping);\n  }\n\n  /** @internal called by ui-router code */\n  traceViewServiceEvent(event: string, viewConfig: ViewConfig) {\n    if (!this.enabled(Category.VIEWCONFIG)) return;\n    safeConsole.log(`VIEWCONFIG: ${event} ${viewConfigString(viewConfig)}`);\n  }\n\n  /** @internal called by ui-router code */\n  traceViewServiceUIViewEvent(event: string, viewData: ActiveUIView) {\n    if (!this.enabled(Category.VIEWCONFIG)) return;\n    safeConsole.log(`VIEWCONFIG: ${event} ${uiViewString(viewData)}`);\n  }\n}\n\n/**\n * The [[Trace]] singleton\n *\n * #### Example:\n * ```js\n * import {trace} from \"@uirouter/core\";\n * trace.enable(1, 5);\n * ```\n */\nconst trace = new Trace();\nexport { trace };\n"
  ]
}