UNPKG

@designliquido/delegua-tempo

Version:

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

198 lines 7.15 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.ObjetoData = void 0; const dayjs = __importStar(require("dayjs")); require("dayjs/locale/pt"); const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat")); const localizedFormat_1 = __importDefault(require("dayjs/plugin/localizedFormat")); const quarterOfYear_1 = __importDefault(require("dayjs/plugin/quarterOfYear")); const utc_1 = __importDefault(require("dayjs/plugin/utc")); const timezone_1 = __importDefault(require("dayjs/plugin/timezone")); const weekYear_1 = __importDefault(require("dayjs/plugin/weekYear")); const weekOfYear_1 = __importDefault(require("dayjs/plugin/weekOfYear")); dayjs.extend(customParseFormat_1.default); dayjs.extend(localizedFormat_1.default); dayjs.extend(quarterOfYear_1.default); dayjs.extend(utc_1.default); dayjs.extend(timezone_1.default); dayjs.extend(weekYear_1.default); dayjs.extend(weekOfYear_1.default); dayjs.locale('pt'); class ObjetoData { constructor(estruturaInterna) { this.estruturaInterna = estruturaInterna; } get dia() { return this.estruturaInterna.date(); } /** * Na Day.js, os meses são indexados por zero. */ get mes() { return this.estruturaInterna.month() + 1; } get ano() { return this.estruturaInterna.year(); } get diasNoMes() { return this.estruturaInterna.daysInMonth(); } get hora() { return this.estruturaInterna.hour(); } get minuto() { return this.estruturaInterna.minute(); } get segundo() { return this.estruturaInterna.second(); } get milissegundo() { return this.estruturaInterna.millisecond(); } get diaDaSemana() { return this.estruturaInterna.day(); } get semanaDoAno() { return this.estruturaInterna.week(); } get carimboDeTempoUnix() { return this.estruturaInterna.unix(); } get emAngola() { return this.estruturaInterna.utc().tz('Africa/Luanda').format(); } get emMoçambique() { return this.estruturaInterna.utc().tz('Africa/Maputo').format(); } get emMocambique() { return this.emMoçambique; } get emPortugal() { return this.estruturaInterna.utc().tz('Europe/Lisbon').format(); } get emTimorLeste() { return this.estruturaInterna.utc().tz('Asia/Dili').format(); } get noBrasil() { return this.estruturaInterna.utc().tz('Brazil/East').format(); } adicionarDias(dias) { const novaData = this.estruturaInterna.add(dias, 'day'); return new ObjetoData(novaData); } adicionarSemanas(semanas) { const novaData = this.estruturaInterna.add(semanas, 'week'); return new ObjetoData(novaData); } adicionarMeses(meses) { const novaData = this.estruturaInterna.add(meses, 'month'); return new ObjetoData(novaData); } adicionarTrimestres(trimestres) { const novaData = this.estruturaInterna.add(trimestres, 'quarter'); return new ObjetoData(novaData); } adicionarAnos(anos) { const novaData = this.estruturaInterna.add(anos, 'year'); return new ObjetoData(novaData); } adicionarHoras(horas) { const novaData = this.estruturaInterna.add(horas, 'hour'); return new ObjetoData(novaData); } adicionarMinutos(minutos) { const novaData = this.estruturaInterna.add(minutos, 'minute'); return new ObjetoData(novaData); } adicionarSegundos(segundos) { const novaData = this.estruturaInterna.add(segundos, 'second'); return new ObjetoData(novaData); } adicionarMilissegundos(milissegundos) { const novaData = this.estruturaInterna.add(milissegundos, 'millisecond'); return new ObjetoData(novaData); } subtrairDias(dias) { const novaData = this.estruturaInterna.subtract(dias, 'day'); return new ObjetoData(novaData); } subtrairSemanas(semanas) { const novaData = this.estruturaInterna.subtract(semanas, 'week'); return new ObjetoData(novaData); } subtrairMeses(meses) { const novaData = this.estruturaInterna.subtract(meses, 'month'); return new ObjetoData(novaData); } subtrairTrimestres(trimestres) { const novaData = this.estruturaInterna.subtract(trimestres, 'quarter'); return new ObjetoData(novaData); } subtrairAnos(anos) { const novaData = this.estruturaInterna.subtract(anos, 'year'); return new ObjetoData(novaData); } subtrairHoras(horas) { const novaData = this.estruturaInterna.subtract(horas, 'hour'); return new ObjetoData(novaData); } subtrairMinutos(minutos) { const novaData = this.estruturaInterna.subtract(minutos, 'minute'); return new ObjetoData(novaData); } subtrairSegundos(segundos) { const novaData = this.estruturaInterna.subtract(segundos, 'second'); return new ObjetoData(novaData); } subtrairMilissegundos(milissegundos) { const novaData = this.estruturaInterna.subtract(milissegundos, 'millisecond'); return new ObjetoData(novaData); } paraTexto() { return this.toString(); } porExtenso() { return this.estruturaInterna.format('LLLL'); } toString() { return `<objeto-data dia=${this.dia} mês=${this.mes} ano=${this.ano} hora=${this.hora} minuto=${this.minuto} segundo=${this.segundo}>`; } } exports.ObjetoData = ObjetoData; //# sourceMappingURL=objeto-data.js.map