New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@zbm1/nuxt-ssr-cache

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zbm1/nuxt-ssr-cache - npm Package Compare versions

Comparing version 1.5.2 to 1.5.3

89

lib/middleware.js
"use strict";
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var path = require('path');

@@ -66,11 +68,21 @@

var renderRoute = renderer.renderRoute.bind(renderer);
var hookResolve = hookResolvePlaceholder;
var hookName = 'vue-renderer:ssr:context';
var hookCaches = {// '0': {
// [hookName]: {
// resolve: resolve
// },
// routeCachedPromise: {
// resolve: resolve,
// reject: reject
// }
// }
};
var hookCacheIndexes = [];
var hookCacheIndex = -1;
function hookResolvePlaceholder() {
throw new Error('`hookResolve()` needs to be implemented');
}
function createHookPromise() {
function createHookPromise(hookCacheIndex) {
var promise = new Promise(function (resolve, reject) {
hookResolve = resolve;
hookCaches[hookCacheIndex] = _defineProperty({}, hookName, {
resolve: resolve
});
});

@@ -80,18 +92,8 @@ return promise;

var cachedResolve = cachedResolvePlaceholder;
function cachedResolvePlaceholder() {
throw new Error('`cachedResolve()` needs to be implemented');
}
var cachedReject = cachedRejectPlaceholder;
function cachedRejectPlaceholder() {
throw new Error('`cachedReject()` needs to be implemented');
}
function createCachedPromise() {
function createCachedPromise(hookCacheIndex) {
var promise = new Promise(function (resolve, reject) {
cachedResolve = resolve;
cachedReject = reject;
hookCaches[hookCacheIndex].routeCachedPromise = {
resolve: resolve,
reject: reject
};
});

@@ -103,5 +105,9 @@ return promise;

nuxt.hook('vue-renderer:ssr:context', function (renderContext) {
nuxt.hook(hookName, function (renderContext) {
// This will be called when vue-renderer ssr Context
// console.log('renderContext.req.url', renderContext.req.url)
var _hookCacheIndex = renderContext[hookName];
var hookCache = hookCaches[_hookCacheIndex];
var hookCachePromise = hookCache[hookName];
if (renderContext.redirected) {

@@ -117,9 +123,7 @@ // console.log('renderContext.redirected', renderContext.redirected)

};
hookResolve(redirectedResult);
hookResolve = hookResolvePlaceholder;
hookCachePromise.resolve(redirectedResult);
return Promise.reject(renderContext.redirected);
} else {
hookResolve();
hookResolve = hookResolvePlaceholder;
return createCachedPromise();
hookCachePromise.resolve();
return createCachedPromise(_hookCacheIndex);
}

@@ -133,3 +137,7 @@ });

if (!cacheKey) return renderRoute(route, context);
var hookPromise = createHookPromise();
var _hookCacheIndex = hookCacheIndexes.pop();
context[hookName] = _hookCacheIndex > -1 ? _hookCacheIndex : _hookCacheIndex = ++hookCacheIndex;
var hookPromise = createHookPromise(_hookCacheIndex);
var renderRoutePromise = renderRoute(route, context)["catch"](function (err) {

@@ -140,2 +148,3 @@ return err;

if (redirectedResult) {
clearHookCache();
return redirectedResult;

@@ -145,14 +154,13 @@ }

return cache.getAsync(cacheKey).then(function (cachedResult) {
var hookCache = hookCaches[_hookCacheIndex];
var routeCachedPromise = hookCache.routeCachedPromise;
if (cachedResult) {
cachedReject(route + ' cached.');
cachedReject = cachedRejectPlaceholder;
cachedResolve = cachedResolvePlaceholder; // renderRoutePromise.then(function (result) { console.log(result.redirected) })
routeCachedPromise.reject(route + ' cached.'); // renderRoutePromise.then(function (result) { console.log(result.redirected) })
renderRoutePromise = null;
clearHookCache();
return deserialize(cachedResult);
}
cachedResolve(route + ' not cached.');
cachedReject = cachedRejectPlaceholder;
cachedResolve = cachedResolvePlaceholder;
routeCachedPromise.resolve(route + ' not cached.');
return renderSetCache();

@@ -162,2 +170,10 @@ })["catch"](renderSetCache);

function clearHookCache() {
hookCacheIndexes.push(_hookCacheIndex);
delete hookCaches[_hookCacheIndex];
delete context[hookName];
hookPromise = null;
renderRoutePromise = null;
}
function renderSetCache() {

@@ -169,2 +185,3 @@ return renderRoutePromise.then(function (result) {

clearHookCache();
return result;

@@ -171,0 +188,0 @@ });

{
"name": "@zbm1/nuxt-ssr-cache",
"version": "1.5.2",
"version": "1.5.3",
"description": "Cache middleware for nuxt's SSR rendering.",

@@ -5,0 +5,0 @@ "main": "lib/middleware.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc