crelte 0.5.11 → 0.5.13
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 +56 -0
- package/dist/bodyClass/BodyClass.d.ts.map +1 -0
- package/dist/bodyClass/BodyClass.js +70 -0
- package/dist/bodyClass/ClientBodyClass.d.ts +17 -0
- package/dist/bodyClass/ClientBodyClass.d.ts.map +1 -0
- package/dist/bodyClass/ClientBodyClass.js +71 -0
- package/dist/bodyClass/ServerBodyClass.d.ts +18 -0
- package/dist/bodyClass/ServerBodyClass.d.ts.map +1 -0
- package/dist/bodyClass/ServerBodyClass.js +61 -0
- package/dist/bodyClass/index.d.ts +2 -0
- package/dist/bodyClass/index.d.ts.map +1 -0
- package/dist/bodyClass/index.js +1 -0
- 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/cookies/ClientCookies.d.ts +8 -3
- package/dist/cookies/ClientCookies.d.ts.map +1 -1
- package/dist/cookies/ClientCookies.js +31 -7
- package/dist/cookies/Cookies.d.ts +42 -0
- package/dist/cookies/Cookies.d.ts.map +1 -0
- package/dist/cookies/Cookies.js +44 -0
- package/dist/cookies/ServerCookies.d.ts +3 -2
- package/dist/cookies/ServerCookies.d.ts.map +1 -1
- package/dist/cookies/ServerCookies.js +6 -4
- package/dist/cookies/index.d.ts +1 -25
- package/dist/cookies/index.d.ts.map +1 -1
- package/dist/cookies/index.js +1 -1
- package/dist/crelte.d.ts +7 -1
- package/dist/crelte.d.ts.map +1 -1
- package/dist/crelte.js +4 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/init/client.d.ts.map +1 -1
- package/dist/init/client.js +23 -14
- package/dist/init/server.d.ts.map +1 -1
- package/dist/init/server.js +12 -3
- package/dist/init/shared.d.ts +1 -0
- package/dist/init/shared.d.ts.map +1 -1
- package/dist/init/shared.js +19 -5
- package/dist/loadData/Globals.d.ts.map +1 -1
- 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/node/index.js +1 -1
- package/dist/plugins/Events.d.ts +6 -1
- package/dist/plugins/Events.d.ts.map +1 -1
- package/dist/plugins/Plugins.d.ts +36 -1
- package/dist/plugins/Plugins.d.ts.map +1 -1
- package/dist/plugins/Plugins.js +32 -0
- package/dist/queries/index.d.ts +1 -1
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/routing/route/Request.d.ts +1 -1
- package/dist/routing/route/Request.d.ts.map +1 -1
- package/dist/routing/route/Request.js +7 -3
- package/dist/routing/router/ClientRouter.d.ts.map +1 -1
- package/dist/routing/router/ClientRouter.js +18 -11
- package/dist/routing/router/Router.d.ts.map +1 -1
- package/dist/routing/router/Router.js +8 -12
- package/dist/server/CrelteServer.d.ts +1 -0
- package/dist/server/CrelteServer.d.ts.map +1 -1
- package/dist/server/CrelteServer.js +5 -2
- package/dist/server/queries/QueryGqlRoute.d.ts.map +1 -1
- package/dist/server/queries/QueryGqlRoute.js +3 -3
- package/dist/server/queries/routes.d.ts +1 -1
- package/dist/server/queries/routes.d.ts.map +1 -1
- package/dist/std/stores/StagedWritable.d.ts +48 -0
- package/dist/std/stores/StagedWritable.d.ts.map +1 -0
- package/dist/std/stores/StagedWritable.js +84 -0
- package/dist/std/stores/index.d.ts +2 -1
- package/dist/std/stores/index.d.ts.map +1 -1
- package/dist/std/stores/index.js +2 -1
- package/dist/std/sync/Barrier.js +1 -1
- package/dist/utils.d.ts +9 -0
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +11 -0
- package/package.json +5 -1
- package/src/blocks/Blocks.ts +1 -1
- package/src/bodyClass/BodyClass.ts +94 -0
- package/src/bodyClass/ClientBodyClass.ts +79 -0
- package/src/bodyClass/ServerBodyClass.ts +86 -0
- package/src/bodyClass/index.ts +1 -0
- package/src/bodyClass/utils.ts +118 -0
- package/src/cookies/ClientCookies.ts +41 -10
- package/src/cookies/Cookies.ts +70 -0
- package/src/cookies/ServerCookies.ts +9 -6
- package/src/cookies/index.ts +5 -29
- package/src/crelte.ts +12 -0
- package/src/index.ts +15 -1
- package/src/init/client.ts +26 -14
- package/src/init/server.ts +12 -3
- package/src/init/shared.ts +21 -6
- package/src/loadData/Globals.ts +1 -1
- package/src/loadData/entry.ts +12 -2
- package/src/node/index.ts +1 -1
- package/src/plugins/Events.ts +12 -1
- package/src/plugins/Plugins.ts +66 -1
- package/src/queries/index.ts +5 -1
- package/src/routing/route/Request.ts +11 -4
- package/src/routing/router/ClientRouter.ts +23 -14
- package/src/routing/router/Router.ts +8 -10
- package/src/server/CrelteServer.ts +4 -2
- package/src/server/queries/QueryGqlRoute.ts +3 -2
- package/src/server/queries/routes.ts +1 -0
- package/src/std/stores/StagedWritable.ts +96 -0
- package/src/std/stores/index.ts +2 -1
- package/src/std/sync/Barrier.ts +1 -1
- package/src/utils.ts +15 -0
|
@@ -1,9 +1,28 @@
|
|
|
1
|
-
import { Crelte } from '../crelte.js';
|
|
1
|
+
import { Crelte, CrelteRequest } from '../crelte.js';
|
|
2
|
+
import { Request, Route } from '../routing/index.js';
|
|
2
3
|
/**
|
|
3
4
|
* A plugin
|
|
4
5
|
*/
|
|
5
6
|
export interface Plugin {
|
|
6
7
|
name: string;
|
|
8
|
+
/**
|
|
9
|
+
* The returned value will be used inside of CrelteRequest
|
|
10
|
+
*/
|
|
11
|
+
toRequest?: (req: Request) => Plugin;
|
|
12
|
+
/**
|
|
13
|
+
* This will be called during the loadGlobalData phase.
|
|
14
|
+
*/
|
|
15
|
+
loadGlobalData?: (cr: CrelteRequest) => Promise<void> | void;
|
|
16
|
+
/**
|
|
17
|
+
* This will be called during the loadData phase.
|
|
18
|
+
*/
|
|
19
|
+
loadData?: (cr: CrelteRequest) => Promise<void> | void;
|
|
20
|
+
/**
|
|
21
|
+
* This will be called before the dom gets updated.
|
|
22
|
+
*
|
|
23
|
+
* At this point you can update variables or stores.
|
|
24
|
+
*/
|
|
25
|
+
render?: (cr: CrelteRequest, route: Route) => void;
|
|
7
26
|
}
|
|
8
27
|
/**
|
|
9
28
|
* A plugin create function
|
|
@@ -34,5 +53,21 @@ export default class Plugins {
|
|
|
34
53
|
*/
|
|
35
54
|
add(plugin: Plugin): void;
|
|
36
55
|
get(name: string): Plugin | null;
|
|
56
|
+
/**
|
|
57
|
+
* @hidden
|
|
58
|
+
*/
|
|
59
|
+
z_toRequest(req: Request): Plugins;
|
|
60
|
+
/**
|
|
61
|
+
* @hidden
|
|
62
|
+
*/
|
|
63
|
+
z_loadGlobalData(cr: CrelteRequest): (Promise<void> | void | undefined)[];
|
|
64
|
+
/**
|
|
65
|
+
* @hidden
|
|
66
|
+
*/
|
|
67
|
+
z_loadData(cr: CrelteRequest): (Promise<void> | void | undefined)[];
|
|
68
|
+
/**
|
|
69
|
+
* @hidden
|
|
70
|
+
*/
|
|
71
|
+
z_render(cr: CrelteRequest, route: Route): void;
|
|
37
72
|
}
|
|
38
73
|
//# sourceMappingURL=Plugins.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Plugins.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Plugins.d.ts","sourceRoot":"","sources":["../../src/plugins/Plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,MAAM;IACtB,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAC;IAErC;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE7D;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnD;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;AAEvD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;;IAM7B;;;;OAIG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM;IAIlB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAalC;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAMzE;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,aAAa,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,CAAC,EAAE;IAMnE;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAK/C"}
|
package/dist/plugins/Plugins.js
CHANGED
|
@@ -17,4 +17,36 @@ export default class Plugins {
|
|
|
17
17
|
get(name) {
|
|
18
18
|
return this.plugins.get(name) ?? null;
|
|
19
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* @hidden
|
|
22
|
+
*/
|
|
23
|
+
z_toRequest(req) {
|
|
24
|
+
const nPlugins = new Plugins();
|
|
25
|
+
for (let plugin of this.plugins.values()) {
|
|
26
|
+
if (typeof plugin.toRequest === 'function')
|
|
27
|
+
plugin = plugin.toRequest(req);
|
|
28
|
+
nPlugins.add(plugin);
|
|
29
|
+
}
|
|
30
|
+
return nPlugins;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @hidden
|
|
34
|
+
*/
|
|
35
|
+
z_loadGlobalData(cr) {
|
|
36
|
+
return Array.from(this.plugins.values()).map(plugin => plugin.loadGlobalData?.(cr));
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
41
|
+
z_loadData(cr) {
|
|
42
|
+
return Array.from(this.plugins.values()).map(plugin => plugin.loadData?.(cr));
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
z_render(cr, route) {
|
|
48
|
+
for (const plugin of this.plugins.values()) {
|
|
49
|
+
plugin.render?.(cr, route);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
20
52
|
}
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export type TransformFn<T extends Record<string, QueryVar<any>> = Record<string,
|
|
|
41
41
|
* };
|
|
42
42
|
* ```
|
|
43
43
|
*/
|
|
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
|
|
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>, csr: CrelteServerRequest) => Awaited<ReturnType<F>>;
|
|
45
45
|
/** use {@link Handle} */
|
|
46
46
|
export type HandleFn<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>> = (csr: CrelteServerRequest, vars: InferVariableTypes<T>) => any;
|
|
47
47
|
/**
|
|
@@ -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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/routing/route/Request.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,SAAS;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,cAAc;IACd,eAAe,EAAE,aAAa,CAAC;IAE/B,OAAO,CAAC,UAAU,CAAU;IAE5B;;OAEG;gBACS,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,cAAmB;IAapE;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,cAAmB;IAWxD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,MAAM;IAKN;;;;;;OAMG;IACH,KAAK;IAsBL;;;;;;OAMG;IACH,OAAO;IA8BP,cAAc;IACd,YAAY,CAAC,IAAI,GAAE,cAAmB;CAmBtC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED,cAAM,aAAa;IAClB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;;IAQlB,MAAM,IAAI,OAAO;IAIjB,GAAG,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../../src/routing/route/Request.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,YAAY,CAAC;AAE9B,OAAO,SAAS,EAAE,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAGlD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,SAAS;IAC7C;;OAEG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAEhC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,eAAe,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,cAAc;IACd,eAAe,EAAE,aAAa,CAAC;IAE/B,OAAO,CAAC,UAAU,CAAU;IAE5B;;OAEG;gBACS,GAAG,EAAE,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAE,cAAmB;IAapE;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,GAAE,cAAmB;IAWxD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,MAAM;IAKN;;;;;;OAMG;IACH,KAAK;IAsBL;;;;;;OAMG;IACH,OAAO;IA8BP,cAAc;IACd,YAAY,CAAC,IAAI,GAAE,cAAmB;CAmBtC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAElD;AAED,cAAM,aAAa;IAClB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,WAAW,CAAC;;IAQlB,MAAM,IAAI,OAAO;IAIjB,GAAG,IAAI,WAAW;IAqBlB,cAAc;IACd,MAAM;IAWN,cAAc;IACd,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO;CAGnC;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACzB;;;;;OAKG;IACH,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;IAExC;;OAEG;IACH,MAAM,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { objClone } from '../../utils.js';
|
|
1
|
+
import { objClone, promiseThen } from '../../utils.js';
|
|
2
2
|
import BaseRoute from './BaseRoute.js';
|
|
3
3
|
import Route from './Route.js';
|
|
4
4
|
import { Barrier } from '../../std/sync/index.js';
|
|
@@ -193,9 +193,13 @@ class RenderBarrier {
|
|
|
193
193
|
add() {
|
|
194
194
|
const action = this.inner.add();
|
|
195
195
|
return {
|
|
196
|
-
ready:
|
|
196
|
+
ready: () => {
|
|
197
197
|
if (!this.inner.isOpen())
|
|
198
|
-
|
|
198
|
+
return promiseThen(
|
|
199
|
+
// wait for action.ready
|
|
200
|
+
action.ready(null),
|
|
201
|
+
// then return if it was cancelled
|
|
202
|
+
() => this.cancelled);
|
|
199
203
|
return this.cancelled;
|
|
200
204
|
},
|
|
201
205
|
remove: () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/router/ClientRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,MAAM,mBAAmB,GAAG;IACjC,kBAAkB,EAAE,OAAO,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IACnD,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAU;IAEpC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;gBAE5B,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB;IAQ/D;;OAEG;IACG,IAAI;IA8BV;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA6ChD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB;IAYpD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB;
|
|
1
|
+
{"version":3,"file":"ClientRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/router/ClientRouter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,MAAM,MAAM,mBAAmB,GAAG;IACjC,kBAAkB,EAAE,OAAO,CAAC;CAC5B,GAAG,iBAAiB,CAAC;AAEtB,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,UAAU;IACnD,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,kBAAkB,CAAU;IAEpC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;gBAE5B,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,mBAAmB;IAQ/D;;OAEG;IACG,IAAI;IA8BV;;OAEG;IACG,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IA6ChD,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB;IAYpD,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAE,cAAmB;IAY7D,IAAI,IAAI,IAAI;IAIZ;;;OAGG;IACG,qBAAqB,CAC1B,GAAG,EAAE,OAAO,EACZ,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GACnC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IASxB,MAAM;IAkEN,QAAQ;IAgCR,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI;CA8DpD"}
|
|
@@ -75,21 +75,15 @@ export default class ClientRouter extends BaseRouter {
|
|
|
75
75
|
}
|
|
76
76
|
async pushRequest(req, _opts = {}) {
|
|
77
77
|
const url = req.url;
|
|
78
|
-
return
|
|
78
|
+
return this.handleRequest(req, route => {
|
|
79
79
|
window.history.pushState(route.z_toState(), '', url.pathname + url.search + url.hash);
|
|
80
80
|
});
|
|
81
81
|
}
|
|
82
82
|
async replaceRequest(req, _opts = {}) {
|
|
83
83
|
const url = req.url;
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
catch (e) {
|
|
90
|
-
console.warn('replacing route failed', e);
|
|
91
|
-
throw e;
|
|
92
|
-
}
|
|
84
|
+
return this.handleRequest(req, () => {
|
|
85
|
+
window.history.replaceState(req.z_toState(), '', url.pathname + url.search + url.hash);
|
|
86
|
+
});
|
|
93
87
|
}
|
|
94
88
|
back() {
|
|
95
89
|
window.history.back();
|
|
@@ -117,6 +111,7 @@ export default class ClientRouter extends BaseRouter {
|
|
|
117
111
|
const req = this.targetToRequest(link.href, {
|
|
118
112
|
origin: 'click',
|
|
119
113
|
context: { ...link.dataset },
|
|
114
|
+
disableScroll: attributeToBool(link, 'data-disable-scroll'),
|
|
120
115
|
});
|
|
121
116
|
const currRoute = this.route.get();
|
|
122
117
|
const routeEq = currRoute && currRoute.eqUrl(req) && currRoute.eqSearch(req);
|
|
@@ -137,7 +132,9 @@ export default class ClientRouter extends BaseRouter {
|
|
|
137
132
|
if (link && link.target.toLowerCase() === '_blank')
|
|
138
133
|
return;
|
|
139
134
|
if (link &&
|
|
140
|
-
|
|
135
|
+
// todo remove data-no-preload
|
|
136
|
+
!attributeToBool(link, 'data-no-preload') &&
|
|
137
|
+
!attributeToBool(link, 'data-disable-preload') &&
|
|
141
138
|
link.href) {
|
|
142
139
|
this.preload(link.href);
|
|
143
140
|
}
|
|
@@ -235,3 +232,13 @@ export default class ClientRouter extends BaseRouter {
|
|
|
235
232
|
}
|
|
236
233
|
}
|
|
237
234
|
}
|
|
235
|
+
function attributeToBool(el, attr) {
|
|
236
|
+
switch (el.getAttribute(attr)) {
|
|
237
|
+
case '':
|
|
238
|
+
case 'true':
|
|
239
|
+
return true;
|
|
240
|
+
case 'false':
|
|
241
|
+
default:
|
|
242
|
+
return false;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/routing/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,KAAK,EAAE,GAAG;IAKtB;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAElC;IAED;;;;;;;;;;OAUG;IACH,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAEhC;IAED;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAElC;IAED;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,OAAO,GAAG,IAAI,CAMxB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAE/B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEtC;IAED;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;;OAIG;IACH,aAAa,IAAI,IAAI,GAAG,IAAI;IAI5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CACT,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,EACtD,IAAI,GAAE,cAAmB,GACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAsBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,IAAI,CACT,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,EACtC,IAAI,GAAE,cAAmB;
|
|
1
|
+
{"version":3,"file":"Router.d.ts","sourceRoot":"","sources":["../../../src/routing/router/Router.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAEhD;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAC;AAEhF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,QAAQ,CAAiB;gBAErB,KAAK,EAAE,GAAG;IAKtB;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAElC;IAED;;;;;;;;;;OAUG;IACH,IAAI,IAAI,IAAI,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAEhC;IAED;;;;;;;;OAQG;IACH,IAAI,KAAK,IAAI,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAElC;IAED;;;;;;;;OAQG;IACH,IAAI,GAAG,IAAI,OAAO,GAAG,IAAI,CAMxB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED;;;;OAIG;IACH,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,CAE/B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,CAEtC;IAED;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;;OAIG;IACH,aAAa,IAAI,IAAI,GAAG,IAAI;IAI5B;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CACT,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,GAAG,aAAa,EACtD,IAAI,GAAE,cAAmB,GACvB,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAsBxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACG,IAAI,CACT,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,EACtC,IAAI,GAAE,cAAmB;IAmB1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAMhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,OAAO,CACZ,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,EACtC,IAAI,GAAE,cAAmB;IAiB1B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAMnC;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAKpB;;;;OAIG;IACH,IAAI;IAKJ;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK;IAIpC;;;;;;;;OAQG;IACH,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,MAAM,IAAI;IAI/C;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,aAAa,KAAK,IAAI,GAAG,MAAM,IAAI;IAIvD;;;;;;OAMG;IACH,eAAe,CACd,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,EACtC,IAAI,GAAE,cAAmB,GACvB,OAAO;IAIV;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO;IAMxB,cAAc;IACd,kBAAkB;CAGlB"}
|
|
@@ -187,19 +187,17 @@ export default class Router {
|
|
|
187
187
|
});
|
|
188
188
|
if (!req)
|
|
189
189
|
return;
|
|
190
|
-
|
|
191
|
-
return await this.inner.pushRequest(req, opts);
|
|
192
|
-
}
|
|
193
|
-
catch (e) {
|
|
190
|
+
return this.inner.pushRequest(req, opts).catch(e => {
|
|
194
191
|
console.warn('pushing route failed', e);
|
|
195
192
|
throw e;
|
|
196
|
-
}
|
|
193
|
+
});
|
|
197
194
|
}
|
|
198
195
|
/**
|
|
199
196
|
* @deprecated use push instead
|
|
200
197
|
*/
|
|
201
198
|
pushState(route) {
|
|
202
|
-
|
|
199
|
+
if (import.meta.env.DEV)
|
|
200
|
+
console.warn('pushState is deprecated, use push instead');
|
|
203
201
|
this.push(route);
|
|
204
202
|
}
|
|
205
203
|
/**
|
|
@@ -244,19 +242,17 @@ export default class Router {
|
|
|
244
242
|
});
|
|
245
243
|
if (!req)
|
|
246
244
|
return;
|
|
247
|
-
|
|
248
|
-
return await this.inner.replaceRequest(req, opts);
|
|
249
|
-
}
|
|
250
|
-
catch (e) {
|
|
245
|
+
return this.inner.replaceRequest(req, opts).catch(e => {
|
|
251
246
|
console.warn('replacing route failed', e);
|
|
252
247
|
throw e;
|
|
253
|
-
}
|
|
248
|
+
});
|
|
254
249
|
}
|
|
255
250
|
/**
|
|
256
251
|
* @deprecated use replace instead
|
|
257
252
|
*/
|
|
258
253
|
replaceState(route) {
|
|
259
|
-
|
|
254
|
+
if (import.meta.env.DEV)
|
|
255
|
+
console.warn('replaceState is deprecated, use replace instead');
|
|
260
256
|
this.replace(route);
|
|
261
257
|
}
|
|
262
258
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrelteServer.d.ts","sourceRoot":"","sources":["../../src/server/CrelteServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAW,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAAG;IACxC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACvC;;OAEG;IACH,GAAG,EAAE,aAAa,CAAC;IAEnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,QAAQ,CAAU;gBAEd,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,0BAA0B;
|
|
1
|
+
{"version":3,"file":"CrelteServer.d.ts","sourceRoot":"","sources":["../../src/server/CrelteServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAW,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,aAAa,MAAM,cAAc,CAAC;AAEzC,MAAM,MAAM,0BAA0B,GAAG;IACxC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,mBAAmB;IACvC;;OAEG;IACH,GAAG,EAAE,aAAa,CAAC;IAEnB,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,SAAS,CAAgB;IACjC,OAAO,CAAC,QAAQ,CAAU;gBAEd,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,0BAA0B;IAehE;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,IAAI,CAEf;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,IAAI,EAAE,CAElB;IAED;;OAEG;IACH,IAAI,kBAAkB,IAAI,MAAM,EAAE,CAEjC;IAED;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IACpC,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM;IACrC,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IACpC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKnC;;;;;OAKG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;IAI/B;;;;;OAKG;IACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG;IAI9B;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;;;OAIG;IACH,aAAa,IAAI,IAAI,GAAG,IAAI;IAI5B;;;;;;;OAOG;IACG,KAAK,CACV,KAAK,EAAE,KAAK,EACZ,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,IAAI,GAAE,YAAiB,GACrB,OAAO,CAAC,OAAO,CAAC;IAInB,cAAc;IACd,gBAAgB,CAAC,IAAI,EAAE,QAAQ;CAG/B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Cookies } from '../cookies/index.js';
|
|
1
2
|
import ServerCookies from '../cookies/ServerCookies.js';
|
|
2
3
|
import { Request } from '../routing/index.js';
|
|
3
4
|
import { urlWithPath } from '../utils.js';
|
|
@@ -11,6 +12,7 @@ export default class CrelteServerRequest {
|
|
|
11
12
|
_sites;
|
|
12
13
|
_langs;
|
|
13
14
|
_queries;
|
|
15
|
+
_scookies;
|
|
14
16
|
_cookies;
|
|
15
17
|
constructor(req, opts) {
|
|
16
18
|
this.req = req;
|
|
@@ -19,7 +21,8 @@ export default class CrelteServerRequest {
|
|
|
19
21
|
this._langs = opts.languages;
|
|
20
22
|
this.prefSite = opts.preferredSite;
|
|
21
23
|
this._queries = opts.queries.z_toRequest(new Request(new URL(req.url), req.site));
|
|
22
|
-
this.
|
|
24
|
+
this._scookies = new ServerCookies(req.headers);
|
|
25
|
+
this._cookies = new Cookies(this._scookies);
|
|
23
26
|
}
|
|
24
27
|
/**
|
|
25
28
|
* Easy access to this.req.site
|
|
@@ -104,6 +107,6 @@ export default class CrelteServerRequest {
|
|
|
104
107
|
}
|
|
105
108
|
/** @hidden */
|
|
106
109
|
z_finishResponse(resp) {
|
|
107
|
-
this.
|
|
110
|
+
this._scookies._populateHeaders(resp.headers);
|
|
108
111
|
}
|
|
109
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryGqlRoute.d.ts","sourceRoot":"","sources":["../../../src/server/queries/QueryGqlRoute.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAQ,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAY,WAAW,EAAgB,MAAM,aAAa,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;gBAEpB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IA2B3D,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YAuBX,SAAS;
|
|
1
|
+
{"version":3,"file":"QueryGqlRoute.d.ts","sourceRoot":"","sources":["../../../src/server/queries/QueryGqlRoute.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAQ,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAE,SAAS,EAAY,WAAW,EAAgB,MAAM,aAAa,CAAC;AAE7E,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;CAChC,CAAC;AAGF,MAAM,CAAC,OAAO,OAAO,aAAa;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IACtC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;gBAEpB,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY;IA2B3D,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,kBAAkB;IAO1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;YAuBX,SAAS;IAWjB,MAAM,CACX,OAAO,EAAE,cAAc,EACvB,GAAG,EAAE,mBAAmB,GACtB,OAAO,CAAC,QAAQ,CAAC;CAkHpB"}
|
|
@@ -76,10 +76,10 @@ export default class QueryGqlRoute {
|
|
|
76
76
|
' https://github.com/crelte/crelte/issues/114 for infos');
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
|
-
async transform(jsonResp, vars) {
|
|
79
|
+
async transform(jsonResp, vars, csr) {
|
|
80
80
|
if (!this.transformFn || !jsonResp.data)
|
|
81
81
|
return;
|
|
82
|
-
const transformed = await this.transformFn(jsonResp.data, vars);
|
|
82
|
+
const transformed = await this.transformFn(jsonResp.data, vars, csr);
|
|
83
83
|
if (typeof transformed !== 'undefined')
|
|
84
84
|
jsonResp.data = transformed;
|
|
85
85
|
}
|
|
@@ -164,7 +164,7 @@ export default class QueryGqlRoute {
|
|
|
164
164
|
jsonResp = await resp.json();
|
|
165
165
|
if (!jsonResp || typeof jsonResp !== 'object')
|
|
166
166
|
throw new Error('invalid json response');
|
|
167
|
-
await this.transform(jsonResp, vars);
|
|
167
|
+
await this.transform(jsonResp, vars, csr);
|
|
168
168
|
}
|
|
169
169
|
catch (e) {
|
|
170
170
|
return newError(e, 500);
|
|
@@ -2,7 +2,7 @@ import { QueryVar } from '../../queries/vars.js';
|
|
|
2
2
|
import CrelteServerRequest from '../CrelteServer.js';
|
|
3
3
|
import ServerRouter from '../ServerRouter.js';
|
|
4
4
|
export type CacheIfFn = (response: any, vars: Record<string, any>) => boolean;
|
|
5
|
-
export type TransformFn = (response: any, vars: Record<string, any
|
|
5
|
+
export type TransformFn = (response: any, vars: Record<string, any>, csr: CrelteServerRequest) => void | any | Promise<void | any>;
|
|
6
6
|
export type HandleFn = (csr: CrelteServerRequest, vars: Record<string, any>) => Promise<any> | any;
|
|
7
7
|
/**
|
|
8
8
|
* Returns the validated variables if some vars where defined
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/server/queries/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;AAM9E,MAAM,MAAM,WAAW,GAAG,CACzB,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../../../src/server/queries/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,mBAAmB,MAAM,oBAAoB,CAAC;AACrD,OAAO,YAAY,MAAM,oBAAoB,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;AAM9E,MAAM,MAAM,WAAW,GAAG,CACzB,QAAQ,EAAE,GAAG,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACzB,GAAG,EAAE,mBAAmB,KACpB,IAAI,GAAG,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAEtC,MAAM,MAAM,QAAQ,GAAG,CACtB,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KACrB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAExB;;;GAGG;AACH,wBAAgB,YAAY,CAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,EACtC,IAAI,EAAE,GAAG,EACT,EAAE,EAAE,YAAY,GACd,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAarB;AAED,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEzD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { CloneableOrPrimitive } from '../index.js';
|
|
2
|
+
import { Readable } from './index.js';
|
|
3
|
+
export default class StagedWritable<T> {
|
|
4
|
+
private inner;
|
|
5
|
+
private mode;
|
|
6
|
+
private staged;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new StagedWritable
|
|
9
|
+
*
|
|
10
|
+
* @param def A default value
|
|
11
|
+
*/
|
|
12
|
+
constructor(def: T);
|
|
13
|
+
/**
|
|
14
|
+
* Returns true if the store is currently staged
|
|
15
|
+
*/
|
|
16
|
+
isStaged(): boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Returns a new StagedWritable which is staged and has the same value as the current one
|
|
19
|
+
* To commit the staged value, call `commit` on the returned StagedWritable
|
|
20
|
+
*/
|
|
21
|
+
stage(): StagedWritable<T>;
|
|
22
|
+
/**
|
|
23
|
+
* The function get's called once with the current value and then when the
|
|
24
|
+
* values changes
|
|
25
|
+
*
|
|
26
|
+
* #### Note
|
|
27
|
+
* This does not check for equality like svelte.
|
|
28
|
+
*
|
|
29
|
+
* @return a function which should be called to unsubscribe
|
|
30
|
+
*/
|
|
31
|
+
subscribe(fn: (val: T) => void, invalidate?: () => void): () => void;
|
|
32
|
+
/**
|
|
33
|
+
* Either updates the store and calls all subscribers with the value or
|
|
34
|
+
* updates the stateful value if previously toStateful was called
|
|
35
|
+
*/
|
|
36
|
+
set(inner: T): void;
|
|
37
|
+
/**
|
|
38
|
+
* If the value was staged, then update the store and call all subscribers with the value
|
|
39
|
+
*/
|
|
40
|
+
commit(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Get the current value either staged or not
|
|
43
|
+
*/
|
|
44
|
+
get(): T;
|
|
45
|
+
readonly(): Readable<T>;
|
|
46
|
+
readclone<U extends T & CloneableOrPrimitive>(this: StagedWritable<U>): Readable<U>;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=StagedWritable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StagedWritable.d.ts","sourceRoot":"","sources":["../../../src/std/stores/StagedWritable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,MAAM,CAAC,OAAO,OAAO,cAAc,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAc;IAE3B,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;;;OAIG;gBACS,GAAG,EAAE,CAAC;IAMlB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;OAGG;IACH,KAAK,IAAI,cAAc,CAAC,CAAC,CAAC;IAQ1B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIpE;;;OAGG;IACH,GAAG,CAAC,KAAK,EAAE,CAAC;IASZ;;OAEG;IACH,MAAM;IASN;;OAEG;IACH,GAAG,IAAI,CAAC;IAKR,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC;IAIvB,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,oBAAoB,EAC3C,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GACrB,QAAQ,CAAC,CAAC,CAAC;CAGd"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import Writable from './Writable.js';
|
|
2
|
+
export default class StagedWritable {
|
|
3
|
+
inner;
|
|
4
|
+
// -1 = not staged, 0 = staged but no new value, 1 = staged
|
|
5
|
+
mode;
|
|
6
|
+
staged;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a new StagedWritable
|
|
9
|
+
*
|
|
10
|
+
* @param def A default value
|
|
11
|
+
*/
|
|
12
|
+
constructor(def) {
|
|
13
|
+
this.inner = new Writable(def);
|
|
14
|
+
this.mode = -1;
|
|
15
|
+
this.staged = undefined;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Returns true if the store is currently staged
|
|
19
|
+
*/
|
|
20
|
+
isStaged() {
|
|
21
|
+
return this.mode >= 0;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Returns a new StagedWritable which is staged and has the same value as the current one
|
|
25
|
+
* To commit the staged value, call `commit` on the returned StagedWritable
|
|
26
|
+
*/
|
|
27
|
+
stage() {
|
|
28
|
+
const n = Object.create(this);
|
|
29
|
+
n.inner = this.inner;
|
|
30
|
+
n.mode = 0;
|
|
31
|
+
n.staged = undefined;
|
|
32
|
+
return n;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* The function get's called once with the current value and then when the
|
|
36
|
+
* values changes
|
|
37
|
+
*
|
|
38
|
+
* #### Note
|
|
39
|
+
* This does not check for equality like svelte.
|
|
40
|
+
*
|
|
41
|
+
* @return a function which should be called to unsubscribe
|
|
42
|
+
*/
|
|
43
|
+
subscribe(fn, invalidate) {
|
|
44
|
+
return this.inner.subscribe(fn, invalidate);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Either updates the store and calls all subscribers with the value or
|
|
48
|
+
* updates the stateful value if previously toStateful was called
|
|
49
|
+
*/
|
|
50
|
+
set(inner) {
|
|
51
|
+
if (this.mode >= 0) {
|
|
52
|
+
this.mode = 1;
|
|
53
|
+
this.staged = inner;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.inner.set(inner);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* If the value was staged, then update the store and call all subscribers with the value
|
|
61
|
+
*/
|
|
62
|
+
commit() {
|
|
63
|
+
if (this.mode < 0)
|
|
64
|
+
throw new Error('not staged, call stage first');
|
|
65
|
+
if (this.mode === 1)
|
|
66
|
+
this.inner.set(this.staged);
|
|
67
|
+
this.staged = undefined;
|
|
68
|
+
this.mode = -1;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get the current value either staged or not
|
|
72
|
+
*/
|
|
73
|
+
get() {
|
|
74
|
+
if (this.mode === 1)
|
|
75
|
+
return this.staged;
|
|
76
|
+
return this.inner.get();
|
|
77
|
+
}
|
|
78
|
+
readonly() {
|
|
79
|
+
return this.inner.readonly();
|
|
80
|
+
}
|
|
81
|
+
readclone() {
|
|
82
|
+
return this.inner.readclone();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Readable from './Readable.js';
|
|
2
2
|
import Writable from './Writable.js';
|
|
3
3
|
import Readclone from './Readclone.js';
|
|
4
|
-
|
|
4
|
+
import StagedWritable from './StagedWritable.js';
|
|
5
|
+
export { Writable, Readable, Readclone, StagedWritable };
|
|
5
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/std/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/std/stores/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/std/stores/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import Readable from './Readable.js';
|
|
2
2
|
import Writable from './Writable.js';
|
|
3
3
|
import Readclone from './Readclone.js';
|
|
4
|
-
|
|
4
|
+
import StagedWritable from './StagedWritable.js';
|
|
5
|
+
export { Writable, Readable, Readclone, StagedWritable };
|
package/dist/std/sync/Barrier.js
CHANGED
package/dist/utils.d.ts
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
export declare function objClone(obj: any): any;
|
|
2
2
|
export declare function isPromise<T>(p: Promise<T> | T): p is Promise<T>;
|
|
3
|
+
/**
|
|
4
|
+
* A helper to chain promises without needing a microtask if its not a promise
|
|
5
|
+
* Equivalent to:
|
|
6
|
+
* ```
|
|
7
|
+
* const val = await p;
|
|
8
|
+
* then(val);
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
export declare function promiseThen<T, R = void>(p: Promise<T> | T, then: (val: T) => R): Promise<R> | R;
|
|
3
12
|
export declare function urlWithPath(url: string, path?: string): URL;
|
|
4
13
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAMtC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/D;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAI3D"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,CAMtC;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/D;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,EACtC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,EACjB,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GACjB,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAEhB;AAGD,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,GAAG,CAI3D"}
|
package/dist/utils.js
CHANGED
|
@@ -9,6 +9,17 @@ export function objClone(obj) {
|
|
|
9
9
|
export function isPromise(p) {
|
|
10
10
|
return typeof p?.then === 'function';
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* A helper to chain promises without needing a microtask if its not a promise
|
|
14
|
+
* Equivalent to:
|
|
15
|
+
* ```
|
|
16
|
+
* const val = await p;
|
|
17
|
+
* then(val);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export function promiseThen(p, then) {
|
|
21
|
+
return isPromise(p) ? p.then(then) : then(p);
|
|
22
|
+
}
|
|
12
23
|
// the pathname is always replaced
|
|
13
24
|
export function urlWithPath(url, path) {
|
|
14
25
|
const u = new URL(url);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "crelte",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.13",
|
|
4
4
|
"author": "Crelte <support@crelte.com>",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -72,6 +72,10 @@
|
|
|
72
72
|
"types": "./dist/cookies/index.d.ts",
|
|
73
73
|
"default": "./dist/cookies/index.js"
|
|
74
74
|
},
|
|
75
|
+
"./bodyClass": {
|
|
76
|
+
"types": "./dist/bodyClass/index.d.ts",
|
|
77
|
+
"default": "./dist/bodyClass/index.js"
|
|
78
|
+
},
|
|
75
79
|
"./blocks": {
|
|
76
80
|
"types": "./dist/blocks/index.d.ts",
|
|
77
81
|
"default": "./dist/blocks/index.js"
|
package/src/blocks/Blocks.ts
CHANGED
|
@@ -125,7 +125,7 @@ export class BlockModules {
|
|
|
125
125
|
* ```
|
|
126
126
|
*/
|
|
127
127
|
export function blockModules(
|
|
128
|
-
modules: Record<string,
|
|
128
|
+
modules: Record<string, (() => Promise<any>) | Module>,
|
|
129
129
|
opts: BlockModulesOptions = {},
|
|
130
130
|
): BlockModules {
|
|
131
131
|
return new BlockModules(modules, opts);
|