tnp-helpers 16.100.7 → 16.100.9

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 (181) hide show
  1. package/assets/shared/shared_folder_info.txt +1 -1
  2. package/browser/README.md +24 -24
  3. package/browser/esm2022/lib/base/base-db.mjs +48 -0
  4. package/browser/esm2022/lib/base/base-project-resolver.mjs +14 -1
  5. package/browser/esm2022/lib/base/base-project.mjs +111 -7
  6. package/browser/esm2022/lib/base/config-database.mjs +42 -0
  7. package/browser/esm2022/lib/base/core-project.mjs +7 -27
  8. package/browser/esm2022/lib/base/linked-project.mjs +2 -1
  9. package/browser/esm2022/lib/base/project-database.mjs +18 -0
  10. package/browser/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  11. package/browser/esm2022/lib/index.mjs +2 -1
  12. package/browser/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  13. package/browser/esm2022/lib/lowdb/core/Low.mjs +49 -0
  14. package/browser/esm2022/lib/lowdb/index.mjs +4 -0
  15. package/browser/esm2022/lib/models.mjs +3 -0
  16. package/browser/fesm2022/tnp-helpers.mjs +233 -30
  17. package/browser/fesm2022/tnp-helpers.mjs.map +1 -1
  18. package/browser/lib/base/base-db.d.ts +12 -0
  19. package/browser/lib/base/base-project-resolver.d.ts +8 -0
  20. package/browser/lib/base/base-project.d.ts +10 -17
  21. package/browser/lib/base/config-database.d.ts +15 -0
  22. package/browser/lib/base/core-project.d.ts +4 -14
  23. package/browser/lib/base/project-database.d.ts +13 -0
  24. package/browser/lib/index.d.ts +2 -1
  25. package/browser/lib/lowdb/adapters/Memory.d.ts +12 -0
  26. package/browser/lib/lowdb/core/Low.d.ts +25 -0
  27. package/browser/lib/lowdb/index.d.ts +3 -0
  28. package/browser/lib/models.d.ts +17 -0
  29. package/client/README.md +24 -24
  30. package/client/esm2022/lib/base/base-db.mjs +48 -0
  31. package/client/esm2022/lib/base/base-project-resolver.mjs +14 -1
  32. package/client/esm2022/lib/base/base-project.mjs +111 -7
  33. package/client/esm2022/lib/base/config-database.mjs +42 -0
  34. package/client/esm2022/lib/base/core-project.mjs +7 -27
  35. package/client/esm2022/lib/base/linked-project.mjs +2 -1
  36. package/client/esm2022/lib/base/project-database.mjs +18 -0
  37. package/client/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  38. package/client/esm2022/lib/index.mjs +2 -1
  39. package/client/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  40. package/client/esm2022/lib/lowdb/core/Low.mjs +49 -0
  41. package/client/esm2022/lib/lowdb/index.mjs +4 -0
  42. package/client/esm2022/lib/models.mjs +3 -0
  43. package/client/fesm2022/tnp-helpers.mjs +233 -30
  44. package/client/fesm2022/tnp-helpers.mjs.map +1 -1
  45. package/client/lib/base/base-db.d.ts +12 -0
  46. package/client/lib/base/base-project-resolver.d.ts +8 -0
  47. package/client/lib/base/base-project.d.ts +10 -17
  48. package/client/lib/base/config-database.d.ts +15 -0
  49. package/client/lib/base/core-project.d.ts +4 -14
  50. package/client/lib/base/project-database.d.ts +13 -0
  51. package/client/lib/index.d.ts +2 -1
  52. package/client/lib/lowdb/adapters/Memory.d.ts +12 -0
  53. package/client/lib/lowdb/core/Low.d.ts +25 -0
  54. package/client/lib/lowdb/index.d.ts +3 -0
  55. package/client/lib/models.d.ts +17 -0
  56. package/client/package.json +33 -32
  57. package/firedev.jsonc +61 -60
  58. package/lib/base/base-command-line.backend.d.ts +4 -0
  59. package/lib/base/base-command-line.backend.js +129 -20
  60. package/lib/base/base-command-line.backend.js.map +1 -1
  61. package/lib/base/base-db.d.ts +12 -0
  62. package/lib/base/base-db.js +74 -0
  63. package/lib/base/base-db.js.map +1 -0
  64. package/lib/base/base-project-resolver.d.ts +9 -1
  65. package/lib/base/base-project-resolver.js +12 -5
  66. package/lib/base/base-project-resolver.js.map +1 -1
  67. package/lib/base/base-project.d.ts +15 -23
  68. package/lib/base/base-project.js +412 -265
  69. package/lib/base/base-project.js.map +1 -1
  70. package/lib/base/base-start-config.backend.js +1 -1
  71. package/lib/base/base-start-config.backend.js.map +1 -1
  72. package/lib/base/command-line-feature.backend.d.ts +3 -1
  73. package/lib/base/command-line-feature.backend.js +2 -1
  74. package/lib/base/command-line-feature.backend.js.map +1 -1
  75. package/lib/base/config-database.d.ts +14 -0
  76. package/lib/base/config-database.js +74 -0
  77. package/lib/base/config-database.js.map +1 -0
  78. package/lib/base/core-project.d.ts +3 -13
  79. package/lib/base/core-project.js +5 -34
  80. package/lib/base/core-project.js.map +1 -1
  81. package/lib/base/linked-project.js.map +1 -1
  82. package/lib/base/project-database.d.ts +14 -0
  83. package/lib/base/project-database.js +31 -0
  84. package/lib/base/project-database.js.map +1 -0
  85. package/lib/helpers/for-backend/helpers-git.backend.js +1 -1
  86. package/lib/helpers/for-backend/helpers-git.backend.js.map +1 -1
  87. package/lib/helpers/for-browser/angular.helper.js +3 -3
  88. package/lib/helpers/helpers-array-obj.js +1 -0
  89. package/lib/helpers/helpers-array-obj.js.map +1 -1
  90. package/lib/index.d.ts +2 -1
  91. package/lib/index.js +1 -0
  92. package/lib/index.js.map +1 -1
  93. package/lib/lowdb/adapters/Memory.d.ts +11 -0
  94. package/lib/lowdb/adapters/Memory.js +31 -0
  95. package/lib/lowdb/adapters/Memory.js.map +1 -0
  96. package/lib/lowdb/adapters/browser/LocalStorage.d.ts +4 -0
  97. package/lib/lowdb/adapters/browser/LocalStorage.js +14 -0
  98. package/lib/lowdb/adapters/browser/LocalStorage.js.map +1 -0
  99. package/lib/lowdb/adapters/browser/SessionStorage.d.ts +4 -0
  100. package/lib/lowdb/adapters/browser/SessionStorage.js +14 -0
  101. package/lib/lowdb/adapters/browser/SessionStorage.js.map +1 -0
  102. package/lib/lowdb/adapters/browser/WebStorage.d.ts +8 -0
  103. package/lib/lowdb/adapters/browser/WebStorage.js +22 -0
  104. package/lib/lowdb/adapters/browser/WebStorage.js.map +1 -0
  105. package/lib/lowdb/adapters/node/DataFile.d.ts +26 -0
  106. package/lib/lowdb/adapters/node/DataFile.js +60 -0
  107. package/lib/lowdb/adapters/node/DataFile.js.map +1 -0
  108. package/lib/lowdb/adapters/node/JSONFile.d.ts +9 -0
  109. package/lib/lowdb/adapters/node/JSONFile.js +28 -0
  110. package/lib/lowdb/adapters/node/JSONFile.js.map +1 -0
  111. package/lib/lowdb/adapters/node/TextFile.d.ts +18 -0
  112. package/lib/lowdb/adapters/node/TextFile.js +68 -0
  113. package/lib/lowdb/adapters/node/TextFile.js.map +1 -0
  114. package/lib/lowdb/adapters/node/steno.d.ts +13 -0
  115. package/lib/lowdb/adapters/node/steno.js +141 -0
  116. package/lib/lowdb/adapters/node/steno.js.map +1 -0
  117. package/lib/lowdb/browser.d.ts +3 -0
  118. package/lib/lowdb/browser.js +7 -0
  119. package/lib/lowdb/browser.js.map +1 -0
  120. package/lib/lowdb/core/Low.d.ts +24 -0
  121. package/lib/lowdb/core/Low.js +86 -0
  122. package/lib/lowdb/core/Low.js.map +1 -0
  123. package/lib/lowdb/examples/browser.d.ts +1 -0
  124. package/lib/lowdb/examples/browser.js +10 -0
  125. package/lib/lowdb/examples/browser.js.map +1 -0
  126. package/lib/lowdb/examples/cli.d.ts +1 -0
  127. package/lib/lowdb/examples/cli.js +11 -0
  128. package/lib/lowdb/examples/cli.js.map +1 -0
  129. package/lib/lowdb/examples/in-memory.d.ts +8 -0
  130. package/lib/lowdb/examples/in-memory.js +14 -0
  131. package/lib/lowdb/examples/in-memory.js.map +1 -0
  132. package/lib/lowdb/examples/server.d.ts +0 -0
  133. package/lib/lowdb/examples/server.js +36 -0
  134. package/lib/lowdb/examples/server.js.map +1 -0
  135. package/lib/lowdb/index.d.ts +2 -0
  136. package/lib/lowdb/index.js +6 -0
  137. package/lib/lowdb/index.js.map +1 -0
  138. package/lib/lowdb/node.d.ts +4 -0
  139. package/lib/lowdb/node.js +8 -0
  140. package/lib/lowdb/node.js.map +1 -0
  141. package/lib/lowdb/presets/browser.d.ts +3 -0
  142. package/lib/lowdb/presets/browser.js +21 -0
  143. package/lib/lowdb/presets/browser.js.map +1 -0
  144. package/lib/lowdb/presets/node.d.ts +5 -0
  145. package/lib/lowdb/presets/node.js +36 -0
  146. package/lib/lowdb/presets/node.js.map +1 -0
  147. package/lib/models.d.ts +16 -0
  148. package/lib/models.js +0 -3
  149. package/lib/models.js.map +1 -1
  150. package/lib/old/base-component.js +3 -3
  151. package/lib/old/base-formly-component.js +3 -3
  152. package/lib/old/dual-component-ctrl.js +3 -3
  153. package/package.json +7 -5
  154. package/tmp-environment.json +37 -36
  155. package/websql/README.md +24 -24
  156. package/websql/esm2022/lib/base/base-db.mjs +48 -0
  157. package/websql/esm2022/lib/base/base-project-resolver.mjs +14 -4
  158. package/websql/esm2022/lib/base/base-project.mjs +111 -7
  159. package/websql/esm2022/lib/base/config-database.mjs +42 -0
  160. package/websql/esm2022/lib/base/core-project.mjs +7 -27
  161. package/websql/esm2022/lib/base/linked-project.mjs +2 -1
  162. package/websql/esm2022/lib/base/project-database.mjs +18 -0
  163. package/websql/esm2022/lib/helpers/helpers-array-obj.mjs +1 -1
  164. package/websql/esm2022/lib/index.mjs +2 -1
  165. package/websql/esm2022/lib/lowdb/adapters/Memory.mjs +26 -0
  166. package/websql/esm2022/lib/lowdb/core/Low.mjs +49 -0
  167. package/websql/esm2022/lib/lowdb/index.mjs +4 -0
  168. package/websql/esm2022/lib/models.mjs +3 -0
  169. package/websql/fesm2022/tnp-helpers.mjs +229 -29
  170. package/websql/fesm2022/tnp-helpers.mjs.map +1 -1
  171. package/websql/lib/base/base-db.d.ts +12 -0
  172. package/websql/lib/base/base-project-resolver.d.ts +8 -0
  173. package/websql/lib/base/base-project.d.ts +10 -17
  174. package/websql/lib/base/config-database.d.ts +15 -0
  175. package/websql/lib/base/core-project.d.ts +4 -14
  176. package/websql/lib/base/project-database.d.ts +13 -0
  177. package/websql/lib/index.d.ts +2 -1
  178. package/websql/lib/lowdb/adapters/Memory.d.ts +12 -0
  179. package/websql/lib/lowdb/core/Low.d.ts +25 -0
  180. package/websql/lib/lowdb/index.d.ts +3 -0
  181. package/websql/lib/models.d.ts +17 -0
