UNPKG

read-excel-file

Version:

Read `*.xlsx` files of moderate size in a web browser or on a server.

36 lines (35 loc) 1.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = DateType; var _parseDate = _interopRequireDefault(require("../read/parseDate.js")); var _InvalidError = _interopRequireDefault(require("./InvalidError.js")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function DateType(value, _ref) { var properties = _ref.properties; // XLSX has no specific format for dates. // Sometimes a date can be heuristically detected. // https://github.com/catamphetamine/read-excel-file/issues/3#issuecomment-395770777 if (value instanceof Date) { if (isNaN(value.valueOf())) { throw new _InvalidError["default"]('out_of_bounds'); } return value; } if (typeof value === 'number') { if (isNaN(value)) { throw new _InvalidError["default"]('invalid_number'); } if (!isFinite(value)) { throw new _InvalidError["default"]('out_of_bounds'); } var date = (0, _parseDate["default"])(value, properties); if (isNaN(date.valueOf())) { throw new _InvalidError["default"]('out_of_bounds'); } return date; } throw new _InvalidError["default"]('not_a_date'); } //# sourceMappingURL=Date.js.map