113 lines
4.6 KiB
JavaScript
113 lines
4.6 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.BroadcastChannel = BroadcastChannel;
|
|
exports.apiBaseUrl = apiBaseUrl;
|
|
exports.fetchData = fetchData;
|
|
exports.now = now;
|
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
function fetchData(_x, _x2, _x3) {
|
|
return _fetchData.apply(this, arguments);
|
|
}
|
|
function _fetchData() {
|
|
_fetchData = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(path, __NEXTAUTH, logger) {
|
|
var _ref,
|
|
ctx,
|
|
_ref$req,
|
|
req,
|
|
url,
|
|
_req$headers,
|
|
options,
|
|
res,
|
|
data,
|
|
_args = arguments;
|
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
while (1) switch (_context.prev = _context.next) {
|
|
case 0:
|
|
_ref = _args.length > 3 && _args[3] !== undefined ? _args[3] : {}, ctx = _ref.ctx, _ref$req = _ref.req, req = _ref$req === void 0 ? ctx === null || ctx === void 0 ? void 0 : ctx.req : _ref$req;
|
|
url = "".concat(apiBaseUrl(__NEXTAUTH), "/").concat(path);
|
|
_context.prev = 2;
|
|
options = {
|
|
headers: _objectSpread({
|
|
"Content-Type": "application/json"
|
|
}, req !== null && req !== void 0 && (_req$headers = req.headers) !== null && _req$headers !== void 0 && _req$headers.cookie ? {
|
|
cookie: req.headers.cookie
|
|
} : {})
|
|
};
|
|
if (req !== null && req !== void 0 && req.body) {
|
|
options.body = JSON.stringify(req.body);
|
|
options.method = "POST";
|
|
}
|
|
_context.next = 7;
|
|
return fetch(url, options);
|
|
case 7:
|
|
res = _context.sent;
|
|
_context.next = 10;
|
|
return res.json();
|
|
case 10:
|
|
data = _context.sent;
|
|
if (res.ok) {
|
|
_context.next = 13;
|
|
break;
|
|
}
|
|
throw data;
|
|
case 13:
|
|
return _context.abrupt("return", Object.keys(data).length > 0 ? data : null);
|
|
case 16:
|
|
_context.prev = 16;
|
|
_context.t0 = _context["catch"](2);
|
|
logger.error("CLIENT_FETCH_ERROR", {
|
|
error: _context.t0,
|
|
url: url
|
|
});
|
|
return _context.abrupt("return", null);
|
|
case 20:
|
|
case "end":
|
|
return _context.stop();
|
|
}
|
|
}, _callee, null, [[2, 16]]);
|
|
}));
|
|
return _fetchData.apply(this, arguments);
|
|
}
|
|
function apiBaseUrl(__NEXTAUTH) {
|
|
if (typeof window === "undefined") {
|
|
return "".concat(__NEXTAUTH.baseUrlServer).concat(__NEXTAUTH.basePathServer);
|
|
}
|
|
return __NEXTAUTH.basePath;
|
|
}
|
|
function now() {
|
|
return Math.floor(Date.now() / 1000);
|
|
}
|
|
function BroadcastChannel() {
|
|
var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "nextauth.message";
|
|
return {
|
|
receive: function receive(onReceive) {
|
|
var handler = function handler(event) {
|
|
var _event$newValue;
|
|
if (event.key !== name) return;
|
|
var message = JSON.parse((_event$newValue = event.newValue) !== null && _event$newValue !== void 0 ? _event$newValue : "{}");
|
|
if ((message === null || message === void 0 ? void 0 : message.event) !== "session" || !(message !== null && message !== void 0 && message.data)) return;
|
|
onReceive(message);
|
|
};
|
|
window.addEventListener("storage", handler);
|
|
return function () {
|
|
return window.removeEventListener("storage", handler);
|
|
};
|
|
},
|
|
post: function post(message) {
|
|
if (typeof window === "undefined") return;
|
|
try {
|
|
localStorage.setItem(name, JSON.stringify(_objectSpread(_objectSpread({}, message), {}, {
|
|
timestamp: now()
|
|
})));
|
|
} catch (_unused) {}
|
|
}
|
|
};
|
|
} |