Socket
Socket
Sign inDemoInstall

@stackflow/plugin-history-sync

Package Overview
Dependencies
10
Maintainers
1
Versions
110
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

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

2

dist/index.js

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

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

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

},
"gitHead": "537264bcaab50f1eb41d71dfa7c6dff85c2be158"
"gitHead": "57b16cfa3e5dc336bffa4551728f0cae51c1d917"
}

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

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc