UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

43 lines (41 loc) 4.7 kB
var __defProp = Object.defineProperty; var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); // src/surreal/surql/raw.ts import { SurrealTypeError, SurrealValueError } from "../../errors/index.mjs"; import { escapeTb, toString } from "../../data-types/_internals/thing.mjs"; import { isThing } from "../data-types.mjs"; function isGenerator(id) { return id === "uuid()" || id === "ulid()" || id === "rand()"; } __name(isGenerator, "isGenerator"); var _Raw = class _Raw { constructor(value) { this._val = value; if (typeof value === "string") { this._str = value; } else if (value && typeof value === "object") { if (isThing(value)) { this._str = isGenerator(value.id) ? escapeTb(value.table) + ":" + value.id : toString(value); } else if ("toSurql" in value) { this._str = value.toSurql(); } else if (Object.hasOwn(value, "toString")) { this._str = value.toString(); } else if (Object.hasOwn(value, Symbol.toPrimitive)) { this._str = value[Symbol.toPrimitive]("string"); } else { throw new SurrealValueError("Object contains encode methods", value); } } else { throw new SurrealTypeError(["String", "Object"], value); } } toString() { return this._str; } }; __name(_Raw, "Raw"); var Raw = _Raw; export { Raw as default }; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N1cnJlYWwvc3VycWwvcmF3LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgeyBTdXJyZWFsVHlwZUVycm9yLCBTdXJyZWFsVmFsdWVFcnJvciB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvZXJyb3JzXCI7XG5pbXBvcnQgeyBlc2NhcGVUYiwgdG9TdHJpbmcgfSBmcm9tIFwiLi4vLi4vZGF0YS10eXBlcy9faW50ZXJuYWxzL3RoaW5nXCI7XG5pbXBvcnQgeyBpc1RoaW5nIH0gZnJvbSBcIi4uL2RhdGEtdHlwZXNcIjtcblxuZnVuY3Rpb24gaXNHZW5lcmF0b3IoaWQ6IHVua25vd24pOiBpZCBpcyBzdHJpbmcge1xuICByZXR1cm4gaWQgPT09IFwidXVpZCgpXCIgfHwgaWQgPT09IFwidWxpZCgpXCIgfHwgaWQgPT09IFwicmFuZCgpXCI7XG59XG5cbmV4cG9ydCB0eXBlIFJhd1ZhbHVlID1cbiAgfCBzdHJpbmdcbiAgfCB7IHJlYWRvbmx5IHRvU3VycWw6ICgpID0+IHN0cmluZyB9XG4gIHwgeyByZWFkb25seSB0b1N0cmluZzogKCkgPT4gc3RyaW5nIH1cbiAgfCB7IHJlYWRvbmx5IFtTeW1ib2wudG9QcmltaXRpdmVdOiAoaGludDogXCJzdHJpbmdcIikgPT4gc3RyaW5nIH07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJhdyB7XG4gIHByb3RlY3RlZCBfdmFsOiBSYXdWYWx1ZTtcbiAgcHJvdGVjdGVkIF9zdHI6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcih2YWx1ZTogUmF3VmFsdWUpIHtcbiAgICB0aGlzLl92YWwgPSB2YWx1ZTtcblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHRoaXMuX3N0ciA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKSB7XG4gICAgICBpZiAoaXNUaGluZyh2YWx1ZSkpIHtcbiAgICAgICAgdGhpcy5fc3RyID0gaXNHZW5lcmF0b3IodmFsdWUuaWQpXG4gICAgICAgICAgPyBlc2NhcGVUYih2YWx1ZS50YWJsZSkgKyBcIjpcIiArIHZhbHVlLmlkXG4gICAgICAgICAgOiB0b1N0cmluZyh2YWx1ZSk7XG4gICAgICB9IGVsc2UgaWYgKFwidG9TdXJxbFwiIGluIHZhbHVlKSB7XG4gICAgICAgIHRoaXMuX3N0ciA9IHZhbHVlLnRvU3VycWwoKTtcbiAgICAgIH0gZWxzZSBpZiAoT2JqZWN0Lmhhc093bih2YWx1ZSwgXCJ0b1N0cmluZ1wiKSkge1xuICAgICAgICB0aGlzLl9zdHIgPSB2YWx1ZS50b1N0cmluZygpO1xuICAgICAgfSBlbHNlIGlmIChPYmplY3QuaGFzT3duKHZhbHVlLCBTeW1ib2wudG9QcmltaXRpdmUpKSB7XG4gICAgICAgIHRoaXMuX3N0ciA9ICh2YWx1ZSBhcyBhbnkpW1N5bWJvbC50b1ByaW1pdGl2ZV0hKFwic3RyaW5nXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IFN1cnJlYWxWYWx1ZUVycm9yKFwiT2JqZWN0IGNvbnRhaW5zIGVuY29kZSBtZXRob2RzXCIsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IFN1cnJlYWxUeXBlRXJyb3IoW1wiU3RyaW5nXCIsIFwiT2JqZWN0XCJdLCB2YWx1ZSk7XG4gICAgfVxuICB9XG5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RyO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7O0FBQUEsU0FBUyxrQkFBa0IseUJBQXlCO0FBQ3BELFNBQVMsVUFBVSxnQkFBZ0I7QUFDbkMsU0FBUyxlQUFlO0FBRXhCLFNBQVMsWUFBWSxJQUEyQjtBQUM5QyxTQUFPLE9BQU8sWUFBWSxPQUFPLFlBQVksT0FBTztBQUN0RDtBQUZTO0FBVVQsSUFBcUIsT0FBckIsTUFBcUIsS0FBSTtBQUFBLEVBSXZCLFlBQVksT0FBaUI7QUFDM0IsU0FBSyxPQUFPO0FBRVosUUFBSSxPQUFPLFVBQVUsVUFBVTtBQUM3QixXQUFLLE9BQU87QUFBQSxJQUNkLFdBQVcsU0FBUyxPQUFPLFVBQVUsVUFBVTtBQUM3QyxVQUFJLFFBQVEsS0FBSyxHQUFHO0FBQ2xCLGFBQUssT0FBTyxZQUFZLE1BQU0sRUFBRSxJQUM1QixTQUFTLE1BQU0sS0FBSyxJQUFJLE1BQU0sTUFBTSxLQUNwQyxTQUFTLEtBQUs7QUFBQSxNQUNwQixXQUFXLGFBQWEsT0FBTztBQUM3QixhQUFLLE9BQU8sTUFBTSxRQUFRO0FBQUEsTUFDNUIsV0FBVyxPQUFPLE9BQU8sT0FBTyxVQUFVLEdBQUc7QUFDM0MsYUFBSyxPQUFPLE1BQU0sU0FBUztBQUFBLE1BQzdCLFdBQVcsT0FBTyxPQUFPLE9BQU8sT0FBTyxXQUFXLEdBQUc7QUFDbkQsYUFBSyxPQUFRLE1BQWMsT0FBTyxXQUFXLEVBQUcsUUFBUTtBQUFBLE1BQzFELE9BQU87QUFDTCxjQUFNLElBQUksa0JBQWtCLGtDQUFrQyxLQUFLO0FBQUEsTUFDckU7QUFBQSxJQUNGLE9BQU87QUFDTCxZQUFNLElBQUksaUJBQWlCLENBQUMsVUFBVSxRQUFRLEdBQUcsS0FBSztBQUFBLElBQ3hEO0FBQUEsRUFDRjtBQUFBLEVBRUEsV0FBbUI7QUFDakIsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUNGO0FBL0J5QjtBQUF6QixJQUFxQixNQUFyQjsiLAogICJuYW1lcyI6IFtdCn0K