@fundamental-ngx/datetime-adapter 0.43.2 → 0.44.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -319,10 +319,10 @@ export class DayjsDatetimeAdapter extends DatetimeAdapter {
319
319
  }
320
320
  return parsed;
321
321
  }
322
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: LOCALE_ID, optional: true }, { token: DAYJS_DATE_TIME_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
323
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter }); }
322
324
  }
323
- DayjsDatetimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: LOCALE_ID, optional: true }, { token: DAYJS_DATE_TIME_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
324
- DayjsDatetimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter });
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
325
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
326
326
  type: Injectable
327
327
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
328
328
  type: Optional
@@ -335,4 +335,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
335
335
  type: Inject,
336
336
  args: [DAYJS_DATE_TIME_ADAPTER_OPTIONS]
337
337
  }] }]; } });
338
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0ZXRpbWUtYWRhcHRlci9zcmMvbGliL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3pFLFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxLQUEyQjtJQUN6RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBT0QsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQzdELGlDQUFpQyxFQUNqQztJQUNJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSx1Q0FBdUM7Q0FDbkQsQ0FDSixDQUFDO0FBRUYsY0FBYztBQUNkLE1BQU0s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QyxTQUFTOzswQkFDNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMsIHsgQ29uZmlnVHlwZSwgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XG5pbXBvcnQgd2Vla09mWWVhciBmcm9tICdkYXlqcy9wbHVnaW4vd2Vla09mWWVhcic7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IGlzQmV0d2VlbiBmcm9tICdkYXlqcy9wbHVnaW4vaXNCZXR3ZWVuJztcbmltcG9ydCBvYmplY3RTdXBwb3J0IGZyb20gJ2RheWpzL3BsdWdpbi9vYmplY3RTdXBwb3J0JztcbmltcG9ydCBsb2NhbGl6ZWRGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsaXplZEZvcm1hdCc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcblxuaW1wb3J0IHsgRGF0ZXRpbWVBZGFwdGVyLCBGZERhdGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGF0ZXRpbWUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmZ1bmN0aW9uIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCBtYXBGbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBBcnJheShsZW5ndGgpKS5tYXAoKF8sIGluZGV4KSA9PiBtYXBGbihpbmRleCkpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERheWpzRGF0ZXRpbWVBZGFwdGVyT3B0aW9ucyB7XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICB1c2VVdGM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgREFZSlNfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYXlqc0RhdGV0aW1lQWRhcHRlck9wdGlvbnM+KFxuICAgICdEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogREFZSlNfREFURV9USU1FX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXG4gICAgfVxuKTtcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlkoKTogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB1c2VVdGM6IGZhbHNlLFxuICAgICAgICBzdHJpY3Q6IGZhbHNlXG4gICAgfTtcbn1cblxuLyoqXG4gKiBEYXRldGltZUFkYXB0ZXIgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gZGF5anMuXG4gKlxuICogVGhpcyB1c2VzIGRheWpzIGFzIGEgZGF0ZSBtb2RlbCBpbnN0YW5jZS5cbiAqIEl0IHJlbGllcyBvbiBkYXlqcyBpbXBsZW1lbnRhdGlvbiBmb3IgZm9ybWF0dGluZyBhbmQgdHJhbnNsYXRpb24gcHVycG9zZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXlqc0RhdGV0aW1lQWRhcHRlciBleHRlbmRzIERhdGV0aW1lQWRhcHRlcjxEYXlqcz4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGF5anNMb2NhbGVEYXRhOiBkYXlqcy5HbG9iYWxMb2NhbGVEYXRhUmV0dXJuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiBEYXRlTG9jYWxlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmcm9tTm93OiB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlSWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zPzogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xuICAgICAgICBkYXlqcy5leHRlbmQod2Vla09mWWVhcik7XG4gICAgICAgIGRheWpzLmV4dGVuZCh1dGMpO1xuICAgICAgICBkYXlqcy5leHRlbmQoaXNCZXR3ZWVuKTtcbiAgICAgICAgZGF5anMuZXh0ZW5kKG9iamVjdFN1cHBvcnQpO1xuICAgICAgICBkYXlqcy5leHRlbmQobG9jYWxpemVkRm9ybWF0KTtcbiAgICAgICAgZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcblxuICAgICAgICB0aGlzLnNldExvY2FsZShsb2NhbGVJZCB8fCBkYXlqcy5sb2NhbGUoKSk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBsb2NhbGUgKi9cbiAgICBzZXRMb2NhbGUobG9jYWxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKGxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSAnZW4tdXMnKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgRW5nbGlzaCBsb2NhbGUgbmFtZSBhcyBpdCdzIGEgZGVmYXVsdCBvbmUgYW5kIGl0IGlzIGRpZmZlcmVudFxuICAgICAgICAgICAgbG9jYWxlID0gJ2VuJztcbiAgICAgICAgfVxuICAgICAgICBkYXlqcy5sb2NhbGUobG9jYWxlKTtcblxuICAgICAgICBpZiAoZGF5anMubG9jYWxlKCkgIT09IGxvY2FsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gbG9hZCBsb2NhbGUgJHtsb2NhbGV9LiBgICtcbiAgICAgICAgICAgICAgICAgICAgJ01ha2Ugc3VyZSBpdCBleGlzdHMgYW5kIGlzIHByZWxvYWRlZC4gU2VlIHRoZSBpbXBvcnRzIGF0IHRoZSB0b3Agb2YgdGhlIGV4YW1wbGUgZmlsZSBhdCAnICtcbiAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1uZ3gvIy9jb3JlL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXInICtcbiAgICAgICAgICAgICAgICAgICAgJ0xpc3Qgb2Ygc3VwcG9ydGVkIGxvY2FsZXMgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9pYW1rdW4vZGF5anMvdHJlZS9kZXYvc3JjL2xvY2FsZS4nXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZGF5anNMb2NhbGVEYXRhID0gZGF5anMubG9jYWxlRGF0YSgpO1xuXG4gICAgICAgIHRoaXMuX2xvY2FsZURhdGEgPSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogdGhpcy5fZGF5anNMb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrKCksXG4gICAgICAgICAgICBsb25nTW9udGhzOiB0aGlzLl9kYXlqc0xvY2FsZURhdGEubW9udGhzKCksXG4gICAgICAgICAgICBzaG9ydE1vbnRoczogdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1vbnRoc1Nob3J0KCksXG4gICAgICAgICAgICBuYXJyb3dNb250aHM6IHRoaXMuX2RheWpzTG9jYWxlRGF0YS5tb250aHMoKS5tYXAoKG5hbWU6IHN0cmluZykgPT4gbmFtZS5jaGFyQXQoMCkpLFxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IHRoaXMuX2RheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxuICAgICAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiB0aGlzLl9kYXlqc0xvY2FsZURhdGEud2Vla2RheXNTaG9ydCgpLFxuICAgICAgICAgICAgbmFycm93RGF5c09mV2VlazogdGhpcy5fZGF5anNMb2NhbGVEYXRhLndlZWtkYXlzTWluKClcbiAgICAgICAgfTtcblxuICAgICAgICBzdXBlci5zZXRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHllYXIgKi9cbiAgICBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUueWVhcigpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbW9udGggKi9cbiAgICBnZXRNb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLm1vbnRoKCkgKyAxO1xuICAgIH1cblxuICAgIC8qKiBHZXQgZGF0ZSAqL1xuICAgIGdldERhdGUoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBkYXkgb2YgdGhlIHdlZWsgKi9cbiAgICBnZXREYXlPZldlZWsoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXkoKSArIDE7XG4gICAgfVxuXG4gICAgLyoqIEdldCBob3VycyAqL1xuICAgIGdldEhvdXJzKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuaG91cigpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbWludXRlcyAqL1xuICAgIGdldE1pbnV0ZXMoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5taW51dGUoKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHNlY29uZHMgKi9cbiAgICBnZXRTZWNvbmRzKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc2Vjb25kKCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBob3VycyBpbiBkYXRlIG9iamVjdCAqL1xuICAgIHNldEhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5ob3VyKGhvdXJzKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IG1pbnV0ZXMgaW4gZGF0ZSBvYmplY3QgKi9cbiAgICBzZXRNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLm1pbnV0ZShtaW51dGVzKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHNlY29uZHMgaW4gZGF0ZSBvYmplY3QgKi9cbiAgICBzZXRTZWNvbmRzKGRhdGU6IERheWpzLCBzZWNvbmRzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLnNlY29uZChzZWNvbmRzKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHdlZWsgbnVtYmVyICovXG4gICAgZ2V0V2Vla051bWJlcihkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLndlZWsoKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IG1vbnRocyBuYW1lcyAqL1xuICAgIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnbmFycm93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dNb250aHM7XG4gICAgICAgICAgICBjYXNlICdzaG9ydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnRNb250aHM7XG4gICAgICAgICAgICBjYXNlICdsb25nJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubG9uZ01vbnRocztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgZGF0ZSBuYW1lcyAqL1xuICAgIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiByYW5nZSgzMSwgKGkpID0+IHRoaXMuY3JlYXRlRGF0ZSgyMDE3LCAwLCBpICsgMSkuZm9ybWF0KCdEJykpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgZGF5cyBvZiB3ZWVrIG5hbWVzICovXG4gICAgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnbmFycm93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xuICAgICAgICAgICAgY2FzZSAnc2hvcnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLnNob3J0RGF5c09mV2VlaztcbiAgICAgICAgICAgIGNhc2UgJ2xvbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5sb25nRGF5c09mV2VlaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgeWVhciBuYW1lICovXG4gICAgZ2V0WWVhck5hbWUoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGF0ZS5mb3JtYXQoJ1lZWVknKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHdlZWsgbmFtZSAqL1xuICAgIGdldFdlZWtOYW1lKGRhdGU6IERheWpzKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGUud2VlaygpLnRvTG9jYWxlU3RyaW5nKHRoaXMubG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IGhvdXIgbmFtZXMgKi9cbiAgICBnZXRIb3VyTmFtZXMoeyBtZXJpZGlhbiwgdHdvRGlnaXQgfTogeyB0d29EaWdpdDogYm9vbGVhbjsgbWVyaWRpYW46IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZm9ybWF0OiBzdHJpbmcgPSBtZXJpZGlhbiA/ICh0d29EaWdpdCA/ICdoaCcgOiAnaCcpIDogdHdvRGlnaXQgPyAnSEgnIDogJ0gnO1xuICAgICAgICBjb25zdCBkYXlqc0RhdGUgPSB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UoMjQsIChpKSA9PiB0aGlzLmNsb25lKGRheWpzRGF0ZSkuaG91cihpKS5mb3JtYXQoZm9ybWF0KSk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBtaW51dGUgbmFtZXMgKi9cbiAgICBnZXRNaW51dGVOYW1lcyh7IHR3b0RpZ2l0IH06IHsgdHdvRGlnaXQ6IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZm9ybWF0OiBzdHJpbmcgPSB0d29EaWdpdCA/ICdtbScgOiAnbSc7XG4gICAgICAgIGNvbnN0IGRheWpzRGF0ZSA9IHRoaXMuX2NyZWF0ZURheWpzRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiByYW5nZSg2MCwgKGkpID0+IHRoaXMuY2xvbmUoZGF5anNEYXRlKS5taW51dGUoaSkuZm9ybWF0KGZvcm1hdCkpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgc2Vjb25kIG5hbWVzICovXG4gICAgZ2V0U2Vjb25kTmFtZXMoeyB0d29EaWdpdCB9OiB7IHR3b0RpZ2l0OiBib29sZWFuIH0pOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdDogc3RyaW5nID0gdHdvRGlnaXQgPyAnc3MnIDogJ3MnO1xuICAgICAgICBjb25zdCBkYXlqc0RhdGUgPSB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UoNjAsIChpKSA9PiB0aGlzLmNsb25lKGRheWpzRGF0ZSkuc2Vjb25kKGkpLmZvcm1hdChmb3JtYXQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGRheSBwZXJpb2QgbmFtZXNcbiAgICAgKiBAcGFyYW0gaXNMb3dlciByZXNwb25zaWJsZSBmb3IgdGhlIGxvd2VyIGFuZCB1cHBlciBjYXNlcyBvZiB0aGUgcmVzdWx0XG4gICAgICovXG4gICAgZ2V0RGF5UGVyaW9kTmFtZXMoaXNMb3dlciA9IGZhbHNlKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgICAgIGNvbnN0IEFNID0gdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1lcmlkaWVtPy4oNiwgMCwgaXNMb3dlcikgPz8gKGlzTG93ZXIgPyAnYW0nIDogJ0FNJyk7XG4gICAgICAgIGNvbnN0IFBNID0gdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1lcmlkaWVtPy4oMTYsIDAsIGlzTG93ZXIpID8/IChpc0xvd2VyID8gJ3BtJyA6ICdQTScpO1xuXG4gICAgICAgIHJldHVybiBbQU0sIFBNXTtcbiAgICB9XG5cbiAgICAvKiogR2V0IGZpcnN0IGRheSBvZiB0aGUgd2VlayAqL1xuICAgIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbnVtYmVyIG9mIGRheXMgaW4gdGhlIG1vbnRoICovXG4gICAgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXlzSW5Nb250aCgpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgYSBzdHJpbmcgdG8gYSBkYXRlIG9iamVjdCAqL1xuICAgIHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBzdHJpbmcgPSAnJyk6IERheWpzIHwgbnVsbCB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF5anNEYXRlKHZhbHVlLCBwYXJzZUZvcm1hdCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGZERhdGUpIHtcbiAgICAgICAgICAgIC8vIEZkRGF0ZSBpbnN0YW5jZSBtYXkgYmUgaW5jb3JyZWN0bHkgcGFyc2VkIGJ5IERheUpTXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLl9jcmVhdGVEYXlqc0RhdGUodmFsdWUpLmxvY2FsZSh0aGlzLmxvY2FsZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBGb3JtYXQgYSBkYXRlIGFzIGEgc3RyaW5nICovXG4gICAgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignRGF5anNEYXRlVGltZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUubG9jYWxlKGRheWpzLmxvY2FsZSgpKS5mb3JtYXQoZGlzcGxheUZvcm1hdCk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBkYXRlIG9iamVjdCBmcm9tIHZhbHVlcyAqL1xuICAgIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2NyZWF0ZURheWpzRGF0ZShuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRhdGUpKTtcblxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiIGFuZCB5ZWFyIFwiJHt5ZWFyfVwiLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRvZGF5ICovXG4gICAgdG9kYXkoKTogRGF5anMge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF5anNEYXRlKCkubG9jYWxlKHRoaXMubG9jYWxlKS5zdGFydE9mKCdkYXknKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IG5vdyAqL1xuICAgIG5vdygpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKS5sb2NhbGUodGhpcy5sb2NhbGUpO1xuICAgIH1cblxuICAgIC8qKiBBZGQgeWVhcnMgdG8gZGF0ZSAqL1xuICAgIGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogRGF5anMsIHllYXJzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLmFkZCh5ZWFycywgJ3llYXInKTtcbiAgICB9XG5cbiAgICAvKiogQWRkIG1vbnRocyB0byBkYXRlICovXG4gICAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5hZGQobW9udGhzLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICAvKiogQWRkIGRheXMgdG8gZGF0ZSAqL1xuICAgIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoZGF5cywgJ2RheScpO1xuICAgIH1cblxuICAgIC8qKiBDbG9uZSBkYXRlICovXG4gICAgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmNsb25lKCkubG9jYWxlKHRoaXMubG9jYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRlLmNsb25lKCk7XG4gICAgfVxuXG4gICAgLyoqIENvbXBhcmUgaWYgZGF0ZXMgYXJlIGVxdWFsICovXG4gICAgZGF0ZXNFcXVhbChkYXRlMTogRGF5anMsIGRhdGUyOiBEYXlqcyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUxLmlzU2FtZShkYXRlMiwgJ2RheScpO1xuICAgIH1cblxuICAgIC8qKiBDb21wYXJlIGlmIGRhdGVzIGFuZCB0aW1lIGFyZSBlcXVhbCAqL1xuICAgIGRhdGVUaW1lc0VxdWFsKGRhdGUxOiBEYXlqcywgZGF0ZTI6IERheWpzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZGF0ZTEgfHwgIWRhdGUyKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0ZTEuaXNTYW1lKGRhdGUyKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgZGF0ZSBpcyBpbiByYW5nZSAqL1xuICAgIGlzQmV0d2VlbihkYXRlVG9DaGVjazogRGF5anMsIHN0YXJ0RGF0ZTogRGF5anMsIGVuZERhdGU6IERheWpzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZGF0ZVRvQ2hlY2sgfHwgIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGVUb0NoZWNrLmlzQmV0d2VlbihzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiBkYXRlIGlzIHZhbGlkIGRhdGUgb2JqZWN0ICovXG4gICAgaXNWYWxpZChkYXRlOiBOdWxsYWJsZTxEYXlqcz4pOiBkYXRlIGlzIERheWpzIHtcbiAgICAgICAgcmV0dXJuICEhZGF0ZT8uaXNWYWxpZCgpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGRhdGUgdG8gSVNPODYwMSBzdHJpbmcgKi9cbiAgICB0b0lzbzg2MDEoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aW1lIGZvcm1hdCBpbmNsdWRlcyBkYXkgcGVyaW9kICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNEYXlQZXJpb2QoZGlzcGxheUZvcm1hdDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX3ByZXBhcmVGb3JtYXQoZGlzcGxheUZvcm1hdCk7XG5cbiAgICAgICAgcmV0dXJuICEhZm9ybWF0Lm1hdGNoKC9bYUFdLyk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRpbWUgZm9ybWF0IGluY2x1ZGVzIGhvdXJzICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNIb3VycyhkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gdGhpcy5fcHJlcGFyZUZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcblxuICAgICAgICByZXR1cm4gISFmb3JtYXQubWF0Y2goL1toSF0vKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgdGltZSBmb3JtYXQgaW5jbHVkZXMgbWludXRlcyAqL1xuICAgIGlzVGltZUZvcm1hdEluY2x1ZGVzTWludXRlcyhkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gdGhpcy5fcHJlcGFyZUZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcblxuICAgICAgICByZXR1cm4gISFmb3JtYXQubWF0Y2goL1ttXS8pO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aW1lIGZvcm1hdCBpbmNsdWRlcyBzZWNvbmRzICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNTZWNvbmRzKGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLl9wcmVwYXJlRm9ybWF0KGRpc3BsYXlGb3JtYXQpO1xuXG4gICAgICAgIHJldHVybiAhIWZvcm1hdC5tYXRjaCgvW3NdLyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHdpbGwgYXR0ZW1wdCB0byBwYXJzZSBsb25nRGF0YUZvcm1hdCAoZS5nLiBcIkxcIiwgXCJMVFwiKSBhbmQgY29udmVydCBpdCB0byBzaW1wbGUgb25lLlxuICAgICAqL1xuICAgIF9wcmVwYXJlRm9ybWF0KGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGRpc3BsYXlGb3JtYXQgPSBkaXNwbGF5Rm9ybWF0LnRyaW0oKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHM6IG9iamVjdCA9IGRheWpzLkxzW2RheWpzLmxvY2FsZSgpXS5mb3JtYXRzO1xuICAgICAgICAgICAgLy8gdGhpcyBpcyB0aGUgcmVndWxhciBleHByZXNzaW9uIHRvIHBhcnNlIGZvcm1hdCB0YWtlbiBmcm9tIGRheWpzIHJlcG9cbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9pYW1rdW4vZGF5anMvYmxvYi9kZXYvc3JjL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQvdXRpbHMuanNcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Rm9ybWF0LnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgLyhcXFtbXlxcXV0rXSl8KExUUz98bHsxLDR9fEx7MSw0fSkvZyxcbiAgICAgICAgICAgICAgICAoXywgYSwgYikgPT4gYSB8fCBmb3JtYXRzW2JdIHx8IGRpc3BsYXlGb3JtYXRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Rm9ybWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY3JlYXRlRGF5anNEYXRlKGRhdGU/OiBDb25maWdUeXBlLCBmb3JtYXQ/OiBzdHJpbmcpOiBEYXlqcyB7XG4gICAgICAgIGNvbnN0IHsgc3RyaWN0LCB1c2VVdGMgfTogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zID0gdGhpcy5fb3B0aW9ucyB8fCB7fTtcblxuICAgICAgICBjb25zdCBtZXRob2QgPSB1c2VVdGMgPyBkYXlqcy51dGMgOiBkYXlqcztcbiAgICAgICAgbGV0IHBhcnNlZCA9IG1ldGhvZChkYXRlLCBmb3JtYXQsIHN0cmljdCk7XG4gICAgICAgIC8vIGRheWpzIHN0cmljdGx5IGZvbGxvd3MgdGhlIHByb3ZpZGVkIGZvcm1hdFxuICAgICAgICAvLyBzbyBwYXJ0aWFsIHN0cmluZ3Mgd2lsbCBub3QgYmUgcmVzb2x2ZWQuIGluIHRoaXMgY2FzZSBhdHRlbXB0IHRvIHJlc29sdmUgd2l0aG91dCBmb3JtYXR0aW5nXG4gICAgICAgIGlmICghcGFyc2VkPy5pc1ZhbGlkKCkgJiYgIXN0cmljdCAmJiBmb3JtYXQpIHtcbiAgICAgICAgICAgIHBhcnNlZCA9IG1ldGhvZChkYXRlLCB1bmRlZmluZWQsIHN0cmljdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICB9XG59XG5cbmludGVyZmFjZSBEYXRlTG9jYWxlIHtcbiAgICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xuICAgIGxvbmdNb250aHM6IHN0cmluZ1tdO1xuICAgIHNob3J0TW9udGhzOiBzdHJpbmdbXTtcbiAgICBuYXJyb3dNb250aHM6IHN0cmluZ1tdO1xuICAgIGxvbmdEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcbiAgICBzaG9ydERheXNPZldlZWs6IHN0cmluZ1tdO1xuICAgIG5hcnJvd0RheXNPZldlZWs6IHN0cmluZ1tdO1xufVxuIl19
338
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvZGF0ZXRpbWUtYWRhcHRlci9zcmMvbGliL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxLQUE0QixNQUFNLE9BQU8sQ0FBQztBQUNqRCxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLFVBQVUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRCxPQUFPLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQztBQUNuQyxPQUFPLFNBQVMsTUFBTSx3QkFBd0IsQ0FBQztBQUMvQyxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RCxPQUFPLGVBQWUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLGlCQUFpQixNQUFNLGdDQUFnQyxDQUFDO0FBRS9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBR3pFLFNBQVMsS0FBSyxDQUFJLE1BQWMsRUFBRSxLQUEyQjtJQUN6RCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztBQUN6RSxDQUFDO0FBT0QsTUFBTSxDQUFDLE1BQU0sK0JBQStCLEdBQUcsSUFBSSxjQUFjLENBQzdELGlDQUFpQyxFQUNqQztJQUNJLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSx1Q0FBdUM7Q0FDbkQsQ0FDSixDQUFDO0FBRUYsY0FBYztBQUNkLE1BQU0s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QyxTQUFTOzswQkFDNUIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBMT0NBTEVfSUQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgZGF5anMsIHsgQ29uZmlnVHlwZSwgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgbG9jYWxlRGF0YSBmcm9tICdkYXlqcy9wbHVnaW4vbG9jYWxlRGF0YSc7XG5pbXBvcnQgd2Vla09mWWVhciBmcm9tICdkYXlqcy9wbHVnaW4vd2Vla09mWWVhcic7XG5pbXBvcnQgdXRjIGZyb20gJ2RheWpzL3BsdWdpbi91dGMnO1xuaW1wb3J0IGlzQmV0d2VlbiBmcm9tICdkYXlqcy9wbHVnaW4vaXNCZXR3ZWVuJztcbmltcG9ydCBvYmplY3RTdXBwb3J0IGZyb20gJ2RheWpzL3BsdWdpbi9vYmplY3RTdXBwb3J0JztcbmltcG9ydCBsb2NhbGl6ZWRGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2xvY2FsaXplZEZvcm1hdCc7XG5pbXBvcnQgY3VzdG9tUGFyc2VGb3JtYXQgZnJvbSAnZGF5anMvcGx1Z2luL2N1c3RvbVBhcnNlRm9ybWF0JztcblxuaW1wb3J0IHsgRGF0ZXRpbWVBZGFwdGVyLCBGZERhdGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGF0ZXRpbWUnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5cbmZ1bmN0aW9uIHJhbmdlPFQ+KGxlbmd0aDogbnVtYmVyLCBtYXBGbjogKGluZGV4OiBudW1iZXIpID0+IFQpOiBUW10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKG5ldyBBcnJheShsZW5ndGgpKS5tYXAoKF8sIGluZGV4KSA9PiBtYXBGbihpbmRleCkpO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERheWpzRGF0ZXRpbWVBZGFwdGVyT3B0aW9ucyB7XG4gICAgc3RyaWN0PzogYm9vbGVhbjtcbiAgICB1c2VVdGM/OiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgREFZSlNfREFURV9USU1FX0FEQVBURVJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYXlqc0RhdGV0aW1lQWRhcHRlck9wdGlvbnM+KFxuICAgICdEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TJyxcbiAgICB7XG4gICAgICAgIHByb3ZpZGVkSW46ICdyb290JyxcbiAgICAgICAgZmFjdG9yeTogREFZSlNfREFURV9USU1FX0FEQVBURVJfT1BUSU9OU19GQUNUT1JZXG4gICAgfVxuKTtcblxuLyoqIEBoaWRkZW4gKi9cbmV4cG9ydCBmdW5jdGlvbiBEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TX0ZBQ1RPUlkoKTogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zIHtcbiAgICByZXR1cm4ge1xuICAgICAgICB1c2VVdGM6IGZhbHNlLFxuICAgICAgICBzdHJpY3Q6IGZhbHNlXG4gICAgfTtcbn1cblxuLyoqXG4gKiBEYXRldGltZUFkYXB0ZXIgaW1wbGVtZW50YXRpb24gYmFzZWQgb24gZGF5anMuXG4gKlxuICogVGhpcyB1c2VzIGRheWpzIGFzIGEgZGF0ZSBtb2RlbCBpbnN0YW5jZS5cbiAqIEl0IHJlbGllcyBvbiBkYXlqcyBpbXBsZW1lbnRhdGlvbiBmb3IgZm9ybWF0dGluZyBhbmQgdHJhbnNsYXRpb24gcHVycG9zZXMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYXlqc0RhdGV0aW1lQWRhcHRlciBleHRlbmRzIERhdGV0aW1lQWRhcHRlcjxEYXlqcz4ge1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZGF5anNMb2NhbGVEYXRhOiBkYXlqcy5HbG9iYWxMb2NhbGVEYXRhUmV0dXJuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9sb2NhbGVEYXRhOiBEYXRlTG9jYWxlO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBmcm9tTm93OiB1bmRlZmluZWQ7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KExPQ0FMRV9JRCkgbG9jYWxlSWQ6IHN0cmluZyxcbiAgICAgICAgQE9wdGlvbmFsKCkgQEluamVjdChEQVlKU19EQVRFX1RJTUVfQURBUFRFUl9PUFRJT05TKSBwcml2YXRlIF9vcHRpb25zPzogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgZGF5anMuZXh0ZW5kKGxvY2FsZURhdGEpO1xuICAgICAgICBkYXlqcy5leHRlbmQod2Vla09mWWVhcik7XG4gICAgICAgIGRheWpzLmV4dGVuZCh1dGMpO1xuICAgICAgICBkYXlqcy5leHRlbmQoaXNCZXR3ZWVuKTtcbiAgICAgICAgZGF5anMuZXh0ZW5kKG9iamVjdFN1cHBvcnQpO1xuICAgICAgICBkYXlqcy5leHRlbmQobG9jYWxpemVkRm9ybWF0KTtcbiAgICAgICAgZGF5anMuZXh0ZW5kKGN1c3RvbVBhcnNlRm9ybWF0KTtcblxuICAgICAgICB0aGlzLnNldExvY2FsZShsb2NhbGVJZCB8fCBkYXlqcy5sb2NhbGUoKSk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBsb2NhbGUgKi9cbiAgICBzZXRMb2NhbGUobG9jYWxlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKGxvY2FsZS50b0xvd2VyQ2FzZSgpID09PSAnZW4tdXMnKSB7XG4gICAgICAgICAgICAvLyBIYW5kbGUgRW5nbGlzaCBsb2NhbGUgbmFtZSBhcyBpdCdzIGEgZGVmYXVsdCBvbmUgYW5kIGl0IGlzIGRpZmZlcmVudFxuICAgICAgICAgICAgbG9jYWxlID0gJ2VuJztcbiAgICAgICAgfVxuICAgICAgICBkYXlqcy5sb2NhbGUobG9jYWxlKTtcblxuICAgICAgICBpZiAoZGF5anMubG9jYWxlKCkgIT09IGxvY2FsZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICAgIGBGYWlsZWQgdG8gbG9hZCBsb2NhbGUgJHtsb2NhbGV9LiBgICtcbiAgICAgICAgICAgICAgICAgICAgJ01ha2Ugc3VyZSBpdCBleGlzdHMgYW5kIGlzIHByZWxvYWRlZC4gU2VlIHRoZSBpbXBvcnRzIGF0IHRoZSB0b3Agb2YgdGhlIGV4YW1wbGUgZmlsZSBhdCAnICtcbiAgICAgICAgICAgICAgICAgICAgJ2h0dHBzOi8vc2FwLmdpdGh1Yi5pby9mdW5kYW1lbnRhbC1uZ3gvIy9jb3JlL2RheWpzLWRhdGV0aW1lLWFkYXB0ZXInICtcbiAgICAgICAgICAgICAgICAgICAgJ0xpc3Qgb2Ygc3VwcG9ydGVkIGxvY2FsZXMgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9pYW1rdW4vZGF5anMvdHJlZS9kZXYvc3JjL2xvY2FsZS4nXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fZGF5anNMb2NhbGVEYXRhID0gZGF5anMubG9jYWxlRGF0YSgpO1xuXG4gICAgICAgIHRoaXMuX2xvY2FsZURhdGEgPSB7XG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogdGhpcy5fZGF5anNMb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrKCksXG4gICAgICAgICAgICBsb25nTW9udGhzOiB0aGlzLl9kYXlqc0xvY2FsZURhdGEubW9udGhzKCksXG4gICAgICAgICAgICBzaG9ydE1vbnRoczogdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1vbnRoc1Nob3J0KCksXG4gICAgICAgICAgICBuYXJyb3dNb250aHM6IHRoaXMuX2RheWpzTG9jYWxlRGF0YS5tb250aHMoKS5tYXAoKG5hbWU6IHN0cmluZykgPT4gbmFtZS5jaGFyQXQoMCkpLFxuICAgICAgICAgICAgbG9uZ0RheXNPZldlZWs6IHRoaXMuX2RheWpzTG9jYWxlRGF0YS53ZWVrZGF5cygpLFxuICAgICAgICAgICAgc2hvcnREYXlzT2ZXZWVrOiB0aGlzLl9kYXlqc0xvY2FsZURhdGEud2Vla2RheXNTaG9ydCgpLFxuICAgICAgICAgICAgbmFycm93RGF5c09mV2VlazogdGhpcy5fZGF5anNMb2NhbGVEYXRhLndlZWtkYXlzTWluKClcbiAgICAgICAgfTtcblxuICAgICAgICBzdXBlci5zZXRMb2NhbGUobG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHllYXIgKi9cbiAgICBnZXRZZWFyKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUueWVhcigpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbW9udGggKi9cbiAgICBnZXRNb250aChkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLm1vbnRoKCkgKyAxO1xuICAgIH1cblxuICAgIC8qKiBHZXQgZGF0ZSAqL1xuICAgIGdldERhdGUoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBkYXkgb2YgdGhlIHdlZWsgKi9cbiAgICBnZXREYXlPZldlZWsoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXkoKSArIDE7XG4gICAgfVxuXG4gICAgLyoqIEdldCBob3VycyAqL1xuICAgIGdldEhvdXJzKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuaG91cigpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbWludXRlcyAqL1xuICAgIGdldE1pbnV0ZXMoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5taW51dGUoKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHNlY29uZHMgKi9cbiAgICBnZXRTZWNvbmRzKGRhdGU6IERheWpzKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIGRhdGUuc2Vjb25kKCk7XG4gICAgfVxuXG4gICAgLyoqIFNldCBob3VycyBpbiBkYXRlIG9iamVjdCAqL1xuICAgIHNldEhvdXJzKGRhdGU6IERheWpzLCBob3VyczogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5ob3VyKGhvdXJzKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IG1pbnV0ZXMgaW4gZGF0ZSBvYmplY3QgKi9cbiAgICBzZXRNaW51dGVzKGRhdGU6IERheWpzLCBtaW51dGVzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLm1pbnV0ZShtaW51dGVzKTtcbiAgICB9XG5cbiAgICAvKiogU2V0IHNlY29uZHMgaW4gZGF0ZSBvYmplY3QgKi9cbiAgICBzZXRTZWNvbmRzKGRhdGU6IERheWpzLCBzZWNvbmRzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLnNlY29uZChzZWNvbmRzKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHdlZWsgbnVtYmVyICovXG4gICAgZ2V0V2Vla051bWJlcihkYXRlOiBEYXlqcyk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBkYXRlLndlZWsoKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IG1vbnRocyBuYW1lcyAqL1xuICAgIGdldE1vbnRoTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnbmFycm93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dNb250aHM7XG4gICAgICAgICAgICBjYXNlICdzaG9ydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEuc2hvcnRNb250aHM7XG4gICAgICAgICAgICBjYXNlICdsb25nJzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2xvY2FsZURhdGEubG9uZ01vbnRocztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgZGF0ZSBuYW1lcyAqL1xuICAgIGdldERhdGVOYW1lcygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiByYW5nZSgzMSwgKGkpID0+IHRoaXMuY3JlYXRlRGF0ZSgyMDE3LCAwLCBpICsgMSkuZm9ybWF0KCdEJykpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgZGF5cyBvZiB3ZWVrIG5hbWVzICovXG4gICAgZ2V0RGF5T2ZXZWVrTmFtZXMoc3R5bGU6ICdsb25nJyB8ICdzaG9ydCcgfCAnbmFycm93Jyk6IHN0cmluZ1tdIHtcbiAgICAgICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgICAgICAgY2FzZSAnbmFycm93JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5uYXJyb3dEYXlzT2ZXZWVrO1xuICAgICAgICAgICAgY2FzZSAnc2hvcnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLnNob3J0RGF5c09mV2VlaztcbiAgICAgICAgICAgIGNhc2UgJ2xvbmcnOlxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbG9jYWxlRGF0YS5sb25nRGF5c09mV2VlaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBHZXQgeWVhciBuYW1lICovXG4gICAgZ2V0WWVhck5hbWUoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGF0ZS5mb3JtYXQoJ1lZWVknKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IHdlZWsgbmFtZSAqL1xuICAgIGdldFdlZWtOYW1lKGRhdGU6IERheWpzKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGRhdGUud2VlaygpLnRvTG9jYWxlU3RyaW5nKHRoaXMubG9jYWxlKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IGhvdXIgbmFtZXMgKi9cbiAgICBnZXRIb3VyTmFtZXMoeyBtZXJpZGlhbiwgdHdvRGlnaXQgfTogeyB0d29EaWdpdDogYm9vbGVhbjsgbWVyaWRpYW46IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZm9ybWF0OiBzdHJpbmcgPSBtZXJpZGlhbiA/ICh0d29EaWdpdCA/ICdoaCcgOiAnaCcpIDogdHdvRGlnaXQgPyAnSEgnIDogJ0gnO1xuICAgICAgICBjb25zdCBkYXlqc0RhdGUgPSB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UoMjQsIChpKSA9PiB0aGlzLmNsb25lKGRheWpzRGF0ZSkuaG91cihpKS5mb3JtYXQoZm9ybWF0KSk7XG4gICAgfVxuXG4gICAgLyoqIEdldCBtaW51dGUgbmFtZXMgKi9cbiAgICBnZXRNaW51dGVOYW1lcyh7IHR3b0RpZ2l0IH06IHsgdHdvRGlnaXQ6IGJvb2xlYW4gfSk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgZm9ybWF0OiBzdHJpbmcgPSB0d29EaWdpdCA/ICdtbScgOiAnbSc7XG4gICAgICAgIGNvbnN0IGRheWpzRGF0ZSA9IHRoaXMuX2NyZWF0ZURheWpzRGF0ZSgpO1xuXG4gICAgICAgIHJldHVybiByYW5nZSg2MCwgKGkpID0+IHRoaXMuY2xvbmUoZGF5anNEYXRlKS5taW51dGUoaSkuZm9ybWF0KGZvcm1hdCkpO1xuICAgIH1cblxuICAgIC8qKiBHZXQgc2Vjb25kIG5hbWVzICovXG4gICAgZ2V0U2Vjb25kTmFtZXMoeyB0d29EaWdpdCB9OiB7IHR3b0RpZ2l0OiBib29sZWFuIH0pOiBzdHJpbmdbXSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdDogc3RyaW5nID0gdHdvRGlnaXQgPyAnc3MnIDogJ3MnO1xuICAgICAgICBjb25zdCBkYXlqc0RhdGUgPSB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKTtcblxuICAgICAgICByZXR1cm4gcmFuZ2UoNjAsIChpKSA9PiB0aGlzLmNsb25lKGRheWpzRGF0ZSkuc2Vjb25kKGkpLmZvcm1hdChmb3JtYXQpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgR2V0IGRheSBwZXJpb2QgbmFtZXNcbiAgICAgKiBAcGFyYW0gaXNMb3dlciByZXNwb25zaWJsZSBmb3IgdGhlIGxvd2VyIGFuZCB1cHBlciBjYXNlcyBvZiB0aGUgcmVzdWx0XG4gICAgICovXG4gICAgZ2V0RGF5UGVyaW9kTmFtZXMoaXNMb3dlciA9IGZhbHNlKTogW3N0cmluZywgc3RyaW5nXSB7XG4gICAgICAgIGNvbnN0IEFNID0gdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1lcmlkaWVtPy4oNiwgMCwgaXNMb3dlcikgPz8gKGlzTG93ZXIgPyAnYW0nIDogJ0FNJyk7XG4gICAgICAgIGNvbnN0IFBNID0gdGhpcy5fZGF5anNMb2NhbGVEYXRhLm1lcmlkaWVtPy4oMTYsIDAsIGlzTG93ZXIpID8/IChpc0xvd2VyID8gJ3BtJyA6ICdQTScpO1xuXG4gICAgICAgIHJldHVybiBbQU0sIFBNXTtcbiAgICB9XG5cbiAgICAvKiogR2V0IGZpcnN0IGRheSBvZiB0aGUgd2VlayAqL1xuICAgIGdldEZpcnN0RGF5T2ZXZWVrKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sb2NhbGVEYXRhLmZpcnN0RGF5T2ZXZWVrO1xuICAgIH1cblxuICAgIC8qKiBHZXQgbnVtYmVyIG9mIGRheXMgaW4gdGhlIG1vbnRoICovXG4gICAgZ2V0TnVtRGF5c0luTW9udGgoZGF0ZTogRGF5anMpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gZGF0ZS5kYXlzSW5Nb250aCgpO1xuICAgIH1cblxuICAgIC8qKiBUcnkgdG8gcGFyc2UgYSBzdHJpbmcgdG8gYSBkYXRlIG9iamVjdCAqL1xuICAgIHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBzdHJpbmcgPSAnJyk6IERheWpzIHwgbnVsbCB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF5anNEYXRlKHZhbHVlLCBwYXJzZUZvcm1hdCk7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgaW5zdGFuY2VvZiBGZERhdGUpIHtcbiAgICAgICAgICAgIC8vIEZkRGF0ZSBpbnN0YW5jZSBtYXkgYmUgaW5jb3JyZWN0bHkgcGFyc2VkIGJ5IERheUpTXG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnRvU3RyaW5nKCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsdWUgPyB0aGlzLl9jcmVhdGVEYXlqc0RhdGUodmFsdWUpLmxvY2FsZSh0aGlzLmxvY2FsZSkgOiBudWxsO1xuICAgIH1cblxuICAgIC8qKiBGb3JtYXQgYSBkYXRlIGFzIGEgc3RyaW5nICovXG4gICAgZm9ybWF0KGRhdGU6IERheWpzLCBkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIWRhdGUpIHtcbiAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc1ZhbGlkKGRhdGUpKSB7XG4gICAgICAgICAgICB0aHJvdyBFcnJvcignRGF5anNEYXRlVGltZUFkYXB0ZXI6IENhbm5vdCBmb3JtYXQgaW52YWxpZCBkYXRlLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUubG9jYWxlKGRheWpzLmxvY2FsZSgpKS5mb3JtYXQoZGlzcGxheUZvcm1hdCk7XG4gICAgfVxuXG4gICAgLyoqIENyZWF0ZSBkYXRlIG9iamVjdCBmcm9tIHZhbHVlcyAqL1xuICAgIGNyZWF0ZURhdGUoeWVhcjogbnVtYmVyLCBtb250aDogbnVtYmVyLCBkYXRlOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2NyZWF0ZURheWpzRGF0ZShuZXcgRGF0ZSh5ZWFyLCBtb250aCAtIDEsIGRhdGUpKTtcblxuICAgICAgICBpZiAoIXJlc3VsdC5pc1ZhbGlkKCkpIHtcbiAgICAgICAgICAgIHRocm93IEVycm9yKGBJbnZhbGlkIGRhdGUgXCIke2RhdGV9XCIgZm9yIG1vbnRoIHdpdGggaW5kZXggXCIke21vbnRofVwiIGFuZCB5ZWFyIFwiJHt5ZWFyfVwiLmApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKiogR2V0IHRvZGF5ICovXG4gICAgdG9kYXkoKTogRGF5anMge1xuICAgICAgICByZXR1cm4gdGhpcy5fY3JlYXRlRGF5anNEYXRlKCkubG9jYWxlKHRoaXMubG9jYWxlKS5zdGFydE9mKCdkYXknKTtcbiAgICB9XG5cbiAgICAvKiogR2V0IG5vdyAqL1xuICAgIG5vdygpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jcmVhdGVEYXlqc0RhdGUoKS5sb2NhbGUodGhpcy5sb2NhbGUpO1xuICAgIH1cblxuICAgIC8qKiBBZGQgeWVhcnMgdG8gZGF0ZSAqL1xuICAgIGFkZENhbGVuZGFyWWVhcnMoZGF0ZTogRGF5anMsIHllYXJzOiBudW1iZXIpOiBEYXlqcyB7XG4gICAgICAgIHJldHVybiBkYXRlLmFkZCh5ZWFycywgJ3llYXInKTtcbiAgICB9XG5cbiAgICAvKiogQWRkIG1vbnRocyB0byBkYXRlICovXG4gICAgYWRkQ2FsZW5kYXJNb250aHMoZGF0ZTogRGF5anMsIG1vbnRoczogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5hZGQobW9udGhzLCAnbW9udGgnKTtcbiAgICB9XG5cbiAgICAvKiogQWRkIGRheXMgdG8gZGF0ZSAqL1xuICAgIGFkZENhbGVuZGFyRGF5cyhkYXRlOiBEYXlqcywgZGF5czogbnVtYmVyKTogRGF5anMge1xuICAgICAgICByZXR1cm4gZGF0ZS5hZGQoZGF5cywgJ2RheScpO1xuICAgIH1cblxuICAgIC8qKiBDbG9uZSBkYXRlICovXG4gICAgY2xvbmUoZGF0ZTogRGF5anMpOiBEYXlqcyB7XG4gICAgICAgIGlmICghZGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5sb2NhbGUpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRlLmNsb25lKCkubG9jYWxlKHRoaXMubG9jYWxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBkYXRlLmNsb25lKCk7XG4gICAgfVxuXG4gICAgLyoqIENvbXBhcmUgaWYgZGF0ZXMgYXJlIGVxdWFsICovXG4gICAgZGF0ZXNFcXVhbChkYXRlMTogRGF5anMsIGRhdGUyOiBEYXlqcyk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIWRhdGUxIHx8ICFkYXRlMikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGUxLmlzU2FtZShkYXRlMiwgJ2RheScpO1xuICAgIH1cblxuICAgIC8qKiBDb21wYXJlIGlmIGRhdGVzIGFuZCB0aW1lIGFyZSBlcXVhbCAqL1xuICAgIGRhdGVUaW1lc0VxdWFsKGRhdGUxOiBEYXlqcywgZGF0ZTI6IERheWpzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZGF0ZTEgfHwgIWRhdGUyKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0ZTEuaXNTYW1lKGRhdGUyKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgZGF0ZSBpcyBpbiByYW5nZSAqL1xuICAgIGlzQmV0d2VlbihkYXRlVG9DaGVjazogRGF5anMsIHN0YXJ0RGF0ZTogRGF5anMsIGVuZERhdGU6IERheWpzKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghZGF0ZVRvQ2hlY2sgfHwgIXN0YXJ0RGF0ZSB8fCAhZW5kRGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGRhdGVUb0NoZWNrLmlzQmV0d2VlbihzdGFydERhdGUsIGVuZERhdGUpO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiBkYXRlIGlzIHZhbGlkIGRhdGUgb2JqZWN0ICovXG4gICAgaXNWYWxpZChkYXRlOiBOdWxsYWJsZTxEYXlqcz4pOiBkYXRlIGlzIERheWpzIHtcbiAgICAgICAgcmV0dXJuICEhZGF0ZT8uaXNWYWxpZCgpO1xuICAgIH1cblxuICAgIC8qKiBDb252ZXJ0IGRhdGUgdG8gSVNPODYwMSBzdHJpbmcgKi9cbiAgICB0b0lzbzg2MDEoZGF0ZTogRGF5anMpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZGF0ZS50b0lTT1N0cmluZygpO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aW1lIGZvcm1hdCBpbmNsdWRlcyBkYXkgcGVyaW9kICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNEYXlQZXJpb2QoZGlzcGxheUZvcm1hdDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuX3ByZXBhcmVGb3JtYXQoZGlzcGxheUZvcm1hdCk7XG5cbiAgICAgICAgcmV0dXJuICEhZm9ybWF0Lm1hdGNoKC9bYUFdLyk7XG4gICAgfVxuXG4gICAgLyoqIENoZWNrIGlmIHRpbWUgZm9ybWF0IGluY2x1ZGVzIGhvdXJzICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNIb3VycyhkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gdGhpcy5fcHJlcGFyZUZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcblxuICAgICAgICByZXR1cm4gISFmb3JtYXQubWF0Y2goL1toSF0vKTtcbiAgICB9XG5cbiAgICAvKiogQ2hlY2sgaWYgdGltZSBmb3JtYXQgaW5jbHVkZXMgbWludXRlcyAqL1xuICAgIGlzVGltZUZvcm1hdEluY2x1ZGVzTWludXRlcyhkaXNwbGF5Rm9ybWF0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybWF0ID0gdGhpcy5fcHJlcGFyZUZvcm1hdChkaXNwbGF5Rm9ybWF0KTtcblxuICAgICAgICByZXR1cm4gISFmb3JtYXQubWF0Y2goL1ttXS8pO1xuICAgIH1cblxuICAgIC8qKiBDaGVjayBpZiB0aW1lIGZvcm1hdCBpbmNsdWRlcyBzZWNvbmRzICovXG4gICAgaXNUaW1lRm9ybWF0SW5jbHVkZXNTZWNvbmRzKGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBmb3JtYXQgPSB0aGlzLl9wcmVwYXJlRm9ybWF0KGRpc3BsYXlGb3JtYXQpO1xuXG4gICAgICAgIHJldHVybiAhIWZvcm1hdC5tYXRjaCgvW3NdLyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIHdpbGwgYXR0ZW1wdCB0byBwYXJzZSBsb25nRGF0YUZvcm1hdCAoZS5nLiBcIkxcIiwgXCJMVFwiKSBhbmQgY29udmVydCBpdCB0byBzaW1wbGUgb25lLlxuICAgICAqL1xuICAgIF9wcmVwYXJlRm9ybWF0KGRpc3BsYXlGb3JtYXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGRpc3BsYXlGb3JtYXQgPSBkaXNwbGF5Rm9ybWF0LnRyaW0oKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1hdHM6IG9iamVjdCA9IGRheWpzLkxzW2RheWpzLmxvY2FsZSgpXS5mb3JtYXRzO1xuICAgICAgICAgICAgLy8gdGhpcyBpcyB0aGUgcmVndWxhciBleHByZXNzaW9uIHRvIHBhcnNlIGZvcm1hdCB0YWtlbiBmcm9tIGRheWpzIHJlcG9cbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9pYW1rdW4vZGF5anMvYmxvYi9kZXYvc3JjL3BsdWdpbi9sb2NhbGl6ZWRGb3JtYXQvdXRpbHMuanNcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Rm9ybWF0LnJlcGxhY2UoXG4gICAgICAgICAgICAgICAgLyhcXFtbXlxcXV0rXSl8KExUUz98bHsxLDR9fEx7MSw0fSkvZyxcbiAgICAgICAgICAgICAgICAoXywgYSwgYikgPT4gYSB8fCBmb3JtYXRzW2JdIHx8IGRpc3BsYXlGb3JtYXRcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJldHVybiBkaXNwbGF5Rm9ybWF0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfY3JlYXRlRGF5anNEYXRlKGRhdGU/OiBDb25maWdUeXBlLCBmb3JtYXQ/OiBzdHJpbmcpOiBEYXlqcyB7XG4gICAgICAgIGNvbnN0IHsgc3RyaWN0LCB1c2VVdGMgfTogRGF5anNEYXRldGltZUFkYXB0ZXJPcHRpb25zID0gdGhpcy5fb3B0aW9ucyB8fCB7fTtcblxuICAgICAgICBjb25zdCBtZXRob2QgPSB1c2VVdGMgPyBkYXlqcy51dGMgOiBkYXlqcztcbiAgICAgICAgbGV0IHBhcnNlZCA9IG1ldGhvZChkYXRlLCBmb3JtYXQsIHN0cmljdCk7XG4gICAgICAgIC8vIGRheWpzIHN0cmljdGx5IGZvbGxvd3MgdGhlIHByb3ZpZGVkIGZvcm1hdFxuICAgICAgICAvLyBzbyBwYXJ0aWFsIHN0cmluZ3Mgd2lsbCBub3QgYmUgcmVzb2x2ZWQuIGluIHRoaXMgY2FzZSBhdHRlbXB0IHRvIHJlc29sdmUgd2l0aG91dCBmb3JtYXR0aW5nXG4gICAgICAgIGlmICghcGFyc2VkPy5pc1ZhbGlkKCkgJiYgIXN0cmljdCAmJiBmb3JtYXQpIHtcbiAgICAgICAgICAgIHBhcnNlZCA9IG1ldGhvZChkYXRlLCB1bmRlZmluZWQsIHN0cmljdCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhcnNlZDtcbiAgICB9XG59XG5cbmludGVyZmFjZSBEYXRlTG9jYWxlIHtcbiAgICBmaXJzdERheU9mV2VlazogbnVtYmVyO1xuICAgIGxvbmdNb250aHM6IHN0cmluZ1tdO1xuICAgIHNob3J0TW9udGhzOiBzdHJpbmdbXTtcbiAgICBuYXJyb3dNb250aHM6IHN0cmluZ1tdO1xuICAgIGxvbmdEYXlzT2ZXZWVrOiBzdHJpbmdbXTtcbiAgICBzaG9ydERheXNPZldlZWs6IHN0cmluZ1tdO1xuICAgIG5hcnJvd0RheXNPZldlZWs6IHN0cmluZ1tdO1xufVxuIl19
@@ -4,26 +4,26 @@ import { DayjsDatetimeAdapter } from './dayjs-datetime-adapter';
4
4
  import { DAYJS_DATETIME_FORMATS } from './dayjs-datetime-formats';
