{"version":3,"file":"index.mjs","sources":[""],"sourcesContent":["import { unflatten } from \"flat\";\r\nimport type { TTranslation, ILocale } from \"../config/types\";\r\n\r\ntype TMessage = {\r\n  message: string;\r\n};\r\n\r\n/**\r\n * Хук позволяет использовать локализованное сообщение\r\n * @returns {TMessage}\r\n */\r\nconst useMessage = ({\r\n  fn, code, instance, options,\r\n}: TTranslation & Pick<ILocale, \"options\" | \"code\">): TMessage => {\r\n\r\n  const result: string | (() => string) = fn(code);\r\n\r\n  const getMessage: (() => string) = () => {\r\n    switch (true) {\r\n      // Локаль задана функцией с аргументами\r\n      case typeof result === \"function\": {\r\n        const item = instance?.translator?.resolve(code);\r\n        if (!!item) {\r\n          const res = item.res(options);\r\n          return fn(res, options);\r\n        } else {\r\n          return \"\";\r\n        }\r\n      }\r\n      // Локаль задана строкой\r\n      case typeof result === \"string\": {\r\n        return fn(code, options);\r\n      }\r\n      default: {\r\n        return \"\";\r\n      }\r\n    }\r\n  };\r\n  return {\r\n    message: getMessage(),\r\n  };\r\n};\r\n\r\n/**\r\n * Функция проверяет наличие атрибута для локализации\r\n * @returns {Boolean}\r\n */\r\nconst getIsAttr = (attr?: ILocale[\"attr\"]): boolean => (typeof attr === \"string\" && !!attr.length) || (Array.isArray(attr) && attr.every((item) => typeof item === \"string\" && !!item.length));\r\n\r\n/**\r\n * Получает пользовательские атрибуты в виде объекта с одним уровнем вложенности\r\n * @param attrs{ILocale[\"attr\"]}\r\n * @returns {Object}\r\n */\r\nconst getUserAttrs = <T>(attrs: T): T => {\r\n  return unflatten(attrs, {\r\n    object: true,\r\n  });\r\n};\r\n\r\nexport {\r\n  getIsAttr,\r\n  getUserAttrs,\r\n  useMessage,\r\n};\r\n"],"names":["useMessage","fn","code","instance","options","result","getMessage","item","translator","resolve","res","message","getIsAttr","attr","length","Array","isArray","every","getUserAttrs","attrs","unflatten","object"],"mappings":";;;;GAWA,MAAMA,WAAa,EACjBC,MAAIC,UAAMC,kBAAUC,oBAGpB,MAAMC,OAAkCJ,GAAGC,MAE3C,MAAMI,WAA6B,KACjC,OAAQ;;AAEN,YAAYD,SAAW,WAAY,CACjC,MAAME,KAAOJ,UAAUK,YAAYC,QAAQP,MAC3C,KAAMK,KAAM,CACV,MAAMG,IAAMH,KAAKG,IAAIN,SACrB,OAAOH,GAAGS,IAAKN,QACjB,MACE,MAAO,EAEX;wBAEA;YAAYC,SAAW,SACrB,OAAOJ,GAAGC,KAAME,SAElB,QACE,MAAO,KAIb,MAAO,CACLO,QAASL;;;;GAQb,MAAMM,UAAaC,aAA4CA,OAAS,YAAcA,KAAKC,QAAYC,MAAMC,QAAQH,OAASA,KAAKI,MAAOV,aAAgBA,OAAS,YAAcA,KAAKO;;;;;GAOtL,MAAMI,aAAmBC,OAChBC,UAAUD,MAAO,CACtBE,OAAQ"}