aberdeen 1.18.1 → 1.18.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/dist/src/aberdeen.d.ts +2 -0
- package/dist/src/aberdeen.js +21 -7
- package/dist/src/aberdeen.js.map +3 -3
- package/dist/tests/fakedom.js +20 -3
- package/dist/tests/fakedom.js.map +3 -3
- package/dist/tests/helpers.js +20 -3
- package/dist/tests/helpers.js.map +3 -3
- package/dist-docs/Tutorial/index.html +2 -2
- package/dist-docs/aberdeen/A/index.html +3 -2
- package/dist-docs/aberdeen/CUSTOM_DUMP/index.html +2 -2
- 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 +3 -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 +2 -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 +2 -0
- package/dist-docs/assets/aberdeen/aberdeen.js +21 -7
- package/dist-docs/assets/aberdeen/aberdeen.js.map +3 -3
- 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 +6 -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/matchCurrent/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 +59 -59
- 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 +1 -1
- package/skill/aberdeen.md +56 -54
- package/skill/dispatcher.md +6 -6
- package/skill/prediction.md +3 -3
- package/skill/route.md +18 -18
- package/skill/transitions.md +3 -3
- package/src/aberdeen.ts +26 -9
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!DOCTYPE html><html class="default" lang="en" data-base="../../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>unproxy | Aberdeen - v1.18.
|
|
1
|
+
<!DOCTYPE html><html class="default" lang="en" data-base="../../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>unproxy | Aberdeen - v1.18.2</title><link rel="icon" href="../../assets/favicon.png" type="image/png"/><meta name="description" content="Documentation for Aberdeen"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../../assets/style.css"/><link rel="stylesheet" href="../../assets/highlight.css"/><script defer src="../../assets/main.js"></script><script defer src="../../assets/custom.js"></script><script async src="../../assets/icons.js" id="tsd-icons-script"></script><script async src="../../assets/search.js" id="tsd-search-script"></script><script async src="../../assets/navigation.js" id="tsd-nav-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../../index.html" class="title">Aberdeen - v1.18.2</a><div id="tsd-toolbar-links"><a href="https://aberdeenjs.org/">What's this?</a><a href="https://aberdeenjs.org/Tutorial/">Tutorial</a><a href="https://github.com/vanviegen/aberdeen">GitHub</a></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../">aberdeen</a></li><li><a href="" aria-current="page">unproxy</a></li></ul><h1>Function unproxy</h1></div><section class="tsd-panel"><ul class="tsd-signatures"><li class=""><div class="tsd-signature tsd-anchor-link" id="unproxy"><span class="tsd-kind-call-signature">unproxy</span><span class="tsd-signature-symbol"><</span><a class="tsd-signature-type tsd-kind-type-parameter" href="#unproxyt">T</a><span class="tsd-signature-symbol">></span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">target</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#unproxyt">T</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <a class="tsd-signature-type tsd-kind-type-parameter" href="#unproxyt">T</a><a href="#unproxy" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></div><div class="tsd-description"><div class="tsd-comment tsd-typography"><p>Returns the original, underlying data target from a reactive proxy created by <a href="../proxy/" class="tsd-kind-function">proxy</a>.
|
|
2
2
|
If the input <code>target</code> is not a proxy, it is returned directly.</p>
|
|
3
3
|
<p>This is useful when you want to avoid triggering subscriptions during read operations or
|
|
4
4
|
re-executes during write operations. Using <a href="../peek/" class="tsd-kind-function">peek</a> is an alternative way to achieve this.</p>
|
|
@@ -8,4 +8,4 @@ re-executes during write operations. Using <a href="../peek/" class="tsd-kind-fu
|
|
|
8
8
|
<div class="tsd-comment tsd-typography"><div class="tsd-tag-example"><h4 class="tsd-anchor-link" id="example">Example<a href="#example" aria-label="Permalink" class="tsd-anchor-icon"><svg viewBox="0 0 24 24" aria-hidden="true"><use href="../../assets/icons.svg#icon-anchor"></use></svg></a></h4><pre><code class="typescript"><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">$user</span><span class="hl-1"> = </span><span class="hl-6">A</span><span class="hl-1">.</span><span class="hl-7">proxy</span><span class="hl-1">({ </span><span class="hl-2">name:</span><span class="hl-1"> </span><span class="hl-3">'Frank'</span><span class="hl-1"> });</span><br/><span class="hl-5">const</span><span class="hl-1"> </span><span class="hl-6">rawUser</span><span class="hl-1"> = </span><span class="hl-6">A</span><span class="hl-1">.</span><span class="hl-7">unproxy</span><span class="hl-1">(</span><span class="hl-2">$user</span><span class="hl-1">);</span><br/><br/><span class="hl-4">// Log reactively</span><br/><span class="hl-7">A</span><span class="hl-1">(() </span><span class="hl-5">=></span><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-7">log</span><span class="hl-1">(</span><span class="hl-3">'proxied'</span><span class="hl-1">, </span><span class="hl-2">$user</span><span class="hl-1">.</span><span class="hl-2">name</span><span class="hl-1">));</span><br/><span class="hl-4">// The following will only ever log once, as we're not subscribing to any observable</span><br/><span class="hl-7">A</span><span class="hl-1">(() </span><span class="hl-5">=></span><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-7">log</span><span class="hl-1">(</span><span class="hl-3">'unproxied'</span><span class="hl-1">, </span><span class="hl-2">rawUser</span><span class="hl-1">.</span><span class="hl-2">name</span><span class="hl-1">));</span><br/><br/><span class="hl-4">// This cause the first log to run again:</span><br/><span class="hl-7">setTimeout</span><span class="hl-1">(() </span><span class="hl-5">=></span><span class="hl-1"> </span><span class="hl-2">$user</span><span class="hl-1">.</span><span class="hl-2">name</span><span class="hl-1"> += </span><span class="hl-3">'!'</span><span class="hl-1">, </span><span class="hl-8">1000</span><span class="hl-1">);</span><br/><br/><span class="hl-4">// This doesn't cause any new logs:</span><br/><span class="hl-7">setTimeout</span><span class="hl-1">(() </span><span class="hl-5">=></span><span class="hl-1"> </span><span class="hl-2">rawUser</span><span class="hl-1">.</span><span class="hl-2">name</span><span class="hl-1"> += </span><span class="hl-3">'?'</span><span class="hl-1">, </span><span class="hl-8">2000</span><span class="hl-1">);</span><br/><br/><span class="hl-4">// Both $user and rawUser end up as `{name: 'Frank!?'}`</span><br/><span class="hl-7">setTimeout</span><span class="hl-1">(() </span><span class="hl-5">=></span><span class="hl-1"> {</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-7">log</span><span class="hl-1">(</span><span class="hl-3">'final proxied'</span><span class="hl-1">, </span><span class="hl-2">$user</span><span class="hl-1">)</span><br/><span class="hl-1"> </span><span class="hl-2">console</span><span class="hl-1">.</span><span class="hl-7">log</span><span class="hl-1">(</span><span class="hl-3">'final unproxied'</span><span class="hl-1">, </span><span class="hl-2">rawUser</span><span class="hl-1">)</span><br/><span class="hl-1">}, </span><span class="hl-8">3000</span><span class="hl-1">);</span>
|
|
9
9
|
</code><button type="button">Copy</button></pre>
|
|
10
10
|
|
|
11
|
-
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vanviegen/aberdeen/blob/
|
|
11
|
+
</div></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/vanviegen/aberdeen/blob/ae96ee5d2bf101de8d04c7efc61a03e8fe8fe6f7/src/aberdeen.ts#L1671">aberdeen.ts:1671</a></li></ul></aside></div></li></ul></section></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav id="tsd-sidebar-links" class="tsd-navigation"><a href="https://aberdeenjs.org/" class="tsd-nav-link">What's this?</a><a href="https://aberdeenjs.org/Tutorial/" class="tsd-nav-link">Tutorial</a><a href="https://github.com/vanviegen/aberdeen" class="tsd-nav-link">GitHub</a></nav><nav class="tsd-navigation"><a href="../../modules.html">Aberdeen - v1.18.2</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer></footer><div class="overlay"></div></body></html>
|
|
@@ -449,6 +449,8 @@ export declare function disableCreateDestroy(): void;
|
|
|
449
449
|
*
|
|
450
450
|
* Also, when the value is a string starting with `$`, it is treated as a reference to a CSS variable, expanding to `var(--variableName)`. For numeric variable names (which can't be used directly as CSS custom property names), Aberdeen prefixes them with `m`, so `$3` expands to `var(--m3)`. This is primarily intended for use with {@link setSpacingCssVars}, which initializes spacing variables named `0` through `12` with an exponential spacing scale.
|
|
451
451
|
*
|
|
452
|
+
* To *set* a CSS custom property inline on an element, use a `--name` or (symmetrically with the `$`-reference syntax above) a `$name` key. For example `A('div --primary:red')` and `A('div $primary:red')` both set `--primary` to `red`.
|
|
453
|
+
*
|
|
452
454
|
* @returns The most inner DOM element that was created (not counting text nodes nor elements created by content functions), or the current element if no new element was created. You should normally not need to use the return value - use this function's DOM manipulation abilities instead. One valid use case is when integrating with non-Aberdeen code that requires a reference to a DOM element.
|
|
453
455
|
*
|
|
454
456
|
* @example Create Element
|
|
@@ -115,7 +115,10 @@ function undoSideEffects(el, se) {
|
|
|
115
115
|
value ? el.classList.add(key) : el.classList.remove(key);
|
|
116
116
|
break;
|
|
117
117
|
case 1 /* Style */:
|
|
118
|
-
|
|
118
|
+
if (key[0] === "-" && key[1] === "-")
|
|
119
|
+
value ? el.style.setProperty(key, value) : el.style.removeProperty(key);
|
|
120
|
+
else
|
|
121
|
+
el.style[key] = value == null ? "" : value;
|
|
119
122
|
break;
|
|
120
123
|
case 2 /* Prop */:
|
|
121
124
|
el[key] = value;
|
|
@@ -1250,7 +1253,7 @@ function setSpacingCssVars(base = 1, unit = "rem") {
|
|
|
1250
1253
|
cssVars[i] = 2 ** (i - 3) * base + unit;
|
|
1251
1254
|
}
|
|
1252
1255
|
}
|
|
1253
|
-
var CSS_VAR_PATTERN = /(\burl\([^)]*\))|("[^"]*")|(^|
|
|
1256
|
+
var CSS_VAR_PATTERN = /(\burl\([^)]*\))|("[^"]*")|(^|[\s(,])\$([\w-]+)/g;
|
|
1254
1257
|
var DIGIT_FIRST = /^\d/;
|
|
1255
1258
|
function cssVarRef(value) {
|
|
1256
1259
|
if (value.indexOf("$") < 0)
|
|
@@ -1687,16 +1690,27 @@ function applyArg(el, key, value) {
|
|
|
1687
1690
|
list.remove(...classes);
|
|
1688
1691
|
} else if (key[0] === "$") {
|
|
1689
1692
|
key = key.substring(1);
|
|
1693
|
+
if (key[0] === "$")
|
|
1694
|
+
key = "--" + key.substring(1);
|
|
1690
1695
|
const val = value == null || value === false ? "" : typeof value === "string" ? cssVarRef(value) : String(value);
|
|
1691
1696
|
const expanded = CSS_SHORT[key] || key;
|
|
1692
1697
|
const style = el.style;
|
|
1693
1698
|
const setOwn = el === currentScope.el;
|
|
1694
1699
|
const props = typeof expanded === "string" ? [expanded] : expanded;
|
|
1695
1700
|
for (const prop of props) {
|
|
1696
|
-
|
|
1697
|
-
|
|
1698
|
-
|
|
1699
|
-
|
|
1701
|
+
if (prop[0] === "-" && prop[1] === "-") {
|
|
1702
|
+
if (setOwn)
|
|
1703
|
+
recordSideEffect(currentScope, 1 /* Style */, prop, style.getPropertyValue(prop));
|
|
1704
|
+
if (val === "")
|
|
1705
|
+
style.removeProperty(prop);
|
|
1706
|
+
else
|
|
1707
|
+
style.setProperty(prop, val);
|
|
1708
|
+
} else {
|
|
1709
|
+
const cm = toCamel(prop);
|
|
1710
|
+
if (setOwn)
|
|
1711
|
+
recordSideEffect(currentScope, 1 /* Style */, cm, style[cm]);
|
|
1712
|
+
style[cm] = val;
|
|
1713
|
+
}
|
|
1700
1714
|
}
|
|
1701
1715
|
} else if (value == null) {} else if (key in SPECIAL_PROPS) {
|
|
1702
1716
|
SPECIAL_PROPS[key](el, value);
|
|
@@ -1985,5 +1999,5 @@ export {
|
|
|
1985
1999
|
A
|
|
1986
2000
|
};
|
|
1987
2001
|
|
|
1988
|
-
//# debugId=
|
|
2002
|
+
//# debugId=3B000DCA54AF8FFA64756E2164756E21
|
|
1989
2003
|
//# sourceMappingURL=aberdeen.js.map
|