@real-router/persistent-params-plugin 0.2.7 → 0.2.8

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 CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require(`@real-router/core/api`);const t=`[@real-router/persistent-params-plugin]`;function n(e){let t={};for(let n in e)Object.hasOwn(e,n)&&(t[n]=e[n]);return t}function r(e,t){let n={};for(let t in e)Object.hasOwn(e,t)&&e[t]!==void 0&&(n[t]=e[t]);for(let e of Object.keys(t)){let r=t[e];r===void 0?delete n[e]:n[e]=r}return n}function i(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`||typeof e==`boolean`}const a=/[\s#%&/=?\\]/,o=String.raw`Cannot contain: = & ? # % / \ or whitespace`;function s(e){if(a.test(e))throw TypeError(`${t} Invalid parameter name "${e}". ${o}`)}function c(e){return e==null?!1:Array.isArray(e)?e.every(e=>{if(typeof e!=`string`||e.length===0)return!1;try{return s(e),!0}catch{return!1}}):typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype?Object.entries(e).every(([e,t])=>{if(typeof e!=`string`||e.length===0)return!1;try{s(e)}catch{return!1}return i(t)}):!1}function l(e,n){if(n===null)throw TypeError(`${t} Parameter "${e}" cannot be null. Use undefined to remove the parameter from persistence.`);if(n!==void 0&&!i(n))throw TypeError(`${t} Parameter "${e}" must be a primitive value (string, number, or boolean), got ${Array.isArray(n)?`array`:typeof n}. Objects and arrays are not supported in URL parameters.`)}function u(e){if(!c(e)){let n;throw n=e===null?`null`:Array.isArray(e)?`array with invalid items`:typeof e,TypeError(`${t} Invalid params configuration. Expected array of non-empty strings or object with primitive values, got ${n}.`)}}var d=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,n,r,i){this.#e=e,this.#o=n,this.#t=r,this.#n=i,this.#a=e.claimContextNamespace(`persistentParams`);let a,o;try{e.setRootPath(`${i}?${[...r].join(`&`)}`),a=e.addInterceptor(`buildPath`,(e,t,n)=>e(t,this.#s(n??{}))),o=e.addInterceptor(`forwardState`,(e,t,n)=>{let r=e(t,n);return{...r,params:this.#s(r.params)}})}catch(n){throw a?.(),o?.(),e.setRootPath(i),Error(`${t} Failed to initialize: ${n instanceof Error?n.message:String(n)}`,{cause:n})}this.#r=a,this.#i=o}getPlugin(){return{onTransitionSuccess:e=>{this.#c(e)},teardown:()=>{this.#l()}}}#s(e){let t=n(e),i;for(let e of Object.keys(t)){let n=t[e];n===void 0&&this.#t.has(e)?(this.#t.delete(e),i??={...this.#o},delete i[e]):l(e,n)}return i&&(this.#o=Object.freeze(i)),r(this.#o,t)}#c(e){let t;for(let n of this.#t){let r=e.params[n];if(!Object.hasOwn(e.params,n)||r===void 0){Object.hasOwn(this.#o,n)&&this.#o[n]!==void 0&&(t??={...this.#o},delete t[n]);continue}l(n,r),this.#o[n]!==r&&(t??={...this.#o},t[n]=r)}t&&(this.#o=Object.freeze(t)),this.#a.write(e,this.#o)}#l(){this.#r(),this.#i(),this.#a.release();try{this.#e.setRootPath(this.#n)}catch{}}};const f={},p=()=>f;function m(t={}){u(t);let n=Array.isArray(t)?t:Object.keys(t);if(n.length===0)return p;let r={};if(Array.isArray(t))for(let e of t)r[e]=void 0;else Object.assign(r,t);Object.freeze(r);let i=new Set(n);return t=>{let n=(0,e.getPluginApi)(t);return new d(n,r,new Set(i),n.getRootPath()).getPlugin()}}exports.persistentParamsPluginFactory=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("@real-router/core/api");const t=`[@real-router/persistent-params-plugin]`;function n(e){let t={};for(let n in e)Object.hasOwn(e,n)&&(t[n]=e[n]);return t}function r(e,t){let n={};for(let t in e)Object.hasOwn(e,t)&&e[t]!==void 0&&(n[t]=e[t]);for(let e of Object.keys(t)){let r=t[e];r===void 0?delete n[e]:n[e]=r}return n}function i(e){return typeof e==`number`?Number.isFinite(e):typeof e==`string`||typeof e==`boolean`}const a=/[\s#%&/=?\\]/,o=String.raw`Cannot contain: = & ? # % / \ or whitespace`;function s(e){if(a.test(e))throw TypeError(`${t} Invalid parameter name "${e}". ${o}`)}function c(e){return e==null?!1:Array.isArray(e)?e.every(e=>{if(typeof e!=`string`||e.length===0)return!1;try{return s(e),!0}catch{return!1}}):typeof e==`object`&&Object.getPrototypeOf(e)===Object.prototype?Object.entries(e).every(([e,t])=>{if(typeof e!=`string`||e.length===0)return!1;try{s(e)}catch{return!1}return i(t)}):!1}function l(e,n){if(n===null)throw TypeError(`${t} Parameter "${e}" cannot be null. Use undefined to remove the parameter from persistence.`);if(n!==void 0&&!i(n))throw TypeError(`${t} Parameter "${e}" must be a primitive value (string, number, or boolean), got ${Array.isArray(n)?`array`:typeof n}. Objects and arrays are not supported in URL parameters.`)}function u(e){if(!c(e)){let n;throw n=e===null?`null`:Array.isArray(e)?`array with invalid items`:typeof e,TypeError(`${t} Invalid params configuration. Expected array of non-empty strings or object with primitive values, got ${n}.`)}}var d=class{#e;#t;#n;#r;#i;#a;#o;constructor(e,n,r,i){this.#e=e,this.#o=n,this.#t=r,this.#n=i,this.#a=e.claimContextNamespace(`persistentParams`);let a,o;try{e.setRootPath(`${i}?${[...r].join(`&`)}`),a=e.addInterceptor(`buildPath`,(e,t,n)=>e(t,this.#s(n??{}))),o=e.addInterceptor(`forwardState`,(e,t,n)=>{let r=e(t,n);return{...r,params:this.#s(r.params)}})}catch(n){throw a?.(),o?.(),e.setRootPath(i),Error(`${t} Failed to initialize: ${n instanceof Error?n.message:String(n)}`,{cause:n})}this.#r=a,this.#i=o}getPlugin(){return{onTransitionSuccess:e=>{this.#c(e)},teardown:()=>{this.#l()}}}#s(e){let t=n(e),i;for(let e of Object.keys(t)){let n=t[e];n===void 0&&this.#t.has(e)?(this.#t.delete(e),i??={...this.#o},delete i[e]):l(e,n)}return i&&(this.#o=Object.freeze(i)),r(this.#o,t)}#c(e){let t;for(let n of this.#t){let r=e.params[n];if(!Object.hasOwn(e.params,n)||r===void 0){Object.hasOwn(this.#o,n)&&this.#o[n]!==void 0&&(t??={...this.#o},delete t[n]);continue}l(n,r),this.#o[n]!==r&&(t??={...this.#o},t[n]=r)}t&&(this.#o=Object.freeze(t)),this.#a.write(e,this.#o)}#l(){this.#r(),this.#i(),this.#a.release();try{this.#e.setRootPath(this.#n)}catch{}}};const f={},p=()=>f;function m(t={}){u(t);let n=Array.isArray(t)?t:Object.keys(t);if(n.length===0)return p;let r={};if(Array.isArray(t))for(let e of t)r[e]=void 0;else Object.assign(r,t);Object.freeze(r);let i=new Set(n);return t=>{let n=(0,e.getPluginApi)(t);return new d(n,r,new Set(i),n.getRootPath()).getPlugin()}}exports.persistentParamsPluginFactory=m;
2
2
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@real-router/persistent-params-plugin",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "type": "commonjs",
5
5
  "description": "Persist query parameters across route transitions",
6
6
  "main": "./dist/cjs/index.js",
@@ -45,7 +45,7 @@
45
45
  "homepage": "https://github.com/greydragon888/real-router",
46
46
  "sideEffects": false,
47
47
  "dependencies": {
48
- "@real-router/core": "^0.54.1",
48
+ "@real-router/core": "^0.55.0",
49
49
  "@real-router/types": "^0.35.0"
50
50
  },
51
51
  "devDependencies": {