aberdeen 1.13.0 → 1.15.0
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/src/aberdeen.d.ts +15 -0
- package/dist/src/aberdeen.js +39 -11
- package/dist/src/aberdeen.js.map +3 -3
- package/dist/tests/fakedom.js +6 -6
- package/dist/tests/fakedom.js.map +3 -3
- package/dist/tests/helpers.js +6 -6
- package/dist/tests/helpers.js.map +3 -3
- package/dist-docs/Tutorial/index.html +2 -2
- package/dist-docs/aberdeen/A/index.html +2 -2
- package/dist-docs/aberdeen/CUSTOM_DUMP/index.html +7 -0
- package/dist-docs/aberdeen/NO_COPY/index.html +2 -2
- package/dist-docs/aberdeen/OPAQUE/index.html +2 -2
- package/dist-docs/aberdeen/PromiseProxy/index.html +5 -5
- package/dist-docs/aberdeen/clean/index.html +2 -2
- package/dist-docs/aberdeen/clone/index.html +2 -2
- package/dist-docs/aberdeen/copy/index.html +3 -3
- package/dist-docs/aberdeen/count/index.html +2 -2
- package/dist-docs/aberdeen/cssVars/index.html +2 -2
- package/dist-docs/aberdeen/darkMode/index.html +2 -2
- package/dist-docs/aberdeen/default/index.html +5 -2
- package/dist-docs/aberdeen/derive/index.html +2 -2
- package/dist-docs/aberdeen/disableCreateDestroy/index.html +2 -2
- package/dist-docs/aberdeen/dump/index.html +2 -2
- package/dist-docs/aberdeen/index.html +5 -2
- package/dist-docs/aberdeen/insertCss/index.html +2 -2
- package/dist-docs/aberdeen/insertGlobalCss/index.html +2 -2
- package/dist-docs/aberdeen/invertString/index.html +2 -2
- package/dist-docs/aberdeen/isEmpty/index.html +2 -2
- package/dist-docs/aberdeen/map/index.html +4 -4
- package/dist-docs/aberdeen/merge/index.html +3 -3
- package/dist-docs/aberdeen/mount/index.html +2 -2
- package/dist-docs/aberdeen/multiMap/index.html +4 -4
- package/dist-docs/aberdeen/onEach/index.html +2 -2
- package/dist-docs/aberdeen/partition/index.html +4 -4
- package/dist-docs/aberdeen/peek/index.html +5 -5
- package/dist-docs/aberdeen/proxy/index.html +2 -2
- package/dist-docs/aberdeen/ref/index.html +2 -2
- package/dist-docs/aberdeen/runQueue/index.html +2 -2
- package/dist-docs/aberdeen/setErrorHandler/index.html +2 -2
- package/dist-docs/aberdeen/setSpacingCssVars/index.html +2 -2
- package/dist-docs/aberdeen/unmountAll/index.html +2 -2
- package/dist-docs/aberdeen/unproxy/index.html +2 -2
- package/dist-docs/assets/aberdeen/aberdeen.d.ts +15 -0
- package/dist-docs/assets/aberdeen/aberdeen.js +39 -11
- package/dist-docs/assets/aberdeen/aberdeen.js.map +3 -3
- package/dist-docs/assets/navigation.js +1 -1
- package/dist-docs/assets/search.js +1 -1
- package/dist-docs/dispatcher/Dispatcher/index.html +4 -4
- package/dist-docs/dispatcher/MATCH_FAILED/index.html +2 -2
- package/dist-docs/dispatcher/MATCH_REST/index.html +2 -2
- package/dist-docs/dispatcher/index.html +2 -2
- package/dist-docs/hierarchy.html +1 -1
- package/dist-docs/index.html +2 -2
- package/dist-docs/media/CHANGELOG.md +7 -0
- package/dist-docs/modules.html +1 -1
- package/dist-docs/prediction/applyCanon/index.html +2 -2
- package/dist-docs/prediction/applyPrediction/index.html +2 -2
- package/dist-docs/prediction/index.html +2 -2
- package/dist-docs/route/Route/index.html +9 -9
- package/dist-docs/route/back/index.html +2 -2
- package/dist-docs/route/current/index.html +2 -2
- package/dist-docs/route/go/index.html +2 -2
- package/dist-docs/route/index.html +2 -2
- package/dist-docs/route/interceptLinks/index.html +2 -2
- package/dist-docs/route/persistScroll/index.html +2 -2
- package/dist-docs/route/push/index.html +2 -2
- package/dist-docs/route/setLog/index.html +2 -2
- package/dist-docs/route/up/index.html +2 -2
- package/dist-docs/sitemap.xml +61 -57
- package/dist-docs/transitions/grow/index.html +2 -2
- package/dist-docs/transitions/index.html +2 -2
- package/dist-docs/transitions/shrink/index.html +2 -2
- package/package.json +13 -13
- package/skill/aberdeen.md +82 -53
- package/skill/dispatcher.md +6 -6
- package/skill/prediction.md +3 -3
- package/skill/route.md +17 -17
- package/skill/transitions.md +3 -3
- package/src/aberdeen.ts +55 -11
package/dist/src/aberdeen.d.ts
CHANGED
|
@@ -896,6 +896,20 @@ export declare function partition<IN_K extends string | number | symbol, OUT_K e
|
|
|
896
896
|
* ```
|
|
897
897
|
*/
|
|
898
898
|
export declare function dump<T>(data: T): T;
|
|
899
|
+
/**
|
|
900
|
+
* When set on an object or its prototype chain, {@link dump} calls this as a render function
|
|
901
|
+
* (with the object as `this`) instead of its default recursive rendering. If the value is not
|
|
902
|
+
* a function, it's treated as a string to display.
|
|
903
|
+
*
|
|
904
|
+
* @example
|
|
905
|
+
* ```typescript
|
|
906
|
+
* class Color {
|
|
907
|
+
* constructor(public r: number, public g: number, public b: number) {}
|
|
908
|
+
* [CUSTOM_DUMP]() { A(`#rgb(${this.r}, ${this.g}, ${this.b})`); }
|
|
909
|
+
* }
|
|
910
|
+
* ```
|
|
911
|
+
*/
|
|
912
|
+
export declare const CUSTOM_DUMP: unique symbol;
|
|
899
913
|
/**
|
|
900
914
|
* The main Aberdeen API. `A` is itself a callable function for building reactive DOM trees
|
|
901
915
|
* (creating elements, setting attributes, adding content). All other Aberdeen functions and
|
|
@@ -918,6 +932,7 @@ declare const _default: typeof A & {
|
|
|
918
932
|
/** {@inheritDoc copy} */ copy: typeof copy;
|
|
919
933
|
/** {@inheritDoc count} */ count: typeof count;
|
|
920
934
|
/** {@inheritDoc cssVars} */ cssVars: Record<string, string>;
|
|
935
|
+
/** {@inheritDoc CUSTOM_DUMP} */ CUSTOM_DUMP: symbol;
|
|
921
936
|
/** {@inheritDoc darkMode} */ darkMode: typeof darkMode;
|
|
922
937
|
/** {@inheritDoc derive} */ derive: typeof derive;
|
|
923
938
|
/** {@inheritDoc disableCreateDestroy} */ disableCreateDestroy: typeof disableCreateDestroy;
|
package/dist/src/aberdeen.js
CHANGED
|
@@ -981,7 +981,7 @@ var setHandler = {
|
|
|
981
981
|
};
|
|
982
982
|
var proxyMap = new WeakMap;
|
|
983
983
|
function optProxy(value) {
|
|
984
|
-
if (typeof value !== "object" || !value || value[TARGET_SYMBOL] !== undefined || value[OPAQUE]) {
|
|
984
|
+
if (typeof value !== "object" || !value || value[TARGET_SYMBOL] !== undefined || value[OPAQUE] || value instanceof Date) {
|
|
985
985
|
return value;
|
|
986
986
|
}
|
|
987
987
|
let proxied = proxyMap.get(value);
|
|
@@ -1733,26 +1733,52 @@ function partition(source, func) {
|
|
|
1733
1733
|
return out;
|
|
1734
1734
|
}
|
|
1735
1735
|
function dump(data) {
|
|
1736
|
+
const org = dumpSeen;
|
|
1737
|
+
dumpSeen ||= new Set;
|
|
1738
|
+
try {
|
|
1739
|
+
rawDump(data, dumpSeen);
|
|
1740
|
+
} finally {
|
|
1741
|
+
dumpSeen = org;
|
|
1742
|
+
}
|
|
1743
|
+
return data;
|
|
1744
|
+
}
|
|
1745
|
+
var dumpSeen;
|
|
1746
|
+
function rawDump(data, seen) {
|
|
1736
1747
|
if (data && typeof data === "object") {
|
|
1737
|
-
const name = data.constructor.name
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1748
|
+
const name = data.constructor.name || "unknown object";
|
|
1749
|
+
if (seen.has(data)) {
|
|
1750
|
+
A(`#<${name}: circular reference>`);
|
|
1751
|
+
return;
|
|
1752
|
+
}
|
|
1753
|
+
seen.add(data);
|
|
1754
|
+
clean(() => seen.delete(data));
|
|
1755
|
+
const customDump = data[CUSTOM_DUMP];
|
|
1756
|
+
if (customDump !== undefined) {
|
|
1757
|
+
if (typeof customDump === "function")
|
|
1758
|
+
customDump.call(data);
|
|
1759
|
+
else
|
|
1760
|
+
A(`#${customDump}`);
|
|
1741
1761
|
} else {
|
|
1742
|
-
A("ul", () => {
|
|
1762
|
+
A(`#<${name}>`, "ul", () => {
|
|
1743
1763
|
onEach(data, (value, key) => {
|
|
1744
1764
|
A("li", () => {
|
|
1745
|
-
|
|
1746
|
-
|
|
1765
|
+
if (!(data instanceof Array))
|
|
1766
|
+
A(`#${JSON.stringify(key)}: `);
|
|
1767
|
+
rawDump(value, seen);
|
|
1747
1768
|
});
|
|
1748
1769
|
});
|
|
1749
1770
|
});
|
|
1750
1771
|
}
|
|
1751
|
-
} else if (data
|
|
1772
|
+
} else if (data === undefined) {
|
|
1773
|
+
A("#undefined");
|
|
1774
|
+
} else {
|
|
1752
1775
|
A("#" + JSON.stringify(data));
|
|
1753
1776
|
}
|
|
1754
|
-
return data;
|
|
1755
1777
|
}
|
|
1778
|
+
var CUSTOM_DUMP = Symbol("CUSTOM_DUMP");
|
|
1779
|
+
Date.prototype[CUSTOM_DUMP] = function() {
|
|
1780
|
+
A("#<Date> " + this.toISOString());
|
|
1781
|
+
};
|
|
1756
1782
|
function internalError(code) {
|
|
1757
1783
|
throw new Error(`Aberdeen internal error ${code}`);
|
|
1758
1784
|
}
|
|
@@ -1810,6 +1836,7 @@ var aberdeen_default = Object.assign(A, {
|
|
|
1810
1836
|
copy,
|
|
1811
1837
|
count,
|
|
1812
1838
|
cssVars,
|
|
1839
|
+
CUSTOM_DUMP,
|
|
1813
1840
|
darkMode,
|
|
1814
1841
|
derive,
|
|
1815
1842
|
disableCreateDestroy,
|
|
@@ -1871,8 +1898,9 @@ export {
|
|
|
1871
1898
|
NO_COPY,
|
|
1872
1899
|
MAP_SIZE_SYMBOL,
|
|
1873
1900
|
EMPTY,
|
|
1901
|
+
CUSTOM_DUMP,
|
|
1874
1902
|
A
|
|
1875
1903
|
};
|
|
1876
1904
|
|
|
1877
|
-
//# debugId=
|
|
1905
|
+
//# debugId=01BD2B2FFEBF033A64756E2164756E21
|
|
1878
1906
|
//# sourceMappingURL=aberdeen.js.map
|