From eae585645d8548727ac6795dfb3a814632a576fb Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Mon, 16 Sep 2024 19:53:13 -0300 Subject: [PATCH] tipoArquivo --- dist/extensoes.d.ts | 10 +++++++++- dist/extensoes.js | 19 ++++++++++++++++++- dist/extensoes.js.map | 2 +- package.json | 2 +- src/extensoes.ts | 23 ++++++++++++++++++++++- 5 files changed, 51 insertions(+), 5 deletions(-) diff --git a/dist/extensoes.d.ts b/dist/extensoes.d.ts index 65a728e..76b648c 100644 --- a/dist/extensoes.d.ts +++ b/dist/extensoes.d.ts @@ -1,5 +1,13 @@ +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros"; export declare const extensoes: { ext: string; - tipo: "imagem" | "documento" | "vídeo"; + tipo: tiposArquivo; mime: string; }[]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +export declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo; +export {}; diff --git a/dist/extensoes.js b/dist/extensoes.js index 5f0e563..32f6820 100644 --- a/dist/extensoes.js +++ b/dist/extensoes.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.extensoes = void 0; +exports.tipoArquivo = exports.extensoes = void 0; exports.extensoes = [ { ext: "gif", @@ -153,4 +153,21 @@ exports.extensoes = [ mime: "video/mpeg", }, ]; +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +const tipoArquivo = (nomeArquivo) => { + // extenssão do arquivo + const extArquivo = String(nomeArquivo || "") + .toLocaleLowerCase() + .split(".") + .pop(); + // procura a extensão do arquivo na lista de extensões + const extensao = exports.extensoes.find((extensao) => extensao.ext === extArquivo); + // retorna o tipo do arquivo + return extensao?.tipo || "outros"; +}; +exports.tipoArquivo = tipoArquivo; //# sourceMappingURL=extensoes.js.map \ No newline at end of file diff --git a/dist/extensoes.js.map b/dist/extensoes.js.map index 8d941b4..8aa2abd 100644 --- a/dist/extensoes.js.map +++ b/dist/extensoes.js.map @@ -1 +1 @@ -{"version":3,"file":"extensoes.js","sourceRoot":"","sources":["../src/extensoes.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAIhB;IACJ;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;KAClB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;KAClB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,WAAW;KAClB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,eAAe;KACtB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,cAAc;KACrB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,iBAAiB;KACxB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,oBAAoB;KAC3B;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,yEAAyE;KAChF;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,0BAA0B;KACjC;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,mEAAmE;KAC1E;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,+BAA+B;KACtC;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,2EAA2E;KAClF;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,yCAAyC;KAChD;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,gDAAgD;KACvD;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,iBAAiB;KACxB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,WAAW;KAClB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;KACxB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;KACzB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;KACxB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gBAAgB;KACvB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;KACpB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,KAAK;QACV,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;KACnB;IACD;QACE,GAAG,EAAE,MAAM;QACX,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;KACnB;CACF,CAAA"} \ No newline at end of file +{"version":3,"file":"extensoes.js","sourceRoot":"","sources":["../src/extensoes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/package.json b/package.json index 2643777..bb9dd6e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.49.0", + "version": "0.50.0", "description": "", "main": "dist/index.js", "scripts": { diff --git a/src/extensoes.ts b/src/extensoes.ts index 1aef8e0..b321977 100644 --- a/src/extensoes.ts +++ b/src/extensoes.ts @@ -1,6 +1,8 @@ +type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros" + export const extensoes: { ext: string - tipo: "imagem" | "documento" | "vídeo" + tipo: tiposArquivo mime: string }[] = [ { @@ -154,3 +156,22 @@ export const extensoes: { mime: "video/mpeg", }, ] + +/** + * Função que retorna o tipo do arquivo + * @param nomeArquivo + * @returns + */ +export const tipoArquivo = ( + nomeArquivo: string | null | undefined, +): tiposArquivo => { + // extenssão do arquivo + const extArquivo = String(nomeArquivo || "") + .toLocaleLowerCase() + .split(".") + .pop() + // procura a extensão do arquivo na lista de extensões + const extensao = extensoes.find((extensao) => extensao.ext === extArquivo) + // retorna o tipo do arquivo + return extensao?.tipo || "outros" +}