UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

119 lines (117 loc) 11.6 kB
"use strict"; 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