UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

71 lines (69 loc) 6.99 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // src/data-types/decode-only/datetime.ts var datetime_exports = {}; __export(datetime_exports, { default: () => Datetime }); module.exports = __toCommonJS(datetime_exports); var import_define = require("../_internals/define.cjs"); var MILLISECONDS_PER_SECOND = 1e3; var NANOSECONDS_PER_MILLISECOND = 1e6; var NANOSECONDS_PER_SECOND = 1e9; var MAX_DATE_SECONDS = 864e10; var MIN_DATE_SECONDS = -864e10; var _Datetime = class _Datetime { constructor(source) { let s, ns; if (typeof source === "string") { const msTime = Date.parse(source); if (msTime === msTime) { s = Math.trunc(msTime / MILLISECONDS_PER_SECOND); ns = Math.abs( msTime % MILLISECONDS_PER_SECOND * NANOSECONDS_PER_MILLISECOND ); if (s <= 0 && ns > 0) { if (s <= MIN_DATE_SECONDS) { s = ns = NaN; } else { s -= 1; ns = NANOSECONDS_PER_SECOND - ns; } } } else { s = ns = NaN; } } else { ns = source[1]; s = Number(source[0]) + Math.trunc(ns / NANOSECONDS_PER_SECOND); if (s >= MIN_DATE_SECONDS && s <= MAX_DATE_SECONDS) { ns %= NANOSECONDS_PER_SECOND; } else { s = ns = NaN; } } this.seconds = s === 0 ? 0 : s; this.nanoseconds = ns === 0 ? 0 : ns; (0, import_define.defineAsDatetime)(this); } }; __name(_Datetime, "Datetime"); var Datetime = _Datetime; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvZGVjb2RlLW9ubHkvZGF0ZXRpbWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgRGF0YUl0ZW0gfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Nib3JcIjtcbmltcG9ydCB7IGRlZmluZUFzRGF0ZXRpbWUgfSBmcm9tIFwiLi4vX2ludGVybmFscy9kZWZpbmVcIjtcblxuLy8gU2VlOiBodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy9jYm9yLXRhZ3MvY2Jvci10YWdzLnhodG1sXG4vLyBTdXJyZWFsREIgXHUzMDY3XHUzMDZGXHU2NUU1XHU2NjQyXHUzMDZCXHUzMEJGXHUzMEIwIDEwMCwgMSwgMTAwNCBcdTMwOTJcdTRGN0ZcdTMwNjNcdTMwNjZcdTMwNDRcdTMwNkFcdTMwNDRcdTZBMjFcdTY5RDhcbmV4cG9ydCB0eXBlIERhdGV0aW1lU291cmNlID1cbiAgLy8gVGFnIDAgKCwgMTAwKVxuICB8IERhdGFJdGVtLlV0ZjhTdHJpbmcuRml4ZWRMZW5ndGhbXCJ2YWx1ZVwiXVxuICAvLyBUYWcgKDEsIDEwMDQpXG4gIC8vIHwgRGF0YUl0ZW0uVW5zaWduZWRJbnRlZ2VyW1widmFsdWVcIl1cbiAgLy8gfCBEYXRhSXRlbS5OZWdhdGl2ZUludGVnZXJbXCJ2YWx1ZVwiXVxuICAvLyBTdXJyZWFsREIgXHU3MkVDXHU4MUVBXG4gIHwgcmVhZG9ubHkgW1xuICAgIC8vIGk2NFxuICAgIHNlY29uZHM6XG4gICAgICB8IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlcltcInZhbHVlXCJdXG4gICAgICB8IERhdGFJdGVtLk5lZ2F0aXZlSW50ZWdlcltcInZhbHVlXCJdLFxuICAgIC8vIHUzMlxuICAgIG5hbm9zZWNvbmRzOlxuICAgICAgfCBEYXRhSXRlbS5VbnNpZ25lZEludGVnZXIuVGlueVtcInZhbHVlXCJdXG4gICAgICB8IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlci5PbmVCeXRlW1widmFsdWVcIl1cbiAgICAgIHwgRGF0YUl0ZW0uVW5zaWduZWRJbnRlZ2VyLlR3b0J5dGVzW1widmFsdWVcIl1cbiAgICAgIHwgRGF0YUl0ZW0uVW5zaWduZWRJbnRlZ2VyLkZvdXJCeXRlc1tcInZhbHVlXCJdLFxuICBdO1xuXG5jb25zdCBNSUxMSVNFQ09ORFNfUEVSX1NFQ09ORCA9IDFlMztcbmNvbnN0IE5BTk9TRUNPTkRTX1BFUl9NSUxMSVNFQ09ORCA9IDFlNjtcbmNvbnN0IE5BTk9TRUNPTkRTX1BFUl9TRUNPTkQgPSAxZTk7XG5cbmNvbnN0IE1BWF9EQVRFX1NFQ09ORFMgPSA4XzY0MF8wMDBfMDAwXzAwMDtcbmNvbnN0IE1JTl9EQVRFX1NFQ09ORFMgPSAtOF82NDBfMDAwXzAwMF8wMDA7XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2RhdGV0aW1lKVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEYXRldGltZSB7XG4gIC8qKlxuICAgKiAtKDJeNTMtMSkgfiAyXjUzLTEsIE5hTlxuICAgKi9cbiAgcmVhZG9ubHkgc2Vjb25kczogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiAwIH4gOTk5Xzk5OV85OTksIE5hTlxuICAgKi9cbiAgcmVhZG9ubHkgbmFub3NlY29uZHM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IERhdGV0aW1lU291cmNlKSB7XG4gICAgbGV0IHM6IG51bWJlciwgbnM6IG51bWJlcjtcblxuICAgIGlmICh0eXBlb2Ygc291cmNlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBjb25zdCBtc1RpbWUgPSBEYXRlLnBhcnNlKHNvdXJjZSk7XG5cbiAgICAgIGlmIChtc1RpbWUgPT09IG1zVGltZSkge1xuICAgICAgICBzID0gTWF0aC50cnVuYyhtc1RpbWUgLyBNSUxMSVNFQ09ORFNfUEVSX1NFQ09ORCk7XG4gICAgICAgIG5zID0gTWF0aC5hYnMoXG4gICAgICAgICAgKG1zVGltZSAlIE1JTExJU0VDT05EU19QRVJfU0VDT05EKSAqIE5BTk9TRUNPTkRTX1BFUl9NSUxMSVNFQ09ORCxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocyA8PSAwICYmIG5zID4gMCkge1xuICAgICAgICAgIGlmIChzIDw9IE1JTl9EQVRFX1NFQ09ORFMpIHtcbiAgICAgICAgICAgIHMgPSBucyA9IE5hTjsgLy8gVW5kZXJmbG93XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHMgLT0gMTtcbiAgICAgICAgICAgIG5zID0gTkFOT1NFQ09ORFNfUEVSX1NFQ09ORCAtIG5zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcyA9IG5zID0gTmFOO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBucyA9IHNvdXJjZVsxXTtcbiAgICAgIHMgPSBOdW1iZXIoc291cmNlWzBdKSArIE1hdGgudHJ1bmMobnMgLyBOQU5PU0VDT05EU19QRVJfU0VDT05EKTtcblxuICAgICAgaWYgKHMgPj0gTUlOX0RBVEVfU0VDT05EUyAmJiBzIDw9IE1BWF9EQVRFX1NFQ09ORFMpIHtcbiAgICAgICAgbnMgJT0gTkFOT1NFQ09ORFNfUEVSX1NFQ09ORDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHMgPSBucyA9IE5hTjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnNlY29uZHMgPSBzID09PSAwID8gMCA6IHM7XG4gICAgdGhpcy5uYW5vc2Vjb25kcyA9IG5zID09PSAwID8gMCA6IG5zO1xuXG4gICAgZGVmaW5lQXNEYXRldGltZSh0aGlzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNBLG9CQUFpQztBQXdCakMsSUFBTSwwQkFBMEI7QUFDaEMsSUFBTSw4QkFBOEI7QUFDcEMsSUFBTSx5QkFBeUI7QUFFL0IsSUFBTSxtQkFBbUI7QUFDekIsSUFBTSxtQkFBbUI7QUFLekIsSUFBcUIsWUFBckIsTUFBcUIsVUFBUztBQUFBLEVBVzVCLFlBQVksUUFBd0I7QUFDbEMsUUFBSSxHQUFXO0FBRWYsUUFBSSxPQUFPLFdBQVcsVUFBVTtBQUM5QixZQUFNLFNBQVMsS0FBSyxNQUFNLE1BQU07QUFFaEMsVUFBSSxXQUFXLFFBQVE7QUFDckIsWUFBSSxLQUFLLE1BQU0sU0FBUyx1QkFBdUI7QUFDL0MsYUFBSyxLQUFLO0FBQUEsVUFDUCxTQUFTLDBCQUEyQjtBQUFBLFFBQ3ZDO0FBRUEsWUFBSSxLQUFLLEtBQUssS0FBSyxHQUFHO0FBQ3BCLGNBQUksS0FBSyxrQkFBa0I7QUFDekIsZ0JBQUksS0FBSztBQUFBLFVBQ1gsT0FBTztBQUNMLGlCQUFLO0FBQ0wsaUJBQUsseUJBQXlCO0FBQUEsVUFDaEM7QUFBQSxRQUNGO0FBQUEsTUFDRixPQUFPO0FBQ0wsWUFBSSxLQUFLO0FBQUEsTUFDWDtBQUFBLElBQ0YsT0FBTztBQUNMLFdBQUssT0FBTyxDQUFDO0FBQ2IsVUFBSSxPQUFPLE9BQU8sQ0FBQyxDQUFDLElBQUksS0FBSyxNQUFNLEtBQUssc0JBQXNCO0FBRTlELFVBQUksS0FBSyxvQkFBb0IsS0FBSyxrQkFBa0I7QUFDbEQsY0FBTTtBQUFBLE1BQ1IsT0FBTztBQUNMLFlBQUksS0FBSztBQUFBLE1BQ1g7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVLE1BQU0sSUFBSSxJQUFJO0FBQzdCLFNBQUssY0FBYyxPQUFPLElBQUksSUFBSTtBQUVsQyx3Q0FBaUIsSUFBSTtBQUFBLEVBQ3ZCO0FBQ0Y7QUFsRDhCO0FBQTlCLElBQXFCLFdBQXJCOyIsCiAgIm5hbWVzIjogW10KfQo=