@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
59 lines (57 loc) • 4.08 kB
JavaScript
;
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/utils/serial.ts
var serial_exports = {};
__export(serial_exports, {
default: () => Serial
});
module.exports = __toCommonJS(serial_exports);
var import_errors = require("../errors/index.cjs");
var MAX_SAFE_INTEGER = 9007199254740991;
var _Serial = class _Serial {
/**
* [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/serial/#constructor)
*/
constructor(max = MAX_SAFE_INTEGER) {
this._id = 0;
if (Number.isSafeInteger(max) && max > 0) {
this._max = max;
} else {
throw new import_errors.NumberRangeError([1, MAX_SAFE_INTEGER], max, {
integer: true
});
}
}
/**
* [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/serial/#next)
*/
next() {
return this._id = this._id % this._max + 1;
}
/**
* [API Reference](https://tai-kun.github.io/surrealdb.js/v2/api/utils/serial/#reset)
*/
reset() {
this._id = 0;
}
};
__name(_Serial, "Serial");
var Serial = _Serial;
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL3NlcmlhbC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgTnVtYmVyUmFuZ2VFcnJvciB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvZXJyb3JzXCI7XG5cbmNvbnN0IE1BWF9TQUZFX0lOVEVHRVIgPSA5MDA3MTk5MjU0NzQwOTkxO1xuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvdXRpbHMvc2VyaWFsLylcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VyaWFsIHtcbiAgcHJvdGVjdGVkIF9pZCA9IDA7XG4gIHByb3RlY3RlZCBfbWF4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvdXRpbHMvc2VyaWFsLyNjb25zdHJ1Y3RvcilcbiAgICovXG4gIGNvbnN0cnVjdG9yKG1heDogbnVtYmVyIHwgdW5kZWZpbmVkID0gTUFYX1NBRkVfSU5URUdFUikge1xuICAgIGlmIChOdW1iZXIuaXNTYWZlSW50ZWdlcihtYXgpICYmIG1heCA+IDApIHtcbiAgICAgIHRoaXMuX21heCA9IG1heDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IE51bWJlclJhbmdlRXJyb3IoWzEsIE1BWF9TQUZFX0lOVEVHRVJdLCBtYXgsIHtcbiAgICAgICAgaW50ZWdlcjogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvYXBpL3V0aWxzL3NlcmlhbC8jbmV4dClcbiAgICovXG4gIG5leHQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKHRoaXMuX2lkID0gdGhpcy5faWQgJSB0aGlzLl9tYXggKyAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvYXBpL3V0aWxzL3NlcmlhbC8jcmVzZXQpXG4gICAqL1xuICByZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLl9pZCA9IDA7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxvQkFBaUM7QUFFakMsSUFBTSxtQkFBbUI7QUFLekIsSUFBcUIsVUFBckIsTUFBcUIsUUFBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzFCLFlBQVksTUFBMEIsa0JBQWtCO0FBTnhELFNBQVUsTUFBTTtBQU9kLFFBQUksT0FBTyxjQUFjLEdBQUcsS0FBSyxNQUFNLEdBQUc7QUFDeEMsV0FBSyxPQUFPO0FBQUEsSUFDZCxPQUFPO0FBQ0wsWUFBTSxJQUFJLCtCQUFpQixDQUFDLEdBQUcsZ0JBQWdCLEdBQUcsS0FBSztBQUFBLFFBQ3JELFNBQVM7QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsT0FBZTtBQUNiLFdBQVEsS0FBSyxNQUFNLEtBQUssTUFBTSxLQUFLLE9BQU87QUFBQSxFQUM1QztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsUUFBYztBQUNaLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFDRjtBQTlCNEI7QUFBNUIsSUFBcUIsU0FBckI7IiwKICAibmFtZXMiOiBbXQp9Cg==