crelte 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/init/client.d.ts.map +1 -1
- package/dist/init/client.js +5 -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 +13 -9
- package/dist/routing/InnerRouter.d.ts.map +1 -1
- package/dist/routing/InnerRouter.js +30 -35
- 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 +9 -2
- package/dist/routing/Request.d.ts.map +1 -1
- package/dist/routing/Request.js +16 -1
- package/dist/routing/Route.d.ts +25 -12
- package/dist/routing/Route.d.ts.map +1 -1
- package/dist/routing/Route.js +35 -14
- package/dist/routing/Router.d.ts +5 -7
- package/dist/routing/Router.d.ts.map +1 -1
- package/dist/routing/Router.js +26 -37
- package/dist/routing/Site.js +1 -1
- package/dist/routing/utils.d.ts +2 -0
- package/dist/routing/utils.d.ts.map +1 -0
- package/dist/routing/utils.js +3 -0
- package/package.json +3 -2
- package/src/CrelteRequest.ts +14 -19
- package/src/graphql/GraphQl.ts +5 -2
- package/src/index.ts +17 -3
- package/src/init/client.ts +5 -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 +42 -39
- package/src/routing/PageLoader.ts +7 -17
- package/src/routing/Request.ts +20 -6
- package/src/routing/Route.ts +40 -16
- package/src/routing/Router.ts +33 -46
- package/src/routing/Site.ts +1 -1
- package/src/routing/utils.ts +3 -0
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
|
*
|
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;;;;;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
|
*
|
|
@@ -103,8 +103,8 @@ export function getCookies() {
|
|
|
103
103
|
*/
|
|
104
104
|
export function onRequest(fn) {
|
|
105
105
|
const crelte = getCrelte();
|
|
106
|
-
const rmListener = crelte.router.onRequest(
|
|
107
|
-
fn(new CrelteRequest(crelte, req
|
|
106
|
+
const rmListener = crelte.router.onRequest(req => {
|
|
107
|
+
fn(new CrelteRequest(crelte, req));
|
|
108
108
|
});
|
|
109
109
|
onDestroy(rmListener);
|
|
110
110
|
}
|
|
@@ -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,QAiIlC"}
|
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) {
|
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');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import Site, { SiteFromGraphQl } from './Site.js';
|
|
2
2
|
import History from './History.js';
|
|
3
|
-
import Request from './Request.js';
|
|
4
|
-
import Route from './Route.js';
|
|
3
|
+
import Request, { RequestOptions } from './Request.js';
|
|
4
|
+
import Route, { RouteOptions } from './Route.js';
|
|
5
5
|
export type InnerRouterOpts = {
|
|
6
6
|
preloadOnMouseOver: boolean;
|
|
7
7
|
};
|
|
@@ -10,16 +10,21 @@ export type InnerRouterOpts = {
|
|
|
10
10
|
*/
|
|
11
11
|
export default class InnerRouter {
|
|
12
12
|
sites: Site[];
|
|
13
|
+
/**
|
|
14
|
+
* The current route
|
|
15
|
+
*
|
|
16
|
+
* ## Null
|
|
17
|
+
* It might be null on the first targetToRequest, open, and routeFromUrl call
|
|
18
|
+
*/
|
|
13
19
|
route: Route | null;
|
|
14
|
-
site: Site;
|
|
15
20
|
history: History;
|
|
16
21
|
preloadOnMouseOver: boolean;
|
|
17
22
|
/**
|
|
18
23
|
* @param changeHistory returns a function you need to call when you are ready to
|
|
19
24
|
update the window history (note do not call this after another onRoute call was made)
|
|
20
25
|
*/
|
|
21
|
-
onRoute: (route: Request,
|
|
22
|
-
onPreload: (route: Request
|
|
26
|
+
onRoute: (route: Request, changeHistory: () => void) => void;
|
|
27
|
+
onPreload: (route: Request) => void;
|
|
23
28
|
private scrollDebounceTimeout;
|
|
24
29
|
/**
|
|
25
30
|
* Creates a new Router
|
|
@@ -39,8 +44,7 @@ export default class InnerRouter {
|
|
|
39
44
|
/**
|
|
40
45
|
* Get a site and if possible use the accept lang header.
|
|
41
46
|
*
|
|
42
|
-
* @param
|
|
43
|
-
* @return {Site}
|
|
47
|
+
* @param acceptLang Accept Language header.
|
|
44
48
|
*/
|
|
45
49
|
siteByAcceptLang(acceptLang?: string | null): Site;
|
|
46
50
|
/**
|
|
@@ -57,7 +61,7 @@ export default class InnerRouter {
|
|
|
57
61
|
* @param target
|
|
58
62
|
* @return Returns null if the url does not match our host (the protocol get's ignored)
|
|
59
63
|
*/
|
|
60
|
-
targetToRequest(target: string | URL | Route | Request): Request;
|
|
64
|
+
targetToRequest(target: string | URL | Route | Request, opts?: RequestOptions): Request;
|
|
61
65
|
/**
|
|
62
66
|
* Resolve a url and convert it to a Route
|
|
63
67
|
*
|
|
@@ -72,7 +76,7 @@ export default class InnerRouter {
|
|
|
72
76
|
* @param route a route object or an url or uri, never input the same route object again
|
|
73
77
|
* @param pushState if true pushed the state to the window.history
|
|
74
78
|
*/
|
|
75
|
-
open(target: string | URL | Route | Request, pushState?: boolean): void;
|
|
79
|
+
open(target: string | URL | Route | Request, opts?: RouteOptions, pushState?: boolean): void;
|
|
76
80
|
/**
|
|
77
81
|
* Sets a route
|
|
78
82
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InnerRouter.d.ts","sourceRoot":"","sources":["../../../../src/routing/InnerRouter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,
|
|
1
|
+
{"version":3,"file":"InnerRouter.d.ts","sourceRoot":"","sources":["../../../../src/routing/InnerRouter.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,EAAE,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,OAAO,EAAE,EAAa,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,MAAM,eAAe,GAAG;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd;;;;;OAKG;IACH,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;IAC7D,SAAS,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAEpC,OAAO,CAAC,qBAAqB,CAAa;IAE1C;;;;;OAKG;gBACS,KAAK,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe;IAkB3D;;OAEG;IACH,UAAU;IAkBV;;OAEG;IACH,UAAU;IAEV;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI;IAsCxD;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAIjC;;;;;OAKG;IACH,eAAe,CACd,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,EACtC,IAAI,GAAE,cAAmB,GACvB,OAAO;IAwBV;;;;;OAKG;IACH,YAAY,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK;IAgCjC,MAAM;IA0FN;;;;;OAKG;IACH,IAAI,CACH,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO,EACtC,IAAI,GAAE,YAAiB,EACvB,SAAS,GAAE,OAAc;IA0C1B;;;;;;;OAOG;IACH,QAAQ,CAAC,GAAG,EAAE,OAAO;IAMrB;;;;;;;;OAQG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK;IAWtB;;;;;OAKG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK;IAWzB;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,GAAG,KAAK,GAAG,OAAO;IAW9C,QAAQ,CAAC,GAAG,EAAE,OAAO;CAkErB"}
|