nep-datepicker
Version:
The Angular Nepali Datepicker is an npm package designed to integrate a Nepali date picker component into Angular applications.
60 lines • 8.87 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./nep-datepicker-private.service";
export class NepaliDatepickerService {
constructor(_datePicketService) {
this._datePicketService = _datePicketService;
}
/**
* @param dateInAD string value of AD date only
* @param format 'yyyy/mm/dd' | 'dd/mm/yyyy' | 'yyyy-mm-dd' | 'dd-mm-yyyy' value in which the dateInAD is formatted with
* @returns string BS date with same as provided in format params
*/
ADToBS(dateInAD, format) {
const formattedDate = this._datePicketService.changeStructure(dateInAD);
if (!formattedDate)
throw new Error('Invalid date value');
const BSDate = this._datePicketService.engToNepDate(formattedDate.day, formattedDate.month, formattedDate.year);
return this.formatDate(BSDate, format);
}
/**
*
* @param dateInBS string vale of BS date only
* @param format 'yyyy/mm/dd' | 'dd/mm/yyyy' | 'yyyy-mm-dd' | 'dd-mm-yyyy' value in which the dateInBS is formatted with
* @returns string AD date with same as provided in format params
*/
BSToAD(dateInBS, format) {
const formattedDate = this._datePicketService.changeStructure(dateInBS);
if (!formattedDate)
throw new Error('Invalid date value');
const ADDate = this._datePicketService.nepToEngDate(formattedDate.day, formattedDate.month, formattedDate.year);
return this.formatDate({
day: ADDate.getDate(),
month: ADDate.getMonth(),
year: ADDate.getFullYear(),
}, format);
}
formatDate(date, format) {
const regex = {
year: /y{2,4}/i,
month: /m{1,2}/i,
day: /d{1,2}/i,
};
format = format.replace(regex.year, date.year.toString());
format = format.replace(regex.month, this.zeroPad(date.month + 1, 2));
format = format.replace(regex.day, this.zeroPad(date.day, 2));
return format;
}
zeroPad(num, places) {
return String(num).padStart(places, '0');
}
}
NepaliDatepickerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: NepaliDatepickerService, deps: [{ token: i1.NepaliDatepickerAngularPrivateService }], target: i0.ɵɵFactoryTarget.Injectable });
NepaliDatepickerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: NepaliDatepickerService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: NepaliDatepickerService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}], ctorParameters: function () { return [{ type: i1.NepaliDatepickerAngularPrivateService }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVwLWRhdGVwaWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25wLWRhdGVwaWNrZXIvc3JjL2xpYi9zZXJ2aWNlcy9uZXAtZGF0ZXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQU0zQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ2xDLFlBQ1Usa0JBQXlEO1FBQXpELHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBdUM7SUFDaEUsQ0FBQztJQUVKOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsUUFBZ0IsRUFBRSxNQUFrQjtRQUN6QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxhQUFhO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzFELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQ2pELGFBQWEsQ0FBQyxHQUFHLEVBQ2pCLGFBQWEsQ0FBQyxLQUFLLEVBQ25CLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILE1BQU0sQ0FBQyxRQUFnQixFQUFFLE1BQWtCO1FBQ3pDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLGFBQWE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUQsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FDakQsYUFBYSxDQUFDLEdBQUcsRUFDakIsYUFBYSxDQUFDLEtBQUssRUFDbkIsYUFBYSxDQUFDLElBQUksQ0FDbkIsQ0FBQztRQUNGLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FDcEI7WUFDRSxHQUFHLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUNyQixLQUFLLEVBQUUsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN4QixJQUFJLEVBQUUsTUFBTSxDQUFDLFdBQVcsRUFBRTtTQUMzQixFQUNELE1BQU0sQ0FDUCxDQUFDO0lBQ0osQ0FBQztJQUVPLFVBQVUsQ0FDaEIsSUFBa0QsRUFDbEQsTUFBYztRQUVkLE1BQU0sS0FBSyxHQUFHO1lBQ1osSUFBSSxFQUFFLFNBQVM7WUFDZixLQUFLLEVBQUUsU0FBUztZQUNoQixHQUFHLEVBQUUsU0FBUztTQUNmLENBQUM7UUFDRixNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUMxRCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBVyxFQUFFLE1BQWM7UUFDekMsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztJQUMzQyxDQUFDOztvSEE5RFUsdUJBQXVCO3dIQUF2Qix1QkFBdUIsY0FGdEIsTUFBTTsyRkFFUCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZXBhbGlEYXRlcGlja2VyQW5ndWxhclByaXZhdGVTZXJ2aWNlIH0gZnJvbSAnLi9uZXAtZGF0ZXBpY2tlci1wcml2YXRlLnNlcnZpY2UnO1xyXG50eXBlIERhdGVGb3JtYXQgPSAneXl5eS9tbS9kZCcgfCAnZGQvbW0veXl5eScgfCAneXl5eS1tbS1kZCcgfCAnZGQtbW0teXl5eSc7XHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZXBhbGlEYXRlcGlja2VyU2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kYXRlUGlja2V0U2VydmljZTogTmVwYWxpRGF0ZXBpY2tlckFuZ3VsYXJQcml2YXRlU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIGRhdGVJbkFEIHN0cmluZyB2YWx1ZSBvZiBBRCBkYXRlIG9ubHlcclxuICAgKiBAcGFyYW0gZm9ybWF0ICd5eXl5L21tL2RkJyB8ICdkZC9tbS95eXl5JyB8ICd5eXl5LW1tLWRkJyB8ICdkZC1tbS15eXl5JyB2YWx1ZSBpbiB3aGljaCB0aGUgZGF0ZUluQUQgaXMgZm9ybWF0dGVkIHdpdGhcclxuICAgKiBAcmV0dXJucyBzdHJpbmcgQlMgZGF0ZSB3aXRoIHNhbWUgYXMgcHJvdmlkZWQgaW4gZm9ybWF0IHBhcmFtc1xyXG4gICAqL1xyXG4gIEFEVG9CUyhkYXRlSW5BRDogc3RyaW5nLCBmb3JtYXQ6IERhdGVGb3JtYXQpIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLl9kYXRlUGlja2V0U2VydmljZS5jaGFuZ2VTdHJ1Y3R1cmUoZGF0ZUluQUQpO1xyXG4gICAgaWYgKCFmb3JtYXR0ZWREYXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0ZSB2YWx1ZScpO1xyXG4gICAgY29uc3QgQlNEYXRlID0gdGhpcy5fZGF0ZVBpY2tldFNlcnZpY2UuZW5nVG9OZXBEYXRlKFxyXG4gICAgICBmb3JtYXR0ZWREYXRlLmRheSxcclxuICAgICAgZm9ybWF0dGVkRGF0ZS5tb250aCxcclxuICAgICAgZm9ybWF0dGVkRGF0ZS55ZWFyXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShCU0RhdGUsIGZvcm1hdCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKlxyXG4gICAqIEBwYXJhbSBkYXRlSW5CUyBzdHJpbmcgdmFsZSBvZiBCUyBkYXRlIG9ubHlcclxuICAgKiBAcGFyYW0gZm9ybWF0ICd5eXl5L21tL2RkJyB8ICdkZC9tbS95eXl5JyB8ICd5eXl5LW1tLWRkJyB8ICdkZC1tbS15eXl5JyB2YWx1ZSBpbiB3aGljaCB0aGUgZGF0ZUluQlMgaXMgZm9ybWF0dGVkIHdpdGhcclxuICAgKiBAcmV0dXJucyBzdHJpbmcgQUQgZGF0ZSB3aXRoIHNhbWUgYXMgcHJvdmlkZWQgaW4gZm9ybWF0IHBhcmFtc1xyXG4gICAqL1xyXG4gIEJTVG9BRChkYXRlSW5CUzogc3RyaW5nLCBmb3JtYXQ6IERhdGVGb3JtYXQpIHtcclxuICAgIGNvbnN0IGZvcm1hdHRlZERhdGUgPSB0aGlzLl9kYXRlUGlja2V0U2VydmljZS5jaGFuZ2VTdHJ1Y3R1cmUoZGF0ZUluQlMpO1xyXG4gICAgaWYgKCFmb3JtYXR0ZWREYXRlKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgZGF0ZSB2YWx1ZScpO1xyXG4gICAgY29uc3QgQUREYXRlID0gdGhpcy5fZGF0ZVBpY2tldFNlcnZpY2UubmVwVG9FbmdEYXRlKFxyXG4gICAgICBmb3JtYXR0ZWREYXRlLmRheSxcclxuICAgICAgZm9ybWF0dGVkRGF0ZS5tb250aCxcclxuICAgICAgZm9ybWF0dGVkRGF0ZS55ZWFyXHJcbiAgICApO1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybWF0RGF0ZShcclxuICAgICAge1xyXG4gICAgICAgIGRheTogQUREYXRlLmdldERhdGUoKSxcclxuICAgICAgICBtb250aDogQUREYXRlLmdldE1vbnRoKCksXHJcbiAgICAgICAgeWVhcjogQUREYXRlLmdldEZ1bGxZZWFyKCksXHJcbiAgICAgIH0sXHJcbiAgICAgIGZvcm1hdFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZm9ybWF0RGF0ZShcclxuICAgIGRhdGU6IHsgZGF5OiBudW1iZXI7IG1vbnRoOiBudW1iZXI7IHllYXI6IG51bWJlciB9LFxyXG4gICAgZm9ybWF0OiBzdHJpbmdcclxuICApIHtcclxuICAgIGNvbnN0IHJlZ2V4ID0ge1xyXG4gICAgICB5ZWFyOiAveXsyLDR9L2ksXHJcbiAgICAgIG1vbnRoOiAvbXsxLDJ9L2ksXHJcbiAgICAgIGRheTogL2R7MSwyfS9pLFxyXG4gICAgfTtcclxuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKHJlZ2V4LnllYXIsIGRhdGUueWVhci50b1N0cmluZygpKTtcclxuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKHJlZ2V4Lm1vbnRoLCB0aGlzLnplcm9QYWQoZGF0ZS5tb250aCArIDEsIDIpKTtcclxuICAgIGZvcm1hdCA9IGZvcm1hdC5yZXBsYWNlKHJlZ2V4LmRheSwgdGhpcy56ZXJvUGFkKGRhdGUuZGF5LCAyKSk7XHJcbiAgICByZXR1cm4gZm9ybWF0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB6ZXJvUGFkKG51bTogbnVtYmVyLCBwbGFjZXM6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIFN0cmluZyhudW0pLnBhZFN0YXJ0KHBsYWNlcywgJzAnKTtcclxuICB9XHJcbn1cclxuIl19