UNPKG

@tai-kun/surrealdb

Version:

The SurrealDB SDK for JavaScript

141 lines (139 loc) 13.4 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __typeError = (msg) => { throw TypeError(msg); }; 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); var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg); var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj)); var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value); var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value); // src/clients/standard/jwt.ts var jwt_exports = {}; __export(jwt_exports, { default: () => Jwt }); module.exports = __toCommonJS(jwt_exports); var import_errors = require("../../errors/index.cjs"); var import_utils = require("../../utils/index.cjs"); var JWT_REGEX = /^((?:[0-9a-zA-Z_-]{4})*(?:[0-9a-zA-Z_-]{2,3})?)\.((?:[0-9a-zA-Z_-]{4})*(?:[0-9a-zA-Z_-]{2,3})?)\.((?:[0-9a-zA-Z_-]{4})*(?:[0-9a-zA-Z_-]{2,3})?)$/; var _parts, _cache, _Jwt_instances, payload_get; var _Jwt = class _Jwt { constructor(jwt, options = {}) { __privateAdd(this, _Jwt_instances); __privateAdd(this, _parts); __privateAdd(this, _cache); const { redactedText = "[REDACTED]" } = options; if (typeof jwt !== "string" || !JWT_REGEX.test(jwt)) { throw new import_errors.SurrealValueError("well formed JWT", jwt); } __privateSet(this, _parts, jwt.split(".", 2)); __privateSet(this, _cache, {}); this.redactedText = redactedText; Object.defineProperty(this, "raw", { configurable: false, // 既定値通り再設定を不可にする。 enumerable: false, // 既定値通り列挙しない。 value: jwt }); } static isWellFormed(jwt) { return typeof jwt === "string" && JWT_REGEX.test(jwt); } get header() { if (__privateGet(this, _cache).headerJson === void 0) { __privateGet(this, _cache).headerJson = import_utils.base64url.decode(__privateGet(this, _parts)[0]); __privateGet(this, _parts)[0] = null; } return JSON.parse(__privateGet(this, _cache).headerJson); } get payload() { if (__privateGet(this, _cache).payloadJson === void 0) { __privateGet(this, _cache).payloadJson = import_utils.base64url.decode(__privateGet(this, _parts)[1]); __privateGet(this, _parts)[1] = null; } return JSON.parse(__privateGet(this, _cache).payloadJson); } get issuer() { return __privateGet(this, _Jwt_instances, payload_get).iss; } get issuedAt() { return __privateGet(this, _Jwt_instances, payload_get).iat; } get notBefore() { return __privateGet(this, _Jwt_instances, payload_get).nbf; } get expiresAt() { return __privateGet(this, _Jwt_instances, payload_get).exp; } get namespace() { return __privateGet(this, _Jwt_instances, payload_get).NS; } get database() { return __privateGet(this, _Jwt_instances, payload_get).DB; } get access() { return __privateGet(this, _Jwt_instances, payload_get).AC; } get user() { return __privateGet(this, _Jwt_instances, payload_get).ID; } get id() { return __privateGet(this, _Jwt_instances, payload_get).jti; } getMillisecondsUntilExpiration() { return this.expiresAt * 1e3 - Date.now(); } getSecondsUntilExpiration() { return this.expiresAt - Math.floor(Date.now() / 1e3); } getExpirationDate() { return new Date(this.expiresAt * 1e3); } toString() { return this.redactedText; } toCBOR() { return [this.redactedText]; } toJSON() { return this.redactedText; } toSurql() { return (0, import_utils.quoteStr)(this.redactedText); } toPlainObject() { return { header: this.header, payload: this.payload }; } }; _parts = new WeakMap(); _cache = new WeakMap(); _Jwt_instances = new WeakSet(); payload_get = /* @__PURE__ */ __name(function() { return __privateGet(this, _cache).payload ||= this.payload; }, "#payload"); __name(_Jwt, "Jwt"); var Jwt = _Jwt; //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2NsaWVudHMvc3RhbmRhcmQvand0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQgdHlwZSB7IEVuY29kYWJsZSB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvZW5jb2RhYmxlLWRhdGF0eXBlc1wiO1xuaW1wb3J0IHsgU3VycmVhbFZhbHVlRXJyb3IgfSBmcm9tIFwiQHRhaS1rdW4vc3VycmVhbGRiL2Vycm9yc1wiO1xuaW1wb3J0IHsgYmFzZTY0dXJsLCBxdW90ZVN0ciB9IGZyb20gXCJAdGFpLWt1bi9zdXJyZWFsZGIvdXRpbHNcIjtcblxuY29uc3QgSldUX1JFR0VYID1cbiAgL14oKD86WzAtOWEtekEtWl8tXXs0fSkqKD86WzAtOWEtekEtWl8tXXsyLDN9KT8pXFwuKCg/OlswLTlhLXpBLVpfLV17NH0pKig/OlswLTlhLXpBLVpfLV17MiwzfSk/KVxcLigoPzpbMC05YS16QS1aXy1dezR9KSooPzpbMC05YS16QS1aXy1dezIsM30pPykkLztcblxuZXhwb3J0IGludGVyZmFjZSBKd3RIZWFkZXIge1xuICB0eXA6IFwiSldUXCI7XG4gIGFsZzogc3RyaW5nO1xuICBbcDogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKd3RQYXlsb2FkIHtcbiAgaXNzOiBcIlN1cnJlYWxEQlwiO1xuICBpYXQ6IG51bWJlcjtcbiAgbmJmOiBudW1iZXI7XG4gIGV4cDogbnVtYmVyO1xuICBqdGk6IHN0cmluZztcbiAgTlM/OiBzdHJpbmc7XG4gIERCPzogc3RyaW5nO1xuICBBQz86IHN0cmluZztcbiAgSUQ6IHN0cmluZztcbiAgW3A6IHN0cmluZ106IHVua25vd247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSnd0T3B0aW9ucyB7XG4gIHJlYWRvbmx5IHJlZGFjdGVkVGV4dD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSnd0IGltcGxlbWVudHMgRW5jb2RhYmxlIHtcbiAgc3RhdGljIGlzV2VsbEZvcm1lZChqd3Q6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2Ygand0ID09PSBcInN0cmluZ1wiICYmIEpXVF9SRUdFWC50ZXN0KGp3dCk7XG4gIH1cblxuICByZWFkb25seSAjcGFydHM6IFtoZWFkZXI6IHN0cmluZywgcGF5bG9hZDogc3RyaW5nXTtcbiAgcmVhZG9ubHkgI2NhY2hlOiB7XG4gICAgaGVhZGVyPzogSnd0SGVhZGVyO1xuICAgIHBheWxvYWQ/OiBKd3RQYXlsb2FkO1xuICAgIGhlYWRlckpzb24/OiBzdHJpbmc7XG4gICAgcGF5bG9hZEpzb24/OiBzdHJpbmc7XG4gIH07XG5cbiAgcmVkYWN0ZWRUZXh0OiBzdHJpbmc7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgT2JqZWN0LmRlZmluZVByb3BlcnR5IFx1MzA2N1x1OEEyRFx1NUI5QVx1MzA1OVx1MzA4Qlx1MzAwMlxuICByZWFkb25seSByYXc6IHN0cmluZztcblxuICBjb25zdHJ1Y3Rvcihqd3Q6IHN0cmluZywgb3B0aW9uczogSnd0T3B0aW9ucyB8IHVuZGVmaW5lZCA9IHt9KSB7XG4gICAgY29uc3Qge1xuICAgICAgcmVkYWN0ZWRUZXh0ID0gXCJbUkVEQUNURURdXCIsXG4gICAgfSA9IG9wdGlvbnM7XG5cbiAgICBpZiAodHlwZW9mIGp3dCAhPT0gXCJzdHJpbmdcIiB8fCAhSldUX1JFR0VYLnRlc3Qoand0KSkge1xuICAgICAgdGhyb3cgbmV3IFN1cnJlYWxWYWx1ZUVycm9yKFwid2VsbCBmb3JtZWQgSldUXCIsIGp3dCk7XG4gICAgfVxuXG4gICAgdGhpcy4jcGFydHMgPSBqd3Quc3BsaXQoXCIuXCIsIDIpIGFzIFtzdHJpbmcsIHN0cmluZ107XG4gICAgdGhpcy4jY2FjaGUgPSB7fTtcbiAgICB0aGlzLnJlZGFjdGVkVGV4dCA9IHJlZGFjdGVkVGV4dDtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJyYXdcIiwge1xuICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSwgLy8gXHU2NUUyXHU1QjlBXHU1MDI0XHU5MDFBXHUzMDhBXHU1MThEXHU4QTJEXHU1QjlBXHUzMDkyXHU0RTBEXHU1M0VGXHUzMDZCXHUzMDU5XHUzMDhCXHUzMDAyXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZSwgLy8gXHU2NUUyXHU1QjlBXHU1MDI0XHU5MDFBXHUzMDhBXHU1MjE3XHU2MzE5XHUzMDU3XHUzMDZBXHUzMDQ0XHUzMDAyXG4gICAgICB2YWx1ZTogand0LFxuICAgIH0pO1xuICB9XG5cbiAgZ2V0IGhlYWRlcigpOiBKd3RIZWFkZXIge1xuICAgIGlmICh0aGlzLiNjYWNoZS5oZWFkZXJKc29uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuI2NhY2hlLmhlYWRlckpzb24gPSBiYXNlNjR1cmwuZGVjb2RlKHRoaXMuI3BhcnRzWzBdKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgXHU2RDg4XHUzMDU5XG4gICAgICB0aGlzLiNwYXJ0c1swXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy4jY2FjaGUuaGVhZGVySnNvbik7XG4gIH1cblxuICBnZXQgcGF5bG9hZCgpOiBKd3RQYXlsb2FkIHtcbiAgICBpZiAodGhpcy4jY2FjaGUucGF5bG9hZEpzb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy4jY2FjaGUucGF5bG9hZEpzb24gPSBiYXNlNjR1cmwuZGVjb2RlKHRoaXMuI3BhcnRzWzFdKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgXHU2RDg4XHUzMDU5XG4gICAgICB0aGlzLiNwYXJ0c1sxXSA9IG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGhpcy4jY2FjaGUucGF5bG9hZEpzb24pO1xuICB9XG5cbiAgLy8gZ2V0ICNoZWFkZXIoKTogUmVhZG9ubHk8Snd0SGVhZGVyPiB7XG4gIC8vICAgcmV0dXJuICh0aGlzLiNjYWNoZS5oZWFkZXIgfHw9IHRoaXMuaGVhZGVyKTtcbiAgLy8gfVxuXG4gIGdldCAjcGF5bG9hZCgpOiBSZWFkb25seTxKd3RQYXlsb2FkPiB7XG4gICAgcmV0dXJuICh0aGlzLiNjYWNoZS5wYXlsb2FkIHx8PSB0aGlzLnBheWxvYWQpO1xuICB9XG5cbiAgZ2V0IGlzc3VlcigpOiBcIlN1cnJlYWxEQlwiIHtcbiAgICByZXR1cm4gdGhpcy4jcGF5bG9hZC5pc3M7XG4gIH1cblxuICBnZXQgaXNzdWVkQXQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jcGF5bG9hZC5pYXQ7XG4gIH1cblxuICBnZXQgbm90QmVmb3JlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI3BheWxvYWQubmJmO1xuICB9XG5cbiAgZ2V0IGV4cGlyZXNBdCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNwYXlsb2FkLmV4cDtcbiAgfVxuXG4gIGdldCBuYW1lc3BhY2UoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jcGF5bG9hZC5OUztcbiAgfVxuXG4gIGdldCBkYXRhYmFzZSgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNwYXlsb2FkLkRCO1xuICB9XG5cbiAgZ2V0IGFjY2VzcygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNwYXlsb2FkLkFDO1xuICB9XG5cbiAgZ2V0IHVzZXIoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy4jcGF5bG9hZC5JRDtcbiAgfVxuXG4gIGdldCBpZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLiNwYXlsb2FkLmp0aTtcbiAgfVxuXG4gIGdldE1pbGxpc2Vjb25kc1VudGlsRXhwaXJhdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmV4cGlyZXNBdCAqIDEwMDAgLSBEYXRlLm5vdygpO1xuICB9XG5cbiAgZ2V0U2Vjb25kc1VudGlsRXhwaXJhdGlvbigpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmV4cGlyZXNBdCAtIE1hdGguZmxvb3IoRGF0ZS5ub3coKSAvIDEwMDApO1xuICB9XG5cbiAgZ2V0RXhwaXJhdGlvbkRhdGUoKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKHRoaXMuZXhwaXJlc0F0ICogMTAwMCk7XG4gIH1cblxuICB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlZGFjdGVkVGV4dDtcbiAgfVxuXG4gIHRvQ0JPUigpOiBbcmVkYWN0ZWRUZXh0OiBzdHJpbmddIHtcbiAgICByZXR1cm4gW3RoaXMucmVkYWN0ZWRUZXh0XTtcbiAgfVxuXG4gIHRvSlNPTigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlZGFjdGVkVGV4dDtcbiAgfVxuXG4gIHRvU3VycWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gcXVvdGVTdHIodGhpcy5yZWRhY3RlZFRleHQpO1xuICB9XG5cbiAgdG9QbGFpbk9iamVjdCgpOiB7XG4gICAgaGVhZGVyOiBKd3RIZWFkZXI7XG4gICAgcGF5bG9hZDogSnd0UGF5bG9hZDtcbiAgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGhlYWRlcjogdGhpcy5oZWFkZXIsXG4gICAgICBwYXlsb2FkOiB0aGlzLnBheWxvYWQsXG4gICAgfTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFDQSxvQkFBa0M7QUFDbEMsbUJBQW9DO0FBRXBDLElBQU0sWUFDSjtBQUxGO0FBOEJBLElBQXFCLE9BQXJCLE1BQXFCLEtBQXlCO0FBQUEsRUFpQjVDLFlBQVksS0FBYSxVQUFrQyxDQUFDLEdBQUc7QUFqQmpFO0FBS0UsdUJBQVM7QUFDVCx1QkFBUztBQVlQLFVBQU07QUFBQSxNQUNKLGVBQWU7QUFBQSxJQUNqQixJQUFJO0FBRUosUUFBSSxPQUFPLFFBQVEsWUFBWSxDQUFDLFVBQVUsS0FBSyxHQUFHLEdBQUc7QUFDbkQsWUFBTSxJQUFJLGdDQUFrQixtQkFB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