@@ -41,6 +41,7 @@ export class LinkedProject {
41
41
  /* */
42
42
  /* */
43
43
  /* */
44
+ /* */
44
45
  return (void 0);
45
46
  }
46
47
  /**
@@ -74,4 +75,4 @@ export class LinkedPorjectsConfig {
74
75
  }
75
76
  ;
76
77
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/linked-project.ts
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssYUFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQWtCLENBQUM7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtZQUNqQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDN0IsVUFBVSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDckM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBSUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFtQixFQUFFLGdCQUF5QixFQUFFLGFBQXNCO1FBQ3BGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFdBQVcsTUFBTSxDQUFDO1lBQ3pGLGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBc0IsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN6RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNELE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFzQkQ7O09BRUc7SUFDSSxTQUFTO1FBQ2QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDekI7UUFDRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztDQUlGO0FBRUQsTUFBTSxPQUFPLG9CQUFvQjtJQUsvQixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQXNDO1FBQ2hELE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQzthQUN4QyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRTtnQkFDaEMsT0FBTyxhQUFhLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDakQ7WUFDRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDYixPQUFPLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsT0FBTyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssb0JBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDNUUsQ0FBQztDQU9GO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxtRUFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgXywgY3Jvc3NQbGF0Zm9ybVBhdGgsIHBhdGggfSBmcm9tICd0bnAtY29yZS9icm93c2VyJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuLi9pbmRleCc7XG5cblxuZXhwb3J0IGNsYXNzIExpbmtlZFByb2plY3Qge1xuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFByb2plY3Q+KSB7XG4gICAgY29uc3QgbGlua2VkUHJvaiA9IF8ubWVyZ2UobmV3IChMaW5rZWRQcm9qZWN0IGFzIGFueSkoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpIGFzIExpbmtlZFByb2plY3Q7XG4gICAgaWYgKCFsaW5rZWRQcm9qLnJlbGF0aXZlQ2xvbmVQYXRoKSB7XG4gICAgICBsaW5rZWRQcm9qLnJlbGF0aXZlQ2xvbmVQYXRoID0gcGF0aC5iYXNlbmFtZShsaW5rZWRQcm9qLnJlbW90ZVVybCgpLnJlcGxhY2UoJy5naXQnLCAnJykpO1xuICAgIH1cbiAgICBpZiAoIWxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCkge1xuICAgICAgbGlua2VkUHJvai5kZWFmdWx0QnJhbmNoID0gJ21hc3Rlcic7XG4gICAgfVxuICAgIHJldHVybiBsaW5rZWRQcm9qO1xuICB9XG5cblxuXG4gIHN0YXRpYyBmcm9tTmFtZShwcm9qZWN0TmFtZTogc3RyaW5nLCBjdXJyZW50UmVtb3RlVXJsPzogc3RyaW5nLCBjdXJyZW50QnJhbmNoPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbSh7XG4gICAgICByZXBvVXJsOiBjdXJyZW50UmVtb3RlVXJsPy5yZXBsYWNlKHBhdGguYmFzZW5hbWUoY3VycmVudFJlbW90ZVVybCksIGAke3Byb2plY3ROYW1lfS5naXRgKSxcbiAgICAgIGRlYWZ1bHRCcmFuY2g6IGN1cnJlbnRCcmFuY2gsXG4gICAgICByZWxhdGl2ZUNsb25lUGF0aDogcHJvamVjdE5hbWUsXG4gICAgfSk7XG4gIH1cblxuXG5cbiAgc3RhdGljIGRldGVjdChpbnNpZGVMb2NhdGlvbjogc3RyaW5nLCByZWN1cnNpdmUgPSBmYWxzZSk6IExpbmtlZFByb2plY3RbXSB7XG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cblxuXG5cblxuICAvKipcbiAgICogc29tZXRpbWUgdGhlcmUgaXMgcHJvamVjdCB0aGF0IGhhcyBvbmUgcHJvamVjdFxuICAgKiBlbWJlZGUgaW5zaWRlIGFub3RoZXIgcHJvamVjdFxuICAgKi9cbiAgaW50ZXJuYWxSZWFsdGl2ZVByb2plY3RQYXRoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybFNzaD86IHN0cmluZztcbiAgLyoqXG4gICAqIGRvbid0IGFjY2VzcyBkaXJlY3RseSwgdXNlIHJlbW90ZVVybCgpIGluc3RlYWRcbiAgICovXG4gIHJlcG9VcmxIdHRwPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybD86IHN0cmluZztcbiAgLyoqXG4gICAqIHVybCBmb3IgZ2l0IHJlcG9cbiAgICovXG4gIHB1YmxpYyByZW1vdGVVcmwoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5yZXBvVXJsKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXBvVXJsSHR0cCkge1xuICAgICAgcmV0dXJuIHRoaXMucmVwb1VybEh0dHA7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlcG9VcmxTc2g7XG4gIH1cbiAgZGVhZnVsdEJyYW5jaD86IHN0cmluZztcbiAgcHVycG9zZT86IHN0cmluZztcbiAgcmVsYXRpdmVDbG9uZVBhdGg/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQb3JqZWN0c0NvbmZpZyB7XG5cblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQb3JqZWN0c0NvbmZpZz4pIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLnByb2plY3RzID0gKG9wdGlvbnMucHJvamVjdHMgfHwgW10pXG4gICAgICAubWFwKGxpbmtlZFByb2pPcm5hbWUgPT4ge1xuICAgICAgICBpZiAoXy5pc1N0cmluZyhsaW5rZWRQcm9qT3JuYW1lKSkge1xuICAgICAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb21OYW1lKGxpbmtlZFByb2pPcm5hbWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20obGlua2VkUHJvak9ybmFtZSk7XG4gICAgICB9KVxuICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgcmV0dXJuIChhLnJlbGF0aXZlQ2xvbmVQYXRoIHx8ICcnKS5sb2NhbGVDb21wYXJlKChiLnJlbGF0aXZlQ2xvbmVQYXRoIHx8ICcnKSk7XG4gICAgICB9KTtcbiAgICByZXR1cm4gXy5tZXJnZShuZXcgKExpbmtlZFBvcmplY3RzQ29uZmlnIGFzIGFueSkoKSwgXy5jbG9uZURlZXAob3B0aW9ucykpO1xuICB9XG5cblxuXG4gIHByZWZpeD86IHN0cmluZztcbiAgc2tpcFJlY3J1c2l2ZVB1c2g/OiBib29sZWFuO1xuICBwcm9qZWN0czogTGlua2VkUHJvamVjdFtdO1xufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXX0=
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlua2VkLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2Jhc2UvbGlua2VkLXByb2plY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBcUIsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFJOUQsTUFBTSxPQUFPLGFBQWE7SUFJeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUErQjtRQUN6QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUssYUFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQWtCLENBQUM7UUFDaEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtZQUNqQyxVQUFVLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQzFGO1FBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7WUFDN0IsVUFBVSxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUM7U0FDckM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBSUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxXQUFtQixFQUFFLGdCQUF5QixFQUFFLGFBQXNCO1FBQ3BGLE9BQU8sYUFBYSxDQUFDLElBQUksQ0FBQztZQUN4QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxHQUFHLFdBQVcsTUFBTSxDQUFDO1lBQ3pGLGFBQWEsRUFBRSxhQUFhO1lBQzVCLGlCQUFpQixFQUFFLFdBQVc7U0FDL0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUlELE1BQU0sQ0FBQyxNQUFNLENBQUMsY0FBc0IsRUFBRSxTQUFTLEdBQUcsS0FBSztRQUN6RCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBc0JEOztPQUVHO0lBQ0ksU0FBUztRQUNkLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7U0FDckI7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1NBQ3pCO1FBQ0QsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7Q0FJRjtBQUVELE1BQU0sT0FBTyxvQkFBb0I7SUFLL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFzQztRQUNoRCxPQUFPLEdBQUcsT0FBTyxJQUFJLEVBQUUsQ0FBQztRQUN4QixPQUFPLENBQUMsUUFBUSxHQUFHLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7YUFDeEMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDdEIsSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7Z0JBQ2hDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ2pEO1lBQ0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ2IsT0FBTyxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUNMLE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFLLG9CQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7Q0FPRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsbUVBQW1FIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IF8sIGNyb3NzUGxhdGZvcm1QYXRoLCBwYXRoIH0gZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgeyBIZWxwZXJzIH0gZnJvbSAnLi4vaW5kZXgnO1xuXG5cbmV4cG9ydCBjbGFzcyBMaW5rZWRQcm9qZWN0IHtcblxuXG5cbiAgc3RhdGljIGZyb20ob3B0aW9uczogUGFydGlhbDxMaW5rZWRQcm9qZWN0Pikge1xuICAgIGNvbnN0IGxpbmtlZFByb2ogPSBfLm1lcmdlKG5ldyAoTGlua2VkUHJvamVjdCBhcyBhbnkpKCksIF8uY2xvbmVEZWVwKG9wdGlvbnMpKSBhcyBMaW5rZWRQcm9qZWN0O1xuICAgIGlmICghbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCkge1xuICAgICAgbGlua2VkUHJvai5yZWxhdGl2ZUNsb25lUGF0aCA9IHBhdGguYmFzZW5hbWUobGlua2VkUHJvai5yZW1vdGVVcmwoKS5yZXBsYWNlKCcuZ2l0JywgJycpKTtcbiAgICB9XG4gICAgaWYgKCFsaW5rZWRQcm9qLmRlYWZ1bHRCcmFuY2gpIHtcbiAgICAgIGxpbmtlZFByb2ouZGVhZnVsdEJyYW5jaCA9ICdtYXN0ZXInO1xuICAgIH1cbiAgICByZXR1cm4gbGlua2VkUHJvajtcbiAgfVxuXG5cblxuICBzdGF0aWMgZnJvbU5hbWUocHJvamVjdE5hbWU6IHN0cmluZywgY3VycmVudFJlbW90ZVVybD86IHN0cmluZywgY3VycmVudEJyYW5jaD86IHN0cmluZykge1xuICAgIHJldHVybiBMaW5rZWRQcm9qZWN0LmZyb20oe1xuICAgICAgcmVwb1VybDogY3VycmVudFJlbW90ZVVybD8ucmVwbGFjZShwYXRoLmJhc2VuYW1lKGN1cnJlbnRSZW1vdGVVcmwpLCBgJHtwcm9qZWN0TmFtZX0uZ2l0YCksXG4gICAgICBkZWFmdWx0QnJhbmNoOiBjdXJyZW50QnJhbmNoLFxuICAgICAgcmVsYXRpdmVDbG9uZVBhdGg6IHByb2plY3ROYW1lLFxuICAgIH0pO1xuICB9XG5cblxuXG4gIHN0YXRpYyBkZXRlY3QoaW5zaWRlTG9jYXRpb246IHN0cmluZywgcmVjdXJzaXZlID0gZmFsc2UpOiBMaW5rZWRQcm9qZWN0W10ge1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICAgIHJldHVybiAodm9pZCAwKTtcbiAgfVxuXG5cblxuXG4gIC8qKlxuICAgKiBzb21ldGltZSB0aGVyZSBpcyBwcm9qZWN0IHRoYXQgaGFzIG9uZSBwcm9qZWN0XG4gICAqIGVtYmVkZSBpbnNpZGUgYW5vdGhlciBwcm9qZWN0XG4gICAqL1xuICBpbnRlcm5hbFJlYWx0aXZlUHJvamVjdFBhdGg/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBkb24ndCBhY2Nlc3MgZGlyZWN0bHksIHVzZSByZW1vdGVVcmwoKSBpbnN0ZWFkXG4gICAqL1xuICByZXBvVXJsU3NoPzogc3RyaW5nO1xuICAvKipcbiAgICogZG9uJ3QgYWNjZXNzIGRpcmVjdGx5LCB1c2UgcmVtb3RlVXJsKCkgaW5zdGVhZFxuICAgKi9cbiAgcmVwb1VybEh0dHA/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBkb24ndCBhY2Nlc3MgZGlyZWN0bHksIHVzZSByZW1vdGVVcmwoKSBpbnN0ZWFkXG4gICAqL1xuICByZXBvVXJsPzogc3RyaW5nO1xuICAvKipcbiAgICogdXJsIGZvciBnaXQgcmVwb1xuICAgKi9cbiAgcHVibGljIHJlbW90ZVVybCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnJlcG9VcmwpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlcG9Vcmw7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlcG9VcmxIdHRwKSB7XG4gICAgICByZXR1cm4gdGhpcy5yZXBvVXJsSHR0cDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVwb1VybFNzaDtcbiAgfVxuICBkZWFmdWx0QnJhbmNoPzogc3RyaW5nO1xuICBwdXJwb3NlPzogc3RyaW5nO1xuICByZWxhdGl2ZUNsb25lUGF0aD86IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIExpbmtlZFBvcmplY3RzQ29uZmlnIHtcblxuXG5cblxuICBzdGF0aWMgZnJvbShvcHRpb25zOiBQYXJ0aWFsPExpbmtlZFBvcmplY3RzQ29uZmlnPikge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMucHJvamVjdHMgPSAob3B0aW9ucy5wcm9qZWN0cyB8fCBbXSlcbiAgICAgIC5tYXAobGlua2VkUHJvak9ybmFtZSA9PiB7XG4gICAgICAgIGlmIChfLmlzU3RyaW5nKGxpbmtlZFByb2pPcm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbU5hbWUobGlua2VkUHJvak9ybmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIExpbmtlZFByb2plY3QuZnJvbShsaW5rZWRQcm9qT3JuYW1lKTtcbiAgICAgIH0pXG4gICAgICAuc29ydCgoYSwgYikgPT4ge1xuICAgICAgICByZXR1cm4gKGEucmVsYXRpdmVDbG9uZVBhdGggfHwgJycpLmxvY2FsZUNvbXBhcmUoKGIucmVsYXRpdmVDbG9uZVBhdGggfHwgJycpKTtcbiAgICAgIH0pO1xuICAgIHJldHVybiBfLm1lcmdlKG5ldyAoTGlua2VkUG9yamVjdHNDb25maWcgYXMgYW55KSgpLCBfLmNsb25lRGVlcChvcHRpb25zKSk7XG4gIH1cblxuXG5cbiAgcHJlZml4Pzogc3RyaW5nO1xuICBza2lwUmVjcnVzaXZlUHVzaD86IGJvb2xlYW47XG4gIHByb2plY3RzOiBMaW5rZWRQcm9qZWN0W107XG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvYmFzZS9saW5rZWQtcHJvamVjdC50cyJdfQ==
@@ -0,0 +1,18 @@
1
+ import { BaseDb } from "./base-db";
2
+ const defaultDb = {
3
+ projects: [],
4
+ };
5
+ export class ProjectDatabase extends BaseDb {
6
+ constructor(ins) {
7
+ super(ins, 'projects', defaultDb);
8
+ }
9
+ async getAllProjectsFromDB() {
10
+ /* */
11
+ /* */
12
+ /* */
13
+ return (void 0);
14
+ }
15
+ }
16
+ ;
17
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/project-database.ts
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdC1kYXRhYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3RtcC1saWJzLWZvci1kaXN0L3RucC1oZWxwZXJzL3Byb2plY3RzL3RucC1oZWxwZXJzL3NyYy9saWIvYmFzZS9wcm9qZWN0LWRhdGFiYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHbkMsTUFBTSxTQUFTLEdBQUc7SUFDaEIsUUFBUSxFQUFFLEVBRVA7Q0FDSixDQUFBO0FBRUQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsTUFBd0I7SUFDM0QsWUFDRSxHQUF3QjtRQUV4QixLQUFLLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsS0FBSyxDQUFDLG9CQUFvQjtRQUM1QixLQUFLO1FBQ0wsS0FBSztRQUNMLEtBQUs7UUFDRCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHFFQUFxRSIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5cbmltcG9ydCB7IEhlbHBlcnMsIGNyb3NzUGxhdGZvcm1QYXRoIH0gZnJvbSBcInRucC1jb3JlL2Jyb3dzZXJcIjtcbmltcG9ydCB7IExvdyB9IGZyb20gXCIuLi9sb3dkYlwiO1xuaW1wb3J0IHR5cGUgeyBCYXNlUHJvamVjdFJlc29sdmVyIH0gZnJvbSBcIi4vYmFzZS1wcm9qZWN0LXJlc29sdmVyXCI7XG5pbXBvcnQgeyBCYXNlRGIgfSBmcm9tIFwiLi9iYXNlLWRiXCI7XG5cblxuY29uc3QgZGVmYXVsdERiID0ge1xuICBwcm9qZWN0czogW10gYXMge1xuICAgIGxvY2F0aW9uOiBzdHJpbmc7XG4gIH1bXSxcbn1cblxuZXhwb3J0IGNsYXNzIFByb2plY3REYXRhYmFzZSBleHRlbmRzIEJhc2VEYjx0eXBlb2YgZGVmYXVsdERiPntcbiAgY29uc3RydWN0b3IoXG4gICAgaW5zOiBCYXNlUHJvamVjdFJlc29sdmVyLFxuICApIHtcbiAgICBzdXBlcihpbnMsICdwcm9qZWN0cycsIGRlZmF1bHREYik7XG4gIH1cblxuICBhc3luYyBnZXRBbGxQcm9qZWN0c0Zyb21EQigpIHtcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgICByZXR1cm4gKHZvaWQgMCk7XG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9iYXNlL3Byb2plY3QtZGF0YWJhc2UudHMiXX0=
@@ -114,4 +114,4 @@ export class HelpersArrayObj {
114
114
  }
