UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

53 lines (51 loc) 5.53 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/data-types/encodable/datetime.ts import { Datetime as Base } from "../decode-only/index.mjs"; import { quoteStr } from "../../utils/index.mjs"; import { toISOString } from "../_internals/datetime.mjs"; import { CBOR_TAG_DATETIME } from "./spec.mjs"; var MILLISECONDS_PER_SECOND = 1e3; var NANOSECONDS_PER_MILLISECOND = 1e6; var _Datetime = class _Datetime extends Base { 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 toISOString(this.toDate(), this.nanoseconds); } toDate() { return new Date(this.valueOf()); } toCBOR() { return [ CBOR_TAG_DATETIME, [this.seconds, this.nanoseconds] ]; } toJSON() { return this.toISOString(); } toSurql() { const iso = this.toISOString(); return "d" + quoteStr(iso); } toPlainObject() { return { seconds: this.seconds, nanoseconds: this.nanoseconds }; } }; __name(_Datetime, "Datetime"); var Datetime = _Datetime; export { Datetime as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvZW5jb2RhYmxlL2RhdGV0aW1lLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBEYXRldGltZSBhcyBCYXNlIH0gZnJvbSBcIkB0YWkta3VuL3N1cnJlYWxkYi9kZWNvZGVvbmx5LWRhdGF0eXBlc1wiO1xuaW1wb3J0IHsgcXVvdGVTdHIgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL3V0aWxzXCI7XG5pbXBvcnQgeyB0b0lTT1N0cmluZyB9IGZyb20gXCIuLi9faW50ZXJuYWxzL2RhdGV0aW1lXCI7XG5pbXBvcnQgeyBDQk9SX1RBR19EQVRFVElNRSwgdHlwZSBFbmNvZGFibGUgfSBmcm9tIFwiLi9zcGVjXCI7XG5cbmV4cG9ydCB0eXBlICogZnJvbSBcIi4uL2RlY29kZS1vbmx5L2RhdGV0aW1lXCI7XG5cbmNvbnN0IE1JTExJU0VDT05EU19QRVJfU0VDT05EID0gMWUzO1xuY29uc3QgTkFOT1NFQ09ORFNfUEVSX01JTExJU0VDT05EID0gMWU2O1xuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvZGF0YS9kYXRldGltZSlcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRGF0ZXRpbWUgZXh0ZW5kcyBCYXNlIGltcGxlbWVudHMgRW5jb2RhYmxlIHtcbiAgb3ZlcnJpZGUgdmFsdWVPZigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnNlY29uZHMgKiBNSUxMSVNFQ09ORFNfUEVSX1NFQ09ORFxuICAgICAgKyBNYXRoLmZsb29yKHRoaXMubmFub3NlY29uZHMgLyBOQU5PU0VDT05EU19QRVJfTUlMTElTRUNPTkQpO1xuICB9XG5cbiAgb3ZlcnJpZGUgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50b0RhdGUoKS50b1N0cmluZygpO1xuICB9XG5cbiAgW1N5bWJvbC50b1ByaW1pdGl2ZV0oaGludDogXCJkZWZhdWx0XCIgfCBcInN0cmluZ1wiKTogc3RyaW5nO1xuICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBcIm51bWJlclwiKTogbnVtYmVyO1xuICBbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50OiBzdHJpbmcpOiBzdHJpbmcgfCBudW1iZXI7XG4gIFtTeW1ib2wudG9QcmltaXRpdmVdKGhpbnQ6IHN0cmluZyk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMudG9EYXRlKClbU3ltYm9sLnRvUHJpbWl0aXZlXShoaW50KTtcbiAgfVxuXG4gIHRvSVNPU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRvSVNPU3RyaW5nKHRoaXMudG9EYXRlKCksIHRoaXMubmFub3NlY29uZHMpO1xuICB9XG5cbiAgdG9EYXRlKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZSh0aGlzLnZhbHVlT2YoKSk7XG4gIH1cblxuICB0b0NCT1IoKTogW1xuICAgIHRhZzogdHlwZW9mIENCT1JfVEFHX0RBVEVUSU1FLFxuICAgIHZhbHVlOiBbc2Vjb25kczogbnVtYmVyLCBuYW5vc2Vjb25kczogbnVtYmVyXSxcbiAgXSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIENCT1JfVEFHX0RBVEVUSU1FLFxuICAgICAgW3RoaXMuc2Vjb25kcywgdGhpcy5uYW5vc2Vjb25kc10sXG4gICAgXTtcbiAgfVxuXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRvSVNPU3RyaW5nKCk7XG4gIH1cblxuICB0b1N1cnFsKCk6IHN0cmluZyB7XG4gICAgY29uc3QgaXNvID0gdGhpcy50b0lTT1N0cmluZygpO1xuXG4gICAgLy8gVE9ETyh0YWkta3VuKTogU3VycmVhbERCIFx1MzA2Rlx1NjJFMVx1NUYzNVx1MzA1NVx1MzA4Q1x1MzA1Rlx1NUU3NFx1MzA5Mlx1NjI3MVx1MzA0OFx1MzA2QVx1MzA0NFx1MzA1Rlx1MzA4MVx1MzAwMVx1MzA1M1x1MzA1M1x1MzA2N1x1MzBBOFx1MzBFOVx1MzBGQ1x1MzA5Mlx1NjI5NVx1MzA1Mlx1MzA4Qlx1NUZDNVx1ODk4MVx1MzA0Q1x1MzA0Mlx1MzA4Qlx1MzAwMlxuICAgIC8vIGlmIChpc29bMF0gPT09IFwiK1wiIHx8IGlzb1swXSA9PT0gXCItXCIpIHtcbiAgICAvLyAgIHRocm93IG5ldyBOdW1iZXJSYW5nZUVycm9yKCk7XG4gICAgLy8gfVxuXG4gICAgcmV0dXJuIFwiZFwiICsgcXVvdGVTdHIoaXNvKTtcbiAgfVxuXG4gIHRvUGxhaW5PYmplY3QoKToge1xuICAgIHNlY29uZHM6IG51bWJlcjtcbiAgICBuYW5vc2Vjb25kczogbnVtYmVyO1xuICB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vjb25kczogdGhpcy5zZWNvbmRzLFxuICAgICAgbmFub3NlY29uZHM6IHRoaXMubmFub3NlY29uZHMsXG4gICAgfTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7OztBQUFBLFNBQVMsWUFBWSxZQUFZO0FBQ2pDLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMseUJBQXlDO0FBSWxELElBQU0sMEJBQTBCO0FBQ2hDLElBQU0sOEJBQThCO0FBS3BDLElBQXFCLFlBQXJCLE1BQXFCLGtCQUFpQixLQUEwQjtBQUFBLEVBQ3JELFVBQWtCO0FBQ3pCLFdBQU8sS0FBSyxVQUFVLDBCQUNsQixLQUFLLE1BQU0sS0FBSyxjQUFjLDJCQUEyQjtBQUFBLEVBQy9EO0FBQUEsRUFFUyxXQUFtQjtBQUMxQixXQUFPLEtBQUssT0FBTyxFQUFFLFNBQVM7QUFBQSxFQUNoQztBQUFBLEVBS0EsQ0FBQyxPQUFPLFdBQVcsRUFBRSxNQUErQjtBQUNsRCxXQUFPLEtBQUssT0FBTyxFQUFFLE9BQU8sV0FBVyxFQUFFLElBQUk7QUFBQSxFQUMvQztBQUFBLEVBRUEsY0FBc0I7QUFDcEIsV0FBTyxZQUFZLEtBQUssT0FBTyxHQUFHLEtBQUssV0FBVztBQUFBLEVBQ3BEO0FBQUEsRUFFQSxTQUFlO0FBQ2IsV0FBTyxJQUFJLEtBQUssS0FBSyxRQUFRLENBQUM7QUFBQSxFQUNoQztBQUFBLEVBRUEsU0FHRTtBQUNBLFdBQU87QUFBQSxNQUNMO0FBQUEsTUFDQSxDQUFDLEtBQUssU0FBUyxLQUFLLFdBQVc7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFBQSxFQUVBLFNBQWlCO0FBQ2YsV0FBTyxLQUFLLFlBQVk7QUFBQSxFQUMxQjtBQUFBLEVBRUEsVUFBa0I7QUFDaEIsVUFBTSxNQUFNLEtBQUssWUFBWTtBQU83QixXQUFPLE1BQU0sU0FBUyxHQUFHO0FBQUEsRUFDM0I7QUFBQSxFQUVBLGdCQUdFO0FBQ0EsV0FBTztBQUFBLE1BQ0wsU0FBUyxLQUFLO0FBQUEsTUFDZCxhQUFhLEtBQUs7QUFBQSxJQUNwQjtBQUFBLEVBQ0Y7QUFDRjtBQTNEZ0U7QUFBaEUsSUFBcUIsV0FBckI7IiwKICAibmFtZXMiOiBbXQp9Cg==