@digital-alchemy/core 0.2.0 → 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/README.md +26 -30
- package/dist/extensions/cache.extension.d.ts +4 -9
- package/dist/extensions/cache.extension.js +1 -3
- package/dist/extensions/cache.extension.js.map +1 -1
- package/dist/extensions/configuration.extension.d.ts +27 -10
- package/dist/extensions/configuration.extension.js +2 -3
- package/dist/extensions/configuration.extension.js.map +1 -1
- package/dist/extensions/fetch.extension.d.ts +1 -12
- package/dist/extensions/fetch.extension.js +1 -4
- package/dist/extensions/fetch.extension.js.map +1 -1
- package/dist/extensions/internal.extension.d.ts +44 -1
- package/dist/extensions/internal.extension.js +44 -2
- package/dist/extensions/internal.extension.js.map +1 -1
- package/dist/extensions/logger.extension.d.ts +1 -7
- package/dist/extensions/logger.extension.js +6 -8
- package/dist/extensions/logger.extension.js.map +1 -1
- package/dist/extensions/scheduler.extension.d.ts +1 -1
- package/dist/extensions/scheduler.extension.js +4 -5
- package/dist/extensions/scheduler.extension.js.map +1 -1
- package/dist/extensions/wiring.extension.d.ts +5 -38
- package/dist/extensions/wiring.extension.js +51 -62
- package/dist/extensions/wiring.extension.js.map +1 -1
- package/dist/helpers/config-environment-loader.helper.d.ts +1 -1
- package/dist/helpers/config-environment-loader.helper.js +3 -3
- package/dist/helpers/config-environment-loader.helper.js.map +1 -1
- package/dist/helpers/config.helper.d.ts +4 -3
- package/dist/helpers/config.helper.js.map +1 -1
- package/dist/helpers/testing.helper.js +1 -1
- package/dist/helpers/testing.helper.js.map +1 -1
- package/dist/helpers/wiring.helper.d.ts +3 -4
- package/dist/helpers/wiring.helper.js.map +1 -1
- package/package.json +7 -6
package/README.md
CHANGED
|
@@ -1,47 +1,43 @@
|
|
|
1
|
-
# Digital Alchemy
|
|
1
|
+
# 🚀 Project Overview - Digital Alchemy TypeScript Libraries
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Welcome to `@digital-alchemy/core`!
|
|
4
|
+
This repository contains the boilerplate code for building applications and wiring logic.
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
## 🌐 Core Library Overview
|
|
6
7
|
|
|
7
|
-
|
|
8
|
+
### 🗃️ Cache
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
Flexible caching solutions with support for memory and Redis cache drivers.
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
### ⚙️ Configuration
|
|
12
13
|
|
|
13
|
-
|
|
14
|
+
Dynamic application settings management, prioritizing configuration from multiple sources for maximum flexibility.
|
|
14
15
|
|
|
15
|
-
|
|
16
|
+
### 🌍 Fetch Wrapper
|
|
16
17
|
|
|
17
|
-
|
|
18
|
+
Simplifies RESTful service integration, streamlining the development of verbose adapters.
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
### 📝 Logger
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
Advanced logging interface for detailed and customizable output, compatible with external libraries for specialized logging needs.
|
|
22
23
|
|
|
23
|
-
###
|
|
24
|
+
### ⏲️ Scheduler
|
|
24
25
|
|
|
25
|
-
|
|
26
|
+
Lifecycle-aware task scheduling, featuring flexible timing functions and robust error handling.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
+
### 🔄 Application Lifecycle Management
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
Comprehensive support for managing the application's lifecycle, from initialization to shutdown.
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
## 📚 Explore Our Libraries and Applications
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
Dive deeper into the ecosystem by exploring related libraries and applications published under the Digital Alchemy organization.
|
|
35
|
+
Each is designed to extend the capabilities the core library, offering specialized functionalities for a wide range of use cases.
|
|
34
36
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
- **Mock Home:** A comprehensive sandbox for experimenting with and showcasing various automation techniques. [Mock Home on GitHub](https://github.com/zoe-codez/mock-home)
|
|
43
|
-
- **Automation Template:** A starter template to quickly get your projects up and running. [Automation Template on GitHub](https://github.com/zoe-codez/automation-template)
|
|
44
|
-
|
|
45
|
-
## 🤝 Contribution
|
|
46
|
-
|
|
47
|
-
We warmly welcome contributions. Whether you're enhancing the framework, sharing examples, or enriching documentation, your efforts significantly benefit the community.
|
|
37
|
+
| Library/Application | Description | GitHub | npm |
|
|
38
|
+
| ------------------- | ------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------- |
|
|
39
|
+
| `hass` | Home Assistant integration for smart home automation. | [GitHub](https://github.com/Digital-Alchemy-TS/hass) | [npm](https://www.npmjs.com/package/@digital-alchemy/hass) |
|
|
40
|
+
| `synapse` | Tools for generating entities within home assistant | [GitHub](https://github.com/Digital-Alchemy-TS/synapse) | [npm](https://www.npmjs.com/package/@digital-alchemy/synapse) |
|
|
41
|
+
| `automation` | Advanced automation tools for creating dynamic workflows. | [GitHub](https://github.com/Digital-Alchemy-TS/automation) | [npm](https://www.npmjs.com/package/@digital-alchemy/automation) |
|
|
42
|
+
| `terminal` | Tools and components for complex terminal applications | [GitHub](https://github.com/Digital-Alchemy-TS/terminal) | [npm](https://www.npmjs.com/package/@digital-alchemy/terminal) |
|
|
43
|
+
| `gotify` | Integration for Gotify notifications, enabling seamless alerting and messaging. | [GitHub](https://github.com/Digital-Alchemy-TS/gotify) | [npm](https://www.npmjs.com/package/@digital-alchemy/gotify-extension) |
|
|
@@ -5,11 +5,6 @@ export interface ICacheDriver {
|
|
|
5
5
|
del(key: string): Promise<void>;
|
|
6
6
|
keys(pattern?: string): Promise<string[]>;
|
|
7
7
|
}
|
|
8
|
-
export declare enum CacheProviders {
|
|
9
|
-
redis = "redis",
|
|
10
|
-
memory = "memory"
|
|
11
|
-
}
|
|
12
|
-
export declare function Cache({ logger, lifecycle, config, internal, }: TServiceParams): TCache;
|
|
13
8
|
export type TCache = {
|
|
14
9
|
del: (key: string) => Promise<void>;
|
|
15
10
|
get: <T>(key: string, defaultValue?: T) => Promise<T>;
|
|
@@ -17,8 +12,8 @@ export type TCache = {
|
|
|
17
12
|
keys: (pattern?: string) => Promise<string[]>;
|
|
18
13
|
setClient: (client: ICacheDriver) => void;
|
|
19
14
|
};
|
|
20
|
-
declare
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
15
|
+
export declare enum CacheProviders {
|
|
16
|
+
redis = "redis",
|
|
17
|
+
memory = "memory"
|
|
24
18
|
}
|
|
19
|
+
export declare function Cache({ logger, lifecycle, config, internal, }: TServiceParams): TCache;
|
|
@@ -25,7 +25,7 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
25
25
|
}
|
|
26
26
|
client = await (0, __1.createMemoryDriver)({ config, logger });
|
|
27
27
|
});
|
|
28
|
-
|
|
28
|
+
return {
|
|
29
29
|
[Symbol.for("cache_logger")]: logger,
|
|
30
30
|
del: async (key) => {
|
|
31
31
|
try {
|
|
@@ -89,8 +89,6 @@ function Cache({ logger, lifecycle, config, internal, }) {
|
|
|
89
89
|
client = newClient;
|
|
90
90
|
},
|
|
91
91
|
};
|
|
92
|
-
_1.ZCC.cache = cache;
|
|
93
|
-
return cache;
|
|
94
92
|
}
|
|
95
93
|
exports.Cache = Cache;
|
|
96
94
|
//# sourceMappingURL=cache.extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.extension.js","sourceRoot":"","sources":["../../src/extensions/cache.extension.ts"],"names":[],"mappings":";;;AAAA,0BASY;AACZ,
|
|
1
|
+
{"version":3,"file":"cache.extension.js","sourceRoot":"","sources":["../../src/extensions/cache.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,33 @@ export declare const INITIALIZE: unique symbol;
|
|
|
3
3
|
export declare const LOAD_PROJECT: unique symbol;
|
|
4
4
|
export declare const EVENT_CONFIGURATION_UPDATED = "event_configuration_updated";
|
|
5
5
|
export declare const INJECTED_DEFINITIONS: unique symbol;
|
|
6
|
-
export declare function Configuration({ context, event, lifecycle, internal, logger, }: TServiceParams):
|
|
6
|
+
export declare function Configuration({ context, event, lifecycle, internal, logger, }: TServiceParams): {
|
|
7
|
+
[INITIALIZE]: <S extends ServiceMap, C extends import("..").ModuleConfiguration>(application: ApplicationDefinition<S, C>) => Promise<string>;
|
|
8
|
+
[INJECTED_DEFINITIONS]: () => TInjectedConfig;
|
|
9
|
+
[LOAD_PROJECT]: (library: string, definitions: CodeConfigDefinition) => KnownConfigs;
|
|
10
|
+
addConfigLoader: (loader: ConfigLoader) => Set<ConfigLoader>;
|
|
11
|
+
getDefinitions: () => KnownConfigs;
|
|
12
|
+
merge: (merge: Partial<PartialConfiguration>) => Partial<{
|
|
13
|
+
boilerplate: Partial<{
|
|
14
|
+
CACHE_PREFIX: string;
|
|
15
|
+
CACHE_PROVIDER: "redis" | "memory";
|
|
16
|
+
CACHE_TTL: number;
|
|
17
|
+
CONFIG: string;
|
|
18
|
+
LOG_LEVEL: keyof import("./logger.extension").ILogger;
|
|
19
|
+
REDIS_URL: string;
|
|
20
|
+
}>;
|
|
21
|
+
}> & Partial<Partial<{
|
|
22
|
+
boilerplate: Partial<{
|
|
23
|
+
CACHE_PREFIX: string;
|
|
24
|
+
CACHE_PROVIDER: "redis" | "memory";
|
|
25
|
+
CACHE_TTL: number;
|
|
26
|
+
CONFIG: string;
|
|
27
|
+
LOG_LEVEL: keyof import("./logger.extension").ILogger;
|
|
28
|
+
REDIS_URL: string;
|
|
29
|
+
}>;
|
|
30
|
+
}>>;
|
|
31
|
+
set: <Project extends "boilerplate", Property extends keyof TInjectedConfig[Project]>(project: Project, property: Property, value: TInjectedConfig[Project][Property]) => void;
|
|
32
|
+
};
|
|
7
33
|
export type ConfigManager = {
|
|
8
34
|
addConfigLoader: (loader: ConfigLoader) => Set<ConfigLoader>;
|
|
9
35
|
[INJECTED_DEFINITIONS]: () => TInjectedConfig;
|
|
@@ -13,12 +39,3 @@ export type ConfigManager = {
|
|
|
13
39
|
merge: (merge: Partial<PartialConfiguration>) => PartialConfiguration & Partial<PartialConfiguration>;
|
|
14
40
|
set<Project extends keyof TInjectedConfig, Property extends keyof TInjectedConfig[Project]>(project: Project, property: Property, value: TInjectedConfig[Project][Property]): void;
|
|
15
41
|
};
|
|
16
|
-
type ExcludeSymbolKeys<T> = {
|
|
17
|
-
[Key in keyof T as Key extends symbol ? never : Key]: T[Key];
|
|
18
|
-
};
|
|
19
|
-
declare module "." {
|
|
20
|
-
interface InternalDefinition {
|
|
21
|
-
config: ExcludeSymbolKeys<ConfigManager>;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export {};
|
|
@@ -39,6 +39,7 @@ logger, }) {
|
|
|
39
39
|
const merge = await loader({
|
|
40
40
|
application,
|
|
41
41
|
configs: configDefinitions,
|
|
42
|
+
internal,
|
|
42
43
|
logger,
|
|
43
44
|
});
|
|
44
45
|
(0, __1.deepExtend)(configuration, merge);
|
|
@@ -95,7 +96,7 @@ logger, }) {
|
|
|
95
96
|
return configDefinitions.set(library, definitions);
|
|
96
97
|
}
|
|
97
98
|
// ## Return object
|
|
98
|
-
|
|
99
|
+
return {
|
|
99
100
|
[exports.INITIALIZE]: Initialize,
|
|
100
101
|
[exports.INJECTED_DEFINITIONS]: InjectedDefinitions,
|
|
101
102
|
[exports.LOAD_PROJECT]: LoadProject,
|
|
@@ -104,8 +105,6 @@ logger, }) {
|
|
|
104
105
|
merge: Merge,
|
|
105
106
|
set: SetConfig,
|
|
106
107
|
};
|
|
107
|
-
internal.config = out;
|
|
108
|
-
return out;
|
|
109
108
|
}
|
|
110
109
|
exports.Configuration = Configuration;
|
|
111
110
|
//# sourceMappingURL=configuration.extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configuration.extension.js","sourceRoot":"","sources":["../../src/extensions/configuration.extension.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"configuration.extension.js","sourceRoot":"","sources":["../../src/extensions/configuration.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,9 @@
|
|
|
1
1
|
import { DownloadOptions, FetchArguments, FetcherOptions, TServiceParams } from "..";
|
|
2
2
|
export declare function Fetch({ logger, context: parentContext }: TServiceParams): ({ headers: baseHeaders, baseUrl, context: logContext, }: FetcherOptions) => {
|
|
3
3
|
download: ({ destination, body, headers, label, context, method, ...fetchWith }: DownloadOptions) => Promise<void>;
|
|
4
|
-
fetch: <T, BODY extends object = undefined>(fetchWith: Partial<FetchArguments<BODY>>) => Promise<T>;
|
|
4
|
+
fetch: <T, BODY extends object = undefined>(fetchWith: Partial<FetchArguments<BODY>>) => Promise<T | undefined>;
|
|
5
5
|
setBaseUrl: (url: string) => string;
|
|
6
6
|
setHeaders: (headers: Record<string, string>) => Record<string, string>;
|
|
7
7
|
};
|
|
8
8
|
export type TFetch = <T, BODY extends object = object>(fetchWith: Partial<FetchArguments<BODY>>) => Promise<T>;
|
|
9
9
|
export type TDownload = (fetchWith: DownloadOptions) => Promise<void>;
|
|
10
|
-
declare module "." {
|
|
11
|
-
interface InternalDefinition {
|
|
12
|
-
createFetcher: (options: FetcherOptions) => {
|
|
13
|
-
download: TDownload;
|
|
14
|
-
setBaseUrl: (url: string) => void;
|
|
15
|
-
setHeaders: (headers: Record<string, string>) => void;
|
|
16
|
-
fetch: TFetch;
|
|
17
|
-
};
|
|
18
|
-
fetch: TFetch;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -8,7 +8,7 @@ const __1 = require("..");
|
|
|
8
8
|
const _1 = require(".");
|
|
9
9
|
const streamPipeline = (0, util_1.promisify)(stream_1.pipeline);
|
|
10
10
|
function Fetch({ logger, context: parentContext }) {
|
|
11
|
-
|
|
11
|
+
return ({ headers: baseHeaders, baseUrl, context: logContext,
|
|
12
12
|
// eslint-disable-next-line sonarjs/cognitive-complexity
|
|
13
13
|
}) => {
|
|
14
14
|
const extras = {};
|
|
@@ -122,9 +122,6 @@ function Fetch({ logger, context: parentContext }) {
|
|
|
122
122
|
setHeaders: (headers) => (baseHeaders = headers),
|
|
123
123
|
};
|
|
124
124
|
};
|
|
125
|
-
_1.ZCC.createFetcher = createFetcher;
|
|
126
|
-
_1.ZCC.fetch = createFetcher({ context: parentContext }).fetch;
|
|
127
|
-
return createFetcher;
|
|
128
125
|
}
|
|
129
126
|
exports.Fetch = Fetch;
|
|
130
127
|
//# sourceMappingURL=fetch.extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.extension.js","sourceRoot":"","sources":["../../src/extensions/fetch.extension.ts"],"names":[],"mappings":";;;AAAA,2BAAuC;AACvC,mCAAkC;AAClC,+BAAiC;AAEjC,0BAgBY;AACZ,
|
|
1
|
+
{"version":3,"file":"fetch.extension.js","sourceRoot":"","sources":["../../src/extensions/fetch.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Dayjs } from "dayjs";
|
|
3
3
|
import { EventEmitter } from "events";
|
|
4
|
+
import { Counter, Summary } from "prom-client";
|
|
4
5
|
import { Get } from "type-fest";
|
|
6
|
+
import { ApplicationDefinition, BootstrapOptions, ConfigManager, FetcherOptions, ILogger, Logger, OptionalModuleConfiguration, ServiceMap, TBlackHole, TCache, TContext, TDownload, TFetch } from "..";
|
|
5
7
|
type inputFormats = Date | string | number | Dayjs;
|
|
6
8
|
export declare class InternalUtils {
|
|
7
9
|
TitleCase(input: string): string;
|
|
@@ -12,7 +14,48 @@ export declare class InternalUtils {
|
|
|
12
14
|
set<T_2>(object: T_2, path: string, value: unknown, doNotReplace?: boolean): void;
|
|
13
15
|
};
|
|
14
16
|
}
|
|
17
|
+
type SafeExecOptions<LABELS extends BaseLabels> = {
|
|
18
|
+
exec: () => TBlackHole;
|
|
19
|
+
labels: LABELS;
|
|
20
|
+
duration: Summary<Extract<keyof LABELS, string>>;
|
|
21
|
+
executions: Counter<Extract<keyof LABELS, string>>;
|
|
22
|
+
errors: Counter<Extract<keyof LABELS, string>>;
|
|
23
|
+
};
|
|
24
|
+
type ExcludeSymbolKeys<T> = {
|
|
25
|
+
[Key in keyof T as Key extends symbol ? never : Key]: T[Key];
|
|
26
|
+
};
|
|
27
|
+
type BaseLabels = {
|
|
28
|
+
context: TContext;
|
|
29
|
+
/**
|
|
30
|
+
* ! if provided, specific metrics will be kept
|
|
31
|
+
*
|
|
32
|
+
* do not pass label if you do not want metrics to be kept, you may not want / need metrics to be kept on all instances
|
|
33
|
+
*
|
|
34
|
+
* - execution count
|
|
35
|
+
* - error count
|
|
36
|
+
* - summary of execution time
|
|
37
|
+
*/
|
|
38
|
+
label?: string;
|
|
39
|
+
};
|
|
15
40
|
export declare class InternalDefinition {
|
|
41
|
+
createFetcher: (options: FetcherOptions) => {
|
|
42
|
+
download: TDownload;
|
|
43
|
+
setBaseUrl: (url: string) => void;
|
|
44
|
+
setHeaders: (headers: Record<string, string>) => void;
|
|
45
|
+
fetch: TFetch;
|
|
46
|
+
};
|
|
47
|
+
fetch: TFetch;
|
|
48
|
+
/**
|
|
49
|
+
* In case something needs to grab details about the app
|
|
50
|
+
*
|
|
51
|
+
* Abnormal operation
|
|
52
|
+
*/
|
|
53
|
+
application: ApplicationDefinition<ServiceMap, OptionalModuleConfiguration>;
|
|
54
|
+
cache: TCache;
|
|
55
|
+
config: ExcludeSymbolKeys<ConfigManager>;
|
|
56
|
+
logger: Awaited<ReturnType<typeof Logger>>;
|
|
57
|
+
systemLogger: ILogger;
|
|
58
|
+
bootOptions: BootstrapOptions;
|
|
16
59
|
/**
|
|
17
60
|
* The global eventemitter. All of `@digital-alchemy` will be wired through this
|
|
18
61
|
*
|
|
@@ -21,6 +64,6 @@ export declare class InternalDefinition {
|
|
|
21
64
|
*/
|
|
22
65
|
event: EventEmitter<[never]>;
|
|
23
66
|
utils: InternalUtils;
|
|
67
|
+
safeExec<LABELS extends BaseLabels>(options: (() => TBlackHole) | SafeExecOptions<LABELS>): Promise<void>;
|
|
24
68
|
}
|
|
25
|
-
export declare const ZCC: InternalDefinition;
|
|
26
69
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.InternalDefinition = exports.InternalUtils = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
6
6
|
const events_1 = require("events");
|
|
@@ -120,6 +120,19 @@ class InternalUtils {
|
|
|
120
120
|
}
|
|
121
121
|
exports.InternalUtils = InternalUtils;
|
|
122
122
|
class InternalDefinition {
|
|
123
|
+
createFetcher;
|
|
124
|
+
fetch;
|
|
125
|
+
/**
|
|
126
|
+
* In case something needs to grab details about the app
|
|
127
|
+
*
|
|
128
|
+
* Abnormal operation
|
|
129
|
+
*/
|
|
130
|
+
application;
|
|
131
|
+
cache;
|
|
132
|
+
config;
|
|
133
|
+
logger;
|
|
134
|
+
systemLogger;
|
|
135
|
+
bootOptions;
|
|
123
136
|
/**
|
|
124
137
|
* The global eventemitter. All of `@digital-alchemy` will be wired through this
|
|
125
138
|
*
|
|
@@ -128,7 +141,36 @@ class InternalDefinition {
|
|
|
128
141
|
*/
|
|
129
142
|
event = new events_1.EventEmitter();
|
|
130
143
|
utils = new InternalUtils();
|
|
144
|
+
async safeExec(options) {
|
|
145
|
+
let labels = {};
|
|
146
|
+
let errorMetric;
|
|
147
|
+
try {
|
|
148
|
+
if (__1.is.function(options)) {
|
|
149
|
+
await options();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
const opt = options;
|
|
153
|
+
labels = opt.labels;
|
|
154
|
+
errorMetric = opt.errors;
|
|
155
|
+
const { exec, duration, executions } = opt;
|
|
156
|
+
if (__1.is.empty(labels.label)) {
|
|
157
|
+
await exec();
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
executions?.inc(labels);
|
|
161
|
+
const end = duration?.startTimer();
|
|
162
|
+
await exec();
|
|
163
|
+
if (end) {
|
|
164
|
+
end(labels);
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
catch (error) {
|
|
168
|
+
this.systemLogger.error({ error, ...labels }, `Callback threw error`);
|
|
169
|
+
if (!__1.is.empty(labels.label)) {
|
|
170
|
+
errorMetric?.inc(labels);
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
}
|
|
131
174
|
}
|
|
132
175
|
exports.InternalDefinition = InternalDefinition;
|
|
133
|
-
exports.ZCC = new InternalDefinition();
|
|
134
176
|
//# sourceMappingURL=internal.extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.extension.js","sourceRoot":"","sources":["../../src/extensions/internal.extension.ts"],"names":[],"mappings":";;;;AAAA,0DAAqC;AACrC,mCAAsC;
|
|
1
|
+
{"version":3,"file":"internal.extension.js","sourceRoot":"","sources":["../../src/extensions/internal.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,16 +23,10 @@ export interface ILogger {
|
|
|
23
23
|
}
|
|
24
24
|
export declare const METHOD_COLORS: Map<keyof ILogger, CONTEXT_COLORS>;
|
|
25
25
|
export type CONTEXT_COLORS = "grey" | "blue" | "yellow" | "red" | "green" | "magenta";
|
|
26
|
-
export declare function Logger({ lifecycle, config }: TServiceParams): Promise<{
|
|
26
|
+
export declare function Logger({ lifecycle, config, internal }: TServiceParams): Promise<{
|
|
27
27
|
context: (context: string | TContext) => ILogger;
|
|
28
28
|
getBaseLogger: () => Record<keyof ILogger, (context: TContext, ...data: [message: string, ...arguments_: unknown[]] | [object: object, message?: string, ...arguments_: unknown[]]) => void>;
|
|
29
29
|
getLogLevel: () => keyof ILogger;
|
|
30
30
|
setBaseLogger: (base: ILogger) => ILogger;
|
|
31
31
|
setLogLevel: (level: keyof ILogger) => void;
|
|
32
32
|
}>;
|
|
33
|
-
declare module "." {
|
|
34
|
-
interface InternalDefinition {
|
|
35
|
-
logger: Awaited<ReturnType<typeof Logger>>;
|
|
36
|
-
systemLogger: ILogger;
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -26,9 +26,10 @@ const MAX_CUTOFF = 2000;
|
|
|
26
26
|
const frontDash = " - ";
|
|
27
27
|
const SYMBOL_START = 1;
|
|
28
28
|
const SYMBOL_END = -1;
|
|
29
|
-
async function Logger({ lifecycle, config }) {
|
|
29
|
+
async function Logger({ lifecycle, config, internal }) {
|
|
30
30
|
const chalk = (await import("chalk")).default;
|
|
31
31
|
const YELLOW_DASH = chalk.yellowBright(frontDash);
|
|
32
|
+
const BLUE_TICK = chalk.blue(`>`);
|
|
32
33
|
const prettyFormatMessage = (message) => {
|
|
33
34
|
if (!message) {
|
|
34
35
|
return ``;
|
|
@@ -40,7 +41,7 @@ async function Logger({ lifecycle, config }) {
|
|
|
40
41
|
// ? partA#partB - highlight it all in yellow
|
|
41
42
|
.replaceAll(new RegExp("([^ ]+#[^ ]+)", "g"), (i) => chalk.yellow(i))
|
|
42
43
|
// ? [A] > [B] > [C] - highlight the >'s in blue
|
|
43
|
-
.replaceAll("] > [",
|
|
44
|
+
.replaceAll("] > [", `] ${BLUE_TICK} [`)
|
|
44
45
|
// ? [Text] - strip brackets, highlight magenta
|
|
45
46
|
.replaceAll(new RegExp("(\\[[^\\]\\[]+\\])", "g"), (i) => chalk.bold.magenta(i.slice(SYMBOL_START, SYMBOL_END)))
|
|
46
47
|
// ? {Text} - strip braces, highlight gray
|
|
@@ -98,10 +99,10 @@ async function Logger({ lifecycle, config }) {
|
|
|
98
99
|
});
|
|
99
100
|
// if bootstrap hard coded something specific, then start there
|
|
100
101
|
// otherwise, be noisy until config loads a user preference
|
|
101
|
-
let logLevel =
|
|
102
|
+
let logLevel = internal.bootOptions?.configuration?.boilerplate?.LOG_LEVEL || "trace";
|
|
102
103
|
const shouldLog = (level) => LOG_LEVEL_PRIORITY[level] >= LOG_LEVEL_PRIORITY[logLevel];
|
|
103
104
|
lifecycle.onPostConfig(() => (logLevel = config.boilerplate.LOG_LEVEL));
|
|
104
|
-
|
|
105
|
+
return {
|
|
105
106
|
context: (context) => ({
|
|
106
107
|
debug: (...params) => shouldLog("debug") && logger.debug(context, ...params),
|
|
107
108
|
error: (...params) => shouldLog("error") && logger.error(context, ...params),
|
|
@@ -115,12 +116,9 @@ async function Logger({ lifecycle, config }) {
|
|
|
115
116
|
setBaseLogger: (base) => (logger = base),
|
|
116
117
|
setLogLevel: (level) => {
|
|
117
118
|
logLevel = level;
|
|
118
|
-
|
|
119
|
+
internal.config.set("boilerplate", "LOG_LEVEL", level);
|
|
119
120
|
},
|
|
120
121
|
};
|
|
121
|
-
__1.ZCC.logger = out;
|
|
122
|
-
__1.ZCC.systemLogger = __1.ZCC.logger.context("digital-alchemy:system");
|
|
123
|
-
return out;
|
|
124
122
|
}
|
|
125
123
|
exports.Logger = Logger;
|
|
126
124
|
//# sourceMappingURL=logger.extension.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.extension.js","sourceRoot":"","sources":["../../src/extensions/logger.extension.ts"],"names":[],"mappings":";;;;AAAA,0DAA0B;AAC1B,+BAAuC;AAEvC,
|
|
1
|
+
{"version":3,"file":"logger.extension.js","sourceRoot":"","sources":["../../src/extensions/logger.extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { Dayjs } from "dayjs";
|
|
|
2
2
|
import { schedule } from "node-cron";
|
|
3
3
|
import { TContext } from "..";
|
|
4
4
|
import { Schedule, SchedulerOptions, TServiceParams } from "../helpers";
|
|
5
|
-
export declare function Scheduler({ logger, lifecycle }: TServiceParams): (context: TContext) => {
|
|
5
|
+
export declare function Scheduler({ logger, lifecycle, internal }: TServiceParams): (context: TContext) => {
|
|
6
6
|
cron: ({ exec, schedule: scheduleList, label, }: SchedulerOptions & {
|
|
7
7
|
schedule: Schedule | Schedule[];
|
|
8
8
|
}) => () => void;
|
|
@@ -5,9 +5,8 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
/* eslint-disable sonarjs/cognitive-complexity */
|
|
6
6
|
const dayjs_1 = tslib_1.__importDefault(require("dayjs"));
|
|
7
7
|
const node_cron_1 = require("node-cron");
|
|
8
|
-
const __1 = require("..");
|
|
9
8
|
const helpers_1 = require("../helpers");
|
|
10
|
-
function Scheduler({ logger, lifecycle }) {
|
|
9
|
+
function Scheduler({ logger, lifecycle, internal }) {
|
|
11
10
|
const stop = new Set();
|
|
12
11
|
lifecycle.onShutdownStart(() => {
|
|
13
12
|
stop.forEach((stopFunctions) => {
|
|
@@ -21,7 +20,7 @@ function Scheduler({ logger, lifecycle }) {
|
|
|
21
20
|
const stopFunctions = [];
|
|
22
21
|
[scheduleList].flat().forEach((cronSchedule) => {
|
|
23
22
|
logger.trace({ context, label, schedule: cronSchedule }, `start schedule`);
|
|
24
|
-
const cronJob = (0, node_cron_1.schedule)(cronSchedule, async () => await
|
|
23
|
+
const cronJob = (0, node_cron_1.schedule)(cronSchedule, async () => await internal.safeExec({
|
|
25
24
|
duration: helpers_1.SCHEDULE_EXECUTION_TIME,
|
|
26
25
|
errors: helpers_1.SCHEDULE_ERRORS,
|
|
27
26
|
exec,
|
|
@@ -47,7 +46,7 @@ function Scheduler({ logger, lifecycle }) {
|
|
|
47
46
|
let runningInterval;
|
|
48
47
|
lifecycle.onReady(() => {
|
|
49
48
|
logger.trace({ context }, "start interval");
|
|
50
|
-
runningInterval = setInterval(async () => await
|
|
49
|
+
runningInterval = setInterval(async () => await internal.safeExec({
|
|
51
50
|
duration: helpers_1.SCHEDULE_EXECUTION_TIME,
|
|
52
51
|
errors: helpers_1.SCHEDULE_ERRORS,
|
|
53
52
|
exec,
|
|
@@ -85,7 +84,7 @@ function Scheduler({ logger, lifecycle }) {
|
|
|
85
84
|
}
|
|
86
85
|
if (nextTime) {
|
|
87
86
|
timeout = setTimeout(async () => {
|
|
88
|
-
await
|
|
87
|
+
await internal.safeExec({
|
|
89
88
|
duration: helpers_1.SCHEDULE_EXECUTION_TIME,
|
|
90
89
|
errors: helpers_1.SCHEDULE_ERRORS,
|
|
91
90
|
exec,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.extension.js","sourceRoot":"","sources":["../../src/extensions/scheduler.extension.ts"],"names":[],"mappings":";;;;AAAA,iDAAiD;AACjD,0DAAqC;AACrC,yCAAqC;
|
|
1
|
+
{"version":3,"file":"scheduler.extension.js","sourceRoot":"","sources":["../../src/extensions/scheduler.extension.ts"],"names":[],"mappings":"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"}
|