{"version":3,"file":"findRecursiveFolderByValue.mjs","sources":["../../../admin/src/utils/findRecursiveFolderByValue.ts"],"sourcesContent":["import type { FolderNode } from '../../../shared/contracts/folders';\n\ninterface FolderStructureValue extends Omit<FolderNode, 'children'> {\n  value?: string | number | null;\n  children?: FolderStructureValue[];\n  label?: string;\n}\n\ntype Value = number | null | { value: number | null };\n\nexport function findRecursiveFolderByValue(\n  data: FolderStructureValue[],\n  value: Value\n): FolderStructureValue | undefined {\n  let result: FolderStructureValue | undefined;\n\n  function iter(a: FolderStructureValue) {\n    if (a.value === value) {\n      result = a;\n\n      return true;\n    }\n\n    return Array.isArray(a.children) && a.children.some(iter);\n  }\n\n  data.some(iter);\n\n  return result;\n}\n"],"names":["findRecursiveFolderByValue","data","value","result","iter","a","Array","isArray","children","some"],"mappings":"AAUO,SAASA,0BAAAA,CACdC,IAA4B,EAC5BC,KAAY,EAAA;IAEZ,IAAIC,MAAAA;AAEJ,IAAA,SAASC,KAAKC,CAAuB,EAAA;QACnC,IAAIA,CAAAA,CAAEH,KAAK,KAAKA,KAAAA,EAAO;YACrBC,MAAAA,GAASE,CAAAA;YAET,OAAO,IAAA;AACT,QAAA;QAEA,OAAOC,KAAAA,CAAMC,OAAO,CAACF,CAAAA,CAAEG,QAAQ,KAAKH,CAAAA,CAAEG,QAAQ,CAACC,IAAI,CAACL,IAAAA,CAAAA;AACtD,IAAA;AAEAH,IAAAA,IAAAA,CAAKQ,IAAI,CAACL,IAAAA,CAAAA;IAEV,OAAOD,MAAAA;AACT;;;;"}