UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

37 lines (35 loc) 3.77 kB
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