@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
119 lines (117 loc) • 11.6 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/escape.ts
var escape_exports = {};
__export(escape_exports, {
BACKTICK: () => BACKTICK,
BRACKET_L: () => BRACKET_L,
BRACKET_R: () => BRACKET_R,
DOUBLE_QUOTE: () => DOUBLE_QUOTE,
SINGLE_QUOTE: () => SINGLE_QUOTE,
escapeIdent: () => escapeIdent,
escapeKey: () => escapeKey,
escapeRid: () => escapeRid,
quoteStr: () => quoteStr
});
module.exports = __toCommonJS(escape_exports);
var BRACKET_L = "\u27E8";
var BRACKET_R = "\u27E9";
var BRACKET_ESC = "\\\u27E9";
var BACKTICK = "`";
var BACKTICK_ESC = "\\`";
var SINGLE_QUOTE = "'";
var DOUBLE_QUOTE = '"';
var DOUBLE_QUOTE_ESC = '\\"';
var UNDERSCORE = 95;
var isAsciiDigit = /* @__PURE__ */ __name((code) => 48 <= code && code <= 57, "isAsciiDigit");
var isAsciiAlpha = /* @__PURE__ */ __name((code) => 65 <= code && code <= 90 || 97 <= code && code <= 122, "isAsciiAlpha");
var isAsciiAlphaNumeric = /* @__PURE__ */ __name((code) => isAsciiDigit(code) || isAsciiAlpha(code), "isAsciiAlphaNumeric");
function escape(str, left, right, escaped) {
return left + str.replaceAll(right, escaped) + right;
}
__name(escape, "escape");
function escapeNormal(str, left, right, escaped) {
return escapeStartsNumeric(str, left, right, escaped);
}
__name(escapeNormal, "escapeNormal");
function escapeStartsNumeric(str, left, right, escaped) {
for (let i = 0, len = str.length, code; i < len; i++) {
code = str.charCodeAt(i);
if (i <= 0 && isAsciiDigit(code)) {
return escape(str, left, right, escaped);
}
if (!(isAsciiAlphaNumeric(code) || code === UNDERSCORE)) {
return escape(str, left, right, escaped);
}
}
return str;
}
__name(escapeStartsNumeric, "escapeStartsNumeric");
function escapeFullNumeric(str, left, right, escaped) {
let numeric = true;
for (let i = 0, len = str.length, code; i < len; i++) {
code = str.charCodeAt(i);
if (!(isAsciiAlphaNumeric(code) || code === UNDERSCORE)) {
return escape(str, left, right, escaped);
}
if (numeric && !isAsciiDigit(code)) {
numeric = false;
}
}
if (numeric) {
return escape(str, left, right, escaped);
}
return str;
}
__name(escapeFullNumeric, "escapeFullNumeric");
function quoteStr(str) {
if (!str) {
return SINGLE_QUOTE + SINGLE_QUOTE;
}
str = str.replaceAll("\\", "\\\\");
if (str.indexOf(SINGLE_QUOTE) === -1) {
return SINGLE_QUOTE + str + SINGLE_QUOTE;
} else {
return DOUBLE_QUOTE + str.replaceAll(DOUBLE_QUOTE, DOUBLE_QUOTE_ESC) + DOUBLE_QUOTE;
}
}
__name(quoteStr, "quoteStr");
function escapeKey(key) {
if (!key) {
return DOUBLE_QUOTE + DOUBLE_QUOTE;
}
return escapeNormal(key, DOUBLE_QUOTE, DOUBLE_QUOTE, DOUBLE_QUOTE_ESC);
}
__name(escapeKey, "escapeKey");
function escapeRid(rid) {
if (!rid) {
return BRACKET_L + BRACKET_R;
}
return escapeFullNumeric(rid, BRACKET_L, BRACKET_R, BRACKET_ESC);
}
__name(escapeRid, "escapeRid");
function escapeIdent(ident) {
if (!ident) {
return BACKTICK + BACKTICK;
}
return escapeStartsNumeric(ident, BACKTICK, BACKTICK, BACKTICK_ESC);
}
__name(escapeIdent, "escapeIdent");
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL3V0aWxzL2VzY2FwZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLy8gaHR0cHM6Ly9naXRodWIuY29tL3N1cnJlYWxkYmRiL3N1cnJlYWxkYmRiL2Jsb2IvdjIuMC4wLWFscGhhLjcvY29yZS9zcmMvc3FsL2VzY2FwZS5yc1xuXG5leHBvcnQgY29uc3QgQlJBQ0tFVF9MID0gXCJcdTI3RThcIjtcbmV4cG9ydCBjb25zdCBCUkFDS0VUX1IgPSBcIlx1MjdFOVwiO1xuY29uc3QgQlJBQ0tFVF9FU0MgPSBcIlxcXFxcdTI3RTlcIjtcblxuZXhwb3J0IGNvbnN0IEJBQ0tUSUNLID0gXCJgXCI7XG5jb25zdCBCQUNLVElDS19FU0MgPSBcIlxcXFxgXCI7XG5cbmV4cG9ydCBjb25zdCBTSU5HTEVfUVVPVEUgPSBcIidcIjtcblxuLy8gZHByaW50LWlnbm9yZVxuZXhwb3J0IGNvbnN0IERPVUJMRV9RVU9URSA9ICdcIic7XG4vLyBkcHJpbnQtaWdub3JlXG5jb25zdCBET1VCTEVfUVVPVEVfRVNDID0gJ1xcXFxcIic7XG5cbmNvbnN0IFVOREVSU0NPUkUgPSA5NTsgLy8gX1xuXG5jb25zdCBpc0FzY2lpRGlnaXQgPSAoY29kZTogbnVtYmVyKSA9PiA0OCA8PSBjb2RlICYmIGNvZGUgPD0gNTc7IC8vIDAtOVxuXG5jb25zdCBpc0FzY2lpQWxwaGEgPSAoY29kZTogbnVtYmVyKSA9PlxuICAoNjUgPD0gY29kZSAmJiBjb2RlIDw9IDkwKSAvLyBBLVpcbiAgfHwgKDk3IDw9IGNvZGUgJiYgY29kZSA8PSAxMjIpOyAvLyBhLXpcblxuY29uc3QgaXNBc2NpaUFscGhhTnVtZXJpYyA9IChjb2RlOiBudW1iZXIpID0+XG4gIGlzQXNjaWlEaWdpdChjb2RlKVxuICB8fCBpc0FzY2lpQWxwaGEoY29kZSk7XG5cbmZ1bmN0aW9uIGVzY2FwZShcbiAgc3RyOiBzdHJpbmcsXG4gIGxlZnQ6IHN0cmluZyxcbiAgcmlnaHQ6IHN0cmluZyxcbiAgZXNjYXBlZDogc3RyaW5nLFxuKSB7XG4gIHJldHVybiBsZWZ0ICsgc3RyLnJlcGxhY2VBbGwocmlnaHQsIGVzY2FwZWQpICsgcmlnaHQ7XG59XG5cbi8vIHYyLjAuM1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3N1cnJlYWxkYi9zdXJyZWFsZGIvYmxvYi81NjY3MjA3N2FjM2JhN2I4OGNhZDc3NmM4MWQzOWZjZDY4YTk0MTU3L2NvcmUvc3JjL3NxbC9lc2NhcGUucnMjTDgxLUw5NFxuLy8gXHUzMDgyXHUzMDZGXHUzMDg0IGVzY2FwZV9zdGFydHNfbnVtZXJpYyBcdTMwNjhcdTMwNkVcdTkwNTVcdTMwNDRcdTMwNkZcdTcxMjFcdTMwNEZcdTMwNkFcdTMwNjNcdTMwNUZcdTMwMDJcbmZ1bmN0aW9uIGVzY2FwZU5vcm1hbChcbiAgc3RyOiBzdHJpbmcsXG4gIGxlZnQ6IHN0cmluZyxcbiAgcmlnaHQ6IHN0cmluZyxcbiAgZXNjYXBlZDogc3RyaW5nLFxuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGVzY2FwZVN0YXJ0c051bWVyaWMoc3RyLCBsZWZ0LCByaWdodCwgZXNjYXBlZCk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZVN0YXJ0c051bWVyaWMoXG4gIHN0cjogc3RyaW5nLFxuICBsZWZ0OiBzdHJpbmcsXG4gIHJpZ2h0OiBzdHJpbmcsXG4gIGVzY2FwZWQ6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHIubGVuZ3RoLCBjb2RlOiBudW1iZXI7IGkgPCBsZW47IGkrKykge1xuICAgIGNvZGUgPSBzdHIuY2hhckNvZGVBdChpKTtcblxuICAgIGlmIChpIDw9IDAgJiYgaXNBc2NpaURpZ2l0KGNvZGUpKSB7XG4gICAgICByZXR1cm4gZXNjYXBlKHN0ciwgbGVmdCwgcmlnaHQsIGVzY2FwZWQpO1xuICAgIH1cblxuICAgIGlmICghKGlzQXNjaWlBbHBoYU51bWVyaWMoY29kZSkgfHwgY29kZSA9PT0gVU5ERVJTQ09SRSkpIHtcbiAgICAgIHJldHVybiBlc2NhcGUoc3RyLCBsZWZ0LCByaWdodCwgZXNjYXBlZCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHN0cjtcbn1cblxuZnVuY3Rpb24gZXNjYXBlRnVsbE51bWVyaWMoXG4gIHN0cjogc3RyaW5nLFxuICBsZWZ0OiBzdHJpbmcsXG4gIHJpZ2h0OiBzdHJpbmcsXG4gIGVzY2FwZWQ6IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGxldCBudW1lcmljID0gdHJ1ZTtcblxuICBmb3IgKGxldCBpID0gMCwgbGVuID0gc3RyLmxlbmd0aCwgY29kZTogbnVtYmVyOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaSk7XG5cbiAgICBpZiAoIShpc0FzY2lpQWxwaGFOdW1lcmljKGNvZGUpIHx8IGNvZGUgPT09IFVOREVSU0NPUkUpKSB7XG4gICAgICByZXR1cm4gZXNjYXBlKHN0ciwgbGVmdCwgcmlnaHQsIGVzY2FwZWQpO1xuICAgIH1cblxuICAgIGlmIChudW1lcmljICYmICFpc0FzY2lpRGlnaXQoY29kZSkpIHtcbiAgICAgIG51bWVyaWMgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBpZiAobnVtZXJpYykge1xuICAgIHJldHVybiBlc2NhcGUoc3RyLCBsZWZ0LCByaWdodCwgZXNjYXBlZCk7XG4gIH1cblxuICByZXR1cm4gc3RyO1xufVxuXG4vKipcbiAqIFtBUEkgUmVmZXJlbmNlXShodHRwczovL3RhaS1rdW4uZ2l0aHViLmlvL3N1cnJlYWxkYi5qcy92Mi9hcGkvdXRpbHMvZXNjYXBlLyNxdW90ZXN0cilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHF1b3RlU3RyKHN0cjogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFzdHIpIHtcbiAgICByZXR1cm4gU0lOR0xFX1FVT1RFICsgU0lOR0xFX1FVT1RFO1xuICB9XG5cbiAgc3RyID0gc3RyLnJlcGxhY2VBbGwoXCJcXFxcXCIsIFwiXFxcXFxcXFxcIik7XG5cbiAgaWYgKHN0ci5pbmRleE9mKFNJTkdMRV9RVU9URSkgPT09IC0xKSB7XG4gICAgcmV0dXJuIFNJTkdMRV9RVU9URVxuICAgICAgKyBzdHJcbiAgICAgICsgU0lOR0xFX1FVT1RFO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBET1VCTEVfUVVPVEVcbiAgICAgICsgc3RyLnJlcGxhY2VBbGwoRE9VQkxFX1FVT1RFLCBET1VCTEVfUVVPVEVfRVNDKVxuICAgICAgKyBET1VCTEVfUVVPVEU7XG4gIH1cbn1cblxuLyoqXG4gKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvYXBpL3V0aWxzL2VzY2FwZS8jZXNjYXBla2V5KVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFrZXkpIHtcbiAgICByZXR1cm4gRE9VQkxFX1FVT1RFICsgRE9VQkxFX1FVT1RFO1xuICB9XG5cbiAgcmV0dXJuIGVzY2FwZU5vcm1hbChrZXksIERPVUJMRV9RVU9URSwgRE9VQkxFX1FVT1RFLCBET1VCTEVfUVVPVEVfRVNDKTtcbn1cblxuLyoqXG4gKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvYXBpL3V0aWxzL2VzY2FwZS8jZXNjYXBlcmlkKVxuICovXG5leHBvcnQgZnVuY3Rpb24gZXNjYXBlUmlkKHJpZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFyaWQpIHtcbiAgICByZXR1cm4gQlJBQ0tFVF9MICsgQlJBQ0tFVF9SO1xuICB9XG5cbiAgcmV0dXJuIGVzY2FwZUZ1bGxOdW1lcmljKHJpZCwgQlJBQ0tFVF9MLCBCUkFDS0VUX1IsIEJSQUNLRVRfRVNDKTtcbn1cblxuLyoqXG4gKiBbQVBJIFJlZmVyZW5jZV0oaHR0cHM6Ly90YWkta3VuLmdpdGh1Yi5pby9zdXJyZWFsZGIuanMvdjIvYXBpL3V0aWxzL2VzY2FwZS8jZXNjYXBlaWRlbnQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc2NhcGVJZGVudChpZGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFpZGVudCkge1xuICAgIHJldHVybiBCQUNLVElDSyArIEJBQ0tUSUNLO1xuICB9XG5cbiAgcmV0dXJuIGVzY2FwZVN0YXJ0c051bWVyaWMoaWRlbnQsIEJBQ0tUSUNLLCBCQUNLVElDSywgQkFDS1RJQ0tfRVNDKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBRU8sSUFBTSxZQUFZO0FBQ2xCLElBQU0sWUFBWTtBQUN6QixJQUFNLGNBQWM7QUFFYixJQUFNLFdBQVc7QUFDeEIsSUFBTSxlQUFlO0FBRWQsSUFBTSxlQUFlO0FBR3JCLElBQU0sZUFBZTtBQUU1QixJQUFNLG1CQUFtQjtBQUV6QixJQUFNLGFBQWE7QUFFbkIsSUFBTSxlQUFlLHdCQUFDLFNBQWlCLE1BQU0sUUFBUSxRQUFRLElBQXhDO0FBRXJCLElBQU0sZUFBZSx3QkFBQyxTQUNuQixNQUFNLFFBQVEsUUFBUSxNQUNuQixNQUFNLFFBQVEsUUFBUSxLQUZQO0FBSXJCLElBQU0sc0JBQXNCLHdCQUFDLFNBQzNCLGFBQWEsSUFBSSxLQUNkLGFBQWEsSUFBSSxHQUZNO0FBSTVCLFNBQVMsT0FDUCxLQUNBLE1BQ0EsT0FDQSxTQUNBO0FBQ0EsU0FBTyxPQUFPLElBQUksV0FBVyxPQUFPLE9BQU8sSUFBSTtBQUNqRDtBQVBTO0FBWVQsU0FBUyxhQUNQLEtBQ0EsTUFDQSxPQUNBLFNBQ1E7QUFDUixTQUFPLG9CQUFvQixLQUFLLE1BQU0sT0FBTyxPQUFPO0FBQ3REO0FBUFM7QUFTVCxTQUFTLG9CQUNQLEtBQ0EsTUFDQSxPQUNBLFNBQ1E7QUFDUixXQUFTLElBQUksR0FBRyxNQUFNLElBQUksUUFBUSxNQUFjLElBQUksS0FBSyxLQUFLO0FBQzVELFdBQU8sSUFBSSxXQUFXLENBQUM7QUFFdkIsUUFBSSxLQUFLLEtBQUssYUFBYSxJQUFJLEdBQUc7QUFDaEMsYUFBTyxPQUFPLEtBQUssTUFBTSxPQUFPLE9BQU87QUFBQSxJQUN6QztBQUVBLFFBQUksRUFBRSxvQkFBb0IsSUFBSSxLQUFLLFNBQVMsYUFBYTtBQUN2RCxhQUFPLE9BQU8sS0FBSyxNQUFNLE9BQU8sT0FBTztBQUFBLElBQ3pDO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQW5CUztBQXFCVCxTQUFTLGtCQUNQLEtBQ0EsTUFDQSxPQUNBLFNBQ1E7QUFDUixNQUFJLFVBQVU7QUFFZCxXQUFTLElBQUksR0FBRyxNQUFNLElBQUksUUFBUSxNQUFjLElBQUksS0FBSyxLQUFLO0FBQzVELFdBQU8sSUFBSSxXQUFXLENBQUM7QUFFdkIsUUFBSSxFQUFFLG9CQUFvQixJQUFJLEtBQUssU0FBUyxhQUFhO0FBQ3ZELGFBQU8sT0FBTyxLQUFLLE1BQU0sT0FBTyxPQUFPO0FBQUEsSUFDekM7QUFFQSxRQUFJLFdBQVcsQ0FBQyxhQUFhLElBQUksR0FBRztBQUNsQyxnQkFBVTtBQUFBLElBQ1o7QUFBQSxFQUNGO0FBRUEsTUFBSSxTQUFTO0FBQ1gsV0FBTyxPQUFPLEtBQUssTUFBTSxPQUFPLE9BQU87QUFBQSxFQUN6QztBQUVBLFNBQU87QUFDVDtBQXpCUztBQThCRixTQUFTLFNBQVMsS0FBcUI7QUFDNUMsTUFBSSxDQUFDLEtBQUs7QUFDUixXQUFPLGVBQWU7QUFBQSxFQUN4QjtBQUVBLFFBQU0sSUFBSSxXQUFXLE1BQU0sTUFBTTtBQUVqQyxNQUFJLElBQUksUUFBUSxZQUFZLE1BQU0sSUFBSTtBQUNwQyxXQUFPLGVBQ0gsTUFDQTtBQUFBLEVBQ04sT0FBTztBQUNMLFdBQU8sZUFDSCxJQUFJLFdBQVcsY0FBYyxnQkFBZ0IsSUFDN0M7QUFBQSxFQUNOO0FBQ0Y7QUFoQmdCO0FBcUJULFNBQVMsVUFBVSxLQUFxQjtBQUM3QyxNQUFJLENBQUMsS0FBSztBQUNSLFdBQU8sZUFBZTtBQUFBLEVBQ3hCO0FBRUEsU0FBTyxhQUFhLEtBQUssY0FBYyxjQUFjLGdCQUFnQjtBQUN2RTtBQU5nQjtBQVdULFNBQVMsVUFBVSxLQUFxQjtBQUM3QyxNQUFJLENBQUMsS0FBSztBQUNSLFdBQU8sWUFBWTtBQUFBLEVBQ3JCO0FBRUEsU0FBTyxrQkFBa0IsS0FBSyxXQUFXLFdBQVcsV0FBVztBQUNqRTtBQU5nQjtBQVdULFNBQVMsWUFBWSxPQUF1QjtBQUNqRCxNQUFJLENBQUMsT0FBTztBQUNWLFdBQU8sV0FBVztBQUFBLEVBQ3BCO0FBRUEsU0FBTyxvQkFBb0IsT0FBTyxVQUFVLFVBQVUsWUFBWTtBQUNwRTtBQU5nQjsiLAogICJuYW1lcyI6IFtdCn0K