115
115
  ;
116
116
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers-array-obj.ts
117
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMvaGVscGVycy1hcnJheS1vYmoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRTFCLElBQUksQ0FBQyxDQUFvQjtRQUN2QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCLENBQVUsR0FBVSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsSUFBYztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFP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ZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgKiBhcyBmdXp6eSBmcm9tICdmdXp6eSc7XG5cblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNBcnJheU9iaiB7XG5cbiAgZnJvbShzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoXy5pc0FycmF5KHMpKSB7XG4gICAgICByZXR1cm4gcztcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcocykpIHtcbiAgICAgIHJldHVybiBzLnNwbGl0KCcgJylcbiAgICB9XG4gIH1cblxuICBzZWNvbmQoYXJyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFycikgfHwgYXJyLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIHJldHVybiBhcnJbMV07XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIG1vdmVPYmplY3RCZWZvcmVcbiAgICovXG4gIGFycmF5TW92ZUVsZW1lbnRCZWZvcmU8VCA9IGFueT4oYXJyOiBhbnlbXSwgYTogYW55LCBiOiBhbnksIHByb3A/OiBrZXlvZiBUKSB7XG4gICAgbGV0IGluZGV4QSA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYVtwcm9wXSkgOiBhcnIuaW5kZXhPZihhKTtcbiAgICBfLnB1bGxBdChhcnIsIGluZGV4QSk7XG4gICAgbGV0IGluZGV4QiA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYltwcm9wXSkgOiBhcnIuaW5kZXhPZihiKTtcbiAgICBpZiAoaW5kZXhCID09PSAwKSB7XG4gICAgICBhcnIudW5zaGlmdChhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnNwbGljZShpbmRleEIgLSAxLCAwLCBhKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgbW92ZU9iamVjdEFmdGVyXG4gICAqL1xuICBhcnJheU1vdmVFbGVtZW50QWZ0ZXJCPFQgPSBhbnk+KGFycjogYW55W10sIGE6IGFueSwgYjogYW55LCBwcm9wPzoga2V5b2YgVCkge1xuICAgIGxldCBpbmRleEEgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGFbcHJvcF0pIDogYXJyLmluZGV4T2YoYSk7XG4gICAgXy5wdWxsQXQoYXJyLCBpbmRleEEpO1xuICAgIGxldCBpbmRleEIgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGJbcHJvcF0pIDogYXJyLmluZGV4T2YoYik7XG4gICAgaWYgKGluZGV4QiA9PT0gYXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGFyci5wdXNoKGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnIuc3BsaWNlKGluZGV4QiArIDEsIDAsIGEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgbW92ZU9iamVjdEJlZm9yZTxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGJlZm9yZTogVCk6IFRbXSB7XG4gICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uYXJyYXldO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gbmV3QXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gdGFyZ2V0KTtcbiAgICBjb25zdCBiZWZvcmVJbmRleCA9IG5ld0FycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IGJlZm9yZSk7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGJlZm9yZUluZGV4ID09PSAtMSkge1xuXG4gICAgICBjb25zb2xlLmVycm9yKFwiVGFyZ2V0IG9yIEJlZm9yZSBvYmplY3Qgbm90IGZvdW5kIGluIHRoZSBhcnJheVwiKTtcbiAgICAgIHJldHVybiBuZXdBcnJheTtcbiAgICB9XG5cblxuICAgIG5ld0FycmF5LnNwbGljZSh0YXJnZXRJbmRleCwgMSk7XG5cblxuICAgIG5ld0FycmF5LnNwbGljZShiZWZvcmVJbmRleCwgMCwgdGFyZ2V0KTtcblxuICAgIHJldHVybiBuZXdBcnJheTtcbiAgfVxuXG4gIG1vdmVPYmplY3RBZnRlcjxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGFmdGVyOiBUKTogVFtdIHtcbiAgICBjb25zdCBuZXdBcnJheSA9IFsuLi5hcnJheV07XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0YXJnZXQpO1xuICAgIGNvbnN0IGFmdGVySW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBhZnRlcik7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGFmdGVySW5kZXggPT09IC0xKSB7XG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUYXJnZXQgb3IgQWZ0ZXIgb2JqZWN0IG5vdCBmb3VuZCBpbiB0aGUgYXJyYXlcIik7XG4gICAgICByZXR1cm4gbmV3QXJyYXk7XG4gICAgfVxuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UodGFyZ2V0SW5kZXgsIDEpO1xuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UoYWZ0ZXJJbmRleCArIDEsIDAsIHRhcmdldCk7XG5cbiAgICByZXR1cm4gbmV3QXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5PzogKGtleW9mIFQpKSB7XG4gICAgdmFyIHNlZW4gPSB7fTtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoZiA9PiAhIWYpXG4gICAgICAuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHJldHVybiBzZWVuLmhhc093blByb3BlcnR5KHVuaXF1ZVByb3BlcnR5ID8gaXRlbVt1bmlxdWVQcm9wZXJ0eV0gOiBpdGVtKSA/IGZhbHNlXG4gICAgICAgICAgOiAoc2Vlblt1bmlxdWVQcm9wZXJ0eSA/IGl0ZW1bdW5pcXVlUHJvcGVydHldIDogaXRlbV0gPSB0cnVlKTtcbiAgICAgIH0pIGFzIFRbXTtcbiAgfVxuXG4gIHNvcnRLZXlzKG9iaikge1xuICAgIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIG9iai5tYXAodGhpcy5zb3J0S2V5cyk7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIHJldHVybiBfLmZyb21QYWlycyhfLmtleXMob2JqKS5zb3J0KCkubWFwKGtleSA9PiBba2V5LCB0aGlzLnNvcnRLZXlzKG9ialtrZXldKV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfTtcblxuICAvKipcbiAgICogRnV6enkgc2VhcmNoXG4gICAqL1xuICBmdXp6eTxUID0gYW55PihxdWVyeTogc3RyaW5nLCBsaXN0OiBUW10sIHZhbHVlRm4/OiAobW9kZWxGcm9tTGlzdDogVCkgPT4gc3RyaW5nKSB7XG4gICAgY29uc3QgcmVzdWx0c0Z1enp5ID0gZnV6enkuZmlsdGVyKFxuICAgICAgcXVlcnksXG4gICAgICBsaXN0Lm1hcChrID0+IHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogayksXG4gICAgKVxuICAgIGNvbnN0IHJlc3VsdHNGdXp6eUtlYmFiID0gZnV6enkuZmlsdGVyKFxuICAgICAgXy5rZWJhYkNhc2UocXVlcnkpLFxuICAgICAgbGlzdC5tYXAoayA9PiBfLmtlYmFiQ2FzZSgodmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSBhcyBhbnkpKSxcbiAgICApXG4gICAgY29uc3QgbWF0Y2hlcyA9IHJlc3VsdHNGdXp6eS5tYXAoKGVsKSA9PiBlbC5zdHJpbmcpO1xuICAgIGNvbnN0IG1hdGNoZXNLZWJhYiA9IHJlc3VsdHNGdXp6eUtlYmFiLm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG5cbiAgICBjb25zdCByZXN1bHRzID0gKHJlc3VsdHNGdXp6eS5sZW5ndGggPT09IDApID8gW10gOiBsaXN0LmZpbHRlcihrID0+IHtcbiAgICAgIHJldHVybiBtYXRjaGVzLmluY2x1ZGVzKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSk7XG4gICAgfSlcblxuICAgIGlmIChtYXRjaGVzLmxlbmd0aCA9PT0gMCAmJiBtYXRjaGVzS2ViYWIubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgbSA9IGxpc3QuZmluZChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkgPT09IF8uZmlyc3QobWF0Y2hlc0tlYmFiKSk7XG4gICAgICByZXN1bHRzLnB1c2gobSk7XG4gICAgICBtYXRjaGVzLnB1c2goKHZhbHVlRm4gPyB2YWx1ZUZuKG0pIDogbSkgYXMgYW55KTtcbiAgICB9XG5cbiAgICByZXR1cm4geyBtYXRjaGVzLCByZXN1bHRzIH07XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2hlbHBlcnMvaGVscGVycy1hcnJheS1vYmoudHMiXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy1hcnJheS1vYmouanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2hlbHBlcnMvaGVscGVycy1hcnJheS1vYmoudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JDLE9BQU8sS0FBSyxLQUFLLE1BQU0sT0FBTyxDQUFDO0FBRy9CLE1BQU0sT0FBTyxlQUFlO0lBRTFCLElBQUksQ0FBQyxDQUFvQjtRQUN2QixJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDaEIsT0FBTyxDQUFDLENBQUM7U0FDVjtRQUNELElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNqQixPQUFPLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7U0FDcEI7SUFDSCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUc7UUFDUixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxDQUFDO1NBQ2Y7UUFDRCxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsc0JBQXNCLENBQVUsR0FBVSxFQUFFLENBQU0sRUFBRSxDQUFNLEVBQUUsSUFBYztRQUN4RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFP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ZnJvbSAndG5wLWNvcmUvYnJvd3Nlcic7XG5pbXBvcnQgKiBhcyBmdXp6eSBmcm9tICdmdXp6eSc7XG5cblxuZXhwb3J0IGNsYXNzIEhlbHBlcnNBcnJheU9iaiB7XG5cbiAgZnJvbShzOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHN0cmluZ1tdIHtcbiAgICBpZiAoXy5pc0FycmF5KHMpKSB7XG4gICAgICByZXR1cm4gcztcbiAgICB9XG4gICAgaWYgKF8uaXNTdHJpbmcocykpIHtcbiAgICAgIHJldHVybiBzLnNwbGl0KCcgJylcbiAgICB9XG4gIH1cblxuICBzZWNvbmQoYXJyKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGFycikgfHwgYXJyLmxlbmd0aCA8IDIpIHtcbiAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgfVxuICAgIHJldHVybiBhcnJbMV07XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogdXNlIG1vdmVPYmplY3RCZWZvcmVcbiAgICovXG4gIGFycmF5TW92ZUVsZW1lbnRCZWZvcmU8VCA9IGFueT4oYXJyOiBhbnlbXSwgYTogYW55LCBiOiBhbnksIHByb3A/OiBrZXlvZiBUKSB7XG4gICAgbGV0IGluZGV4QSA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYVtwcm9wXSkgOiBhcnIuaW5kZXhPZihhKTtcbiAgICBfLnB1bGxBdChhcnIsIGluZGV4QSk7XG4gICAgbGV0IGluZGV4QiA9IHByb3AgPyBhcnIuZmluZEluZGV4KGVsZW0gPT4gZWxlbVtwcm9wXSA9PT0gYltwcm9wXSkgOiBhcnIuaW5kZXhPZihiKTtcbiAgICBpZiAoaW5kZXhCID09PSAwKSB7XG4gICAgICBhcnIudW5zaGlmdChhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgYXJyLnNwbGljZShpbmRleEIgLSAxLCAwLCBhKTtcbiAgICB9XG4gICAgcmV0dXJuIGFycjtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKiB1c2UgbW92ZU9iamVjdEFmdGVyXG4gICAqL1xuICBhcnJheU1vdmVFbGVtZW50QWZ0ZXJCPFQgPSBhbnk+KGFycjogYW55W10sIGE6IGFueSwgYjogYW55LCBwcm9wPzoga2V5b2YgVCkge1xuICAgIGxldCBpbmRleEEgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGFbcHJvcF0pIDogYXJyLmluZGV4T2YoYSk7XG4gICAgXy5wdWxsQXQoYXJyLCBpbmRleEEpO1xuICAgIGxldCBpbmRleEIgPSBwcm9wID8gYXJyLmZpbmRJbmRleChlbGVtID0+IGVsZW1bcHJvcF0gPT09IGJbcHJvcF0pIDogYXJyLmluZGV4T2YoYik7XG4gICAgaWYgKGluZGV4QiA9PT0gYXJyLmxlbmd0aCAtIDEpIHtcbiAgICAgIGFyci5wdXNoKGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhcnIuc3BsaWNlKGluZGV4QiArIDEsIDAsIGEpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG5cbiAgbW92ZU9iamVjdEJlZm9yZTxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGJlZm9yZTogVCk6IFRbXSB7XG4gICAgY29uc3QgbmV3QXJyYXkgPSBbLi4uYXJyYXldO1xuICAgIGNvbnN0IHRhcmdldEluZGV4ID0gbmV3QXJyYXkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbSA9PT0gdGFyZ2V0KTtcbiAgICBjb25zdCBiZWZvcmVJbmRleCA9IG5ld0FycmF5LmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IGJlZm9yZSk7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGJlZm9yZUluZGV4ID09PSAtMSkge1xuXG4gICAgICBjb25zb2xlLmVycm9yKFwiVGFyZ2V0IG9yIEJlZm9yZSBvYmplY3Qgbm90IGZvdW5kIGluIHRoZSBhcnJheVwiKTtcbiAgICAgIHJldHVybiBuZXdBcnJheTtcbiAgICB9XG5cblxuICAgIG5ld0FycmF5LnNwbGljZSh0YXJnZXRJbmRleCwgMSk7XG5cblxuICAgIG5ld0FycmF5LnNwbGljZShiZWZvcmVJbmRleCwgMCwgdGFyZ2V0KTtcblxuICAgIHJldHVybiBuZXdBcnJheTtcbiAgfVxuXG4gIG1vdmVPYmplY3RBZnRlcjxUID0gYW55PihhcnJheTogVFtdLCB0YXJnZXQ6IFQsIGFmdGVyOiBUKTogVFtdIHtcbiAgICBjb25zdCBuZXdBcnJheSA9IFsuLi5hcnJheV07XG4gICAgY29uc3QgdGFyZ2V0SW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0YXJnZXQpO1xuICAgIGNvbnN0IGFmdGVySW5kZXggPSBuZXdBcnJheS5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBhZnRlcik7XG5cbiAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xIHx8IGFmdGVySW5kZXggPT09IC0xKSB7XG5cbiAgICAgIGNvbnNvbGUuZXJyb3IoXCJUYXJnZXQgb3IgQWZ0ZXIgb2JqZWN0IG5vdCBmb3VuZCBpbiB0aGUgYXJyYXlcIik7XG4gICAgICByZXR1cm4gbmV3QXJyYXk7XG4gICAgfVxuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UodGFyZ2V0SW5kZXgsIDEpO1xuXG5cbiAgICBuZXdBcnJheS5zcGxpY2UoYWZ0ZXJJbmRleCArIDEsIDAsIHRhcmdldCk7XG5cbiAgICByZXR1cm4gbmV3QXJyYXk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHVuaXFBcnJheTxUID0gYW55PihhcnJheTogYW55W10sIHVuaXF1ZVByb3BlcnR5PzogKGtleW9mIFQpKSB7XG4gICAgdmFyIHNlZW4gPSB7fTtcbiAgICByZXR1cm4gYXJyYXlcbiAgICAgIC5maWx0ZXIoZiA9PiAhIWYpXG4gICAgICAuZmlsdGVyKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgIHJldHVybiBzZWVuLmhhc093blByb3BlcnR5KHVuaXF1ZVByb3BlcnR5ID8gaXRlbVt1bmlxdWVQcm9wZXJ0eV0gOiBpdGVtKSA/IGZhbHNlXG4gICAgICAgICAgOiAoc2Vlblt1bmlxdWVQcm9wZXJ0eSA/IGl0ZW1bdW5pcXVlUHJvcGVydHldIDogaXRlbV0gPSB0cnVlKTtcbiAgICAgIH0pIGFzIFRbXTtcbiAgfVxuXG4gIHNvcnRLZXlzKG9iaikge1xuICAgIGlmIChfLmlzQXJyYXkob2JqKSkge1xuICAgICAgcmV0dXJuIG9iai5tYXAodGhpcy5zb3J0S2V5cyk7XG4gICAgfVxuICAgIGlmIChfLmlzT2JqZWN0KG9iaikpIHtcbiAgICAgIHJldHVybiBfLmZyb21QYWlycyhfLmtleXMob2JqKS5zb3J0KCkubWFwKGtleSA9PiBba2V5LCB0aGlzLnNvcnRLZXlzKG9ialtrZXldKV0pKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfTtcblxuICAvKipcbiAgICogRnV6enkgc2VhcmNoXG4gICAqL1xuICBmdXp6eTxUID0gYW55PihxdWVyeTogc3RyaW5nLCBsaXN0OiBUW10sIHZhbHVlRm4/OiAobW9kZWxGcm9tTGlzdDogVCkgPT4gc3RyaW5nKSB7XG5cbiAgICBjb25zdCByZXN1bHRzRnV6enkgPSBmdXp6eS5maWx0ZXIoXG4gICAgICBxdWVyeSxcbiAgICAgIGxpc3QubWFwKGsgPT4gdmFsdWVGbiA/IHZhbHVlRm4oaykgOiBrKSxcbiAgICApXG4gICAgY29uc3QgcmVzdWx0c0Z1enp5S2ViYWIgPSBmdXp6eS5maWx0ZXIoXG4gICAgICBfLmtlYmFiQ2FzZShxdWVyeSksXG4gICAgICBsaXN0Lm1hcChrID0+IF8ua2ViYWJDYXNlKCh2YWx1ZUZuID8gdmFsdWVGbihrKSA6IGspIGFzIGFueSkpLFxuICAgIClcbiAgICBjb25zdCBtYXRjaGVzID0gcmVzdWx0c0Z1enp5Lm1hcCgoZWwpID0+IGVsLnN0cmluZyk7XG4gICAgY29uc3QgbWF0Y2hlc0tlYmFiID0gcmVzdWx0c0Z1enp5S2ViYWIubWFwKChlbCkgPT4gZWwuc3RyaW5nKTtcblxuICAgIGNvbnN0IHJlc3VsdHMgPSAocmVzdWx0c0Z1enp5Lmxlbmd0aCA9PT0gMCkgPyBbXSA6IGxpc3QuZmlsdGVyKGsgPT4ge1xuICAgICAgcmV0dXJuIG1hdGNoZXMuaW5jbHVkZXMoKHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogaykgYXMgYW55KTtcbiAgICB9KVxuXG4gICAgaWYgKG1hdGNoZXMubGVuZ3RoID09PSAwICYmIG1hdGNoZXNLZWJhYi5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBtID0gbGlzdC5maW5kKGsgPT4gXy5rZWJhYkNhc2UoKHZhbHVlRm4gPyB2YWx1ZUZuKGspIDogaykgYXMgYW55KSA9PT0gXy5maXJzdChtYXRjaGVzS2ViYWIpKTtcbiAgICAgIHJlc3VsdHMucHVzaChtKTtcbiAgICAgIG1hdGNoZXMucHVzaCgodmFsdWVGbiA/IHZhbHVlRm4obSkgOiBtKSBhcyBhbnkpO1xuICAgIH1cblxuICAgIHJldHVybiB7IG1hdGNoZXMsIHJlc3VsdHMgfTtcbiAgfVxuXG59XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaGVscGVycy9oZWxwZXJzLWFycmF5LW9iai50cyJdfQ==
@@ -6,6 +6,7 @@ import { HelpersFiredev as Base } from './helpers/helpers';
6
6
  */ // @ts-ignore