5
5
  import * as i0 from "@angular/core";
6
6
  export class DayjsDatetimeAdapterRawModule {
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
8
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule }); }
9
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }] }); }
7
10
  }
8
- DayjsDatetimeAdapterRawModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- DayjsDatetimeAdapterRawModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule });
10
- DayjsDatetimeAdapterRawModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]
15
15
  }]
16
16
  }] });
17
17
  export class DayjsDatetimeAdapterModule {
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, imports: [DayjsDatetimeAdapterRawModule] }); }
20
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }], imports: [DayjsDatetimeAdapterRawModule] }); }
18
21
  }
19
- DayjsDatetimeAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
- DayjsDatetimeAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, imports: [DayjsDatetimeAdapterRawModule] });
21
- DayjsDatetimeAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }], imports: [DayjsDatetimeAdapterRawModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, decorators: [{
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, decorators: [{
23
23
  type: NgModule,
24
24
  args: [{
25
25
  imports: [DayjsDatetimeAdapterRawModule],
26
26
  providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }]
27
27
  }]
28
28
  }] });
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2RhdGV0aW1lLWFkYXB0ZXIvc3JjL2xpYi9kYXlqcy1kYXRldGltZS1hZGFwdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLDZCQUE2Qjs7MEhBQTdCLDZCQUE2QjsySEFBN0IsNkJBQTZCOzJIQUE3Qiw2QkFBNkIsYUFGM0IsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7MkZBRWhFLDZCQUE2QjtrQkFIekMsUUFBUTttQkFBQztvQkFDTixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7aUJBQzVFOztBQU9ELE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixZQU4xQiw2QkFBNkI7d0hBTTdCLDBCQUEwQixhQUZ4QixDQUFDLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxDQUFDLFlBRG5FLDZCQUE2QjsyRkFHOUIsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUN4QyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREFURV9USU1FX0ZPUk1BVFMsIERhdGV0aW1lQWRhcHRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kYXRldGltZSc7XG5cbmltcG9ydCB7IERheWpzRGF0ZXRpbWVBZGFwdGVyIH0gZnJvbSAnLi9kYXlqcy1kYXRldGltZS1hZGFwdGVyJztcbmltcG9ydCB7IERBWUpTX0RBVEVUSU1FX0ZPUk1BVFMgfSBmcm9tICcuL2RheWpzLWRhdGV0aW1lLWZvcm1hdHMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRGF0ZXRpbWVBZGFwdGVyLCB1c2VDbGFzczogRGF5anNEYXRldGltZUFkYXB0ZXIgfV1cbn0pXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXJSYXdNb2R1bGUge31cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRGF5anNEYXRldGltZUFkYXB0ZXJSYXdNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogREFURV9USU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBEQVlKU19EQVRFVElNRV9GT1JNQVRTIH1dXG59KVxuZXhwb3J0IGNsYXNzIERheWpzRGF0ZXRpbWVBZGFwdGVyTW9kdWxlIHt9XG4iXX0=
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5anMtZGF0ZXRpbWUtYWRhcHRlci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2RhdGV0aW1lLWFkYXB0ZXIvc3JjL2xpYi9kYXlqcy1kYXRldGltZS1hZGFwdGVyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVwRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFLbEUsTUFBTSxPQUFPLDZCQUE2Qjs4R0FBN0IsNkJBQTZCOytHQUE3Qiw2QkFBNkI7K0dBQTdCLDZCQUE2QixhQUYzQixDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQzs7MkZBRWhFLDZCQUE2QjtrQkFIekMsUUFBUTttQkFBQztvQkFDTixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUM7aUJBQzVFOztBQU9ELE1BQU0sT0FBTywwQkFBMEI7OEdBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLFlBTjFCLDZCQUE2QjsrR0FNN0IsMEJBQTBCLGFBRnhCLENBQUMsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLENBQUMsWUFEbkUsNkJBQTZCOzsyRkFHOUIsMEJBQTBCO2tCQUp0QyxRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRSxDQUFDLDZCQUE2QixDQUFDO29CQUN4QyxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxRQUFRLEVBQUUsc0JBQXNCLEVBQUUsQ0FBQztpQkFDaEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgREFURV9USU1FX0ZPUk1BVFMsIERhdGV0aW1lQWRhcHRlciB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9kYXRldGltZSc7XG5cbmltcG9ydCB7IERheWpzRGF0ZXRpbWVBZGFwdGVyIH0gZnJvbSAnLi9kYXlqcy1kYXRldGltZS1hZGFwdGVyJztcbmltcG9ydCB7IERBWUpTX0RBVEVUSU1FX0ZPUk1BVFMgfSBmcm9tICcuL2RheWpzLWRhdGV0aW1lLWZvcm1hdHMnO1xuXG5ATmdNb2R1bGUoe1xuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogRGF0ZXRpbWVBZGFwdGVyLCB1c2VDbGFzczogRGF5anNEYXRldGltZUFkYXB0ZXIgfV1cbn0pXG5leHBvcnQgY2xhc3MgRGF5anNEYXRldGltZUFkYXB0ZXJSYXdNb2R1bGUge31cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbRGF5anNEYXRldGltZUFkYXB0ZXJSYXdNb2R1bGVdLFxuICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogREFURV9USU1FX0ZPUk1BVFMsIHVzZVZhbHVlOiBEQVlKU19EQVRFVElNRV9GT1JNQVRTIH1dXG59KVxuZXhwb3J0IGNsYXNzIERheWpzRGF0ZXRpbWVBZGFwdGVyTW9kdWxlIHt9XG4iXX0=
@@ -320,10 +320,10 @@ class DayjsDatetimeAdapter extends DatetimeAdapter {
320
320
  }
321
321
  return parsed;
322
322
  }
323
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: LOCALE_ID, optional: true }, { token: DAYJS_DATE_TIME_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
324
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter }); }
323
325
  }
324
- DayjsDatetimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: LOCALE_ID, optional: true }, { token: DAYJS_DATE_TIME_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
325
- DayjsDatetimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter });
326
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
327
327
  type: Injectable
328
328
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
329
329
  type: Optional
@@ -355,22 +355,22 @@ const DAYJS_DATETIME_FORMATS = {
355
355
  };
356
356
 
357
357
  class DayjsDatetimeAdapterRawModule {
358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
359
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule }); }
360
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }] }); }
358
361
  }
359
- DayjsDatetimeAdapterRawModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
360
- DayjsDatetimeAdapterRawModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule });
361
- DayjsDatetimeAdapterRawModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }] });
362
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, decorators: [{
362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterRawModule, decorators: [{
363
363
  type: NgModule,
364
364
  args: [{
365
365
  providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]
366
366
  }]
367
367
  }] });
368
368
  class DayjsDatetimeAdapterModule {
369
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
370
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, imports: [DayjsDatetimeAdapterRawModule] }); }
371
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }], imports: [DayjsDatetimeAdapterRawModule] }); }
369
372
  }
