UNPKG

@northscaler/service-support

Version:

Artifacts that assist in writing service layers effectively

38 lines (30 loc) 3.15 kB
'use strict'; const Enumeration = require('@northscaler/enum-support'); /** * Enumeration object of date formats. * Values are: * * `ISO_8601` * * `UNIX_MILLISECONDS` * * `UNIX_SECONDS` */ const DateFormat = Enumeration.new({ name: 'DateFormat', values: ['ISO_8601', 'UNIX_MILLISECONDS', 'UNIX_SECONDS'] }, { format(date) { if (!date) return date; if (!(date instanceof Date)) return date; switch (this) { case DateFormat.ISO_8601: return date.toISOString(); case DateFormat.UNIX_MILLISECONDS: return date.getTime(); case DateFormat.UNIX_SECONDS: return date.getTime() / 1000; default: throw new DateFormat.$ERROR$(); } } }); module.exports = DateFormat; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9tYWluL2VudW1zL0RhdGVGb3JtYXQuanMiXSwibmFtZXMiOlsiRW51bWVyYXRpb24iLCJyZXF1aXJlIiwiRGF0ZUZvcm1hdCIsIm5ldyIsIm5hbWUiLCJ2YWx1ZXMiLCJmb3JtYXQiLCJkYXRlIiwiRGF0ZSIsIklTT184NjAxIiwidG9JU09TdHJpbmciLCJVTklYX01JTExJU0VDT05EUyIsImdldFRpbWUiLCJVTklYX1NFQ09ORFMiLCIkRVJST1IkIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsTUFBTUEsV0FBVyxHQUFHQyxPQUFPLENBQUMsMkJBQUQsQ0FBM0I7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsTUFBTUMsVUFBVSxHQUFHRixXQUFXLENBQUNHLEdBQVosQ0FBZ0I7QUFDakNDLEVBQUFBLElBQUksRUFBRSxZQUQyQjtBQUVqQ0MsRUFBQUEsTUFBTSxFQUFFLENBQ04sVUFETSxFQUVOLG1CQUZNLEVBR04sY0FITTtBQUZ5QixDQUFoQixFQU9oQjtBQUNEQyxFQUFBQSxNQUFNLENBQUVDLElBQUYsRUFBUTtBQUNaLFFBQUksQ0FBQ0EsSUFBTCxFQUFXLE9BQU9BLElBQVA7QUFDWCxRQUFJLEVBQUVBLElBQUksWUFBWUMsSUFBbEIsQ0FBSixFQUE2QixPQUFPRCxJQUFQOztBQUU3QixZQUFRLElBQVI7QUFDRSxXQUFLTCxVQUFVLENBQUNPLFFBQWhCO0FBQ0UsZUFBT0YsSUFBSSxDQUFDRyxXQUFMLEVBQVA7O0FBQ0YsV0FBS1IsVUFBVSxDQUFDUyxpQkFBaEI7QUFDRSxlQUFPSixJQUFJLENBQUNLLE9BQUwsRUFBUDs7QUFDRixXQUFLVixVQUFVLENBQUNXLFlBQWhCO0FBQ0UsZUFBT04sSUFBSSxDQUFDSyxPQUFMLEtBQWlCLElBQXhCOztBQUNGO0FBQ0UsY0FBTSxJQUFJVixVQUFVLENBQUNZLE9BQWYsRUFBTjtBQVJKO0FBVUQ7O0FBZkEsQ0FQZ0IsQ0FBbkI7QUF5QkFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQmQsVUFBakIiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCdcblxuY29uc3QgRW51bWVyYXRpb24gPSByZXF1aXJlKCdAbm9ydGhzY2FsZXIvZW51bS1zdXBwb3J0JylcblxuLyoqXG4gKiBFbnVtZXJhdGlvbiBvYmplY3Qgb2YgZGF0ZSBmb3JtYXRzLlxuICogVmFsdWVzIGFyZTpcbiAqICogYElTT184NjAxYFxuICogKiBgVU5JWF9NSUxMSVNFQ09ORFNgXG4gKiAqIGBVTklYX1NFQ09ORFNgXG4gKi9cbmNvbnN0IERhdGVGb3JtYXQgPSBFbnVtZXJhdGlvbi5uZXcoe1xuICBuYW1lOiAnRGF0ZUZvcm1hdCcsXG4gIHZhbHVlczogW1xuICAgICdJU09fODYwMScsXG4gICAgJ1VOSVhfTUlMTElTRUNPTkRTJyxcbiAgICAnVU5JWF9TRUNPTkRTJ1xuICBdXG59LCB7XG4gIGZvcm1hdCAoZGF0ZSkge1xuICAgIGlmICghZGF0ZSkgcmV0dXJuIGRhdGVcbiAgICBpZiAoIShkYXRlIGluc3RhbmNlb2YgRGF0ZSkpIHJldHVybiBkYXRlXG5cbiAgICBzd2l0Y2ggKHRoaXMpIHtcbiAgICAgIGNhc2UgRGF0ZUZvcm1hdC5JU09fODYwMTpcbiAgICAgICAgcmV0dXJuIGRhdGUudG9JU09TdHJpbmcoKVxuICAgICAgY2FzZSBEYXRlRm9ybWF0LlVOSVhfTUlMTElTRUNPTkRTOlxuICAgICAgICByZXR1cm4gZGF0ZS5nZXRUaW1lKClcbiAgICAgIGNhc2UgRGF0ZUZvcm1hdC5VTklYX1NFQ09ORFM6XG4gICAgICAgIHJldHVybiBkYXRlLmdldFRpbWUoKSAvIDEwMDBcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBEYXRlRm9ybWF0LiRFUlJPUiQoKVxuICAgIH1cbiAgfVxufSlcblxubW9kdWxlLmV4cG9ydHMgPSBEYXRlRm9ybWF0XG4iXX0=