@matthewp/zebra 0.1.1 → 0.1.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +14 -0
- package/dist/model.d.ts.map +1 -0
- package/dist/model.js +41 -0
- package/dist/model.js.map +1 -0
- package/dist/view.d.ts.map +1 -1
- package/dist/view.js +9 -1
- package/dist/view.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { Node, Element, Fragment, RawHTML, Div, Span, Anchor, Button, Input, Textarea, Label, Form, Img, P, H1, H2, H3, H4, H5, H6, Ul, Ol, Li, Section, Article, Header, Footer, Nav, Main, Aside, Table, Thead, Tbody, Tr, Td, Th, Select, Option, Output, Br, Hr, Pre, Code, Strong, Em, Small, } from './element.ts';
|
|
2
2
|
export type { Child } from './element.ts';
|
|
3
3
|
export { View } from './view.ts';
|
|
4
|
+
export { Model } from './model.ts';
|
|
4
5
|
export { computed, effect, effectScope, endBatch, isComputed, isEffect, isEffectScope, isSignal, signal, startBatch, } from 'alien-signals';
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,GAAG,EACH,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,EACF,EAAE,EACF,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,EACN,EAAE,EACF,EAAE,EACF,GAAG,EACH,IAAI,EACJ,MAAM,EACN,EAAE,EACF,KAAK,GACN,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,GAAG,EACH,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,EACF,EAAE,EACF,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,EACN,EAAE,EACF,EAAE,EACF,GAAG,EACH,IAAI,EACJ,MAAM,EACN,EAAE,EACF,KAAK,GACN,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { Node, Element, Fragment, RawHTML, Div, Span, Anchor, Button, Input, Textarea, Label, Form, Img, P, H1, H2, H3, H4, H5, H6, Ul, Ol, Li, Section, Article, Header, Footer, Nav, Main, Aside, Table, Thead, Tbody, Tr, Td, Th, Select, Option, Output, Br, Hr, Pre, Code, Strong, Em, Small, } from "./element.js";
|
|
2
2
|
export { View } from "./view.js";
|
|
3
|
+
export { Model } from "./model.js";
|
|
3
4
|
export { computed, effect, effectScope, endBatch, isComputed, isEffect, isEffectScope, isSignal, signal, startBatch, } from 'alien-signals';
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,GAAG,EACH,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,EACF,EAAE,EACF,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,EACN,EAAE,EACF,EAAE,EACF,GAAG,EACH,IAAI,EACJ,MAAM,EACN,EAAE,EACF,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,MAAM,EACN,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,GAAG,EACH,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,OAAO,EACP,OAAO,EACP,MAAM,EACN,MAAM,EACN,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,EAAE,EACF,EAAE,EACF,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,EACN,EAAE,EACF,EAAE,EACF,GAAG,EACH,IAAI,EACJ,MAAM,EACN,EAAE,EACF,KAAK,GACN,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,MAAM,EACN,UAAU,GACX,MAAM,eAAe,CAAC"}
|
package/dist/model.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare class Model {
|
|
2
|
+
loading: {
|
|
3
|
+
(): boolean;
|
|
4
|
+
(value: boolean): void;
|
|
5
|
+
};
|
|
6
|
+
error: {
|
|
7
|
+
(): string | null;
|
|
8
|
+
(value: string | null): void;
|
|
9
|
+
};
|
|
10
|
+
protected run<T>(fn: () => Promise<T>): Promise<T | undefined>;
|
|
11
|
+
toJSON(): Record<string, unknown>;
|
|
12
|
+
fromJSON(json: Record<string, unknown>): this;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAEA,qBAAa,KAAK;IAChB,OAAO;;;MAAiB;IACxB,KAAK;;;MAA+B;cAEpB,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAapE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAYjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAS9C"}
|
package/dist/model.js
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { signal, isSignal } from 'alien-signals';
|
|
2
|
+
export class Model {
|
|
3
|
+
loading = signal(false);
|
|
4
|
+
error = signal(null);
|
|
5
|
+
async run(fn) {
|
|
6
|
+
this.loading(true);
|
|
7
|
+
this.error(null);
|
|
8
|
+
try {
|
|
9
|
+
return await fn();
|
|
10
|
+
}
|
|
11
|
+
catch (e) {
|
|
12
|
+
this.error(e instanceof Error ? e.message : String(e));
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
finally {
|
|
16
|
+
this.loading(false);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
toJSON() {
|
|
20
|
+
const out = {};
|
|
21
|
+
for (const key of Object.keys(this)) {
|
|
22
|
+
if (key === 'loading' || key === 'error')
|
|
23
|
+
continue;
|
|
24
|
+
const val = this[key];
|
|
25
|
+
if (isSignal(val)) {
|
|
26
|
+
out[key] = val();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
fromJSON(json) {
|
|
32
|
+
for (const [key, val] of Object.entries(json)) {
|
|
33
|
+
const sig = this[key];
|
|
34
|
+
if (isSignal(sig)) {
|
|
35
|
+
sig(val);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,OAAO,KAAK;IAChB,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACxB,KAAK,GAAG,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE1B,KAAK,CAAC,GAAG,CAAI,EAAoB;QACzC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,KAAK,CAAC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvD,OAAO,SAAS,CAAC;QACnB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,OAAO;gBAAE,SAAS;YACnD,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,GAAY,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,GAAG,CAAC,GAAI,GAAqB,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED,QAAQ,CAAC,IAA6B;QACpC,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAI,IAAgC,CAAC,GAAG,CAAC,CAAC;YACnD,IAAI,QAAQ,CAAC,GAAY,CAAC,EAAE,CAAC;gBAC1B,GAA4B,CAAC,GAAG,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
package/dist/view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAGnD,qBAAa,IAAK,SAAQ,OAAO;IAC/B,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,CAAQ;;IAM3C,MAAM,IAAI,OAAO;IAIjB,SAAS,CAAC,YAAY,IAAI,OAAO;IAajC,MAAM,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI;IAKlC,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,EAAE,GAAG,IAAI;IAKnC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/C,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAKnC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAKpD,QAAQ,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKpC,WAAW,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKvC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAKhD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3C,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK/B,IAAI,IAAI,IAAI;IAKZ,IAAI,IAAI,IAAI;IAKZ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,GAAG,IAAI;IAK/C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM3B,KAAK,IAAI,IAAI;IAKb,OAAO,IAAI,IAAI;IAKf,MAAM,IAAI,IAAI;IAKd,KAAK,IAAI,WAAW;IAOpB,OAAO,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI;IAO9B,QAAQ,IAAI,MAAM;IAIlB,KAAK,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;CAIpC"}
|
package/dist/view.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Element } from "./element.js";
|
|
2
|
+
import { getActiveSub, setActiveSub } from 'alien-signals';
|
|
2
3
|
export class View extends Element {
|
|
3
4
|
_rendered = null;
|
|
4
5
|
constructor() {
|
|
@@ -9,7 +10,14 @@ export class View extends Element {
|
|
|
9
10
|
}
|
|
10
11
|
_getRendered() {
|
|
11
12
|
if (!this._rendered) {
|
|
12
|
-
|
|
13
|
+
const prev = getActiveSub();
|
|
14
|
+
setActiveSub(undefined);
|
|
15
|
+
try {
|
|
16
|
+
this._rendered = this.render();
|
|
17
|
+
}
|
|
18
|
+
finally {
|
|
19
|
+
setActiveSub(prev);
|
|
20
|
+
}
|
|
13
21
|
}
|
|
14
22
|
return this._rendered;
|
|
15
23
|
}
|
package/dist/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAc,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../src/view.ts"],"names":[],"mappings":"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"}
|