http-request-manager 0.0.2 → 4.1.2

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.
Files changed (143) hide show
  1. package/README.md +53 -13
  2. package/esm2022/http-request-manager.mjs +5 -0
  3. package/esm2022/lib/http-request-manager.module.mjs +145 -0
  4. package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +41 -0
  5. package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +175 -0
  6. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +80 -0
  7. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +42 -0
  8. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +85 -0
  9. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +11 -0
  10. package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.mjs +29 -0
  11. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.mjs +9 -0
  12. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +12 -0
  13. package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +10 -0
  14. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +276 -0
  15. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +268 -0
  16. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +75 -0
  17. package/esm2022/lib/index.mjs +4 -0
  18. package/esm2022/lib/interceptors/credentials.interceptor.mjs +14 -0
  19. package/esm2022/lib/interceptors/index.mjs +5 -0
  20. package/esm2022/lib/interceptors/models/error-settings.model.mjs +10 -0
  21. package/esm2022/lib/interceptors/proxy-debugger.interceptor.mjs +47 -0
  22. package/esm2022/lib/interceptors/request-error.interceptor.mjs +49 -0
  23. package/esm2022/lib/interceptors/request-header.interceptor.mjs +41 -0
  24. package/esm2022/lib/models/config-http-options.model.mjs +18 -0
  25. package/esm2022/lib/models/config-local-storage-options.model.mjs +12 -0
  26. package/esm2022/lib/models/config-options.model.mjs +12 -0
  27. package/esm2022/lib/models/config-token.model.mjs +8 -0
  28. package/esm2022/lib/models/data-type.enum.mjs +7 -0
  29. package/esm2022/lib/models/database-storage.model.mjs +10 -0
  30. package/esm2022/lib/models/index.mjs +7 -0
  31. package/esm2022/lib/models/retry-options.model.mjs +10 -0
  32. package/esm2022/lib/services/index.mjs +6 -0
  33. package/esm2022/lib/services/local-storage-manager-service/index.mjs +3 -0
  34. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +300 -0
  35. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +13 -0
  36. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +6 -0
  37. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +13 -0
  38. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +10 -0
  39. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +12 -0
  40. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +7 -0
  41. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +208 -0
  42. package/esm2022/lib/services/request-manager-services/index.mjs +5 -0
  43. package/esm2022/lib/services/request-manager-services/request.service.mjs +201 -0
  44. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +9 -0
  45. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +10 -0
  46. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +5 -0
  47. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +14 -0
  48. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +19 -0
  49. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +266 -0
  50. package/esm2022/lib/services/request-manager-state-service/index.mjs +3 -0
  51. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +20 -0
  52. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +3 -0
  53. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +10 -0
  54. package/esm2022/lib/services/utils/app.service.mjs +26 -0
  55. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +186 -0
  56. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +35 -0
  57. package/esm2022/lib/services/utils/encryption/index.mjs +4 -0
  58. package/esm2022/lib/services/utils/encryption/random.mjs +52 -0
  59. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +77 -0
  60. package/esm2022/lib/services/utils/headers.service.mjs +21 -0
  61. package/esm2022/lib/services/utils/index.mjs +6 -0
  62. package/esm2022/lib/services/utils/object-merger.service.mjs +34 -0
  63. package/esm2022/lib/services/utils/path-query.service.mjs +54 -0
  64. package/esm2022/lib/services/utils/utils.service.mjs +155 -0
  65. package/esm2022/public-api.mjs +7 -0
  66. package/fesm2022/http-request-manager.mjs +3062 -0
  67. package/fesm2022/http-request-manager.mjs.map +1 -0
  68. package/http-request-manager-4.1.2.tgz +0 -0
  69. package/index.d.ts +5 -0
  70. package/lib/http-request-manager.module.d.ts +33 -0
  71. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +24 -0
  72. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +56 -0
  73. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +26 -0
  74. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +13 -0
  75. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +26 -0
  76. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +12 -0
  77. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +16 -0
  78. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +8 -0
  79. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +14 -0
  80. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +10 -0
  81. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +98 -0
  82. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +110 -0
  83. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +16 -0
  84. package/lib/index.d.ts +3 -0
  85. package/lib/interceptors/credentials.interceptor.d.ts +8 -0
  86. package/lib/interceptors/index.d.ts +4 -0
  87. package/lib/interceptors/models/error-settings.model.d.ts +10 -0
  88. package/lib/interceptors/proxy-debugger.interceptor.d.ts +12 -0
  89. package/lib/interceptors/request-error.interceptor.d.ts +10 -0
  90. package/lib/interceptors/request-header.interceptor.d.ts +15 -0
  91. package/lib/models/config-http-options.model.d.ts +21 -0
  92. package/lib/models/config-local-storage-options.model.d.ts +13 -0
  93. package/lib/models/config-options.model.d.ts +12 -0
  94. package/lib/models/config-token.model.d.ts +8 -0
  95. package/lib/models/data-type.enum.d.ts +5 -0
  96. package/lib/models/database-storage.model.d.ts +10 -0
  97. package/lib/models/index.d.ts +6 -0
  98. package/lib/models/retry-options.model.d.ts +10 -0
  99. package/lib/services/index.d.ts +4 -0
  100. package/lib/services/local-storage-manager-service/index.d.ts +2 -0
  101. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +86 -0
  102. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +15 -0
  103. package/lib/services/local-storage-manager-service/models/index.d.ts +5 -0
  104. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +15 -0
  105. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +10 -0
  106. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +13 -0
  107. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +5 -0
  108. package/lib/services/request-manager-services/http-manager.service.d.ts +40 -0
  109. package/lib/services/request-manager-services/index.d.ts +3 -0
  110. package/lib/services/request-manager-services/request.service.d.ts +28 -0
  111. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +2 -0
  112. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +2 -0
  113. package/lib/services/request-manager-services/rxjs-operators/index.d.ts +4 -0
  114. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +7 -0
  115. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +2 -0
  116. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +51 -0
  117. package/lib/services/request-manager-state-service/index.d.ts +2 -0
  118. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +25 -0
  119. package/lib/services/request-manager-state-service/models/index.d.ts +2 -0
  120. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +10 -0
  121. package/lib/services/utils/app.service.d.ts +8 -0
  122. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +17 -0
  123. package/lib/services/utils/encryption/encryption-test.service.d.ts +10 -0
  124. package/lib/services/utils/encryption/index.d.ts +3 -0
  125. package/lib/services/utils/encryption/random.d.ts +7 -0
  126. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +14 -0
  127. package/lib/services/utils/headers.service.d.ts +10 -0
  128. package/lib/services/utils/index.d.ts +5 -0
  129. package/lib/services/utils/object-merger.service.d.ts +7 -0
  130. package/lib/services/utils/path-query.service.d.ts +11 -0
  131. package/lib/services/utils/utils.service.d.ts +24 -0
  132. package/package.json +41 -18
  133. package/public-api.d.ts +3 -0
  134. package/ng-package.json +0 -7
  135. package/src/lib/http-request-manager.component.spec.ts +0 -21
  136. package/src/lib/http-request-manager.component.ts +0 -15
  137. package/src/lib/http-request-manager.module.ts +0 -16
  138. package/src/lib/http-request-manager.service.spec.ts +0 -16
  139. package/src/lib/http-request-manager.service.ts +0 -9
  140. package/src/public-api.ts +0 -7
  141. package/tsconfig.lib.json +0 -14
  142. package/tsconfig.lib.prod.json +0 -10
  143. package/tsconfig.spec.json +0 -14
