@manyducks.co/dolla 2.0.0 → 3.1.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.
Files changed (112) hide show
  1. package/README.md +133 -284
  2. package/dist/context-B5blupD2.js +363 -0
  3. package/dist/context-B5blupD2.js.map +1 -0
  4. package/dist/core/context.d.ts +29 -144
  5. package/dist/core/debug.d.ts +19 -0
  6. package/dist/core/index.d.ts +15 -16
  7. package/dist/core/markup/helpers.d.ts +34 -0
  8. package/dist/core/markup/html.d.ts +3 -0
  9. package/dist/core/{nodes → markup/nodes}/dom.d.ts +5 -4
  10. package/dist/core/markup/nodes/dynamic.d.ts +16 -0
  11. package/dist/core/markup/nodes/element.d.ts +14 -0
  12. package/dist/core/markup/nodes/portal.d.ts +15 -0
  13. package/dist/core/markup/nodes/repeat.d.ts +21 -0
  14. package/dist/core/markup/nodes/view.d.ts +17 -0
  15. package/dist/core/markup/scheduler.d.ts +1 -0
  16. package/dist/core/markup/types.d.ts +62 -0
  17. package/dist/core/markup/utils.d.ts +22 -0
  18. package/dist/core/ref.d.ts +6 -12
  19. package/dist/core/root.d.ts +36 -0
  20. package/dist/core/signals.d.ts +46 -76
  21. package/dist/core/symbols.d.ts +2 -0
  22. package/dist/core-JHktdqjt.js +242 -0
  23. package/dist/core-JHktdqjt.js.map +1 -0
  24. package/dist/http/index.d.ts +21 -33
  25. package/dist/http.js +89 -149
  26. package/dist/http.js.map +1 -1
  27. package/dist/index.js +4 -174
  28. package/dist/jsx-dev-runtime.d.ts +4 -3
  29. package/dist/jsx-dev-runtime.js +12 -9
  30. package/dist/jsx-dev-runtime.js.map +1 -1
  31. package/dist/jsx-runtime.d.ts +5 -4
  32. package/dist/jsx-runtime.js +17 -12
  33. package/dist/jsx-runtime.js.map +1 -1
  34. package/dist/router/index.d.ts +4 -3
  35. package/dist/router/router.d.ts +19 -162
  36. package/dist/router/store.d.ts +12 -0
  37. package/dist/router/types.d.ts +152 -0
  38. package/dist/router/utils.d.ts +99 -0
  39. package/dist/router/utils.test.d.ts +1 -0
  40. package/dist/router.js +428 -5
  41. package/dist/router.js.map +1 -1
  42. package/dist/signals-CMJPGr_M.js +354 -0
  43. package/dist/signals-CMJPGr_M.js.map +1 -0
  44. package/dist/translate/index.d.ts +82 -0
  45. package/dist/translate.js +125 -0
  46. package/dist/translate.js.map +1 -0
  47. package/dist/types.d.ts +21 -39
  48. package/dist/utils.d.ts +41 -29
  49. package/dist/utils.test.d.ts +1 -0
  50. package/dist/virtual/index.d.ts +1 -0
  51. package/dist/virtual/list.d.ts +53 -0
  52. package/package.json +19 -16
  53. package/dist/core/app.d.ts +0 -24
  54. package/dist/core/env.d.ts +0 -3
  55. package/dist/core/hooks.d.ts +0 -70
  56. package/dist/core/logger.d.ts +0 -42
  57. package/dist/core/logger.test.d.ts +0 -0
  58. package/dist/core/markup.d.ts +0 -82
  59. package/dist/core/markup.test.d.ts +0 -0
  60. package/dist/core/nodes/_markup.d.ts +0 -36
  61. package/dist/core/nodes/dynamic.d.ts +0 -22
  62. package/dist/core/nodes/element.d.ts +0 -27
  63. package/dist/core/nodes/portal.d.ts +0 -18
  64. package/dist/core/nodes/repeat.d.ts +0 -27
  65. package/dist/core/nodes/view.d.ts +0 -25
  66. package/dist/core/views/default-crash-view.d.ts +0 -25
  67. package/dist/core/views/for.d.ts +0 -21
  68. package/dist/core/views/fragment.d.ts +0 -7
  69. package/dist/core/views/portal.d.ts +0 -16
  70. package/dist/core/views/show.d.ts +0 -25
  71. package/dist/fragment-BahD_BJA.js +0 -7
  72. package/dist/fragment-BahD_BJA.js.map +0 -1
  73. package/dist/i18n/index.d.ts +0 -134
  74. package/dist/i18n.js +0 -309
  75. package/dist/i18n.js.map +0 -1
  76. package/dist/index-DRJlxs-Q.js +0 -535
  77. package/dist/index-DRJlxs-Q.js.map +0 -1
  78. package/dist/index.js.map +0 -1
  79. package/dist/logger-Aqi9m1CF.js +0 -565
  80. package/dist/logger-Aqi9m1CF.js.map +0 -1
  81. package/dist/markup-8jNhoqDe.js +0 -1089
  82. package/dist/markup-8jNhoqDe.js.map +0 -1
  83. package/dist/router/hooks.d.ts +0 -2
  84. package/dist/router/router.utils.d.ts +0 -93
  85. package/dist/typeChecking-5kmX0ulW.js +0 -65
  86. package/dist/typeChecking-5kmX0ulW.js.map +0 -1
  87. package/dist/typeChecking.d.ts +0 -95
  88. package/docs/buildless.md +0 -132
  89. package/docs/components.md +0 -238
  90. package/docs/hooks.md +0 -356
  91. package/docs/http.md +0 -178
  92. package/docs/i18n.md +0 -220
  93. package/docs/index.md +0 -10
  94. package/docs/markup.md +0 -136
  95. package/docs/mixins.md +0 -176
  96. package/docs/ref.md +0 -77
  97. package/docs/router.md +0 -281
  98. package/docs/setup.md +0 -137
  99. package/docs/signals.md +0 -262
  100. package/docs/stores.md +0 -113
  101. package/docs/views.md +0 -356
  102. package/notes/atomic.md +0 -452
  103. package/notes/elimination.md +0 -33
  104. package/notes/observable.md +0 -180
  105. package/notes/scratch.md +0 -565
  106. package/notes/splitting.md +0 -5
  107. package/notes/views.md +0 -195
  108. package/vite.config.js +0 -22
  109. /package/dist/core/{hooks.test.d.ts → markup/html.test.d.ts} +0 -0
  110. /package/dist/core/{ref.test.d.ts → markup/utils.test.d.ts} +0 -0
  111. /package/dist/router/{router.utils.test.d.ts → matcher.test.d.ts} +0 -0
  112. /package/dist/{typeChecking.test.d.ts → router/router.test.d.ts} +0 -0
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../src/core/views/default-crash-view.ts","../src/core/app.ts","../src/core/views/for.ts","../src/core/views/portal.ts","../src/core/views/show.ts"],"sourcesContent":["import { createMarkup as m } from \"../markup.js\";\n\n/**\n * Props passed to the crash view when a crash occurs.\n */\nexport interface CrashViewProps {\n /**\n * JavaScript Error object.\n */\n error: Error;\n\n /**\n * A string to identify the logger that reported this error.\n */\n loggerName: string;\n\n /**\n * Unique identifier to pinpoint the specific view that reported the crash.\n */\n tag?: string;\n\n /**\n * Label for the tag.\n */\n tagName?: string;\n}\n\n/**\n * The crash view displayed unless you specify your own.\n */\nexport function DefaultCrashView(props: CrashViewProps) {\n return m(\"div\", {\n style: {\n backgroundColor: \"#880000\",\n color: \"#fff\",\n padding: \"2rem\",\n position: \"fixed\",\n inset: 0,\n fontSize: \"20px\",\n },\n children: [\n m(\"h1\", { style: { marginBottom: \"0.5rem\" }, children: \"The app has crashed\" }),\n m(\"p\", {\n style: { marginBottom: \"0.25rem\" },\n children: [\n m(\"span\", {\n style: { fontFamily: \"monospace\" },\n children: props.loggerName,\n }),\n props.tag &&\n m(\"span\", {\n style: { fontFamily: \"monospace\", opacity: 0.5 },\n children: ` [${props.tagName ? `${props.tagName}: ` : \"\"}${props.tag}]`,\n }),\n \" says:\",\n ],\n }),\n m(\"blockquote\", {\n style: {\n backgroundColor: \"#991111\",\n padding: \"0.25em\",\n borderRadius: \"6px\",\n fontFamily: \"monospace\",\n marginBottom: \"1rem\",\n },\n children: [\n m(\"span\", {\n style: {\n display: \"inline-block\",\n backgroundColor: \"red\",\n padding: \"0.1em 0.4em\",\n marginRight: \"0.5em\",\n borderRadius: \"4px\",\n fontSize: \"0.9em\",\n fontWeight: \"bold\",\n },\n children: props.error.name,\n }),\n props.error.message,\n ],\n }),\n m(\"p\", { children: \"Please see the browser console for details.\" }),\n ],\n });\n}\n","import { createRouter } from \"../router\";\nimport { MOUNT, ROUTER, Router, RouterOptions, UNMOUNT } from \"../router/router\";\nimport { typeOf } from \"../typeChecking\";\nimport { View } from \"../types\";\nimport { Context, LifecycleEvent } from \"./context\";\nimport { LoggerCrashProps, onLoggerCrash } from \"./logger\";\nimport { MarkupNode } from \"./markup\";\nimport { ViewNode } from \"./nodes/view\";\nimport { DefaultCrashView } from \"./views/default-crash-view\";\nimport { Fragment } from \"./views/fragment\";\n\ninterface AppOptions {\n view?: View<{}>;\n router?: Router;\n context?: Context;\n}\n\nclass App {\n #root!: MarkupNode;\n #context: Context;\n #view: View<{}>;\n #router?: Router;\n #mounted = false;\n #crashView: View<LoggerCrashProps> = DefaultCrashView;\n\n #cleanup: (() => void)[] = [];\n\n get context() {\n return this.#context;\n }\n\n constructor(options: AppOptions) {\n this.#view = options.view ?? Fragment;\n this.#router = options.router;\n this.#context = options.context ?? new Context(\"App\");\n }\n\n setCrashView(view: View<LoggerCrashProps>) {\n this.#crashView = view;\n return this;\n }\n\n async mount(element: string | Element): Promise<void> {\n if (this.#mounted) return Promise.resolve();\n\n const parentElement = this.#getElement(element);\n\n this.#cleanup.push(\n onLoggerCrash((props) => {\n if (this.#mounted) {\n this.unmount();\n }\n new ViewNode(this.#context, this.#crashView, props).mount(parentElement);\n }),\n );\n\n Context.emit(this.#context, LifecycleEvent.WILL_MOUNT);\n\n if (this.#router) {\n this.#root = await this.#router[MOUNT](parentElement, this.#context);\n this.#context.setState(ROUTER, this.#router);\n } else {\n this.#root = new ViewNode(this.#context, this.#view, {});\n }\n this.#root.mount(parentElement);\n this.#mounted = true;\n\n Context.emit(this.#context, LifecycleEvent.DID_MOUNT);\n }\n\n async unmount() {\n if (!this.#mounted) return Promise.resolve();\n\n Context.emit(this.#context, LifecycleEvent.WILL_UNMOUNT);\n this.#mounted = false;\n\n this.#root.unmount(false);\n if (this.#router) {\n await this.#router[UNMOUNT]();\n }\n\n for (const callback of this.#cleanup) {\n callback();\n }\n this.#cleanup = [];\n\n Context.emit(this.#context, LifecycleEvent.DID_UNMOUNT);\n }\n\n #getElement(element: string | Element): Element {\n if (typeof element === \"string\") {\n const match = document.querySelector(element);\n if (!match) {\n throw new Error(`Selector '${element}' did not many any element.`);\n }\n return match;\n } else if (element instanceof Element) {\n return element;\n } else {\n throw new Error(\"Expected a selector string or DOM element.\");\n }\n }\n}\n\nexport interface CreateAppOptions {\n context?: Context;\n}\n\nexport function createApp(view: View<{}>, options?: CreateAppOptions): App;\nexport function createApp(routerOptions: RouterOptions, options?: CreateAppOptions): App;\nexport function createApp(router: Router, options?: CreateAppOptions): App;\n\nexport function createApp(entry: View<{}> | RouterOptions | Router, options?: CreateAppOptions) {\n if (entry instanceof Router) {\n return new App({ ...options, router: entry });\n } else if (typeOf(entry) === \"object\") {\n return new App({ ...options, router: createRouter(entry as RouterOptions) });\n } else {\n return new App({ ...options, view: entry as View<{}> });\n }\n}\n","import { useContext } from \"../hooks\";\nimport { type Key, RenderFn, RepeatNode } from \"../nodes/repeat\";\nimport { type MaybeSignal, readable } from \"../signals\";\n\nexport interface ForProps<T> {\n /**\n * An array of items to render.\n */\n each: MaybeSignal<T[]>;\n /**\n * A function to extract a unique key that identifies each item.\n * If no `key` function is passed, object identity (===) will be used.\n */\n key?: (item: T, index: number) => Key;\n /**\n * A render function. Takes the item and its index in signal form and returns something to display for each item.\n */\n children: RenderFn<T>;\n}\n\nconst defaultKeyFn = (x: any) => x;\n\n/**\n *\n */\nexport function For<T>(props: ForProps<T>) {\n const context = useContext(\"For\");\n return new RepeatNode(context, readable(props.each), props.key ?? defaultKeyFn, props.children);\n}\n","import { isString } from \"../../typeChecking\";\nimport type { Renderable } from \"../../types\";\nimport { useContext } from \"../hooks\";\nimport { Markup, MarkupType } from \"../markup\";\n\nexport interface PortalProps {\n /**\n * The parent element or a selector that will match it.\n */\n into: Element | string;\n\n /**\n * Content to render inside the `into` element.\n */\n children: Renderable;\n}\n\n/**\n * Render content into any element on the page.\n */\nexport function Portal(props: PortalProps) {\n const context = useContext(\"Portal\");\n\n let parent: Element;\n\n if (isString(props.into)) {\n const match = document.querySelector(props.into);\n if (match == null) {\n throw context.crash(new Error(`Portal: selector '${props.into}' did not match any element`));\n }\n parent = match;\n } else {\n parent = props.into;\n }\n\n return new Markup(MarkupType.Portal, {\n parent: props.into,\n content: props.children,\n });\n}\n","import type { Renderable } from \"../../types\";\nimport type { Context } from \"../context\";\nimport { useContext } from \"../hooks\";\nimport { DynamicNode } from \"../nodes/dynamic\";\nimport { get, type MaybeSignal, memo, readable } from \"../signals\";\n\nexport interface ShowProps {\n /**\n * If present, children will be rendered only when this signal holds a truthy value.\n */\n when?: MaybeSignal<any>;\n\n /**\n * If present, children will be rendered only when this signal holds a falsy value.\n */\n unless?: MaybeSignal<any>;\n\n /**\n * Content to render if conditions permit.\n */\n children: Renderable;\n\n /**\n * Content to render when conditions don't permit `children` to render.\n */\n fallback?: Renderable;\n}\n\n/**\n * Conditionally display children.\n */\nexport function Show(props: ShowProps) {\n const context = useContext(\"Show\");\n\n // Memoize conditions to avoid unnecessarily triggering DynamicNode updates.\n const when = props.when ? readable(props.when) : null;\n const unless = props.unless ? readable(props.unless) : null;\n\n return new DynamicNode(context, () => {\n let shouldShow = true;\n\n if (when != null && unless != null) {\n shouldShow = get(when) && !get(unless);\n } else if (when != null) {\n shouldShow = get(when);\n } else if (unless != null) {\n shouldShow = !get(unless);\n }\n\n if (shouldShow) {\n return props.children;\n } else {\n return props.fallback;\n }\n });\n}\n"],"names":["DefaultCrashView","props","m","App","#root","#context","#view","#router","#mounted","#crashView","#cleanup","options","Fragment","Context","view","element","parentElement","#getElement","onLoggerCrash","ViewNode","LifecycleEvent","MOUNT","ROUTER","UNMOUNT","callback","match","createApp","entry","Router","typeOf","createRouter","defaultKeyFn","x","For","context","useContext","RepeatNode","readable","Portal","isString","Markup","MarkupType","Show","when","unless","DynamicNode","shouldShow","get"],"mappings":"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"}
@@ -1,565 +0,0 @@
1
- import { t as M, b, i as ne } from "./typeChecking-5kmX0ulW.js";
2
- const re = () => {
3
- };
4
- let D = 1;
5
- function de() {
6
- return D = D % Number.MAX_SAFE_INTEGER + 1, D.toString(36) + Date.now().toString(36);
7
- }
8
- let T = 0;
9
- function pe() {
10
- return T = T % Number.MAX_SAFE_INTEGER + 1, T;
11
- }
12
- function N(e, t) {
13
- return Object.is(e, t);
14
- }
15
- function ge(e, t) {
16
- if (Object.is(e, t)) return !0;
17
- const r = M(e);
18
- if (r !== M(t))
19
- return !1;
20
- switch (r) {
21
- case "object":
22
- let n = 0;
23
- for (const i in e) {
24
- if (e[i] !== t[i]) return !1;
25
- n++;
26
- }
27
- return Object.keys(t).length === n;
28
- case "array":
29
- if (e.length !== t.length) return !1;
30
- for (let i = 0; i < e.length; i++)
31
- if (e[i] !== t[i]) return !1;
32
- return !0;
33
- case "map":
34
- if (e.size !== t.size) return !1;
35
- for (const i of e.keys())
36
- if (e[i] !== t[i]) return !1;
37
- return !0;
38
- case "set":
39
- if (b(e.symmetricDifference))
40
- return e.symmetricDifference(t).size === 0;
41
- for (const i of e.keys())
42
- if (e[i] !== t.get(i)) return !1;
43
- return !0;
44
- }
45
- return !1;
46
- }
47
- function C(e, t) {
48
- if (e === t) return !0;
49
- if (e && t && typeof e == "object" && typeof t == "object") {
50
- if (e.constructor !== t.constructor) return !1;
51
- var r, n, i;
52
- if (Array.isArray(e)) {
53
- if (r = e.length, r != t.length) return !1;
54
- for (n = r; n-- !== 0; ) if (!C(e[n], t[n])) return !1;
55
- return !0;
56
- }
57
- if (e instanceof Map && t instanceof Map) {
58
- if (e.size !== t.size) return !1;
59
- for (n of e.entries()) if (!t.has(n[0])) return !1;
60
- for (n of e.entries()) if (!C(n[1], t.get(n[0]))) return !1;
61
- return !0;
62
- }
63
- if (e instanceof Set && t instanceof Set) {
64
- if (e.size !== t.size) return !1;
65
- for (n of e.entries()) if (!t.has(n[0])) return !1;
66
- return !0;
67
- }
68
- if (ArrayBuffer.isView(e) && ArrayBuffer.isView(t)) {
69
- if (r = e.length, r != t.length) return !1;
70
- for (n = r; n-- !== 0; ) if (e[n] !== t[n]) return !1;
71
- return !0;
72
- }
73
- if (e.constructor === RegExp) return e.source === t.source && e.flags === t.flags;
74
- if (e.valueOf !== Object.prototype.valueOf) return e.valueOf() === t.valueOf();
75
- if (e.toString !== Object.prototype.toString) return e.toString() === t.toString();
76
- if (i = Object.keys(e), r = i.length, r !== Object.keys(t).length) return !1;
77
- for (n = r; n-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(t, i[n])) return !1;
78
- for (n = r; n-- !== 0; ) {
79
- var d = i[n];
80
- if (!C(e[d], t[d])) return !1;
81
- }
82
- return !0;
83
- }
84
- return e !== e && t !== t;
85
- }
86
- function ve(e, t) {
87
- const r = {};
88
- for (const n in t)
89
- e.includes(n) || (r[n] = t[n]);
90
- return r;
91
- }
92
- function he(e) {
93
- return Array.isArray(e) ? e : [e];
94
- }
95
- function be(e) {
96
- return e.replace(/-./g, (t) => t[1].toUpperCase());
97
- }
98
- function xe(e, t, r) {
99
- "moveBefore" in e ? e.moveBefore(t, r) : e.insertBefore(t, r);
100
- }
101
- function se(e) {
102
- let t = 0;
103
- for (let r = 0; r < e.length; r++)
104
- t = (t + e.charCodeAt(r) * 10) % 360;
105
- return `oklch(0.68 0.15 ${t}deg)`;
106
- }
107
- function I(e) {
108
- if (e instanceof RegExp)
109
- return (n) => e.test(n);
110
- const t = {
111
- positive: [],
112
- negative: []
113
- }, r = e.split(",").map((n) => n.trim()).filter((n) => n !== "");
114
- for (let n of r) {
115
- let i = "positive";
116
- n.startsWith("-") && (i = "negative", n = n.slice(1)), n === "*" ? t[i].push(function() {
117
- return !0;
118
- }) : n.endsWith("*") ? t[i].push(function(d) {
119
- return d.startsWith(n.slice(0, n.length - 1));
120
- }) : t[i].push(function(d) {
121
- return d === n;
122
- });
123
- }
124
- return function(n) {
125
- const { positive: i, negative: d } = t;
126
- return !(d.some((p) => p(n)) || i.length > 0 && !i.some((p) => p(n)));
127
- };
128
- }
129
- let $ = "production";
130
- function ie() {
131
- return $;
132
- }
133
- function Se(e) {
134
- $ = e;
135
- }
136
- var V;
137
- (function(e) {
138
- e[e.None = 0] = "None", e[e.Mutable = 1] = "Mutable", e[e.Watching = 2] = "Watching", e[e.RecursedCheck = 4] = "RecursedCheck", e[e.Recursed = 8] = "Recursed", e[e.Dirty = 16] = "Dirty", e[e.Pending = 32] = "Pending";
139
- })(V || (V = {}));
140
- function ue({ update: e, notify: t, unwatched: r }) {
141
- return {
142
- link: n,
143
- unlink: i,
144
- propagate: d,
145
- checkDirty: te,
146
- endTracking: ee,
147
- startTracking: p,
148
- shallowPropagate: m
149
- };
150
- function n(s, u) {
151
- const o = u.depsTail;
152
- if (o !== void 0 && o.dep === s)
153
- return;
154
- let f;
155
- const l = u.flags & 4;
156
- if (l && (f = o !== void 0 ? o.nextDep : u.deps, f !== void 0 && f.dep === s)) {
157
- u.depsTail = f;
158
- return;
159
- }
160
- const c = s.subsTail;
161
- if (c !== void 0 && c.sub === u && (!l || L(c, u)))
162
- return;
163
- const a = u.depsTail = s.subsTail = {
164
- dep: s,
165
- sub: u,
166
- prevDep: o,
167
- nextDep: f,
168
- prevSub: c,
169
- nextSub: void 0
170
- };
171
- f !== void 0 && (f.prevDep = a), o !== void 0 ? o.nextDep = a : u.deps = a, c !== void 0 ? c.nextSub = a : s.subs = a;
172
- }
173
- function i(s, u = s.sub) {
174
- const o = s.dep, f = s.prevDep, l = s.nextDep, c = s.nextSub, a = s.prevSub;
175
- return l !== void 0 ? l.prevDep = f : u.depsTail = f, f !== void 0 ? f.nextDep = l : u.deps = l, c !== void 0 ? c.prevSub = a : o.subsTail = a, a !== void 0 ? a.nextSub = c : (o.subs = c) === void 0 && r(o), l;
176
- }
177
- function d(s) {
178
- let u = s.nextSub, o;
179
- e: do {
180
- const f = s.sub;
181
- let l = f.flags;
182
- if (l & 3 && (l & 60 ? l & 12 ? l & 4 ? !(l & 48) && L(s, f) ? (f.flags = l | 40, l &= 1) : l = 0 : f.flags = l & -9 | 32 : l = 0 : f.flags = l | 32, l & 2 && t(f), l & 1)) {
183
- const c = f.subs;
184
- if (c !== void 0) {
185
- s = c, c.nextSub !== void 0 && (o = { value: u, prev: o }, u = s.nextSub);
186
- continue;
187
- }
188
- }
189
- if ((s = u) !== void 0) {
190
- u = s.nextSub;
191
- continue;
192
- }
193
- for (; o !== void 0; )
194
- if (s = o.value, o = o.prev, s !== void 0) {
195
- u = s.nextSub;
196
- continue e;
197
- }
198
- break;
199
- } while (!0);
200
- }
201
- function p(s) {
202
- s.depsTail = void 0, s.flags = s.flags & -57 | 4;
203
- }
204
- function ee(s) {
205
- const u = s.depsTail;
206
- let o = u !== void 0 ? u.nextDep : s.deps;
207
- for (; o !== void 0; )
208
- o = i(o, s);
209
- s.flags &= -5;
210
- }
211
- function te(s, u) {
212
- let o, f = 0;
213
- e: do {
214
- const l = s.dep, c = l.flags;
215
- let a = !1;
216
- if (u.flags & 16)
217
- a = !0;
218
- else if ((c & 17) === 17) {
219
- if (e(l)) {
220
- const h = l.subs;
221
- h.nextSub !== void 0 && m(h), a = !0;
222
- }
223
- } else if ((c & 33) === 33) {
224
- (s.nextSub !== void 0 || s.prevSub !== void 0) && (o = { value: s, prev: o }), s = l.deps, u = l, ++f;
225
- continue;
226
- }
227
- if (!a && s.nextDep !== void 0) {
228
- s = s.nextDep;
229
- continue;
230
- }
231
- for (; f; ) {
232
- --f;
233
- const h = u.subs, z = h.nextSub !== void 0;
234
- if (z ? (s = o.value, o = o.prev) : s = h, a) {
235
- if (e(u)) {
236
- z && m(h), u = s.sub;
237
- continue;
238
- }
239
- } else
240
- u.flags &= -33;
241
- if (u = s.sub, s.nextDep !== void 0) {
242
- s = s.nextDep;
243
- continue e;
244
- }
245
- a = !1;
246
- }
247
- return a;
248
- } while (!0);
249
- }
250
- function m(s) {
251
- do {
252
- const u = s.sub, o = s.nextSub, f = u.flags;
253
- (f & 48) === 32 && (u.flags = f | 16, f & 2 && t(u)), s = o;
254
- } while (s !== void 0);
255
- }
256
- function L(s, u) {
257
- const o = u.depsTail;
258
- if (o !== void 0) {
259
- let f = u.deps;
260
- do {
261
- if (f === s)
262
- return !0;
263
- if (f === o)
264
- break;
265
- f = f.nextDep;
266
- } while (f !== void 0);
267
- }
268
- return !1;
269
- }
270
- }
271
- const O = [], { link: _, unlink: q, propagate: fe, checkDirty: P, endTracking: W, startTracking: G, shallowPropagate: U } = ue({
272
- update(e) {
273
- return "getter" in e ? X(e) : k(e, e.value);
274
- },
275
- notify: H,
276
- unwatched(e) {
277
- if ("getter" in e) {
278
- let t = e.deps;
279
- if (t !== void 0) {
280
- e.flags = 17;
281
- do
282
- t = q(t, e);
283
- while (t !== void 0);
284
- }
285
- } else "previousValue" in e || Z.call(e);
286
- }
287
- });
288
- let E = 0, S = 0, j = 0, g, A;
289
- function v(e) {
290
- const t = g;
291
- return g = e, t;
292
- }
293
- function ye() {
294
- return A;
295
- }
296
- function we(e) {
297
- const t = A;
298
- return A = e, t;
299
- }
300
- function X(e) {
301
- const t = v(e);
302
- G(e);
303
- try {
304
- const r = e.value, n = { value: e.value };
305
- return !e.equals(r, e.value = e.getter.call(n));
306
- } finally {
307
- v(t), W(e);
308
- }
309
- }
310
- function k(e, t) {
311
- return e.flags = 1, !e.equals(e.previousValue, e.previousValue = t);
312
- }
313
- function H(e) {
314
- const t = e.flags;
315
- if (!(t & 64)) {
316
- e.flags = t | 64;
317
- const r = e.subs;
318
- r !== void 0 ? H(r.sub) : O[j++] = e;
319
- }
320
- }
321
- function J(e, t) {
322
- if (t & 16 || t & 32 && P(e.deps, e)) {
323
- const n = v(e);
324
- G(e);
325
- try {
326
- "cleanup" in e && e.cleanup !== void 0 && e.cleanup();
327
- const i = e.fn();
328
- "cleanup" in e && b(i) && (e.cleanup = i);
329
- } finally {
330
- v(n), W(e);
331
- }
332
- return;
333
- } else t & 32 && (e.flags = t & -33);
334
- let r = e.deps;
335
- for (; r !== void 0; ) {
336
- const n = r.dep, i = n.flags;
337
- i & 64 && J(
338
- n,
339
- n.flags = i & -65
340
- /* Queued */
341
- ), r = r.nextDep;
342
- }
343
- }
344
- function K() {
345
- for (; S < j; ) {
346
- const e = O[S];
347
- O[S++] = void 0, J(
348
- e,
349
- e.flags &= -65
350
- /* Queued */
351
- );
352
- }
353
- S = 0, j = 0;
354
- }
355
- function oe() {
356
- const e = this.flags;
357
- if (e & 16 || e & 32 && P(this.deps, this)) {
358
- if (X(this)) {
359
- const t = this.subs;
360
- t !== void 0 && U(t);
361
- }
362
- } else e & 32 && (this.flags = e & -33);
363
- return g !== void 0 && _(this, g), this.value;
364
- }
365
- function Q() {
366
- const e = this.value;
367
- if (this.flags & 16 && k(this, e)) {
368
- const t = this.subs;
369
- t !== void 0 && U(t);
370
- }
371
- return g !== void 0 && _(this, g), e;
372
- }
373
- function Y(e) {
374
- let t = b(e) ? x(e(this.value)) : e;
375
- if (!this.equals(this.value, t)) {
376
- this.value = t, this.flags = 17;
377
- const r = this.subs;
378
- r !== void 0 && (fe(r), E || K());
379
- }
380
- }
381
- function Z() {
382
- let e = this.deps;
383
- for (; e !== void 0; )
384
- e = q(e, this);
385
- const t = this.subs;
386
- t !== void 0 && q(t), this.flags = 0, "cleanup" in this && this.cleanup != null && this.cleanup();
387
- }
388
- function me(e, t) {
389
- const r = {
390
- previousValue: e,
391
- value: e,
392
- equals: t?.equals ?? N,
393
- subs: void 0,
394
- subsTail: void 0,
395
- flags: 1
396
- }, n = Q.bind(r);
397
- return n.set = Y.bind(r), n;
398
- }
399
- function De(e) {
400
- return le(() => e);
401
- }
402
- function Te(e, t) {
403
- const r = {
404
- previousValue: e,
405
- value: e,
406
- equals: t?.equals ?? N,
407
- subs: void 0,
408
- subsTail: void 0,
409
- flags: 1
410
- };
411
- return [Q.bind(r), Y.bind(r)];
412
- }
413
- function le(e, t) {
414
- return oe.bind({
415
- value: void 0,
416
- subs: void 0,
417
- subsTail: void 0,
418
- deps: void 0,
419
- depsTail: void 0,
420
- flags: 17,
421
- getter: function() {
422
- if (t?.deps) {
423
- for (let r of t.deps) x(r);
424
- return x(R(() => e(this.value)));
425
- }
426
- return x(e(this.value));
427
- },
428
- equals: t?.equals ?? N
429
- });
430
- }
431
- function Ce(e) {
432
- ++E, e(), --E || K();
433
- }
434
- function R(e) {
435
- if (b(e)) {
436
- let t;
437
- const r = v(void 0);
438
- return t = e(), v(r), t;
439
- } else
440
- return e;
441
- }
442
- function x(e) {
443
- return b(e) ? e() : e;
444
- }
445
- function Oe(e) {
446
- const t = {
447
- fn: e,
448
- subs: void 0,
449
- subsTail: void 0,
450
- deps: void 0,
451
- depsTail: void 0,
452
- flags: 2
453
- };
454
- g !== void 0 && _(t, g);
455
- const r = v(t);
456
- try {
457
- t.cleanup?.();
458
- const n = t.fn();
459
- t.cleanup = b(n) ? n : void 0;
460
- } finally {
461
- v(r);
462
- }
463
- return Z.bind(t);
464
- }
465
- let y = {
466
- info: "development",
467
- log: "development",
468
- warn: "development",
469
- error: !0
470
- }, F = I("*,-dolla.*"), w = [], B = !1;
471
- function qe(e) {
472
- return w.push(e), function() {
473
- w.splice(w.indexOf(e), 1);
474
- };
475
- }
476
- function Ee(e, t) {
477
- const r = t?.console ?? ce(), n = (i) => {
478
- let d = R(e);
479
- if (y[i] === !1 || ne(y[i]) && y[i] !== ie() || !F(d))
480
- return re;
481
- {
482
- let p = `%c${d}`;
483
- return t?.tag ? t.tagName ? p += ` %c[${t.tagName}: %c${t.tag}%c]` : p += ` %c[%c${t.tag}%c]` : p += "%c%c%c", r[i].bind(
484
- r,
485
- p,
486
- `color:${se(p)};font-weight:bold`,
487
- "color:#777",
488
- "color:#aaa",
489
- "color:#777"
490
- );
491
- }
492
- };
493
- return {
494
- get info() {
495
- return n("info");
496
- },
497
- get log() {
498
- return n("log");
499
- },
500
- get warn() {
501
- return n("warn");
502
- },
503
- get error() {
504
- return n("error");
505
- },
506
- crash(i) {
507
- if (!B) {
508
- B = !0;
509
- const d = {
510
- error: i,
511
- loggerName: x(e),
512
- tag: t?.tag,
513
- tagName: t?.tagName
514
- };
515
- for (const p of w)
516
- p(d);
517
- throw i;
518
- }
519
- return i;
520
- }
521
- };
522
- }
523
- function je(e) {
524
- F = I(e);
525
- }
526
- function Ae(e) {
527
- for (const t in e) {
528
- const r = e[t];
529
- r && (y[t] = r);
530
- }
531
- }
532
- function ce() {
533
- if (typeof window < "u" && window.console)
534
- return window.console;
535
- if (typeof global < "u" && global.console)
536
- return global.console;
537
- }
538
- export {
539
- ge as a,
540
- Ce as b,
541
- N as c,
542
- C as d,
543
- Oe as e,
544
- ie as f,
545
- x as g,
546
- Se as h,
547
- Ee as i,
548
- je as j,
549
- Ae as k,
550
- ye as l,
551
- le as m,
552
- de as n,
553
- qe as o,
554
- we as p,
555
- xe as q,
556
- De as r,
557
- Te as s,
558
- he as t,
559
- R as u,
560
- pe as v,
561
- me as w,
562
- ve as x,
563
- be as y
564
- };
565
- //# sourceMappingURL=logger-Aqi9m1CF.js.map