7
7
  export const Helpers = Base.Instance;
8
8
  export * from './base';
9
+ export * from './models';
9
10
  ;
10
11
  ({}); // @--end-of-file-for-module=tnp-helpers lib/index.ts
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0Q7O0dBRUcsQ0FBRSxhQUFhO0FBQ2xCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3JDLGNBQWMsUUFBUSxDQUFDO0FBRXRCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbmltcG9ydCB7IEhlbHBlcnNGaXJlZGV2IGFzIEJhc2UgfSBmcm9tICcuL2hlbHBlcnMvaGVscGVycyc7XG5cbi8qKlxuICogRmlyZWRldiBoZWxwZXJzXG4gKi8gIC8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBIZWxwZXJzID0gQmFzZS5JbnN0YW5jZTtcbmV4cG9ydCAqIGZyb20gJy4vYmFzZSc7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaW5kZXgudHMiXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMseUJBQXlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBR3RFLE9BQU8sRUFBRSxjQUFjLElBQUksSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0Q7O0dBRUcsQ0FBRSxhQUFhO0FBQ2xCLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO0FBQ3JDLGNBQWMsUUFBUSxDQUFDO0FBQ3ZCLGNBQWMsVUFBVSxDQUFDO0FBRXhCLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscURBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9ycy92YWxpZGF0b3JzJztcblxuZXhwb3J0IHsgSGVscGVyc0FuZ3VsYXIgfSBmcm9tICcuL2hlbHBlcnMvZm9yLWJyb3dzZXIvYW5ndWxhci5oZWxwZXInO1xuXG5cbmltcG9ydCB7IEhlbHBlcnNGaXJlZGV2IGFzIEJhc2UgfSBmcm9tICcuL2hlbHBlcnMvaGVscGVycyc7XG5cbi8qKlxuICogRmlyZWRldiBoZWxwZXJzXG4gKi8gIC8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBIZWxwZXJzID0gQmFzZS5JbnN0YW5jZTtcbmV4cG9ydCAqIGZyb20gJy4vYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscyc7XG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvaW5kZXgudHMiXX0=
@@ -0,0 +1,26 @@
1
+ export class Memory {
2
+ constructor() {
3
+ this.__data = null;
4
+ }
5
+ read() {
6
+ return Promise.resolve(this.__data);
7
+ }
8
+ write(obj) {
9
+ this.__data = obj;
10
+ return Promise.resolve();
11
+ }
12
+ }
13
+ export class MemorySync {
14
+ constructor() {
15
+ this.__data = null;
16
+ }
17
+ read() {
18
+ return this.__data || null;
19
+ }
20
+ write(obj) {
21
+ this.__data = obj;
22
+ }
23
+ }
24
+ ;
25
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/adapters/Memory.ts
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9hZGFwdGVycy9NZW1vcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxPQUFPLE1BQU07SUFBbkI7UUFDRSxXQUFNLEdBQWEsSUFBSSxDQUFBO0lBVXpCLENBQUM7SUFSQyxJQUFJO1FBQ0YsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsS0FBSyxDQUFDLEdBQU07UUFDVixJQUFJLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQTtRQUNqQixPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sVUFBVTtJQUF2QjtRQUNFLFdBQU0sR0FBYSxJQUFJLENBQUE7SUFTekIsQ0FBQztJQVBDLElBQUk7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLLENBQUMsR0FBTTtRQUNWLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFBO0lBQ25CLENBQUM7Q0FDRjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMscUVBQXFFIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IEFkYXB0ZXIsIFN5bmNBZGFwdGVyIH0gZnJvbSAnLi4vY29yZS9Mb3cnXG5cbmV4cG9ydCBjbGFzcyBNZW1vcnk8VD4gaW1wbGVtZW50cyBBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFByb21pc2U8VCB8IG51bGw+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXMuX19kYXRhKVxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVtb3J5U3luYzxUPiBpbXBsZW1lbnRzIFN5bmNBZGFwdGVyPFQ+IHtcbiAgX19kYXRhOiBUIHwgbnVsbCA9IG51bGxcblxuICByZWFkKCk6IFQgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fX2RhdGEgfHwgbnVsbFxuICB9XG5cbiAgd3JpdGUob2JqOiBUKTogdm9pZCB7XG4gICAgdGhpcy5fX2RhdGEgPSBvYmpcbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWhlbHBlcnMgbGliL2xvd2RiL2FkYXB0ZXJzL01lbW9yeS50cyJdfQ==
@@ -0,0 +1,49 @@
1
+ function checkArgs(adapter, defaultData) {
2
+ if (adapter === undefined)
3
+ throw new Error('lowdb: missing adapter');
4
+ if (defaultData === undefined)
5
+ throw new Error('lowdb: missing default data');
6
+ }
7
+ export class Low {
8
+ constructor(adapter, defaultData) {
9
+ checkArgs(adapter, defaultData);
10
+ this.adapter = adapter;
11
+ this.data = defaultData;
12
+ }
13
+ async read() {
14
+ const data = await this.adapter.read();
15
+ if (data)
16
+ this.data = data;
17
+ }
18
+ async write() {
19
+ if (this.data)
20
+ await this.adapter.write(this.data);
21
+ }
22
+ async update(fn) {
23
+ fn(this.data);
24
+ await this.write();
25
+ }
26
+ }
27
+ export class LowSync {
28
+ constructor(adapter, defaultData) {
29
+ checkArgs(adapter, defaultData);
30
+ this.adapter = adapter;
31
+ this.data = defaultData;
32
+ }
33
+ read() {
34
+ const data = this.adapter.read();
35
+ if (data)
36
+ this.data = data;
37
+ }
38
+ write() {
39
+ if (this.data)
40
+ this.adapter.write(this.data);
41
+ }
42
+ update(fn) {
43
+ fn(this.data);
44
+ this.write();
45
+ }
46
+ }
47
+ ;
48
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/core/Low.ts
49
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG93LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9sb3dkYi9jb3JlL0xvdy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFZQSxTQUFTLFNBQVMsQ0FBQyxPQUFnQixFQUFFLFdBQW9CO0lBQ3ZELElBQUksT0FBTyxLQUFLLFNBQVM7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHdCQUF3QixDQUFDLENBQUE7SUFDcEUsSUFBSSxXQUFXLEtBQUssU0FBUztRQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNkJBQTZCLENBQUMsQ0FBQTtBQUMvRSxDQUFDO0FBRUQsTUFBTSxPQUFPLEdBQUc7SUFJZCxZQUFZLE9BQW1CLEVBQUUsV0FBYztRQUM3QyxTQUFTLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFBO1FBQ3RCLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFBO0lBQ3pCLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUN0QyxJQUFJLElBQUk7WUFBRSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQTtJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQUs7UUFDVCxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDcEQsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBd0I7UUFDbkMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLE1BQU0sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQ3BCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxPQUFPO0lBSWxCLFlBQVksT0FBdUIsRUFBRSxXQUFjO1FBQ2pELFNBQVMsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUE7UUFDL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUE7UUFDdEIsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUE7SUFDekIsQ0FBQztJQUVELElBQUk7UUFDRixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFBO1FBQ2hDLElBQUksSUFBSTtZQUFFLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO0lBQzVCLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxJQUFJLENBQUMsSUFBSTtZQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEVBQXdCO1FBQzdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDZCxDQUFDO0NBQ0Y7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDhEQUE4RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgaW50ZXJmYWNlIEFkYXB0ZXI8VD4ge1xuICByZWFkOiAoKSA9PiBQcm9taXNlPFQgfCBudWxsPlxuICB3cml0ZTogKGRhdGE6IFQpID0+IFByb21pc2U8dm9pZD5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTeW5jQWRhcHRlcjxUPiB7XG4gIHJlYWQ6ICgpID0+IFQgfCBudWxsXG4gIHdyaXRlOiAoZGF0YTogVCkgPT4gdm9pZFxufVxuXG5mdW5jdGlvbiBjaGVja0FyZ3MoYWRhcHRlcjogdW5rbm93biwgZGVmYXVsdERhdGE6IHVua25vd24pIHtcbiAgaWYgKGFkYXB0ZXIgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdsb3dkYjogbWlzc2luZyBhZGFwdGVyJylcbiAgaWYgKGRlZmF1bHREYXRhID09PSB1bmRlZmluZWQpIHRocm93IG5ldyBFcnJvcignbG93ZGI6IG1pc3NpbmcgZGVmYXVsdCBkYXRhJylcbn1cblxuZXhwb3J0IGNsYXNzIExvdzxUID0gdW5rbm93bj4ge1xuICBhZGFwdGVyOiBBZGFwdGVyPFQ+XG4gIGRhdGE6IFRcblxuICBjb25zdHJ1Y3RvcihhZGFwdGVyOiBBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIGFzeW5jIHJlYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgYXN5bmMgd3JpdGUoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuZGF0YSkgYXdhaXQgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgYXdhaXQgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIExvd1N5bmM8VCA9IHVua25vd24+IHtcbiAgYWRhcHRlcjogU3luY0FkYXB0ZXI8VD5cbiAgZGF0YTogVFxuXG4gIGNvbnN0cnVjdG9yKGFkYXB0ZXI6IFN5bmNBZGFwdGVyPFQ+LCBkZWZhdWx0RGF0YTogVCkge1xuICAgIGNoZWNrQXJncyhhZGFwdGVyLCBkZWZhdWx0RGF0YSlcbiAgICB0aGlzLmFkYXB0ZXIgPSBhZGFwdGVyXG4gICAgdGhpcy5kYXRhID0gZGVmYXVsdERhdGFcbiAgfVxuXG4gIHJlYWQoKTogdm9pZCB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuYWRhcHRlci5yZWFkKClcbiAgICBpZiAoZGF0YSkgdGhpcy5kYXRhID0gZGF0YVxuICB9XG5cbiAgd3JpdGUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSkgdGhpcy5hZGFwdGVyLndyaXRlKHRoaXMuZGF0YSlcbiAgfVxuXG4gIHVwZGF0ZShmbjogKGRhdGE6IFQpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICBmbih0aGlzLmRhdGEpXG4gICAgdGhpcy53cml0ZSgpXG4gIH1cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1oZWxwZXJzIGxpYi9sb3dkYi9jb3JlL0xvdy50cyJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './adapters/Memory';
2
+ export * from './core/Low';
3
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/lowdb/index.ts
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC90bnAtaGVscGVycy9wcm9qZWN0cy90bnAtaGVscGVycy9zcmMvbGliL2xvd2RiL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyxZQUFZLENBRXhCO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLDJEQUEyRCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgKiBmcm9tICcuL2FkYXB0ZXJzL01lbW9yeSdcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9Mb3cnXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbG93ZGIvaW5kZXgudHMiXX0=
@@ -0,0 +1,3 @@
1
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdG1wLWxpYnMtZm9yLWRpc3QvdG5wLWhlbHBlcnMvcHJvamVjdHMvdG5wLWhlbHBlcnMvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBc0JFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxzREFBc0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuXG5leHBvcnQgdHlwZSBCYXNlUHJvamVjdFR5cGUgPSAndW5rbm93JyB8ICd1bmtub3ctbnBtLXByb2plY3QnO1xuXG4vKipcbiAqIEFuZ3VsYXIgcHJvamVjdCB0eXBlXG4gKi9cbmV4cG9ydCB0eXBlIE5nUHJvamVjdCA9IHtcbiAgXCJwcm9qZWN0VHlwZVwiOiBcImxpYnJhcnlcIiB8IFwiYXBwbGljYXRpb25cIixcbiAgLyoqXG4gICAqIHdoZXJlIG5nLXBhY2thZ3IuanNvbiBpcyBsb2NhdGVkLCB0c2NvbmZpZyBldGMuXG4gICAqL1xuICBcInJvb3RcIjogc3RyaW5nLFxuICAvKipcbiAgICogU291cmNlIGNvZGUgcHJvamVjdFxuICAgKi9cbiAgXCJzb3VyY2VSb290XCI6IHN0cmluZyxcbiAgXCJwcmVmaXhcIjogc3RyaW5nO1xufVxuXG5cbiA7KHt9KTsgLy8gQC0tZW5kLW9mLWZpbGUtZm9yLW1vZHVsZT10bnAtaGVscGVycyBsaWIvbW9kZWxzLnRzIl19
@@ -1,4 +1,4 @@
1
- import { _, CoreHelpers, path } from 'tnp-core/browser';
1
+ import { _, CoreHelpers, crossPlatformPath, path } from 'tnp-core/browser';
2
2
  import { Subject } from 'rxjs';
