@designliquido/delegua-tempo
Version:
Biblioteca de manejo de tempo em português, para JavaScript e Delégua
198 lines • 7.15 kB
JavaScript
"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