@@ -0,0 +1,6 @@
1
+ export * from './database-storage.model';
2
+ export * from './retry-options.model';
3
+ export * from './data-type.enum';
4
+ export * from './config-http-options.model';
5
+ export * from './config-local-storage-options.model';
6
+ export * from './config-options.model';
@@ -0,0 +1,10 @@
1
+ export interface RetryOptionsInterface {
2
+ times?: number;
3
+ delay?: number;
4
+ }
5
+ export declare class RetryOptions implements RetryOptionsInterface {
6
+ times: number;
7
+ delay: number;
8
+ constructor(times?: number, delay?: number);
9
+ static adapt(item?: any): RetryOptions;
10
+ }
@@ -0,0 +1,4 @@
1
+ export * from "./local-storage-manager-service/index";
2
+ export * from "./request-manager-services/index";
3
+ export * from "./request-manager-state-service/index";
4
+ export * from "./utils/index";
@@ -0,0 +1,2 @@
1
+ export * from "./models/index";
2
+ export * from "./local-storage-manager.service";
@@ -0,0 +1,86 @@
1
+ import { OnDestroy } from '@angular/core';
2
+ import { ComponentStore } from '@ngrx/component-store';
3
+ import { UtilsService } from '../utils/utils.service';
4
+ import { SymmetricalEncryptionService } from '../utils/encryption/symmetrical-encryption.service';
5
+ import { StorageOption } from './models';
6
+ import { SettingOptions } from './models/setting-options.model';
7
+ import { StorageData } from './models/storage-data.model';
8
+ import { EncryptionTestService } from '../utils/encryption/encryption-test.service';
9
+ import { AppService } from '../utils/app.service';
10
+ import { ConfigOptions } from '../request-manager-services';
11
+ import { ObjectMergerService } from '../utils/object-merger.service';
12
+ import * as i0 from "@angular/core";
13
+ export interface State {
14
+ localStores: StorageData[];
15
+ sessionStores: StorageData[];
16
+ settings: StorageOption[];
17
+ }
18
+ export declare class LocalStorageManagerService extends ComponentStore<State> implements OnDestroy {
19
+ private config;
20
+ storageName: string;
21
+ storageSettingsName: string;
22
+ defaultOptions: SettingOptions;
23
+ stateRetrieved: boolean;
24
+ encrypted: boolean;
25
+ app: AppService;
26
+ utils: UtilsService;
27
+ objectMergerService: ObjectMergerService;
28
+ encryption: SymmetricalEncryptionService;
29
+ encryptionTest: EncryptionTestService;
30
+ private readonly data$;
31
+ readonly stores$: import("rxjs").Observable<StorageOption[]>;
32
+ readonly storeExists$: (store: string) => import("rxjs").Observable<boolean>;
33
+ readonly store$: (store: string) => import("rxjs").Observable<any>;
34
+ readonly settings$: import("rxjs").Observable<StorageOption[]>;
35
+ readonly setting$: (store: string) => import("rxjs").Observable<StorageOption | null>;
36
+ persistence$: import("rxjs").Subscription;
37
+ startTimer(): void;
38
+ private updateState;
39
+ constructor(config: ConfigOptions);
40
+ readonly setStore: (observableOrValue: {
41
+ id: string;
42
+ name: string;
43
+ data: any;
44
+ options: SettingOptions;
45
+ } | import("rxjs").Observable<{
46
+ id: string;
47
+ name: string;
48
+ data: any;
49
+ options: SettingOptions;
50
+ }>) => import("rxjs").Subscription;
51
+ readonly createStore: (observableOrValue: {
52
+ id?: string | undefined;
53
+ name: string;
54
+ data: any;
55
+ options: SettingOptions;
56
+ } | import("rxjs").Observable<{
57
+ id?: string | undefined;
58
+ name: string;
59
+ data: any;
60
+ options: SettingOptions;
61
+ }>) => import("rxjs").Subscription;
62
+ readonly updateStore: (observableOrValue: {
63
+ name: string;
64
+ data: any;
65
+ } | import("rxjs").Observable<{
66
+ name: string;
67
+ data: any;
68
+ }>) => import("rxjs").Subscription;
69
+ readonly deleteStore: (observableOrValue: {
70
+ name: string;
71
+ } | import("rxjs").Observable<{
72
+ name: string;
73
+ }>) => import("rxjs").Subscription;
74
+ resetStore(): void;
75
+ private persistState;
76
+ private expired;
77
+ retrieveState(): void;
78
+ private isObjectOrArray;
79
+ private isString;
80
+ private fixAndParseJSON;
81
+ private validStoreName;
82
+ private hasGlobalStorage;
83
+ ngOnDestroy(): void;
84
+ static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageManagerService, never>;
85
+ static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorageManagerService>;
86
+ }
@@ -0,0 +1,15 @@
1
+ import { StorageOption } from "./storage-option.model";
2
+ export interface GlobalStoreOptionsInterface {
3
+ encryption?: boolean;
4
+ expiresIn?: string;
5
+ expires?: number;
6
+ stores: StorageOption[] | null;
7
+ }
8
+ export declare class GlobalStoreOptions implements GlobalStoreOptionsInterface {
9
+ encryption: boolean;
10
+ expiresIn?: string | undefined;
11
+ expires?: number | undefined;
12
+ stores: StorageOption[] | null;
13
+ constructor(encryption?: boolean, expiresIn?: string | undefined, expires?: number | undefined, stores?: StorageOption[] | null);
14
+ static adapt(item?: any): GlobalStoreOptions;
15
+ }
@@ -0,0 +1,5 @@
1
+ export * from "./global-store-options.model";
2
+ export * from "./setting-options.model";
3
+ export * from "./storage-data.model";
4
+ export * from "./storage-option.model";
5
+ export * from "./storage-type.enum";
@@ -0,0 +1,15 @@
1
+ import { StorageType } from "./storage-type.enum";
2
+ export interface SettingOptionsInterface {
3
+ storage?: StorageType;
4
+ expires?: number;
5
+ expiresIn?: string;
6
+ encrypted?: boolean;
7
+ }
8
+ export declare class SettingOptions implements SettingOptionsInterface {
9
+ storage?: StorageType | undefined;
10
+ expires?: number | undefined;
11
+ expiresIn?: string | undefined;
12
+ encrypted?: boolean | undefined;
13
+ constructor(storage?: StorageType | undefined, expires?: number | undefined, expiresIn?: string | undefined, encrypted?: boolean | undefined);
14
+ static adapt(item?: any): SettingOptions;
15
+ }
@@ -0,0 +1,10 @@
1
+ export interface StorageDataInterface {
2
+ id?: string;
3
+ data?: any;
4
+ }
5
+ export declare class StorageData implements StorageDataInterface {
6
+ id?: string | undefined;
7
+ data?: any;
8
+ constructor(id?: string | undefined, data?: any);
9
+ static adapt(item?: any): StorageData;
10
+ }
@@ -0,0 +1,13 @@
1
+ import { SettingOptions } from "./setting-options.model";
2
+ export interface StorageOptionInterface {
3
+ id?: string;
4
+ name: string;
5
+ options?: SettingOptions;
6
+ }
7
+ export declare class StorageOption implements StorageOptionInterface {
8
+ id?: string | undefined;
9
+ name: string;
10
+ options?: SettingOptions | undefined;
11
+ constructor(id?: string | undefined, name?: string, options?: SettingOptions | undefined);
12
+ static adapt(item?: any): StorageOption;
13
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum StorageType {
2
+ GLOBAL = 0,
3
+ SESSION = 1,
4
+ DB = 2
5
+ }
@@ -0,0 +1,40 @@
1
+ import { Injector } from '@angular/core';
2
+ import { Observable } from 'rxjs';
3
+ import { ApiRequest } from '../request-manager-state-service/models/api-request.model';
4
+ import { RequestService } from './request.service';
5
+ import { ConfigOptions } from '../../models';
6
+ import { ObjectMergerService } from '../utils/object-merger.service';
7
+ import { ToastMessageService } from 'toast-message-display';
8
+ import * as i0 from "@angular/core";
9
+ export declare class HTTPManagerService<T> extends RequestService {
10
+ private configOptions?;
11
+ toastMessage: ToastMessageService;
12
+ ng_injector: Injector;
13
+ objectMergerService: ObjectMergerService;
14
+ private countdown;
15
+ countdown$: Observable<number>;
16
+ private error;
17
+ error$: Observable<boolean>;
18
+ private data;
19
+ data$: Observable<any>;
20
+ private polling$;
21
+ config: ConfigOptions;
22
+ constructor(configOptions?: ConfigOptions | undefined);
23
+ getRequest<T>(options?: ApiRequest, params?: any[]): Observable<T>;
24
+ postRequest<T extends {
25
+ id?: number | string;
26
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
27
+ putRequest<T extends {
28
+ id?: number | string;
29
+ }>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
30
+ deleteRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
31
+ downloadRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
32
+ private createObservable;
33
+ private createRequest;
34
+ private prepareRequestData;
35
+ private handleError;
36
+ private handleErrorWithSnackBar;
37
+ private stopPolling;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<HTTPManagerService<any>, [{ optional: true; }]>;
39
+ static ɵprov: i0.ɵɵInjectableDeclaration<HTTPManagerService<any>>;
40
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./http-manager.service";
2
+ export * from "../../models/index";
3
+ export * from "./rxjs-operators/index";
@@ -0,0 +1,28 @@
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
+ import { ApiRequest } from '../request-manager-state-service/models/api-request.model';
3
+ import * as i0 from "@angular/core";
4
+ export declare class RequestService {
5
+ private http;
6
+ private pathQueryService;
7
+ private headersService;
8
+ isPending: BehaviorSubject<boolean>;
9
+ isPending$: Observable<boolean>;
10
+ progress: BehaviorSubject<number>;
11
+ progress$: Observable<number>;
12
+ getRecordRequest<T>(options: ApiRequest): Observable<T>;
13
+ createRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
14
+ updateRecordRequest<T>(options: ApiRequest, data: any): Observable<T>;
15
+ deleteRecordRequest<T>(options: ApiRequest): Observable<T>;
16
+ private buildUrlPath;
17
+ private buildHeaders;
18
+ private buildCombinedHeaders;
19
+ private request;
20
+ downloadFileRequest(options: ApiRequest): Observable<any>;
21
+ private fileDetails;
22
+ private handleFinalize;
23
+ private downloadFile;
24
+ private createFileType;
25
+ private combineHeaders;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<RequestService, never>;
27
+ static ɵprov: i0.ɵɵInjectableDeclaration<RequestService>;
28
+ }
@@ -0,0 +1,2 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare function countdown(duration: number): Observable<number>;
@@ -0,0 +1,2 @@
1
+ import { Observable } from 'rxjs';
2
+ export declare function delayedRetry<T>(delayMs: number, maxRetry?: number): (src: Observable<T>) => Observable<T>;
@@ -0,0 +1,4 @@
1
+ export * from "./countdown";
2
+ export * from "./delay-retry";
3
+ export * from "./request-polling";
4
+ export * from "./request-streaming";
@@ -0,0 +1,7 @@
1
+ import { BehaviorSubject, Observable } from 'rxjs';
2
+ /**
3
+ * @param pollInterval
4
+ * @param stopCondition$
5
+ * @param isPending$
6
+ */
7
+ export declare function requestPolling<T>(pollInterval: number, stopCondition$: Observable<any>, isPending$: BehaviorSubject<boolean>): (source: Observable<T>) => Observable<T>;
@@ -0,0 +1,2 @@
1
+ import { OperatorFunction } from 'rxjs';
2
+ export declare function requestStreaming(): OperatorFunction<any, any>;
@@ -0,0 +1,51 @@
1
+ import { ComponentStore } from '@ngrx/component-store';
2
+ import { DatabaseStorage } from '../../models/database-storage.model';
3
+ import { HTTPManagerService, DataType } from '../request-manager-services';
4
+ import { ApiRequest, RequestOptions } from './models';
5
+ import * as i0 from "@angular/core";
6
+ export interface APIStateManagerData<T> {
7
+ data: T[];
8
+ dataObject: T | null;
9
+ }
10
+ export declare class HTTPManagerStateService<T extends {
11
+ id: number;
12
+ }> extends ComponentStore<APIStateManagerData<T>> {
13
+ private apiOptions;
14
+ private dataType;
15
+ private database?;
16
+ httpManagerService: HTTPManagerService<any>;
17
+ error$: import("rxjs").Observable<boolean>;
18
+ isPending$: import("rxjs").Observable<boolean>;
19
+ private page;
20
+ page$: import("rxjs").Observable<number>;
21
+ private totalPages;
22
+ totalPages$: import("rxjs").Observable<number>;
23
+ private percentage;
24
+ percentage$: import("rxjs").Observable<number>;
25
+ private hasDatabase;
26
+ streamedResponse: never[];
27
+ constructor(apiOptions: ApiRequest, dataType: DataType | undefined, database?: DatabaseStorage | undefined);
28
+ setApiRequestOptions(apiOptions?: ApiRequest, dataType?: DataType, database?: DatabaseStorage): void;
29
+ get ApiRequestOptions(): ApiRequest;
30
+ initStorage(): void;
31
+ initializeState(data: any): void;
32
+ readonly data$: import("rxjs").Observable<T | T[] | null>;
33
+ readonly selectRecord$: (id: number) => import("rxjs").Observable<T | T[] | null>;
34
+ private readonly setData$;
35
+ private updateArrayState;
36
+ private readonly addData$;
37
+ private readonly deleteData$;
38
+ private readonly updateData$;
39
+ readonly clearRecords: (observableOrValue?: void | import("rxjs").Observable<void> | undefined) => import("rxjs").Subscription;
40
+ readonly refreshData: (observableOrValue?: void | import("rxjs").Observable<void> | undefined) => import("rxjs").Subscription;
41
+ readonly fetchRecords: (options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
42
+ readonly createRecord: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
43
+ readonly updateRecord: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
44
+ readonly deleteRecord: (options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
45
+ readonly createStream: (data: any | null, options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
46
+ readonly fetchStream: (options?: RequestOptions) => ((observableOrValue?: any) => import("rxjs").Subscription) | ((observableOrValue: any) => import("rxjs").Subscription);
47
+ private isEmpty;
48
+ private updateRequestOptions;
49
+ static ɵfac: i0.ɵɵFactoryDeclaration<HTTPManagerStateService<any>, never>;
50
+ static ɵprov: i0.ɵɵInjectableDeclaration<HTTPManagerStateService<any>>;
51
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./http-manager-state.store";
2
+ export * from "./models/index";
@@ -0,0 +1,25 @@
1
+ import { RetryOptions } from "../../request-manager-services";
2
+ export interface ApiRequestInterface {
3
+ server: string;
4
+ path: any[];
5
+ headers: any;
6
+ adapter?: any;
7
+ mapper?: any;
8
+ polling?: number;
9
+ retry: RetryOptions;
10
+ stream?: boolean;
11
+ displayError: boolean;
12
+ }
13
+ export declare class ApiRequest implements ApiRequestInterface {
14
+ server: string;
15
+ path: any[];
16
+ headers: {};
17
+ adapter?: any;
18
+ mapper?: any;
19
+ polling?: number | undefined;
20
+ retry: RetryOptions;
21
+ stream: boolean;
22
+ displayError: boolean;
23
+ constructor(server?: string, path?: any[], headers?: {}, adapter?: any, mapper?: any, polling?: number | undefined, retry?: RetryOptions, stream?: boolean, displayError?: boolean);
24
+ static adapt(item?: any): ApiRequest;
25
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./api-request.model";
2
+ export * from "./request-options.model";
@@ -0,0 +1,10 @@
1
+ export interface RequestOptionsInterface {
2
+ path: any[];
3
+ headers: any;
4
+ }
5
+ export declare class RequestOptions implements RequestOptionsInterface {
6
+ path: any[];
7
+ headers: {};
8
+ constructor(path?: any[], headers?: {});
9
+ static adapt(item?: any): RequestOptions;
10
+ }
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AppService {
3
+ private id;
4
+ appID: string;
5
+ constructor(id: string);
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppService>;
8
+ }
@@ -0,0 +1,17 @@
1
+ import { Observable } from 'rxjs';
2
+ import * as i0 from "@angular/core";
3
+ export declare class AsymmetricalEncryptionService {
4
+ constructor();
5
+ generateKeyPair(modulusLength?: number): Observable<CryptoKeyPair>;
6
+ encryptData(publicKey: CryptoKey, data: string): Observable<string>;
7
+ decryptData(privateKey: CryptoKey, encryptedData: string): Observable<string>;
8
+ pemToArrayBuffer(pem: string): ArrayBuffer;
9
+ base64ToArrayBuffer(base64: string): ArrayBuffer;
10
+ arrayBufferToBase64(buffer: ArrayBuffer): string;
11
+ base64ToPEM(base64Key: string, publicKey?: boolean): string;
12
+ pemToCryptoKey(pem: string, algorithm: RsaHashedKeyGenParams, extractable: boolean, keyUsages: KeyUsage[], format?: any): Observable<CryptoKey>;
13
+ testGenerateKeys(): Observable<string>;
14
+ testDecryptionWithKeys(): Observable<string>;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<AsymmetricalEncryptionService, never>;
16
+ static ɵprov: i0.ɵɵInjectableDeclaration<AsymmetricalEncryptionService>;
17
+ }
@@ -0,0 +1,10 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class EncryptionTestService {
3
+ constructor();
4
+ private isBase64;
5
+ private isHexadecimal;
6
+ private hasHighEntropy;
7
+ isEncrypted(str: string): boolean;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<EncryptionTestService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<EncryptionTestService>;
10
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./asymmetrical-encryption.service";
2
+ export * from './symmetrical-encryption.service';
3
+ export * from './random';
@@ -0,0 +1,7 @@
1
+ export declare const Random: () => number;
2
+ export declare const RandomNumber: (min: number, max: number) => number;
3
+ export declare const RandomNumbers: (min: number, max: number, length: number) => number[];
4
+ export declare const RandomNumbersUnique: (min: number, max: number, length: number) => number[];
5
+ export declare const RandomStr: () => string;
6
+ export declare const RandomSignature: () => number;
7
+ export declare const UUID: () => `${string}-${string}-${string}-${string}-${string}`;
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class SymmetricalEncryptionService {
3
+ appID: string;
4
+ private appService;
5
+ constructor();
6
+ generateCipherKey(): string;
7
+ encrypt(str: any, key?: string): string | undefined;
8
+ decrypt(str: string, key?: string): string | undefined;
9
+ createSignature(url: string, len?: number): string;
10
+ normalizeURL(url: string): string;
11
+ generateSignature(url: string): string;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<SymmetricalEncryptionService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<SymmetricalEncryptionService>;
14
+ }
@@ -0,0 +1,10 @@
1
+ import { HttpHeaders } from '@angular/common/http';
2
+ import * as i0 from "@angular/core";
3
+ export declare class HeadersService {
4
+ headers: {};
5
+ generateHeaders(headers?: Record<string, string>): {
6
+ headers: HttpHeaders;
7
+ };
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeadersService, never>;
9
+ static ɵprov: i0.ɵɵInjectableDeclaration<HeadersService>;
10
+ }
@@ -0,0 +1,5 @@
1
+ export * from './app.service';
2
+ export * from './headers.service';
3
+ export * from './path-query.service';
4
+ export * from './utils.service';
5
+ export * from './encryption/index';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ObjectMergerService {
3
+ mergeOptions<T>(options: Partial<T>, configForRoot?: any): T;
4
+ isNonEmptyString(value: unknown): value is string;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<ObjectMergerService, never>;
6
+ static ɵprov: i0.ɵɵInjectableDeclaration<ObjectMergerService>;
7
+ }
@@ -0,0 +1,11 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class PathQueryService {
3
+ buildAPIPath(server: string | string[], params?: any[] | any): string;
4
+ private buildRestPath;
5
+ private buildQueryPath;
6
+ private cleanUrlPath;
7
+ private isObject;
8
+ private removeEmptyParams;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<PathQueryService, never>;
10
+ static ɵprov: i0.ɵɵInjectableDeclaration<PathQueryService>;
11
+ }
@@ -0,0 +1,24 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import * as i0 from "@angular/core";
3
+ export declare class UtilsService {
4
+ http: HttpClient;
5
+ constructor();
6
+ isString(x: string | number): boolean;
7
+ isObject(obj: any): boolean;
8
+ JSONToString(value: any): any;
9
+ stringToJSON(value: string): any;
10
+ isJSON(str: any): boolean;
11
+ getValueByProp(obj: any, prop: string): any;
12
+ objectsEqual(x: any, y: any): boolean;
13
+ getJSON(file: string): import("rxjs").Observable<Object>;
14
+ get today(): number;
15
+ base32ToHex(base32: string): string;
16
+ binaryToHex(binary: string): string;
17
+ expires(str?: string): number | undefined;
18
+ hasExpired(expiryDate: number): boolean;
19
+ hasExpiry(setting: any): boolean;
20
+ expiresIn(expiryDate: number): string | undefined;
21
+ lc: (str: string) => string;
22
+ static ɵfac: i0.ɵɵFactoryDeclaration<UtilsService, never>;
23
+ static ɵprov: i0.ɵɵInjectableDeclaration<UtilsService>;
24
+ }
package/package.json CHANGED
@@ -1,33 +1,56 @@
1
1
  {
2
2
  "name": "http-request-manager",
3
- "version": "0.0.2",
3
+ "version": "4.1.2",
4
+ "description": "This library has 4 main services that simplify http requests, http request state and local storage states.",
4
5
  "author": "Michele Bonifacio",
5
- "company": "wavecoders",
6
- "description": "This is a test package",
7
- "private": false,
8
- "repository": {
9
- "type": "git",
10
- "url": "https://github.com/wavecoders/sample.git"
11
- },
12
- "bugs": {
13
- "url": "https://github.com/wavecoders/sample/issues"
14
- },
15
- "homepage": "https: //wavecoders.ca",
6
+ "company": "wavecoders.ca",
7
+ "homepage": "https://wavecoders.ca",
16
8
  "keywords": [
17
9
  "angular",
18
10
  "javascript",
19
11
  "typescript",
20
- "typeahead",
21
- "directive",
12
+ "http",
13
+ "local-storage",
14
+ "session-storage",
15
+ "DixieJS",
16
+ "NGRX",
17
+ "ComponentStore",
22
18
  "angular-material"
23
19
  ],
24
- "license": "MIT",
25
20
  "peerDependencies": {
26
- "@angular/common": "^16.2.0",
27
- "@angular/core": "^16.2.0"
21
+ "@angular/cdk": "^15.2.9",
22
+ "@angular/common": "^15.2.0",
23
+ "@angular/compiler": "^15.2.0",
24
+ "@angular/core": "^15.2.0",
25
+ "toast-message-display": "^1.0.74",
26
+ "@ngrx/component-store": "^15.4.0",
27
+ "@ngx-translate/core": "^14.0.0",
28
+ "@ngx-translate/http-loader": "^6.0.0",
29
+ "@types/crypto-js": "^4.2.2",
30
+ "crypto-js": "^4.2.0",
31
+ "dexie": "^4.0.11",
32
+ "rxjs": "~7.8.0"
28
33
  },
29
34
  "dependencies": {
30
35
  "tslib": "^2.3.0"
31
36
  },
32
- "sideEffects": false
37
+ "sideEffects": false,
38
+ "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
39
+ "dest": "../../dist/http-request-manager",
40
+ "lib": {
41
+ "entryFile": "src/public-api.ts"
42
+ },
43
+ "module": "fesm2022/http-request-manager.mjs",
44
+ "typings": "index.d.ts",
45
+ "exports": {
46
+ "./package.json": {
47
+ "default": "./package.json"
48
+ },
49
+ ".": {
50
+ "types": "./index.d.ts",
51
+ "esm2022": "./esm2022/http-request-manager.mjs",
52
+ "esm": "./esm2022/http-request-manager.mjs",
53
+ "default": "./fesm2022/http-request-manager.mjs"
54
+ }
55
+ }
33
56
  }
@@ -0,0 +1,3 @@
1
+ export * from './lib/index';
2
+ export * from './lib/http-request-manager.module';
3
+ export * from './lib/http-request-services-demo/http-request-services-demo.component';
package/ng-package.json DELETED
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/http-request-manager",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- }
7
- }
@@ -1,21 +0,0 @@
1
- import { ComponentFixture, TestBed } from '@angular/core/testing';
2
-
3
- import { HttpRequestManagerComponent } from './http-request-manager.component';
4
-
5
- describe('HttpRequestManagerComponent', () => {
6
- let component: HttpRequestManagerComponent;
7
- let fixture: ComponentFixture<HttpRequestManagerComponent>;
8
-
9
- beforeEach(() => {
10
- TestBed.configureTestingModule({
11
- declarations: [HttpRequestManagerComponent]
12
- });
13
- fixture = TestBed.createComponent(HttpRequestManagerComponent);
14
- component = fixture.componentInstance;
15
- fixture.detectChanges();
16
- });
17
-
18
- it('should create', () => {
19
- expect(component).toBeTruthy();
20
- });
21
- });