UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

72 lines (70 loc) 6.52 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/encodable/datetime.ts var datetime_exports = {}; __export(datetime_exports, { default: () => Datetime }); module.exports = __toCommonJS(datetime_exports); var import_decodeonly_datatypes = require("../decode-only/index.cjs"); var import_utils = require("../../utils/index.cjs"); var import_datetime = require("../_internals/datetime.cjs"); var import_spec = require("./spec.cjs"); var MILLISECONDS_PER_SECOND = 1e3; var NANOSECONDS_PER_MILLISECOND = 1e6; var _Datetime = class _Datetime extends import_decodeonly_datatypes.Datetime { valueOf() { return this.seconds * MILLISECONDS_PER_SECOND + Math.floor(this.nanoseconds / NANOSECONDS_PER_MILLISECOND); } toString() { return this.toDate().toString(); } [Symbol.toPrimitive](hint) { return this.toDate()[Symbol.toPrimitive](hint); } toISOString() { return (0, import_datetime.toISOString)(this.toDate(), this.nanoseconds); } toDate() { return new Date(this.valueOf()); } toCBOR() { return [ import_spec.CBOR_TAG_DATETIME, [this.seconds, this.nanoseconds] ]; } toJSON() { return this.toISOString(); } toSurql() { const iso = this.toISOString(); return "d" + (0, import_utils.quoteStr)(iso); } toPlainObject() { return { seconds: this.seconds, nanoseconds: this.nanoseconds }; } }; __name(_Datetime, "Datetime"); var Datetime = _Datetime; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvZW5jb2RhYmxlL2RhdGV0aW1lLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBEYXRldGltZSBhcyBCYXNlIH0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi9kZWNvZGVvbmx5LWRhdGF0eXBlc1wiO1xuaW1wb3J0IHsgcXVvdGVTdHIgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL3V0aWxzXCI7XG5pbXBvcnQgeyB0b0lTT1N0cmluZyB9IGZyb20gXCIuLi9faW50ZXJuYWxzL2RhdGV0aW1lXCI7XG5pbXBvcnQgeyBDQk9SX1RBR19EQVRFVElNRSwgdHlwZSBFbmNvZGFibGUgfSBmcm9tIFwiLi9zcGVjXCI7XG5cbmV4cG9ydCB0eXBlICogZnJvbSBcIi4uL2RlY29kZS1vbmx5L2RhdGV0aW1lXCI7XG5cbmNvbnN0IE1JTExJU0VDT05EU19QRVJfU0VDT05EID0gMWUzO1xuY29uc3QgTkFOT1NFQ09ORFNfUEVSX01JTExJU0VDT05EID0gMWU2O1xuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvZGF0YS9kYXRldGltZSlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZXRpbWUgZXh0ZW5kcyBCYXNlIGltcGxlbWVudHMgRW5jb2RhYmxlIHtcbiAgb3ZlcnJpZGUgdmFsdWVPZigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNlY29uZHMgKiBNSUxMSVNFQ09ORFNfUEVSX1NFQ09ORFxuICAgICAgKyBNYXRoLmZsb29yKHRoaXMubmFub3NlY29uZHMgLyBOQU5PU0VDT05EU19QRVJfTUlMTElTRUNPTkQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b0RhdGUoKS50b1N0cmluZygpO1xuICB9XG5cbiAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludDogXCJkZWZhdWx0XCIgfCBcInN0cmluZ1wiKTogc3RyaW5nO1xuICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBcIm51bWJlclwiKTogbnVtYmVyO1xuICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXI7XG4gIFtTeW1ib2wudG9QcmltaXRpdmVdKGhpbnQ6IHN0cmluZyk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9EYXRlKClbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50KTtcbiAgfVxuXG4gIHRvSVNPU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvSVNPU3RyaW5nKHRoaXMudG9EYXRlKCksIHRoaXMubmFub3NlY29uZHMpO1xuICB9XG5cbiAgdG9EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSk7XG4gIH1cblxuICB0b0NCT1IoKTogW1xuICAgIHRhZzogdHlwZW9mIENCT1JfVEFHX0RBVEVUSU1FLFxuICAgIHZhbHVlOiBbc2Vjb25kczogbnVtYmVyLCBuYW5vc2Vjb25kczogbnVtYmVyXSxcbiAgXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENCT1JfVEFHX0RBVEVUSU1FLFxuICAgICAgW3RoaXMuc2Vjb25kcywgdGhpcy5uYW5vc2Vjb25kc10sXG4gICAgXTtcbiAgfVxuXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICB0b1N1cnFsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaXNvID0gdGhpcy50b0lTT1N0cmluZygpO1xuXG4gICAgLy8gVE9ETyh0YWkta3VuKTogU3VycmVhbERCIFx1MzA2Rlx1NjJFMVx1NUYzNVx1MzA1NVx1MzA4Q1x1MzA1Rlx1NUU3NFx1MzA5Mlx1NjI3MVx1MzA0OFx1MzA2QVx1MzA0NFx1MzA1Rlx1MzA4MVx1MzAwMVx1MzA1M1x1MzA1M1x1MzA2N1x1MzBBOFx1MzBFOVx1MzBGQ1x1MzA5Mlx1NjI5NVx1MzA1Mlx1MzA4Qlx1NUZDNVx1ODk4MVx1MzA0Q1x1MzA0Mlx1MzA4Qlx1MzAwMlxuICAgIC8vIGlmIChpc29bMF0gPT09IFwiK1wiIHx8IGlzb1swXSA9PT0gXCItXCIpIHtcbiAgICAvLyAgIHRocm93IG5ldyBOdW1iZXJSYW5nZUVycm9yKCk7XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIFwiZFwiICsgcXVvdGVTdHIoaXNvKTtcbiAgfVxuXG4gIHRvUGxhaW5PYmplY3QoKToge1xuICAgIHNlY29uZHM6IG51bWJlcjtcbiAgICBuYW5vc2Vjb25kczogbnVtYmVyO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vjb25kczogdGhpcy5zZWNvbmRzLFxuICAgICAgbmFub3NlY29uZHM6IHRoaXMubmFub3NlY29uZHMsXG4gICAgfTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGtDQUFpQztBQUNqQyxtQkFBeUI7QUFDekIsc0JBQTRCO0FBQzVCLGtCQUFrRDtBQUlsRCxJQUFNLDBCQUEwQjtBQUNoQyxJQUFNLDhCQUE4QjtBQUtwQyxJQUFxQixZQUFyQixNQUFxQixrQkFBaUIsNEJBQUFBLFNBQTBCO0FBQUEsRUFDckQsVUFBa0I7QUFDekIsV0FBTyxLQUFLLFVBQVUsMEJBQ2xCLEtBQUssTUFBTSxLQUFLLGNBQWMsMkJBQTJCO0FBQUEsRUFDL0Q7QUFBQSxFQUVTLFdBQW1CO0FBQzFCLFdBQU8sS0FBSyxPQUFPLEVBQUUsU0FBUztBQUFBLEVBQ2hDO0FBQUEsRUFLQSxDQUFDLE9BQU8sV0FBVyxFQUFFLE1BQStCO0FBQ2xELFdBQU8sS0FBSyxPQUFPLEVBQUUsT0FBTyxXQUFXLEVBQUUsSUFBSTtBQUFBLEVBQy9DO0FBQUEsRUFFQSxjQUFzQjtBQUNwQixlQUFPLDZCQUFZLEtBQUssT0FBTyxHQUFHLEtBQUssV0FBVztBQUFBLEVBQ3BEO0FBQUEsRUFFQSxTQUFlO0FBQ2IsV0FBTyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUM7QUFBQSxFQUNoQztBQUFBLEVBRUEsU0FHRTtBQUNBLFdBQU87QUFBQSxNQUNMO0FBQUEsTUFDQSxDQUFDLEtBQUssU0FBUyxLQUFLLFdBQVc7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFBQSxFQUVBLFNBQWlCO0FBQ2YsV0FBTyxLQUFLLFlBQVk7QUFBQSxFQUMxQjtBQUFBLEVBRUEsVUFBa0I7QUFDaEIsVUFBTSxNQUFNLEtBQUssWUFBWTtBQU83QixXQUFPLFVBQU0sdUJBQVMsR0FBRztBQUFBLEVBQzNCO0FBQUEsRUFFQSxnQkFHRTtBQUNBLFdBQU87QUFBQSxNQUNMLFNBQVMsS0FBSztBQUFBLE1BQ2QsYUFBYSxLQUFLO0FBQUEsSUFDcEI7QUFBQSxFQUNGO0FBQ0Y7QUEzRGdFO0FBQWhFLElBQXFCLFdBQXJCOyIsCiAgIm5hbWVzIjogWyJCYXNlIl0KfQo=