UNPKG

@vismaux/ngx-nordic-cool

Version:
44 lines 4.98 kB
import { Injectable } from '@angular/core'; import { isInteger } from '../../utils/utils'; import { NcDateAdapter } from './date-struct.adapter'; import * as i0 from "@angular/core"; export class NcDateNativeAdapter extends NcDateAdapter { /** * Converts a native `Date` to a `NcDateStruct`. */ fromModel(date) { return date instanceof Date && !isNaN(date.getTime()) ? this._fromNativeDate(date) : null; } /** * Converts a `NcDateStruct` to a native `Date`. */ toModel(date) { return date && isInteger(date.year) && isInteger(date.month) && isInteger(date.day) ? this._toNativeDate(date) : null; } _fromNativeDate(date) { return { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate(), }; } _toNativeDate(date) { const jsDate = new Date(date.year, date.month - 1, date.day, 12); // avoid 30 -> 1930 conversion jsDate.setFullYear(date.year); return jsDate; } } NcDateNativeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcDateNativeAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); NcDateNativeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcDateNativeAdapter }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: NcDateNativeAdapter, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1uYXRpdmUuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1ub3JkaWMtY29vbC9zcmMvbGliL2RhdGVwaWNrZXIvYWRhcHRlcnMvZGF0ZS1uYXRpdmUuYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBR3RELE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxhQUFtQjtJQUMxRDs7T0FFRztJQUNILFNBQVMsQ0FBQyxJQUFpQjtRQUN6QixPQUFPLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLElBQXlCO1FBQy9CLE9BQU8sSUFBSTtZQUNULFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ3BCLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3JCLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1lBQ25CLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztZQUMxQixDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ1gsQ0FBQztJQUVTLGVBQWUsQ0FBQyxJQUFVO1FBQ2xDLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7WUFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7U0FDcEIsQ0FBQztJQUNKLENBQUM7SUFFUyxhQUFhLENBQUMsSUFBa0I7UUFDeEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2pFLDhCQUE4QjtRQUM5QixNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztnSEFuQ1UsbUJBQW1CO29IQUFuQixtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFEL0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzSW50ZWdlciB9IGZyb20gJy4uLy4uL3V0aWxzL3V0aWxzJztcbmltcG9ydCB7IE5jRGF0ZVN0cnVjdCB9IGZyb20gJy4uL2RhdGVwaWNrZXIubW9kZWwnO1xuaW1wb3J0IHsgTmNEYXRlQWRhcHRlciB9IGZyb20gJy4vZGF0ZS1zdHJ1Y3QuYWRhcHRlcic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOY0RhdGVOYXRpdmVBZGFwdGVyIGV4dGVuZHMgTmNEYXRlQWRhcHRlcjxEYXRlPiB7XG4gIC8qKlxuICAgKiBDb252ZXJ0cyBhIG5hdGl2ZSBgRGF0ZWAgdG8gYSBgTmNEYXRlU3RydWN0YC5cbiAgICovXG4gIGZyb21Nb2RlbChkYXRlOiBEYXRlIHwgbnVsbCk6IE5jRGF0ZVN0cnVjdCB8IG51bGwge1xuICAgIHJldHVybiBkYXRlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4oZGF0ZS5nZXRUaW1lKCkpXG4gICAgICA/IHRoaXMuX2Zyb21OYXRpdmVEYXRlKGRhdGUpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgYSBgTmNEYXRlU3RydWN0YCB0byBhIG5hdGl2ZSBgRGF0ZWAuXG4gICAqL1xuICB0b01vZGVsKGRhdGU6IE5jRGF0ZVN0cnVjdCB8IG51bGwpOiBEYXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIGRhdGUgJiZcbiAgICAgIGlzSW50ZWdlcihkYXRlLnllYXIpICYmXG4gICAgICBpc0ludGVnZXIoZGF0ZS5tb250aCkgJiZcbiAgICAgIGlzSW50ZWdlcihkYXRlLmRheSlcbiAgICAgID8gdGhpcy5fdG9OYXRpdmVEYXRlKGRhdGUpXG4gICAgICA6IG51bGw7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2Zyb21OYXRpdmVEYXRlKGRhdGU6IERhdGUpOiBOY0RhdGVTdHJ1Y3Qge1xuICAgIHJldHVybiB7XG4gICAgICB5ZWFyOiBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICBtb250aDogZGF0ZS5nZXRNb250aCgpICsgMSxcbiAgICAgIGRheTogZGF0ZS5nZXREYXRlKCksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfdG9OYXRpdmVEYXRlKGRhdGU6IE5jRGF0ZVN0cnVjdCk6IERhdGUge1xuICAgIGNvbnN0IGpzRGF0ZSA9IG5ldyBEYXRlKGRhdGUueWVhciwgZGF0ZS5tb250aCAtIDEsIGRhdGUuZGF5LCAxMik7XG4gICAgLy8gYXZvaWQgMzAgLT4gMTkzMCBjb252ZXJzaW9uXG4gICAganNEYXRlLnNldEZ1bGxZZWFyKGRhdGUueWVhcik7XG4gICAgcmV0dXJuIGpzRGF0ZTtcbiAgfVxufVxuIl19