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.9.1 to 0.10.0

2

dist/index.js

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

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

@@ -30,5 +30,5 @@ "exports": {

"devDependencies": {
"@stackflow/core": "^0.9.1",
"@stackflow/esbuild-config": "^0.9.0",
"@stackflow/react": "^0.9.1",
"@stackflow/core": "^0.10.0",
"@stackflow/esbuild-config": "^0.10.0",
"@stackflow/react": "^0.10.0",
"@types/node": "^18.6.3",

@@ -56,3 +56,3 @@ "@types/react": "^18.0.10",

},
"gitHead": "a83c215a9d0a498e679e5c0b2fdfa40a358bdaf5"
"gitHead": "c0f15f047f582e79c140c18343142c6abd702cf3"
}

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