Socket
Socket
Sign inDemoInstall

@stackflow/plugin-history-sync

Package Overview
Dependencies
8
Maintainers
1
Versions
109
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.19.2-alpha.4 to 0.19.2-alpha.5

dist/historyState.d.ts

2

dist/index.js

@@ -1,2 +0,2 @@

"use strict";var et=Object.create;var k=Object.defineProperty,nt=Object.defineProperties,rt=Object.getOwnPropertyDescriptor,st=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertyNames,O=Object.getOwnPropertySymbols,at=Object.getPrototypeOf,L=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;var D=(t,n,r)=>n in t?k(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,o=(t,n)=>{for(var r in n||(n={}))L.call(n,r)&&D(t,r,n[r]);if(O)for(var r of O(n))ot.call(n,r)&&D(t,r,n[r]);return t},l=(t,n)=>nt(t,st(n));var ct=(t,n)=>{for(var r in n)k(t,r,{get:n[r],enumerable:!0})},j=(t,n,r,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of it(n))!L.call(t,s)&&s!==r&&k(t,s,{get:()=>n[s],enumerable:!(e=rt(n,s))||e.enumerable});return t};var N=(t,n,r)=>(r=t!=null?et(at(t)):{},j(n||!t||!t.__esModule?k(r,"default",{value:t,enumerable:!0}):r,t)),ut=t=>j(k({},"__esModule",{value:!0}),t);var ht={};ct(ht,{historySyncPlugin:()=>mt,makeTemplate:()=>d,normalizeRoute:()=>p,useRoutes:()=>V});module.exports=ut(ht);var g=require("@stackflow/core"),U=N(require("react"));function _(t){return t.length===0?void 0:t[t.length-1]}var q=N(require("url-pattern"));function pt(t){return new URL(t,"file://")}function ft(t){let n={};return t.forEach((r,e)=>{n[e]=r}),n}function lt(t){return t.endsWith("/")?t:`${t}/`}function dt(t){return t.toString().length>0?`?${t}`:t}function d(t){let n=new q.default(`${t}(/)`);return{fill(r){var u;let e=n.stringify(r),s=(u=n.match(e))!=null?u:{},a=o({},r);Object.keys(s).forEach(y=>{delete a[y]});let c=new URLSearchParams(a);return lt(e)+dt(c)},parse(r){let e=pt(r),s=n.match(e.pathname),a=ft(e.searchParams);return s?o(o({},a),s):null}}}function p(t){return typeof t=="string"?[t]:t}var S=N(require("react")),z=(0,S.createContext)({}),Q=t=>S.default.createElement(z.Provider,{value:t.routes},t.children);function V(){return(0,S.useContext)(z)}var P="@stackflow/plugin-history-sync@0.19.1",yt=1e3,W=60*yt,B=typeof window=="undefined";function J(){return B?null:window.history.state}function G(t){let n=t;return typeof n=="object"&&n!==null&&"_TAG"in n&&typeof n._TAG=="string"&&n._TAG===P?t:null}function X({state:t,url:n,useHash:r}){if(B)return;let e=r?`${window.location.pathname}#${n}`:n;window.history.pushState(t,"",e)}function I({url:t,state:n,useHash:r}){if(B)return;let e=r?`${window.location.pathname}#${t}`:t;window.history.replaceState(n,"",e)}function b(t){return l(o({},t),{pushedBy:"activityContext"in t.pushedBy?l(o({},t.pushedBy),{activityContext:void 0}):o({},t.pushedBy)})}function x(t){return l(o({},t),{context:void 0,pushedBy:l(o({},t.pushedBy),{activityContext:void 0}),steps:t.steps.map(b)})}var Y,xt=(Y=U.default.startTransition)!=null?Y:t=>t();function mt(t){return()=>{let n=0,r=0;return{key:"plugin-history-sync",wrapStack({stack:e}){return U.default.createElement(Q,{routes:t.routes},e.render())},overrideInitialEvents({initialContext:e}){var h,v;let s=G(J());if(s)return[l(o({},s.activity.pushedBy),{name:"Pushed"}),...((h=s.step)==null?void 0:h.pushedBy.name)==="StepPushed"||((v=s.step)==null?void 0:v.pushedBy.name)==="StepReplaced"?[l(o({},s.step.pushedBy),{name:"StepPushed"})]:[]];function a(){var f,i;return((f=e==null?void 0:e.req)==null?void 0:f.path)&&typeof e.req.path=="string"?e.req.path:B?null:t.useHash?(i=window.location.hash.split("#")[1])!=null?i:"/":window.location.pathname+window.location.search}let c=a(),u=Object.keys(t.routes);if(c)for(let f=0;f<u.length;f+=1){let i=u[f],R=p(t.routes[i]);for(let m=0;m<R.length;m+=1){let w=R[m],H=d(w).parse(c);if(!!H){let E=(0,g.id)();return[(0,g.makeEvent)("Pushed",{activityId:E,activityName:i,activityParams:o({},H),eventDate:new Date().getTime()-W,activityContext:{path:c}})]}}}let y=(0,g.id)(),A=t.fallbackActivity({initialContext:e}),C=p(t.routes[A])[0];return[(0,g.makeEvent)("Pushed",{activityId:y,activityName:A,activityParams:{},eventDate:new Date().getTime()-W,activityContext:{path:C}})]},onInit({actions:{getStack:e,dispatchEvent:s,push:a,stepPush:c}}){let u=e().activities[0],y=d(p(t.routes[u.name])[0]);window.getStack=e;let A=_(u.steps);I({url:y.fill(u.params),state:{_TAG:P,activity:x(u),step:A?b(A):void 0},useHash:t.useHash});let $=C=>{if(r){r-=1;return}let h=G(C.state);if(!h)return;let v=h.activity,f=h.activity.id,i=h.step,{activities:R}=e(),m=R.find(T=>T.isActive);if(!m)return;let w=_(m.steps),M=R.find(T=>T.id===f),H=m.steps.find(T=>T.id===(i==null?void 0:i.id)),F=()=>m.id>f,E=()=>m.id<f,K=()=>m.id===f,Z=()=>K()?!!(!i||w&&w.id>i.id):!1,tt=()=>K()?!!(!w||i&&w.id<i.id):!1;if(F()&&(s("Popped",{}),M||(n+=1,a(o({},v.pushedBy)),((i==null?void 0:i.pushedBy.name)==="StepPushed"||(i==null?void 0:i.pushedBy.name)==="StepReplaced")&&(n+=1,c(o({},i.pushedBy))))),Z()&&(!H&&i&&((i==null?void 0:i.pushedBy.name)==="StepPushed"||(i==null?void 0:i.pushedBy.name)==="StepReplaced")&&(n+=1,c(o({},i.pushedBy))),s("StepPopped",{})),E()&&(n+=1,a({activityId:v.id,activityName:v.name,activityParams:v.params})),tt()){if(!i)return;n+=1,c({stepId:i.id,stepParams:i.params})}};B||window.addEventListener("popstate",$)},onPushed({effect:{activity:e}}){if(n){n-=1;return}let s=d(p(t.routes[e.name])[0]);X({url:s.fill(e.params),state:{_TAG:P,activity:x(e)},useHash:t.useHash})},onStepPushed({effect:{activity:e,step:s}}){if(n){n-=1;return}let a=d(p(t.routes[e.name])[0]);X({url:a.fill(e.params),state:{_TAG:P,activity:x(e),step:b(s)},useHash:t.useHash})},onReplaced({effect:{activity:e}}){if(!e.isActive)return;let s=d(p(t.routes[e.name])[0]);I({url:s.fill(e.params),state:{_TAG:P,activity:x(e)},useHash:t.useHash})},onStepReplaced({effect:{activity:e,step:s}}){if(!e.isActive)return;let a=d(p(t.routes[e.name])[0]);I({url:a.fill(e.params),state:{_TAG:P,activity:x(e),step:b(s)},useHash:t.useHash})},onBeforePush({actionParams:e,actions:{overrideActionParams:s}}){let c=d(p(t.routes[e.activityName])[0]).fill(e.activityParams);s(l(o({},e),{activityContext:l(o({},e.activityContext),{path:c})}))},onBeforeReplace({actionParams:e,actions:{overrideActionParams:s}}){let c=d(p(t.routes[e.activityName])[0]).fill(e.activityParams);s(l(o({},e),{activityContext:l(o({},e.activityContext),{path:c})}))},onBeforeStepPop({actions:{getStack:e}}){var c;if(typeof window=="undefined")return;let{activities:s}=e(),a=s.find(u=>u.isActive);((c=a==null?void 0:a.steps.length)!=null?c:0)>1&&(r+=1,window.history.back())},onBeforePop({actions:{getStack:e}}){var u;if(typeof window=="undefined")return;let{activities:s}=e(),a=s.find(y=>y.isActive),c=(u=a==null?void 0:a.steps.length)!=null?u:0;r+=c;do for(let y=0;y<c;y+=1)window.history.back();while(!G(J()))}}}}
"use strict";var et=Object.create;var x=Object.defineProperty,nt=Object.defineProperties,rt=Object.getOwnPropertyDescriptor,st=Object.getOwnPropertyDescriptors,it=Object.getOwnPropertyNames,K=Object.getOwnPropertySymbols,at=Object.getPrototypeOf,O=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable;var z=(t,e,r)=>e in t?x(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,c=(t,e)=>{for(var r in e||(e={}))O.call(e,r)&&z(t,r,e[r]);if(K)for(var r of K(e))ot.call(e,r)&&z(t,r,e[r]);return t},v=(t,e)=>nt(t,st(e));var ct=(t,e)=>{for(var r in e)x(t,r,{get:e[r],enumerable:!0})},D=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of it(e))!O.call(t,s)&&s!==r&&x(t,s,{get:()=>e[s],enumerable:!(n=rt(e,s))||n.enumerable});return t};var C=(t,e,r)=>(r=t!=null?et(at(t)):{},D(e||!t||!t.__esModule?x(r,"default",{value:t,enumerable:!0}):r,t)),ut=t=>D(x({},"__esModule",{value:!0}),t);var vt={};ct(vt,{historySyncPlugin:()=>ht,makeTemplate:()=>l,normalizeRoute:()=>p,useRoutes:()=>W});module.exports=ut(vt);var P=require("@stackflow/core"),Y=C(require("react"));var F="@stackflow/plugin-history-sync@0.19.1",E=typeof window=="undefined";function N(){return E?null:window.history.state}function T(t){let e=t;return typeof e=="object"&&e!==null&&"_TAG"in e&&typeof e._TAG=="string"&&e._TAG===F?t:null}function L(t){let e=c({},t);return"activityContext"in e.pushedBy&&delete e.pushedBy.activityContext,e}function pt(t){let e=c({},t);return delete e.context,delete e.pushedBy.activityContext,e.steps=e.steps.map(L),e}function j(t){return{_TAG:F,activity:pt(t.activity),step:t.step?L(t.step):void 0}}function I({state:t,url:e,useHash:r}){if(E)return;let n=r?`${window.location.pathname}#${e}`:e;window.history.pushState(j(t),"",n)}function B({url:t,state:e,useHash:r}){if(E)return;let n=r?`${window.location.pathname}#${t}`:t;window.history.replaceState(j(e),"",n)}function _(t){return t.length===0?void 0:t[t.length-1]}var q=C(require("url-pattern"));function ft(t){return new URL(t,"file://")}function lt(t){let e={};return t.forEach((r,n)=>{e[n]=r}),e}function dt(t){return t.endsWith("/")?t:`${t}/`}function mt(t){return t.toString().length>0?`?${t}`:t}function l(t){let e=new q.default(`${t}(/)`);return{fill(r){var u;let n=e.stringify(r),s=(u=e.match(n))!=null?u:{},a=c({},r);Object.keys(s).forEach(d=>{delete a[d]});let o=new URLSearchParams(a);return dt(n)+mt(o)},parse(r){let n=ft(r),s=e.match(n.pathname),a=lt(n.searchParams);return s?c(c({},a),s):null}}}function p(t){return typeof t=="string"?[t]:t}var w=C(require("react")),Q=(0,w.createContext)({}),V=t=>w.default.createElement(Q.Provider,{value:t.routes},t.children);function W(){return(0,w.useContext)(Q)}var yt=1e3,J=60*yt,X=typeof window=="undefined";function ht(t){return()=>{let e=0,r=0;return{key:"plugin-history-sync",wrapStack({stack:n}){return Y.default.createElement(V,{routes:t.routes},n.render())},overrideInitialEvents({initialContext:n}){var y,h;let s=T(N());if(s)return[v(c({},s.activity.pushedBy),{name:"Pushed"}),...((y=s.step)==null?void 0:y.pushedBy.name)==="StepPushed"||((h=s.step)==null?void 0:h.pushedBy.name)==="StepReplaced"?[v(c({},s.step.pushedBy),{name:"StepPushed"})]:[]];function a(){var f,i;return((f=n==null?void 0:n.req)==null?void 0:f.path)&&typeof n.req.path=="string"?n.req.path:X?null:t.useHash?(i=window.location.hash.split("#")[1])!=null?i:"/":window.location.pathname+window.location.search}let o=a(),u=Object.keys(t.routes);if(o)for(let f=0;f<u.length;f+=1){let i=u[f],g=p(t.routes[i]);for(let m=0;m<g.length;m+=1){let S=g[m],k=l(S).parse(o);if(!!k){let b=(0,P.id)();return[(0,P.makeEvent)("Pushed",{activityId:b,activityName:i,activityParams:c({},k),eventDate:new Date().getTime()-J,activityContext:{path:o}})]}}}let d=(0,P.id)(),R=t.fallbackActivity({initialContext:n}),H=p(t.routes[R])[0];return[(0,P.makeEvent)("Pushed",{activityId:d,activityName:R,activityParams:{},eventDate:new Date().getTime()-J,activityContext:{path:H}})]},onInit({actions:{getStack:n,dispatchEvent:s,push:a,stepPush:o}}){let u=n().activities[0],d=l(p(t.routes[u.name])[0]);window.getStack=n;let R=_(u.steps);B({url:d.fill(u.params),state:{activity:u,step:R},useHash:t.useHash});let U=H=>{if(r){r-=1;return}let y=T(H.state);if(!y)return;let h=y.activity,f=y.activity.id,i=y.step,{activities:g}=n(),m=g.find(A=>A.isActive);if(!m)return;let S=_(m.steps),$=g.find(A=>A.id===f),k=m.steps.find(A=>A.id===(i==null?void 0:i.id)),G=()=>m.id>f,b=()=>m.id<f,M=()=>m.id===f,Z=()=>M()?!!(!i||S&&S.id>i.id):!1,tt=()=>M()?!!(!S||i&&S.id<i.id):!1;if(G()&&(s("Popped",{}),$||(e+=1,a(c({},h.pushedBy)),((i==null?void 0:i.pushedBy.name)==="StepPushed"||(i==null?void 0:i.pushedBy.name)==="StepReplaced")&&(e+=1,o(c({},i.pushedBy))))),Z()&&(!k&&i&&((i==null?void 0:i.pushedBy.name)==="StepPushed"||(i==null?void 0:i.pushedBy.name)==="StepReplaced")&&(e+=1,o(c({},i.pushedBy))),s("StepPopped",{})),b()&&(e+=1,a({activityId:h.id,activityName:h.name,activityParams:h.params})),tt()){if(!i)return;e+=1,o({stepId:i.id,stepParams:i.params})}};X||window.addEventListener("popstate",U)},onPushed({effect:{activity:n}}){if(e){e-=1;return}let s=l(p(t.routes[n.name])[0]);I({url:s.fill(n.params),state:{activity:n},useHash:t.useHash})},onStepPushed({effect:{activity:n,step:s}}){if(e){e-=1;return}let a=l(p(t.routes[n.name])[0]);I({url:a.fill(n.params),state:{activity:n,step:s},useHash:t.useHash})},onReplaced({effect:{activity:n}}){if(!n.isActive)return;let s=l(p(t.routes[n.name])[0]);B({url:s.fill(n.params),state:{activity:n},useHash:t.useHash})},onStepReplaced({effect:{activity:n,step:s}}){if(!n.isActive)return;let a=l(p(t.routes[n.name])[0]);B({url:a.fill(n.params),state:{activity:n,step:s},useHash:t.useHash})},onBeforePush({actionParams:n,actions:{overrideActionParams:s}}){let o=l(p(t.routes[n.activityName])[0]).fill(n.activityParams);s(v(c({},n),{activityContext:v(c({},n.activityContext),{path:o})}))},onBeforeReplace({actionParams:n,actions:{overrideActionParams:s}}){let o=l(p(t.routes[n.activityName])[0]).fill(n.activityParams);s(v(c({},n),{activityContext:v(c({},n.activityContext),{path:o})}))},onBeforeStepPop({actions:{getStack:n}}){var o;if(typeof window=="undefined")return;let{activities:s}=n(),a=s.find(u=>u.isActive);((o=a==null?void 0:a.steps.length)!=null?o:0)>1&&(r+=1,window.history.back())},onBeforePop({actions:{getStack:n}}){var u;if(typeof window=="undefined")return;let{activities:s}=n(),a=s.find(d=>d.isActive),o=(u=a==null?void 0:a.steps.length)!=null?u:0;r+=o;do for(let d=0;d<o;d+=1)window.history.back();while(!T(N()))}}}}
//# sourceMappingURL=index.js.map
{
"name": "@stackflow/plugin-history-sync",
"version": "0.19.2-alpha.4+57b16cfa",
"version": "0.19.2-alpha.5+35279e75",
"license": "MIT",

@@ -67,3 +67,3 @@ "exports": {

},
"gitHead": "57b16cfa3e5dc336bffa4551728f0cae51c1d917"
"gitHead": "35279e75c1004d8097732a08548c96689a7c8617"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc