@hkdigital/lib-core 0.4.44 → 0.4.46
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/logging/internal/factories/client.d.ts +6 -2
- package/dist/logging/internal/factories/client.js +13 -3
- package/dist/logging/internal/factories/server.d.ts +6 -2
- package/dist/logging/internal/factories/server.js +12 -13
- package/dist/network/loaders/base/SceneBase.svelte.js +17 -2
- package/dist/state/machines/loading-state-machine/LoadingStateMachine.svelte.js +1 -0
- package/package.json +1 -1
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
* Create a client-side logger with console adapter
|
|
3
3
|
*
|
|
4
4
|
* @param {string} name
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* @param {import('../../typedef.js').LogLevel} level
|
|
7
|
+
* Initial log level
|
|
8
|
+
*
|
|
6
9
|
* @param {Object} [consoleOptions] - Additional console options
|
|
10
|
+
*
|
|
7
11
|
* @returns {Logger} Configured logger instance
|
|
8
12
|
*/
|
|
9
|
-
export function createClientLogger(name: string, level
|
|
13
|
+
export function createClientLogger(name: string, level: import("../../typedef.js").LogLevel, consoleOptions?: Object): Logger;
|
|
10
14
|
import { Logger } from '../logger/index.js';
|
|
@@ -1,20 +1,30 @@
|
|
|
1
1
|
import { Logger } from '../logger/index.js';
|
|
2
2
|
import { ConsoleAdapter } from '../adapters/console.js';
|
|
3
|
-
import {
|
|
3
|
+
import { DEBUG, LOG, LEVELS } from '../../levels.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
* Create a client-side logger with console adapter
|
|
7
7
|
*
|
|
8
8
|
* @param {string} name
|
|
9
|
-
*
|
|
9
|
+
*
|
|
10
|
+
* @param {import('../../typedef.js').LogLevel} level
|
|
11
|
+
* Initial log level
|
|
12
|
+
*
|
|
10
13
|
* @param {Object} [consoleOptions] - Additional console options
|
|
14
|
+
*
|
|
11
15
|
* @returns {Logger} Configured logger instance
|
|
12
16
|
*/
|
|
13
|
-
export function createClientLogger(name, level
|
|
17
|
+
export function createClientLogger(name, level, consoleOptions = {}) {
|
|
18
|
+
|
|
19
|
+
if( !level || !LEVELS[level] ) {
|
|
20
|
+
throw new Error('Missing or invalid parameter [level]');
|
|
21
|
+
}
|
|
22
|
+
|
|
14
23
|
const logger = new Logger(name, level);
|
|
15
24
|
const adapter = new ConsoleAdapter({ ...consoleOptions, level });
|
|
16
25
|
|
|
17
26
|
// Connect adapter to logger events
|
|
27
|
+
// @ts-ignore (just accept logEvent)
|
|
18
28
|
logger.on(LOG, (logEvent) => adapter.handleLog(logEvent));
|
|
19
29
|
|
|
20
30
|
return logger;
|
|
@@ -2,9 +2,13 @@
|
|
|
2
2
|
* Create a server-side logger with pino adapter
|
|
3
3
|
*
|
|
4
4
|
* @param {string} name
|
|
5
|
-
*
|
|
5
|
+
*
|
|
6
|
+
* @param {import('../../typedef.js').LogLevel} level
|
|
7
|
+
* Initial log level
|
|
8
|
+
*
|
|
6
9
|
* @param {Object} [pinoOptions] - Additional pino options
|
|
10
|
+
*
|
|
7
11
|
* @returns {Logger} Configured logger instance
|
|
8
12
|
*/
|
|
9
|
-
export function createServerLogger(name: string, level
|
|
13
|
+
export function createServerLogger(name: string, level: import("../../typedef.js").LogLevel, pinoOptions?: Object): Logger;
|
|
10
14
|
import { Logger } from '../logger/index.js';
|
|
@@ -1,31 +1,30 @@
|
|
|
1
1
|
import { Logger } from '../logger/index.js';
|
|
2
2
|
import { PinoAdapter } from '../adapters/pino.js';
|
|
3
|
-
import {
|
|
4
|
-
// import { expectNoSSRContext } from '../../../util/ssr/index.js';
|
|
3
|
+
import { LOG, LEVELS } from '../../levels.js';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Create a server-side logger with pino adapter
|
|
8
7
|
*
|
|
9
8
|
* @param {string} name
|
|
10
|
-
*
|
|
9
|
+
*
|
|
10
|
+
* @param {import('../../typedef.js').LogLevel} level
|
|
11
|
+
* Initial log level
|
|
12
|
+
*
|
|
11
13
|
* @param {Object} [pinoOptions] - Additional pino options
|
|
14
|
+
*
|
|
12
15
|
* @returns {Logger} Configured logger instance
|
|
13
16
|
*/
|
|
14
|
-
export function createServerLogger(name, level
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
export function createServerLogger(name, level, pinoOptions = {}) {
|
|
18
|
+
|
|
19
|
+
if( !level || !LEVELS[level] ) {
|
|
20
|
+
throw new Error('Missing or invalid parameter [level]');
|
|
21
|
+
}
|
|
17
22
|
|
|
18
23
|
const logger = new Logger(name, level);
|
|
19
24
|
const adapter = new PinoAdapter(pinoOptions);
|
|
20
25
|
|
|
21
26
|
// Connect adapter to logger events
|
|
22
|
-
//
|
|
23
|
-
// @note pino might fail if:
|
|
24
|
-
// pino tries to create a worker thread for pino-pretty before the
|
|
25
|
-
// development environment is fully ready, causing the transport target
|
|
26
|
-
// determination to fail
|
|
27
|
-
// -> Stop and start the dev server
|
|
28
|
-
//
|
|
27
|
+
// @ts-ignore (just accept logEvent)
|
|
29
28
|
logger.on(LOG, (logEvent) => adapter.handleLog(logEvent));
|
|
30
29
|
|
|
31
30
|
return logger;
|
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
LOAD,
|
|
11
11
|
LOADED,
|
|
12
12
|
ABORT,
|
|
13
|
-
ABORTED
|
|
13
|
+
ABORTED,
|
|
14
|
+
ERROR
|
|
14
15
|
} from '../../../state/machines.js';
|
|
15
16
|
|
|
16
17
|
import { waitForState } from '../../../util/svelte.js';
|
|
@@ -108,6 +109,20 @@ export default class SceneBase {
|
|
|
108
109
|
}
|
|
109
110
|
});
|
|
110
111
|
|
|
112
|
+
$effect(() => {
|
|
113
|
+
if (this.#state.current === STATE_LOADING) {
|
|
114
|
+
// Check if any source failed during loading
|
|
115
|
+
const sources = this.sources;
|
|
116
|
+
for (const source of sources) {
|
|
117
|
+
const loader = this.getLoaderFromSource(source);
|
|
118
|
+
if (loader.state === STATE_ERROR) {
|
|
119
|
+
this.#state.send(ERROR, loader.error || new Error('Source loading failed'));
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
|
|
111
126
|
state.onenter = (currentState) => {
|
|
112
127
|
if (currentState === STATE_LOADING) {
|
|
113
128
|
this.#startLoading();
|
|
@@ -253,7 +268,7 @@ export default class SceneBase {
|
|
|
253
268
|
if (isAborted || this.state === STATE_ABORTED) {
|
|
254
269
|
reject(new Error('Preload was aborted'));
|
|
255
270
|
} else if (this.state === STATE_ERROR) {
|
|
256
|
-
reject(
|
|
271
|
+
reject(this.#state.error);
|
|
257
272
|
} else if (this.loaded) {
|
|
258
273
|
resolve(this);
|
|
259
274
|
} else {
|