crelte 0.1.3 → 0.2.1
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/CrelteRequest.d.ts +11 -6
- package/dist/CrelteRequest.d.ts.map +1 -1
- package/dist/CrelteRequest.js +14 -14
- package/dist/graphql/GraphQl.d.ts +1 -1
- package/dist/graphql/GraphQl.d.ts.map +1 -1
- package/dist/graphql/GraphQl.js +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -3
- package/dist/init/client.d.ts.map +1 -1
- package/dist/init/client.js +11 -5
- package/dist/init/server.d.ts +2 -0
- package/dist/init/server.d.ts.map +1 -1
- package/dist/init/server.js +24 -10
- package/dist/init/shared.d.ts +3 -3
- package/dist/init/shared.d.ts.map +1 -1
- package/dist/init/shared.js +1 -1
- package/dist/loadData/index.d.ts +11 -5
- package/dist/loadData/index.d.ts.map +1 -1
- package/dist/loadData/index.js +15 -6
- package/dist/routing/History.d.ts +5 -3
- package/dist/routing/History.d.ts.map +1 -1
- package/dist/routing/History.js +9 -4
- package/dist/routing/InnerRouter.d.ts +31 -21
- package/dist/routing/InnerRouter.d.ts.map +1 -1
- package/dist/routing/InnerRouter.js +98 -76
- package/dist/routing/PageLoader.d.ts +4 -5
- package/dist/routing/PageLoader.d.ts.map +1 -1
- package/dist/routing/PageLoader.js +5 -5
- package/dist/routing/Request.d.ts +15 -2
- package/dist/routing/Request.d.ts.map +1 -1
- package/dist/routing/Request.js +22 -1
- package/dist/routing/Route.d.ts +61 -25
- package/dist/routing/Route.d.ts.map +1 -1
- package/dist/routing/Route.js +90 -41
- package/dist/routing/Router.d.ts +34 -13
- package/dist/routing/Router.d.ts.map +1 -1
- package/dist/routing/Router.js +102 -49
- package/package.json +3 -2
- package/src/CrelteRequest.ts +14 -19
- package/src/graphql/GraphQl.ts +5 -2
- package/src/index.ts +26 -3
- package/src/init/client.ts +14 -10
- package/src/init/server.ts +31 -11
- package/src/init/shared.ts +4 -4
- package/src/loadData/index.ts +47 -15
- package/src/routing/History.ts +12 -5
- package/src/routing/InnerRouter.ts +109 -82
- package/src/routing/PageLoader.ts +7 -17
- package/src/routing/Request.ts +28 -6
- package/src/routing/Route.ts +115 -52
- package/src/routing/Router.ts +123 -59
- package/LICENSE.md +0 -41
package/dist/CrelteRequest.d.ts
CHANGED
|
@@ -9,12 +9,8 @@ export default class CrelteRequest extends Crelte {
|
|
|
9
9
|
* The current request
|
|
10
10
|
*/
|
|
11
11
|
req: Request;
|
|
12
|
-
/**
|
|
13
|
-
* The current site
|
|
14
|
-
*/
|
|
15
|
-
site: Site;
|
|
16
12
|
private innerGlobals;
|
|
17
|
-
constructor(inner: Crelte, req: Request
|
|
13
|
+
constructor(inner: Crelte, req: Request);
|
|
18
14
|
/**
|
|
19
15
|
* Create a CrelteRequest from a Crelte instance
|
|
20
16
|
*
|
|
@@ -25,12 +21,21 @@ export default class CrelteRequest extends Crelte {
|
|
|
25
21
|
* If you provide a route it must contain a site or you must
|
|
26
22
|
* provide one,
|
|
27
23
|
*/
|
|
28
|
-
static fromCrelte(inner: Crelte, req?: Route | Request
|
|
24
|
+
static fromCrelte(inner: Crelte, req?: Route | Request): CrelteRequest;
|
|
29
25
|
/**
|
|
30
26
|
* Get the current request
|
|
31
27
|
* @deprecated
|
|
32
28
|
*/
|
|
33
29
|
get route(): Request;
|
|
30
|
+
/**
|
|
31
|
+
* Easy access to this.req.site
|
|
32
|
+
*
|
|
33
|
+
* ## Note
|
|
34
|
+
* The site might not always match with the current route
|
|
35
|
+
* but be the site default site or one that matches the
|
|
36
|
+
* users language.
|
|
37
|
+
*/
|
|
38
|
+
get site(): Site;
|
|
34
39
|
/**
|
|
35
40
|
* returns a globalSet
|
|
36
41
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CrelteRequest.d.ts","sourceRoot":"","sources":["../../../src/CrelteRequest.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAChD;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb
|
|
1
|
+
{"version":3,"file":"CrelteRequest.d.ts","sourceRoot":"","sources":["../../../src/CrelteRequest.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,IAAI,MAAM,mBAAmB,CAAC;AACrC,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,MAAM;IAChD;;OAEG;IACH,GAAG,EAAE,OAAO,CAAC;IAEb,OAAO,CAAC,YAAY,CAAmB;gBAE3B,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAOvC;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa;IAWtE;;;OAGG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;IAED;;;;;;;OAOG;IACH,IAAI,IAAI,IAAI,IAAI,CAEf;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAIvD;;;;;;OAMG;IACG,cAAc,CAAC,CAAC,SAAS,UAAU,EACxC,IAAI,EAAE,MAAM,GACV,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUpB;;;;;;;OAOG;IACG,KAAK,CACV,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,IAAI,GAAE,YAAiB,GACrB,OAAO,CAAC,OAAO,CAAC;IAQnB,cAAc;IACd,iBAAiB;CAGjB"}
|
package/dist/CrelteRequest.js
CHANGED
|
@@ -5,16 +5,10 @@ export default class CrelteRequest extends Crelte {
|
|
|
5
5
|
* The current request
|
|
6
6
|
*/
|
|
7
7
|
req;
|
|
8
|
-
/**
|
|
9
|
-
* The current site
|
|
10
|
-
*/
|
|
11
|
-
site;
|
|
12
8
|
innerGlobals;
|
|
13
|
-
|
|
14
|
-
constructor(inner, req, site) {
|
|
9
|
+
constructor(inner, req) {
|
|
15
10
|
super(inner);
|
|
16
11
|
this.req = req;
|
|
17
|
-
this.site = site;
|
|
18
12
|
this.innerGlobals = new Map();
|
|
19
13
|
}
|
|
20
14
|
/**
|
|
@@ -27,16 +21,11 @@ export default class CrelteRequest extends Crelte {
|
|
|
27
21
|
* If you provide a route it must contain a site or you must
|
|
28
22
|
* provide one,
|
|
29
23
|
*/
|
|
30
|
-
static fromCrelte(inner, req
|
|
24
|
+
static fromCrelte(inner, req) {
|
|
31
25
|
if (!req) {
|
|
32
26
|
req = inner.router.route.get();
|
|
33
27
|
}
|
|
34
|
-
|
|
35
|
-
if (!req.site)
|
|
36
|
-
throw new Error('site is required');
|
|
37
|
-
site = req.site;
|
|
38
|
-
}
|
|
39
|
-
return new CrelteRequest(inner, req instanceof Request ? req : Request.fromRoute(req), site);
|
|
28
|
+
return new CrelteRequest(inner, req instanceof Request ? req : Request.fromRoute(req));
|
|
40
29
|
}
|
|
41
30
|
/**
|
|
42
31
|
* Get the current request
|
|
@@ -45,6 +34,17 @@ export default class CrelteRequest extends Crelte {
|
|
|
45
34
|
get route() {
|
|
46
35
|
return this.req;
|
|
47
36
|
}
|
|
37
|
+
/**
|
|
38
|
+
* Easy access to this.req.site
|
|
39
|
+
*
|
|
40
|
+
* ## Note
|
|
41
|
+
* The site might not always match with the current route
|
|
42
|
+
* but be the site default site or one that matches the
|
|
43
|
+
* users language.
|
|
44
|
+
*/
|
|
45
|
+
get site() {
|
|
46
|
+
return this.req.site;
|
|
47
|
+
}
|
|
48
48
|
/**
|
|
49
49
|
* returns a globalSet
|
|
50
50
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphQl.d.ts","sourceRoot":"","sources":["../../../../src/graphql/GraphQl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAE1E,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC;gBAGG,IAAI,EAAE,oBAAoB,EAAE,GAAG,GAAE,GAAU;IAOvD;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB,kBAAkB;IAElB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CACD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"GraphQl.d.ts","sourceRoot":"","sources":["../../../../src/graphql/GraphQl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAE1E,MAAM,MAAM,oBAAoB,GAAG;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAGD;;GAEG;AACH,qBAAa,YAAa,SAAQ,KAAK;IACtC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,GAAG,CAAC;gBAGG,IAAI,EAAE,oBAAoB,EAAE,GAAG,GAAE,GAAU;IAOvD;;OAEG;IACH,MAAM,IAAI,MAAM;IAIhB,kBAAkB;IAElB;;OAEG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;CACD;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,KAAK,CAAC,EAAE,KAAK,GAAG,GAAG,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAGf;IAEF,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,aAAa,CAAU;IAE/B;;OAEG;gBAEF,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,QAAQ,EAClB,IAAI,GAAE,cAAmB;IAU1B;;;;;;;OAOG;IACG,KAAK,CACV,KAAK,EAAE,YAAY,EACnB,SAAS,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACvC,IAAI,GAAE,qBAA0B,GAC9B,OAAO,CAAC,OAAO,CAAC;YAuBL,OAAO;YA0DP,UAAU;CAmFxB;AAED,0DAA0D;AAC1D,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,YAAY,CAI5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAClB,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE,GAChB,YAAY,CAuBd"}
|
package/dist/graphql/GraphQl.js
CHANGED
|
@@ -55,7 +55,7 @@ export default class GraphQl {
|
|
|
55
55
|
*/
|
|
56
56
|
async query(query, variables = {}, opts = {}) {
|
|
57
57
|
if (opts.route) {
|
|
58
|
-
const search = opts.route.search;
|
|
58
|
+
const search = opts.route.searchParams ?? opts.route.search;
|
|
59
59
|
// todo should variables contain siteId
|
|
60
60
|
// or maybe gql should detect loadData and add it there
|
|
61
61
|
// it might make export const loadData = query; easier
|
package/dist/index.d.ts
CHANGED
|
@@ -8,7 +8,8 @@ import CrelteRequest from './CrelteRequest.js';
|
|
|
8
8
|
import type { Global, GlobalData } from './loadData/Globals.js';
|
|
9
9
|
import type { Cookies } from './cookies/index.js';
|
|
10
10
|
import type { Readable } from 'crelte-std/stores';
|
|
11
|
-
|
|
11
|
+
import { LoadData, LoadDataArray, LoadDataFn, LoadDataObj } from './loadData/index.js';
|
|
12
|
+
export { Crelte, CrelteRequest, type QueryOptions, type LoadData, type LoadDataFn, type LoadDataObj, type LoadDataArray, };
|
|
12
13
|
/**
|
|
13
14
|
* Get Crelte from the current context
|
|
14
15
|
*
|
|
@@ -90,6 +91,7 @@ export declare function getGlobal<T extends GlobalData>(name: string): Global<T>
|
|
|
90
91
|
* This only works during component initialisation.
|
|
91
92
|
*/
|
|
92
93
|
export declare function getCookies(): Cookies;
|
|
94
|
+
export declare function onRoute(fn: (route: Route, crelte: Crelte) => void): void;
|
|
93
95
|
/**
|
|
94
96
|
* Listen for requests
|
|
95
97
|
*
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,MAAM,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAC;AAC5C,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAC9C,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,IAAI,MAAM,mBAAmB,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,MAAM,EAAE,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EACN,QAAQ,EACR,aAAa,EACb,UAAU,EACV,WAAW,EACX,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACN,MAAM,EACN,aAAa,EACb,KAAK,YAAY,EACjB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,KAAK,aAAa,GAClB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAEtC;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAE1C;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAExC;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM,CAAC;AACrD,wBAAgB,MAAM,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAAC;AACtD,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAKpD;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,QAAQ,CAAC,OAAO,CAAC,CAE9C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,QAAQ,CAAC,MAAM,CAAC,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,UAAU,EAC7C,IAAI,EAAE,MAAM,GACV,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAElB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,QAOjE;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,QAOxD"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getContext, onDestroy } from 'svelte';
|
|
2
2
|
import Crelte from './Crelte.js';
|
|
3
3
|
import CrelteRequest from './CrelteRequest.js';
|
|
4
|
-
export { Crelte, CrelteRequest };
|
|
4
|
+
export { Crelte, CrelteRequest, };
|
|
5
5
|
/**
|
|
6
6
|
* Get Crelte from the current context
|
|
7
7
|
*
|
|
@@ -95,6 +95,13 @@ export function getGlobal(name) {
|
|
|
95
95
|
export function getCookies() {
|
|
96
96
|
return getCrelte().cookies;
|
|
97
97
|
}
|
|
98
|
+
export function onRoute(fn) {
|
|
99
|
+
const crelte = getCrelte();
|
|
100
|
+
const rmListener = crelte.router.onRoute(route => {
|
|
101
|
+
fn(route, crelte);
|
|
102
|
+
});
|
|
103
|
+
onDestroy(rmListener);
|
|
104
|
+
}
|
|
98
105
|
/**
|
|
99
106
|
* Listen for requests
|
|
100
107
|
*
|
|
@@ -103,8 +110,8 @@ export function getCookies() {
|
|
|
103
110
|
*/
|
|
104
111
|
export function onRequest(fn) {
|
|
105
112
|
const crelte = getCrelte();
|
|
106
|
-
const rmListener = crelte.router.onRequest(
|
|
107
|
-
fn(new CrelteRequest(crelte, req
|
|
113
|
+
const rmListener = crelte.router.onRequest(req => {
|
|
114
|
+
fn(new CrelteRequest(crelte, req));
|
|
108
115
|
});
|
|
109
116
|
onDestroy(rmListener);
|
|
110
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/init/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,YAAY,CAAC;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,YAAY,CAAC;IAI3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAYF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/init/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAKrD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC;IACf,iDAAiD;IACjD,UAAU,EAAE,YAAY,CAAC;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,YAAY,CAAC;IAI3B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAIpB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAYF;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,QAAQ,QA0IlC"}
|
package/dist/init/client.js
CHANGED
|
@@ -71,8 +71,8 @@ export function main(data) {
|
|
|
71
71
|
// setup plugins
|
|
72
72
|
setupPlugins(crelte, data.app.plugins ?? []);
|
|
73
73
|
// setup load Data
|
|
74
|
-
crelte.router._internal.onLoad = (req,
|
|
75
|
-
const cr = new CrelteRequest(crelte, req
|
|
74
|
+
crelte.router._internal.onLoad = (req, opts) => {
|
|
75
|
+
const cr = new CrelteRequest(crelte, req);
|
|
76
76
|
return loadFn(cr, data.app, data.entryQuery, data.globalQuery, opts);
|
|
77
77
|
};
|
|
78
78
|
// render Space
|
|
@@ -92,7 +92,7 @@ export function main(data) {
|
|
|
92
92
|
}
|
|
93
93
|
};
|
|
94
94
|
let firstLoad = true;
|
|
95
|
-
crelte.router._internal.onLoaded = async (success, req,
|
|
95
|
+
crelte.router._internal.onLoaded = async (success, req, readyForProps) => {
|
|
96
96
|
const isFirstLoad = firstLoad;
|
|
97
97
|
firstLoad = false;
|
|
98
98
|
if (!success) {
|
|
@@ -107,12 +107,12 @@ export function main(data) {
|
|
|
107
107
|
}
|
|
108
108
|
return handleLoadError(readyForProps());
|
|
109
109
|
}
|
|
110
|
-
const cr = new CrelteRequest(crelte, req
|
|
110
|
+
const cr = new CrelteRequest(crelte, req);
|
|
111
111
|
const startTime = data.debugTiming ? Date.now() : null;
|
|
112
112
|
let render = async () => {
|
|
113
113
|
// we should trigger the route update here
|
|
114
114
|
pluginsBeforeRender(cr);
|
|
115
|
-
crelte.globals._updateSiteId(site.id);
|
|
115
|
+
crelte.globals._updateSiteId(cr.site.id);
|
|
116
116
|
updateAppProps(readyForProps());
|
|
117
117
|
await tick();
|
|
118
118
|
if (startTime) {
|
|
@@ -128,6 +128,12 @@ export function main(data) {
|
|
|
128
128
|
}
|
|
129
129
|
await render();
|
|
130
130
|
};
|
|
131
|
+
crelte.router._internal.onNothingLoaded = async (req, ready) => {
|
|
132
|
+
crelte.globals._updateSiteId(req.site.id);
|
|
133
|
+
ready();
|
|
134
|
+
await tick();
|
|
135
|
+
crelte.router._internal.domReady(req);
|
|
136
|
+
};
|
|
131
137
|
crelte.router._internal.initClient();
|
|
132
138
|
}
|
|
133
139
|
function handleLoadError(e) {
|
package/dist/init/server.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/init/server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAO,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../src/init/server.ts"],"names":[],"mappings":"AAOA,OAAO,EAAO,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,iDAAiD;IACjD,UAAU,EAAE,YAAY,CAAC;IACzB,mDAAmD;IACnD,WAAW,CAAC,EAAE,YAAY,CAAC;IAE3B,0CAA0C;IAC1C,UAAU,EAAE,UAAU,CAAC;IAIvB,qCAAqC;IACrC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,CAAC,CA6ED;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,UAAU,CAAC;CACvB,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,CA0B5C"}
|
package/dist/init/server.js
CHANGED
|
@@ -39,37 +39,38 @@ export async function main(data) {
|
|
|
39
39
|
});
|
|
40
40
|
const cookies = data.serverData.cookies ?? '';
|
|
41
41
|
builder.setupCookies(cookies);
|
|
42
|
-
const csites = await loadSites(builder);
|
|
42
|
+
const csites = await loadSites(builder, data.serverData);
|
|
43
43
|
builder.ssrCache.set('crelteSites', csites);
|
|
44
44
|
builder.setupRouter(csites);
|
|
45
45
|
const crelte = builder.build();
|
|
46
46
|
// setup plugins
|
|
47
47
|
setupPlugins(crelte, data.app.plugins ?? []);
|
|
48
48
|
// setup load Data
|
|
49
|
-
crelte.router._internal.onLoad =
|
|
50
|
-
const cr = new CrelteRequest(crelte, req
|
|
49
|
+
crelte.router._internal.onLoad = req => {
|
|
50
|
+
const cr = new CrelteRequest(crelte, req);
|
|
51
51
|
return loadFn(cr, data.app, data.entryQuery, data.globalQuery);
|
|
52
52
|
};
|
|
53
|
-
const { success, redirect, req,
|
|
53
|
+
const { success, redirect, req, props } = await crelte.router._internal.initServer(data.serverData.url, data.serverData.acceptLang);
|
|
54
54
|
if (!success)
|
|
55
55
|
throw props;
|
|
56
56
|
if (redirect) {
|
|
57
57
|
return {
|
|
58
|
-
status: 302,
|
|
58
|
+
status: req.statusCode ?? 302,
|
|
59
59
|
location: req.url.toString(),
|
|
60
60
|
};
|
|
61
61
|
}
|
|
62
62
|
const context = crelte._getContext();
|
|
63
63
|
const ssrComponents = new SsrComponents();
|
|
64
64
|
ssrComponents.addToContext(context);
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
const cr = new CrelteRequest(crelte, req);
|
|
66
|
+
pluginsBeforeRender(cr);
|
|
67
|
+
crelte.globals._updateSiteId(cr.site.id);
|
|
67
68
|
// eslint-disable-next-line prefer-const
|
|
68
69
|
let { html, head } = data.app.default.render(props, { context });
|
|
69
70
|
head += ssrComponents.toHead(data.serverData.ssrManifest);
|
|
70
71
|
head += crelte.ssrCache._exportToHead();
|
|
71
72
|
let htmlTemplate = data.serverData.htmlTemplate;
|
|
72
|
-
htmlTemplate = htmlTemplate.replace('<!--page-lang-->', site.language);
|
|
73
|
+
htmlTemplate = htmlTemplate.replace('<!--page-lang-->', cr.site.language);
|
|
73
74
|
const finalHtml = htmlTemplate
|
|
74
75
|
.replace('</head>', head + '\n\t</head>')
|
|
75
76
|
.replace('<!--ssr-body-->', html);
|
|
@@ -118,13 +119,23 @@ export async function mainError(data) {
|
|
|
118
119
|
};
|
|
119
120
|
}
|
|
120
121
|
// requires, GraphQl, SsrCache
|
|
121
|
-
async function loadSites(builder) {
|
|
122
|
+
async function loadSites(builder, serverData) {
|
|
122
123
|
if (!builder.graphQl)
|
|
123
124
|
throw new Error();
|
|
124
125
|
if ('CRAFT_SITES_CACHED' in globalThis) {
|
|
125
|
-
// @ts-ignore
|
|
126
126
|
return globalThis['CRAFT_SITES_CACHED'];
|
|
127
127
|
}
|
|
128
|
+
if (import.meta.env.PROD && serverData.readSitesCache) {
|
|
129
|
+
try {
|
|
130
|
+
const sites = (await serverData.readSitesCache());
|
|
131
|
+
// @ts-ignore
|
|
132
|
+
globalThis['CRAFT_SITES_CACHED'] = sites;
|
|
133
|
+
return sites;
|
|
134
|
+
}
|
|
135
|
+
catch (_e) {
|
|
136
|
+
// ignore
|
|
137
|
+
}
|
|
138
|
+
}
|
|
128
139
|
const resp = (await builder.graphQl.query(gql `
|
|
129
140
|
query {
|
|
130
141
|
crelteSites {
|
|
@@ -141,5 +152,8 @@ async function loadSites(builder) {
|
|
|
141
152
|
{ caching: false }));
|
|
142
153
|
// @ts-ignore
|
|
143
154
|
globalThis['CRAFT_SITES_CACHED'] = resp.crelteSites;
|
|
155
|
+
if (import.meta.env.PROD && serverData.writeSitesCache) {
|
|
156
|
+
await serverData.writeSitesCache(resp.crelteSites);
|
|
157
|
+
}
|
|
144
158
|
return resp.crelteSites;
|
|
145
159
|
}
|
package/dist/init/shared.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ import { GraphQlQuery } from '../graphql/GraphQl.js';
|
|
|
4
4
|
import { LoadData } from '../loadData/index.js';
|
|
5
5
|
import { PluginCreator } from '../plugins/Plugins.js';
|
|
6
6
|
import { LoadOptions } from '../routing/PageLoader.js';
|
|
7
|
-
interface App<
|
|
8
|
-
loadGlobalData?: LoadData<
|
|
7
|
+
interface App<E, T> {
|
|
8
|
+
loadGlobalData?: LoadData<null>;
|
|
9
9
|
loadEntryData?: LoadData<any>;
|
|
10
10
|
templates?: Record<string, LazyTemplateModule<E, T>>;
|
|
11
11
|
}
|
|
@@ -25,6 +25,6 @@ export declare function pluginsBeforeRender(cr: CrelteRequest): void;
|
|
|
25
25
|
* sectionHandle will be automatically set to product
|
|
26
26
|
*/
|
|
27
27
|
export declare function getEntry(page: any): any;
|
|
28
|
-
export declare function loadFn<D, E, T>(cr: CrelteRequest, app: App<
|
|
28
|
+
export declare function loadFn<D, E, T>(cr: CrelteRequest, app: App<E, T>, entryQuery: GraphQlQuery, globalQuery?: GraphQlQuery, loadOpts?: LoadOptions): Promise<any>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=shared.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/init/shared.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/init/shared.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAgB,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;IACjB,cAAc,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAGhC,aAAa,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAE9B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;CACrD;AAED,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC;IAE5B,OAAO,EAAE,GAAG,CAAC;IAEb,QAAQ,CAAC,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnD;AAED,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IACzB,CAAC,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GACrC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAExB,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,QAKpE;AAED,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,CAE3D;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAYvC;AAED,wBAAsB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,EAAE,EAAE,aAAa,EACjB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EACd,UAAU,EAAE,YAAY,EACxB,WAAW,CAAC,EAAE,YAAY,EAC1B,QAAQ,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,GAAG,CAAC,CAsGd"}
|
package/dist/init/shared.js
CHANGED
|
@@ -37,7 +37,7 @@ export async function loadFn(cr, app, entryQuery, globalQuery, loadOpts) {
|
|
|
37
37
|
'loadEntryData depending on if you need access to entry or not?');
|
|
38
38
|
}
|
|
39
39
|
if (app.loadGlobalData) {
|
|
40
|
-
dataProm = callLoadData(app.loadGlobalData, cr);
|
|
40
|
+
dataProm = callLoadData(app.loadGlobalData, cr, null);
|
|
41
41
|
}
|
|
42
42
|
let globalProm = null;
|
|
43
43
|
if (globalQuery && !cr.globals._wasLoaded()) {
|
package/dist/loadData/index.d.ts
CHANGED
|
@@ -3,6 +3,14 @@ import { type GraphQlQuery } from '../graphql/GraphQl.js';
|
|
|
3
3
|
import type Globals from './Globals.js';
|
|
4
4
|
import type { Global } from './Globals.js';
|
|
5
5
|
export type { Globals, Global };
|
|
6
|
+
export interface LoadDataFn<A1 = any> {
|
|
7
|
+
(cr: CrelteRequest, entryOrBlock: A1, ...args: any[]): Promise<any> | any;
|
|
8
|
+
}
|
|
9
|
+
export interface LoadDataObj<A1 = any> {
|
|
10
|
+
[key: string]: LoadData<A1>;
|
|
11
|
+
}
|
|
12
|
+
export interface LoadDataArray<A1 = any> extends Array<LoadData<A1>> {
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
15
|
* Load data function
|
|
8
16
|
*
|
|
@@ -13,8 +21,6 @@ export type { Globals, Global };
|
|
|
13
21
|
* Each property should be a loadData type, each one is called in parallel.
|
|
14
22
|
* And will be available to your component with the same name.
|
|
15
23
|
* ```
|
|
16
|
-
* export const loadData = {
|
|
17
|
-
*
|
|
18
24
|
* import entriesQuery from '@/queries/entries.graphql';
|
|
19
25
|
* import { loadData as headerLoadData } from '@/layout/header.svelte';
|
|
20
26
|
*
|
|
@@ -69,8 +75,8 @@ export type { Globals, Global };
|
|
|
69
75
|
* }
|
|
70
76
|
* ```
|
|
71
77
|
*/
|
|
72
|
-
export type LoadData<
|
|
73
|
-
export declare function callLoadData(ld: LoadData<
|
|
78
|
+
export type LoadData<A1 = any> = LoadDataFn<A1> | GraphQlQuery | LoadDataObj<A1> | LoadDataArray<A1> | string | number | null | undefined;
|
|
79
|
+
export declare function callLoadData<A1 = any>(ld: LoadData<A1>, cr: CrelteRequest, arg1: A1, ...args: any[]): Promise<any>;
|
|
74
80
|
/**
|
|
75
81
|
* Spread the data of two loadData functions.
|
|
76
82
|
*
|
|
@@ -84,5 +90,5 @@ export declare function callLoadData(ld: LoadData<unknown>, cr: CrelteRequest, .
|
|
|
84
90
|
* );
|
|
85
91
|
* ```
|
|
86
92
|
*/
|
|
87
|
-
export declare function mergeLoadData(...lds: LoadData<
|
|
93
|
+
export declare function mergeLoadData<A1 = any>(...lds: LoadData<A1>[]): LoadDataFn<A1>;
|
|
88
94
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/loadData/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAEhC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/loadData/index.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AAEhC,MAAM,WAAW,UAAU,CAAC,EAAE,GAAG,GAAG;IACnC,CAAC,EAAE,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;CAC1E;AAED,MAAM,WAAW,WAAW,CAAC,EAAE,GAAG,GAAG;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;CAC5B;AAGD,MAAM,WAAW,aAAa,CAAC,EAAE,GAAG,GAAG,CAAE,SAAQ,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;CAAG;AAKvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,MAAM,QAAQ,CAAC,EAAE,GAAG,GAAG,IAC1B,UAAU,CAAC,EAAE,CAAC,GACd,YAAY,GACZ,WAAW,CAAC,EAAE,CAAC,GACf,aAAa,CAAC,EAAE,CAAC,GACjB,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,CAAC;AAOb,wBAAsB,YAAY,CAAC,EAAE,GAAG,GAAG,EAC1C,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAChB,EAAE,EAAE,aAAa,EACjB,IAAI,EAAE,EAAE,EACR,GAAG,IAAI,EAAE,GAAG,EAAE,GACZ,OAAO,CAAC,GAAG,CAAC,CA6Bd;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,aAAa,CAAC,EAAE,GAAG,GAAG,EACrC,GAAG,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,GACpB,UAAU,CAAC,EAAE,CAAC,CAUhB"}
|
package/dist/loadData/index.js
CHANGED
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import { isGraphQlQuery } from '../graphql/GraphQl.js';
|
|
2
|
-
export
|
|
2
|
+
// export type LoadData<A1 = any, R = any> =
|
|
3
|
+
// | ((cr: CrelteRequest, entryOrBlock: A1, ...args: any[]) => Promise<R>)
|
|
4
|
+
// | GraphQlQuery
|
|
5
|
+
// | Record<string, LoadData<A1, R>>;
|
|
6
|
+
export async function callLoadData(ld, cr, arg1, ...args) {
|
|
3
7
|
// either we have a function
|
|
4
8
|
if (typeof ld === 'function') {
|
|
5
|
-
return await ld(cr, ...args);
|
|
9
|
+
return await ld(cr, arg1, ...args);
|
|
6
10
|
}
|
|
7
11
|
// or a graphql query
|
|
8
12
|
if (isGraphQlQuery(ld)) {
|
|
9
13
|
return await cr.query(ld);
|
|
10
14
|
}
|
|
15
|
+
if (ld === null || typeof ld === 'undefined')
|
|
16
|
+
return null;
|
|
17
|
+
if (Array.isArray(ld)) {
|
|
18
|
+
return await mergeLoadData(...ld)(cr, arg1, ...args);
|
|
19
|
+
}
|
|
11
20
|
// or an object
|
|
12
|
-
if (typeof ld === 'object'
|
|
13
|
-
const data = await Promise.all(Object.values(ld).map(nld => callLoadData(nld, cr, ...args)));
|
|
21
|
+
if (typeof ld === 'object') {
|
|
22
|
+
const data = await Promise.all(Object.values(ld).map(nld => callLoadData(nld, cr, arg1, ...args)));
|
|
14
23
|
return Object.fromEntries(Object.keys(ld).map((key, i) => [key, data[i]]));
|
|
15
24
|
}
|
|
16
25
|
return ld;
|
|
@@ -29,8 +38,8 @@ export async function callLoadData(ld, cr, ...args) {
|
|
|
29
38
|
* ```
|
|
30
39
|
*/
|
|
31
40
|
export function mergeLoadData(...lds) {
|
|
32
|
-
return async (cr, ...args) => {
|
|
33
|
-
const datas = await Promise.all(lds.map(ld => callLoadData(ld, cr, ...args)));
|
|
41
|
+
return async (cr, arg1, ...args) => {
|
|
42
|
+
const datas = await Promise.all(lds.map(ld => callLoadData(ld, cr, arg1, ...args)));
|
|
34
43
|
return datas.reduce((acc, data) => ({ ...acc, ...data }), {});
|
|
35
44
|
};
|
|
36
45
|
}
|
|
@@ -1,25 +1,27 @@
|
|
|
1
|
+
import Request from './Request.js';
|
|
1
2
|
export default interface History {
|
|
2
3
|
scrollY(): number | null;
|
|
3
4
|
replaceState(data: any, url?: string): void;
|
|
4
5
|
pushState(data: any, url: string): void;
|
|
5
|
-
open(
|
|
6
|
+
open(req: Request): void;
|
|
6
7
|
back(): void;
|
|
7
8
|
}
|
|
8
9
|
export declare class ClientHistory implements History {
|
|
9
10
|
scrollY(): number | null;
|
|
10
11
|
replaceState(data: any, url?: string): void;
|
|
11
12
|
pushState(data: any, url: string): void;
|
|
12
|
-
open(
|
|
13
|
+
open(req: Request): void;
|
|
13
14
|
back(): void;
|
|
14
15
|
}
|
|
15
16
|
export declare class ServerHistory implements History {
|
|
16
17
|
state: any | null;
|
|
17
18
|
url: string | null;
|
|
19
|
+
req: Request | null;
|
|
18
20
|
constructor();
|
|
19
21
|
scrollY(): number | null;
|
|
20
22
|
replaceState(data: any, url?: string): void;
|
|
21
23
|
pushState(data: any, url: string): void;
|
|
22
|
-
open(
|
|
24
|
+
open(req: Request): void;
|
|
23
25
|
back(): void;
|
|
24
26
|
}
|
|
25
27
|
//# sourceMappingURL=History.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../../../src/routing/History.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,OAAO;IAC/B,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,
|
|
1
|
+
{"version":3,"file":"History.d.ts","sourceRoot":"","sources":["../../../../src/routing/History.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,WAAW,OAAO;IAC/B,OAAO,IAAI,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,IAAI,IAAI,IAAI,CAAC;CACb;AAED,qBAAa,aAAc,YAAW,OAAO;IAC5C,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAIvC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAIxB,IAAI,IAAI,IAAI;CAGZ;AAED,qBAAa,aAAc,YAAW,OAAO;IAC5C,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAClB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;;IAQpB,OAAO,IAAI,MAAM,GAAG,IAAI;IAIxB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAM3C,SAAS,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI;IAMvC,IAAI,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAKxB,IAAI,IAAI,IAAI;CAGZ"}
|
package/dist/routing/History.js
CHANGED
|
@@ -8,8 +8,8 @@ export class ClientHistory {
|
|
|
8
8
|
pushState(data, url) {
|
|
9
9
|
history.pushState(data, '', url);
|
|
10
10
|
}
|
|
11
|
-
open(
|
|
12
|
-
window.location.href = url;
|
|
11
|
+
open(req) {
|
|
12
|
+
window.location.href = req.url.href;
|
|
13
13
|
}
|
|
14
14
|
back() {
|
|
15
15
|
window.history.back();
|
|
@@ -18,9 +18,11 @@ export class ClientHistory {
|
|
|
18
18
|
export class ServerHistory {
|
|
19
19
|
state;
|
|
20
20
|
url;
|
|
21
|
+
req;
|
|
21
22
|
constructor() {
|
|
22
23
|
this.state = null;
|
|
23
24
|
this.url = null;
|
|
25
|
+
this.req = null;
|
|
24
26
|
}
|
|
25
27
|
scrollY() {
|
|
26
28
|
return null;
|
|
@@ -28,13 +30,16 @@ export class ServerHistory {
|
|
|
28
30
|
replaceState(data, url) {
|
|
29
31
|
this.state = data;
|
|
30
32
|
this.url = url ?? null;
|
|
33
|
+
this.req = null;
|
|
31
34
|
}
|
|
32
35
|
pushState(data, url) {
|
|
33
36
|
this.state = data;
|
|
34
37
|
this.url = url;
|
|
38
|
+
this.req = null;
|
|
35
39
|
}
|
|
36
|
-
open(
|
|
37
|
-
this.
|
|
40
|
+
open(req) {
|
|
41
|
+
this.req = req;
|
|
42
|
+
this.url = null;
|
|
38
43
|
}
|
|
39
44
|
back() {
|
|
40
45
|
throw new Error('Cannot go back on the server');
|