3
3
  import * as fuzzy from 'fuzzy';
4
4
  import { CLASS } from 'typescript-class-helpers/browser';
@@ -957,9 +957,126 @@ applyMixins(HelpersFiredev, [
957
957
  ;
958
958
  ({}); // @--end-of-file-for-module=tnp-helpers lib/helpers/helpers.ts
959
959
 
960
+ /* */
961
+ /* */
962
+ /* */
963
+ /* */
964
+ class BaseDb {
965
+ constructor(ins, dbName, defaultDb) {
966
+ this.ins = ins;
967
+ this.dbName = dbName;
968
+ this.defaultDb = defaultDb;
969
+ }
970
+ /* */
971
+ /* */
972
+ get isUnsingDB() {
973
+ /* */
974
+ /* */
975
+ return (void 0);
976
+ }
977
+ get projectsDbLocation() {
978
+ /* */
979
+ /* */
980
+ /* */
981
+ /* */
982
+ /* */
983
+ /* */
984
+ return (void 0);
985
+ }
986
+ async useDB() {
987
+ /* */
988
+ /* */
989
+ /* */
990
+ /* */
991
+ /* */
992
+ /* */
993
+ /* */
994
+ /* */
995
+ /* */
996
+ /* */
997
+ /* */
998
+ /* */
999
+ /* */
1000
+ return (void 0);
1001
+ // @ts-ignore
1002
+ return void 0;
1003
+ }
1004
+ }
1005
+ ;
1006
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-db.ts
1007
+
1008
+ /* */
1009
+ /* */
1010
+ const defaultDb$2 = {
1011
+ config: {},
1012
+ };
1013
+ class ConfigDatabase extends BaseDb {
1014
+ constructor(ins) {
1015
+ super(ins, 'config', defaultDb$2);
1016
+ }
1017
+ get selectedCodeEditorKey() {
1018
+ return 'selected-code-editor';
1019
+ }
1020
+ async selectCodeEditor() {
1021
+ /* */
1022
+ /* */
1023
+ /* */
1024
+ /* */
1025
+ /* */
1026
+ /* */
1027
+ /* */
1028
+ /* */
1029
+ /* */
1030
+ /* */
1031
+ /* */
1032
+ /* */
1033
+ return (void 0);
1034
+ }
1035
+ async getCodeEditor() {
1036
+ /* */
1037
+ /* */
1038
+ /* */
1039
+ /* */
1040
+ /* */
1041
+ /* */
1042
+ /* */
1043
+ return (void 0);
1044
+ }
1045
+ }
1046
+ ;
1047
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/config-database.ts
1048
+
1049
+ const defaultDb$1 = {
1050
+ projects: [],
1051
+ };
1052
+ class ProjectDatabase extends BaseDb {
1053
+ constructor(ins) {
1054
+ super(ins, 'projects', defaultDb$1);
1055
+ }
1056
+ async getAllProjectsFromDB() {
1057
+ /* */
1058
+ /* */
1059
+ /* */
1060
+ return (void 0);
1061
+ }
1062
+ }
1063
+ ;
1064
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/base/project-database.ts
1065
+
1066
+ /* */
1067
+ /* */
1068
+ /* */
1069
+ /* */
1070
+ /* */
960
1071
  class BaseProjectResolver {
961
1072
  constructor(classFn) {
962
1073
  this.classFn = classFn;
1074
+ /**
1075
+ * general name for project company
1076
+ */
1077
+ this.orgName = 'firedev';
1078
+ this.configDb = new ConfigDatabase(this);
1079
+ this.projectsDb = new ProjectDatabase(this);
963
1080
  this.NPM_PROJECT_KEY = 'npm';
964
1081
  this.projects = [];
965
1082
  /**
@@ -1161,6 +1278,11 @@ class BaseProjectResolver {
1161
1278
  ;
1162
1279
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/base-project-resolver.ts
1163
1280
 
1281
+ /* */
1282
+ /* */
1283
+ /* */
1284
+ /* */
1285
+ /* */
1164
1286
  const takenPorts = [];
1165
1287
  class BaseProject {
1166
1288
  static { this.ins = new BaseProjectResolver(BaseProject); }
@@ -1191,6 +1313,46 @@ class BaseProject {
1191
1313
  projects.forEach(project => visit(project));
1192
1314
  return result;
1193
1315
  }
1316
+ get embeddedProject() {
1317
+ const nearsetProj = this.ins.nearestTo(crossPlatformPath([this.location, '..']));
1318
+ const linkedPorj = nearsetProj.linkedProjects.find(l => {
1319
+ return this.location === crossPlatformPath([nearsetProj.location, l.relativeClonePath]);
1320
+ });
1321
+ if (!linkedPorj) {
1322
+ return;
1323
+ }
1324
+ const pathToEmbededProj = crossPlatformPath([nearsetProj.location, linkedPorj.relativeClonePath, linkedPorj.internalRealtiveProjectPath || '']);
1325
+ const embdedresult = this.ins.From(pathToEmbededProj);
1326
+ return embdedresult;
1327
+ }
1328
+ get projectsDbLocation() {
1329
+ /* */
1330
+ /* */
1331
+ return (void 0);
1332
+ }
1333
+ async saveLocationToDB() {
1334
+ /* */
1335
+ /* */
1336
+ /* */
1337
+ /* */
1338
+ /* */
1339
+ /* */
1340
+ /* */
1341
+ /* */
1342
+ /* */
1343
+ /* */
1344
+ /* */
1345
+ /* */
1346
+ /* */
1347
+ /* */
1348
+ /* */
1349
+ /* */
1350
+ /* */
1351
+ /* */
1352
+ /* */
1353
+ /* */
1354
+ return (void 0);
1355
+ }
1194
1356
  // @ts-ignore
1195
1357
  constructor(
1196
1358
  /**
@@ -1204,6 +1366,30 @@ class BaseProject {
1204
1366
  return `${this.name}=>${this.location}`;
1205
1367
  };
1206
1368
  }
1369
+ async saveAllLinkedProjectsToDB() {
1370
+ const proj = this;
1371
+ await proj.saveLocationToDB();
1372
+ for (const link of proj.linkedProjects) {
1373
+ const linkedPorj = this.ins.From([proj.location, link.relativeClonePath, link.internalRealtiveProjectPath || '']);
1374
+ if (linkedPorj) {
1375
+ await linkedPorj.saveLocationToDB();
1376
+ }
1377
+ else {
1378
+ Helpers.warn(`Folder ${link.relativeClonePath} is missing projects...`);
1379
+ }
1380
+ }
1381
+ }
1382
+ get isMonorepo() {
1383
+ return false;
1384
+ }
1385
+ get core() {
1386
+ if (this.cache['core']) {
1387
+ return this.cache['core'];
1388
+ }
1389
+ const coreProject = CoreProject.coreProjects.find(p => p.recognizedFn(this));
1390
+ this.cache['core'] = coreProject;
1391
+ return coreProject;
1392
+ }
1207
1393
  addLinkedProject(linkedProj) {
1208
1394
  const linkedProject = _.isString(linkedProj) ? LinkedProject.fromName(linkedProj) : linkedProj;
1209
1395
  /* */
@@ -1292,6 +1478,9 @@ class BaseProject {
1292
1478
  /* */
1293
1479
  return (void 0);
1294
1480
  }
1481
+ resetLinkedProjectsOnlyToCoreBranches() {
1482
+ return false;
1483
+ }
1295
1484
  async cloneUnexistedLinkedProjects(actionType, cloneChildren = false) {
1296
1485
  /* */
1297
1486
  /* */
@@ -1335,6 +1524,19 @@ class BaseProject {
1335
1524
  /* */
1336
1525
  /* */
1337
1526
  /* */
1527
+ /* */
1528
+ /* */
1529
+ /* */
1530
+ /* */
1531
+ /* */
1532
+ /* */
1533
+ /* */
1534
+ /* */
1535
+ /* */
1536
+ /* */
1537
+ /* */
1538
+ /* */
1539
+ /* */
1338
1540
  return (void 0);
1339
1541
  }
1340
1542
  setType(type) {
@@ -1509,6 +1711,7 @@ class BaseProject {
1509
1711
  /* */
1510
1712
  /* */
1511
1713
  /* */
1714
+ /* */
1512
1715
  return (void 0);
1513
1716
  }
1514
1717
  /**
@@ -1626,6 +1829,12 @@ class BaseProject {
1626
1829
  /* */
1627
1830
  return (void 0);
1628
1831
  }
1832
+ readFile(fileRelativeToProjectPath) {
1833
+ /* */
1834
+ /* */
1835
+ /* */
1836
+ return (void 0);
1837
+ }
1629
1838
  remove(relativePath, exactPath = true) {
1630
1839
  /* */
1631
1840
  /* */
@@ -1776,6 +1985,14 @@ class BaseProject {
1776
1985
  /* */
1777
1986
  /* */
1778
1987
  /* */
1988
+ /* */
1989
+ /* */
1990
+ /* */
1991
+ /* */
1992
+ /* */
1993
+ /* */
1994
+ /* */
1995
+ /* */
1779
1996
  }
1780
1997
  async pullProcess(cloneChildren = false) {
1781
1998
  /* */
@@ -1802,6 +2019,8 @@ class BaseProject {
1802
2019
  /* */
1803
2020
  /* */
1804
2021
  /* */
2022
+ /* */
2023
+ /* */
1805
2024
  return (void 0);
1806
2025
  }
1807
2026
  async pushProcess(options = {}) {
@@ -1881,6 +2100,8 @@ class BaseProject {
1881
2100
  /* */
1882
2101
  /* */
1883
2102
  /* */
2103
+ /* */
2104
+ /* */
1884
2105
  return (void 0);
1885
2106
  }
1886
2107
  _beforeAnyActionOnGitRoot() {
@@ -1988,6 +2209,7 @@ class BaseProject {
1988
2209
  /* */
1989
2210
  /* */
1990
2211
  /* */
2212
+ /* */
1991
2213
  return (void 0);
1992
2214
  },
1993
2215
  restoreLastVersion(localFilePath) {
@@ -2319,15 +2541,13 @@ class BaseProject {
2319
2541
  type: ${proj?.type}
2320
2542
  children (${proj?.children.length}): ${(!proj || !proj.children.length) ? '< none >' : ''}
2321
2543
  ${proj?.children.map(c => '+' + c.genericName).join('\n')}
2322
-
2544
+ ` +
2545
+ `
2323
2546
  linked porject prefix: "${this.linkedProjectsPrefix}"
2324
2547
 
2325
2548
  linked projects from json (${this.linkedProjects?.length || 0}):
2326
2549
  ${(this.linkedProjects || []).map(c => '- ' + c.relativeClonePath).join('\n')}
2327
2550
 
2328
- linked projects detected (${this.detectedLinkedProjects?.length || 0}):
2329
- ${(this.detectedLinkedProjects || []).map(c => '- ' + c.relativeClonePath).join('\n')}
2330
-
2331
2551
  `);
2332
2552
  }
2333
2553
  /**
@@ -2554,6 +2774,7 @@ ${(this.detectedLinkedProjects || []).map(c => '- ' + c.relativeClonePath).join(
2554
2774
  /* */
2555
2775
  /* */
2556
2776
  /* */
2777
+ /* */
2557
2778
  }
2558
2779
  getLibraryBuildComamnd(options) {
2559
2780
  /* */
@@ -2820,32 +3041,11 @@ const defaultDb = {
2820
3041
  projects: [],
2821
3042
  };
2822
3043
  class CoreProject {
2823
- constructor() {
2824
- this.provider = 'firedev';
2825
- }
2826
- static get isUnsingDB() {
2827
- return !!this.db;
2828
- }
2829
- static async useDB(appName) {
2830
- /* */
2831
- /* */
2832
- /* */
2833
- /* */
2834
- /* */
2835
- /* */
2836
- /* */
2837
- /* */
2838
- /* */
2839
- /* */
2840
- /* */
2841
- return (void 0);
2842
- return void 0;
2843
- }
2844
- db() {
2845
- return CoreProject.useDB(_.kebabCase(this.url));
2846
- }
3044
+ static { this.coreProjects = []; }
2847
3045
  static from(options) {
2848
- return _.merge(new CoreProject(), _.cloneDeep(options));
3046
+ const proj = _.merge(new CoreProject(), _.cloneDeep(options));
3047
+ this.coreProjects.push(proj);
3048
+ return proj;
2849
3049
  }
2850
3050
  /**
2851
3051
  * core porject name
@@ -2911,6 +3111,7 @@ class LinkedProject {
2911
3111
  /* */
2912
3112
  /* */
2913
3113
  /* */
3114
+ /* */
2914
3115
  return (void 0);
2915
3116
  }
2916
3117
  /**
@@ -2952,6 +3153,8 @@ class LinkedPorjectsConfig {
2952
3153
  ;
2953
3154
  ({}); // @--end-of-file-for-module=tnp-helpers lib/base/index.ts
2954
3155
 
3156
+ ({}); // @--end-of-file-for-module=tnp-helpers lib/models.ts
3157
+
2955
3158
  /**
2956
3159
  * Firedev helpers
2957
3160
  */ // @ts-ignore