crelte 0.5.12 → 0.5.14
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/blocks/Blocks.d.ts +1 -1
- package/dist/blocks/Blocks.d.ts.map +1 -1
- package/dist/bodyClass/BodyClass.d.ts +18 -1
- package/dist/bodyClass/BodyClass.d.ts.map +1 -1
- package/dist/bodyClass/BodyClass.js +21 -2
- package/dist/bodyClass/ClientBodyClass.d.ts +7 -2
- package/dist/bodyClass/ClientBodyClass.d.ts.map +1 -1
- package/dist/bodyClass/ClientBodyClass.js +29 -15
- package/dist/bodyClass/ServerBodyClass.d.ts +7 -1
- package/dist/bodyClass/ServerBodyClass.d.ts.map +1 -1
- package/dist/bodyClass/ServerBodyClass.js +19 -5
- package/dist/bodyClass/utils.d.ts +39 -0
- package/dist/bodyClass/utils.d.ts.map +1 -0
- package/dist/bodyClass/utils.js +84 -0
- package/dist/crelte.d.ts.map +1 -1
- package/dist/crelte.js +2 -0
- package/dist/init/client.js +1 -1
- package/dist/init/server.d.ts.map +1 -1
- package/dist/init/server.js +1 -0
- package/dist/init/shared.d.ts.map +1 -1
- package/dist/init/shared.js +3 -0
- package/dist/loadData/entry.d.ts +11 -2
- package/dist/loadData/entry.d.ts.map +1 -1
- package/dist/loadData/entry.js +11 -2
- package/dist/queries/Queries.d.ts +3 -0
- package/dist/queries/Queries.d.ts.map +1 -1
- package/dist/queries/Queries.js +3 -0
- package/dist/queries/index.d.ts +22 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/vars.d.ts +25 -2
- package/dist/queries/vars.d.ts.map +1 -1
- package/dist/queries/vars.js +42 -1
- package/dist/routing/route/BaseRoute.d.ts.map +1 -1
- package/dist/routing/route/BaseRoute.js +4 -17
- package/dist/server/queries/QueryGqlRoute.d.ts +3 -1
- package/dist/server/queries/QueryGqlRoute.d.ts.map +1 -1
- package/dist/server/queries/QueryGqlRoute.js +7 -5
- package/dist/server/queries/QueryHandleRoute.d.ts +3 -2
- package/dist/server/queries/QueryHandleRoute.d.ts.map +1 -1
- package/dist/server/queries/QueryHandleRoute.js +4 -2
- package/dist/server/queries/queries.d.ts.map +1 -1
- package/dist/server/queries/queries.js +12 -2
- package/dist/server/queries/routes.d.ts +4 -3
- package/dist/server/queries/routes.d.ts.map +1 -1
- package/dist/server/queries/routes.js +9 -3
- package/dist/std/index.d.ts +1 -0
- package/dist/std/index.d.ts.map +1 -1
- package/dist/std/index.js +1 -0
- package/dist/std/url/index.d.ts +40 -0
- package/dist/std/url/index.d.ts.map +1 -0
- package/dist/std/url/index.js +65 -0
- package/dist/std/url/utils.d.ts +19 -0
- package/dist/std/url/utils.d.ts.map +1 -0
- package/dist/std/url/utils.js +40 -0
- package/dist/vite/index.js +3 -2
- package/package.json +5 -1
- package/src/blocks/Blocks.ts +1 -1
- package/src/bodyClass/BodyClass.ts +25 -3
- package/src/bodyClass/ClientBodyClass.ts +37 -20
- package/src/bodyClass/ServerBodyClass.ts +28 -7
- package/src/bodyClass/utils.ts +118 -0
- package/src/crelte.ts +3 -0
- package/src/init/client.ts +1 -1
- package/src/init/server.ts +1 -0
- package/src/init/shared.ts +3 -0
- package/src/loadData/entry.ts +12 -2
- package/src/queries/Queries.ts +3 -0
- package/src/queries/index.ts +30 -1
- package/src/queries/vars.ts +58 -3
- package/src/routing/route/BaseRoute.ts +8 -22
- package/src/server/queries/QueryGqlRoute.ts +20 -4
- package/src/server/queries/QueryHandleRoute.ts +5 -2
- package/src/server/queries/queries.ts +29 -3
- package/src/server/queries/routes.ts +18 -3
- package/src/std/index.ts +1 -0
- package/src/std/url/index.ts +78 -0
- package/src/std/url/utils.ts +48 -0
- package/src/vite/index.ts +4 -2
package/dist/blocks/Blocks.d.ts
CHANGED
|
@@ -58,7 +58,7 @@ export declare class BlockModules {
|
|
|
58
58
|
* );
|
|
59
59
|
* ```
|
|
60
60
|
*/
|
|
61
|
-
export declare function blockModules(modules: Record<string,
|
|
61
|
+
export declare function blockModules(modules: Record<string, (() => Promise<any>) | Module>, opts?: BlockModulesOptions): BlockModules;
|
|
62
62
|
/**
|
|
63
63
|
* Load blocks data
|
|
64
64
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,MAAM;IACtB,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC;IAEb,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,CACV,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,YAAY,KACd,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,qBAAa,YAAY;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,IAAI,GAAE,mBAAwB;IAgC/B;;;;OAIG;IACG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAmBtE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,MAAM;IACtB,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC;IAEb,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,CACV,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,YAAY,KACd,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,qBAAa,YAAY;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,IAAI,GAAE,mBAAwB;IAgC/B;;;;OAIG;IACG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAmBtE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,EACtD,IAAI,GAAE,mBAAwB,GAC5B,YAAY,CAEd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAMzB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjB,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMjD,QAAQ,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,EAAE;CAclC"}
|
|
@@ -22,7 +22,23 @@ export default class BodyClass {
|
|
|
22
22
|
* it.
|
|
23
23
|
*/
|
|
24
24
|
toggle(cls: string, force?: boolean): void;
|
|
25
|
+
/**
|
|
26
|
+
* Removes the given classes from the body
|
|
27
|
+
*/
|
|
25
28
|
remove(...classes: string[]): void;
|
|
29
|
+
/**
|
|
30
|
+
* Sets the class for the given variant removing the old class for that
|
|
31
|
+
* variant, if cls is null it will remove the variant class
|
|
32
|
+
*
|
|
33
|
+
* If you just have like a dark or light mode and only for the dark mode a
|
|
34
|
+
* class, **prefer** `toggle('dark', isDarkMode)` over
|
|
35
|
+
* `setVariant('mode', isDarkMode ? 'dark' : null)`
|
|
36
|
+
*
|
|
37
|
+
* ## Note
|
|
38
|
+
* The variant name is only used for the internal state management
|
|
39
|
+
* and has no inpact on the actual class name
|
|
40
|
+
*/
|
|
41
|
+
setVariant(variant: string, cls: string | null): void;
|
|
26
42
|
/** @hidden */
|
|
27
43
|
z_toRequest(): BodyClass;
|
|
28
44
|
/** @hidden */
|
|
@@ -31,8 +47,9 @@ export default class BodyClass {
|
|
|
31
47
|
export interface PlatformBodyClass {
|
|
32
48
|
contains(cls: string): boolean;
|
|
33
49
|
add(...classes: string[]): void;
|
|
34
|
-
toggle(cls: string, force?: boolean):
|
|
50
|
+
toggle(cls: string, force?: boolean): boolean;
|
|
35
51
|
remove(...classes: string[]): void;
|
|
52
|
+
setVariant(variant: string, cls: string | null): boolean;
|
|
36
53
|
toRequest(): PlatformBodyClass;
|
|
37
54
|
render?: () => void;
|
|
38
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/BodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,KAAK,CAAuB;gBAExB,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC;IAKlE,SAAS,CACR,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAC5B,UAAU,CAAC,EAAE,MAAM,IAAI,GACrB,MAAM,IAAI;IAIb;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/B;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"BodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/BodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,iCAAiC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,SAAS;IAC7B,OAAO,CAAC,KAAK,CAAoB;IACjC,OAAO,CAAC,KAAK,CAAuB;gBAExB,KAAK,EAAE,iBAAiB,EAAE,KAAK,CAAC,EAAE,cAAc,CAAC,IAAI,CAAC;IAKlE,SAAS,CACR,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,EAC5B,UAAU,CAAC,EAAE,MAAM,IAAI,GACrB,MAAM,IAAI;IAIb;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B;;OAEG;IACH,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/B;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI;IAI1C;;OAEG;IACH,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKlC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIrD,cAAc;IACd,WAAW,IAAI,SAAS;IAIxB,cAAc;IACd,QAAQ,IAAI,IAAI;CAIhB;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC/B,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAGhC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9C,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAEnC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IACzD,SAAS,IAAI,iBAAiB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB"}
|
|
@@ -32,13 +32,32 @@ export default class BodyClass {
|
|
|
32
32
|
* it.
|
|
33
33
|
*/
|
|
34
34
|
toggle(cls, force) {
|
|
35
|
-
this.inner.toggle(cls, force)
|
|
36
|
-
|
|
35
|
+
if (this.inner.toggle(cls, force))
|
|
36
|
+
this.store.set();
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Removes the given classes from the body
|
|
40
|
+
*/
|
|
38
41
|
remove(...classes) {
|
|
39
42
|
this.inner.remove(...classes);
|
|
40
43
|
this.store.set();
|
|
41
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Sets the class for the given variant removing the old class for that
|
|
47
|
+
* variant, if cls is null it will remove the variant class
|
|
48
|
+
*
|
|
49
|
+
* If you just have like a dark or light mode and only for the dark mode a
|
|
50
|
+
* class, **prefer** `toggle('dark', isDarkMode)` over
|
|
51
|
+
* `setVariant('mode', isDarkMode ? 'dark' : null)`
|
|
52
|
+
*
|
|
53
|
+
* ## Note
|
|
54
|
+
* The variant name is only used for the internal state management
|
|
55
|
+
* and has no inpact on the actual class name
|
|
56
|
+
*/
|
|
57
|
+
setVariant(variant, cls) {
|
|
58
|
+
if (this.inner.setVariant(variant, cls))
|
|
59
|
+
this.store.set();
|
|
60
|
+
}
|
|
42
61
|
/** @hidden */
|
|
43
62
|
z_toRequest() {
|
|
44
63
|
return new BodyClass(this.inner.toRequest(), this.store.stage());
|
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import SsrCache from '../ssr/SsrCache.js';
|
|
1
2
|
import { PlatformBodyClass } from './BodyClass.js';
|
|
3
|
+
import { ClassSet, Variants } from './utils.js';
|
|
2
4
|
export default class ClientBodyClass implements PlatformBodyClass {
|
|
5
|
+
private variants;
|
|
3
6
|
private inner;
|
|
4
|
-
constructor(inner?:
|
|
7
|
+
constructor(variants: Variants, inner?: ClassSet);
|
|
8
|
+
static fromSsrCache(ssrCache: SsrCache): ClientBodyClass;
|
|
5
9
|
contains(cls: string): boolean;
|
|
6
10
|
add(...classes: string[]): void;
|
|
7
|
-
toggle(cls: string, force?: boolean):
|
|
11
|
+
toggle(cls: string, force?: boolean): boolean;
|
|
8
12
|
remove(...classes: string[]): void;
|
|
13
|
+
setVariant(variant: string, cls: string | null): boolean;
|
|
9
14
|
toRequest(): ClientBodyClass;
|
|
10
15
|
render(): void;
|
|
11
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientBodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/ClientBodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ClientBodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/ClientBodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAsB,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpE,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,iBAAiB;IAChE,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,KAAK,CAAkB;gBAEnB,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,QAAQ;IAKhD,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe;IAKxD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAK9B,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAM/B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAe7C,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKlC,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAWxD,SAAS,IAAI,eAAe;IAK5B,MAAM,IAAI,IAAI;CAQd"}
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
+
import { ClassSet, ssrCacheToVariants } from './utils.js';
|
|
1
2
|
export default class ClientBodyClass {
|
|
3
|
+
variants;
|
|
4
|
+
// during the request store the classes here
|
|
2
5
|
inner;
|
|
3
|
-
constructor(inner) {
|
|
6
|
+
constructor(variants, inner) {
|
|
7
|
+
this.variants = variants;
|
|
4
8
|
this.inner = inner ?? null;
|
|
5
9
|
}
|
|
10
|
+
static fromSsrCache(ssrCache) {
|
|
11
|
+
const variants = ssrCacheToVariants(ssrCache);
|
|
12
|
+
return new ClientBodyClass(variants);
|
|
13
|
+
}
|
|
6
14
|
contains(cls) {
|
|
7
15
|
if (this.inner)
|
|
8
16
|
return this.inner.has(cls);
|
|
@@ -14,10 +22,13 @@ export default class ClientBodyClass {
|
|
|
14
22
|
else
|
|
15
23
|
cl().add(...classes);
|
|
16
24
|
}
|
|
25
|
+
// returns true if the value was changed
|
|
17
26
|
toggle(cls, force) {
|
|
27
|
+
const exists = this.contains(cls);
|
|
28
|
+
const shouldExist = typeof force === 'boolean' ? force : !exists;
|
|
29
|
+
const changed = shouldExist !== exists;
|
|
18
30
|
if (this.inner) {
|
|
19
|
-
|
|
20
|
-
if (add)
|
|
31
|
+
if (shouldExist)
|
|
21
32
|
this.inner.add(cls);
|
|
22
33
|
else
|
|
23
34
|
this.inner.delete(cls);
|
|
@@ -25,6 +36,7 @@ export default class ClientBodyClass {
|
|
|
25
36
|
else {
|
|
26
37
|
cl().toggle(cls, force);
|
|
27
38
|
}
|
|
39
|
+
return changed;
|
|
28
40
|
}
|
|
29
41
|
remove(...classes) {
|
|
30
42
|
if (this.inner)
|
|
@@ -32,24 +44,26 @@ export default class ClientBodyClass {
|
|
|
32
44
|
else
|
|
33
45
|
cl().remove(...classes);
|
|
34
46
|
}
|
|
47
|
+
setVariant(variant, cls) {
|
|
48
|
+
if (this.inner)
|
|
49
|
+
return this.inner.setVariant(variant, cls);
|
|
50
|
+
const { remove, add } = this.variants.set(variant, cls);
|
|
51
|
+
if (remove)
|
|
52
|
+
cl().remove(remove);
|
|
53
|
+
if (add)
|
|
54
|
+
cl().add(add);
|
|
55
|
+
return !!remove || !!add;
|
|
56
|
+
}
|
|
35
57
|
toRequest() {
|
|
36
|
-
const inner = new
|
|
37
|
-
return new ClientBodyClass(inner);
|
|
58
|
+
const inner = new ClassSet(cl(), this.variants.entries(), true);
|
|
59
|
+
return new ClientBodyClass(this.variants, inner);
|
|
38
60
|
}
|
|
39
61
|
render() {
|
|
40
62
|
if (!this.inner)
|
|
41
63
|
throw new Error('call toRequest first');
|
|
42
|
-
const
|
|
43
|
-
for (const cls of this.inner) {
|
|
44
|
-
const existed = current.delete(cls);
|
|
45
|
-
if (!existed)
|
|
46
|
-
cl().add(cls);
|
|
47
|
-
}
|
|
48
|
-
// now lets remove all classes that still exist in current
|
|
49
|
-
for (const cls of current) {
|
|
50
|
-
cl().remove(cls);
|
|
51
|
-
}
|
|
64
|
+
const inner = this.inner;
|
|
52
65
|
this.inner = null;
|
|
66
|
+
inner.applyHistory(this);
|
|
53
67
|
}
|
|
54
68
|
}
|
|
55
69
|
function cl() {
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
+
import SsrCache from '../ssr/SsrCache.js';
|
|
1
2
|
import { PlatformBodyClass } from './BodyClass.js';
|
|
2
3
|
export default class ServerBodyClass implements PlatformBodyClass {
|
|
3
4
|
private inner;
|
|
4
5
|
constructor();
|
|
5
6
|
contains(cls: string): boolean;
|
|
6
7
|
add(...classes: string[]): void;
|
|
7
|
-
toggle(cls: string, force?: boolean):
|
|
8
|
+
toggle(cls: string, force?: boolean): boolean;
|
|
8
9
|
remove(...classes: string[]): void;
|
|
10
|
+
/**
|
|
11
|
+
* @returns Returns true if the value was changed
|
|
12
|
+
*/
|
|
13
|
+
setVariant(variant: string, cls: string | null): boolean;
|
|
9
14
|
toRequest(): ServerBodyClass;
|
|
15
|
+
z_populateSsrCache(ssrCache: SsrCache): void;
|
|
10
16
|
z_processHtmlTemplate(html: string): string;
|
|
11
17
|
}
|
|
12
18
|
//# sourceMappingURL=ServerBodyClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerBodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/ServerBodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerBodyClass.d.ts","sourceRoot":"","sources":["../../src/bodyClass/ServerBodyClass.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAGnD,MAAM,CAAC,OAAO,OAAO,eAAgB,YAAW,iBAAiB;IAChE,OAAO,CAAC,KAAK,CAAW;;IAMxB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI9B,GAAG,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAK/B,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO;IAqB7C,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAKlC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAIxD,SAAS,IAAI,eAAe;IAK5B,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAa3C"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { ClassSet, variantsToSsrCache } from './utils.js';
|
|
1
2
|
export default class ServerBodyClass {
|
|
2
3
|
inner;
|
|
3
4
|
constructor() {
|
|
4
|
-
this.inner = new
|
|
5
|
+
this.inner = new ClassSet();
|
|
5
6
|
}
|
|
6
7
|
contains(cls) {
|
|
7
8
|
return this.inner.has(cls);
|
|
@@ -17,25 +18,38 @@ export default class ServerBodyClass {
|
|
|
17
18
|
'to unexpected results. Because in a loadData the server will add it ' +
|
|
18
19
|
'and the client will afterwards remove it.');
|
|
19
20
|
}
|
|
20
|
-
const
|
|
21
|
-
|
|
21
|
+
const exists = this.inner.has(cls);
|
|
22
|
+
const shouldExist = typeof force === 'boolean' ? force : !exists;
|
|
23
|
+
const changed = shouldExist !== exists;
|
|
24
|
+
if (shouldExist)
|
|
22
25
|
this.inner.add(cls);
|
|
23
26
|
else
|
|
24
27
|
this.inner.delete(cls);
|
|
28
|
+
return changed;
|
|
25
29
|
}
|
|
26
30
|
remove(...classes) {
|
|
27
31
|
validate(classes);
|
|
28
32
|
classes.forEach(cls => this.inner.delete(cls));
|
|
29
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* @returns Returns true if the value was changed
|
|
36
|
+
*/
|
|
37
|
+
setVariant(variant, cls) {
|
|
38
|
+
return this.inner.setVariant(variant, cls);
|
|
39
|
+
}
|
|
30
40
|
toRequest() {
|
|
41
|
+
// no second request should ever start on the server
|
|
31
42
|
return this;
|
|
32
43
|
}
|
|
44
|
+
z_populateSsrCache(ssrCache) {
|
|
45
|
+
variantsToSsrCache(this.inner.z_variants, ssrCache);
|
|
46
|
+
}
|
|
33
47
|
z_processHtmlTemplate(html) {
|
|
34
48
|
const SEARCH_STR = '<!--body-class-->';
|
|
35
|
-
if (this.inner.
|
|
49
|
+
if (this.inner.length && !html.includes(SEARCH_STR)) {
|
|
36
50
|
throw new Error('index.html needs to contain `class="<!--body-class-->"`');
|
|
37
51
|
}
|
|
38
|
-
return html.replace(SEARCH_STR, Array.from(this.inner).join(' '));
|
|
52
|
+
return html.replace(SEARCH_STR, Array.from(this.inner.classes()).join(' '));
|
|
39
53
|
}
|
|
40
54
|
}
|
|
41
55
|
function validate(classes) {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import SsrCache from '../ssr/SsrCache.js';
|
|
2
|
+
export type HistoryClassSet = {
|
|
3
|
+
add(cls: string): void;
|
|
4
|
+
remove(cls: string): void;
|
|
5
|
+
setVariant(variant: string, cls: string | null): void;
|
|
6
|
+
};
|
|
7
|
+
export declare class ClassSet {
|
|
8
|
+
private _classes;
|
|
9
|
+
/** @hidden */
|
|
10
|
+
z_variants: Variants;
|
|
11
|
+
private history;
|
|
12
|
+
constructor(classes?: Iterable<string>, variants?: Iterable<[string, string]>, history?: boolean);
|
|
13
|
+
classes(): Iterable<string>;
|
|
14
|
+
get length(): number;
|
|
15
|
+
has(cls: string): boolean;
|
|
16
|
+
add(cls: string): void;
|
|
17
|
+
delete(cls: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* @returns Returns true if the value was changed
|
|
20
|
+
*/
|
|
21
|
+
setVariant(variant: string, cls: string | null): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Fails if no history is active.
|
|
24
|
+
*/
|
|
25
|
+
applyHistory(cl: HistoryClassSet): void;
|
|
26
|
+
}
|
|
27
|
+
export type VariantSetReturn = {
|
|
28
|
+
remove?: string;
|
|
29
|
+
add?: string;
|
|
30
|
+
};
|
|
31
|
+
export declare class Variants {
|
|
32
|
+
private inner;
|
|
33
|
+
constructor(entries?: Iterable<[string, string]>);
|
|
34
|
+
set(variant: string, cls: string | null): VariantSetReturn;
|
|
35
|
+
entries(): Iterable<[string, string]>;
|
|
36
|
+
}
|
|
37
|
+
export declare function ssrCacheToVariants(ssrCache: SsrCache): Variants;
|
|
38
|
+
export declare function variantsToSsrCache(variants: Variants, ssrCache: SsrCache): void;
|
|
39
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/bodyClass/utils.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAE1C,MAAM,MAAM,eAAe,GAAG;IAC7B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAC;CACtD,CAAC;AAEF,qBAAa,QAAQ;IACpB,OAAO,CAAC,QAAQ,CAAc;IAC9B,cAAc;IACd,UAAU,EAAE,QAAQ,CAAC;IACrB,OAAO,CAAC,OAAO,CAA2C;gBAGzD,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EACrC,OAAO,GAAE,OAAe;IAOzB,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC;IAI3B,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIzB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKtB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAKzB;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO;IAaxD;;OAEG;IACH,YAAY,CAAC,EAAE,EAAE,eAAe,GAAG,IAAI;CAGvC;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,qBAAa,QAAQ;IAEpB,OAAO,CAAC,KAAK,CAAsB;gBAEvB,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIhD,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB;IAkB1D,OAAO,IAAI,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAGrC;AAGD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAE/D;AAGD,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAChB,IAAI,CAEN"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export class ClassSet {
|
|
2
|
+
_classes;
|
|
3
|
+
/** @hidden */
|
|
4
|
+
z_variants;
|
|
5
|
+
history;
|
|
6
|
+
constructor(classes, variants, history = false) {
|
|
7
|
+
this._classes = new Set(classes);
|
|
8
|
+
this.z_variants = new Variants();
|
|
9
|
+
this.history = history ? [] : null;
|
|
10
|
+
}
|
|
11
|
+
classes() {
|
|
12
|
+
return this._classes;
|
|
13
|
+
}
|
|
14
|
+
get length() {
|
|
15
|
+
return this._classes.size;
|
|
16
|
+
}
|
|
17
|
+
has(cls) {
|
|
18
|
+
return this._classes.has(cls);
|
|
19
|
+
}
|
|
20
|
+
add(cls) {
|
|
21
|
+
this._classes.add(cls);
|
|
22
|
+
if (this.history)
|
|
23
|
+
this.history.push(c => c.add(cls));
|
|
24
|
+
}
|
|
25
|
+
delete(cls) {
|
|
26
|
+
this._classes.delete(cls);
|
|
27
|
+
if (this.history)
|
|
28
|
+
this.history.push(c => c.remove(cls));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @returns Returns true if the value was changed
|
|
32
|
+
*/
|
|
33
|
+
setVariant(variant, cls) {
|
|
34
|
+
const { remove, add } = this.z_variants.set(variant, cls);
|
|
35
|
+
if (remove)
|
|
36
|
+
this.delete(remove);
|
|
37
|
+
if (add)
|
|
38
|
+
this.add(add);
|
|
39
|
+
const changed = !!remove || !!add;
|
|
40
|
+
if (this.history)
|
|
41
|
+
this.history.push(c => c.setVariant(variant, cls));
|
|
42
|
+
return changed;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Fails if no history is active.
|
|
46
|
+
*/
|
|
47
|
+
applyHistory(cl) {
|
|
48
|
+
this.history.forEach(fn => fn(cl));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export class Variants {
|
|
52
|
+
// list of active variant classes
|
|
53
|
+
inner;
|
|
54
|
+
constructor(entries) {
|
|
55
|
+
this.inner = new Map(entries);
|
|
56
|
+
}
|
|
57
|
+
set(variant, cls) {
|
|
58
|
+
const current = this.inner.get(variant) ?? null;
|
|
59
|
+
if (current === cls)
|
|
60
|
+
return {};
|
|
61
|
+
const obj = {};
|
|
62
|
+
if (current)
|
|
63
|
+
obj.remove = current;
|
|
64
|
+
if (cls) {
|
|
65
|
+
obj.add = cls;
|
|
66
|
+
this.inner.set(variant, cls);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.inner.delete(variant);
|
|
70
|
+
}
|
|
71
|
+
return obj;
|
|
72
|
+
}
|
|
73
|
+
entries() {
|
|
74
|
+
return this.inner.entries();
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// separate function for tree shaking
|
|
78
|
+
export function ssrCacheToVariants(ssrCache) {
|
|
79
|
+
return new Variants(ssrCache.get('BODY_CLASS_VAR'));
|
|
80
|
+
}
|
|
81
|
+
// separate function for tree shaking
|
|
82
|
+
export function variantsToSsrCache(variants, ssrCache) {
|
|
83
|
+
ssrCache.set('BODY_CLASS_VAR', Array.from(variants.entries()));
|
|
84
|
+
}
|
package/dist/crelte.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crelte.d.ts","sourceRoot":"","sources":["../src/crelte.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"crelte.d.ts","sourceRoot":"","sources":["../src/crelte.ts"],"names":[],"mappings":"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"}
|
package/dist/crelte.js
CHANGED
|
@@ -21,6 +21,8 @@ export function newCrelte({ config, ssrCache, plugins, events, globals, router,
|
|
|
21
21
|
queries,
|
|
22
22
|
cookies,
|
|
23
23
|
bodyClass,
|
|
24
|
+
// when adding a new helper function make sure to add it to
|
|
25
|
+
// onNewCrelteRequest if needed
|
|
24
26
|
getPlugin: name => plugins.get(name),
|
|
25
27
|
getEnv: key => ssrCache.get(key),
|
|
26
28
|
frontendUrl: path => urlWithPath(ssrCache.get('FRONTEND_URL'), path),
|
package/dist/init/client.js
CHANGED
|
@@ -61,7 +61,7 @@ export async function main(data) {
|
|
|
61
61
|
router: new Router(router),
|
|
62
62
|
queries,
|
|
63
63
|
cookies: new Cookies(new ClientCookies()),
|
|
64
|
-
bodyClass: new BodyClass(
|
|
64
|
+
bodyClass: new BodyClass(ClientBodyClass.fromSsrCache(ssrCache)),
|
|
65
65
|
});
|
|
66
66
|
const app = new InternalApp(data.app);
|
|
67
67
|
// setup plugins
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/init/server.ts"],"names":[],"mappings":"AAoBA,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IAET,0CAA0C;IAC1C,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/init/server.ts"],"names":[],"mappings":"AAoBA,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,MAAM,qBAAqB,CAAC;AAK7B,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE9E,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IAET,0CAA0C;IAC1C,UAAU,EAAE,UAAU,CAAC;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC,cAAc,CAAC,CAuHlE;AAED,MAAM,MAAM,KAAK,GAAG;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,GAAG,CAAC;CACb,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAE3B,KAAK,EAAE,KAAK,CAAC;IACb,SAAS,EAAE,GAAG,CAAC;IAEf,UAAU,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAC9B,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAgC5C"}
|
package/dist/init/server.js
CHANGED
|
@@ -101,6 +101,7 @@ export async function main(data) {
|
|
|
101
101
|
props: { route: routeProp },
|
|
102
102
|
context,
|
|
103
103
|
});
|
|
104
|
+
bodyClass.z_populateSsrCache(ssrCache);
|
|
104
105
|
head += ssrComponents.toHead(data.serverData.ssrManifest);
|
|
105
106
|
head += crelte.ssrCache.z_exportToHead();
|
|
106
107
|
let htmlTemplate = data.serverData.htmlTemplate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/init/shared.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,WAA+B,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAC9E,OAAO,OAA2B,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAKpE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAExE;AAED,wBAAgB,UAAU,CACzB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,EAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAcxB;AAED,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,GACV,aAAa,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/init/shared.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,WAA+B,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,QAAQ,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAC9E,OAAO,OAA2B,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGlD,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAKpE;AAED,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAM5E;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAGzE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAExE;AAED,wBAAgB,UAAU,CACzB,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,EAC7B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,WAcxB;AAED,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,GACV,aAAa,CAiBf;AAsBD,wBAAsB,MAAM,CAC3B,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,WAAW,EAChB,QAAQ,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC,CAwHf"}
|
package/dist/init/shared.js
CHANGED
|
@@ -46,6 +46,9 @@ export function onNewCrelteRequest(crelte, req) {
|
|
|
46
46
|
cookies: crelte.cookies.z_toRequest(),
|
|
47
47
|
bodyClass: crelte.bodyClass.z_toRequest(),
|
|
48
48
|
};
|
|
49
|
+
// make sure helper funcitons link to the correct instances
|
|
50
|
+
nCrelte.getPlugin = name => nCrelte.plugins.get(name);
|
|
51
|
+
nCrelte.getGlobalStore = name => nCrelte.globals.getStore(name);
|
|
49
52
|
return crelteToRequest(nCrelte, req);
|
|
50
53
|
}
|
|
51
54
|
async function eventsLoadEntry(cr) {
|
package/dist/loadData/entry.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CrelteRequest } from '../index.js';
|
|
2
|
-
import { Query } from '../queries/Queries.js';
|
|
2
|
+
import { Query, QueryOptions } from '../queries/Queries.js';
|
|
3
3
|
export type Entry = {
|
|
4
4
|
sectionHandle: string;
|
|
5
5
|
typeHandle: string;
|
|
@@ -11,7 +11,16 @@ export type EntryQueryVars = {
|
|
|
11
11
|
[key: string]: any;
|
|
12
12
|
};
|
|
13
13
|
export declare function entryQueryVars(cr: CrelteRequest): EntryQueryVars;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* ## Example
|
|
16
|
+
* `App.svelte`
|
|
17
|
+
* ```ts
|
|
18
|
+
* import entryQuery from '@/queries/entry.graphql';
|
|
19
|
+
*
|
|
20
|
+
* export const loadEntry => cr => queryEntry(cr, entryQuery, entryQueryVars(cr));
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function queryEntry(cr: CrelteRequest, entryQuery: Query, vars: EntryQueryVars, opts?: QueryOptions): Promise<Entry>;
|
|
15
24
|
export declare const ENTRY_ERROR_404: Entry;
|
|
16
25
|
/**
|
|
17
26
|
* Get the entry from the page
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/loadData/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/loadData/entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,KAAK,GAAG;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IAGf,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACnB,CAAC;AAEF,wBAAgB,cAAc,CAAC,EAAE,EAAE,aAAa,GAAG,cAAc,CAchE;AAED;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC/B,EAAE,EAAE,aAAa,EACjB,UAAU,EAAE,KAAK,EACjB,IAAI,EAAE,cAAc,EACpB,IAAI,CAAC,EAAE,YAAY,GACjB,OAAO,CAAC,KAAK,CAAC,CAGhB;AAED,eAAO,MAAM,eAAe,EAAE,KAG7B,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,GAAG,IAAI,CAUpD"}
|
package/dist/loadData/entry.js
CHANGED
|
@@ -11,8 +11,17 @@ export function entryQueryVars(cr) {
|
|
|
11
11
|
siteId: cr.site.id,
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* ## Example
|
|
16
|
+
* `App.svelte`
|
|
17
|
+
* ```ts
|
|
18
|
+
* import entryQuery from '@/queries/entry.graphql';
|
|
19
|
+
*
|
|
20
|
+
* export const loadEntry => cr => queryEntry(cr, entryQuery, entryQueryVars(cr));
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export async function queryEntry(cr, entryQuery, vars, opts) {
|
|
24
|
+
const page = await cr.query(entryQuery, vars, opts);
|
|
16
25
|
return extractEntry(page) ?? ENTRY_ERROR_404;
|
|
17
26
|
}
|
|
18
27
|
export const ENTRY_ERROR_404 = {
|
|
@@ -41,6 +41,9 @@ export type NamedQuery = {
|
|
|
41
41
|
* Create a NamedQuery for the given server query name.
|
|
42
42
|
*
|
|
43
43
|
* Prefer importing a graphql file instead.
|
|
44
|
+
*
|
|
45
|
+
* #### Note
|
|
46
|
+
* This needs to match the name of the js/ts file.
|
|
44
47
|
*/
|
|
45
48
|
export declare function namedQuery(name: string): NamedQuery;
|
|
46
49
|
/** Returns true if the passed object is a GraphQlQuery */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queries.d.ts","sourceRoot":"","sources":["../../src/queries/Queries.ts"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAa,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C
|
|
1
|
+
{"version":3,"file":"Queries.d.ts","sourceRoot":"","sources":["../../src/queries/Queries.ts"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAa,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEnD;AAED,0DAA0D;AAC1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,KAAK,CAI9C;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,KAAK,CAAgC;IAE7C,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO;IAUP;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,QAAyB,EACnC,IAAI,GAAE,cAAmB,GACvB,OAAO;IAQV;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAQnE;;;;;;;OAOG;IACG,KAAK,CACV,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,IAAI,GAAE,YAAiB,GACrB,OAAO,CAAC,OAAO,CAAC;IA0BnB;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO;CAGxB"}
|
package/dist/queries/Queries.js
CHANGED
|
@@ -4,6 +4,9 @@ import QueryError from './QueryError.js';
|
|
|
4
4
|
* Create a NamedQuery for the given server query name.
|
|
5
5
|
*
|
|
6
6
|
* Prefer importing a graphql file instead.
|
|
7
|
+
*
|
|
8
|
+
* #### Note
|
|
9
|
+
* This needs to match the name of the js/ts file.
|
|
7
10
|
*/
|
|
8
11
|
export function namedQuery(name) {
|
|
9
12
|
return { queryName: name };
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Queries, { InlineQuery, isQuery, namedQuery, NamedQuery, QueriesOptions, Query, QueryOptions } from '../queries/Queries.js';
|
|
2
2
|
import type CrelteServerRequest from '../server/CrelteServer.js';
|
|
3
|
+
import ServerRouter from '../server/ServerRouter.js';
|
|
3
4
|
import { gql } from './gql.js';
|
|
4
5
|
import QueryError, { QueryErrorResponse } from './QueryError.js';
|
|
5
6
|
import { QueryVar, ValidIf, vars, varsIdsEqual } from './vars.js';
|
|
@@ -10,6 +11,26 @@ export type InferQueryVarType<T> = T extends QueryVar<infer U> ? U : never;
|
|
|
10
11
|
export type InferVariableTypes<T> = {
|
|
11
12
|
[K in keyof T]: InferQueryVarType<T[K]>;
|
|
12
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Defines wether the query variables are valid.
|
|
16
|
+
*
|
|
17
|
+
* Either throw or return a boolean.
|
|
18
|
+
*
|
|
19
|
+
* #### Example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { vars, ValidVars } from 'crelte/queries';
|
|
22
|
+
*
|
|
23
|
+
* export const variables = {
|
|
24
|
+
* siteId: vars.siteId(),
|
|
25
|
+
* category: vars.id()
|
|
26
|
+
* };
|
|
27
|
+
*
|
|
28
|
+
* export const validVars: ValidVars<typeof variables> = (vars, sr) => {
|
|
29
|
+
* if (!vars.category === 5) throw new Error('category needs to be 5');
|
|
30
|
+
* };
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
export type ValidVars<T extends Record<string, QueryVar<any>>> = (vars: InferVariableTypes<T>, sr: ServerRouter) => void | boolean;
|
|
13
34
|
/**
|
|
14
35
|
* Defines when a query can safely be cached.
|
|
15
36
|
*
|
|
@@ -41,7 +62,7 @@ export type TransformFn<T extends Record<string, QueryVar<any>> = Record<string,
|
|
|
41
62
|
* };
|
|
42
63
|
* ```
|
|
43
64
|
*/
|
|
44
|
-
export type Transform<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>, F extends TransformFn<T> = TransformFn<T>> = (response: any, vars: InferVariableTypes<T
|
|
65
|
+
export type Transform<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>, F extends TransformFn<T> = TransformFn<T>> = (response: any, vars: InferVariableTypes<T>, csr: CrelteServerRequest) => Awaited<ReturnType<F>>;
|
|
45
66
|
/** use {@link Handle} */
|
|
46
67
|
export type HandleFn<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>> = (csr: CrelteServerRequest, vars: InferVariableTypes<T>) => any;
|
|
47
68
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EACf,WAAW,EACX,OAAO,EACP,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,EACL,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,mBAAmB,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,UAAU,EAAE,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EACN,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,KAAK,EACV,KAAK,WAAW,IAAI,QAAQ,EAC5B,KAAK,UAAU,EACf,UAAU,EACV,OAAO,EACP,UAAU,EACV,KAAK,kBAAkB,EACvB,GAAG,EACH,IAAI,EACJ,KAAK,OAAO,EACZ,QAAQ,EACR,YAAY,GACZ,CAAC;AAEF,cAAc;AACd,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE3E,cAAc;AACd,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,OAAO,CAClB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IACpE,OAAO,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;AAExE,4BAA4B;AAC5B,MAAM,MAAM,WAAW,CACtB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,IACpE,CACH,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,kBAAkB,CAAC,CAAC,CAAC,KACvB,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,SAAS,CACpB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,EACvE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IACtC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"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"}
|