aberdeen 0.1.2 → 0.2.2
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/README.md +11 -5
- package/dist/aberdeen.d.ts +28 -153
- package/dist/aberdeen.js +358 -444
- package/dist/aberdeen.js.map +1 -0
- package/dist/prediction.d.ts +29 -0
- package/dist/prediction.js +110 -0
- package/dist/prediction.js.map +1 -0
- package/dist/route.d.ts +16 -0
- package/dist/route.js +119 -0
- package/dist/route.js.map +1 -0
- package/dist/transitions.d.ts +18 -0
- package/dist/transitions.js +67 -0
- package/dist/transitions.js.map +1 -0
- package/dist-min/aberdeen.d.ts +573 -0
- package/dist-min/aberdeen.js +2 -0
- package/dist-min/aberdeen.js.map +1 -0
- package/dist-min/prediction.d.ts +29 -0
- package/dist-min/prediction.js +2 -0
- package/dist-min/prediction.js.map +1 -0
- package/dist-min/route.d.ts +16 -0
- package/dist-min/route.js +2 -0
- package/dist-min/route.js.map +1 -0
- package/dist-min/transitions.d.ts +18 -0
- package/dist-min/transitions.js +2 -0
- package/dist-min/transitions.js.map +1 -0
- package/package.json +35 -24
- package/dist/aberdeen.min.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["queueIndex","queueArray","queueSet","Set","queueOrdered","runQueueDepth","queue","runner","has","Error","length","_queueOrder","setTimeout","runQueue","push","add","onCreateEnabled","splice","sort","a","b","batchEndIndex","delete","_queueRun","undefined","scheduleDomReader","func","scheduleDomWriter","partToStr","part","result","num","neg","String","fromCharCode","Math","floor","numToString","abs","round","Scope","constructor","parentElement","precedingSibling","queueOrder","this","_cleaners","_isDead","_parentElement","_precedingSibling","_findPrecedingNode","stopAt","pre","cur","Node","node","_findLastNode","_lastChild","_addNode","ScopeError","prevNode","insertBefore","nextSibling","firstChild","_remove","lastNode","nextNode","internalError","onDestroy","onDestroyMap","get","Element","destroyWithClass","set","removeChild","_clean","cleaner","_onChange","index","newData","oldData","SimpleScope","renderer","super","_renderer","currentScope","_update","savedScope","e","handleError","immediateQueue","ImmediateScope","immediateQueuerRunning","runImmediateQueue","count","size","clear","copy","scope","IsEmptyObserver","collection","triggerCount","_getCount","_addObserver","ANY_INDEX","_removeObserver","OnEachScope","makeSortKey","_byPosition","_byIndex","Map","_newIndexes","_removedIndexes","_collection","_makeSortKey","indexes","forEach","_removeChild","_addChild","_observers","_renderInitial","parentScope","_iterateIndexes","itemIndex","OnEachItemScope","_removeFromPosition","_findPosition","sortStr","items","min","max","_sortStr","mid","_insertAtPosition","child","pos","parent","_parent","_itemIndex","sortKey","itemStore","Store","oldSortStr","newSortStr","key","Array","map","join","ObsCollection","observer","obsSet","emitChange","_setIndex","newValue","deleteMissing","curData","rawGet","_merge","valueToData","rawSet","ObsArray","_data","_getType","_getRecursive","depth","i","v","JSON","stringify","pop","old","_normalizeIndex","ObsMap","data","k","_","ObsObject","Object","hasOwnProperty","type","cnt","value","_idx","path","query","peek","getNumber","getString","getBoolean","getFunction","getArray","getObject","getMap","getOr","defaultValue","opts","ref","_observe","TypeError","isEmpty","getType","pathAndValue","store","makeRef","merge","mergeValue","obsArray","modify","DetachedStore","onEach","pathAndFuncs","defaultMakeSortKey","val","onEachScope","out","item","clean","multiMap","keys","isDetached","dump","text","sub","WeakMap","element","cls","classList","remove","tag","rest","el","classes","indexOf","substr","document","createElement","className","replaceAll","textContent","applyProp","bindInput","html","tmpParent","tagName","innerHTML","onStoreChange","onInputChange","getAttribute","checked","observe","addEventListener","removeEventListener","createTextNode","prop","name","getParentElement","_mount","immediateObserve","mount","maxTopScopeId","topScopes","MountScope","unmount","id","values","assign","style","setAttribute","d","code","error","withEmitHandler","handler","oldEmitHandler","prototype","inhibitEffects","from","to","split"],"sources":["../src/aberdeen.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
type ObsCollection = any;
|
|
2
|
+
type Patch = Map<ObsCollection, Map<any, [any, any]>>;
|
|
3
|
+
/**
|
|
4
|
+
* Run the provided function, while treating all changes to Observables as predictions,
|
|
5
|
+
* meaning they will be reverted when changes come back from the server (or some other
|
|
6
|
+
* async source).
|
|
7
|
+
* @param predictFunc The function to run. It will generally modify some Observables
|
|
8
|
+
* to immediately reflect state (as closely as possible) that we expect the server
|
|
9
|
+
* to communicate back to us later on.
|
|
10
|
+
* @returns A `Patch` object. Don't modify it. This is only meant to be passed to `applyCanon`.
|
|
11
|
+
*/
|
|
12
|
+
export declare function applyPrediction(predictFunc: () => void): Patch;
|
|
13
|
+
/**
|
|
14
|
+
* Temporarily revert all outstanding predictions, optionally run the provided function
|
|
15
|
+
* (which will generally make authoritative changes to the data based on a server response),
|
|
16
|
+
* and then attempt to reapply the predictions on top of the new canonical state, dropping
|
|
17
|
+
* any predictions that can no longer be applied cleanly (the data has been modified) or
|
|
18
|
+
* that were specified in `dropPredictions`.
|
|
19
|
+
*
|
|
20
|
+
* All of this is done such that redraws are only triggered if the overall effect is an
|
|
21
|
+
* actual change to an `Observable`.
|
|
22
|
+
* @param canonFunc The function to run without any predictions applied. This will typically
|
|
23
|
+
* make authoritative changes to the data, based on a server response.
|
|
24
|
+
* @param dropPredictions An optional list of predictions (as returned by `applyPrediction`)
|
|
25
|
+
* to undo. Typically, when a server response for a certain request is being handled,
|
|
26
|
+
* you'd want to drop the prediction that was done for that request.
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyCanon(canonFunc?: (() => void), dropPredictions?: Array<Patch>): void;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{withEmitHandler as t}from"aberdeen";function o(o){const n=new Map;return t((function(t,o,f){e(n,this,t,o,f)}),o),n}function e(t,o,e,n,f){let r=t.get(o);r||(r=new Map,t.set(o,r));let l=r.get(e);l&&(f=l[1]),n===f?r.delete(e):r.set(e,[n,f])}function n(t){for(let[o,e]of t)for(let[t,[n,f]]of e)o.emitChange(t,n,f)}function f(t,o,n=!1){for(let[f,r]of o)for(let[o,[l,i]]of r)e(t,f,o,n?i:l,n?l:i)}function r(t,o=!1){for(let[e,n]of t)for(let[t,[f,r]]of n){let n=e.rawGet(t);if(n!==r){if(!o)return!1;setTimeout((()=>{throw new Error(`Applying invalid patch: data ${n} is unequal to expected old data ${r} for index ${t}`)}),0)}}for(let[o,e]of t)for(let[t,[n,f]]of e)o.rawSet(t,n);return!0}const l=[];export function applyPrediction(t){let e=o(t);return l.push(e),n(e),e}export function applyCanon(t,e=[]){let i=new Map;for(let t of l)f(i,t,!0);r(i,!0);for(let t of e){let o=l.indexOf(t);o>=0&&l.splice(o,1)}t&&f(i,o(t));for(let t=0;t<l.length;t++)r(l[t])?f(i,l[t]):(l.splice(t,1),t--);n(i)}
|
|
2
|
+
//# sourceMappingURL=prediction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["withEmitHandler","recordPatch","func","recordingPatch","Map","index","newData","oldData","addToPatch","this","patch","collection","collectionMap","get","set","prev","delete","emitPatch","emitChange","mergePatch","target","source","reverse","silentlyApplyPatch","force","actualData","rawGet","setTimeout","Error","rawSet","appliedPredictions","applyPrediction","predictFunc","push","applyCanon","canonFunc","dropPredictions","resultPatch","prediction","pos","indexOf","splice","idx","length"],"sources":["../src/prediction.ts"],"mappings":"0BAAQA,MAAsB,WAM9B,SAASC,EAAYC,GACpB,MAAMC,EAAiB,IAAIC,IAI3B,OAHAJ,GAAgB,SAASK,EAAOC,EAASC,GACxCC,EAAWL,EAAgBM,KAAMJ,EAAOC,EAASC,EAClD,GAAGL,GACIC,CACR,CAEA,SAASK,EAAWE,EAAcC,EAA2BN,EAAYC,EAAcC,GACtF,IAAIK,EAAgBF,EAAMG,IAAIF,GACzBC,IACJA,EAAgB,IAAIR,IACpBM,EAAMI,IAAIH,EAAYC,IAEvB,IAAIG,EAAOH,EAAcC,IAAIR,GACzBU,IAAMR,EAAUQ,EAAK,IACrBT,IAAYC,EAASK,EAAcI,OAAOX,GACzCO,EAAcE,IAAIT,EAAO,CAACC,EAASC,GACzC,CAEA,SAASU,EAAUP,GAClB,IAAI,IAAKC,EAAYC,KAAkBF,EACtC,IAAI,IAAKL,GAAQC,EAASC,MAAaK,EACtCD,EAAWO,WAAWb,EAAOC,EAASC,EAGzC,CAEA,SAASY,EAAWC,EAAeC,EAAeC,GAAmB,GACpE,IAAI,IAAKX,EAAYC,KAAkBS,EACtC,IAAI,IAAKhB,GAAQC,EAASC,MAAaK,EACtCJ,EAAWY,EAAQT,EAAYN,EAAOiB,EAAUf,EAAUD,EAASgB,EAAUhB,EAAUC,EAG1F,CAEA,SAASgB,EAAmBb,EAAcc,GAAiB,GAC1D,IAAI,IAAKb,EAAYC,KAAkBF,EACtC,IAAI,IAAKL,GAAQC,EAASC,MAAaK,EAAe,CACrD,IAAIa,EAAad,EAAWe,OAAOrB,GACnC,GAAIoB,IAAelB,EAAS,CAC3B,IAAIiB,EACC,OAAO,EADDG,YAAW,KAAQ,MAAM,IAAIC,MAAM,gCAAgCH,qCAA8ClB,eAAqBF,IAAQ,GAAG,E,EAK/J,IAAI,IAAKM,EAAYC,KAAkBF,EACtC,IAAI,IAAKL,GAAQC,EAASC,MAAaK,EACtCD,EAAWkB,OAAOxB,EAAOC,GAG3B,OAAO,CACR,CAGA,MAAMwB,EAAmC,UAWnC,SAAUC,gBAAgBC,GAC/B,IAAItB,EAAQT,EAAY+B,GAGxB,OAFAF,EAAmBG,KAAKvB,GACxBO,EAAUP,GACHA,CACR,QAiBM,SAAUwB,WAAWC,EAA0BC,EAAgC,IAEpF,IAAIC,EAAc,IAAIjC,IACtB,IAAI,IAAIkC,KAAcR,EAAoBX,EAAWkB,EAAaC,GAAY,GAC9Ef,EAAmBc,GAAa,GAEhC,IAAI,IAAIC,KAAcF,EAAiB,CACtC,IAAIG,EAAMT,EAAmBU,QAAQF,GACjCC,GAAO,GAAGT,EAAmBW,OAAOF,EAAK,E,CAE1CJ,GAAWhB,EAAWkB,EAAapC,EAAYkC,IAEnD,IAAI,IAAIO,EAAI,EAAGA,EAAIZ,EAAmBa,OAAQD,IACzCnB,EAAmBO,EAAmBY,IACzCvB,EAAWkB,EAAaP,EAAmBY,KAE3CZ,EAAmBW,OAAOC,EAAK,GAC/BA,KAIFzB,EAAUoB,EACX","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Store } from 'aberdeen';
|
|
2
|
+
/**
|
|
3
|
+
* A `Store` object that holds the following keys:
|
|
4
|
+
* - `path`: The current path of the URL split into components. For instance `/` or `/users/123/feed`. Updates will be reflected in the URL and will *push* a new entry to the browser history.
|
|
5
|
+
* - `p`: Array containing the path segments. For instance `[]` or `['users', 123, 'feed']`. Updates will be reflected in the URL and will *push* a new entry to the browser history. Also, the values of `p` and `path` will be synced.
|
|
6
|
+
* - `search`: An observable object containing search parameters (a split up query string). For instance `{order: "date", title: "something"}` or just `{}`. Updates will be reflected in the URL, modifying the current history state.
|
|
7
|
+
* - `hash`: The document hash part of the URL. For instance `"#section-title"`. It can also be an empty string. Updates will be reflected in the URL, modifying the current history state.
|
|
8
|
+
* - `state`: The browser history *state* object for the current page. Creating or removing top-level keys will cause *pushing* a new entry to the browser history.
|
|
9
|
+
*
|
|
10
|
+
* The following key may also be written to `route` but will be immediately and silently removed:
|
|
11
|
+
* - `mode`: As described above, this library takes a best guess about whether pushing an item to the browser history makes sense or not. When `mode` is...
|
|
12
|
+
* - `"push"`: Force creation of a new browser history entry.
|
|
13
|
+
* - `"replace"`: Update the current history entry, even when updates to other keys would normally cause a *push*.
|
|
14
|
+
* - `"back"`: Unwind the history (like repeatedly pressing the *back* button) until we find a page that matches the given `path`, `search` and top-level `state` keys, and then *replace* that state by the full given state.
|
|
15
|
+
*/
|
|
16
|
+
export declare const route: Store;
|
|
@@ -0,0 +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}));
|
|
2
|
+
//# sourceMappingURL=route.js.map
|
|
@@ -0,0 +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":[]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** Do a grow transition for the given element. This is meant to be used as a
|
|
2
|
+
* handler for the `create` property.
|
|
3
|
+
*
|
|
4
|
+
* @param el The element to transition.
|
|
5
|
+
*
|
|
6
|
+
* The transition doesn't look great for table elements, and may have problems
|
|
7
|
+
* for other specific cases as well.
|
|
8
|
+
*/
|
|
9
|
+
export declare function grow(el: HTMLElement): void;
|
|
10
|
+
/** Do a shrink transition for the given element, and remove it from the DOM
|
|
11
|
+
* afterwards. This is meant to be used as a handler for the `destroy` property.
|
|
12
|
+
*
|
|
13
|
+
* @param el The element to transition and remove.
|
|
14
|
+
*
|
|
15
|
+
* The transition doesn't look great for table elements, and may have problems
|
|
16
|
+
* for other specific cases as well.
|
|
17
|
+
*/
|
|
18
|
+
export declare function shrink(el: HTMLElement): void;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{scheduleDomReader as t,scheduleDomWriter as e}from"aberdeen";const o=400,r="margin 400ms ease-out, transform 400ms ease-out";function n(t){const e=t.parentElement?getComputedStyle(t.parentElement):{};return"flex"===e.display&&(e.flexDirection||"").startsWith("row")?{marginLeft:`-${t.offsetWidth/2}px`,marginRight:`-${t.offsetWidth/2}px`,transform:"scaleX(0)"}:{marginBottom:`-${t.offsetHeight/2}px`,marginTop:`-${t.offsetHeight/2}px`,transform:"scaleY(0)"}}export function grow(m){t((()=>{let s=n(m);e((()=>{Object.assign(m.style,s),t((()=>{m.offsetHeight,e((()=>{m.style.transition=r;for(let t in s)m.style[t]="";setTimeout((()=>{m.style.transition=""}),o)}))}))}))}))}export function shrink(m){t((()=>{const t=n(m);e((()=>{m.style.transition=r,Object.assign(m.style,t),setTimeout((()=>m.remove()),o)}))}))}
|
|
2
|
+
//# sourceMappingURL=transitions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["scheduleDomReader","scheduleDomWriter","FADE_TIME","GROW_SHRINK_TRANSITION","getGrowShrinkProps","el","parentStyle","parentElement","getComputedStyle","display","flexDirection","startsWith","marginLeft","offsetWidth","marginRight","transform","marginBottom","offsetHeight","marginTop","grow","props","Object","assign","style","transition","prop","setTimeout","shrink","remove"],"sources":["../src/transitions.ts"],"mappings":"4BAAQA,uBAAmBC,MAAwB,WAEnD,MAAMC,EAAY,IACZC,EAAyB,kDAE/B,SAASC,EAAmBC,GAC3B,MAAMC,EAAmBD,EAAGE,cAAgBC,iBAAiBH,EAAGE,eAAiB,GAEjF,MAD6C,SAAxBD,EAAYG,UAAuBH,EAAYI,eAAe,IAAIC,WAAW,OAEjG,CAACC,WAAY,IAAIP,EAAGQ,YAAY,MAAOC,YAAa,IAAIT,EAAGQ,YAAY,MAAOE,UAAW,aACzF,CAACC,aAAc,IAAIX,EAAGY,aAAa,MAAOC,UAAW,IAAIb,EAAGY,aAAa,MAAOF,UAAW,YAE7F,QAUM,SAAUI,KAAKd,GAEpBL,GAAkB,KAGjB,IAAIoB,EAAQhB,EAAmBC,GAI/BJ,GAAkB,KACjBoB,OAAOC,OAAOjB,EAAGkB,MAAOH,GAGxBpB,GAAkB,KAEjBK,EAAGY,aACHhB,GAAkB,KAEjBI,EAAGkB,MAAMC,WAAarB,EACtB,IAAI,IAAIsB,KAAQL,EAAOf,EAAGkB,MAAME,GAAe,GAC/CC,YAAW,KAEVrB,EAAGkB,MAAMC,WAAa,EAAE,GACtBtB,EAAU,GACZ,GACD,GACD,GAEJ,QAUM,SAAUyB,OAAOtB,GACtBL,GAAkB,KACjB,MAAMoB,EAAQhB,EAAmBC,GAGjCJ,GAAkB,KACjBI,EAAGkB,MAAMC,WAAarB,EACtBkB,OAAOC,OAAOjB,EAAGkB,MAAOH,GAExBM,YAAW,IAAMrB,EAAGuB,UAAU1B,EAAU,GACvC,GAEJ","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,41 +1,52 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aberdeen",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "A TypeScript/JavaScript library for quickly building performant declarative user interfaces without the use of a virtual DOM.",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
3
|
+
"version": "0.2.2",
|
|
4
|
+
"description": "A TypeScript/JavaScript library for quickly building performant declarative user interfaces without the use of a virtual DOM nor any transpilation.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist-min/aberdeen.js",
|
|
7
|
+
"types": "dist-min/aberdeen.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"default": "./dist-min/aberdeen.js",
|
|
11
|
+
"development": "./dist/aberdeen.js",
|
|
12
|
+
"types`": "./dist/aberdeen.d.ts"
|
|
13
|
+
},
|
|
14
|
+
"./route": {
|
|
15
|
+
"default": "./dist-min/route.js",
|
|
16
|
+
"development": "./dist/route.js",
|
|
17
|
+
"types`": "./dist/route.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./transition": {
|
|
20
|
+
"default": "./dist-min/transition.js",
|
|
21
|
+
"development": "./dist/transition.js",
|
|
22
|
+
"types`": "./dist/transition.d.ts"
|
|
23
|
+
},
|
|
24
|
+
"./prediction": {
|
|
25
|
+
"default": "./dist-min/prediction.js",
|
|
26
|
+
"development": "./dist/prediction.js",
|
|
27
|
+
"types`": "./dist/prediction.d.ts"
|
|
28
|
+
},
|
|
29
|
+
"./package.json": "./package.json"
|
|
30
|
+
},
|
|
7
31
|
"scripts": {
|
|
8
32
|
"build": "$npm_execpath run build-dist && $npm_execpath run build-docs",
|
|
9
|
-
"build-dist": "rm -
|
|
10
|
-
"build-docs": "typedoc --excludePrivate --excludeInternal src
|
|
11
|
-
"
|
|
12
|
-
"
|
|
13
|
-
"test": "$npm_execpath run build-test && mocha --file tests/_init.js tests/[^_]*.js",
|
|
33
|
+
"build-dist": "rm -rf dist dist-min && tsc && mkdir -p dist-min && cp dist/*.d.ts dist-min && for f in dist/*.js ; do terser $f --module --compress --mangle --mangle-props 'regex=/^_/' --source-map \"content='$f.map',base='dist-min/',url='$(basename $f).map'\" --output dist-min/$(basename $f); done && chmod a-w dist/* dist-min/*",
|
|
34
|
+
"build-docs": "typedoc --excludePrivate --excludeInternal src/*.ts",
|
|
35
|
+
"coverage": "$npm_execpath run build-dist && NODE_OPTIONS=--enable-source-maps c8 --all -n dist-min -r html -r text mocha --file tests/_init.js tests/[^_]*.js",
|
|
36
|
+
"test": "$npm_execpath run build-dist && NODE_OPTIONS=--enable-source-maps mocha --file tests/_init.js tests/[^_]*.js",
|
|
14
37
|
"prepack": "$npm_execpath run test && $npm_execpath run build"
|
|
15
38
|
},
|
|
16
39
|
"author": "Frank van Viegen",
|
|
17
40
|
"license": "ISC",
|
|
18
41
|
"devDependencies": {
|
|
42
|
+
"c8": "^10.1.3",
|
|
19
43
|
"fast-equals": "^2.0.4",
|
|
20
44
|
"mocha": "^9.1.3",
|
|
21
|
-
"
|
|
22
|
-
"terser": "^4.6.13",
|
|
45
|
+
"terser": "^5.37.0",
|
|
23
46
|
"typedoc": "^0.23.28",
|
|
24
47
|
"typescript": "^4.9.5"
|
|
25
48
|
},
|
|
26
|
-
"nyc": {
|
|
27
|
-
"reporter": [
|
|
28
|
-
"text-summary",
|
|
29
|
-
"lcov"
|
|
30
|
-
],
|
|
31
|
-
"temp-directory": "./coverage/.nyc_output",
|
|
32
|
-
"sourceMap": true,
|
|
33
|
-
"include": [
|
|
34
|
-
"tests/build/**"
|
|
35
|
-
],
|
|
36
|
-
"exclude": []
|
|
37
|
-
},
|
|
38
49
|
"files": [
|
|
39
|
-
|
|
50
|
+
"dist", "dist-min"
|
|
40
51
|
]
|
|
41
52
|
}
|
package/dist/aberdeen.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
let e,t,n=[],i=new Set,r=!0,s=0;function o(e){if(!i.has(e)){if(s>42)throw new Error("Too many recursive updates from observes");n.length?e.queueOrder<n[n.length-1].queueOrder&&(r=!1):setTimeout(l,0),n.push(e),i.add(e)}}function l(){for(b=!0,e=0;e<n.length;){r||(n.splice(0,e),e=0,n.sort((e,t)=>e.queueOrder-t.queueOrder),r=!0);let t=n.length;for(;e<t&&r;e++){let t=n[e];i.delete(t),t.queueRun()}s++}n.length=0,e=void 0,s=0,b=!1}let a;export function scheduleDomReader(t){o({queueOrder:null!=e&&e<n.length&&n[e].queueOrder>=1e3?n[e].queueOrder+1&-2:1e3,queueRun:t})}export function scheduleDomWriter(t){o({queueOrder:null!=e&&e<n.length&&n[e].queueOrder>=1e3?1|n[e].queueOrder:1001,queueRun:t})}function h(e){if("string"==typeof e)return e+"";{let t=function(e,t){let n="";for(;e>0;)n+=String.fromCharCode(t?65535-e%65533:2+e%65533),e=Math.floor(e/65533);return n}(Math.abs(Math.round(e)),e<0);return String.fromCharCode(128+(e>0?t.length:-t.length))+t}}class d{constructor(e,t,n){this.cleaners=[],this.isDead=!1,this.parentElement=e,this.precedingSibling=t,this.queueOrder=n}findPrecedingNode(e){let t,n=this;for(;(t=n.precedingSibling)&&t!==e;){if(t instanceof Node)return t;let e=t.findLastNode();if(e)return e;n=t}}findLastNode(){if(this.lastChild)return this.lastChild instanceof Node?this.lastChild:this.lastChild.findLastNode()||this.lastChild.findPrecedingNode(this.precedingSibling)}addNode(e){if(!this.parentElement)throw new k(!0);let t=this.findLastNode()||this.findPrecedingNode();this.parentElement.insertBefore(e,t?t.nextSibling:this.parentElement.firstChild),this.lastChild=e}remove(){if(this.parentElement){let e=this.findLastNode();if(e){let t=this.findPrecedingNode();for(t=t?t.nextSibling:this.parentElement.firstChild,this.lastChild=void 0;;){if(!t)return N(1);const n=t;t=n.nextSibling||void 0;let i=S.get(n);if(i&&n instanceof Element?!0!==i&&("function"==typeof i?i(n):E(n,i),S.set(n,!0)):this.parentElement.removeChild(n),n===e)break}}}this._clean()}_clean(){this.isDead=!0;for(let e of this.cleaners)e._clean(this);this.cleaners.length=0}onChange(e,t,n){o(this)}}class u extends d{constructor(e,t,n,i){super(e,t,n),this.renderer=i}queueRun(){a&&N(2),this.isDead||(this.remove(),this.isDead=!1,this.update())}update(){let e=a;a=this;try{this.renderer()}catch(e){P(e)}a=e}}class c{constructor(e,t,n){this.scope=e,this.collection=t,this.triggerCount=n,this.count=t.getCount(),t.addObserver(g,this),e.cleaners.push(this)}onChange(e,t,n){void 0===t?!this.triggerCount&&--this.count||o(this.scope):void 0===n&&(!this.triggerCount&&this.count++||o(this.scope))}_clean(){this.collection.removeObserver(g,this)}}class f extends d{constructor(e,t,n,i,r,s){super(e,t,n),this.byPosition=[],this.byIndex=new Map,this.newIndexes=new Set,this.removedIndexes=new Set,this.collection=i,this.renderer=r,this.makeSortKey=s}onChange(e,t,n){void 0===n?this.removedIndexes.has(e)?this.removedIndexes.delete(e):(this.newIndexes.add(e),o(this)):void 0===t&&(this.newIndexes.has(e)?this.newIndexes.delete(e):(this.removedIndexes.add(e),o(this)))}queueRun(){if(this.isDead)return;let e=this.removedIndexes;this.removedIndexes=new Set,e.forEach(e=>{this.removeChild(e)}),e=this.newIndexes,this.newIndexes=new Set,e.forEach(e=>{this.addChild(e)})}_clean(){super._clean(),this.collection.observers.delete(this);for(const[e,t]of this.byIndex)t._clean();this.byPosition.length=0,this.byIndex.clear()}renderInitial(){if(!a)return N(3);let e=a;this.collection.iterateIndexes(this),a=e}addChild(e){let t=new p(this.parentElement,void 0,this.queueOrder+1,this,e);this.byIndex.set(e,t),t.update()}removeChild(e){let t=this.byIndex.get(e);if(!t)return N(6);t.remove(),this.byIndex.delete(e),this.removeFromPosition(t)}findPosition(e){let t=this.byPosition,n=0,i=t.length;if(!i||e>t[i-1].sortStr)return i;for(;n<i;){let r=n+i>>1;t[r].sortStr<e?n=r+1:i=r}return n}insertAtPosition(e){let t=this.findPosition(e.sortStr);this.byPosition.splice(t,0,e);let n=this.byPosition[t+1];n?(e.precedingSibling=n.precedingSibling,n.precedingSibling=e):(e.precedingSibling=this.lastChild||this.precedingSibling,this.lastChild=e)}removeFromPosition(e){if(""===e.sortStr)return;let t=this.findPosition(e.sortStr);for(;;){if(this.byPosition[t]===e){if(this.byPosition.splice(t,1),t<this.byPosition.length){let n=this.byPosition[t];if(!n)return N(8);if(n.precedingSibling!==e)return N(13);n.precedingSibling=e.precedingSibling}else{if(e!==this.lastChild)return N(12);this.lastChild=e.precedingSibling===this.precedingSibling?void 0:e.precedingSibling}return}if(++t>=this.byPosition.length||this.byPosition[t].sortStr!==e.sortStr)return N(5)}}}class p extends d{constructor(e,t,n,i,r){super(e,t,n),this.sortStr="",this.parent=i,this.itemIndex=r}queueRun(){a&&N(4),this.isDead||(this.remove(),this.isDead=!1,this.update())}update(){let e=a;a=this;let t,n=new Store(this.parent.collection,this.itemIndex);try{t=this.parent.makeSortKey(n)}catch(e){P(e)}let i=this.sortStr,r=null==t?"":(s=t)instanceof Array?s.map(h).join(""):h(s);var s;if(""!==i&&i!==r&&this.parent.removeFromPosition(this),this.sortStr=r,""!==r){r!==i&&this.parent.insertAtPosition(this);try{this.parent.renderer(n)}catch(e){P(e)}}a=e}}const g={};class m{constructor(){this.observers=new Map}addObserver(e,t){t=t;let n=this.observers.get(e);if(n){if(n.has(t))return!1;n.add(t)}else this.observers.set(e,new Set([t]));return!0}removeObserver(e,t){this.observers.get(e).delete(t)}emitChange(e,n,i){if(t)M(t,this,e,n,i);else{let t=this.observers.get(e);t&&t.forEach(t=>t.onChange(e,n,i)),t=this.observers.get(g),t&&t.forEach(t=>t.onChange(e,n,i))}}_clean(e){this.removeObserver(g,e)}setIndex(e,t,n){const i=this.rawGet(e);if(!(i instanceof m)||t instanceof Store||!i.merge(t,n)){let n=I(t);n!==i&&(this.rawSet(e,n),this.emitChange(e,n,i))}}}class v extends m{constructor(){super(...arguments),this.data=[]}getType(){return"array"}getRecursive(e){a&&this.addObserver(g,a)&&a.cleaners.push(this);let t=[];for(let n=0;n<this.data.length;n++){let i=this.data[n];t.push(i instanceof m?e?i.getRecursive(e-1):new Store(this,n):i)}return t}rawGet(e){return this.data[e]}rawSet(e,t){if(e!==(0|e)||e<0||e>999999)throw new Error("Invalid array index "+JSON.stringify(e));for(this.data[e]=t;this.data.length>0&&void 0===this.data[this.data.length-1];)this.data.pop()}merge(e,t){if(!(e instanceof Array))return!1;for(let n=0;n<e.length;n++)this.setIndex(n,e[n],t);if(t&&this.data.length>e.length){for(let t=e.length;t<this.data.length;t++){let e=this.data[t];void 0!==e&&this.emitChange(t,void 0,e)}this.data.length=e.length}return!0}iterateIndexes(e){for(let t=0;t<this.data.length;t++)void 0!==this.data[t]&&e.addChild(t)}normalizeIndex(e){if("number"==typeof e)return e;if("string"==typeof e){let t=0|e;if(e.length&&t==e)return e}throw new Error("Invalid array index "+JSON.stringify(e))}getCount(){return this.data.length}}class y extends m{constructor(){super(...arguments),this.data=new Map}getType(){return"map"}getRecursive(e){a&&this.addObserver(g,a)&&a.cleaners.push(this);let t=new Map;return this.data.forEach((n,i)=>{t.set(i,n instanceof m?e?n.getRecursive(e-1):new Store(this,i):n)}),t}rawGet(e){return this.data.get(e)}rawSet(e,t){void 0===t?this.data.delete(e):this.data.set(e,t)}merge(e,t){return e instanceof Map&&(e.forEach((e,n)=>{this.setIndex(n,e,t)}),t&&this.data.forEach((t,n)=>{e.has(n)||this.setIndex(n,void 0,!1)}),!0)}iterateIndexes(e){this.data.forEach((t,n)=>{e.addChild(n)})}normalizeIndex(e){return e}getCount(){return this.data.size}}class w extends y{getType(){return"object"}getRecursive(e){a&&this.addObserver(g,a)&&a.cleaners.push(this);let t={};return this.data.forEach((n,i)=>{t[i]=n instanceof m?e?n.getRecursive(e-1):new Store(this,i):n}),t}merge(e,t){if(!e||e.constructor!==Object)return!1;for(let n in e)this.setIndex(n,e[n],t);return t&&this.data.forEach((t,n)=>{e.hasOwnProperty(n)||this.setIndex(n,void 0,!1)}),!0}normalizeIndex(e){let t=typeof e;if("string"===t)return e;if("number"===t)return""+e;throw new Error("Invalid object index "+JSON.stringify(e))}getCount(){let e=0;for(let t of this.data)e++;return e}}export class Store{constructor(e,t){if(void 0===t)this.collection=new v,this.idx=0,void 0!==e&&this.collection.rawSet(0,I(e));else{if(!(e instanceof m))throw new Error("1st parameter should be an ObsCollection if the 2nd is also given");this.collection=e,this.idx=t}}index(){return this.idx}_clean(e){this.collection.removeObserver(this.idx,e)}get(...e){return this.query({path:e})}peek(...e){return this.query({path:e,peek:!0})}getNumber(...e){return this.query({path:e,type:"number"})}getString(...e){return this.query({path:e,type:"string"})}getBoolean(...e){return this.query({path:e,type:"boolean"})}getFunction(...e){return this.query({path:e,type:"function"})}getArray(...e){return this.query({path:e,type:"array"})}getObject(...e){return this.query({path:e,type:"object"})}getMap(...e){return this.query({path:e,type:"map"})}getOr(e,...t){let n=typeof e;return"object"===n&&(e instanceof Map?n="map":e instanceof Array&&(n="array")),this.query({type:n,defaultValue:e,path:t})}query(e){if(e.peek&&a){let t=a;a=void 0;let n=this.query(e);return a=t,n}let t=(e.path&&e.path.length?this.ref(...e.path):this)._observe();if(e.type&&(void 0!==t||void 0===e.defaultValue)){let n=t instanceof m?t.getType():null===t?"null":typeof t;if(n!==e.type)throw new TypeError(`Expecting ${e.type} but got ${n}`)}return t instanceof m?t.getRecursive(null==e.depth?-1:e.depth-1):void 0===t?e.defaultValue:t}isEmpty(...e){let t=this.ref(...e)._observe();if(t instanceof m){if(a){return!new c(a,t,!1).count}return!t.getCount()}if(void 0===t)return!0;throw new Error("isEmpty() expects a collection or undefined, but got "+JSON.stringify(t))}count(...e){let t=this.ref(...e)._observe();if(t instanceof m){if(a){return new c(a,t,!0).count}return t.getCount()}if(void 0===t)return 0;throw new Error("count() expects a collection or undefined, but got "+JSON.stringify(t))}getType(...e){let t=this.ref(...e)._observe();return t instanceof m?t.getType():null===t?"null":typeof t}set(...e){let t=e.pop(),n=this.makeRef(...e);n.collection.setIndex(n.idx,t,!0)}merge(...e){let t=e.pop(),n=this.makeRef(...e);n.collection.setIndex(n.idx,t,!1)}delete(...e){let t=this.makeRef(...e);t.collection.setIndex(t.idx,void 0,!0)}push(...e){let t=e.pop(),n=this.makeRef(...e),i=n.collection.rawGet(n.idx);if(void 0===i)i=new v,n.collection.setIndex(n.idx,i,!0);else if(!(i instanceof v))throw new Error("push() is only allowed for an array or undefined (which would become an array)");let r=I(t),s=i.data.length;return i.data.push(r),i.emitChange(s,r,void 0),s}modify(e){this.set(e(this.query({peek:!0})))}ref(...e){let t=this;for(let n=0;n<e.length;n++){let i=t._observe();if(!(i instanceof m)){if(void 0!==i)throw new Error(`Value ${JSON.stringify(i)} is not a collection (nor undefined) in step ${n} of $(${JSON.stringify(e)})`);return new x}t=new Store(i,i.normalizeIndex(e[n]))}return t}makeRef(...e){let t=this;for(let n=0;n<e.length;n++){let i=t.collection.rawGet(t.idx);if(!(i instanceof m)){if(void 0!==i)throw new Error(`Value ${JSON.stringify(i)} is not a collection (nor undefined) in step ${n} of $(${JSON.stringify(e)})`);i=new w,t.collection.rawSet(t.idx,i),t.collection.emitChange(t.idx,i,void 0)}t=new Store(i,i.normalizeIndex(e[n]))}return t}_observe(){return a&&this.collection.addObserver(this.idx,a)&&a.cleaners.push(this),this.collection.rawGet(this.idx)}onEach(...e){let t=q,n=e.pop();if("function"!=typeof e[e.length-1]||"function"!=typeof n&&null!=n||(null!=n&&(t=n),n=e.pop()),"function"!=typeof n)throw new Error("onEach() expects a render function as its last argument but got "+JSON.stringify(n));if(!a)throw new k(!1);let i=this.ref(...e)._observe();if(i instanceof m){let e=new f(a.parentElement,a.lastChild||a.precedingSibling,a.queueOrder+1,i,n,t);i.addObserver(g,e),a.cleaners.push(e),a.lastChild=e,e.renderInitial()}else if(void 0!==i)throw new Error("onEach() attempted on a value that is neither a collection nor undefined")}map(e){let t=new Store(new Map);return this.onEach(n=>{let i=e(n);if(void 0!==i){let e=n.index();t.set(e,i),clean(()=>{t.delete(e)})}}),t}multiMap(e){let t=new Store(new Map);return this.onEach(n=>{let i,r=e(n);if(r.constructor===Object){for(let e in r)t.set(e,r[e]);i=Object.keys(r)}else{if(!(r instanceof Map))return;r.forEach((e,n)=>{t.set(n,e)}),i=[...r.keys()]}i.length&&clean(()=>{for(let e of i)t.delete(e)})}),t}isDetached(){return!1}dump(){let e=this.getType();"array"===e||"object"===e||"map"===e?(text("<"+e+">"),node("ul",()=>{this.onEach(e=>{node("li",()=>{text(JSON.stringify(e.index())+": "),e.dump()})})})):text(JSON.stringify(this.get()))}}class x extends Store{isDetached(){return!0}}let b=!1,S=new WeakMap;function E(e,t){e.classList.add(t),setTimeout(()=>e.remove(),2e3)}export function node(e="",...t){if(!a)throw new k(!0);let n;if(e instanceof Element)n=e;else{let t,i=e.indexOf(".");i>=0&&(t=e.substr(i+1),e=e.substr(0,i)),n=document.createElement(e||"div"),t&&(n.className=t.replaceAll("."," "))}a.addNode(n);for(let e of t){let t=typeof e;if("function"===t){let t=new u(n,void 0,a.queueOrder+1,e);b?(b=!1,t.update(),b=!0):t.update(),a.cleaners.push(t)}else if("string"===t||"number"===t)n.textContent=e;else if("object"===t&&e&&e.constructor===Object)for(let t in e)O(n,t,e[t]);else if(e instanceof Store)C(n,e);else if(null!=e)throw new Error("Unexpected argument "+JSON.stringify(e))}}export function html(e){if(!a||!a.parentElement)throw new k(!0);let t=document.createElement(a.parentElement.tagName);for(t.innerHTML=""+e;t.firstChild;)a.addNode(t.firstChild)}function C(e,t){let n,i,r=e.getAttribute("type"),s=t.query({peek:!0});"checkbox"===r?(void 0===s&&t.set(e.checked),n=t=>e.checked=t,i=()=>t.set(e.checked)):"radio"===r?(void 0===s&&e.checked&&t.set(e.value),n=t=>e.checked=t===e.value,i=()=>{e.checked&&t.set(e.value)}):(i=()=>t.set("number"===r||"range"===r?""===e.value?null:+e.value:e.value),void 0===s&&i(),n=t=>{e.value!==t&&(e.value=t)}),observe(()=>{n(t.get())}),e.addEventListener("input",i),clean(()=>{e.removeEventListener("input",i)})}export function text(e){if(!a)throw new k(!0);null!=e&&a.addNode(document.createTextNode(e))}export function prop(e,t){if(!a||!a.parentElement)throw new k(!0);if("object"==typeof e)for(let t in e)O(a.parentElement,t,e[t]);else O(a.parentElement,e,t)}export function getParentElement(){if(!a||!a.parentElement)throw new k(!0);return a.parentElement}export function clean(e){if(!a)throw new k(!1);a.cleaners.push({_clean:e})}export function observe(e){mount(void 0,e)}export function mount(e,t){let n;e||!a?n=new u(e,void 0,0,t):(n=new u(a.parentElement,a.lastChild||a.precedingSibling,a.queueOrder+1,t),a.lastChild=n),n.update(),a&&a.cleaners.push(n)}export function peek(e){let t=a;a=void 0;try{return e()}finally{a=t}}function O(e,t,n){if("create"===t)b&&("function"==typeof n?n(e):(e.classList.add(n),setTimeout((function(){e.classList.remove(n)}),0)));else if("destroy"===t)S.set(e,n);else if("function"==typeof n)e.addEventListener(t,n),clean(()=>e.removeEventListener(t,n));else if("value"===t||"className"===t||"selectedIndex"===t||!0===n||!1===n)e[t]=n;else if("text"===t)e.textContent=n;else if("class"!==t&&"className"!==t||"object"!=typeof n)"style"===t&&"object"==typeof n?Object.assign(e.style,n):e.setAttribute(t,n);else for(let t in n)n[t]?e.classList.add(t):e.classList.remove(t)}function I(e){if("object"==typeof e&&e){if(e instanceof Store)return e._observe();if(e instanceof Map){let t=new y;return e.forEach((e,n)=>{let i=I(e);void 0!==i&&t.rawSet(n,i)}),t}if(e instanceof Array){let t=new v;for(let n=0;n<e.length;n++){let i=I(e[n]);void 0!==i&&t.rawSet(n,i)}return t}if(e.constructor===Object){let t=new w;for(let n in e){let i=I(e[n]);void 0!==i&&t.rawSet(n,i)}return t}return e}return e}function q(e){return e.index()}function N(e){let t=new Error("Aberdeen internal error "+e);setTimeout(()=>{throw t},0)}function P(e){setTimeout(()=>{throw e},0)}class k extends Error{constructor(e){super(`Operation not permitted outside of ${e?"a mount":"an observe"}() scope`)}}function R(e){const t=e.parentElement?getComputedStyle(e.parentElement):{};return"flex"===t.display&&(t.flexDirection||"").startsWith("row")?{marginLeft:`-${e.offsetWidth/2}px`,marginRight:`-${e.offsetWidth/2}px`,transform:"scaleX(0)"}:{marginBottom:`-${e.offsetHeight/2}px`,marginTop:`-${e.offsetHeight/2}px`,transform:"scaleY(0)"}}export function grow(e){scheduleDomReader(()=>{let t=R(e);scheduleDomWriter(()=>{Object.assign(e.style,t),scheduleDomReader(()=>{e.offsetHeight,scheduleDomWriter(()=>{e.style.transition="margin 400ms ease-out, transform 400ms ease-out";for(let n in t)e.style[n]="";setTimeout(()=>{e.style.transition=""},400)})})})})}export function shrink(e){scheduleDomReader(()=>{const t=R(e);scheduleDomWriter(()=>{e.style.transition="margin 400ms ease-out, transform 400ms ease-out",Object.assign(e.style,t),setTimeout(()=>e.remove(),400)})})}function j(e){if(t)throw new Error("already recording a patch");t=new Map;try{e()}catch(e){throw t=void 0,e}const n=t;return t=void 0,n}function M(e,t,n,i,r){let s=e.get(t);s||(s=new Map,e.set(t,s));let o=s.get(n);o&&(r=o[1]),i===r?s.delete(n):s.set(n,[i,r])}function T(e){for(let[t,n]of e)for(let[e,[i,r]]of n)t.emitChange(e,i,r)}function D(e,t,n=!1){for(let[i,r]of t)for(let[t,[s,o]]of r)M(e,i,t,n?o:s,n?s:o)}function $(e,t=!1){for(let[n,i]of e)for(let[e,[r,s]]of i){let i=n.rawGet(e);if(i!==s){if(!t)return!1;P(new Error(`Applying invalid patch: data ${i} is unequal to expected old data ${s} for index ${e}`))}}for(let[t,n]of e)for(let[e,[i,r]]of n)t.rawSet(e,i);return!0}const _=[];export function applyPrediction(e){let t=j(e);return _.push(t),T(t),t}export function applyCanon(e,t=[]){let n=new Map;for(let e of _)D(n,e,!0);$(n,!0);for(let e of t){let t=_.indexOf(e);t>=0&&_.splice(t,1)}e&&D(n,j(e));for(let e=0;e<_.length;e++)$(_[e])?D(n,_[e]):(_.splice(e,1),e--);T(n)}String.prototype.replaceAll||(String.prototype.replaceAll=function(e,t){return this.split(e).join(t)});
|