@tai-kun/surrealdb
Version:
The SurrealDB SDK for JavaScript
43 lines (41 loc) • 4.7 kB
JavaScript
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