http-request-manager 15.0.26 → 18.0.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.
Files changed (232) hide show
  1. package/esm2022/http-request-manager.mjs +5 -0
  2. package/esm2022/lib/http-request-manager.module.mjs +146 -0
  3. package/esm2022/lib/http-request-services-demo/database-data-demo/database-data-demo.component.mjs +71 -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 +173 -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 +88 -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 +14 -0
  14. package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +315 -0
  15. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +270 -0
  16. package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +67 -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/database-manager-services/database.manager.service.mjs +119 -0
  33. package/esm2022/lib/services/database-manager-services/db.storage.service.mjs +143 -0
  34. package/esm2022/lib/services/database-manager-services/index.mjs +4 -0
  35. package/esm2022/lib/services/database-manager-services/models/table-schema.mjs +20 -0
  36. package/esm2022/lib/services/index.mjs +6 -0
  37. package/esm2022/lib/services/local-storage-manager-service/index.mjs +3 -0
  38. package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +302 -0
  39. package/esm2022/lib/services/local-storage-manager-service/models/global-store-options.model.mjs +13 -0
  40. package/esm2022/lib/services/local-storage-manager-service/models/index.mjs +6 -0
  41. package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +13 -0
  42. package/esm2022/lib/services/local-storage-manager-service/models/storage-data.model.mjs +10 -0
  43. package/esm2022/lib/services/local-storage-manager-service/models/storage-option.model.mjs +12 -0
  44. package/esm2022/lib/services/local-storage-manager-service/models/storage-type.enum.mjs +7 -0
  45. package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +207 -0
  46. package/esm2022/lib/services/request-manager-services/index.mjs +5 -0
  47. package/esm2022/lib/services/request-manager-services/request.service.mjs +189 -0
  48. package/esm2022/lib/services/request-manager-services/rxjs-operators/countdown.mjs +9 -0
  49. package/esm2022/lib/services/request-manager-services/rxjs-operators/delay-retry.mjs +10 -0
  50. package/esm2022/lib/services/request-manager-services/rxjs-operators/index.mjs +5 -0
  51. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-polling.mjs +14 -0
  52. package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +19 -0
  53. package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +267 -0
  54. package/esm2022/lib/services/request-manager-state-service/index.mjs +3 -0
  55. package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +20 -0
  56. package/esm2022/lib/services/request-manager-state-service/models/index.mjs +3 -0
  57. package/esm2022/lib/services/request-manager-state-service/models/request-options.model.mjs +10 -0
  58. package/esm2022/lib/services/utils/app.service.mjs +26 -0
  59. package/esm2022/lib/services/utils/encryption/asymmetrical-encryption.service.mjs +186 -0
  60. package/esm2022/lib/services/utils/encryption/encryption-test.service.mjs +35 -0
  61. package/esm2022/lib/services/utils/encryption/index.mjs +4 -0
  62. package/esm2022/lib/services/utils/encryption/random.mjs +52 -0
  63. package/esm2022/lib/services/utils/encryption/symmetrical-encryption.service.mjs +77 -0
  64. package/esm2022/lib/services/utils/headers.service.mjs +21 -0
  65. package/esm2022/lib/services/utils/index.mjs +6 -0
  66. package/esm2022/lib/services/utils/object-merger.service.mjs +50 -0
  67. package/esm2022/lib/services/utils/path-query.service.mjs +54 -0
  68. package/esm2022/lib/services/utils/utils.service.mjs +155 -0
  69. package/esm2022/public-api.mjs +11 -0
  70. package/fesm2022/http-request-manager.mjs +3444 -0
  71. package/fesm2022/http-request-manager.mjs.map +1 -0
  72. package/http-request-manager-18.0.1.tgz +0 -0
  73. package/index.d.ts +5 -0
  74. package/lib/http-request-manager.module.d.ts +33 -0
  75. package/lib/http-request-services-demo/database-data-demo/database-data-demo.component.d.ts +19 -0
  76. package/lib/http-request-services-demo/http-request-services-demo.component.d.ts +24 -0
  77. package/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.d.ts +56 -0
  78. package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +26 -0
  79. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +13 -0
  80. package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +27 -0
  81. package/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.d.ts +12 -0
  82. package/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.d.ts +16 -0
  83. package/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.d.ts +8 -0
  84. package/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.d.ts +14 -0
  85. package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +14 -0
  86. package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +107 -0
  87. package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +122 -0
  88. package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +15 -0
  89. package/lib/index.d.ts +3 -0
  90. package/lib/interceptors/credentials.interceptor.d.ts +8 -0
  91. package/{src/lib/interceptors/index.ts → lib/interceptors/index.d.ts} +0 -2
  92. package/lib/interceptors/models/error-settings.model.d.ts +10 -0
  93. package/lib/interceptors/proxy-debugger.interceptor.d.ts +12 -0
  94. package/lib/interceptors/request-error.interceptor.d.ts +10 -0
  95. package/lib/interceptors/request-header.interceptor.d.ts +15 -0
  96. package/lib/models/config-http-options.model.d.ts +21 -0
  97. package/lib/models/config-local-storage-options.model.d.ts +13 -0
  98. package/lib/models/config-options.model.d.ts +12 -0
  99. package/{src/lib/models/config-token.model.ts → lib/models/config-token.model.d.ts} +1 -2
  100. package/lib/models/data-type.enum.d.ts +5 -0
  101. package/lib/models/database-storage.model.d.ts +10 -0
  102. package/lib/models/index.d.ts +6 -0
  103. package/lib/models/retry-options.model.d.ts +10 -0
  104. package/lib/services/database-manager-services/database.manager.service.d.ts +31 -0
  105. package/lib/services/database-manager-services/db.storage.service.d.ts +26 -0
  106. package/{src/lib/services/database-manager-services/index.ts → lib/services/database-manager-services/index.d.ts} +0 -1
  107. package/lib/services/database-manager-services/models/table-schema.d.ts +11 -0
  108. package/{src/lib/services/index.ts → lib/services/index.d.ts} +0 -4
  109. package/lib/services/local-storage-manager-service/index.d.ts +2 -0
  110. package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +86 -0
  111. package/lib/services/local-storage-manager-service/models/global-store-options.model.d.ts +15 -0
  112. package/{src/lib/services/local-storage-manager-service/models/index.ts → lib/services/local-storage-manager-service/models/index.d.ts} +1 -2
  113. package/lib/services/local-storage-manager-service/models/setting-options.model.d.ts +15 -0
  114. package/lib/services/local-storage-manager-service/models/storage-data.model.d.ts +10 -0
  115. package/lib/services/local-storage-manager-service/models/storage-option.model.d.ts +13 -0
  116. package/lib/services/local-storage-manager-service/models/storage-type.enum.d.ts +5 -0
  117. package/lib/services/request-manager-services/http-manager.service.d.ts +41 -0
  118. package/{src/lib/services/request-manager-services/index.ts → lib/services/request-manager-services/index.d.ts} +0 -2
  119. package/lib/services/request-manager-services/request.service.d.ts +27 -0
  120. package/lib/services/request-manager-services/rxjs-operators/countdown.d.ts +2 -0
  121. package/lib/services/request-manager-services/rxjs-operators/delay-retry.d.ts +2 -0
  122. package/lib/services/request-manager-services/rxjs-operators/request-polling.d.ts +7 -0
  123. package/lib/services/request-manager-services/rxjs-operators/request-streaming.d.ts +2 -0
  124. package/lib/services/request-manager-state-service/http-manager-state.store.d.ts +51 -0
  125. package/{src/lib/services/request-manager-state-service/index.ts → lib/services/request-manager-state-service/index.d.ts} +0 -1
  126. package/lib/services/request-manager-state-service/models/api-request.model.d.ts +27 -0
  127. package/{src/lib/services/request-manager-state-service/models/index.ts → lib/services/request-manager-state-service/models/index.d.ts} +0 -1
  128. package/lib/services/request-manager-state-service/models/request-options.model.d.ts +10 -0
  129. package/lib/services/utils/app.service.d.ts +8 -0
  130. package/lib/services/utils/encryption/asymmetrical-encryption.service.d.ts +17 -0
  131. package/lib/services/utils/encryption/encryption-test.service.d.ts +10 -0
  132. package/{src/lib/services/utils/encryption/index.ts → lib/services/utils/encryption/index.d.ts} +0 -2
  133. package/lib/services/utils/encryption/random.d.ts +7 -0
  134. package/lib/services/utils/encryption/symmetrical-encryption.service.d.ts +14 -0
  135. package/lib/services/utils/headers.service.d.ts +10 -0
  136. package/{src/lib/services/utils/index.ts → lib/services/utils/index.d.ts} +0 -2
  137. package/lib/services/utils/object-merger.service.d.ts +12 -0
  138. package/lib/services/utils/path-query.service.d.ts +11 -0
  139. package/lib/services/utils/utils.service.d.ts +24 -0
  140. package/package.json +14 -1
  141. package/{src/public-api.ts → public-api.d.ts} +0 -7
  142. package/ng-package.json +0 -8
  143. package/src/lib/http-request-manager.module.ts +0 -101
  144. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.html +0 -3
  145. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.scss +0 -0
  146. package/src/lib/http-request-services-demo/database-data-demo/database-data-demo.component.ts +0 -105
  147. package/src/lib/http-request-services-demo/http-request-services-demo.component.html +0 -64
  148. package/src/lib/http-request-services-demo/http-request-services-demo.component.scss +0 -6
  149. package/src/lib/http-request-services-demo/http-request-services-demo.component.ts +0 -34
  150. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.html +0 -195
  151. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.scss +0 -17
  152. package/src/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.ts +0 -205
  153. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.html +0 -59
  154. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.scss +0 -60
  155. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.ts +0 -71
  156. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.ts +0 -28
  157. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.html +0 -10
  158. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.scss +0 -29
  159. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.ts +0 -99
  160. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.ts +0 -22
  161. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.html +0 -8
  162. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.scss +0 -19
  163. package/src/lib/http-request-services-demo/request-manager-demo/file-downloader/spinner/spinner.component.ts +0 -25
  164. package/src/lib/http-request-services-demo/request-manager-demo/models/app-session.model.ts +0 -30
  165. package/src/lib/http-request-services-demo/request-manager-demo/models/app.model.ts +0 -19
  166. package/src/lib/http-request-services-demo/request-manager-demo/models/get-sample.model.ts +0 -25
  167. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-ai-prompt.ts +0 -19
  168. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-details.ts +0 -24
  169. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.ts +0 -30
  170. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-client.model.ts +0 -49
  171. package/src/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.ts +0 -33
  172. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.html +0 -336
  173. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.scss +0 -24
  174. package/src/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.ts +0 -403
  175. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.html +0 -328
  176. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.scss +0 -24
  177. package/src/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.ts +0 -347
  178. package/src/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.ts +0 -88
  179. package/src/lib/index.ts +0 -3
  180. package/src/lib/interceptors/credentials.interceptor.ts +0 -18
  181. package/src/lib/interceptors/models/error-settings.model.ts +0 -22
  182. package/src/lib/interceptors/proxy-debugger.interceptor.ts +0 -46
  183. package/src/lib/interceptors/request-error.interceptor.ts +0 -65
  184. package/src/lib/interceptors/request-header.interceptor.ts +0 -58
  185. package/src/lib/models/config-http-options.model.ts +0 -42
  186. package/src/lib/models/config-local-storage-options.model.ts +0 -27
  187. package/src/lib/models/config-options.model.ts +0 -27
  188. package/src/lib/models/data-type.enum.ts +0 -5
  189. package/src/lib/models/database-storage.model.ts +0 -24
  190. package/src/lib/models/index.ts +0 -9
  191. package/src/lib/models/retry-options.model.ts +0 -22
  192. package/src/lib/services/database-manager-services/database.manager.service.ts +0 -193
  193. package/src/lib/services/database-manager-services/db.storage.service.ts +0 -191
  194. package/src/lib/services/database-manager-services/models/table-schema.ts +0 -35
  195. package/src/lib/services/local-storage-manager-service/index.ts +0 -2
  196. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.spec.ts +0 -71
  197. package/src/lib/services/local-storage-manager-service/local-storage-manager.service.ts +0 -421
  198. package/src/lib/services/local-storage-manager-service/models/global-store-options.model.ts +0 -30
  199. package/src/lib/services/local-storage-manager-service/models/setting-options.model.ts +0 -30
  200. package/src/lib/services/local-storage-manager-service/models/storage-data.model.ts +0 -24
  201. package/src/lib/services/local-storage-manager-service/models/storage-option.model.ts +0 -29
  202. package/src/lib/services/local-storage-manager-service/models/storage-type.enum.ts +0 -5
  203. package/src/lib/services/request-manager-services/README.md +0 -268
  204. package/src/lib/services/request-manager-services/http-manager.service.spec.ts +0 -230
  205. package/src/lib/services/request-manager-services/http-manager.service.ts +0 -274
  206. package/src/lib/services/request-manager-services/request.service.ts +0 -261
  207. package/src/lib/services/request-manager-services/rxjs-operators/countdown.ts +0 -17
  208. package/src/lib/services/request-manager-services/rxjs-operators/delay-retry.ts +0 -16
  209. package/src/lib/services/request-manager-services/rxjs-operators/request-polling.ts +0 -21
  210. package/src/lib/services/request-manager-services/rxjs-operators/request-streaming.ts +0 -32
  211. package/src/lib/services/request-manager-state-service/http-manager-state.store.ts +0 -402
  212. package/src/lib/services/request-manager-state-service/models/api-request.model.ts +0 -50
  213. package/src/lib/services/request-manager-state-service/models/request-options.model.ts +0 -22
  214. package/src/lib/services/utils/app.service.spec.ts +0 -25
  215. package/src/lib/services/utils/app.service.ts +0 -21
  216. package/src/lib/services/utils/encryption/README.md +0 -79
  217. package/src/lib/services/utils/encryption/asymmetrical-encryption.service.ts +0 -282
  218. package/src/lib/services/utils/encryption/encryption-test.service.ts +0 -39
  219. package/src/lib/services/utils/encryption/random.ts +0 -69
  220. package/src/lib/services/utils/encryption/symmetrical-encryption.service.ts +0 -93
  221. package/src/lib/services/utils/headers.service.spec.ts +0 -80
  222. package/src/lib/services/utils/headers.service.ts +0 -18
  223. package/src/lib/services/utils/object-merger.service.spec.ts +0 -16
  224. package/src/lib/services/utils/object-merger.service.ts +0 -60
  225. package/src/lib/services/utils/path-query.service.spec.ts +0 -117
  226. package/src/lib/services/utils/path-query.service.ts +0 -69
  227. package/src/lib/services/utils/utils.service.spec.ts +0 -164
  228. package/src/lib/services/utils/utils.service.ts +0 -192
  229. package/tsconfig.lib.json +0 -32
  230. package/tsconfig.lib.prod.json +0 -10
  231. package/tsconfig.spec.json +0 -14
  232. /package/{src/lib/services/request-manager-services/rxjs-operators/index.ts → lib/services/request-manager-services/rxjs-operators/index.d.ts} +0 -0
