UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

99 lines (97 loc) 10.2 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/surreal/surql/slot.ts var slot_exports = {}; __export(slot_exports, { default: () => Slot }); module.exports = __toCommonJS(slot_exports); var passthrough = /* @__PURE__ */ __name((v) => v, "passthrough"); var _Slot = class _Slot { constructor(name, isRequired, options = {}) { this.name = name; this.isRequired = isRequired; this._parse = options.parse || passthrough; if (options.formatter) { this.fmt = options.formatter; } if ("defaultValue" in options) { this.defaultValue = options.defaultValue; } } toOptions() { const options = { parse: this._parse, formatter: this.fmt }; if ("defaultValue" in this) { options.defaultValue = this.defaultValue; } return options; } /** * @alias {@link type} */ as(parser = (v) => v) { const This = this.constructor; const options = { parse: parser }; if ("defaultValue" in this) { options.defaultValue = this.defaultValue; } return new This(this.name, true, options); } /** * @alias {@link as} */ type(parser = (v) => v) { return this.as(parser); } rename(name) { const This = this.constructor; return new This(name, this.isRequired, this.toOptions()); } default(defaultValue) { const This = this.constructor; return new This(this.name, false, { parse: this._parse, formatter: this.fmt, defaultValue: this.fmt?.toEncoded?.(defaultValue) || defaultValue // TODO(tai-kun): ここでパースする必要あるか検討 (高コストだけどコンストラクター内でやる?) // defaultValue: this._parse(defaultValue), }); } optional() { const This = this.constructor; return new This(this.name, false, { parse: this._parse, formatter: this.fmt }); } required() { const This = this.constructor; return new This(this.name, true, { parse: this._parse, formatter: this.fmt }); } }; __name(_Slot, "Slot"); var Slot = _Slot; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N1cnJlYWwvc3VycWwvc2xvdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHR5cGUgeyBFbmNvZGVkLCBGb3JtYXR0ZXIgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Zvcm1hdHRlclwiO1xuaW1wb3J0IHR5cGUgeyBTbG90TGlrZSB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgV3JpdGFibGUgfSBmcm9tIFwidHlwZS1mZXN0XCI7XG5cbmNvbnN0IHBhc3N0aHJvdWdoID0gKHY6IHVua25vd24pOiBhbnkgPT4gdjtcblxuZXhwb3J0IGludGVyZmFjZSBTbG90T3B0aW9uczxUVmFsdWUgPSBhbnk+IHtcbiAgcmVhZG9ubHkgcGFyc2U/OiAoKHZhbHVlOiB1bmtub3duKSA9PiBUVmFsdWUpIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBmb3JtYXR0ZXI/OiBGb3JtYXR0ZXIgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZT86IFRWYWx1ZSB8IEVuY29kZWQ8VFZhbHVlPjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2xvdDxcbiAgVE5hbWUgZXh0ZW5kcyBzdHJpbmcgPSBhbnksXG4gIFRSZXF1aXJlZCBleHRlbmRzIGJvb2xlYW4gPSBhbnksXG4gIFRWYWx1ZSA9IGFueSxcbj4gaW1wbGVtZW50cyBTbG90TGlrZSB7XG4gIHByb3RlY3RlZCByZWFkb25seSBmbXQ/OiBGb3JtYXR0ZXI7XG5cbiAgcmVhZG9ubHkgX3BhcnNlOiAodmFsdWU6IHVua25vd24pID0+IFRWYWx1ZTtcbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogVFZhbHVlIHwgRW5jb2RlZDxUVmFsdWU+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IG5hbWU6IFROYW1lLFxuICAgIHJlYWRvbmx5IGlzUmVxdWlyZWQ6IFRSZXF1aXJlZCxcbiAgICBvcHRpb25zOiBTbG90T3B0aW9uczxUVmFsdWU+ID0ge30sXG4gICkge1xuICAgIHRoaXMuX3BhcnNlID0gb3B0aW9ucy5wYXJzZSB8fCBwYXNzdGhyb3VnaDtcblxuICAgIGlmIChvcHRpb25zLmZvcm1hdHRlcikge1xuICAgICAgdGhpcy5mbXQgPSBvcHRpb25zLmZvcm1hdHRlcjtcbiAgICB9XG5cbiAgICBpZiAoXCJkZWZhdWx0VmFsdWVcIiBpbiBvcHRpb25zKSB7XG4gICAgICB0aGlzLmRlZmF1bHRWYWx1ZSA9IG9wdGlvbnMuZGVmYXVsdFZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCB0b09wdGlvbnMoKTogU2xvdE9wdGlvbnM8VFZhbHVlPiB7XG4gICAgY29uc3Qgb3B0aW9uczogV3JpdGFibGU8U2xvdE9wdGlvbnM+ID0ge1xuICAgICAgcGFyc2U6IHRoaXMuX3BhcnNlLFxuICAgICAgZm9ybWF0dGVyOiB0aGlzLmZtdCxcbiAgICB9O1xuXG4gICAgaWYgKFwiZGVmYXVsdFZhbHVlXCIgaW4gdGhpcykge1xuICAgICAgb3B0aW9ucy5kZWZhdWx0VmFsdWUgPSB0aGlzLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3B0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBAYWxpYXMge0BsaW5rIHR5cGV9XG4gICAqL1xuICBhczxUQmluZCBleHRlbmRzIFRWYWx1ZT4oKTogU2xvdDxUTmFtZSwgdHJ1ZSwgVEJpbmQ+O1xuXG4gIC8qKlxuICAgKiBAYWxpYXMge0BsaW5rIHR5cGV9XG4gICAqL1xuICBhczxUQmluZCBleHRlbmRzIFRWYWx1ZT4oXG4gICAgcGFyc2VyOiAodmFsdWU6IHVua25vd24pID0+IFRCaW5kLFxuICApOiBTbG90PFROYW1lLCB0cnVlLCBUQmluZD47XG5cbiAgLyoqXG4gICAqIEBhbGlhcyB7QGxpbmsgdHlwZX1cbiAgICovXG4gIGFzKHBhcnNlcjogKHZhbHVlOiB1bmtub3duKSA9PiB1bmtub3duID0gdiA9PiB2KTogU2xvdDxUTmFtZSwgdHJ1ZT4ge1xuICAgIGNvbnN0IFRoaXMgPSB0aGlzLmNvbnN0cnVjdG9yIGFzIHR5cGVvZiBTbG90O1xuICAgIGNvbnN0IG9wdGlvbnM6IFdyaXRhYmxlPFNsb3RPcHRpb25zPiA9IHsgcGFyc2U6IHBhcnNlciB9O1xuXG4gICAgaWYgKFwiZGVmYXVsdFZhbHVlXCIgaW4gdGhpcykge1xuICAgICAgb3B0aW9ucy5kZWZhdWx0VmFsdWUgPSB0aGlzLmRlZmF1bHRWYWx1ZTtcbiAgICAgIC8vIFRPRE8odGFpLWt1bik6IFx1MzA1M1x1MzA1M1x1MzA2N1x1MzBEMVx1MzBGQ1x1MzBCOVx1MzA1OVx1MzA4Qlx1NUZDNVx1ODk4MVx1MzA0Mlx1MzA4Qlx1MzA0Qlx1NjkxQ1x1OEEwRSAoXHU5QUQ4XHUzMEIzXHUzMEI5XHUzMEM4XHUzMDYwXHUzMDUxXHUzMDY5XHUzMEIzXHUzMEYzXHUzMEI5XHUzMEM4XHUzMEU5XHUzMEFGXHUzMEJGXHUzMEZDXHU1MTg1XHUzMDY3XHUzMDg0XHUzMDhCXHVGRjFGKVxuICAgICAgLy8gb3B0aW9ucy5kZWZhdWx0VmFsdWUgPSBwYXJzZXIodGhpcy5kZWZhdWx0VmFsdWUpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVGhpcyh0aGlzLm5hbWUsIHRydWUsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBhbGlhcyB7QGxpbmsgYXN9XG4gICAqL1xuICB0eXBlPFRCaW5kIGV4dGVuZHMgVFZhbHVlPigpOiBTbG90PFROYW1lLCB0cnVlLCBUQmluZD47XG5cbiAgLyoqXG4gICAqIEBhbGlhcyB7QGxpbmsgYXN9XG4gICAqL1xuICB0eXBlPFRCaW5kIGV4dGVuZHMgVFZhbHVlPihcbiAgICBwYXJzZXI6ICh2YWx1ZTogdW5rbm93bikgPT4gVEJpbmQsXG4gICk6IFNsb3Q8VE5hbWUsIHRydWUsIFRCaW5kPjtcblxuICAvKipcbiAgICogQGFsaWFzIHtAbGluayBhc31cbiAgICovXG4gIHR5cGUocGFyc2VyOiAodmFsdWU6IHVua25vd24pID0+IGFueSA9IHYgPT4gdik6IFNsb3Q8VE5hbWUsIHRydWU+IHtcbiAgICByZXR1cm4gdGhpcy5hcyhwYXJzZXIpO1xuICB9XG5cbiAgcmVuYW1lPGNvbnN0IFROYW1lIGV4dGVuZHMgc3RyaW5nPihcbiAgICBuYW1lOiBUTmFtZSxcbiAgKTogU2xvdDxUTmFtZSwgVFJlcXVpcmVkLCBUVmFsdWU+IHtcbiAgICBjb25zdCBUaGlzID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2xvdDtcblxuICAgIHJldHVybiBuZXcgVGhpcyhuYW1lLCB0aGlzLmlzUmVxdWlyZWQsIHRoaXMudG9PcHRpb25zKCkpO1xuICB9XG5cbiAgZGVmYXVsdChkZWZhdWx0VmFsdWU6IFRWYWx1ZSk6IFNsb3Q8VE5hbWUsIGZhbHNlLCBUVmFsdWU+IHtcbiAgICBjb25zdCBUaGlzID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2xvdDtcblxuICAgIHJldHVybiBuZXcgVGhpcyh0aGlzLm5hbWUsIGZhbHNlLCB7XG4gICAgICBwYXJzZTogdGhpcy5fcGFyc2UsXG4gICAgICBmb3JtYXR0ZXI6IHRoaXMuZm10LFxuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmZtdD8udG9FbmNvZGVkPy4oZGVmYXVsdFZhbHVlKSB8fCBkZWZhdWx0VmFsdWUsXG4gICAgICAvLyBUT0RPKHRhaS1rdW4pOiBcdTMwNTNcdTMwNTNcdTMwNjdcdTMwRDFcdTMwRkNcdTMwQjlcdTMwNTlcdTMwOEJcdTVGQzVcdTg5ODFcdTMwNDJcdTMwOEJcdTMwNEJcdTY5MUNcdThBMEUgKFx1OUFEOFx1MzBCM1x1MzBCOVx1MzBDOFx1MzA2MFx1MzA1MVx1MzA2OVx1MzBCM1x1MzBGM1x1MzBCOVx1MzBDOFx1MzBFOVx1MzBBRlx1MzBCRlx1MzBGQ1x1NTE4NVx1MzA2N1x1MzA4NFx1MzA4Qlx1RkYxRilcbiAgICAgIC8vIGRlZmF1bHRWYWx1ZTogdGhpcy5fcGFyc2UoZGVmYXVsdFZhbHVlKSxcbiAgICB9KTtcbiAgfVxuXG4gIG9wdGlvbmFsKCk6IFNsb3Q8VE5hbWUsIGZhbHNlLCBUVmFsdWU+IHtcbiAgICBjb25zdCBUaGlzID0gdGhpcy5jb25zdHJ1Y3RvciBhcyB0eXBlb2YgU2xvdDtcblxuICAgIHJldHVybiBuZXcgVGhpcyh0aGlzLm5hbWUsIGZhbHNlLCB7XG4gICAgICBwYXJzZTogdGhpcy5fcGFyc2UsXG4gICAgICBmb3JtYXR0ZXI6IHRoaXMuZm10LFxuICAgIH0pO1xuICB9XG5cbiAgcmVxdWlyZWQoKTogU2xvdDxUTmFtZSwgdHJ1ZSwgVFZhbHVlPiB7XG4gICAgY29uc3QgVGhpcyA9IHRoaXMuY29uc3RydWN0b3IgYXMgdHlwZW9mIFNsb3Q7XG5cbiAgICByZXR1cm4gbmV3IFRoaXModGhpcy5uYW1lLCB0cnVlLCB7XG4gICAgICBwYXJzZTogdGhpcy5fcGFyc2UsXG4gICAgICBmb3JtYXR0ZXI6IHRoaXMuZm10LFxuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUEsSUFBTSxjQUFjLHdCQUFDLE1BQW9CLEdBQXJCO0FBUXBCLElBQXFCLFFBQXJCLE1BQXFCLE1BSUM7QUFBQSxFQU1wQixZQUNXLE1BQ0EsWUFDVCxVQUErQixDQUFDLEdBQ2hDO0FBSFM7QUFDQTtBQUdULFNBQUssU0FBUyxRQUFRLFNBQVM7QUFFL0IsUUFBSSxRQUFRLFdBQVc7QUFDckIsV0FBSyxNQUFNLFFBQVE7QUFBQSxJQUNyQjtBQUVBLFFBQUksa0JBQWtCLFNBQVM7QUFDN0IsV0FBSyxlQUFlLFFBQVE7QUFBQSxJQUM5QjtBQUFBLEVBQ0Y7QUFBQSxFQUVVLFlBQWlDO0FBQ3pDLFVBQU0sVUFBaUM7QUFBQSxNQUNyQyxPQUFPLEtBQUs7QUFBQSxNQUNaLFdBQVcsS0FBSztBQUFBLElBQ2xCO0FBRUEsUUFBSSxrQkFBa0IsTUFBTTtBQUMxQixjQUFRLGVBQWUsS0FBSztBQUFBLElBQzlCO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWlCQSxHQUFHLFNBQXNDLE9BQUssR0FBc0I7QUFDbEUsVUFBTSxPQUFPLEtBQUs7QUFDbEIsVUFBTSxVQUFpQyxFQUFFLE9BQU8sT0FBTztBQUV2RCxRQUFJLGtCQUFrQixNQUFNO0FBQzFCLGNBQVEsZUFBZSxLQUFLO0FBQUEsSUFHOUI7QUFFQSxXQUFPLElBQUksS0FBSyxLQUFLLE1BQU0sTUFBTSxPQUFPO0FBQUEsRUFDMUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWlCQSxLQUFLLFNBQWtDLE9BQUssR0FBc0I7QUFDaEUsV0FBTyxLQUFLLEdBQUcsTUFBTTtBQUFBLEVBQ3ZCO0FBQUEsRUFFQSxPQUNFLE1BQ2dDO0FBQ2hDLFVBQU0sT0FBTyxLQUFLO0FBRWxCLFdBQU8sSUFBSSxLQUFLLE1BQU0sS0FBSyxZQUFZLEtBQUssVUFBVSxDQUFDO0FBQUEsRUFDekQ7QUFBQSxFQUVBLFFBQVEsY0FBa0Q7QUFDeEQsVUFBTSxPQUFPLEtBQUs7QUFFbEIsV0FBTyxJQUFJLEtBQUssS0FBSyxNQUFNLE9BQU87QUFBQSxNQUNoQyxPQUFPLEtBQUs7QUFBQSxNQUNaLFdBQVcsS0FBSztBQUFBLE1BQ2hCLGNBQWMsS0FBSyxLQUFLLFlBQVksWUFBWSxLQUFLO0FBQUE7QUFBQTtBQUFBLElBR3ZELENBQUM7QUFBQSxFQUNIO0FBQUEsRUFFQSxXQUF1QztBQUNyQyxVQUFNLE9BQU8sS0FBSztBQUVsQixXQUFPLElBQUksS0FBSyxLQUFLLE1BQU0sT0FBTztBQUFBLE1BQ2hDLE9BQU8sS0FBSztBQUFBLE1BQ1osV0FBVyxLQUFLO0FBQUEsSUFDbEIsQ0FBQztBQUFBLEVBQ0g7QUFBQSxFQUVBLFdBQXNDO0FBQ3BDLFVBQU0sT0FBTyxLQUFLO0FBRWxCLFdBQU8sSUFBSSxLQUFLLEtBQUssTUFBTSxNQUFNO0FBQUEsTUFDL0IsT0FBTyxLQUFLO0FBQUEsTUFDWixXQUFXLEtBQUs7QUFBQSxJQUNsQixDQUFDO0FBQUEsRUFDSDtBQUNGO0FBdkhzQjtBQUp0QixJQUFxQixPQUFyQjsiLAogICJuYW1lcyI6IFtdCn0K