@real-router/rsc-server-plugin 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +1 -1
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@real-router/core/api"),t=require("@real-router/core/validation");const n=`[@real-router/rsc-server-plugin]`,r=[`full`,`client-only`],i=Symbol.for(`@real-router/ssr-data-plugin/defer`);function a(e){return typeof e==`object`&&!!e&&Object.hasOwn(e,i)&&e[i]===!0}const o=`__rrDeferRegistry__`;function s(){return globalThis}function c(){let e=s(),t=e[o];return t===void 0&&(t=new Map,e[o]=t),t}function l(e){let t=c(),n=t.get(e);if(n===void 0){let r,i;n={promise:new Promise((e,t)=>{r=e,i=t}),resolve:r,reject:i},t.set(e,n)}return n.promise}const u=[[`<`,`\\u003c`],[`>`,`\\u003e`],[`&`,`\\u0026`],[String.fromCodePoint(8232),`\\u2028`],[String.fromCodePoint(8233),`\\u2029`]];Object.fromEntries(u),RegExp(`[${u.map(([e])=>e).join(``)}]`,`g`);const d=new WeakMap;function f(e,t){let n=d.get(e);n===void 0&&(n=new Set,d.set(e,n)),n.add(t)}function p(e,t){return d.get(e)?.has(t)??!1}function m(e,t){d.get(e)?.delete(t)}const h=[`full`,`data-only`,`client-only`];function g(e,t,n,r,i){let a=new Map;for(let[o,s]of Object.entries(e)){let e=typeof s==`function`?{loader:s}:s,c;if(e.loader!==void 0){let i=e.loader(t,n);if(typeof i!=`function`)throw TypeError(`${r} factory for route "${o}" must return a function`);c=i}let l=null,u;typeof e.ssr==`function`?u=e.ssr:l=y(e.ssr,_,i,r,o),a.set(o,{staticMode:l,modeFn:u,loader:c})}return a}const _={name:``,params:{},path:``,transition:{phase:`activating`,reason:`success`,segments:{deactivated:[],activated:[],intersection:``}},context:{}};function v(e,t,n,r){throw TypeError(`${n} mode "${String(e)}" is not allowed for route "${r}". Allowed: ${t.join(`, `)}`)}function y(e,t,n,r,i){if(e===void 0||e===!0)return`full`;if(e===!1)return n.includes(`client-only`)||v(`client-only`,n,r,i),`client-only`;let a=typeof e==`function`?e(t):e;return(typeof a!=`string`||!n.includes(a))&&v(a,n,r,i),a}function b(n,r){if(r.deferredNamespace!==void 0!=(r.deferredKeysNamespace!==void 0))throw TypeError(`${r.errorPrefix} \`deferredNamespace\` and \`deferredKeysNamespace\` must be set together`);let i=r.deferredNamespace!==void 0&&r.deferredKeysNamespace!==void 0?{valueNamespace:r.deferredNamespace,keysNamespace:r.deferredKeysNamespace}:null;return(o,s)=>{let c=(0,e.getPluginApi)(o),u=r.allowedModes??h,d=[],f=e=>{let t=c.claimContextNamespace(e);return d.push(t),t},_=()=>{for(let e of d)e.release()},v,b,x=null,S;try{v=f(r.namespace),b=f(r.modeNamespace),i!==null&&(x={value:f(i.valueNamespace),keys:f(i.keysNamespace)}),S=g(n,o,s,r.errorPrefix,u)}catch(e){throw _(),e}let C=(0,t.getInternals)(o),w=(e,t)=>{if(x!==null&&a(t)){v.write(e,t.critical),x.value.write(e,t.deferred),x.keys.write(e,Object.keys(t.deferred));return}v.write(e,t)},T=(e,t)=>{if(i===null||x===null)return;let n=t[i.keysNamespace];if(!Array.isArray(n))return;let r=n.filter(e=>typeof e==`string`&&e!==`__proto__`&&e!==`constructor`&&e!==`prototype`);if(r.length===0)return;let a=Object.create(null);for(let e of r)a[e]=l(e);x.value.write(e,a),x.keys.write(e,r)},E=e=>{let t=S.get(e.name);if(!t)return null;let n=t.staticMode===null?y(t.modeFn,e,u,r.errorPrefix,e.name):t.staticMode;return b.write(e,n),n===`client-only`?null:t},D=c.addInterceptor(`start`,async(e,t)=>{let n=await e(t),i=E(n);if(i===null)return n;let a=C.hydrationState;return a!==null&&a.name===n.name&&r.namespace in a.context?(v.write(n,a.context[r.namespace]),T(n,a.context)):i.loader!==void 0&&w(n,await i.loader(n.params)),n}),O=o.subscribeLeave(async({nextRoute:e,signal:t})=>{if(!p(o,r.namespace))return;let n=E(e);if(n===null||n.loader===void 0)return;let i=await n.loader(e.params,{signal:t});t.aborted||(m(o,r.namespace),w(e,i))});return{teardown(){D(),O(),v.release(),b.release(),x?.value.release(),x?.keys.release()}}}}function x(e,t=h){return function(n){if(typeof n!=`object`||!n||Array.isArray(n))throw TypeError(`${e} loaders must be a non-null object`);for(let[r,i]of Object.entries(n)){if(typeof i==`function`)continue;if(typeof i!=`object`||!i||Array.isArray(i))throw TypeError(`${e} entry for route "${r}" must be a function or { ssr?, loader? } object`);for(let t of Object.keys(i))if(t!==`ssr`&&t!==`loader`)throw TypeError(`${e} unexpected key "${t}" in route "${r}" config`);let n=i;if(n.loader!==void 0&&typeof n.loader!=`function`)throw TypeError(`${e} loader for route "${r}" must be a function`);if(n.ssr!==void 0){let i=n.ssr;if(typeof i==`function`||typeof i==`boolean`)continue;if(typeof i==`string`){if(!t.includes(i))throw TypeError(`${e} mode "${i}" is not allowed for route "${r}". Allowed: ${t.join(`, `)}`);continue}throw TypeError(`${e} ssr for route "${r}" must be SsrMode string, boolean, or (state) => SsrMode`)}}}}const S=x(n,r);function C(e){return S(e),b(e,{namespace:`rsc`,modeNamespace:`ssrRscMode`,errorPrefix:n,allowedModes:r})}function w(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e==`object`?typeof e.then==`function`?`Promise/thenable — wire your action result synchronously`:null:typeof e}function T(t){if(typeof t!=`function`)throw TypeError(`${n} getResult must be a function`);return r=>{let i=(0,e.getPluginApi)(r),a=i.claimContextNamespace(`rscAction`),o=i.addInterceptor(`start`,async(e,r)=>{let i=await e(r),o=t();if(o===void 0)return i;let s=w(o);if(s!==null)throw TypeError(`${n} getResult must return an RscActionResult object or undefined (got ${s})`);return a.write(i,o),i});return{teardown(){o(),a.release()}}}}function E(e,t){let n=e.context,r={root:t===void 0?n.rsc:t},i=n.rscAction;return i?.returnValue!==void 0&&(r.returnValue=i.returnValue),i?.formState!==void 0&&(r.formState=i.formState),r}function D(e){let t;try{t=e.context.ssrRscMode}catch{return`full`}return typeof t==`string`&&r.includes(t)?t:`full`}function O(e,t){f(e,t)}exports.buildRscPayload=E,exports.getSsrRscMode=D,exports.invalidate=O,exports.rscActionPluginFactory=T,exports.rscServerPluginFactory=C;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@real-router/rsc-server-plugin",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"type": "commonjs",
|
|
5
5
|
"description": "RSC per-route ReactNode loading plugin for Real-Router (server-side, bundler-agnostic)",
|
|
6
6
|
"main": "./dist/cjs/index.js",
|
|
@@ -58,11 +58,11 @@
|
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/react": "19.2.14",
|
|
60
60
|
"react": "19.2.0",
|
|
61
|
-
"@real-router/ssr-data-plugin": "^0.4.
|
|
61
|
+
"@real-router/ssr-data-plugin": "^0.4.2"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
64
|
"react": ">=19.0.0",
|
|
65
|
-
"@real-router/core": "^0.
|
|
65
|
+
"@real-router/core": "^0.55.0"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {
|
|
68
68
|
"test": "vitest",
|