ajuste de tipagem
This commit is contained in:
parent
fe15145de0
commit
e36137e33e
5 changed files with 253 additions and 7 deletions
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
|
@ -5,7 +5,7 @@
|
||||||
},
|
},
|
||||||
"editor.defaultFormatter": "biomejs.biome",
|
"editor.defaultFormatter": "biomejs.biome",
|
||||||
"[javascript]": {
|
"[javascript]": {
|
||||||
"editor.defaultFormatter": "biomejs.biome"
|
"editor.defaultFormatter": "vscode.typescript-language-features"
|
||||||
},
|
},
|
||||||
"[javascriptreact]": {
|
"[javascriptreact]": {
|
||||||
"editor.defaultFormatter": "biomejs.biome"
|
"editor.defaultFormatter": "biomejs.biome"
|
||||||
|
|
|
||||||
246
dist-front/index.d.mts
Normal file
246
dist-front/index.d.mts
Normal file
|
|
@ -0,0 +1,246 @@
|
||||||
|
export { ManipulateType, default as dayjsbr } from 'dayjs';
|
||||||
|
import { v4 } from 'uuid';
|
||||||
|
|
||||||
|
declare const aleatorio: (tamanho?: number) => string;
|
||||||
|
|
||||||
|
/** gerar uma função de cache para uso em memoria */
|
||||||
|
declare const cacheM: <T>(chave: any, valor?: T, validadeSeg?: number) => T | undefined;
|
||||||
|
declare const verCacheM: () => {
|
||||||
|
[k: string]: {
|
||||||
|
/** new Date().getTime() */
|
||||||
|
validade?: number | undefined;
|
||||||
|
valor: any;
|
||||||
|
} | undefined;
|
||||||
|
};
|
||||||
|
declare const cacheMemoria: <T>(chave: any, valor?: T, validadeSeg?: number) => T | undefined;
|
||||||
|
/** para uso fixo dentro de uma função, trava a chave */
|
||||||
|
declare const cacheMFixo: (chave: any) => <T>(valor?: T) => T | undefined;
|
||||||
|
|
||||||
|
declare const uuid_null = "00000000-0000-0000-0000-000000000000";
|
||||||
|
/** Colunas Presentes n maioria das tabelas */
|
||||||
|
declare enum camposComuns {
|
||||||
|
codigo = "codigo",
|
||||||
|
excluido = "excluido",
|
||||||
|
data_hora_criacao = "data_hora_criacao",
|
||||||
|
data_hora_atualizacao = "data_hora_atualizacao",
|
||||||
|
codigo_usuario_criacao = "codigo_usuario_criacao",
|
||||||
|
codigo_usuario_atualizacao = "codigo_usuario_atualizacao",
|
||||||
|
versao = "versao"
|
||||||
|
}
|
||||||
|
/** Palavras comumente usadas */
|
||||||
|
declare enum tx {
|
||||||
|
token = "token"
|
||||||
|
}
|
||||||
|
declare enum tipoUsuarioResiduos {
|
||||||
|
Usuario = "usuario",
|
||||||
|
Fornecedor = "fornecedor"
|
||||||
|
}
|
||||||
|
|
||||||
|
declare enum operadores {
|
||||||
|
"=" = "=",
|
||||||
|
"!=" = "!=",
|
||||||
|
">" = ">",
|
||||||
|
">=" = ">=",
|
||||||
|
"<" = "<",
|
||||||
|
"<=" = "<=",
|
||||||
|
like = "like",
|
||||||
|
in = "in"
|
||||||
|
}
|
||||||
|
type tipoFiltro = {
|
||||||
|
coluna: string;
|
||||||
|
valor: any;
|
||||||
|
operador: keyof typeof operadores | operadores;
|
||||||
|
ou?: boolean;
|
||||||
|
};
|
||||||
|
type interfaceConsulta = {
|
||||||
|
offset?: number;
|
||||||
|
limit?: number;
|
||||||
|
filtros?: tipoFiltro[];
|
||||||
|
ordem?: string;
|
||||||
|
ordemTipo?: "asc" | "desc";
|
||||||
|
colunas?: string[];
|
||||||
|
apenasConsulta?: boolean;
|
||||||
|
apenasContagem?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
declare const cdn_carro_de_boi = "https://carro-de-boi-idz-one.b-cdn.net";
|
||||||
|
|
||||||
|
type tiposArquivo = "imagem" | "documento" | "vídeo" | "outros";
|
||||||
|
declare const extensoes: {
|
||||||
|
ext: string;
|
||||||
|
tipo: tiposArquivo;
|
||||||
|
mime: string;
|
||||||
|
}[];
|
||||||
|
/**
|
||||||
|
* Função que retorna o tipo do arquivo
|
||||||
|
* @param nomeArquivo
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
declare const tipoArquivo: (nomeArquivo: string | null | undefined) => tiposArquivo;
|
||||||
|
|
||||||
|
type tipoLokiObjeto = {
|
||||||
|
streams: {
|
||||||
|
stream: {
|
||||||
|
[k: string]: string;
|
||||||
|
};
|
||||||
|
values: [string, string][];
|
||||||
|
}[];
|
||||||
|
};
|
||||||
|
declare const postLogger: ({ objeto, }: {
|
||||||
|
objeto: tipoLokiObjeto;
|
||||||
|
}) => Promise<[objeto: tipoLokiObjeto, erro?: string]>;
|
||||||
|
/** define a localização da pasta do projeto */
|
||||||
|
declare const defineCwd: (novoCwd: string) => void;
|
||||||
|
type tipoLevel = "info" | "warn" | "error";
|
||||||
|
type tipoOpSessao = {
|
||||||
|
inquilino: string;
|
||||||
|
usuario: string;
|
||||||
|
parametros?: {
|
||||||
|
[k: string]: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
type tipoLog = {
|
||||||
|
detalhes?: unknown[];
|
||||||
|
__filename?: string;
|
||||||
|
local?: string;
|
||||||
|
parametros?: {
|
||||||
|
[k: string]: string;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
type tipoLoggerLog = (level: tipoLevel, mensagem: string, op_tipoLog?: tipoLog) => Promise<[objeto: tipoLokiObjeto, erro?: string]>;
|
||||||
|
type TipoLoggerSessao = (sess: tipoOpSessao) => tipoLoggerLog;
|
||||||
|
type tipoLogger = (amb: {
|
||||||
|
app: string;
|
||||||
|
eProducao: boolean;
|
||||||
|
parametros?: {
|
||||||
|
[k: string]: string;
|
||||||
|
};
|
||||||
|
}) => TipoLoggerSessao;
|
||||||
|
declare const logger: tipoLogger;
|
||||||
|
|
||||||
|
declare const umaFuncao: () => string;
|
||||||
|
|
||||||
|
declare const umaVariavel = "Ol\u00E1 Mundo! (vari\u00E1vel)";
|
||||||
|
|
||||||
|
/** gerar o texto de busca removendo caracteres especies e caixa alta */
|
||||||
|
declare const texto_busca: (...texto: any[]) => string;
|
||||||
|
|
||||||
|
/** Gerar uma classe que facilita a gestão de rotas com a tipagem das querys
|
||||||
|
*
|
||||||
|
* Definições:
|
||||||
|
*
|
||||||
|
* caminho = "/aplicacao/funcionalidade"
|
||||||
|
*
|
||||||
|
* endereco = "http://localhost:3000/aplicacao/funcionalidade"
|
||||||
|
*
|
||||||
|
* parametros = {nome:"José"}
|
||||||
|
*/
|
||||||
|
declare class TipagemRotas<T extends {
|
||||||
|
[q: string]: string | undefined;
|
||||||
|
}> {
|
||||||
|
_partesCaminho: string[];
|
||||||
|
_acaoIr?: (endereco: string) => undefined;
|
||||||
|
/** Ao criar novo obijeto de tipagem de rota é necessário passar o caminho parcial
|
||||||
|
** export const mCaminho = new TipagemRotas<{q:string}>("aplicacao","funcionalidade")
|
||||||
|
*/
|
||||||
|
constructor({ caminho, acaoIr, }: {
|
||||||
|
caminho: string[] | string;
|
||||||
|
acaoIr?: undefined | ((endereco: string) => undefined);
|
||||||
|
});
|
||||||
|
/** Retorna o caminho completo da rota
|
||||||
|
** console.log(mCaminho.caminho)
|
||||||
|
** "/caminho"
|
||||||
|
*/
|
||||||
|
get caminho(): string;
|
||||||
|
/** Define o caminho completo da rota
|
||||||
|
** mCaminho.caminho = "/novoCaminho"
|
||||||
|
** console.log(mCaminho.caminho)
|
||||||
|
** "/novoCaminho"
|
||||||
|
** */
|
||||||
|
set caminho(caminhoParcial: string);
|
||||||
|
/** Retorna o caminho completo da rota com a query
|
||||||
|
** console.log(mCaminho.resolve({q:"query"}))
|
||||||
|
** "http://localhost:3000/caminho?q=query"
|
||||||
|
*/
|
||||||
|
endereco(query: T, usarComoHash?: boolean): string;
|
||||||
|
/** Vai para a url
|
||||||
|
** mCaminho.ir({q:"query"})
|
||||||
|
** window.location.href = "http://localhost:3000/caminho?q=query"
|
||||||
|
*/
|
||||||
|
ir(query: T): void;
|
||||||
|
/** Retorna os parametros da url
|
||||||
|
** console.log(mCaminho.parametros())
|
||||||
|
** {q:"query"}
|
||||||
|
*/
|
||||||
|
get parametros(): Partial<T>;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Essa variável se conecta a tabela_lidades
|
||||||
|
*
|
||||||
|
* onde sigla se conecta com sigla
|
||||||
|
*
|
||||||
|
* Usuário terá mais opções de unidades, quando fazer o envio para o mtr, usar a opção fornecida pelo usuarios, caso não tenha
|
||||||
|
* usar a normalizada
|
||||||
|
*/
|
||||||
|
declare enum siglas_unidades_medida {
|
||||||
|
UN = "UN",
|
||||||
|
KG = "KG",
|
||||||
|
TON = "TON",
|
||||||
|
g = "g",
|
||||||
|
"M³" = "M\u00B3",
|
||||||
|
Lt = "Lt"
|
||||||
|
}
|
||||||
|
declare const unidades_medida: {
|
||||||
|
sigla_unidade: keyof typeof siglas_unidades_medida;
|
||||||
|
nome: string;
|
||||||
|
sigla_normalizada: keyof typeof siglas_unidades_medida;
|
||||||
|
normalizar: (valor: number) => number;
|
||||||
|
tipo: "massa" | "volume" | "comprimento" | "unidade";
|
||||||
|
}[];
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Valida se uma string é um UUID válido (qualquer versão).
|
||||||
|
*
|
||||||
|
* @param valor - A string que será validada.
|
||||||
|
* @returns booleano indicando se é um UUID válido.
|
||||||
|
*/
|
||||||
|
declare const erUuid: RegExp;
|
||||||
|
declare const validarUuid: (uuid: string | number | undefined | null) => boolean;
|
||||||
|
/**
|
||||||
|
* Gera um UUID determinístico (versão 3) com base em uma chave e um grupo (namespace).
|
||||||
|
*
|
||||||
|
* - Usa o algoritmo MD5 (RFC 4122).
|
||||||
|
* - Sempre retorna o mesmo UUID para a mesma combinação chave + grupo.
|
||||||
|
* - Caso o grupo não seja informado, usa o UUID "nil" como namespace.
|
||||||
|
*
|
||||||
|
* @param chave - Qualquer valor que será convertido em string para gerar o UUID (ex: número, string ou objeto).
|
||||||
|
* @param grupo - Opcional. Namespace para separar domínios diferentes de UUIDs.
|
||||||
|
* @returns UUID v3 (determinístico)
|
||||||
|
*/
|
||||||
|
declare const uuidV3: (chave: any, grupo?: string | number) => string;
|
||||||
|
/**
|
||||||
|
* Gera um UUID v4 (aleatório, não determinístico).
|
||||||
|
*
|
||||||
|
* - Usado quando unicidade é necessária, mas não se exige que seja previsível.
|
||||||
|
*/
|
||||||
|
declare const uuidV4: typeof v4;
|
||||||
|
/**
|
||||||
|
* @deprecated Esta variável será descontinuada em versões futuras.
|
||||||
|
* Use a função `uuidV4()` diretamente.
|
||||||
|
*/
|
||||||
|
declare const uuid: typeof v4;
|
||||||
|
|
||||||
|
declare const esperar: (ms: number) => Promise<true>;
|
||||||
|
/**
|
||||||
|
* Usado para retronat o no de uma variável, deve ser usado dentro de um objeto
|
||||||
|
* const nomex = {a: 1, b: 2}
|
||||||
|
* nomeVariavel({nomex}) // retorna "nomex"
|
||||||
|
* @param v
|
||||||
|
* @returns
|
||||||
|
*/
|
||||||
|
declare const nomeVariavel: (v: {
|
||||||
|
[key: string]: any;
|
||||||
|
}) => string;
|
||||||
|
|
||||||
|
export { TipagemRotas, type TipoLoggerSessao, aleatorio, cacheM, cacheMFixo, cacheMemoria, camposComuns, cdn_carro_de_boi, defineCwd, erUuid, esperar, extensoes, type interfaceConsulta, logger, nomeVariavel, operadores, postLogger, siglas_unidades_medida, texto_busca, tipoArquivo, type tipoFiltro, type tipoLogger, type tipoLoggerLog, type tipoLokiObjeto, tipoUsuarioResiduos, tx, umaFuncao, umaVariavel, unidades_medida, uuid, uuidV3, uuidV4, uuid_null, validarUuid, verCacheM };
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
{
|
{
|
||||||
"name": "p-comuns",
|
"name": "p-comuns",
|
||||||
"version": "0.214.0",
|
"version": "0.216.0",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "./dist-back/index.js",
|
"main": "./dist-back/index.js",
|
||||||
"module": "./dist-front/index.mjs",
|
"module": "./dist-front/index.mjs",
|
||||||
"types": "./src/index.ts",
|
"types": "./dist-front/index.d.mts",
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"types": "./src/index.ts",
|
"types": "./dist-front/index.d.mts",
|
||||||
"import": "./dist-front/index.mjs",
|
"import": "./dist-front/index.mjs",
|
||||||
"require": "./dist-back/index.js"
|
"require": "./dist-back/index.js"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,10 +4,10 @@ tsup --config ./node_modules/p-comuns/tsup/tsup.config.ts
|
||||||
|
|
||||||
"main": "./dist-back/index.js",
|
"main": "./dist-back/index.js",
|
||||||
"module": "./dist-front/index.mjs",
|
"module": "./dist-front/index.mjs",
|
||||||
"types": "./src/index.ts",
|
"types": "./dist-front/index.d.mts",,
|
||||||
"exports": {
|
"exports": {
|
||||||
".": {
|
".": {
|
||||||
"types": "./src/index.ts",
|
"types": "./dist-front/index.d.mts",,
|
||||||
"import": "./dist-front/index.mjs",
|
"import": "./dist-front/index.mjs",
|
||||||
"require": "./dist-back/index.js"
|
"require": "./dist-back/index.js"
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ export const tsup_config_front: Options = {
|
||||||
clean: true, // Limpa o diretório de saída antes de cada build
|
clean: true, // Limpa o diretório de saída antes de cada build
|
||||||
bundle: true, // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
|
bundle: true, // ESSENCIAL: Mantém a estrutura de arquivos e pastas original
|
||||||
splitting: false, // Desnecessário quando bundle é false
|
splitting: false, // Desnecessário quando bundle é false
|
||||||
dts: false, // Não gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS
|
dts: true, // Gera arquivos de declaração TypeScript (.d.ts) para uso em front-end JS
|
||||||
// legacyOutput e outExtension foram removidos por não serem necessários
|
// legacyOutput e outExtension foram removidos por não serem necessários
|
||||||
sourcemap: false,
|
sourcemap: false,
|
||||||
minify: true, // Recomendado para builds de produção
|
minify: true, // Recomendado para builds de produção
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue