crelte 0.5.9 → 0.5.11
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 +6 -5
- package/dist/blocks/Blocks.d.ts.map +1 -1
- package/dist/blocks/Blocks.js +5 -2
- package/dist/blocks/Blocks.svelte +1 -1
- package/dist/blocks/Blocks.svelte.d.ts +1 -1
- package/dist/blocks/Blocks.svelte.d.ts.map +1 -1
- package/dist/init/client.d.ts +1 -8
- package/dist/init/client.d.ts.map +1 -1
- package/dist/init/client.js +3 -10
- package/dist/init/server.js +1 -1
- package/dist/plugins/Events.d.ts +6 -6
- package/dist/plugins/Events.d.ts.map +1 -1
- package/dist/queries/Queries.d.ts +30 -5
- package/dist/queries/Queries.d.ts.map +1 -1
- package/dist/queries/Queries.js +19 -2
- package/dist/queries/gql.d.ts +2 -2
- package/dist/queries/gql.d.ts.map +1 -1
- package/dist/queries/index.d.ts +47 -2
- package/dist/queries/index.d.ts.map +1 -1
- package/dist/queries/index.js +2 -2
- package/dist/queries/vars.d.ts +2 -0
- package/dist/queries/vars.d.ts.map +1 -1
- package/dist/queries/vars.js +10 -0
- package/dist/routing/router/BaseRouter.d.ts +2 -1
- package/dist/routing/router/BaseRouter.d.ts.map +1 -1
- package/dist/routing/router/BaseRouter.js +4 -2
- package/dist/routing/router/ClientRouter.d.ts.map +1 -1
- package/dist/routing/router/ClientRouter.js +3 -4
- package/dist/routing/router/Router.d.ts +2 -1
- package/dist/routing/router/Router.d.ts.map +1 -1
- package/dist/routing/router/Router.js +2 -1
- package/dist/routing/utils.d.ts +1 -0
- package/dist/routing/utils.d.ts.map +1 -1
- package/dist/routing/utils.js +1 -1
- package/dist/server/ServerRouter.d.ts.map +1 -1
- package/dist/server/ServerRouter.js +17 -7
- package/dist/server/queries/QueryGqlRoute.d.ts +28 -0
- package/dist/server/queries/QueryGqlRoute.d.ts.map +1 -0
- package/dist/server/queries/QueryGqlRoute.js +194 -0
- package/dist/server/queries/QueryHandleRoute.d.ts +12 -0
- package/dist/server/queries/QueryHandleRoute.d.ts.map +1 -0
- package/dist/server/queries/QueryHandleRoute.js +24 -0
- package/dist/server/queries/queries.d.ts.map +1 -1
- package/dist/server/queries/queries.js +42 -19
- package/dist/server/queries/routes.d.ts +7 -30
- package/dist/server/queries/routes.d.ts.map +1 -1
- package/dist/server/queries/routes.js +13 -199
- package/package.json +1 -1
- package/src/blocks/Blocks.svelte +1 -17
- package/src/blocks/Blocks.ts +11 -7
- package/src/init/client.ts +3 -10
- package/src/init/server.ts +1 -1
- package/src/plugins/Events.ts +10 -6
- package/src/queries/Queries.ts +47 -14
- package/src/queries/gql.ts +2 -2
- package/src/queries/index.ts +71 -0
- package/src/queries/vars.ts +13 -0
- package/src/routing/router/BaseRouter.ts +4 -2
- package/src/routing/router/ClientRouter.ts +3 -4
- package/src/routing/router/Router.ts +2 -1
- package/src/routing/utils.ts +1 -1
- package/src/server/ServerRouter.ts +18 -7
- package/src/server/queries/QueryGqlRoute.ts +224 -0
- package/src/server/queries/QueryHandleRoute.ts +37 -0
- package/src/server/queries/queries.ts +57 -21
- package/src/server/queries/routes.ts +25 -229
package/dist/blocks/Blocks.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ import { CrelteRequest } from '../index.js';
|
|
|
2
2
|
export interface Module {
|
|
3
3
|
/** Svelte component */
|
|
4
4
|
default: any;
|
|
5
|
-
/** Handle of the block, this only works with { eager: true } */
|
|
5
|
+
/** Handle of the block, this only works with `{ eager: true }` */
|
|
6
6
|
handle?: string | string[];
|
|
7
|
-
/** If true the typeHandle will be
|
|
7
|
+
/** If true the typeHandle will be available for this component */
|
|
8
8
|
keepTypeHandle?: boolean;
|
|
9
9
|
loadData?: (cr: CrelteRequest, block: any, opts: BlockOptions) => Promise<any>;
|
|
10
10
|
}
|
|
@@ -71,7 +71,7 @@ export declare function blockModules(modules: Record<string, AsyncModule>, opts?
|
|
|
71
71
|
* };
|
|
72
72
|
* ```
|
|
73
73
|
*/
|
|
74
|
-
export declare function loadBlocksData(cr: CrelteRequest, blocks: any[], modules: BlockModules): Promise<
|
|
74
|
+
export declare function loadBlocksData(cr: CrelteRequest, blocks: any[], modules: BlockModules): Promise<BlocksInstance>;
|
|
75
75
|
/**
|
|
76
76
|
* Creates a new Blocks instance
|
|
77
77
|
*
|
|
@@ -80,13 +80,14 @@ export declare function loadBlocksData(cr: CrelteRequest, blocks: any[], modules
|
|
|
80
80
|
* @param blocks the blocks data each block must have a typeHandle
|
|
81
81
|
* @param modules the modules created with `blockModules`
|
|
82
82
|
*/
|
|
83
|
-
export declare function newBlocks(blocks: any[], modules: BlockModules): Promise<
|
|
84
|
-
export default class
|
|
83
|
+
export declare function newBlocks(blocks: any[], modules: BlockModules): Promise<BlocksInstance>;
|
|
84
|
+
export default class BlocksInstance {
|
|
85
85
|
blocks: any[];
|
|
86
86
|
data: any[];
|
|
87
87
|
modules: Map<string, Module>;
|
|
88
88
|
constructor(blocks: any[], modules: Map<string, Module>);
|
|
89
89
|
loadData(cr: CrelteRequest): Promise<void>;
|
|
90
|
+
get length(): number;
|
|
90
91
|
each(): {
|
|
91
92
|
mod: any;
|
|
92
93
|
props: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,MAAM;IACtB,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC;IAEb,
|
|
1
|
+
{"version":3,"file":"Blocks.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAG5C,MAAM,WAAW,MAAM;IACtB,uBAAuB;IACvB,OAAO,EAAE,GAAG,CAAC;IAEb,kEAAkE;IAClE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE3B,kEAAkE;IAClE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,QAAQ,CAAC,EAAE,CACV,EAAE,EAAE,aAAa,EACjB,KAAK,EAAE,GAAG,EACV,IAAI,EAAE,YAAY,KACd,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;;;OAMG;IACH,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG;IACjC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,qBAAa,YAAY;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAG1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,IAAI,GAAE,mBAAwB;IAgC/B;;;;OAIG;IACG,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAmBtE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,YAAY,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EACpC,IAAI,GAAE,mBAAwB,GAC5B,YAAY,CAEd;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,cAAc,CACnC,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAMzB;AAED;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC9B,MAAM,EAAE,GAAG,EAAE,EACb,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,cAAc,CAAC,CAazB;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC,MAAM,EAAE,GAAG,EAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjB,MAAM,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAMjD,QAAQ,CAAC,EAAE,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBhD,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,IAAI,IAAI;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,EAAE;CAclC"}
|
package/dist/blocks/Blocks.js
CHANGED
|
@@ -101,9 +101,9 @@ export async function newBlocks(blocks, modules) {
|
|
|
101
101
|
requiredModules.add(block.typeHandle);
|
|
102
102
|
}
|
|
103
103
|
const loadedModules = await modules.load(requiredModules);
|
|
104
|
-
return new
|
|
104
|
+
return new BlocksInstance(blocks, loadedModules);
|
|
105
105
|
}
|
|
106
|
-
export default class
|
|
106
|
+
export default class BlocksInstance {
|
|
107
107
|
blocks;
|
|
108
108
|
data;
|
|
109
109
|
modules;
|
|
@@ -125,6 +125,9 @@ export default class Blocks {
|
|
|
125
125
|
return {};
|
|
126
126
|
}));
|
|
127
127
|
}
|
|
128
|
+
get length() {
|
|
129
|
+
return this.blocks.length;
|
|
130
|
+
}
|
|
128
131
|
each() {
|
|
129
132
|
return this.blocks.map((block, i) => {
|
|
130
133
|
const mod = this.modules.get(block.typeHandle);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BlocksInstance } from './index.js';
|
|
1
|
+
import { type BlocksInstance } from './index.js';
|
|
2
2
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
3
3
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
4
4
|
$$bindings?: Bindings;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.svelte.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"Blocks.svelte.d.ts","sourceRoot":"","sources":["../../src/blocks/Blocks.svelte.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAcjD,UAAU,kCAAkC,CAAC,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,EAAE,OAAO,GAAG,EAAE,EAAE,QAAQ,GAAG,MAAM;IACpM,KAAK,OAAO,EAAE,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IAC9G,YAAY,CAAC,EAAE,QAAQ,CAAC;CAC3B;AAKD,QAAA,MAAM,MAAM;;YAViC,cAAc;;;kBAUuD,CAAC;AACjG,KAAK,MAAM,GAAG,YAAY,CAAC,OAAO,MAAM,CAAC,CAAC;AAC5C,eAAe,MAAM,CAAC"}
|
package/dist/init/client.d.ts
CHANGED
|
@@ -14,16 +14,9 @@ export type MainData = {
|
|
|
14
14
|
* ```js
|
|
15
15
|
* import * as app from './App.svelte';
|
|
16
16
|
* import * as errorPage from './Error.svelte';
|
|
17
|
-
* import entryQuery from './queries/entry.graphql';
|
|
18
|
-
* import globalQuery from './queries/global.graphql';
|
|
19
17
|
* import { main } from 'crelte/client';
|
|
20
18
|
*
|
|
21
|
-
* main({
|
|
22
|
-
* app,
|
|
23
|
-
* errorPage,
|
|
24
|
-
* entryQuery,
|
|
25
|
-
* globalQuery,
|
|
26
|
-
* });
|
|
19
|
+
* main({ app, errorPage });
|
|
27
20
|
* ```
|
|
28
21
|
*/
|
|
29
22
|
export declare function main(data: MainData): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/init/client.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC;CACf,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/init/client.ts"],"names":[],"mappings":"AAsBA;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACtB,4BAA4B;IAC5B,GAAG,EAAE,GAAG,CAAC;IACT,8BAA8B;IAC9B,SAAS,EAAE,GAAG,CAAC;CACf,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,QAAQ,iBA6JxC"}
|
package/dist/init/client.js
CHANGED
|
@@ -18,16 +18,9 @@ import { Writable } from '../std/stores/index.js';
|
|
|
18
18
|
* ```js
|
|
19
19
|
* import * as app from './App.svelte';
|
|
20
20
|
* import * as errorPage from './Error.svelte';
|
|
21
|
-
* import entryQuery from './queries/entry.graphql';
|
|
22
|
-
* import globalQuery from './queries/global.graphql';
|
|
23
21
|
* import { main } from 'crelte/client';
|
|
24
22
|
*
|
|
25
|
-
* main({
|
|
26
|
-
* app,
|
|
27
|
-
* errorPage,
|
|
28
|
-
* entryQuery,
|
|
29
|
-
* globalQuery,
|
|
30
|
-
* });
|
|
23
|
+
* main({ app, errorPage });
|
|
31
24
|
* ```
|
|
32
25
|
*/
|
|
33
26
|
export async function main(data) {
|
|
@@ -101,7 +94,7 @@ export async function main(data) {
|
|
|
101
94
|
// if the app is already rendered and entry did not change
|
|
102
95
|
// we just wan't to run domUpdated because we don't wan't to update anything
|
|
103
96
|
const route = readyForRoute();
|
|
104
|
-
cr.router.
|
|
97
|
+
cr.router.z_requestCompleted();
|
|
105
98
|
// globals should not be run because they will be empty
|
|
106
99
|
// since nobody called loadGlobalData (todo maybe globals should also,
|
|
107
100
|
// know if it accepts updates)
|
|
@@ -113,7 +106,7 @@ export async function main(data) {
|
|
|
113
106
|
const startTime = config.debugTiming ? Date.now() : null;
|
|
114
107
|
let render = async () => {
|
|
115
108
|
const route = readyForRoute();
|
|
116
|
-
cr.router.
|
|
109
|
+
cr.router.z_requestCompleted();
|
|
117
110
|
if (route.entryChanged)
|
|
118
111
|
cr.globals.z_syncToStores();
|
|
119
112
|
// we should trigger the route update here
|
package/dist/init/server.js
CHANGED
|
@@ -65,7 +65,7 @@ export async function main(data) {
|
|
|
65
65
|
router.loadRunner.loadFn = (cr, opts) => loadFn(cr, app, opts);
|
|
66
66
|
router.onRender = (cr, readyForRoute, _domUpdated) => {
|
|
67
67
|
const route = readyForRoute();
|
|
68
|
-
cr.router.
|
|
68
|
+
cr.router.z_requestCompleted();
|
|
69
69
|
cr.globals.z_syncToStores();
|
|
70
70
|
pluginsBeforeRender(cr, route);
|
|
71
71
|
return route;
|
package/dist/plugins/Events.d.ts
CHANGED
|
@@ -29,11 +29,11 @@ export default class Events {
|
|
|
29
29
|
* @returns a function to remove the listener
|
|
30
30
|
*/
|
|
31
31
|
on(ev: 'beforeRequest', fn: (cr: CrelteRequest) => Promise<void> | void): () => void;
|
|
32
|
-
on(ev: 'loadGlobalData', fn: (cr: CrelteRequest) => Promise<any>): () => void;
|
|
32
|
+
on(ev: 'loadGlobalData', fn: (cr: CrelteRequest) => Promise<any> | any): () => void;
|
|
33
33
|
on(ev: 'loadEntry', fn: (cr: CrelteRequest) => Promise<Entry | null> | Entry | null): () => void;
|
|
34
34
|
on(ev: 'beforeQueryEntry', fn: (cr: CrelteRequest, vars: EntryQueryVars) => Promise<void> | void): () => void;
|
|
35
|
-
on(ev: 'afterLoadEntry', fn: (cr: CrelteRequest) => Promise<any>): () => void;
|
|
36
|
-
on(ev: 'loadData', fn: (cr: CrelteRequest, entry: Entry) => Promise<any>): () => void;
|
|
35
|
+
on(ev: 'afterLoadEntry', fn: (cr: CrelteRequest) => Promise<any> | any): () => void;
|
|
36
|
+
on(ev: 'loadData', fn: (cr: CrelteRequest, entry: Entry) => Promise<any> | any): () => void;
|
|
37
37
|
on(ev: 'beforeRender', fn: (cr: CrelteRequest) => void): () => void;
|
|
38
38
|
/**
|
|
39
39
|
* Remove a listener
|
|
@@ -47,10 +47,10 @@ export default class Events {
|
|
|
47
47
|
* Trigger an event
|
|
48
48
|
*/
|
|
49
49
|
trigger(ev: 'beforeRequest', cr: CrelteRequest): (Promise<void> | void)[];
|
|
50
|
-
trigger(ev: 'loadGlobalData', cr: CrelteRequest): Promise<any>[];
|
|
50
|
+
trigger(ev: 'loadGlobalData', cr: CrelteRequest): (Promise<any> | any)[];
|
|
51
51
|
trigger(ev: 'beforeQueryEntry', cr: CrelteRequest, vars: EntryQueryVars): (Promise<void> | void)[];
|
|
52
|
-
trigger(ev: 'afterLoadEntry', cr: CrelteRequest): Promise<any>[];
|
|
53
|
-
trigger(ev: 'loadData', cr: CrelteRequest, entry: Entry): Promise<any>[];
|
|
52
|
+
trigger(ev: 'afterLoadEntry', cr: CrelteRequest): (Promise<any> | any)[];
|
|
53
|
+
trigger(ev: 'loadData', cr: CrelteRequest, entry: Entry): (Promise<any> | any)[];
|
|
54
54
|
trigger(ev: 'beforeRender', cr: CrelteRequest, route: Route): void[];
|
|
55
55
|
/**
|
|
56
56
|
* Get all listeners for an event
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../src/plugins/Events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,MAAM,CAAC,OAAO,OAAO,MAAM;IAC1B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;;IAM7B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IAEH,EAAE,CACD,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAC7C,MAAM,IAAI;IACb,EAAE,CACD,EAAE,EAAE,gBAAgB,EACpB,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"Events.d.ts","sourceRoot":"","sources":["../../src/plugins/Events.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,15 +14,35 @@ export type QueriesOptions = {
|
|
|
14
14
|
/**
|
|
15
15
|
* A GraphQL query
|
|
16
16
|
*
|
|
17
|
-
* You should almost never
|
|
18
|
-
*
|
|
17
|
+
* **You should almost never**
|
|
18
|
+
*
|
|
19
|
+
* When importing a graphql file you will get a {@link NamedQuery}
|
|
20
|
+
* or use the {@link gql} template function to create
|
|
21
|
+
* an {@link InlineQuery}.
|
|
22
|
+
* Alternatively you can use the {@link namedQuery} function to create
|
|
23
|
+
* a {@link NamedQuery}.
|
|
24
|
+
*/
|
|
25
|
+
export type Query = InlineQuery | NamedQuery;
|
|
26
|
+
/**
|
|
27
|
+
* You should never create this type directly. It is returned from
|
|
28
|
+
* the {@link gql} template function.
|
|
19
29
|
*/
|
|
20
|
-
export type
|
|
30
|
+
export type InlineQuery = {
|
|
21
31
|
path?: string;
|
|
22
32
|
query: string;
|
|
23
|
-
}
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Always create this object via the {@link namedQuery} function
|
|
36
|
+
*/
|
|
37
|
+
export type NamedQuery = {
|
|
24
38
|
queryName: string;
|
|
25
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Create a NamedQuery for the given server query name.
|
|
42
|
+
*
|
|
43
|
+
* Prefer importing a graphql file instead.
|
|
44
|
+
*/
|
|
45
|
+
export declare function namedQuery(name: string): NamedQuery;
|
|
26
46
|
/** Returns true if the passed object is a GraphQlQuery */
|
|
27
47
|
export declare function isQuery(obj: any): obj is Query;
|
|
28
48
|
/**
|
|
@@ -74,7 +94,12 @@ export default class Queries {
|
|
|
74
94
|
* @param opts options
|
|
75
95
|
* @returns
|
|
76
96
|
*/
|
|
77
|
-
static new(endpoint: string, frontend
|
|
97
|
+
static new(endpoint: string, frontend?: string | null, ssrCache?: SsrCache, opts?: QueriesOptions): Queries;
|
|
98
|
+
/**
|
|
99
|
+
* Create a new Queries instance that always intented to call an
|
|
100
|
+
* external GraphQl endpoint.
|
|
101
|
+
*/
|
|
102
|
+
static newExternal(endpoint: string, bearerToken?: string): Queries;
|
|
78
103
|
/**
|
|
79
104
|
* Run a GraphQl Query
|
|
80
105
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Queries.d.ts","sourceRoot":"","sources":["../../src/queries/Queries.ts"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAa,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"Queries.d.ts","sourceRoot":"","sources":["../../src/queries/Queries.ts"],"names":[],"mappings":"AAAA,OAAO,QAAwC,MAAM,oBAAoB,CAAC;AAC1E,OAAO,EAAa,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG;IAC5B,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,KAAK,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7C;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAEnD;AAED,0DAA0D;AAC1D,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,KAAK,CAI9C;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,YAAY,GAAG;IAC1B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,OAAO;IAC3B,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,KAAK,CAAgC;IAE7C,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO;IAUP;;;;;;;;OAQG;IACH,MAAM,CAAC,GAAG,CACT,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAM,GAAG,IAAW,EAC9B,QAAQ,GAAE,QAAyB,EACnC,IAAI,GAAE,cAAmB,GACvB,OAAO;IAQV;;;OAGG;IACH,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO;IAQnE;;;;;;;OAOG;IACG,KAAK,CACV,KAAK,EAAE,KAAK,EACZ,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EAClC,IAAI,GAAE,YAAiB,GACrB,OAAO,CAAC,OAAO,CAAC;IA0BnB;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,OAAO;CAGxB"}
|
package/dist/queries/Queries.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
import { calcKey as ssrCacheCalcKey } from '../ssr/SsrCache.js';
|
|
1
|
+
import SsrCache, { calcKey as ssrCacheCalcKey } from '../ssr/SsrCache.js';
|
|
2
2
|
import QueryError from './QueryError.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create a NamedQuery for the given server query name.
|
|
5
|
+
*
|
|
6
|
+
* Prefer importing a graphql file instead.
|
|
7
|
+
*/
|
|
8
|
+
export function namedQuery(name) {
|
|
9
|
+
return { queryName: name };
|
|
10
|
+
}
|
|
3
11
|
/** Returns true if the passed object is a GraphQlQuery */
|
|
4
12
|
export function isQuery(obj) {
|
|
5
13
|
if (typeof obj !== 'object' || obj === null)
|
|
@@ -31,9 +39,16 @@ export default class Queries {
|
|
|
31
39
|
* @param opts options
|
|
32
40
|
* @returns
|
|
33
41
|
*/
|
|
34
|
-
static new(endpoint, frontend, ssrCache, opts = {}) {
|
|
42
|
+
static new(endpoint, frontend = null, ssrCache = new SsrCache(), opts = {}) {
|
|
35
43
|
return new Queries(new Inner(endpoint, frontend, ssrCache, opts), opts?.route ?? null, null);
|
|
36
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Create a new Queries instance that always intented to call an
|
|
47
|
+
* external GraphQl endpoint.
|
|
48
|
+
*/
|
|
49
|
+
static newExternal(endpoint, bearerToken) {
|
|
50
|
+
return new Queries(new Inner(endpoint, null, new SsrCache(), { bearerToken }), null, null);
|
|
51
|
+
}
|
|
37
52
|
/**
|
|
38
53
|
* Run a GraphQl Query
|
|
39
54
|
*
|
|
@@ -136,6 +151,8 @@ class Inner {
|
|
|
136
151
|
async queryNotCached(query, vars, opts) {
|
|
137
152
|
let logName, url;
|
|
138
153
|
if ('queryName' in query) {
|
|
154
|
+
if (!this.frontend)
|
|
155
|
+
throw new Error('only inline queries supported');
|
|
139
156
|
logName = `query (server: ${query.queryName})`;
|
|
140
157
|
url = new URL(this.frontend);
|
|
141
158
|
url.pathname = '/queries/' + query.queryName;
|
package/dist/queries/gql.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { InlineQuery } from './Queries.js';
|
|
2
2
|
/**
|
|
3
3
|
* Create a GraphQL query string with variables.
|
|
4
4
|
* @param strings
|
|
@@ -9,5 +9,5 @@ import { Query } from './Queries.js';
|
|
|
9
9
|
* const query = gql`query ($id: ID!) { page(id: $id) { id } }`;
|
|
10
10
|
* ```
|
|
11
11
|
*/
|
|
12
|
-
export declare function gql(strings: TemplateStringsArray | string[] | string, ...keys: unknown[]):
|
|
12
|
+
export declare function gql(strings: TemplateStringsArray | string[] | string, ...keys: unknown[]): InlineQuery;
|
|
13
13
|
//# sourceMappingURL=gql.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../src/queries/gql.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../src/queries/gql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAW,MAAM,cAAc,CAAC;AAEpD;;;;;;;;;GASG;AACH,wBAAgB,GAAG,CAClB,OAAO,EAAE,oBAAoB,GAAG,MAAM,EAAE,GAAG,MAAM,EACjD,GAAG,IAAI,EAAE,OAAO,EAAE,GAChB,WAAW,CAuBb"}
|
package/dist/queries/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import Queries, { isQuery, QueriesOptions, Query, QueryOptions } from '../queries/Queries.js';
|
|
1
|
+
import Queries, { InlineQuery, isQuery, namedQuery, NamedQuery, QueriesOptions, Query, QueryOptions } from '../queries/Queries.js';
|
|
2
|
+
import type CrelteServerRequest from '../server/CrelteServer.js';
|
|
2
3
|
import { gql } from './gql.js';
|
|
3
4
|
import QueryError, { QueryErrorResponse } from './QueryError.js';
|
|
4
5
|
import { QueryVar, ValidIf, vars, varsIdsEqual } from './vars.js';
|
|
5
|
-
export { Queries, type QueriesOptions, type QueryOptions, type Query, isQuery, QueryError, type QueryErrorResponse, gql, vars, type ValidIf, QueryVar, varsIdsEqual, };
|
|
6
|
+
export { Queries, type QueriesOptions, type QueryOptions, type Query, type InlineQuery as GqlQuery, type NamedQuery, namedQuery, isQuery, QueryError, type QueryErrorResponse, gql, vars, type ValidIf, QueryVar, varsIdsEqual, };
|
|
6
7
|
/** @hidden */
|
|
7
8
|
export type InferQueryVarType<T> = T extends QueryVar<infer U> ? U : never;
|
|
8
9
|
/** @hidden */
|
|
@@ -10,6 +11,8 @@ export type InferVariableTypes<T> = {
|
|
|
10
11
|
[K in keyof T]: InferQueryVarType<T[K]>;
|
|
11
12
|
};
|
|
12
13
|
/**
|
|
14
|
+
* Defines when a query can safely be cached.
|
|
15
|
+
*
|
|
13
16
|
* #### Example
|
|
14
17
|
* ```ts
|
|
15
18
|
* import { vars, Caching } from 'crelte/queries';
|
|
@@ -24,4 +27,46 @@ export type InferVariableTypes<T> = {
|
|
|
24
27
|
* ```
|
|
25
28
|
*/
|
|
26
29
|
export type Caching<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>> = boolean | ((response: any, vars: InferVariableTypes<T>) => boolean);
|
|
30
|
+
/** use {@link Transfrom} */
|
|
31
|
+
export type TransformFn<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>> = (response: any, vars: InferVariableTypes<T>) => void | any | Promise<void | any>;
|
|
32
|
+
/**
|
|
33
|
+
* Transforms the query response before it is returned or cached.
|
|
34
|
+
*
|
|
35
|
+
* #### Example
|
|
36
|
+
* ```ts
|
|
37
|
+
* export const transform: Transform<typeof variables> = (response, vars) => {
|
|
38
|
+
* for (const entry of response.entries) {
|
|
39
|
+
* entry.title = entry.title.toUpperCase();
|
|
40
|
+
* }
|
|
41
|
+
* };
|
|
42
|
+
* ```
|
|
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>) => Awaited<ReturnType<F>>;
|
|
45
|
+
/** use {@link Handle} */
|
|
46
|
+
export type HandleFn<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>> = (csr: CrelteServerRequest, vars: InferVariableTypes<T>) => any;
|
|
47
|
+
/**
|
|
48
|
+
* Handles a query request.
|
|
49
|
+
*
|
|
50
|
+
* #### Example
|
|
51
|
+
* ```ts
|
|
52
|
+
* // queries/custom.ts
|
|
53
|
+
* import { vars, type Handle, gql, namedQuery } from 'crelte/queries';
|
|
54
|
+
*
|
|
55
|
+
* // It is good practice to have the query name inside the file
|
|
56
|
+
* export const customQuery = namedQuery('custom');
|
|
57
|
+
*
|
|
58
|
+
* export const variables = {
|
|
59
|
+
* name: vars.string(),
|
|
60
|
+
* };
|
|
61
|
+
*
|
|
62
|
+
* export const handle: Handle<typeof variables> = async (csr, vars) => {
|
|
63
|
+
* if (vars.name === 'demo') {
|
|
64
|
+
* throw new Response('not allowed', { status: 400 });
|
|
65
|
+
* }
|
|
66
|
+
*
|
|
67
|
+
* return { name: vars.name };
|
|
68
|
+
* };
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
export type Handle<T extends Record<string, QueryVar<any>> = Record<string, QueryVar<any>>, F extends HandleFn<T> = HandleFn<T>> = (csr: CrelteServerRequest, vars: InferVariableTypes<T>) => Awaited<ReturnType<F>>;
|
|
27
72
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,EAAE,EACf,OAAO,EACP,cAAc,EACd,KAAK,EACL,YAAY,EACZ,MAAM,uBAAuB,CAAC;AAC/B,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,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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/queries/index.ts"],"names":[],"mappings":"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"}
|
package/dist/queries/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Queries, { isQuery, } from '../queries/Queries.js';
|
|
1
|
+
import Queries, { isQuery, namedQuery, } from '../queries/Queries.js';
|
|
2
2
|
import { gql } from './gql.js';
|
|
3
3
|
import QueryError from './QueryError.js';
|
|
4
4
|
import { QueryVar, vars, varsIdsEqual } from './vars.js';
|
|
5
|
-
export { Queries, isQuery, QueryError, gql, vars, QueryVar, varsIdsEqual, };
|
|
5
|
+
export { Queries, namedQuery, isQuery, QueryError, gql, vars, QueryVar, varsIdsEqual, };
|
package/dist/queries/vars.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare class QueryVar<T = any> {
|
|
|
40
40
|
private name;
|
|
41
41
|
private type;
|
|
42
42
|
private flagNullable;
|
|
43
|
+
private defaultValue;
|
|
43
44
|
private validIfFn;
|
|
44
45
|
constructor();
|
|
45
46
|
string(): QueryVar<string>;
|
|
@@ -47,6 +48,7 @@ export declare class QueryVar<T = any> {
|
|
|
47
48
|
id(): QueryVar<number>;
|
|
48
49
|
ids(): QueryVar<number[]>;
|
|
49
50
|
nullable(): QueryVar<T | null>;
|
|
51
|
+
default(value: T): QueryVar<T>;
|
|
50
52
|
/**
|
|
51
53
|
* Set a validation function for this variable
|
|
52
54
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../src/queries/vars.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,eAAO,MAAM,IAAI;eACP,QAAQ,CAAC,GAAG,CAAC;kBACV,QAAQ,CAAC,MAAM,CAAC;kBAChB,QAAQ,CAAC,MAAM,CAAC;IAE5B;;;;;;;;OAQG;cACK,QAAQ,CAAC,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;eACM,QAAQ,CAAC,MAAM,EAAE,CAAC;kBAEf,QAAQ,CAAC,MAAM,CAAC;CAM5B,CAAC;AAIF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC;AAE7D,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC5B,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,IAAI,CAA6C;IACzD,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,SAAS,CAAa;;
|
|
1
|
+
{"version":3,"file":"vars.d.ts","sourceRoot":"","sources":["../../src/queries/vars.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,eAAO,MAAM,IAAI;eACP,QAAQ,CAAC,GAAG,CAAC;kBACV,QAAQ,CAAC,MAAM,CAAC;kBAChB,QAAQ,CAAC,MAAM,CAAC;IAE5B;;;;;;;;OAQG;cACK,QAAQ,CAAC,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;OAkBG;eACM,QAAQ,CAAC,MAAM,EAAE,CAAC;kBAEf,QAAQ,CAAC,MAAM,CAAC;CAM5B,CAAC;AAIF,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,YAAY,KAAK,OAAO,CAAC;AAE7D,qBAAa,QAAQ,CAAC,CAAC,GAAG,GAAG;IAC5B,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,IAAI,CAA6C;IACzD,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,SAAS,CAAa;;IAU9B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;IAK1B,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;IAK1B,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC;IAKtB,GAAG,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;IAKzB,QAAQ,IAAI,QAAQ,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9B,OAAO,CAAC,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAK9B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IAKpC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,GAAG,CAAC,GAAG,IAAI;IA2E9C;;;OAGG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC;IAKpC,YAAY;CACZ;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,QAAQ,CAMhD;AAOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,YAAY,CAC3B,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,EAC9B,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAWT"}
|
package/dist/queries/vars.js
CHANGED
|
@@ -40,11 +40,13 @@ export class QueryVar {
|
|
|
40
40
|
name;
|
|
41
41
|
type;
|
|
42
42
|
flagNullable;
|
|
43
|
+
defaultValue;
|
|
43
44
|
validIfFn;
|
|
44
45
|
constructor() {
|
|
45
46
|
this.name = null;
|
|
46
47
|
this.type = 'any';
|
|
47
48
|
this.flagNullable = false;
|
|
49
|
+
this.defaultValue = undefined;
|
|
48
50
|
this.validIfFn = () => true;
|
|
49
51
|
}
|
|
50
52
|
string() {
|
|
@@ -67,6 +69,10 @@ export class QueryVar {
|
|
|
67
69
|
this.flagNullable = true;
|
|
68
70
|
return this;
|
|
69
71
|
}
|
|
72
|
+
default(value) {
|
|
73
|
+
this.defaultValue = value;
|
|
74
|
+
return this;
|
|
75
|
+
}
|
|
70
76
|
/**
|
|
71
77
|
* Set a validation function for this variable
|
|
72
78
|
*
|
|
@@ -82,6 +88,8 @@ export class QueryVar {
|
|
|
82
88
|
if (typeof v === 'undefined')
|
|
83
89
|
v = null;
|
|
84
90
|
if (v === null) {
|
|
91
|
+
if (this.defaultValue !== undefined)
|
|
92
|
+
return this.defaultValue;
|
|
85
93
|
if (!this.flagNullable)
|
|
86
94
|
throw new Error(`variable ${this.name} cannot be null`);
|
|
87
95
|
return null;
|
|
@@ -109,6 +117,8 @@ export class QueryVar {
|
|
|
109
117
|
if (!Array.isArray(v))
|
|
110
118
|
throw new Error(`variable ${this.name} is not an id or a list of ids`);
|
|
111
119
|
if (v.length <= 0) {
|
|
120
|
+
if (this.defaultValue !== undefined)
|
|
121
|
+
return this.defaultValue;
|
|
112
122
|
if (this.flagNullable)
|
|
113
123
|
return null;
|
|
114
124
|
throw new Error(`variable ${this.name} is not allowed to be empty`);
|
|
@@ -65,7 +65,8 @@ export default class BaseRouter {
|
|
|
65
65
|
*/
|
|
66
66
|
primarySite(): Site;
|
|
67
67
|
/**
|
|
68
|
-
*
|
|
68
|
+
* Returns the default site tries to use a site which matches the preferred language
|
|
69
|
+
* else returns the primary site
|
|
69
70
|
*/
|
|
70
71
|
defaultSite(): Site;
|
|
71
72
|
preferredSite(): Site | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/router/BaseRouter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,OAAO,EAAE,EAAa,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,MAAM,mBAAmB,CAAC;AACtC,OAAO,IAAI,EAAE,EAAE,eAAe,EAAe,MAAM,YAAY,CAAC;AAChE,OAAO,UAAU,EAAE,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAGhD,MAAM,MAAM,iBAAiB,GAAG,EAAE,GAAG,iBAAiB,CAAC;AAIvD,MAAM,CAAC,OAAO,OAAO,UAAU;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,SAAS,EAAE,MAAM,EAAE,CAAC;IAEpB;;;;;OAKG;IACH,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAG9B;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAG5B;;;;;OAKG;IACH,KAAK,EAAE,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;IAG9B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAExB;;;OAGG;IACH,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE3B;;OAEG;IACH,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAElC,kBAAkB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,aAAa,CAAC;IAEpD;;OAEG;IACH,eAAe,EAAE,CAAC,EAAE,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAE7D,kBAAkB,EAAE,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IAE/C,UAAU,EAAE,UAAU,CAAC;IAEvB,gBAAgB,EAAE,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAGrC,QAAQ,EAAE,CACT,EAAE,EAAE,aAAa;IACjB;;;OAGG;IACH,aAAa,EAAE,MAAM,KAAK,EAC1B,UAAU,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,KACjD,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;gBAG3B,KAAK,EAAE,eAAe,EAAE,EACxB,SAAS,EAAE,MAAM,EAAE,EACnB,IAAI,EAAE,iBAAiB;IA0BxB;;OAEG;IACH,WAAW,IAAI,IAAI;IAInB
|
|
1
|
+
{"version":3,"file":"BaseRouter.d.ts","sourceRoot":"","sources":["../../../src/routing/router/BaseRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -87,8 +87,10 @@ export default class BaseRouter {
|
|
|
87
87
|
return this.sites.find(s => s.primary) ?? this.sites[0];
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
|
-
*
|
|
90
|
+
* Returns the default site tries to use a site which matches the preferred language
|
|
91
|
+
* else returns the primary site
|
|
91
92
|
*/
|
|
93
|
+
// todo check that the router uses the correct sites for each function
|
|
92
94
|
defaultSite() {
|
|
93
95
|
return this.preferredSite() ?? this.primarySite();
|
|
94
96
|
}
|
|
@@ -173,7 +175,7 @@ export default class BaseRouter {
|
|
|
173
175
|
async preload(target) {
|
|
174
176
|
const req = this.targetToRequest(target, { origin: 'preload' });
|
|
175
177
|
const current = this.route.get();
|
|
176
|
-
// if the origin matches, the route will be able to be
|
|
178
|
+
// if the origin matches, the route will be able to be loaded
|
|
177
179
|
// so let's preload it
|
|
178
180
|
if (current && current.url.origin === req.url.origin) {
|
|
179
181
|
// todo i don't wan't to send a CrelteRequest?
|
|
@@ -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;IAiB7D,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;
|
|
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;IAiB7D,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;IA+DN,QAAQ;IAgCR,YAAY,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,GAAG,IAAI;CA8DpD"}
|
|
@@ -146,11 +146,10 @@ export default class ClientRouter extends BaseRouter {
|
|
|
146
146
|
}
|
|
147
147
|
window.addEventListener('scroll', () => this.onScroll());
|
|
148
148
|
window.addEventListener('popstate', async (e) => {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
149
|
+
const req = this.targetToRequest(window.location.href, {
|
|
150
|
+
origin: 'pop',
|
|
151
|
+
});
|
|
152
152
|
req.z_fillFromState(e.state);
|
|
153
|
-
req.origin = 'pop';
|
|
154
153
|
// todo handle errors
|
|
155
154
|
this.handleRequest(req, () => { });
|
|
156
155
|
});
|
|
@@ -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;IAqB1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,OAAO,CACZ,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,EACtC,IAAI,GAAE,cAAmB;IAmB1B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKnC;;;;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,
|
|
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;IAqB1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKhC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACG,OAAO,CACZ,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,aAAa,EACtC,IAAI,GAAE,cAAmB;IAmB1B;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAKnC;;;;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"}
|
package/dist/routing/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Site from './Site.js';
|
|
2
2
|
export declare function trimSlashEnd(str: string): string;
|
|
3
|
+
/** same as ?? but only for undefined */
|
|
3
4
|
export declare function orDef<T>(a: T | undefined, def: T): T;
|
|
4
5
|
export declare function preferredSite(sites: Site[], languages: string[]): Site | null;
|
|
5
6
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAEvC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/routing/utils.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAEvC;AAED,wCAAwC;AACxC,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAEpD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,IAAI,CAK7E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CACnC,CAAC,EAAE,YAAY,EACf,IAAI,EAAE,iBAAiB,GAAG,SAAS,GACjC,OAAO,CAQT"}
|
package/dist/routing/utils.js
CHANGED
|
@@ -2,7 +2,7 @@ import { matchLanguages } from '../std/intl/index.js';
|
|
|
2
2
|
export function trimSlashEnd(str) {
|
|
3
3
|
return str.endsWith('/') ? str.substring(0, str.length - 1) : str;
|
|
4
4
|
}
|
|
5
|
-
|
|
5
|
+
/** same as ?? but only for undefined */
|
|
6
6
|
export function orDef(a, def) {
|
|
7
7
|
return a === undefined ? def : a;
|
|
8
8
|
}
|