@@ -1,191 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import Dexie, {Table} from 'dexie';
3
-
4
- @Injectable({
5
- providedIn: 'root',
6
- })
7
- export class DbService extends Dexie {
8
-
9
- storageDB = "global_storage_db"
10
-
11
- db = new Dexie(this.storageDB)
12
-
13
- get vr() {
14
- return (this.db.verno === 0) ? 1 : this.db.verno + 1
15
- }
16
-
17
- get nextVr() {
18
- return this.vr + 1
19
- }
20
-
21
- get getTables() {
22
- return this.db.tables.map(item => item.name)
23
- }
24
-
25
- async hasDatabase() {
26
- return await Dexie.exists(this.storageDB).then((res) => {
27
- this.createNewDatabase()
28
- return res
29
- })
30
- }
31
-
32
- getTable = (table: string) => {
33
- return this.db.tables.find(item => item.name === table)
34
- }
35
-
36
- tableExists = (table: string) => {
37
- return (this.getTables.find(item => item === table)) ? true : false
38
- }
39
-
40
- constructor() {
41
-
42
- super("global_storage_db")
43
-
44
- this.db = this
45
- this.open().then(data => {
46
-
47
- }).catch(err => {
48
- this.createNewDatabase()
49
- })
50
-
51
- }
52
-
53
- protected async updateTable(table: string, find: { key: string, value: string|number }, data: any) {
54
-
55
- const tableSource = this.getTable(table)
56
-
57
- if(!tableSource || !find || !(find.key || find.value)) return false
58
-
59
- await tableSource?.where(find.key).equals(find.value).first()
60
- .then(async (rec: any) => {
61
- const newRec = this.updateObjectKeys(rec, data)
62
- await tableSource?.update(rec.id, newRec)
63
- })
64
-
65
- return true
66
-
67
- }
68
-
69
- protected async createNewDatabase() {
70
-
71
- const db = new Dexie('global_storage_db');
72
-
73
- if (!await Dexie.exists(db.name)) {
74
- db.version(1).stores({})
75
- }
76
-
77
- await db.open()
78
-
79
- }
80
-
81
- // async createTable(table: string, schema: string) {
82
- protected async createTable(table: string, schema: string) {
83
-
84
- // console.log('createTable:', table, schema)
85
-
86
- this.hasDatabase().then(async(res) => {
87
-
88
- const tableDef = this.normalizeString(table)
89
- const schemaDef = this.normalizeString(schema)
90
-
91
- table = tableDef || ''
92
- schema = schemaDef || ''
93
-
94
- if(table === '' || schema === '') return
95
-
96
- if(!this.db.isOpen()) {
97
- await this.db.open()
98
- .then( async () => {
99
- this.create(table, schema)
100
- // console.log('OPENED', table)
101
- })
102
- .catch(() => {
103
- // console.log('FAILED', table)
104
- })
105
-
106
- } else {
107
- this.create(table, schema)
108
- }
109
-
110
- const hasTable = this.getTable(table)
111
-
112
- if(!hasTable) {
113
- setTimeout(() => {
114
- this.createTable.bind(this, table, schema)
115
- this.create(table, schema)
116
- }, 300)
117
- }
118
-
119
- // console.log('DB HAS', table, hasTable)
120
-
121
- })
122
-
123
- }
124
-
125
- private async create(table: string, schema: string) {
126
-
127
- // console.log('OPEN', this.db.name, this.vr, this.db.verno, 'OPEN',this.db.isOpen())
128
-
129
- if(!this.tableExists(table)) {
130
-
131
- if(this.db.isOpen()) await this.db.close()
132
-
133
- const newSchema: any = { [table]: schema }
134
- await this.db.version(this.nextVr).stores(newSchema)
135
-
136
- // console.log('Created New Table: ', table, schema)
137
-
138
- if(!this.db.isOpen()) await this.db.open()
139
- }
140
-
141
- }
142
-
143
- private updateObjectKeys(obj1: any, obj2: any) {
144
-
145
- return Object.keys(obj1).reduce((updatedObj: any, key: any) => {
146
- updatedObj[key] = obj2.hasOwnProperty(key) ? obj2[key] : obj1[key]
147
- return updatedObj
148
- }, {})
149
-
150
- }
151
-
152
- protected async DBOpened() {
153
-
154
- if(!this.db.isOpen()) {
155
- await this.db.open()
156
- .then( async () => {
157
- // console.log('OPENED')
158
- })
159
- .catch(async (err) => {
160
- // console.log('OPENED ERR')
161
- return false
162
- })
163
- } else {
164
- // console.log('OPENED')
165
- }
166
-
167
- return true
168
-
169
- }
170
-
171
- private normalizeString(item: string|string[]) {
172
-
173
- if(!item) return
174
-
175
- return Array.isArray(item) ?
176
- item.map((item: string) => this.cleanString(item)).join()
177
- : item.split(',').map((item: string) => this.cleanString(item)).join()
178
-
179
- }
180
-
181
- private cleanString(str: string): string {
182
-
183
- const cleanStr = str
184
- .replace(/[^a-zA-Z0-9\s]/g, '')
185
- .replace(/\s+/g, '_')
186
-
187
- return cleanStr.trim().toLowerCase()
188
-
189
- }
190
-
191
- }
@@ -1,35 +0,0 @@
1
- export interface TableSchemaDefInterface {
2
- table: string
3
- schema: string
4
- }
5
-
6
- export class TableSchemaDef implements TableSchemaDefInterface {
7
- constructor(
8
- public table = 'unknown',
9
- public schema: string = '',
10
- ) {}
11
-
12
- static adapt(item?: any): TableSchemaDef {
13
-
14
- const schemaArray = (item?.schema && Array.isArray(item.schema)) ? item.schema : item.schema.split(',')
15
- const schema = schemaArray.map((item: string) => this.cleanString(item)).join()
16
-
17
- return new TableSchemaDef(
18
- (item?.table) ? this.cleanString(item.table) : 'unknown',
19
- schema,
20
- )
21
-
22
- }
23
-
24
- static cleanString(str: string): string {
25
- const camelCaseSplit = str.replace(/([a-z])([A-Z])/g, '$1 $2')
26
-
27
- const cleanStr = camelCaseSplit
28
- .replace(/[^a-zA-Z0-9\s]/g, '') // Remove non-alphanumeric characters except spaces
29
- .toLowerCase() // Convert to lowercase
30
- .trim(); // Trim any leading or trailing spaces
31
-
32
- return cleanStr;
33
- }
34
-
35
- }
@@ -1,2 +0,0 @@
1
- export * from "./models/index"
2
- export * from "./local-storage-manager.service";
@@ -1,71 +0,0 @@
1
- import { TestBed } from '@angular/core/testing';
2
- import { LocalStorageManagerService } from './local-storage-manager.service';
3
- import { UtilsService } from '../utils/utils.service';
4
- import { SymmetricalEncryptionService } from '../utils/encryption/symmetrical-encryption.service';
5
- import { EncryptionTestService } from '../utils/encryption/encryption-test.service';
6
- import { AppService } from '../utils/app.service';
7
- import { ObjectMergerService } from '../utils/object-merger.service';
8
-
9
- describe('LocalStorageManagerService', () => {
10
- let service: LocalStorageManagerService;
11
- let utilsService: jasmine.SpyObj<UtilsService>;
12
- let encryptionService: jasmine.SpyObj<SymmetricalEncryptionService>;
13
- let encryptionTestService: jasmine.SpyObj<EncryptionTestService>;
14
- let appService: jasmine.SpyObj<AppService>;
15
- let objectMergerService: jasmine.SpyObj<ObjectMergerService>;
16
-
17
- beforeEach(() => {
18
- localStorage.clear();
19
- sessionStorage.clear();
20
-
21
- const utilsSpy = jasmine.createSpyObj('UtilsService', ['expires', 'hasExpired', 'generateUUID']);
22
- const encryptionSpy = jasmine.createSpyObj('SymmetricalEncryptionService', ['encrypt', 'decrypt']);
23
- const encryptionTestSpy = jasmine.createSpyObj('EncryptionTestService', ['isEncrypted']);
24
- const appServiceSpy = jasmine.createSpyObj('AppService', [], { appID: 'test-app-id' });
25
- const objectMergerSpy = jasmine.createSpyObj('ObjectMergerService', ['mergeStorageOptions']);
26
-
27
- utilsSpy.generateUUID.and.returnValue('test-uuid');
28
-
29
- TestBed.configureTestingModule({
30
- providers: [
31
- LocalStorageManagerService,
32
- { provide: UtilsService, useValue: utilsSpy },
33
- { provide: SymmetricalEncryptionService, useValue: encryptionSpy },
34
- { provide: EncryptionTestService, useValue: encryptionTestSpy },
35
- { provide: AppService, useValue: appServiceSpy },
36
- { provide: ObjectMergerService, useValue: objectMergerSpy }
37
- ]
38
- });
39
-
40
- service = TestBed.inject(LocalStorageManagerService);
41
- utilsService = TestBed.inject(UtilsService) as jasmine.SpyObj<UtilsService>;
42
- encryptionService = TestBed.inject(SymmetricalEncryptionService) as jasmine.SpyObj<SymmetricalEncryptionService>;
43
- encryptionTestService = TestBed.inject(EncryptionTestService) as jasmine.SpyObj<EncryptionTestService>;
44
- appService = TestBed.inject(AppService) as jasmine.SpyObj<AppService>;
45
- objectMergerService = TestBed.inject(ObjectMergerService) as jasmine.SpyObj<ObjectMergerService>;
46
-
47
- // Setup default spy behaviors
48
- utilsService.hasExpired.and.returnValue(false);
49
- utilsService.expires.and.returnValue(0);
50
- encryptionTestService.isEncrypted.and.returnValue(false);
51
- encryptionService.encrypt.and.returnValue('encrypted');
52
- encryptionService.decrypt.and.returnValue('{}');
53
-
54
- // Initialize the store with empty state
55
- service.setState({
56
- localStores: [],
57
- sessionStores: [],
58
- settings: []
59
- });
60
- });
61
-
62
- afterEach(() => {
63
- localStorage.clear();
64
- sessionStorage.clear();
65
- });
66
-
67
- it('should be created', () => {
68
- expect(service).toBeTruthy();
69
- });
70
-
71
- });