{"version":3,"file":"uni-manager-toast.mjs","sources":["../../../projects/uni-manager/toast/manager.ts","../../../projects/uni-manager/toast/uni-manager-toast.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { UniLocaleManager } from 'uni-manager/locale';\r\nimport type { IToastManager, ToastConfig, ToastHttpConfig } from 'uni-model-type/type';\r\n\r\nexport class UniToastManager {\r\n  /* ------------------------------------------------------------------------------- */\r\n  /* ----------------------------------- Config ------------------------------------ */\r\n  /* ------------------------------------------------------------------------------- */\r\n  /** Riferimento interno all'istanza  */\r\n  private static manager: IToastManager;\r\n\r\n  /* ------------------------------------------------------------------------------- */\r\n  /* -------------------------------- Metodi: setup -------------------------------- */\r\n  /* ------------------------------------------------------------------------------- */\r\n  /**\r\n   * Inizializza il manager con una serie di operazioni\r\n   */\r\n  public static setup(operations: IToastManager): void {\r\n    this.manager = operations;\r\n  }\r\n\r\n  /* ------------------------------------------------------------------------------- */\r\n  /* -------------------------------- Metodi: show --------------------------------- */\r\n  /* ------------------------------------------------------------------------------- */\r\n  /**\r\n   * Mostra un toast di successo basato su una risposta HTTP e una label di traduzione.\r\n   */\r\n  public static show(\r\n    config: ToastConfig & {\r\n      prefix?: string;\r\n      suffix?: string;\r\n    },\r\n  ): void {\r\n    /* Messaggio tradotto */\r\n    const msg = UniLocaleManager.translate(config.label, 'toast', config.params);\r\n    const msgFixed = `${config.prefix ?? ''}${msg}${config.suffix ?? ''}`;\r\n    this.manager[config.type ?? 'info'](msgFixed, config);\r\n  }\r\n\r\n  /**\r\n   * Mostra un toast di successo basato su una risposta HTTP e una label di traduzione.\r\n   */\r\n  public static showHttp<T>(config: ToastConfig & ToastHttpConfig<T>, res: T | undefined): void {\r\n    const { params, resParams, formatters } = config;\r\n\r\n    /* Parametri statici di base */\r\n    const allParams: Record<string, any> = { ...params };\r\n\r\n    if (res !== undefined && res !== null) {\r\n      /* Se è un array aggiunge il parametro 'count' con la lunghezza dell'array */\r\n      if (Array.isArray(res)) {\r\n        allParams['count'] = res.length;\r\n      } else if (typeof res === 'object' && resParams?.length) {\r\n        const params = resParams ?? [];\r\n        // Se la proprietà NON esiste nella risposta, allora salta\r\n        for (const param of params) {\r\n          if (!Object.hasOwn(res, param)) continue;\r\n\r\n          // Se esiste un formatter per questa chiave lo si usa, altrimenti valore grezzo\r\n          const rawValue = res[param];\r\n          const formatter = formatters?.[param];\r\n          allParams[param] = formatter ? formatter(rawValue) : rawValue;\r\n        }\r\n      }\r\n    }\r\n\r\n    /* Messaggio tradotto */\r\n    this.show({ ...config, params: allParams });\r\n  }\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAAA;MAIa,eAAe,CAAA;;;;AAU1B;;AAEG;IACI,OAAO,KAAK,CAAC,UAAyB,EAAA;AAC3C,QAAA,IAAI,CAAC,OAAO,GAAG,UAAU;IAC3B;;;;AAKA;;AAEG;IACI,OAAO,IAAI,CAChB,MAGC,EAAA;;AAGD,QAAA,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC;AAC5E,QAAA,MAAM,QAAQ,GAAG,CAAA,EAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAA,EAAG,GAAG,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE;AACrE,QAAA,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC;IACvD;AAEA;;AAEG;AACI,IAAA,OAAO,QAAQ,CAAI,MAAwC,EAAE,GAAkB,EAAA;QACpF,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM;;AAGhD,QAAA,MAAM,SAAS,GAAwB,EAAE,GAAG,MAAM,EAAE;QAEpD,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;;AAErC,YAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;AACtB,gBAAA,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM;YACjC;iBAAO,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,SAAS,EAAE,MAAM,EAAE;AACvD,gBAAA,MAAM,MAAM,GAAG,SAAS,IAAI,EAAE;;AAE9B,gBAAA,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;oBAC1B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC;wBAAE;;AAGhC,oBAAA,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC;AAC3B,oBAAA,MAAM,SAAS,GAAG,UAAU,GAAG,KAAK,CAAC;AACrC,oBAAA,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,QAAQ;gBAC/D;YACF;QACF;;AAGA,QAAA,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC7C;AACD;;ACrED;;AAEG;;;;"}