{
  "version": 3,
  "sources": ["../../../src/internal-utils/extract-binding-dependency-values.ts"],
  "sourcesContent": ["import type { BindingDependencies, NamedBindingDependencies } from '../binding/types/binding-dependencies';\nimport type { InferBindingValueTypes } from '../binding/types/infer-binding-value-types';\nimport { isBinding } from '../binding-utils/type-utils.mjs';\n\nexport const extractBindingDependencyValues = <DependenciesT extends BindingDependencies>({\n  bindings,\n  namedBindingsKeys\n}: {\n  bindings: DependenciesT | undefined;\n  namedBindingsKeys: string[] | undefined;\n}): InferBindingValueTypes<DependenciesT> => {\n  const isBindingsArray = Array.isArray(bindings);\n  const isNonNamedBindings = isBindingsArray || isBinding(bindings);\n\n  if (isNonNamedBindings) {\n    if (isBindingsArray) {\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n      return bindings.map((binding) => binding?.get()) as InferBindingValueTypes<DependenciesT>;\n    } else {\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n      return bindings.get() as InferBindingValueTypes<DependenciesT>;\n    }\n  } else if (namedBindingsKeys !== undefined) {\n    const namedBindingValues: Record<string, any> = {};\n    for (const key of namedBindingsKeys) {\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n      namedBindingValues[key] = (bindings as NamedBindingDependencies)[key]?.get();\n    }\n\n    // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n    return namedBindingValues as InferBindingValueTypes<DependenciesT>;\n  } else {\n    // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n    return undefined as InferBindingValueTypes<DependenciesT>;\n  }\n};\n"],
  "mappings": "AAEA,SAAS,iBAAiB;AAEnB,MAAM,iCAAiC,CAA4C;AAAA,EACxF;AAAA,EACA;AACF,MAG6C;AAC3C,QAAM,kBAAkB,MAAM,QAAQ,QAAQ;AAC9C,QAAM,qBAAqB,mBAAmB,UAAU,QAAQ;AAEhE,MAAI,oBAAoB;AACtB,QAAI,iBAAiB;AAEnB,aAAO,SAAS,IAAI,CAAC,YAAY,SAAS,IAAI,CAAC;AAAA,IACjD,OAAO;AAEL,aAAO,SAAS,IAAI;AAAA,IACtB;AAAA,EACF,WAAW,sBAAsB,QAAW;AAC1C,UAAM,qBAA0C,CAAC;AACjD,eAAW,OAAO,mBAAmB;AAEnC,yBAAmB,GAAG,IAAK,SAAsC,GAAG,GAAG,IAAI;AAAA,IAC7E;AAGA,WAAO;AAAA,EACT,OAAO;AAEL,WAAO;AAAA,EACT;AACF;",
  "names": []
}
