@acontplus/ng-config 1.0.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/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # @acontplus/ng-config
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test @acontplus/ng-config` to execute the unit tests.
@@ -0,0 +1,46 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Injectable } from '@angular/core';
3
+
4
+ /**
5
+ * @const ENVIRONMENT
6
+ * Injection token for the environment interface to be provided by the applications.
7
+ */
8
+ const ENVIRONMENT = new InjectionToken('ENVIRONMENT', {
9
+ factory: () => ({
10
+ isProduction: false,
11
+ apiBaseUrl: 'http://localhost:3000/api',
12
+ tokenKey: 'access_token',
13
+ refreshTokenKey: 'refresh_token',
14
+ clientId: 'local-dev',
15
+ loginRoute: '/auth',
16
+ }),
17
+ });
18
+
19
+ class AppConfigService {
20
+ environment = inject(ENVIRONMENT);
21
+ get apiUrl() {
22
+ return this.environment.apiBaseUrl;
23
+ }
24
+ get apiTimeout() {
25
+ return 30000; // Default timeout
26
+ }
27
+ get enableLogging() {
28
+ return !this.environment.isProduction;
29
+ }
30
+ get production() {
31
+ return this.environment.isProduction;
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppConfigService, providedIn: 'root' });
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.2", ngImport: i0, type: AppConfigService, decorators: [{
37
+ type: Injectable,
38
+ args: [{ providedIn: 'root' }]
39
+ }] });
40
+
41
+ /**
42
+ * Generated bundle index. Do not edit.
43
+ */
44
+
45
+ export { AppConfigService, ENVIRONMENT };
46
+ //# sourceMappingURL=acontplus-ng-config.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acontplus-ng-config.mjs","sources":["../tmp-esm2022/lib/environment.token.js","../tmp-esm2022/lib/services/app-config.service.js","../tmp-esm2022/acontplus-ng-config.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n/**\n * @const ENVIRONMENT\n * Injection token for the environment interface to be provided by the applications.\n */\nexport const ENVIRONMENT = new InjectionToken('ENVIRONMENT', {\n factory: () => ({\n isProduction: false,\n apiBaseUrl: 'http://localhost:3000/api',\n tokenKey: 'access_token',\n refreshTokenKey: 'refresh_token',\n clientId: 'local-dev',\n loginRoute: '/auth',\n }),\n});\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy1jb25maWcvc3JjL2xpYi9lbnZpcm9ubWVudC50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRy9DOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBYyxhQUFhLEVBQUU7SUFDeEUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDZCxZQUFZLEVBQUUsS0FBSztRQUNuQixVQUFVLEVBQUUsMkJBQTJCO1FBQ3ZDLFFBQVEsRUFBRSxjQUFjO1FBQ3hCLGVBQWUsRUFBRSxlQUFlO1FBQ2hDLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFVBQVUsRUFBRSxPQUFPO0tBQ3BCLENBQUM7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnQgfSBmcm9tICdAYWNvbnRwbHVzL2NvcmUnO1xuXG4vKipcbiAqIEBjb25zdCBFTlZJUk9OTUVOVFxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgZW52aXJvbm1lbnQgaW50ZXJmYWNlIHRvIGJlIHByb3ZpZGVkIGJ5IHRoZSBhcHBsaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCBjb25zdCBFTlZJUk9OTUVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxFbnZpcm9ubWVudD4oJ0VOVklST05NRU5UJywge1xuICBmYWN0b3J5OiAoKSA9PiAoe1xuICAgIGlzUHJvZHVjdGlvbjogZmFsc2UsXG4gICAgYXBpQmFzZVVybDogJ2h0dHA6Ly9sb2NhbGhvc3Q6MzAwMC9hcGknLFxuICAgIHRva2VuS2V5OiAnYWNjZXNzX3Rva2VuJyxcbiAgICByZWZyZXNoVG9rZW5LZXk6ICdyZWZyZXNoX3Rva2VuJyxcbiAgICBjbGllbnRJZDogJ2xvY2FsLWRldicsXG4gICAgbG9naW5Sb3V0ZTogJy9hdXRoJyxcbiAgfSksXG59KTtcbiJdfQ==","import { Injectable, inject } from '@angular/core';\nimport { ENVIRONMENT } from '../environment.token';\nimport * as i0 from \"@angular/core\";\nexport class AppConfigService {\n environment = inject(ENVIRONMENT);\n get apiUrl() {\n return this.environment.apiBaseUrl;\n }\n get apiTimeout() {\n return 30000; // Default timeout\n }\n get enableLogging() {\n return !this.environment.isProduction;\n }\n get production() {\n return this.environment.isProduction;\n }\n static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: AppConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: AppConfigService, providedIn: 'root' });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.2\", ngImport: i0, type: AppConfigService, decorators: [{\n type: Injectable,\n args: [{ providedIn: 'root' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNvbmZpZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvbmctY29uZmlnL3NyYy9saWIvc2VydmljZXMvYXBwLWNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFVbkQsTUFBTSxPQUFPLGdCQUFnQjtJQUNuQixXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRTFDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sS0FBSyxDQUFDLENBQUMsa0JBQWtCO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUM7SUFDdkMsQ0FBQzt1R0FqQlUsZ0JBQWdCOzJHQUFoQixnQkFBZ0IsY0FESCxNQUFNOzsyRkFDbkIsZ0JBQWdCO2tCQUQ1QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRU5WSVJPTk1FTlQgfSBmcm9tICcuLi9lbnZpcm9ubWVudC50b2tlbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUFwcENvbmZpZyB7XG4gIGFwaVVybDogc3RyaW5nO1xuICBhcGlUaW1lb3V0OiBudW1iZXI7XG4gIGVuYWJsZUxvZ2dpbmc6IGJvb2xlYW47XG4gIHByb2R1Y3Rpb246IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQXBwQ29uZmlnU2VydmljZSBpbXBsZW1lbnRzIElBcHBDb25maWcge1xuICBwcml2YXRlIGVudmlyb25tZW50ID0gaW5qZWN0KEVOVklST05NRU5UKTtcblxuICBnZXQgYXBpVXJsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZW52aXJvbm1lbnQuYXBpQmFzZVVybDtcbiAgfVxuXG4gIGdldCBhcGlUaW1lb3V0KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDMwMDAwOyAvLyBEZWZhdWx0IHRpbWVvdXRcbiAgfVxuXG4gIGdldCBlbmFibGVMb2dnaW5nKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5lbnZpcm9ubWVudC5pc1Byb2R1Y3Rpb247XG4gIH1cblxuICBnZXQgcHJvZHVjdGlvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lbnZpcm9ubWVudC5pc1Byb2R1Y3Rpb247XG4gIH1cbn1cbiJdfQ==","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvbnRwbHVzLW5nLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nLWNvbmZpZy9zcmMvYWNvbnRwbHVzLW5nLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":";;;AACA;AACA;AACA;AACA;AACY,MAAC,WAAW,GAAG,IAAI,cAAc,CAAC,aAAa,EAAE;AAC7D,IAAI,OAAO,EAAE,OAAO;AACpB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,UAAU,EAAE,2BAA2B;AAC/C,QAAQ,QAAQ,EAAE,cAAc;AAChC,QAAQ,eAAe,EAAE,eAAe;AACxC,QAAQ,QAAQ,EAAE,WAAW;AAC7B,QAAQ,UAAU,EAAE,OAAO;AAC3B,KAAK,CAAC;AACN,CAAC;;ACXM,MAAM,gBAAgB,CAAC;AAC9B,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;AACrC,IAAI,IAAI,MAAM,GAAG;AACjB,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU;AAC1C;AACA,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,KAAK,CAAC;AACrB;AACA,IAAI,IAAI,aAAa,GAAG;AACxB,QAAQ,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY;AAC7C;AACA,IAAI,IAAI,UAAU,GAAG;AACrB,QAAQ,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY;AAC5C;AACA,IAAI,OAAO,IAAI,GAAG,EAAE,CAAC,kBAAkB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;AAC3K,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;AAClJ;AACA,EAAE,CAAC,wBAAwB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;AAC1H,YAAY,IAAI,EAAE,UAAU;AAC5B,YAAY,IAAI,EAAE,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE;AACzC,SAAS,CAAC,EAAE,CAAC;;ACvBb;AACA;AACA;;;;"}
package/index.d.ts ADDED
@@ -0,0 +1,28 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken } from '@angular/core';
3
+ import { Environment } from '@acontplus/core';
4
+
5
+ /**
6
+ * @const ENVIRONMENT
7
+ * Injection token for the environment interface to be provided by the applications.
8
+ */
9
+ declare const ENVIRONMENT: InjectionToken<Environment>;
10
+
11
+ interface IAppConfig {
12
+ apiUrl: string;
13
+ apiTimeout: number;
14
+ enableLogging: boolean;
15
+ production: boolean;
16
+ }
17
+ declare class AppConfigService implements IAppConfig {
18
+ private environment;
19
+ get apiUrl(): string;
20
+ get apiTimeout(): number;
21
+ get enableLogging(): boolean;
22
+ get production(): boolean;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppConfigService, never>;
24
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppConfigService>;
25
+ }
26
+
27
+ export { AppConfigService, ENVIRONMENT };
28
+ export type { IAppConfig };
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@acontplus/ng-config",
3
+ "version": "1.0.0",
4
+ "description": "Acontplus Angular Configuration library for managing application settings and environment configurations.",
5
+ "peerDependencies": {
6
+ "@acontplus/core": "^1.0.12",
7
+ "@angular/common": "^20.3.2",
8
+ "@angular/core": "^20.3.2"
9
+ },
10
+ "sideEffects": false,
11
+ "main": "fesm2022/acontplus-ng-config.mjs",
12
+ "module": "fesm2022/acontplus-ng-config.mjs",
13
+ "typings": "index.d.ts",
14
+ "files": [
15
+ "index.d.ts",
16
+ "*.d.ts",
17
+ "**/*.d.ts",
18
+ "fesm2022/**/*"
19
+ ],
20
+ "engines": {
21
+ "node": ">=18.0.0"
22
+ },
23
+ "publishConfig": {
24
+ "access": "public",
25
+ "registry": "https://registry.npmjs.org/"
26
+ },
27
+ "keywords": [
28
+ "acontplus",
29
+ "angular",
30
+ "configuration",
31
+ "environment",
32
+ "typescript",
33
+ "frontend",
34
+ "library"
35
+ ],
36
+ "author": "Ivan Paz <ifer343@gmail.com>",
37
+ "license": "MIT",
38
+ "bugs": {
39
+ "url": "https://github.com/Acontplus-S-A-S/acontplus-libs/issues"
40
+ },
41
+ "homepage": "https://github.com/Acontplus-S-A-S/acontplus-libs#readme",
42
+ "repository": {
43
+ "type": "git",
44
+ "url": "git+https://github.com/Acontplus-S-A-S/acontplus-libs.git"
45
+ },
46
+ "release": {
47
+ "branches": [
48
+ "main"
49
+ ]
50
+ },
51
+ "exports": {
52
+ "./package.json": {
53
+ "default": "./package.json"
54
+ },
55
+ ".": {
56
+ "types": "./index.d.ts",
57
+ "default": "./fesm2022/acontplus-ng-config.mjs"
58
+ }
59
+ },
60
+ "dependencies": {
61
+ "tslib": "^2.3.0"
62
+ }
63
+ }