@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
37 lines (35 loc) • 3.77 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/data-types/_internals/thing.ts
import { SurrealTypeError } from "../../errors/index.mjs";
import { escapeRid, toSurql } from "../../utils/index.mjs";
function escapeId(id) {
switch (typeof id) {
case "string":
return escapeRid(id);
case "number":
if (id !== id || id === Infinity || id === -Infinity) {
break;
}
return id < 0 || !Number.isInteger(id) ? escapeRid(id + "") : Object.is(id, -0) ? escapeRid("-0") : id + "";
case "bigint":
return id < 0 ? escapeRid(id + "") : id + "";
case "object":
if (id === null) {
break;
}
return toSurql(id);
}
throw new SurrealTypeError(["String", "Number", "BigInt", "Object"], id);
}
__name(escapeId, "escapeId");
function toString(thing) {
return escapeRid(thing.table) + ":" + escapeId(thing.id);
}
__name(toString, "toString");
export {
escapeId,
escapeRid as escapeTb,
toString
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2RhdGEtdHlwZXMvX2ludGVybmFscy90aGluZy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHsgU3VycmVhbFR5cGVFcnJvciB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvZXJyb3JzXCI7XG5pbXBvcnQgeyBlc2NhcGVSaWQsIHRvU3VycWwgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL3V0aWxzXCI7XG5cbmV4cG9ydCB7IGVzY2FwZVJpZCBhcyBlc2NhcGVUYiB9O1xuXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlSWQoaWQ6IHVua25vd24pOiBzdHJpbmcge1xuICBzd2l0Y2ggKHR5cGVvZiBpZCkge1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiBlc2NhcGVSaWQoaWQpO1xuXG4gICAgY2FzZSBcIm51bWJlclwiOlxuICAgICAgaWYgKGlkICE9PSBpZCB8fCBpZCA9PT0gSW5maW5pdHkgfHwgaWQgPT09IC1JbmZpbml0eSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGlkIDwgMCB8fCAhTnVtYmVyLmlzSW50ZWdlcihpZClcbiAgICAgICAgPyBlc2NhcGVSaWQoaWQgKyBcIlwiKVxuICAgICAgICA6IE9iamVjdC5pcyhpZCwgLTApXG4gICAgICAgID8gZXNjYXBlUmlkKFwiLTBcIilcbiAgICAgICAgOiAoaWQgKyBcIlwiKTtcblxuICAgIGNhc2UgXCJiaWdpbnRcIjpcbiAgICAgIHJldHVybiBpZCA8IDBcbiAgICAgICAgPyBlc2NhcGVSaWQoaWQgKyBcIlwiKVxuICAgICAgICA6IChpZCArIFwiXCIpO1xuXG4gICAgY2FzZSBcIm9iamVjdFwiOlxuICAgICAgaWYgKGlkID09PSBudWxsKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdG9TdXJxbChpZCk7XG4gIH1cblxuICB0aHJvdyBuZXcgU3VycmVhbFR5cGVFcnJvcihbXCJTdHJpbmdcIiwgXCJOdW1iZXJcIiwgXCJCaWdJbnRcIiwgXCJPYmplY3RcIl0sIGlkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyaW5nKFxuICB0aGluZzoge1xuICAgIHJlYWRvbmx5IHRhYmxlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgaWQ6IHVua25vd247XG4gIH0sXG4pOiBzdHJpbmcge1xuICAvLyBTdXJyZWFsREIgXHUzMDY3XHUzMDZGIFN0cmluZyBcdTMwOTIgZXNjYXBlX3JpZCBcdTMwNjdcdTMwQThcdTMwQjlcdTMwQjFcdTMwRkNcdTMwRDdcdTMwNTdcdTMwNjZcdTMwNDRcdTMwOEI6XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zdXJyZWFsZGJkYi9zdXJyZWFsZGJkYi9ibG9iL3YyLjAuMC1hbHBoYS43L2NvcmUvc3FsL3RoaW5nLnJzI0w5N1xuICByZXR1cm4gZXNjYXBlUmlkKHRoaW5nLnRhYmxlKSArIFwiOlwiICsgZXNjYXBlSWQodGhpbmcuaWQpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7OztBQUFBLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsV0FBVyxlQUFlO0FBSTVCLFNBQVMsU0FBUyxJQUFxQjtBQUM1QyxVQUFRLE9BQU8sSUFBSTtBQUFBLElBQ2pCLEtBQUs7QUFDSCxhQUFPLFVBQVUsRUFBRTtBQUFBLElBRXJCLEtBQUs7QUFDSCxVQUFJLE9BQU8sTUFBTSxPQUFPLFlBQVksT0FBTyxXQUFXO0FBQ3BEO0FBQUEsTUFDRjtBQUVBLGFBQU8sS0FBSyxLQUFLLENBQUMsT0FBTyxVQUFVLEVBQUUsSUFDakMsVUFBVSxLQUFLLEVBQUUsSUFDakIsT0FBTyxHQUFHLElBQUksRUFBRSxJQUNoQixVQUFVLElBQUksSUFDYixLQUFLO0FBQUEsSUFFWixLQUFLO0FBQ0gsYUFBTyxLQUFLLElBQ1IsVUFBVSxLQUFLLEVBQUUsSUFDaEIsS0FBSztBQUFBLElBRVosS0FBSztBQUNILFVBQUksT0FBTyxNQUFNO0FBQ2Y7QUFBQSxNQUNGO0FBRUEsYUFBTyxRQUFRLEVBQUU7QUFBQSxFQUNyQjtBQUVBLFFBQU0sSUFBSSxpQkFBaUIsQ0FBQyxVQUFVLFVBQVUsVUFBVSxRQUFRLEdBQUcsRUFBRTtBQUN6RTtBQTlCZ0I7QUFnQ1QsU0FBUyxTQUNkLE9BSVE7QUFHUixTQUFPLFVBQVUsTUFBTSxLQUFLLElBQUksTUFBTSxTQUFTLE1BQU0sRUFBRTtBQUN6RDtBQVRnQjsiLAogICJuYW1lcyI6IFtdCn0K