UNPKG

@designliquido/delegua-tempo

Version:

Biblioteca de manejo de tempo em português, para JavaScript e Delégua

149 lines 5.27 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.agora = agora; exports.tempo = tempo; exports.milissegundos = milissegundos; exports.segundos = segundos; exports.minutos = minutos; exports.horas = horas; exports.carimboDeTempoUnix = carimboDeTempoUnix; exports.carimboDeTempoUnixParaData = carimboDeTempoUnixParaData; exports.diaDaSemana = diaDaSemana; exports.semanaDoAno = semanaDoAno; exports.textoIso8601ParaData = textoIso8601ParaData; exports.textoParaData = textoParaData; const dayjs = __importStar(require("dayjs")); require("dayjs/locale/pt-br"); const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat")); const weekYear_1 = __importDefault(require("dayjs/plugin/weekYear")); const weekOfYear_1 = __importDefault(require("dayjs/plugin/weekOfYear")); const excecoes_1 = require("./excecoes"); const objeto_data_1 = require("./objeto-data"); dayjs.extend(customParseFormat_1.default); dayjs.extend(weekYear_1.default); dayjs.extend(weekOfYear_1.default); dayjs.locale('pt'); /** * Retorna uma data completa. */ function agora() { return new objeto_data_1.ObjetoData(dayjs.default()); } /** * Retorna uma data completa. */ function tempo() { return new objeto_data_1.ObjetoData(dayjs.default()); } /** * Retorna os milissegundos atuais do sistema. */ function milissegundos() { return dayjs.default().millisecond(); } /** * Retorna os segundos atuais do sistema. */ function segundos() { return dayjs.default().second(); } /** * Retorna os minutos atuais do sistema. */ function minutos() { return dayjs.default().minute(); } /** * Retorna a hora atual do sistema. */ function horas() { return dayjs.default().hour(); } /** * Retorna o valor do Carimbo de Tempo Unix (Unix Timestamp). * É o valor em segundos desde dia 1º de janeiro de 1970 * @returns Um valor inteiro com o número de segundos desde 01/01/1970 até hoje. * @see https://www.unixtimestamp.com/ */ function carimboDeTempoUnix() { return dayjs.default().unix(); } /** * Retorna um objeto de data inicializado com um Carimbo de Tempo Unix. * @param {any} _ O visitante da instrução, normalmente um interpretador. * @param {number} carimboDeTempoUnix O Carimbo de Tempo Unix. * @returns {ObjetoData} A data como um objeto ObjetoData. */ function carimboDeTempoUnixParaData(_, carimboDeTempoUnix) { return new objeto_data_1.ObjetoData(dayjs.unix(carimboDeTempoUnix)); } /** * Retorna o dia da semana atual. * @returns */ function diaDaSemana() { return dayjs.default().day(); } function semanaDoAno() { return dayjs.default().week(); } /** * Retorna uma instância de Date do JavaScript da data passada por parâmetro. * @param {any} _ O visitante da instrução, normalmente um interpretador. * @param {string} dataIso8601ComoTexto A data no formato ISO 8601 a ser convertida como texto. * @returns {ObjetoData} A data como um objeto ObjetoData. */ function textoIso8601ParaData(_, dataIso8601ComoTexto) { if (!dataIso8601ComoTexto) { throw new excecoes_1.TempoErroEmTempoDeExecucao(null, // TODO: this.simbolo, "Parâmetro de data inválido (vazio ou nulo)."); } const data = dayjs.default(dataIso8601ComoTexto); return new objeto_data_1.ObjetoData(data); } function textoParaData(_, dataComoTexto, formato = "DD/MM/YYYY") { const formatoResolvido = formato.replace("AAAA", "YYYY").replace("AA", "YY"); if (!dataComoTexto) { throw new excecoes_1.TempoErroEmTempoDeExecucao(null, // TODO: this.simbolo, "Parâmetro de data inválido (vazio ou nulo)."); } const data = dayjs.default(dataComoTexto, formatoResolvido); return new objeto_data_1.ObjetoData(data); } //# sourceMappingURL=index.js.map