aberdeen 0.2.2 → 0.2.4

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/route.js CHANGED
@@ -45,15 +45,24 @@ window.addEventListener("popstate", handleLocationUpdate);
45
45
  // We want to to this immediately, so that user-code running immediately after a user-code
46
46
  // initiated `set` will see the canonical form (instead of doing a rerender shortly after,
47
47
  // or crashing due to non-canonical data).
48
- immediateObserve(() => {
49
- let path = '' + route.get('path');
48
+ function updatePath() {
49
+ let path = route.get('path');
50
+ if (path == null && route.peek('p')) {
51
+ return updateP();
52
+ }
53
+ path = '' + path;
50
54
  if (!path.startsWith('/'))
51
55
  path = '/' + path;
52
56
  route.set('path', path);
53
57
  route.set('p', path.slice(1).split('/'));
54
- });
55
- immediateObserve(() => {
58
+ }
59
+ immediateObserve(updatePath);
60
+ function updateP() {
56
61
  const p = route.get('p');
62
+ console.log('imm p', p);
63
+ if (p == null && route.peek('path')) {
64
+ return updatePath();
65
+ }
57
66
  if (!(p instanceof Array)) {
58
67
  console.error(`aberdeen route: 'p' must be a non-empty array, not ${JSON.stringify(p)}`);
59
68
  route.set('p', ['']); // This will cause a recursive call this observer.
@@ -64,7 +73,8 @@ immediateObserve(() => {
64
73
  else {
65
74
  route.set('path', '/' + p.join('/'));
66
75
  }
67
- });
76
+ }
77
+ immediateObserve(updateP);
68
78
  immediateObserve(() => {
69
79
  if (route.getType('search') !== 'object')
70
80
  route.set('search', {});
package/dist/route.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../src/route.ts"],"names":[],"mappings":"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"}
package/dist-min/route.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Store as t,observe as e,immediateObserve as o,inhibitEffects as r}from"aberdeen";export const route=new t;let a=[];const s=history.length;let c;function u(t){const e={};for(let[t,o]of new URLSearchParams(location.search))e[t]=o;c=t&&t.state||{},a.length=Math.max(1,history.length-s+1),a[a.length-1]={url:location.pathname+location.search,state:c},route.set({path:location.pathname,p:location.pathname.slice(1).split("/"),search:e,hash:location.hash,state:c})}u(),window.addEventListener("popstate",u),o((()=>{let t=""+route.get("path");t.startsWith("/")||(t="/"+t),route.set("path",t),route.set("p",t.slice(1).split("/"))})),o((()=>{const t=route.get("p");t instanceof Array?0==t.length?route.set("p",[""]):route.set("path","/"+t.join("/")):(console.error(`aberdeen route: 'p' must be a non-empty array, not ${JSON.stringify(t)}`),route.set("p",[""]))})),o((()=>{"object"!==route.getType("search")&&route.set("search",{})})),o((()=>{"object"!==route.getType("state")&&route.set("state",{})})),o((()=>{let t=""+(route.get("hash")||"");t&&!t.startsWith("#")&&(t="#"+t),route.set("hash",t)})),e((()=>{const t=route.get("mode");t&&r((()=>route.delete("mode")));const e=route.get("state"),o=route.get("path"),s=new URLSearchParams(route.get("search")).toString(),u=(s?o+"?"+s:o)+route.get("hash");if("back"===t){let t=0;for(;a.length>1;){const o=a[a.length-1];if(o.url===u&&JSON.stringify(Object.keys(e||{}))===JSON.stringify(Object.keys(o.state||{})))break;t--,a.pop()}t&&history.go(t),setTimeout((()=>history.replaceState(e,"",u)),0),a[a.length-1]={url:u,state:e}}else"push"!==t&&(t||location.pathname===o&&JSON.stringify(Object.keys(e||{}))===JSON.stringify(Object.keys(c||{})))?(history.replaceState(e,"",u),a[a.length-1]={url:u,state:e}):(history.pushState(e,"",u),a.push({url:u,state:e}));c=e}));
1
+ import{Store as t,observe as e,immediateObserve as o,inhibitEffects as r}from"aberdeen";export const route=new t;let a=[];const s=history.length;let u;function n(t){const e={};for(let[t,o]of new URLSearchParams(location.search))e[t]=o;u=t&&t.state||{},a.length=Math.max(1,history.length-s+1),a[a.length-1]={url:location.pathname+location.search,state:u},route.set({path:location.pathname,p:location.pathname.slice(1).split("/"),search:e,hash:location.hash,state:u})}function c(){let t=route.get("path");if(null==t&&route.peek("p"))return h();t=""+t,t.startsWith("/")||(t="/"+t),route.set("path",t),route.set("p",t.slice(1).split("/"))}function h(){const t=route.get("p");if(console.log("imm p",t),null==t&&route.peek("path"))return c();t instanceof Array?0==t.length?route.set("p",[""]):route.set("path","/"+t.join("/")):(console.error(`aberdeen route: 'p' must be a non-empty array, not ${JSON.stringify(t)}`),route.set("p",[""]))}n(),window.addEventListener("popstate",n),o(c),o(h),o((()=>{"object"!==route.getType("search")&&route.set("search",{})})),o((()=>{"object"!==route.getType("state")&&route.set("state",{})})),o((()=>{let t=""+(route.get("hash")||"");t&&!t.startsWith("#")&&(t="#"+t),route.set("hash",t)})),e((()=>{const t=route.get("mode");t&&r((()=>route.delete("mode")));const e=route.get("state"),o=route.get("path"),s=new URLSearchParams(route.get("search")).toString(),n=(s?o+"?"+s:o)+route.get("hash");if("back"===t){let t=0;for(;a.length>1;){const o=a[a.length-1];if(o.url===n&&JSON.stringify(Object.keys(e||{}))===JSON.stringify(Object.keys(o.state||{})))break;t--,a.pop()}t&&history.go(t),setTimeout((()=>history.replaceState(e,"",n)),0),a[a.length-1]={url:n,state:e}}else"push"!==t&&(t||location.pathname===o&&JSON.stringify(Object.keys(e||{}))===JSON.stringify(Object.keys(u||{})))?(history.replaceState(e,"",n),a[a.length-1]={url:n,state:e}):(history.pushState(e,"",n),a.push({url:n,state:e}));u=e}));
2
2
  //# sourceMappingURL=route.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Store","observe","immediateObserve","inhibitEffects","route","stack","initialHistoryLength","history","length","prevHistoryState","handleLocationUpdate","event","search","k","v","URLSearchParams","location","state","Math","max","url","pathname","set","path","p","slice","split","hash","window","addEventListener","get","startsWith","Array","join","console","error","JSON","stringify","getType","mode","delete","toString","goDelta","item","Object","keys","pop","go","setTimeout","replaceState","pushState","push"],"sources":["../src/route.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Store","observe","immediateObserve","inhibitEffects","route","stack","initialHistoryLength","history","length","prevHistoryState","handleLocationUpdate","event","search","k","v","URLSearchParams","location","state","Math","max","url","pathname","set","path","p","slice","split","hash","updatePath","get","peek","updateP","startsWith","console","log","Array","join","error","JSON","stringify","window","addEventListener","getType","mode","delete","toString","goDelta","item","Object","keys","pop","go","setTimeout","replaceState","pushState","push"],"sources":["../src/route.ts"],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aberdeen",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "A TypeScript/JavaScript library for quickly building performant declarative user interfaces without the use of a virtual DOM nor any transpilation.",
5
5
  "type": "module",
6
6
  "main": "dist-min/aberdeen.js",
@@ -47,6 +47,6 @@
47
47
  "typescript": "^4.9.5"
48
48
  },
49
49
  "files": [
50
- "dist", "dist-min"
50
+ "dist", "dist-min", "src"
51
51
  ]
52
52
  }