370
- DayjsDatetimeAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
371
- DayjsDatetimeAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, imports: [DayjsDatetimeAdapterRawModule] });
372
- DayjsDatetimeAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }], imports: [DayjsDatetimeAdapterRawModule] });
373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, decorators: [{
373
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.0", ngImport: i0, type: DayjsDatetimeAdapterModule, decorators: [{
374
374
  type: NgModule,
375
375
  args: [{
376
376
  imports: [DayjsDatetimeAdapterRawModule],
@@ -1 +1 @@
1
- {"version":3,"file":"fundamental-ngx-datetime-adapter.mjs","sources":["../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-formats.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.module.ts","../../../../libs/datetime-adapter/src/fundamental-ngx-datetime-adapter.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken, LOCALE_ID, Optional } from '@angular/core';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\nimport localeData from 'dayjs/plugin/localeData';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport utc from 'dayjs/plugin/utc';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport objectSupport from 'dayjs/plugin/objectSupport';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport { DatetimeAdapter, FdDate } from '@fundamental-ngx/core/datetime';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nfunction range<T>(length: number, mapFn: (index: number) => T): T[] {\n return Array.from(new Array(length)).map((_, index) => mapFn(index));\n}\n\nexport interface DayjsDatetimeAdapterOptions {\n strict?: boolean;\n useUtc?: boolean;\n}\n\nexport const DAYJS_DATE_TIME_ADAPTER_OPTIONS = new InjectionToken<DayjsDatetimeAdapterOptions>(\n 'DAYJS_DATE_TIME_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY\n }\n);\n\n/** @hidden */\nexport function DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY(): DayjsDatetimeAdapterOptions {\n return {\n useUtc: false,\n strict: false\n };\n}\n\n/**\n * DatetimeAdapter implementation based on dayjs.\n *\n * This uses dayjs as a date model instance.\n * It relies on dayjs implementation for formatting and translation purposes.\n */\n@Injectable()\nexport class DayjsDatetimeAdapter extends DatetimeAdapter<Dayjs> {\n /** @hidden */\n private _dayjsLocaleData: dayjs.GlobalLocaleDataReturn;\n\n /** @hidden */\n private _localeData: DateLocale;\n\n /** @hidden */\n fromNow: undefined;\n\n /** @hidden */\n constructor(\n @Optional() @Inject(LOCALE_ID) localeId: string,\n @Optional() @Inject(DAYJS_DATE_TIME_ADAPTER_OPTIONS) private _options?: DayjsDatetimeAdapterOptions\n ) {\n super();\n\n dayjs.extend(localeData);\n dayjs.extend(weekOfYear);\n dayjs.extend(utc);\n dayjs.extend(isBetween);\n dayjs.extend(objectSupport);\n dayjs.extend(localizedFormat);\n dayjs.extend(customParseFormat);\n\n this.setLocale(localeId || dayjs.locale());\n }\n\n /** Set locale */\n setLocale(locale: string): void {\n if (locale.toLowerCase() === 'en-us') {\n // Handle English locale name as it's a default one and it is different\n locale = 'en';\n }\n dayjs.locale(locale);\n\n if (dayjs.locale() !== locale) {\n throw new Error(\n `Failed to load locale ${locale}. ` +\n 'Make sure it exists and is preloaded. See the imports at the top of the example file at ' +\n 'https://sap.github.io/fundamental-ngx/#/core/dayjs-datetime-adapter' +\n 'List of supported locales can be found here: https://github.com/iamkun/dayjs/tree/dev/src/locale.'\n );\n }\n\n this._dayjsLocaleData = dayjs.localeData();\n\n this._localeData = {\n firstDayOfWeek: this._dayjsLocaleData.firstDayOfWeek(),\n longMonths: this._dayjsLocaleData.months(),\n shortMonths: this._dayjsLocaleData.monthsShort(),\n narrowMonths: this._dayjsLocaleData.months().map((name: string) => name.charAt(0)),\n longDaysOfWeek: this._dayjsLocaleData.weekdays(),\n shortDaysOfWeek: this._dayjsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: this._dayjsLocaleData.weekdaysMin()\n };\n\n super.setLocale(locale);\n }\n\n /** Get year */\n getYear(date: Dayjs): number {\n return date.year();\n }\n\n /** Get month */\n getMonth(date: Dayjs): number {\n return date.month() + 1;\n }\n\n /** Get date */\n getDate(date: Dayjs): number {\n return date.date();\n }\n\n /** Get day of the week */\n getDayOfWeek(date: Dayjs): number {\n return date.day() + 1;\n }\n\n /** Get hours */\n getHours(date: Dayjs): number {\n return date.hour();\n }\n\n /** Get minutes */\n getMinutes(date: Dayjs): number {\n return date.minute();\n }\n\n /** Get seconds */\n getSeconds(date: Dayjs): number {\n return date.second();\n }\n\n /** Set hours in date object */\n setHours(date: Dayjs, hours: number): Dayjs {\n return date.hour(hours);\n }\n\n /** Set minutes in date object */\n setMinutes(date: Dayjs, minutes: number): Dayjs {\n return date.minute(minutes);\n }\n\n /** Set seconds in date object */\n setSeconds(date: Dayjs, seconds: number): Dayjs {\n return date.second(seconds);\n }\n\n /** Get week number */\n getWeekNumber(date: Dayjs): number {\n return date.week();\n }\n\n /** Get months names */\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowMonths;\n case 'short':\n return this._localeData.shortMonths;\n case 'long':\n default:\n return this._localeData.longMonths;\n }\n }\n\n /** Get date names */\n getDateNames(): string[] {\n return range(31, (i) => this.createDate(2017, 0, i + 1).format('D'));\n }\n\n /** Get days of week names */\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowDaysOfWeek;\n case 'short':\n return this._localeData.shortDaysOfWeek;\n case 'long':\n default:\n return this._localeData.longDaysOfWeek;\n }\n }\n\n /** Get year name */\n getYearName(date: Dayjs): string {\n return date.format('YYYY');\n }\n\n /** Get week name */\n getWeekName(date: Dayjs): string {\n return date.week().toLocaleString(this.locale);\n }\n\n /** Get hour names */\n getHourNames({ meridian, twoDigit }: { twoDigit: boolean; meridian: boolean }): string[] {\n const format: string = meridian ? (twoDigit ? 'hh' : 'h') : twoDigit ? 'HH' : 'H';\n const dayjsDate = this._createDayjsDate();\n\n return range(24, (i) => this.clone(dayjsDate).hour(i).format(format));\n }\n\n /** Get minute names */\n getMinuteNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'mm' : 'm';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).minute(i).format(format));\n }\n\n /** Get second names */\n getSecondNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'ss' : 's';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).second(i).format(format));\n }\n\n /**\n * Get day period names\n * @param isLower responsible for the lower and upper cases of the result\n */\n getDayPeriodNames(isLower = false): [string, string] {\n const AM = this._dayjsLocaleData.meridiem?.(6, 0, isLower) ?? (isLower ? 'am' : 'AM');\n const PM = this._dayjsLocaleData.meridiem?.(16, 0, isLower) ?? (isLower ? 'pm' : 'PM');\n\n return [AM, PM];\n }\n\n /** Get first day of the week */\n getFirstDayOfWeek(): number {\n return this._localeData.firstDayOfWeek;\n }\n\n /** Get number of days in the month */\n getNumDaysInMonth(date: Dayjs): number {\n return date.daysInMonth();\n }\n\n /** Try to parse a string to a date object */\n parse(value: any, parseFormat: string = ''): Dayjs | null {\n if (value && typeof value === 'string') {\n return this._createDayjsDate(value, parseFormat);\n } else if (value instanceof FdDate) {\n // FdDate instance may be incorrectly parsed by DayJS\n value = value.toString();\n }\n\n return value ? this._createDayjsDate(value).locale(this.locale) : null;\n }\n\n /** Format a date as a string */\n format(date: Dayjs, displayFormat: string): string {\n if (!date) {\n return '';\n }\n\n if (!this.isValid(date)) {\n throw Error('DayjsDateTimeAdapter: Cannot format invalid date.');\n }\n\n return date.locale(dayjs.locale()).format(displayFormat);\n }\n\n /** Create date object from values */\n createDate(year: number, month: number, date: number): Dayjs {\n const result = this._createDayjsDate(new Date(year, month - 1, date));\n\n if (!result.isValid()) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\" and year \"${year}\".`);\n }\n\n return result;\n }\n\n /** Get today */\n today(): Dayjs {\n return this._createDayjsDate().locale(this.locale).startOf('day');\n }\n\n /** Get now */\n now(): Dayjs {\n return this._createDayjsDate().locale(this.locale);\n }\n\n /** Add years to date */\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n /** Add months to date */\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n /** Add days to date */\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n /** Clone date */\n clone(date: Dayjs): Dayjs {\n if (!date) {\n return date;\n }\n\n if (this.locale) {\n return date.clone().locale(this.locale);\n }\n\n return date.clone();\n }\n\n /** Compare if dates are equal */\n datesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2, 'day');\n }\n\n /** Compare if dates and time are equal */\n dateTimesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2);\n }\n\n /** Check if date is in range */\n isBetween(dateToCheck: Dayjs, startDate: Dayjs, endDate: Dayjs): boolean {\n if (!dateToCheck || !startDate || !endDate) {\n return false;\n }\n\n return dateToCheck.isBetween(startDate, endDate);\n }\n\n /** Check if date is valid date object */\n isValid(date: Nullable<Dayjs>): date is Dayjs {\n return !!date?.isValid();\n }\n\n /** Convert date to ISO8601 string */\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /** Check if time format includes day period */\n isTimeFormatIncludesDayPeriod(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[aA]/);\n }\n\n /** Check if time format includes hours */\n isTimeFormatIncludesHours(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[hH]/);\n }\n\n /** Check if time format includes minutes */\n isTimeFormatIncludesMinutes(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[m]/);\n }\n\n /** Check if time format includes seconds */\n isTimeFormatIncludesSeconds(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[s]/);\n }\n\n /**\n * @hidden\n * will attempt to parse longDataFormat (e.g. \"L\", \"LT\") and convert it to simple one.\n */\n _prepareFormat(displayFormat: string): string {\n displayFormat = displayFormat.trim();\n try {\n const formats: object = dayjs.Ls[dayjs.locale()].formats;\n // this is the regular expression to parse format taken from dayjs repo\n // https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/utils.js\n return displayFormat.replace(\n /(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,\n (_, a, b) => a || formats[b] || displayFormat\n );\n } catch (e) {\n return displayFormat;\n }\n }\n\n /** @hidden */\n _createDayjsDate(date?: ConfigType, format?: string): Dayjs {\n const { strict, useUtc }: DayjsDatetimeAdapterOptions = this._options || {};\n\n const method = useUtc ? dayjs.utc : dayjs;\n let parsed = method(date, format, strict);\n // dayjs strictly follows the provided format\n // so partial strings will not be resolved. in this case attempt to resolve without formatting\n if (!parsed?.isValid() && !strict && format) {\n parsed = method(date, undefined, strict);\n }\n return parsed;\n }\n}\n\ninterface DateLocale {\n firstDayOfWeek: number;\n longMonths: string[];\n shortMonths: string[];\n narrowMonths: string[];\n longDaysOfWeek: string[];\n shortDaysOfWeek: string[];\n narrowDaysOfWeek: string[];\n}\n","import { DateTimeFormats } from '@fundamental-ngx/core/datetime';\n\nexport const DAYJS_DATETIME_FORMATS: DateTimeFormats = {\n parse: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A'\n },\n display: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A',\n\n dateA11yLabel: 'YYYY MMMM DD',\n monthA11yLabel: 'MMMM',\n yearA11yLabel: 'YYYY'\n },\n rangeDelimiter: ' - '\n};\n","import { NgModule } from '@angular/core';\nimport { DATE_TIME_FORMATS, DatetimeAdapter } from '@fundamental-ngx/core/datetime';\n\nimport { DayjsDatetimeAdapter } from './dayjs-datetime-adapter';\nimport { DAYJS_DATETIME_FORMATS } from './dayjs-datetime-formats';\n\n@NgModule({\n providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]\n})\nexport class DayjsDatetimeAdapterRawModule {}\n\n@NgModule({\n imports: [DayjsDatetimeAdapterRawModule],\n providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }]\n})\nexport class DayjsDatetimeAdapterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fundamental-ngx-datetime-adapter.mjs","sources":["../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-formats.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.module.ts","../../../../libs/datetime-adapter/src/fundamental-ngx-datetime-adapter.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken, LOCALE_ID, Optional } from '@angular/core';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\nimport localeData from 'dayjs/plugin/localeData';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport utc from 'dayjs/plugin/utc';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport objectSupport from 'dayjs/plugin/objectSupport';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport { DatetimeAdapter, FdDate } from '@fundamental-ngx/core/datetime';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nfunction range<T>(length: number, mapFn: (index: number) => T): T[] {\n return Array.from(new Array(length)).map((_, index) => mapFn(index));\n}\n\nexport interface DayjsDatetimeAdapterOptions {\n strict?: boolean;\n useUtc?: boolean;\n}\n\nexport const DAYJS_DATE_TIME_ADAPTER_OPTIONS = new InjectionToken<DayjsDatetimeAdapterOptions>(\n 'DAYJS_DATE_TIME_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY\n }\n);\n\n/** @hidden */\nexport function DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY(): DayjsDatetimeAdapterOptions {\n return {\n useUtc: false,\n strict: false\n };\n}\n\n/**\n * DatetimeAdapter implementation based on dayjs.\n *\n * This uses dayjs as a date model instance.\n * It relies on dayjs implementation for formatting and translation purposes.\n */\n@Injectable()\nexport class DayjsDatetimeAdapter extends DatetimeAdapter<Dayjs> {\n /** @hidden */\n private _dayjsLocaleData: dayjs.GlobalLocaleDataReturn;\n\n /** @hidden */\n private _localeData: DateLocale;\n\n /** @hidden */\n fromNow: undefined;\n\n /** @hidden */\n constructor(\n @Optional() @Inject(LOCALE_ID) localeId: string,\n @Optional() @Inject(DAYJS_DATE_TIME_ADAPTER_OPTIONS) private _options?: DayjsDatetimeAdapterOptions\n ) {\n super();\n\n dayjs.extend(localeData);\n dayjs.extend(weekOfYear);\n dayjs.extend(utc);\n dayjs.extend(isBetween);\n dayjs.extend(objectSupport);\n dayjs.extend(localizedFormat);\n dayjs.extend(customParseFormat);\n\n this.setLocale(localeId || dayjs.locale());\n }\n\n /** Set locale */\n setLocale(locale: string): void {\n if (locale.toLowerCase() === 'en-us') {\n // Handle English locale name as it's a default one and it is different\n locale = 'en';\n }\n dayjs.locale(locale);\n\n if (dayjs.locale() !== locale) {\n throw new Error(\n `Failed to load locale ${locale}. ` +\n 'Make sure it exists and is preloaded. See the imports at the top of the example file at ' +\n 'https://sap.github.io/fundamental-ngx/#/core/dayjs-datetime-adapter' +\n 'List of supported locales can be found here: https://github.com/iamkun/dayjs/tree/dev/src/locale.'\n );\n }\n\n this._dayjsLocaleData = dayjs.localeData();\n\n this._localeData = {\n firstDayOfWeek: this._dayjsLocaleData.firstDayOfWeek(),\n longMonths: this._dayjsLocaleData.months(),\n shortMonths: this._dayjsLocaleData.monthsShort(),\n narrowMonths: this._dayjsLocaleData.months().map((name: string) => name.charAt(0)),\n longDaysOfWeek: this._dayjsLocaleData.weekdays(),\n shortDaysOfWeek: this._dayjsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: this._dayjsLocaleData.weekdaysMin()\n };\n\n super.setLocale(locale);\n }\n\n /** Get year */\n getYear(date: Dayjs): number {\n return date.year();\n }\n\n /** Get month */\n getMonth(date: Dayjs): number {\n return date.month() + 1;\n }\n\n /** Get date */\n getDate(date: Dayjs): number {\n return date.date();\n }\n\n /** Get day of the week */\n getDayOfWeek(date: Dayjs): number {\n return date.day() + 1;\n }\n\n /** Get hours */\n getHours(date: Dayjs): number {\n return date.hour();\n }\n\n /** Get minutes */\n getMinutes(date: Dayjs): number {\n return date.minute();\n }\n\n /** Get seconds */\n getSeconds(date: Dayjs): number {\n return date.second();\n }\n\n /** Set hours in date object */\n setHours(date: Dayjs, hours: number): Dayjs {\n return date.hour(hours);\n }\n\n /** Set minutes in date object */\n setMinutes(date: Dayjs, minutes: number): Dayjs {\n return date.minute(minutes);\n }\n\n /** Set seconds in date object */\n setSeconds(date: Dayjs, seconds: number): Dayjs {\n return date.second(seconds);\n }\n\n /** Get week number */\n getWeekNumber(date: Dayjs): number {\n return date.week();\n }\n\n /** Get months names */\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowMonths;\n case 'short':\n return this._localeData.shortMonths;\n case 'long':\n default:\n return this._localeData.longMonths;\n }\n }\n\n /** Get date names */\n getDateNames(): string[] {\n return range(31, (i) => this.createDate(2017, 0, i + 1).format('D'));\n }\n\n /** Get days of week names */\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowDaysOfWeek;\n case 'short':\n return this._localeData.shortDaysOfWeek;\n case 'long':\n default:\n return this._localeData.longDaysOfWeek;\n }\n }\n\n /** Get year name */\n getYearName(date: Dayjs): string {\n return date.format('YYYY');\n }\n\n /** Get week name */\n getWeekName(date: Dayjs): string {\n return date.week().toLocaleString(this.locale);\n }\n\n /** Get hour names */\n getHourNames({ meridian, twoDigit }: { twoDigit: boolean; meridian: boolean }): string[] {\n const format: string = meridian ? (twoDigit ? 'hh' : 'h') : twoDigit ? 'HH' : 'H';\n const dayjsDate = this._createDayjsDate();\n\n return range(24, (i) => this.clone(dayjsDate).hour(i).format(format));\n }\n\n /** Get minute names */\n getMinuteNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'mm' : 'm';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).minute(i).format(format));\n }\n\n /** Get second names */\n getSecondNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'ss' : 's';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).second(i).format(format));\n }\n\n /**\n * Get day period names\n * @param isLower responsible for the lower and upper cases of the result\n */\n getDayPeriodNames(isLower = false): [string, string] {\n const AM = this._dayjsLocaleData.meridiem?.(6, 0, isLower) ?? (isLower ? 'am' : 'AM');\n const PM = this._dayjsLocaleData.meridiem?.(16, 0, isLower) ?? (isLower ? 'pm' : 'PM');\n\n return [AM, PM];\n }\n\n /** Get first day of the week */\n getFirstDayOfWeek(): number {\n return this._localeData.firstDayOfWeek;\n }\n\n /** Get number of days in the month */\n getNumDaysInMonth(date: Dayjs): number {\n return date.daysInMonth();\n }\n\n /** Try to parse a string to a date object */\n parse(value: any, parseFormat: string = ''): Dayjs | null {\n if (value && typeof value === 'string') {\n return this._createDayjsDate(value, parseFormat);\n } else if (value instanceof FdDate) {\n // FdDate instance may be incorrectly parsed by DayJS\n value = value.toString();\n }\n\n return value ? this._createDayjsDate(value).locale(this.locale) : null;\n }\n\n /** Format a date as a string */\n format(date: Dayjs, displayFormat: string): string {\n if (!date) {\n return '';\n }\n\n if (!this.isValid(date)) {\n throw Error('DayjsDateTimeAdapter: Cannot format invalid date.');\n }\n\n return date.locale(dayjs.locale()).format(displayFormat);\n }\n\n /** Create date object from values */\n createDate(year: number, month: number, date: number): Dayjs {\n const result = this._createDayjsDate(new Date(year, month - 1, date));\n\n if (!result.isValid()) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\" and year \"${year}\".`);\n }\n\n return result;\n }\n\n /** Get today */\n today(): Dayjs {\n return this._createDayjsDate().locale(this.locale).startOf('day');\n }\n\n /** Get now */\n now(): Dayjs {\n return this._createDayjsDate().locale(this.locale);\n }\n\n /** Add years to date */\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n /** Add months to date */\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n /** Add days to date */\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n /** Clone date */\n clone(date: Dayjs): Dayjs {\n if (!date) {\n return date;\n }\n\n if (this.locale) {\n return date.clone().locale(this.locale);\n }\n\n return date.clone();\n }\n\n /** Compare if dates are equal */\n datesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2, 'day');\n }\n\n /** Compare if dates and time are equal */\n dateTimesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2);\n }\n\n /** Check if date is in range */\n isBetween(dateToCheck: Dayjs, startDate: Dayjs, endDate: Dayjs): boolean {\n if (!dateToCheck || !startDate || !endDate) {\n return false;\n }\n\n return dateToCheck.isBetween(startDate, endDate);\n }\n\n /** Check if date is valid date object */\n isValid(date: Nullable<Dayjs>): date is Dayjs {\n return !!date?.isValid();\n }\n\n /** Convert date to ISO8601 string */\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /** Check if time format includes day period */\n isTimeFormatIncludesDayPeriod(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[aA]/);\n }\n\n /** Check if time format includes hours */\n isTimeFormatIncludesHours(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[hH]/);\n }\n\n /** Check if time format includes minutes */\n isTimeFormatIncludesMinutes(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[m]/);\n }\n\n /** Check if time format includes seconds */\n isTimeFormatIncludesSeconds(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[s]/);\n }\n\n /**\n * @hidden\n * will attempt to parse longDataFormat (e.g. \"L\", \"LT\") and convert it to simple one.\n */\n _prepareFormat(displayFormat: string): string {\n displayFormat = displayFormat.trim();\n try {\n const formats: object = dayjs.Ls[dayjs.locale()].formats;\n // this is the regular expression to parse format taken from dayjs repo\n // https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/utils.js\n return displayFormat.replace(\n /(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,\n (_, a, b) => a || formats[b] || displayFormat\n );\n } catch (e) {\n return displayFormat;\n }\n }\n\n /** @hidden */\n _createDayjsDate(date?: ConfigType, format?: string): Dayjs {\n const { strict, useUtc }: DayjsDatetimeAdapterOptions = this._options || {};\n\n const method = useUtc ? dayjs.utc : dayjs;\n let parsed = method(date, format, strict);\n // dayjs strictly follows the provided format\n // so partial strings will not be resolved. in this case attempt to resolve without formatting\n if (!parsed?.isValid() && !strict && format) {\n parsed = method(date, undefined, strict);\n }\n return parsed;\n }\n}\n\ninterface DateLocale {\n firstDayOfWeek: number;\n longMonths: string[];\n shortMonths: string[];\n narrowMonths: string[];\n longDaysOfWeek: string[];\n shortDaysOfWeek: string[];\n narrowDaysOfWeek: string[];\n}\n","import { DateTimeFormats } from '@fundamental-ngx/core/datetime';\n\nexport const DAYJS_DATETIME_FORMATS: DateTimeFormats = {\n parse: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A'\n },\n display: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A',\n\n dateA11yLabel: 'YYYY MMMM DD',\n monthA11yLabel: 'MMMM',\n yearA11yLabel: 'YYYY'\n },\n rangeDelimiter: ' - '\n};\n","import { NgModule } from '@angular/core';\nimport { DATE_TIME_FORMATS, DatetimeAdapter } from '@fundamental-ngx/core/datetime';\n\nimport { DayjsDatetimeAdapter } from './dayjs-datetime-adapter';\nimport { DAYJS_DATETIME_FORMATS } from './dayjs-datetime-formats';\n\n@NgModule({\n providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]\n})\nexport class DayjsDatetimeAdapterRawModule {}\n\n@NgModule({\n imports: [DayjsDatetimeAdapterRawModule],\n providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }]\n})\nexport class DayjsDatetimeAdapterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fundamental-ngx/datetime-adapter",
3
- "version": "0.43.2",
3
+ "version": "0.44.0-rc.1",
4
4
  "description": "Datetime adapter for SAP Fundamentals, based on Day.js package",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://sap.github.io/fundamental-ngx/home",
@@ -9,17 +9,13 @@
9
9
  "url": "https://github.com/SAP/fundamental-ngx"
10
10
  },
11
11
  "peerDependencies": {
12
- "@fundamental-ngx/core": "0.43.2",
12
+ "@fundamental-ngx/core": "0.44.0-rc.1",
13
13
  "dayjs": "^1.11.0"
14
14
  },
15
15
  "dependencies": {
16
16
  "tslib": "^2.3.0"
17
17
  },
18
- "module": "fesm2015/fundamental-ngx-datetime-adapter.mjs",
19
- "es2020": "fesm2020/fundamental-ngx-datetime-adapter.mjs",
20
- "esm2020": "esm2020/fundamental-ngx-datetime-adapter.mjs",
21
- "fesm2020": "fesm2020/fundamental-ngx-datetime-adapter.mjs",
22
- "fesm2015": "fesm2015/fundamental-ngx-datetime-adapter.mjs",
18
+ "module": "fesm2022/fundamental-ngx-datetime-adapter.mjs",
23
19
  "typings": "index.d.ts",
24
20
  "exports": {
25
21
  "./package.json": {
@@ -27,11 +23,9 @@
27
23
  },
28
24
  ".": {
29
25
  "types": "./index.d.ts",
30
- "esm2020": "./esm2020/fundamental-ngx-datetime-adapter.mjs",
31
- "es2020": "./fesm2020/fundamental-ngx-datetime-adapter.mjs",
32
- "es2015": "./fesm2015/fundamental-ngx-datetime-adapter.mjs",
33
- "node": "./fesm2015/fundamental-ngx-datetime-adapter.mjs",
34
- "default": "./fesm2020/fundamental-ngx-datetime-adapter.mjs"
26
+ "esm2022": "./esm2022/fundamental-ngx-datetime-adapter.mjs",
27
+ "esm": "./esm2022/fundamental-ngx-datetime-adapter.mjs",
28
+ "default": "./fesm2022/fundamental-ngx-datetime-adapter.mjs"
35
29
  }
36
30
  },
37
31
  "sideEffects": false
@@ -1,389 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { InjectionToken, LOCALE_ID, Injectable, Optional, Inject, NgModule } from '@angular/core';
3
- import dayjs from 'dayjs';
4
- import localeData from 'dayjs/plugin/localeData';
5
- import weekOfYear from 'dayjs/plugin/weekOfYear';
6
- import utc from 'dayjs/plugin/utc';
7
- import isBetween from 'dayjs/plugin/isBetween';
8
- import objectSupport from 'dayjs/plugin/objectSupport';
9
- import localizedFormat from 'dayjs/plugin/localizedFormat';
10
- import customParseFormat from 'dayjs/plugin/customParseFormat';
11
- import { DatetimeAdapter, FdDate, DATE_TIME_FORMATS } from '@fundamental-ngx/core/datetime';
12
-
13
- function range(length, mapFn) {
14
- return Array.from(new Array(length)).map((_, index) => mapFn(index));
15
- }
16
- const DAYJS_DATE_TIME_ADAPTER_OPTIONS = new InjectionToken('DAYJS_DATE_TIME_ADAPTER_OPTIONS', {
17
- providedIn: 'root',
18
- factory: DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY
19
- });
20
- /** @hidden */
21
- function DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY() {
22
- return {
23
- useUtc: false,
24
- strict: false
25
- };
26
- }
27
- /**
28
- * DatetimeAdapter implementation based on dayjs.
29
- *
30
- * This uses dayjs as a date model instance.
31
- * It relies on dayjs implementation for formatting and translation purposes.
32
- */
33
- class DayjsDatetimeAdapter extends DatetimeAdapter {
34
- /** @hidden */
35
- constructor(localeId, _options) {
36
- super();
37
- this._options = _options;
38
- dayjs.extend(localeData);
39
- dayjs.extend(weekOfYear);
40
- dayjs.extend(utc);
41
- dayjs.extend(isBetween);
42
- dayjs.extend(objectSupport);
43
- dayjs.extend(localizedFormat);
44
- dayjs.extend(customParseFormat);
45
- this.setLocale(localeId || dayjs.locale());
46
- }
47
- /** Set locale */
48
- setLocale(locale) {
49
- if (locale.toLowerCase() === 'en-us') {
50
- // Handle English locale name as it's a default one and it is different
51
- locale = 'en';
52
- }
53
- dayjs.locale(locale);
54
- if (dayjs.locale() !== locale) {
55
- throw new Error(`Failed to load locale ${locale}. ` +
56
- 'Make sure it exists and is preloaded. See the imports at the top of the example file at ' +
57
- 'https://sap.github.io/fundamental-ngx/#/core/dayjs-datetime-adapter' +
58
- 'List of supported locales can be found here: https://github.com/iamkun/dayjs/tree/dev/src/locale.');
59
- }
60
- this._dayjsLocaleData = dayjs.localeData();
61
- this._localeData = {
62
- firstDayOfWeek: this._dayjsLocaleData.firstDayOfWeek(),
63
- longMonths: this._dayjsLocaleData.months(),
64
- shortMonths: this._dayjsLocaleData.monthsShort(),
65
- narrowMonths: this._dayjsLocaleData.months().map((name) => name.charAt(0)),
66
- longDaysOfWeek: this._dayjsLocaleData.weekdays(),
67
- shortDaysOfWeek: this._dayjsLocaleData.weekdaysShort(),
68
- narrowDaysOfWeek: this._dayjsLocaleData.weekdaysMin()
69
- };
70
- super.setLocale(locale);
71
- }
72
- /** Get year */
73
- getYear(date) {
74
- return date.year();
75
- }
76
- /** Get month */
77
- getMonth(date) {
78
- return date.month() + 1;
79
- }
80
- /** Get date */
81
- getDate(date) {
82
- return date.date();
83
- }
84
- /** Get day of the week */
85
- getDayOfWeek(date) {
86
- return date.day() + 1;
87
- }
88
- /** Get hours */
89
- getHours(date) {
90
- return date.hour();
91
- }
92
- /** Get minutes */
93
- getMinutes(date) {
94
- return date.minute();
95
- }
96
- /** Get seconds */
97
- getSeconds(date) {
98
- return date.second();
99
- }
100
- /** Set hours in date object */
101
- setHours(date, hours) {
102
- return date.hour(hours);
103
- }
104
- /** Set minutes in date object */
105
- setMinutes(date, minutes) {
106
- return date.minute(minutes);
107
- }
108
- /** Set seconds in date object */
109
- setSeconds(date, seconds) {
110
- return date.second(seconds);
111
- }
112
- /** Get week number */
113
- getWeekNumber(date) {
114
- return date.week();
115
- }
116
- /** Get months names */
117
- getMonthNames(style) {
118
- switch (style) {
119
- case 'narrow':
120
- return this._localeData.narrowMonths;
121
- case 'short':
122
- return this._localeData.shortMonths;
123
- case 'long':
124
- default:
125
- return this._localeData.longMonths;
126
- }
127
- }
128
- /** Get date names */
129
- getDateNames() {
130
- return range(31, (i) => this.createDate(2017, 0, i + 1).format('D'));
131
- }
132
- /** Get days of week names */
133
- getDayOfWeekNames(style) {
134
- switch (style) {
135
- case 'narrow':
136
- return this._localeData.narrowDaysOfWeek;
137
- case 'short':
138
- return this._localeData.shortDaysOfWeek;
139
- case 'long':
140
- default:
141
- return this._localeData.longDaysOfWeek;
142
- }
143
- }
144
- /** Get year name */
145
- getYearName(date) {
146
- return date.format('YYYY');
147
- }
148
- /** Get week name */
149
- getWeekName(date) {
150
- return date.week().toLocaleString(this.locale);
151
- }
152
- /** Get hour names */
153
- getHourNames({ meridian, twoDigit }) {
154
- const format = meridian ? (twoDigit ? 'hh' : 'h') : twoDigit ? 'HH' : 'H';
155
- const dayjsDate = this._createDayjsDate();
156
- return range(24, (i) => this.clone(dayjsDate).hour(i).format(format));
157
- }
158
- /** Get minute names */
159
- getMinuteNames({ twoDigit }) {
160
- const format = twoDigit ? 'mm' : 'm';
161
- const dayjsDate = this._createDayjsDate();
162
- return range(60, (i) => this.clone(dayjsDate).minute(i).format(format));
163
- }
164
- /** Get second names */
165
- getSecondNames({ twoDigit }) {
166
- const format = twoDigit ? 'ss' : 's';
167
- const dayjsDate = this._createDayjsDate();
168
- return range(60, (i) => this.clone(dayjsDate).second(i).format(format));
169
- }
170
- /**
171
- * Get day period names
172
- * @param isLower responsible for the lower and upper cases of the result
173
- */
174
- getDayPeriodNames(isLower = false) {
175
- var _a, _b, _c, _d, _e, _f;
176
- const AM = (_c = (_b = (_a = this._dayjsLocaleData).meridiem) === null || _b === void 0 ? void 0 : _b.call(_a, 6, 0, isLower)) !== null && _c !== void 0 ? _c : (isLower ? 'am' : 'AM');
177
- const PM = (_f = (_e = (_d = this._dayjsLocaleData).meridiem) === null || _e === void 0 ? void 0 : _e.call(_d, 16, 0, isLower)) !== null && _f !== void 0 ? _f : (isLower ? 'pm' : 'PM');
178
- return [AM, PM];
179
- }
180
- /** Get first day of the week */
181
- getFirstDayOfWeek() {
182
- return this._localeData.firstDayOfWeek;
183
- }
184
- /** Get number of days in the month */
185
- getNumDaysInMonth(date) {
186
- return date.daysInMonth();
187
- }
188
- /** Try to parse a string to a date object */
189
- parse(value, parseFormat = '') {
190
- if (value && typeof value === 'string') {
191
- return this._createDayjsDate(value, parseFormat);
192
- }
193
- else if (value instanceof FdDate) {
194
- // FdDate instance may be incorrectly parsed by DayJS
195
- value = value.toString();
196
- }
197
- return value ? this._createDayjsDate(value).locale(this.locale) : null;
198
- }
199
- /** Format a date as a string */
200
- format(date, displayFormat) {
201
- if (!date) {
202
- return '';
203
- }
204
- if (!this.isValid(date)) {
205
- throw Error('DayjsDateTimeAdapter: Cannot format invalid date.');
206
- }
207
- return date.locale(dayjs.locale()).format(displayFormat);
208
- }
209
- /** Create date object from values */
210
- createDate(year, month, date) {
211
- const result = this._createDayjsDate(new Date(year, month - 1, date));
212
- if (!result.isValid()) {
213
- throw Error(`Invalid date "${date}" for month with index "${month}" and year "${year}".`);
214
- }
215
- return result;
216
- }
217
- /** Get today */
218
- today() {
219
- return this._createDayjsDate().locale(this.locale).startOf('day');
220
- }
221
- /** Get now */
222
- now() {
223
- return this._createDayjsDate().locale(this.locale);
224
- }
225
- /** Add years to date */
226
- addCalendarYears(date, years) {
227
- return date.add(years, 'year');
228
- }
229
- /** Add months to date */
230
- addCalendarMonths(date, months) {
231
- return date.add(months, 'month');
232
- }
233
- /** Add days to date */
234
- addCalendarDays(date, days) {
235
- return date.add(days, 'day');
236
- }
237
- /** Clone date */
238
- clone(date) {
239
- if (!date) {
240
- return date;
241
- }
242
- if (this.locale) {
243
- return date.clone().locale(this.locale);
244
- }
245
- return date.clone();
246
- }
247
- /** Compare if dates are equal */
248
- datesEqual(date1, date2) {
249
- if (!date1 || !date2) {
250
- return false;
251
- }
252
- return date1.isSame(date2, 'day');
253
- }
254
- /** Compare if dates and time are equal */
255
- dateTimesEqual(date1, date2) {
256
- if (!date1 || !date2) {
257
- return false;
258
- }
259
- return date1.isSame(date2);
260
- }
261
- /** Check if date is in range */
262
- isBetween(dateToCheck, startDate, endDate) {
263
- if (!dateToCheck || !startDate || !endDate) {
264
- return false;
265
- }
266
- return dateToCheck.isBetween(startDate, endDate);
267
- }
268
- /** Check if date is valid date object */
269
- isValid(date) {
270
- return !!(date === null || date === void 0 ? void 0 : date.isValid());
271
- }
272
- /** Convert date to ISO8601 string */
273
- toIso8601(date) {
274
- return date.toISOString();
275
- }
276
- /** Check if time format includes day period */
277
- isTimeFormatIncludesDayPeriod(displayFormat) {
278
- const format = this._prepareFormat(displayFormat);
279
- return !!format.match(/[aA]/);
280
- }
281
- /** Check if time format includes hours */
282
- isTimeFormatIncludesHours(displayFormat) {
283
- const format = this._prepareFormat(displayFormat);
284
- return !!format.match(/[hH]/);
285
- }
286
- /** Check if time format includes minutes */
287
- isTimeFormatIncludesMinutes(displayFormat) {
288
- const format = this._prepareFormat(displayFormat);
289
- return !!format.match(/[m]/);
290
- }
291
- /** Check if time format includes seconds */
292
- isTimeFormatIncludesSeconds(displayFormat) {
293
- const format = this._prepareFormat(displayFormat);
294
- return !!format.match(/[s]/);
295
- }
296
- /**
297
- * @hidden
298
- * will attempt to parse longDataFormat (e.g. "L", "LT") and convert it to simple one.
299
- */
300
- _prepareFormat(displayFormat) {
301
- displayFormat = displayFormat.trim();
302
- try {
303
- const formats = dayjs.Ls[dayjs.locale()].formats;
304
- // this is the regular expression to parse format taken from dayjs repo
305
- // https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/utils.js
306
- return displayFormat.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, (_, a, b) => a || formats[b] || displayFormat);
307
- }
308
- catch (e) {
309
- return displayFormat;
310
- }
311
- }
312
- /** @hidden */
313
- _createDayjsDate(date, format) {
314
- const { strict, useUtc } = this._options || {};
315
- const method = useUtc ? dayjs.utc : dayjs;
316
- let parsed = method(date, format, strict);
317
- // dayjs strictly follows the provided format
318
- // so partial strings will not be resolved. in this case attempt to resolve without formatting
319
- if (!(parsed === null || parsed === void 0 ? void 0 : parsed.isValid()) && !strict && format) {
320
- parsed = method(date, undefined, strict);
321
- }
322
- return parsed;
323
- }
324
- }
325
- DayjsDatetimeAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, deps: [{ token: LOCALE_ID, optional: true }, { token: DAYJS_DATE_TIME_ADAPTER_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
326
- DayjsDatetimeAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter });
327
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapter, decorators: [{
328
- type: Injectable
329
- }], ctorParameters: function () {
330
- return [{ type: undefined, decorators: [{
331
- type: Optional
332
- }, {
333
- type: Inject,
334
- args: [LOCALE_ID]
335
- }] }, { type: undefined, decorators: [{
336
- type: Optional
337
- }, {
338
- type: Inject,
339
- args: [DAYJS_DATE_TIME_ADAPTER_OPTIONS]
340
- }] }];
341
- } });
342
-
343
- const DAYJS_DATETIME_FORMATS = {
344
- parse: {
345
- dateInput: 'l',
346
- timeInput: 'h:mm A',
347
- dateTimeInput: 'l h:mm A'
348
- },
349
- display: {
350
- dateInput: 'l',
351
- timeInput: 'h:mm A',
352
- dateTimeInput: 'l h:mm A',
353
- dateA11yLabel: 'YYYY MMMM DD',
354
- monthA11yLabel: 'MMMM',
355
- yearA11yLabel: 'YYYY'
356
- },
357
- rangeDelimiter: ' - '
358
- };
359
-
360
- class DayjsDatetimeAdapterRawModule {
361
- }
362
- DayjsDatetimeAdapterRawModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
363
- DayjsDatetimeAdapterRawModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule });
364
- DayjsDatetimeAdapterRawModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }] });
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterRawModule, decorators: [{
366
- type: NgModule,
367
- args: [{
368
- providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]
369
- }]
370
- }] });
371
- class DayjsDatetimeAdapterModule {
372
- }
373
- DayjsDatetimeAdapterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
374
- DayjsDatetimeAdapterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, imports: [DayjsDatetimeAdapterRawModule] });
375
- DayjsDatetimeAdapterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }], imports: [DayjsDatetimeAdapterRawModule] });
376
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: DayjsDatetimeAdapterModule, decorators: [{
377
- type: NgModule,
378
- args: [{
379
- imports: [DayjsDatetimeAdapterRawModule],
380
- providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }]
381
- }]
382
- }] });
383
-
384
- /**
385
- * Generated bundle index. Do not edit.
386
- */
387
-
388
- export { DAYJS_DATETIME_FORMATS, DAYJS_DATE_TIME_ADAPTER_OPTIONS, DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY, DayjsDatetimeAdapter, DayjsDatetimeAdapterModule, DayjsDatetimeAdapterRawModule };
389
- //# sourceMappingURL=fundamental-ngx-datetime-adapter.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fundamental-ngx-datetime-adapter.mjs","sources":["../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-formats.ts","../../../../libs/datetime-adapter/src/lib/dayjs-datetime-adapter.module.ts","../../../../libs/datetime-adapter/src/fundamental-ngx-datetime-adapter.ts"],"sourcesContent":["import { Inject, Injectable, InjectionToken, LOCALE_ID, Optional } from '@angular/core';\nimport dayjs, { ConfigType, Dayjs } from 'dayjs';\nimport localeData from 'dayjs/plugin/localeData';\nimport weekOfYear from 'dayjs/plugin/weekOfYear';\nimport utc from 'dayjs/plugin/utc';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport objectSupport from 'dayjs/plugin/objectSupport';\nimport localizedFormat from 'dayjs/plugin/localizedFormat';\nimport customParseFormat from 'dayjs/plugin/customParseFormat';\n\nimport { DatetimeAdapter, FdDate } from '@fundamental-ngx/core/datetime';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\n\nfunction range<T>(length: number, mapFn: (index: number) => T): T[] {\n return Array.from(new Array(length)).map((_, index) => mapFn(index));\n}\n\nexport interface DayjsDatetimeAdapterOptions {\n strict?: boolean;\n useUtc?: boolean;\n}\n\nexport const DAYJS_DATE_TIME_ADAPTER_OPTIONS = new InjectionToken<DayjsDatetimeAdapterOptions>(\n 'DAYJS_DATE_TIME_ADAPTER_OPTIONS',\n {\n providedIn: 'root',\n factory: DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY\n }\n);\n\n/** @hidden */\nexport function DAYJS_DATE_TIME_ADAPTER_OPTIONS_FACTORY(): DayjsDatetimeAdapterOptions {\n return {\n useUtc: false,\n strict: false\n };\n}\n\n/**\n * DatetimeAdapter implementation based on dayjs.\n *\n * This uses dayjs as a date model instance.\n * It relies on dayjs implementation for formatting and translation purposes.\n */\n@Injectable()\nexport class DayjsDatetimeAdapter extends DatetimeAdapter<Dayjs> {\n /** @hidden */\n private _dayjsLocaleData: dayjs.GlobalLocaleDataReturn;\n\n /** @hidden */\n private _localeData: DateLocale;\n\n /** @hidden */\n fromNow: undefined;\n\n /** @hidden */\n constructor(\n @Optional() @Inject(LOCALE_ID) localeId: string,\n @Optional() @Inject(DAYJS_DATE_TIME_ADAPTER_OPTIONS) private _options?: DayjsDatetimeAdapterOptions\n ) {\n super();\n\n dayjs.extend(localeData);\n dayjs.extend(weekOfYear);\n dayjs.extend(utc);\n dayjs.extend(isBetween);\n dayjs.extend(objectSupport);\n dayjs.extend(localizedFormat);\n dayjs.extend(customParseFormat);\n\n this.setLocale(localeId || dayjs.locale());\n }\n\n /** Set locale */\n setLocale(locale: string): void {\n if (locale.toLowerCase() === 'en-us') {\n // Handle English locale name as it's a default one and it is different\n locale = 'en';\n }\n dayjs.locale(locale);\n\n if (dayjs.locale() !== locale) {\n throw new Error(\n `Failed to load locale ${locale}. ` +\n 'Make sure it exists and is preloaded. See the imports at the top of the example file at ' +\n 'https://sap.github.io/fundamental-ngx/#/core/dayjs-datetime-adapter' +\n 'List of supported locales can be found here: https://github.com/iamkun/dayjs/tree/dev/src/locale.'\n );\n }\n\n this._dayjsLocaleData = dayjs.localeData();\n\n this._localeData = {\n firstDayOfWeek: this._dayjsLocaleData.firstDayOfWeek(),\n longMonths: this._dayjsLocaleData.months(),\n shortMonths: this._dayjsLocaleData.monthsShort(),\n narrowMonths: this._dayjsLocaleData.months().map((name: string) => name.charAt(0)),\n longDaysOfWeek: this._dayjsLocaleData.weekdays(),\n shortDaysOfWeek: this._dayjsLocaleData.weekdaysShort(),\n narrowDaysOfWeek: this._dayjsLocaleData.weekdaysMin()\n };\n\n super.setLocale(locale);\n }\n\n /** Get year */\n getYear(date: Dayjs): number {\n return date.year();\n }\n\n /** Get month */\n getMonth(date: Dayjs): number {\n return date.month() + 1;\n }\n\n /** Get date */\n getDate(date: Dayjs): number {\n return date.date();\n }\n\n /** Get day of the week */\n getDayOfWeek(date: Dayjs): number {\n return date.day() + 1;\n }\n\n /** Get hours */\n getHours(date: Dayjs): number {\n return date.hour();\n }\n\n /** Get minutes */\n getMinutes(date: Dayjs): number {\n return date.minute();\n }\n\n /** Get seconds */\n getSeconds(date: Dayjs): number {\n return date.second();\n }\n\n /** Set hours in date object */\n setHours(date: Dayjs, hours: number): Dayjs {\n return date.hour(hours);\n }\n\n /** Set minutes in date object */\n setMinutes(date: Dayjs, minutes: number): Dayjs {\n return date.minute(minutes);\n }\n\n /** Set seconds in date object */\n setSeconds(date: Dayjs, seconds: number): Dayjs {\n return date.second(seconds);\n }\n\n /** Get week number */\n getWeekNumber(date: Dayjs): number {\n return date.week();\n }\n\n /** Get months names */\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowMonths;\n case 'short':\n return this._localeData.shortMonths;\n case 'long':\n default:\n return this._localeData.longMonths;\n }\n }\n\n /** Get date names */\n getDateNames(): string[] {\n return range(31, (i) => this.createDate(2017, 0, i + 1).format('D'));\n }\n\n /** Get days of week names */\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n switch (style) {\n case 'narrow':\n return this._localeData.narrowDaysOfWeek;\n case 'short':\n return this._localeData.shortDaysOfWeek;\n case 'long':\n default:\n return this._localeData.longDaysOfWeek;\n }\n }\n\n /** Get year name */\n getYearName(date: Dayjs): string {\n return date.format('YYYY');\n }\n\n /** Get week name */\n getWeekName(date: Dayjs): string {\n return date.week().toLocaleString(this.locale);\n }\n\n /** Get hour names */\n getHourNames({ meridian, twoDigit }: { twoDigit: boolean; meridian: boolean }): string[] {\n const format: string = meridian ? (twoDigit ? 'hh' : 'h') : twoDigit ? 'HH' : 'H';\n const dayjsDate = this._createDayjsDate();\n\n return range(24, (i) => this.clone(dayjsDate).hour(i).format(format));\n }\n\n /** Get minute names */\n getMinuteNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'mm' : 'm';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).minute(i).format(format));\n }\n\n /** Get second names */\n getSecondNames({ twoDigit }: { twoDigit: boolean }): string[] {\n const format: string = twoDigit ? 'ss' : 's';\n const dayjsDate = this._createDayjsDate();\n\n return range(60, (i) => this.clone(dayjsDate).second(i).format(format));\n }\n\n /**\n * Get day period names\n * @param isLower responsible for the lower and upper cases of the result\n */\n getDayPeriodNames(isLower = false): [string, string] {\n const AM = this._dayjsLocaleData.meridiem?.(6, 0, isLower) ?? (isLower ? 'am' : 'AM');\n const PM = this._dayjsLocaleData.meridiem?.(16, 0, isLower) ?? (isLower ? 'pm' : 'PM');\n\n return [AM, PM];\n }\n\n /** Get first day of the week */\n getFirstDayOfWeek(): number {\n return this._localeData.firstDayOfWeek;\n }\n\n /** Get number of days in the month */\n getNumDaysInMonth(date: Dayjs): number {\n return date.daysInMonth();\n }\n\n /** Try to parse a string to a date object */\n parse(value: any, parseFormat: string = ''): Dayjs | null {\n if (value && typeof value === 'string') {\n return this._createDayjsDate(value, parseFormat);\n } else if (value instanceof FdDate) {\n // FdDate instance may be incorrectly parsed by DayJS\n value = value.toString();\n }\n\n return value ? this._createDayjsDate(value).locale(this.locale) : null;\n }\n\n /** Format a date as a string */\n format(date: Dayjs, displayFormat: string): string {\n if (!date) {\n return '';\n }\n\n if (!this.isValid(date)) {\n throw Error('DayjsDateTimeAdapter: Cannot format invalid date.');\n }\n\n return date.locale(dayjs.locale()).format(displayFormat);\n }\n\n /** Create date object from values */\n createDate(year: number, month: number, date: number): Dayjs {\n const result = this._createDayjsDate(new Date(year, month - 1, date));\n\n if (!result.isValid()) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\" and year \"${year}\".`);\n }\n\n return result;\n }\n\n /** Get today */\n today(): Dayjs {\n return this._createDayjsDate().locale(this.locale).startOf('day');\n }\n\n /** Get now */\n now(): Dayjs {\n return this._createDayjsDate().locale(this.locale);\n }\n\n /** Add years to date */\n addCalendarYears(date: Dayjs, years: number): Dayjs {\n return date.add(years, 'year');\n }\n\n /** Add months to date */\n addCalendarMonths(date: Dayjs, months: number): Dayjs {\n return date.add(months, 'month');\n }\n\n /** Add days to date */\n addCalendarDays(date: Dayjs, days: number): Dayjs {\n return date.add(days, 'day');\n }\n\n /** Clone date */\n clone(date: Dayjs): Dayjs {\n if (!date) {\n return date;\n }\n\n if (this.locale) {\n return date.clone().locale(this.locale);\n }\n\n return date.clone();\n }\n\n /** Compare if dates are equal */\n datesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2, 'day');\n }\n\n /** Compare if dates and time are equal */\n dateTimesEqual(date1: Dayjs, date2: Dayjs): boolean {\n if (!date1 || !date2) {\n return false;\n }\n\n return date1.isSame(date2);\n }\n\n /** Check if date is in range */\n isBetween(dateToCheck: Dayjs, startDate: Dayjs, endDate: Dayjs): boolean {\n if (!dateToCheck || !startDate || !endDate) {\n return false;\n }\n\n return dateToCheck.isBetween(startDate, endDate);\n }\n\n /** Check if date is valid date object */\n isValid(date: Nullable<Dayjs>): date is Dayjs {\n return !!date?.isValid();\n }\n\n /** Convert date to ISO8601 string */\n toIso8601(date: Dayjs): string {\n return date.toISOString();\n }\n\n /** Check if time format includes day period */\n isTimeFormatIncludesDayPeriod(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[aA]/);\n }\n\n /** Check if time format includes hours */\n isTimeFormatIncludesHours(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[hH]/);\n }\n\n /** Check if time format includes minutes */\n isTimeFormatIncludesMinutes(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[m]/);\n }\n\n /** Check if time format includes seconds */\n isTimeFormatIncludesSeconds(displayFormat: string): boolean {\n const format = this._prepareFormat(displayFormat);\n\n return !!format.match(/[s]/);\n }\n\n /**\n * @hidden\n * will attempt to parse longDataFormat (e.g. \"L\", \"LT\") and convert it to simple one.\n */\n _prepareFormat(displayFormat: string): string {\n displayFormat = displayFormat.trim();\n try {\n const formats: object = dayjs.Ls[dayjs.locale()].formats;\n // this is the regular expression to parse format taken from dayjs repo\n // https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/utils.js\n return displayFormat.replace(\n /(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,\n (_, a, b) => a || formats[b] || displayFormat\n );\n } catch (e) {\n return displayFormat;\n }\n }\n\n /** @hidden */\n _createDayjsDate(date?: ConfigType, format?: string): Dayjs {\n const { strict, useUtc }: DayjsDatetimeAdapterOptions = this._options || {};\n\n const method = useUtc ? dayjs.utc : dayjs;\n let parsed = method(date, format, strict);\n // dayjs strictly follows the provided format\n // so partial strings will not be resolved. in this case attempt to resolve without formatting\n if (!parsed?.isValid() && !strict && format) {\n parsed = method(date, undefined, strict);\n }\n return parsed;\n }\n}\n\ninterface DateLocale {\n firstDayOfWeek: number;\n longMonths: string[];\n shortMonths: string[];\n narrowMonths: string[];\n longDaysOfWeek: string[];\n shortDaysOfWeek: string[];\n narrowDaysOfWeek: string[];\n}\n","import { DateTimeFormats } from '@fundamental-ngx/core/datetime';\n\nexport const DAYJS_DATETIME_FORMATS: DateTimeFormats = {\n parse: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A'\n },\n display: {\n dateInput: 'l',\n timeInput: 'h:mm A',\n dateTimeInput: 'l h:mm A',\n\n dateA11yLabel: 'YYYY MMMM DD',\n monthA11yLabel: 'MMMM',\n yearA11yLabel: 'YYYY'\n },\n rangeDelimiter: ' - '\n};\n","import { NgModule } from '@angular/core';\nimport { DATE_TIME_FORMATS, DatetimeAdapter } from '@fundamental-ngx/core/datetime';\n\nimport { DayjsDatetimeAdapter } from './dayjs-datetime-adapter';\nimport { DAYJS_DATETIME_FORMATS } from './dayjs-datetime-formats';\n\n@NgModule({\n providers: [{ provide: DatetimeAdapter, useClass: DayjsDatetimeAdapter }]\n})\nexport class DayjsDatetimeAdapterRawModule {}\n\n@NgModule({\n imports: [DayjsDatetimeAdapterRawModule],\n providers: [{ provide: DATE_TIME_FORMATS, useValue: DAYJS_DATETIME_FORMATS }]\n})\nexport class DayjsDatetimeAdapterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
File without changes