@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
34 lines (32 loc) • 4.29 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/data-types/decode-only/duration.ts
import { NumberRangeError } from "../../errors/index.mjs";
import { defineAsDuration } from "../_internals/define.mjs";
var NANOSECONDS_PER_SECOND = 1000000000n;
var MAX_UINT_64 = 18446744073709551615n;
var _Duration = class _Duration {
constructor(source) {
let [s = 0n, ns = 0n] = source;
this._seconds = BigInt(s) + (ns = BigInt(ns)) / NANOSECONDS_PER_SECOND;
this._nanoseconds = Number(ns % NANOSECONDS_PER_SECOND);
defineAsDuration(this);
if (this._seconds < 0n || this._seconds > MAX_UINT_64) {
throw new NumberRangeError([0n, MAX_UINT_64], this._seconds, {
integer: true
});
}
}
get seconds() {
return this._seconds;
}
get nanoseconds() {
return this._nanoseconds;
}
};
__name(_Duration, "Duration");
var Duration = _Duration;
export {
Duration as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvZGVjb2RlLW9ubHkvZHVyYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImltcG9ydCB0eXBlIHsgRGF0YUl0ZW0gfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Nib3JcIjtcbmltcG9ydCB7IE51bWJlclJhbmdlRXJyb3IgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Vycm9yc1wiO1xuaW1wb3J0IHsgZGVmaW5lQXNEdXJhdGlvbiB9IGZyb20gXCIuLi9faW50ZXJuYWxzL2RlZmluZVwiO1xuXG5leHBvcnQgdHlwZSBEdXJhdGlvblNvdXJjZSA9XG4gIC8vIFN1cnJlYWxEQiBcdTcyRUNcdTgxRUFcbiAgLy8gXHUzMEM3XHUzMEZDXHUzMEJGXHU1NzhCXHUzMDZGIHN0ZDo6dGltZTo6RHVyYXRpb24gXHUzMDZCXHU1RjkzXHUzMDQ2XHUzMDAyXG4gIC8vIGh0dHBzOi8vZG9jLnJ1c3QtbGFuZy5vcmcvc3RhYmxlL3N0ZC90aW1lL3N0cnVjdC5EdXJhdGlvbi5odG1sI21ldGhvZC5uZXdcbiAgfCByZWFkb25seSBbXG4gICAgLy8gdTY0XG4gICAgc2Vjb25kcz86IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlcltcInZhbHVlXCJdIHwgdW5kZWZpbmVkLFxuICAgIC8vIHUzMlxuICAgIG5hbm9zZWNvbmRzPzogdW5kZWZpbmVkLFxuICBdXG4gIHwgcmVhZG9ubHkgW1xuICAgIC8vIHU2NFxuICAgIHNlY29uZHM6IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlcltcInZhbHVlXCJdLFxuICAgIC8vIHUzMlxuICAgIG5hbm9zZWNvbmRzPzpcbiAgICAgIHwgRGF0YUl0ZW0uVW5zaWduZWRJbnRlZ2VyLlRpbnlbXCJ2YWx1ZVwiXVxuICAgICAgfCBEYXRhSXRlbS5VbnNpZ25lZEludGVnZXIuT25lQnl0ZVtcInZhbHVlXCJdXG4gICAgICB8IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlci5Ud29CeXRlc1tcInZhbHVlXCJdXG4gICAgICB8IERhdGFJdGVtLlVuc2lnbmVkSW50ZWdlci5Gb3VyQnl0ZXNbXCJ2YWx1ZVwiXVxuICAgICAgfCB1bmRlZmluZWQsXG4gIF07XG5cbmNvbnN0IE5BTk9TRUNPTkRTX1BFUl9TRUNPTkQgPSAxXzAwMF8wMDBfMDAwbjtcblxuY29uc3QgTUFYX1VJTlRfNjQgPSAxODQ0Njc0NDA3MzcwOTU1MTYxNW47XG5cbi8qKlxuICogW0FQSSBSZWZlcmVuY2VdKGh0dHBzOi8vdGFpLWt1bi5naXRodWIuaW8vc3VycmVhbGRiLmpzL3YyL2FwaS9kYXRhL2R1cmF0aW9uKVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBEdXJhdGlvbiB7XG4gIHByb3RlY3RlZCBfc2Vjb25kczogYmlnaW50O1xuXG4gIHByb3RlY3RlZCBfbmFub3NlY29uZHM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihzb3VyY2U6IER1cmF0aW9uU291cmNlKSB7XG4gICAgbGV0IFtzID0gMG4sIG5zID0gMG5dID0gc291cmNlO1xuICAgIHRoaXMuX3NlY29uZHMgPSBCaWdJbnQocykgKyAobnMgPSBCaWdJbnQobnMpKSAvIE5BTk9TRUNPTkRTX1BFUl9TRUNPTkQ7XG4gICAgdGhpcy5fbmFub3NlY29uZHMgPSBOdW1iZXIobnMgJSBOQU5PU0VDT05EU19QRVJfU0VDT05EKTtcbiAgICBkZWZpbmVBc0R1cmF0aW9uKHRoaXMpO1xuXG4gICAgaWYgKHRoaXMuX3NlY29uZHMgPCAwbiB8fCB0aGlzLl9zZWNvbmRzID4gTUFYX1VJTlRfNjQpIHtcbiAgICAgIHRocm93IG5ldyBOdW1iZXJSYW5nZUVycm9yKFswbiwgTUFYX1VJTlRfNjRdLCB0aGlzLl9zZWNvbmRzLCB7XG4gICAgICAgIGludGVnZXI6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBnZXQgc2Vjb25kcygpOiBiaWdpbnQge1xuICAgIHJldHVybiB0aGlzLl9zZWNvbmRzO1xuICB9XG5cbiAgZ2V0IG5hbm9zZWNvbmRzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX25hbm9zZWNvbmRzO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBQ0EsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyx3QkFBd0I7QUF3QmpDLElBQU0seUJBQXlCO0FBRS9CLElBQU0sY0FBYztBQUtwQixJQUFxQixZQUFyQixNQUFxQixVQUFTO0FBQUEsRUFLNUIsWUFBWSxRQUF3QjtBQUNsQyxRQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJO0FBQ3hCLFNBQUssV0FBVyxPQUFPLENBQUMsS0FBSyxLQUFLLE9BQU8sRUFBRSxLQUFLO0FBQ2hELFNBQUssZUFBZSxPQUFPLEtBQUssc0JBQXNCO0FBQ3RELHFCQUFpQixJQUFJO0FBRXJCLFFBQUksS0FBSyxXQUFXLE1BQU0sS0FBSyxXQUFXLGFBQWE7QUFDckQsWUFBTSxJQUFJLGlCQUFpQixDQUFDLElBQUksV0FBVyxHQUFHLEtBQUssVUFBVTtBQUFBLFFBQzNELFNBQVM7QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUFBLEVBRUEsSUFBSSxVQUFrQjtBQUNwQixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFQSxJQUFJLGNBQXNCO0FBQ3hCLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFDRjtBQXpCOEI7QUFBOUIsSUFBcUIsV0FBckI7IiwKICAibmFtZXMiOiBbXQp9Cg==