UNPKG

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
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