@kalisio/kdk 1.4.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/.nyc_output/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
  2. package/.nyc_output/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
  3. package/.nyc_output/{2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json → 27401f21-8ccf-42fa-8230-4232189d86b3.json} +0 -0
  4. package/.nyc_output/{81d21e46-766a-46bc-b1b7-143ca577347a.json → 52278ef5-c337-4724-97be-e2e4416847c5.json} +0 -0
  5. package/.nyc_output/{aaf3ebbb-f895-4d7b-9255-bc5dee832570.json → 5dd49b8a-4c84-42f9-a3d5-712247a84775.json} +0 -0
  6. package/.nyc_output/{dbeb2602-0ac2-4e66-978b-0d29548359ca.json → 612b4859-9645-45c1-a41e-1fae420518c4.json} +0 -0
  7. package/.nyc_output/{e47d1e4c-2fff-4dcb-908f-d3081162547c.json → bab87fe9-d99a-4759-99e6-3fc4622eeca0.json} +0 -0
  8. package/.nyc_output/processinfo/02a7a308-a8d7-4cc6-8e61-6066a0055a96.json +1 -0
  9. package/.nyc_output/processinfo/1900d596-5e87-433a-8fd6-fb7f7ded35ec.json +1 -0
  10. package/.nyc_output/processinfo/27401f21-8ccf-42fa-8230-4232189d86b3.json +1 -0
  11. package/.nyc_output/processinfo/52278ef5-c337-4724-97be-e2e4416847c5.json +1 -0
  12. package/.nyc_output/processinfo/5dd49b8a-4c84-42f9-a3d5-712247a84775.json +1 -0
  13. package/.nyc_output/processinfo/612b4859-9645-45c1-a41e-1fae420518c4.json +1 -0
  14. package/.nyc_output/processinfo/bab87fe9-d99a-4759-99e6-3fc4622eeca0.json +1 -0
  15. package/.nyc_output/processinfo/index.json +1 -1
  16. package/CHANGELOG.md +69 -10
  17. package/coverage/core/api/application.js.html +500 -422
  18. package/coverage/core/api/authentication.js.html +119 -119
  19. package/coverage/core/api/db.js.html +172 -172
  20. package/coverage/core/api/hooks/hooks.account.js.html +45 -45
  21. package/coverage/core/api/hooks/hooks.authentication.js.html +71 -71
  22. package/coverage/core/api/hooks/hooks.authorisations.js.html +368 -353
  23. package/coverage/core/api/hooks/hooks.devices.js.html +49 -49
  24. package/coverage/core/api/hooks/hooks.groups.js.html +37 -37
  25. package/coverage/core/api/hooks/hooks.logger.js.html +27 -27
  26. package/coverage/core/api/hooks/hooks.model.js.html +269 -269
  27. package/coverage/core/api/hooks/hooks.organisations.js.html +190 -190
  28. package/coverage/core/api/hooks/hooks.pusher.js.html +114 -114
  29. package/coverage/core/api/hooks/hooks.query.js.html +277 -211
  30. package/coverage/core/api/hooks/hooks.service.js.html +82 -82
  31. package/coverage/core/api/hooks/hooks.storage.js.html +121 -121
  32. package/coverage/core/api/hooks/hooks.tags.js.html +232 -232
  33. package/coverage/core/api/hooks/hooks.users.js.html +263 -263
  34. package/coverage/core/api/hooks/index.html +172 -172
  35. package/coverage/core/api/hooks/index.js.html +24 -24
  36. package/coverage/core/api/index.html +76 -76
  37. package/coverage/core/api/index.js.html +30 -30
  38. package/coverage/core/api/marshall.js.html +57 -57
  39. package/coverage/core/api/models/groups.model.mongodb.js.html +20 -20
  40. package/coverage/core/api/models/index.html +50 -50
  41. package/coverage/core/api/models/organisations.model.mongodb.js.html +12 -12
  42. package/coverage/core/api/models/tags.model.mongodb.js.html +22 -22
  43. package/coverage/core/api/models/users.model.mongodb.js.html +20 -20
  44. package/coverage/core/api/oauth2-handler.js.html +18 -18
  45. package/coverage/core/api/oauth2-verifier.js.html +38 -38
  46. package/coverage/core/api/services/account/account.hooks.js.html +16 -16
  47. package/coverage/core/api/services/account/account.service.js.html +104 -104
  48. package/coverage/core/api/services/account/index.html +32 -32
  49. package/coverage/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  50. package/coverage/core/api/services/authorisations/authorisations.service.js.html +156 -132
  51. package/coverage/core/api/services/authorisations/index.html +28 -28
  52. package/coverage/core/api/services/databases/databases.hooks.js.html +9 -9
  53. package/coverage/core/api/services/databases/databases.service.js.html +12 -12
  54. package/coverage/core/api/services/databases/index.html +24 -24
  55. package/coverage/core/api/services/devices/devices.hooks.js.html +9 -9
  56. package/coverage/core/api/services/devices/devices.service.js.html +121 -121
  57. package/coverage/core/api/services/devices/index.html +28 -28
  58. package/coverage/core/api/services/groups/groups.hooks.js.html +9 -9
  59. package/coverage/core/api/services/groups/index.html +13 -13
  60. package/coverage/core/api/services/index.html +21 -21
  61. package/coverage/core/api/services/index.js.html +118 -118
  62. package/coverage/core/api/services/mailer/index.html +24 -24
  63. package/coverage/core/api/services/mailer/mailer.hooks.js.html +9 -9
  64. package/coverage/core/api/services/mailer/mailer.service.js.html +19 -19
  65. package/coverage/core/api/services/organisations/index.html +24 -24
  66. package/coverage/core/api/services/organisations/organisations.hooks.js.html +8 -8
  67. package/coverage/core/api/services/organisations/organisations.service.js.html +67 -67
  68. package/coverage/core/api/services/pusher/index.html +34 -34
  69. package/coverage/core/api/services/pusher/pusher.channels.js.html +8 -8
  70. package/coverage/core/api/services/pusher/pusher.hooks.js.html +10 -10
  71. package/coverage/core/api/services/pusher/pusher.service.js.html +414 -414
  72. package/coverage/core/api/services/storage/index.html +21 -21
  73. package/coverage/core/api/services/storage/storage.hooks.js.html +35 -35
  74. package/coverage/core/api/services/tags/index.html +21 -21
  75. package/coverage/core/api/services/tags/tags.hooks.js.html +25 -25
  76. package/coverage/core/api/services/users/index.html +21 -21
  77. package/coverage/core/api/services/users/users.hooks.js.html +33 -33
  78. package/coverage/core/common/errors.js.html +1 -1
  79. package/coverage/core/common/index.html +42 -27
  80. package/coverage/core/common/index.js.html +16 -16
  81. package/coverage/core/common/permissions.js.html +320 -290
  82. package/coverage/index.html +181 -181
  83. package/coverage/lcov-report/core/api/application.js.html +500 -422
  84. package/coverage/lcov-report/core/api/authentication.js.html +119 -119
  85. package/coverage/lcov-report/core/api/db.js.html +172 -172
  86. package/coverage/lcov-report/core/api/hooks/hooks.account.js.html +45 -45
  87. package/coverage/lcov-report/core/api/hooks/hooks.authentication.js.html +71 -71
  88. package/coverage/lcov-report/core/api/hooks/hooks.authorisations.js.html +368 -353
  89. package/coverage/lcov-report/core/api/hooks/hooks.devices.js.html +49 -49
  90. package/coverage/lcov-report/core/api/hooks/hooks.groups.js.html +37 -37
  91. package/coverage/lcov-report/core/api/hooks/hooks.logger.js.html +27 -27
  92. package/coverage/lcov-report/core/api/hooks/hooks.model.js.html +269 -269
  93. package/coverage/lcov-report/core/api/hooks/hooks.organisations.js.html +190 -190
  94. package/coverage/lcov-report/core/api/hooks/hooks.pusher.js.html +114 -114
  95. package/coverage/lcov-report/core/api/hooks/hooks.query.js.html +277 -211
  96. package/coverage/lcov-report/core/api/hooks/hooks.service.js.html +82 -82
  97. package/coverage/lcov-report/core/api/hooks/hooks.storage.js.html +121 -121
  98. package/coverage/lcov-report/core/api/hooks/hooks.tags.js.html +232 -232
  99. package/coverage/lcov-report/core/api/hooks/hooks.users.js.html +263 -263
  100. package/coverage/lcov-report/core/api/hooks/index.html +172 -172
  101. package/coverage/lcov-report/core/api/hooks/index.js.html +24 -24
  102. package/coverage/lcov-report/core/api/index.html +76 -76
  103. package/coverage/lcov-report/core/api/index.js.html +30 -30
  104. package/coverage/lcov-report/core/api/marshall.js.html +57 -57
  105. package/coverage/lcov-report/core/api/models/groups.model.mongodb.js.html +20 -20
  106. package/coverage/lcov-report/core/api/models/index.html +50 -50
  107. package/coverage/lcov-report/core/api/models/organisations.model.mongodb.js.html +12 -12
  108. package/coverage/lcov-report/core/api/models/tags.model.mongodb.js.html +22 -22
  109. package/coverage/lcov-report/core/api/models/users.model.mongodb.js.html +20 -20
  110. package/coverage/lcov-report/core/api/oauth2-handler.js.html +18 -18
  111. package/coverage/lcov-report/core/api/oauth2-verifier.js.html +38 -38
  112. package/coverage/lcov-report/core/api/services/account/account.hooks.js.html +16 -16
  113. package/coverage/lcov-report/core/api/services/account/account.service.js.html +104 -104
  114. package/coverage/lcov-report/core/api/services/account/index.html +32 -32
  115. package/coverage/lcov-report/core/api/services/authorisations/authorisations.hooks.js.html +9 -9
  116. package/coverage/lcov-report/core/api/services/authorisations/authorisations.service.js.html +156 -132
  117. package/coverage/lcov-report/core/api/services/authorisations/index.html +28 -28
  118. package/coverage/lcov-report/core/api/services/databases/databases.hooks.js.html +9 -9
  119. package/coverage/lcov-report/core/api/services/databases/databases.service.js.html +12 -12
  120. package/coverage/lcov-report/core/api/services/databases/index.html +24 -24
  121. package/coverage/lcov-report/core/api/services/devices/devices.hooks.js.html +9 -9
  122. package/coverage/lcov-report/core/api/services/devices/devices.service.js.html +121 -121
  123. package/coverage/lcov-report/core/api/services/devices/index.html +28 -28
  124. package/coverage/lcov-report/core/api/services/groups/groups.hooks.js.html +9 -9
  125. package/coverage/lcov-report/core/api/services/groups/index.html +13 -13
  126. package/coverage/lcov-report/core/api/services/index.html +21 -21
  127. package/coverage/lcov-report/core/api/services/index.js.html +118 -118
  128. package/coverage/lcov-report/core/api/services/mailer/index.html +24 -24
  129. package/coverage/lcov-report/core/api/services/mailer/mailer.hooks.js.html +9 -9
  130. package/coverage/lcov-report/core/api/services/mailer/mailer.service.js.html +19 -19
  131. package/coverage/lcov-report/core/api/services/organisations/index.html +24 -24
  132. package/coverage/lcov-report/core/api/services/organisations/organisations.hooks.js.html +8 -8
  133. package/coverage/lcov-report/core/api/services/organisations/organisations.service.js.html +67 -67
  134. package/coverage/lcov-report/core/api/services/pusher/index.html +34 -34
  135. package/coverage/lcov-report/core/api/services/pusher/pusher.channels.js.html +8 -8
  136. package/coverage/lcov-report/core/api/services/pusher/pusher.hooks.js.html +10 -10
  137. package/coverage/lcov-report/core/api/services/pusher/pusher.service.js.html +414 -414
  138. package/coverage/lcov-report/core/api/services/storage/index.html +21 -21
  139. package/coverage/lcov-report/core/api/services/storage/storage.hooks.js.html +35 -35
  140. package/coverage/lcov-report/core/api/services/tags/index.html +21 -21
  141. package/coverage/lcov-report/core/api/services/tags/tags.hooks.js.html +25 -25
  142. package/coverage/lcov-report/core/api/services/users/index.html +21 -21
  143. package/coverage/lcov-report/core/api/services/users/users.hooks.js.html +33 -33
  144. package/coverage/lcov-report/core/common/errors.js.html +1 -1
  145. package/coverage/lcov-report/core/common/index.html +42 -27
  146. package/coverage/lcov-report/core/common/index.js.html +16 -16
  147. package/coverage/lcov-report/core/common/permissions.js.html +320 -290
  148. package/coverage/lcov-report/index.html +181 -181
  149. package/coverage/lcov-report/map/api/hooks/hooks.catalog.js.html +1 -1
  150. package/coverage/lcov-report/map/api/hooks/hooks.query.js.html +25 -7
  151. package/coverage/lcov-report/map/api/hooks/index.html +7 -7
  152. package/coverage/lcov-report/map/api/hooks/index.js.html +1 -1
  153. package/coverage/lcov-report/map/api/index.html +1 -1
  154. package/coverage/lcov-report/map/api/index.js.html +1 -1
  155. package/coverage/lcov-report/map/api/marshall.js.html +1 -1
  156. package/coverage/lcov-report/map/api/models/alerts.model.mongodb.js.html +1 -1
  157. package/coverage/lcov-report/map/api/models/catalog.model.mongodb.js.html +1 -1
  158. package/coverage/lcov-report/map/api/models/features.model.mongodb.js.html +14 -5
  159. package/coverage/lcov-report/map/api/models/index.html +7 -7
  160. package/coverage/lcov-report/map/api/services/alerts/alerts.hooks.js.html +1 -1
  161. package/coverage/lcov-report/map/api/services/alerts/alerts.service.js.html +1 -1
  162. package/coverage/lcov-report/map/api/services/alerts/index.html +1 -1
  163. package/coverage/lcov-report/map/api/services/catalog/catalog.hooks.js.html +1 -1
  164. package/coverage/lcov-report/map/api/services/catalog/index.html +1 -1
  165. package/coverage/lcov-report/map/api/services/daptiles/daptiles.service.js.html +1 -1
  166. package/coverage/lcov-report/map/api/services/daptiles/index.html +1 -1
  167. package/coverage/lcov-report/map/api/services/features/features.hooks.js.html +1 -1
  168. package/coverage/lcov-report/map/api/services/features/index.html +1 -1
  169. package/coverage/lcov-report/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  170. package/coverage/lcov-report/map/api/services/geocoder/geocoder.service.js.html +1 -1
  171. package/coverage/lcov-report/map/api/services/geocoder/index.html +1 -1
  172. package/coverage/lcov-report/map/api/services/index.html +1 -1
  173. package/coverage/lcov-report/map/api/services/index.js.html +1 -1
  174. package/coverage/lcov-report/map/common/dynamic-grid-source.js.html +1 -1
  175. package/coverage/lcov-report/map/common/errors.js.html +1 -1
  176. package/coverage/lcov-report/map/common/geotiff-grid-source.js.html +1 -1
  177. package/coverage/lcov-report/map/common/grid.js.html +1 -1
  178. package/coverage/lcov-report/map/common/index.html +1 -1
  179. package/coverage/lcov-report/map/common/index.js.html +1 -1
  180. package/coverage/lcov-report/map/common/meteo-model-grid-source.js.html +1 -1
  181. package/coverage/lcov-report/map/common/moment-utils.js.html +1 -1
  182. package/coverage/lcov-report/map/common/opendap-grid-source.js.html +1 -1
  183. package/coverage/lcov-report/map/common/opendap-utils.js.html +1 -1
  184. package/coverage/lcov-report/map/common/permissions.js.html +1 -1
  185. package/coverage/lcov-report/map/common/time-based-grid-source.js.html +1 -1
  186. package/coverage/lcov-report/map/common/tms-utils.js.html +1 -1
  187. package/coverage/lcov-report/map/common/wcs-grid-source.js.html +1 -1
  188. package/coverage/lcov-report/map/common/wcs-utils.js.html +1 -1
  189. package/coverage/lcov-report/map/common/weacast-grid-source.js.html +1 -1
  190. package/coverage/lcov-report/map/common/wfs-utils.js.html +1 -1
  191. package/coverage/lcov-report/map/common/wms-utils.js.html +1 -1
  192. package/coverage/lcov-report/map/common/wmts-utils.js.html +1 -1
  193. package/coverage/lcov.info +3683 -3825
  194. package/coverage/map/api/hooks/hooks.catalog.js.html +1 -1
  195. package/coverage/map/api/hooks/hooks.query.js.html +25 -7
  196. package/coverage/map/api/hooks/index.html +7 -7
  197. package/coverage/map/api/hooks/index.js.html +1 -1
  198. package/coverage/map/api/index.html +1 -1
  199. package/coverage/map/api/index.js.html +1 -1
  200. package/coverage/map/api/marshall.js.html +1 -1
  201. package/coverage/map/api/models/alerts.model.mongodb.js.html +1 -1
  202. package/coverage/map/api/models/catalog.model.mongodb.js.html +1 -1
  203. package/coverage/map/api/models/features.model.mongodb.js.html +14 -5
  204. package/coverage/map/api/models/index.html +7 -7
  205. package/coverage/map/api/services/alerts/alerts.hooks.js.html +1 -1
  206. package/coverage/map/api/services/alerts/alerts.service.js.html +1 -1
  207. package/coverage/map/api/services/alerts/index.html +1 -1
  208. package/coverage/map/api/services/catalog/catalog.hooks.js.html +1 -1
  209. package/coverage/map/api/services/catalog/index.html +1 -1
  210. package/coverage/map/api/services/daptiles/daptiles.service.js.html +1 -1
  211. package/coverage/map/api/services/daptiles/index.html +1 -1
  212. package/coverage/map/api/services/features/features.hooks.js.html +1 -1
  213. package/coverage/map/api/services/features/index.html +1 -1
  214. package/coverage/map/api/services/geocoder/geocoder.hooks.js.html +1 -1
  215. package/coverage/map/api/services/geocoder/geocoder.service.js.html +1 -1
  216. package/coverage/map/api/services/geocoder/index.html +1 -1
  217. package/coverage/map/api/services/index.html +1 -1
  218. package/coverage/map/api/services/index.js.html +1 -1
  219. package/coverage/map/common/dynamic-grid-source.js.html +1 -1
  220. package/coverage/map/common/errors.js.html +1 -1
  221. package/coverage/map/common/geotiff-grid-source.js.html +1 -1
  222. package/coverage/map/common/grid.js.html +1 -1
  223. package/coverage/map/common/index.html +1 -1
  224. package/coverage/map/common/index.js.html +1 -1
  225. package/coverage/map/common/meteo-model-grid-source.js.html +1 -1
  226. package/coverage/map/common/moment-utils.js.html +1 -1
  227. package/coverage/map/common/opendap-grid-source.js.html +1 -1
  228. package/coverage/map/common/opendap-utils.js.html +1 -1
  229. package/coverage/map/common/permissions.js.html +1 -1
  230. package/coverage/map/common/time-based-grid-source.js.html +1 -1
  231. package/coverage/map/common/tms-utils.js.html +1 -1
  232. package/coverage/map/common/wcs-grid-source.js.html +1 -1
  233. package/coverage/map/common/wcs-utils.js.html +1 -1
  234. package/coverage/map/common/weacast-grid-source.js.html +1 -1
  235. package/coverage/map/common/wfs-utils.js.html +1 -1
  236. package/coverage/map/common/wms-utils.js.html +1 -1
  237. package/coverage/map/common/wmts-utils.js.html +1 -1
  238. package/extras/tours/map/navigation-bar.js +49 -1
  239. package/lib/core/api/application.js +35 -9
  240. package/lib/core/api/application.js.map +1 -1
  241. package/lib/core/api/hooks/hooks.authorisations.js +8 -1
  242. package/lib/core/api/hooks/hooks.authorisations.js.map +1 -1
  243. package/lib/core/api/hooks/hooks.query.js +135 -100
  244. package/lib/core/api/hooks/hooks.query.js.map +1 -1
  245. package/lib/core/api/services/authorisations/authorisations.service.js +13 -1
  246. package/lib/core/api/services/authorisations/authorisations.service.js.map +1 -1
  247. package/lib/core/api/services/pusher/pusher.service.js +40 -16
  248. package/lib/core/api/services/pusher/pusher.service.js.map +1 -1
  249. package/lib/core/client/components/collection/KColumn.vue +29 -28
  250. package/lib/core/client/components/collection/KFilter.vue +97 -72
  251. package/lib/core/client/components/editor/KModalEditor.vue +3 -4
  252. package/lib/core/client/components/editor/KSettingsEditor.vue +6 -2
  253. package/lib/core/client/components/form/KFileField.vue +14 -36
  254. package/lib/core/client/components/form/KRoleField.vue +5 -2
  255. package/lib/core/client/components/form/KTextField.vue +12 -2
  256. package/lib/core/client/components/form/KUnitField.vue +57 -0
  257. package/lib/core/client/components/form/KUrlField.vue +1 -1
  258. package/lib/core/client/components/frame/KAction.vue +1 -2
  259. package/lib/core/client/components/frame/KModal.vue +66 -20
  260. package/lib/core/client/components/frame/KScrollArea.vue +65 -0
  261. package/lib/core/client/components/frame/index.js +6 -1
  262. package/lib/core/client/components/frame/index.js.map +1 -1
  263. package/lib/core/client/components/input/KColorChooser.vue +3 -5
  264. package/lib/core/client/components/input/KIconChooser.vue +38 -40
  265. package/lib/core/client/components/input/KOptionsChooser.vue +2 -2
  266. package/lib/core/client/components/layout/KAbout.vue +47 -49
  267. package/lib/core/client/components/team/KAddMember.vue +1 -1
  268. package/lib/core/client/components/team/KChangeRole.vue +11 -14
  269. package/lib/core/client/components/team/KGroupCard.vue +12 -5
  270. package/lib/core/client/components/team/KGroupsActivity.vue +1 -1
  271. package/lib/core/client/components/team/KJoinGroup.vue +22 -22
  272. package/lib/core/client/components/team/KMemberCard.vue +19 -4
  273. package/lib/core/client/components/viewer/KModalViewer.vue +10 -9
  274. package/lib/core/client/i18n/core_en.json +72 -8
  275. package/lib/core/client/i18n/core_fr.json +66 -8
  276. package/lib/core/client/index.js +31 -0
  277. package/lib/core/client/index.js.map +1 -1
  278. package/lib/core/client/layout.js +8 -1
  279. package/lib/core/client/layout.js.map +1 -1
  280. package/lib/core/client/mixins/mixin.base-widget.js +5 -3
  281. package/lib/core/client/mixins/mixin.base-widget.js.map +1 -1
  282. package/lib/core/client/reader.js +85 -0
  283. package/lib/core/client/reader.js.map +1 -0
  284. package/lib/core/client/readers/index.js +30 -0
  285. package/lib/core/client/readers/index.js.map +1 -0
  286. package/lib/core/client/readers/reader.csv.js +54 -0
  287. package/lib/core/client/readers/reader.csv.js.map +1 -0
  288. package/lib/core/client/readers/reader.json.js +49 -0
  289. package/lib/core/client/readers/reader.json.js.map +1 -0
  290. package/lib/core/client/services/index.js +14 -3
  291. package/lib/core/client/services/index.js.map +1 -1
  292. package/lib/core/client/services/local-settings.service.js +6 -4
  293. package/lib/core/client/services/local-settings.service.js.map +1 -1
  294. package/lib/core/client/time.js +4 -3
  295. package/lib/core/client/time.js.map +1 -1
  296. package/lib/core/client/units.js +195 -0
  297. package/lib/core/client/units.js.map +1 -0
  298. package/lib/core/common/permissions.js +44 -34
  299. package/lib/core/common/permissions.js.map +1 -1
  300. package/lib/core/common/schemas/settings.update.json +72 -0
  301. package/lib/map/api/hooks/hooks.query.js +7 -2
  302. package/lib/map/api/hooks/hooks.query.js.map +1 -1
  303. package/lib/map/api/models/features.model.mongodb.js +3 -0
  304. package/lib/map/api/models/features.model.mongodb.js.map +1 -1
  305. package/lib/map/client/components/KCaptureToolbar.vue +151 -0
  306. package/lib/map/client/components/KColorLegend.vue +16 -4
  307. package/lib/map/client/components/KFeaturesChart.vue +10 -11
  308. package/lib/map/client/components/KFeaturesFilter.vue +40 -39
  309. package/lib/map/client/components/KFeaturesTable.vue +15 -16
  310. package/lib/map/client/components/KLayerEditionToolbar.vue +19 -11
  311. package/lib/map/client/components/KLayerStyleEditor.vue +3 -2
  312. package/lib/map/client/components/KLayerStyleForm.vue +38 -27
  313. package/lib/map/client/components/KMeasureTool.vue +337 -0
  314. package/lib/map/client/components/KTimeline.vue +5 -9
  315. package/lib/map/client/components/catalog/KAddLayer.vue +3 -2
  316. package/lib/map/client/components/catalog/KCatalog.vue +26 -7
  317. package/lib/map/client/components/catalog/KImportLayer.vue +8 -35
  318. package/lib/map/client/components/catalog/KLayerCategories.vue +3 -2
  319. package/lib/map/client/components/catalog/KLayersSelector.vue +8 -6
  320. package/lib/map/client/components/catalog/KWeatherLayersSelector.vue +1 -1
  321. package/lib/map/client/components/widget/KInformationBox.vue +8 -17
  322. package/lib/map/client/components/widget/KMapillaryViewer.vue +5 -1
  323. package/lib/map/client/components/widget/KTimeSeries.vue +92 -9
  324. package/lib/map/client/i18n/map_en.json +51 -20
  325. package/lib/map/client/i18n/map_fr.json +51 -20
  326. package/lib/map/client/init.js +7 -1
  327. package/lib/map/client/init.js.map +1 -1
  328. package/lib/map/client/leaflet/MaskLayer.js +9 -0
  329. package/lib/map/client/leaflet/MaskLayer.js.map +1 -1
  330. package/lib/map/client/mixins/globe/mixin.base-globe.js +3 -5
  331. package/lib/map/client/mixins/globe/mixin.base-globe.js.map +1 -1
  332. package/lib/map/client/mixins/globe/mixin.geojson-layers.js +16 -21
  333. package/lib/map/client/mixins/globe/mixin.geojson-layers.js.map +1 -1
  334. package/lib/map/client/mixins/globe/mixin.popup.js +7 -1
  335. package/lib/map/client/mixins/globe/mixin.popup.js.map +1 -1
  336. package/lib/map/client/mixins/globe/mixin.tooltip.js +7 -1
  337. package/lib/map/client/mixins/globe/mixin.tooltip.js.map +1 -1
  338. package/lib/map/client/mixins/map/mixin.base-map.js +54 -9
  339. package/lib/map/client/mixins/map/mixin.base-map.js.map +1 -1
  340. package/lib/map/client/mixins/map/mixin.canvas-layers.js +2 -0
  341. package/lib/map/client/mixins/map/mixin.canvas-layers.js.map +1 -1
  342. package/lib/map/client/mixins/map/mixin.file-layers.js +51 -97
  343. package/lib/map/client/mixins/map/mixin.file-layers.js.map +1 -1
  344. package/lib/map/client/mixins/map/mixin.geojson-layers.js +43 -11
  345. package/lib/map/client/mixins/map/mixin.geojson-layers.js.map +1 -1
  346. package/lib/map/client/mixins/map/mixin.popup.js +7 -1
  347. package/lib/map/client/mixins/map/mixin.popup.js.map +1 -1
  348. package/lib/map/client/mixins/map/mixin.style.js +1 -1
  349. package/lib/map/client/mixins/map/mixin.style.js.map +1 -1
  350. package/lib/map/client/mixins/map/mixin.tooltip.js +7 -1
  351. package/lib/map/client/mixins/map/mixin.tooltip.js.map +1 -1
  352. package/lib/map/client/mixins/mixin.activity.js +2 -0
  353. package/lib/map/client/mixins/mixin.activity.js.map +1 -1
  354. package/lib/map/client/mixins/mixin.context.js +26 -3
  355. package/lib/map/client/mixins/mixin.context.js.map +1 -1
  356. package/lib/map/client/mixins/mixin.feature-service.js +3 -3
  357. package/lib/map/client/mixins/mixin.feature-service.js.map +1 -1
  358. package/lib/map/client/mixins/mixin.infobox.js +4 -0
  359. package/lib/map/client/mixins/mixin.infobox.js.map +1 -1
  360. package/lib/map/client/mixins/mixin.weacast.js +7 -5
  361. package/lib/map/client/mixins/mixin.weacast.js.map +1 -1
  362. package/lib/map/client/readers/index.js +54 -0
  363. package/lib/map/client/readers/index.js.map +1 -0
  364. package/lib/map/client/readers/reader.geojson.js +87 -0
  365. package/lib/map/client/readers/reader.geojson.js.map +1 -0
  366. package/lib/map/client/readers/reader.gpx.js +52 -0
  367. package/lib/map/client/readers/reader.gpx.js.map +1 -0
  368. package/lib/map/client/readers/reader.kml.js +52 -0
  369. package/lib/map/client/readers/reader.kml.js.map +1 -0
  370. package/lib/map/client/readers/reader.shp.js +116 -0
  371. package/lib/map/client/readers/reader.shp.js.map +1 -0
  372. package/lib/map/client/utils.js +0 -7
  373. package/lib/map/client/utils.js.map +1 -1
  374. package/lib/test/client/core/account.js +1 -1
  375. package/lib/test/client/core/account.js.map +1 -1
  376. package/lib/test/client/core/runner.js +1 -2
  377. package/lib/test/client/core/runner.js.map +1 -1
  378. package/lib/test/client/core/screens.js +1 -1
  379. package/lib/test/client/core/screens.js.map +1 -1
  380. package/lib/test/client/core/utils.js +2 -2
  381. package/lib/test/client/core/utils.js.map +1 -1
  382. package/lib/test/client/map/catalog.js +50 -49
  383. package/lib/test/client/map/catalog.js.map +1 -1
  384. package/package.json +3 -3
  385. package/.nyc_output/2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json +0 -1
  386. package/.nyc_output/a762cb58-70dc-4d39-ab69-928635affa98.json +0 -1
  387. package/.nyc_output/processinfo/2c5b7c8e-81db-4d2c-a7a4-02dc640d301f.json +0 -1
  388. package/.nyc_output/processinfo/2e74ca23-8cf0-4161-9536-f71c2a1a74bb.json +0 -1
  389. package/.nyc_output/processinfo/81d21e46-766a-46bc-b1b7-143ca577347a.json +0 -1
  390. package/.nyc_output/processinfo/a762cb58-70dc-4d39-ab69-928635affa98.json +0 -1
  391. package/.nyc_output/processinfo/aaf3ebbb-f895-4d7b-9255-bc5dee832570.json +0 -1
  392. package/.nyc_output/processinfo/dbeb2602-0ac2-4e66-978b-0d29548359ca.json +0 -1
  393. package/.nyc_output/processinfo/e47d1e4c-2fff-4dcb-908f-d3081162547c.json +0 -1
  394. package/extras/testcafe/Dockerfile +0 -48
  395. package/extras/testcafe/docker-entrypoint.sh +0 -27
  396. package/extras/testcafe/page-models/core/account.js +0 -75
  397. package/extras/testcafe/page-models/core/base-collection.js +0 -41
  398. package/extras/testcafe/page-models/core/base-page.js +0 -25
  399. package/extras/testcafe/page-models/core/groups.js +0 -36
  400. package/extras/testcafe/page-models/core/index.js +0 -140
  401. package/extras/testcafe/page-models/core/layout.js +0 -145
  402. package/extras/testcafe/page-models/core/members.js +0 -98
  403. package/extras/testcafe/page-models/core/organisations.js +0 -76
  404. package/extras/testcafe/page-models/core/screens.js +0 -99
  405. package/extras/testcafe/page-models/core/tags.js +0 -21
  406. package/extras/testcafe/page-models/map/add-layer.js +0 -51
  407. package/extras/testcafe/page-models/map/catalog.js +0 -132
  408. package/extras/testcafe/page-models/map/index.js +0 -36
  409. package/extras/testcafe/page-models/map/map-activity.js +0 -42
  410. package/extras/testcafe/page-models/map/timeline.js +0 -67
@@ -0,0 +1 @@
1
+ {"D:\\Development\\kalisio\\kdk\\core\\api\\index.js":{"path":"D:\\Development\\kalisio\\kdk\\core\\api\\index.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":5,"column":3}},"1":{"start":{"line":6,"column":0},"end":{"line":6,"column":26}},"2":{"start":{"line":8,"column":16},"end":{"line":8,"column":37}},"3":{"start":{"line":10,"column":0},"end":{"line":18,"column":3}},"4":{"start":{"line":11,"column":2},"end":{"line":11,"column":56}},"5":{"start":{"line":11,"column":49},"end":{"line":11,"column":56}},"6":{"start":{"line":12,"column":2},"end":{"line":17,"column":5}},"7":{"start":{"line":15,"column":6},"end":{"line":15,"column":28}},"8":{"start":{"line":20,"column":10},"end":{"line":20,"column":25}},"9":{"start":{"line":22,"column":0},"end":{"line":30,"column":3}},"10":{"start":{"line":23,"column":2},"end":{"line":23,"column":56}},"11":{"start":{"line":23,"column":49},"end":{"line":23,"column":56}},"12":{"start":{"line":24,"column":2},"end":{"line":29,"column":5}},"13":{"start":{"line":27,"column":6},"end":{"line":27,"column":22}},"14":{"start":{"line":32,"column":19},"end":{"line":32,"column":43}},"15":{"start":{"line":34,"column":0},"end":{"line":42,"column":3}},"16":{"start":{"line":35,"column":2},"end":{"line":35,"column":56}},"17":{"start":{"line":35,"column":49},"end":{"line":35,"column":56}},"18":{"start":{"line":36,"column":2},"end":{"line":41,"column":5}},"19":{"start":{"line":39,"column":6},"end":{"line":39,"column":31}},"20":{"start":{"line":44,"column":16},"end":{"line":44,"column":37}},"21":{"start":{"line":46,"column":0},"end":{"line":54,"column":3}},"22":{"start":{"line":47,"column":2},"end":{"line":47,"column":56}},"23":{"start":{"line":47,"column":49},"end":{"line":47,"column":56}},"24":{"start":{"line":48,"column":2},"end":{"line":53,"column":5}},"25":{"start":{"line":51,"column":6},"end":{"line":51,"column":28}},"26":{"start":{"line":56,"column":14},"end":{"line":56,"column":34}},"27":{"start":{"line":58,"column":0},"end":{"line":66,"column":3}},"28":{"start":{"line":59,"column":2},"end":{"line":59,"column":56}},"29":{"start":{"line":59,"column":49},"end":{"line":59,"column":56}},"30":{"start":{"line":60,"column":2},"end":{"line":65,"column":5}},"31":{"start":{"line":63,"column":6},"end":{"line":63,"column":26}},"32":{"start":{"line":67,"column":0},"end":{"line":67,"column":23}},"33":{"start":{"line":69,"column":13},"end":{"line":69,"column":29}},"34":{"start":{"line":71,"column":14},"end":{"line":71,"column":44}},"35":{"start":{"line":73,"column":17},"end":{"line":73,"column":50}},"36":{"start":{"line":75,"column":13},"end":{"line":75,"column":31}},"37":{"start":{"line":77,"column":12},"end":{"line":77,"column":43}},"38":{"start":{"line":79,"column":40},"end":{"line":79,"column":267}},"39":{"start":{"line":79,"column":69},"end":{"line":79,"column":80}},"40":{"start":{"line":79,"column":103},"end":{"line":79,"column":105}},"41":{"start":{"line":79,"column":107},"end":{"line":79,"column":228}},"42":{"start":{"line":79,"column":126},"end":{"line":79,"column":226}},"43":{"start":{"line":79,"column":149},"end":{"line":79,"column":224}},"44":{"start":{"line":79,"column":201},"end":{"line":79,"column":224}},"45":{"start":{"line":79,"column":229},"end":{"line":79,"column":250}},"46":{"start":{"line":79,"column":251},"end":{"line":79,"column":265}},"47":{"start":{"line":81,"column":39},"end":{"line":81,"column":93}},"48":{"start":{"line":83,"column":0},"end":{"line":83,"column":22}},"49":{"start":{"line":88,"column":14},"end":{"line":88,"column":46}},"50":{"start":{"line":91,"column":14},"end":{"line":91,"column":18}},"51":{"start":{"line":93,"column":2},"end":{"line":93,"column":33}},"52":{"start":{"line":95,"column":2},"end":{"line":95,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":31},"end":{"line":10,"column":32}},"loc":{"start":{"line":10,"column":46},"end":{"line":18,"column":1}},"line":10},"1":{"name":"(anonymous_1)","decl":{"start":{"line":14,"column":9},"end":{"line":14,"column":10}},"loc":{"start":{"line":14,"column":21},"end":{"line":16,"column":5}},"line":14},"2":{"name":"(anonymous_2)","decl":{"start":{"line":22,"column":25},"end":{"line":22,"column":26}},"loc":{"start":{"line":22,"column":40},"end":{"line":30,"column":1}},"line":22},"3":{"name":"(anonymous_3)","decl":{"start":{"line":26,"column":9},"end":{"line":26,"column":10}},"loc":{"start":{"line":26,"column":21},"end":{"line":28,"column":5}},"line":26},"4":{"name":"(anonymous_4)","decl":{"start":{"line":34,"column":34},"end":{"line":34,"column":35}},"loc":{"start":{"line":34,"column":49},"end":{"line":42,"column":1}},"line":34},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":10}},"loc":{"start":{"line":38,"column":21},"end":{"line":40,"column":5}},"line":38},"6":{"name":"(anonymous_6)","decl":{"start":{"line":46,"column":31},"end":{"line":46,"column":32}},"loc":{"start":{"line":46,"column":46},"end":{"line":54,"column":1}},"line":46},"7":{"name":"(anonymous_7)","decl":{"start":{"line":50,"column":9},"end":{"line":50,"column":10}},"loc":{"start":{"line":50,"column":21},"end":{"line":52,"column":5}},"line":50},"8":{"name":"(anonymous_8)","decl":{"start":{"line":58,"column":29},"end":{"line":58,"column":30}},"loc":{"start":{"line":58,"column":44},"end":{"line":66,"column":1}},"line":58},"9":{"name":"(anonymous_9)","decl":{"start":{"line":62,"column":9},"end":{"line":62,"column":10}},"loc":{"start":{"line":62,"column":21},"end":{"line":64,"column":5}},"line":62},"10":{"name":"_interopRequireWildcard","decl":{"start":{"line":79,"column":9},"end":{"line":79,"column":32}},"loc":{"start":{"line":79,"column":38},"end":{"line":79,"column":269}},"line":79},"11":{"name":"_interopRequireDefault","decl":{"start":{"line":81,"column":9},"end":{"line":81,"column":31}},"loc":{"start":{"line":81,"column":37},"end":{"line":81,"column":95}},"line":81},"12":{"name":"init","decl":{"start":{"line":90,"column":9},"end":{"line":90,"column":13}},"loc":{"start":{"line":90,"column":16},"end":{"line":96,"column":1}},"line":90}},"branchMap":{"0":{"loc":{"start":{"line":11,"column":2},"end":{"line":11,"column":56}},"type":"if","locations":[{"start":{"line":11,"column":2},"end":{"line":11,"column":56}},{"start":{"line":11,"column":2},"end":{"line":11,"column":56}}],"line":11},"1":{"loc":{"start":{"line":11,"column":6},"end":{"line":11,"column":47}},"type":"binary-expr","locations":[{"start":{"line":11,"column":6},"end":{"line":11,"column":23}},{"start":{"line":11,"column":27},"end":{"line":11,"column":47}}],"line":11},"2":{"loc":{"start":{"line":23,"column":2},"end":{"line":23,"column":56}},"type":"if","locations":[{"start":{"line":23,"column":2},"end":{"line":23,"column":56}},{"start":{"line":23,"column":2},"end":{"line":23,"column":56}}],"line":23},"3":{"loc":{"start":{"line":23,"column":6},"end":{"line":23,"column":47}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":23}},{"start":{"line":23,"column":27},"end":{"line":23,"column":47}}],"line":23},"4":{"loc":{"start":{"line":35,"column":2},"end":{"line":35,"column":56}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":35,"column":56}},{"start":{"line":35,"column":2},"end":{"line":35,"column":56}}],"line":35},"5":{"loc":{"start":{"line":35,"column":6},"end":{"line":35,"column":47}},"type":"binary-expr","locations":[{"start":{"line":35,"column":6},"end":{"line":35,"column":23}},{"start":{"line":35,"column":27},"end":{"line":35,"column":47}}],"line":35},"6":{"loc":{"start":{"line":47,"column":2},"end":{"line":47,"column":56}},"type":"if","locations":[{"start":{"line":47,"column":2},"end":{"line":47,"column":56}},{"start":{"line":47,"column":2},"end":{"line":47,"column":56}}],"line":47},"7":{"loc":{"start":{"line":47,"column":6},"end":{"line":47,"column":47}},"type":"binary-expr","locations":[{"start":{"line":47,"column":6},"end":{"line":47,"column":23}},{"start":{"line":47,"column":27},"end":{"line":47,"column":47}}],"line":47},"8":{"loc":{"start":{"line":59,"column":2},"end":{"line":59,"column":56}},"type":"if","locations":[{"start":{"line":59,"column":2},"end":{"line":59,"column":56}},{"start":{"line":59,"column":2},"end":{"line":59,"column":56}}],"line":59},"9":{"loc":{"start":{"line":59,"column":6},"end":{"line":59,"column":47}},"type":"binary-expr","locations":[{"start":{"line":59,"column":6},"end":{"line":59,"column":23}},{"start":{"line":59,"column":27},"end":{"line":59,"column":47}}],"line":59},"10":{"loc":{"start":{"line":79,"column":40},"end":{"line":79,"column":267}},"type":"if","locations":[{"start":{"line":79,"column":40},"end":{"line":79,"column":267}},{"start":{"line":79,"column":40},"end":{"line":79,"column":267}}],"line":79},"11":{"loc":{"start":{"line":79,"column":44},"end":{"line":79,"column":65}},"type":"binary-expr","locations":[{"start":{"line":79,"column":44},"end":{"line":79,"column":47}},{"start":{"line":79,"column":51},"end":{"line":79,"column":65}}],"line":79},"12":{"loc":{"start":{"line":79,"column":107},"end":{"line":79,"column":228}},"type":"if","locations":[{"start":{"line":79,"column":107},"end":{"line":79,"column":228}},{"start":{"line":79,"column":107},"end":{"line":79,"column":228}}],"line":79},"13":{"loc":{"start":{"line":79,"column":149},"end":{"line":79,"column":224}},"type":"if","locations":[{"start":{"line":79,"column":149},"end":{"line":79,"column":224}},{"start":{"line":79,"column":149},"end":{"line":79,"column":224}}],"line":79},"14":{"loc":{"start":{"line":81,"column":46},"end":{"line":81,"column":92}},"type":"cond-expr","locations":[{"start":{"line":81,"column":70},"end":{"line":81,"column":73}},{"start":{"line":81,"column":76},"end":{"line":81,"column":92}}],"line":81},"15":{"loc":{"start":{"line":81,"column":46},"end":{"line":81,"column":67}},"type":"binary-expr","locations":[{"start":{"line":81,"column":46},"end":{"line":81,"column":49}},{"start":{"line":81,"column":53},"end":{"line":81,"column":67}}],"line":81}},"s":{"0":1,"1":1,"2":1,"3":1,"4":6,"5":1,"6":5,"7":0,"8":1,"9":1,"10":7,"11":0,"12":7,"13":0,"14":1,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0},"f":{"0":6,"1":0,"2":7,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0},"b":{"0":[1,5],"1":[6,5],"2":[0,7],"3":[7,7],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0]},"inputSourceMap":{"version":3,"sources":["index.js"],"names":["init","hooks","debug","app","configure","services"],"mappings":";;;;;;;AACA;;AAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;kBAIwBA,I;;AAfxB;;;;;;AAEA;;IAAYC,K;;;;;;QAKHA,K,GAAAA,K;AAJT;AACA;AACA;;AAQA,MAAMC,QAAQ,qBAAU,UAAV,CAAd;;AAEe,SAASF,IAAT,GAAiB;AAC9B,QAAMG,MAAM,IAAZ;;AAEAD,QAAM,uBAAN;;AAEAC,MAAIC,SAAJ,CAAcC,kBAAd;AACD","file":"index.js","sourceRoot":"D:/Development/kalisio/kdk/core/api","sourcesContent":["import makeDebug from 'debug'\r\nimport services from './services'\r\nimport * as hooks from './hooks'\r\n// We faced a bug in babel so that transform-runtime with export * from 'x' generates import statements in transpiled code\r\n// Tracked here : https://github.com/babel/babel/issues/2877\r\n// We tested the workaround given here https://github.com/babel/babel/issues/2877#issuecomment-270700000 with success so far\r\nexport * from './services'\r\nexport { hooks }\r\nexport * from './db'\r\nexport * from './application'\r\nexport * from './marshall'\r\nexport * from '../common'\r\n\r\nconst debug = makeDebug('kdk:core')\r\n\r\nexport default function init () {\r\n const app = this\r\n\r\n debug('Initializing KDK core')\r\n\r\n app.configure(services)\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"af8f853751e54b5cfe1a00e5c3700eb9e913d870","contentHash":"d84320ebcf3066e75654bfcf3f41ece243824ba09df2d8c79ca975e869cf1d3e"},"D:\\Development\\kalisio\\kdk\\core\\api\\services\\index.js":{"path":"D:\\Development\\kalisio\\kdk\\core\\api\\services\\index.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":5,"column":3}},"1":{"start":{"line":6,"column":0},"end":{"line":6,"column":44}},"2":{"start":{"line":7,"column":0},"end":{"line":7,"column":44}},"3":{"start":{"line":8,"column":0},"end":{"line":8,"column":52}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":52}},"5":{"start":{"line":10,"column":0},"end":{"line":10,"column":62}},"6":{"start":{"line":12,"column":12},"end":{"line":12,"column":27}},"7":{"start":{"line":14,"column":13},"end":{"line":14,"column":42}},"8":{"start":{"line":16,"column":13},"end":{"line":16,"column":29}},"9":{"start":{"line":18,"column":14},"end":{"line":18,"column":44}},"10":{"start":{"line":20,"column":14},"end":{"line":20,"column":31}},"11":{"start":{"line":22,"column":15},"end":{"line":22,"column":46}},"12":{"start":{"line":24,"column":14},"end":{"line":24,"column":32}},"13":{"start":{"line":26,"column":15},"end":{"line":26,"column":46}},"14":{"start":{"line":28,"column":19},"end":{"line":28,"column":43}},"15":{"start":{"line":30,"column":20},"end":{"line":30,"column":56}},"16":{"start":{"line":32,"column":20},"end":{"line":32,"column":44}},"17":{"start":{"line":34,"column":21},"end":{"line":34,"column":58}},"18":{"start":{"line":36,"column":39},"end":{"line":36,"column":93}},"19":{"start":{"line":38,"column":33},"end":{"line":38,"column":456}},"20":{"start":{"line":38,"column":64},"end":{"line":38,"column":89}},"21":{"start":{"line":38,"column":91},"end":{"line":38,"column":453}},"22":{"start":{"line":38,"column":165},"end":{"line":38,"column":263}},"23":{"start":{"line":38,"column":182},"end":{"line":38,"column":195}},"24":{"start":{"line":38,"column":209},"end":{"line":38,"column":219}},"25":{"start":{"line":38,"column":239},"end":{"line":38,"column":253}},"26":{"start":{"line":38,"column":254},"end":{"line":38,"column":261}},"27":{"start":{"line":38,"column":264},"end":{"line":38,"column":426}},"28":{"start":{"line":38,"column":281},"end":{"line":38,"column":296}},"29":{"start":{"line":38,"column":306},"end":{"line":38,"column":424}},"30":{"start":{"line":38,"column":360},"end":{"line":38,"column":380}},"31":{"start":{"line":38,"column":401},"end":{"line":38,"column":420}},"32":{"start":{"line":38,"column":429},"end":{"line":38,"column":449}},"33":{"start":{"line":40,"column":18},"end":{"line":40,"column":56}},"34":{"start":{"line":41,"column":19},"end":{"line":41,"column":65}},"35":{"start":{"line":42,"column":21},"end":{"line":42,"column":69}},"36":{"start":{"line":44,"column":14},"end":{"line":44,"column":55}},"37":{"start":{"line":47,"column":14},"end":{"line":47,"column":18}},"38":{"start":{"line":49,"column":2},"end":{"line":52,"column":15}},"39":{"start":{"line":60,"column":2},"end":{"line":67,"column":4}},"40":{"start":{"line":61,"column":4},"end":{"line":61,"column":28}},"41":{"start":{"line":61,"column":18},"end":{"line":61,"column":28}},"42":{"start":{"line":62,"column":19},"end":{"line":62,"column":100}},"43":{"start":{"line":64,"column":4},"end":{"line":66,"column":28}},"44":{"start":{"line":64,"column":31},"end":{"line":64,"column":61}},"45":{"start":{"line":66,"column":9},"end":{"line":66,"column":28}},"46":{"start":{"line":71,"column":14},"end":{"line":71,"column":18}},"47":{"start":{"line":73,"column":18},"end":{"line":73,"column":49}},"48":{"start":{"line":74,"column":2},"end":{"line":93,"column":15}},"49":{"start":{"line":83,"column":20},"end":{"line":83,"column":82}},"50":{"start":{"line":84,"column":22},"end":{"line":84,"column":87}},"51":{"start":{"line":89,"column":8},"end":{"line":89,"column":37}},"52":{"start":{"line":90,"column":8},"end":{"line":90,"column":15}},"53":{"start":{"line":101,"column":14},"end":{"line":101,"column":18}},"54":{"start":{"line":104,"column":2},"end":{"line":104,"column":105}},"55":{"start":{"line":105,"column":22},"end":{"line":105,"column":113}},"56":{"start":{"line":108,"column":23},"end":{"line":108,"column":46}},"57":{"start":{"line":109,"column":32},"end":{"line":109,"column":64}},"58":{"start":{"line":111,"column":2},"end":{"line":115,"column":5}},"59":{"start":{"line":114,"column":4},"end":{"line":114,"column":87}},"60":{"start":{"line":114,"column":43},"end":{"line":114,"column":87}},"61":{"start":{"line":117,"column":2},"end":{"line":125,"column":5}},"62":{"start":{"line":119,"column":30},"end":{"line":119,"column":69}},"63":{"start":{"line":120,"column":4},"end":{"line":124,"column":5}},"64":{"start":{"line":122,"column":17},"end":{"line":122,"column":62}},"65":{"start":{"line":123,"column":6},"end":{"line":123,"column":63}},"66":{"start":{"line":126,"column":2},"end":{"line":131,"column":5}},"67":{"start":{"line":128,"column":30},"end":{"line":128,"column":69}},"68":{"start":{"line":129,"column":4},"end":{"line":129,"column":34}},"69":{"start":{"line":129,"column":27},"end":{"line":129,"column":34}},"70":{"start":{"line":130,"column":4},"end":{"line":130,"column":57}},"71":{"start":{"line":134,"column":0},"end":{"line":177,"column":3}},"72":{"start":{"line":135,"column":14},"end":{"line":135,"column":18}},"73":{"start":{"line":137,"column":21},"end":{"line":137,"column":46}},"74":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"75":{"start":{"line":139,"column":4},"end":{"line":144,"column":7}},"76":{"start":{"line":145,"column":4},"end":{"line":145,"column":58}},"77":{"start":{"line":148,"column":22},"end":{"line":148,"column":40}},"78":{"start":{"line":149,"column":2},"end":{"line":159,"column":3}},"79":{"start":{"line":150,"column":19},"end":{"line":153,"column":6}},"80":{"start":{"line":154,"column":19},"end":{"line":154,"column":37}},"81":{"start":{"line":155,"column":4},"end":{"line":155,"column":70}},"82":{"start":{"line":156,"column":22},"end":{"line":156,"column":68}},"83":{"start":{"line":157,"column":24},"end":{"line":157,"column":84}},"84":{"start":{"line":158,"column":4},"end":{"line":158,"column":48}},"85":{"start":{"line":161,"column":20},"end":{"line":161,"column":44}},"86":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"87":{"start":{"line":163,"column":4},"end":{"line":163,"column":40}},"88":{"start":{"line":166,"column":23},"end":{"line":166,"column":40}},"89":{"start":{"line":167,"column":2},"end":{"line":170,"column":3}},"90":{"start":{"line":168,"column":4},"end":{"line":168,"column":104}},"91":{"start":{"line":169,"column":4},"end":{"line":169,"column":51}},"92":{"start":{"line":172,"column":23},"end":{"line":172,"column":40}},"93":{"start":{"line":173,"column":2},"end":{"line":176,"column":3}},"94":{"start":{"line":174,"column":4},"end":{"line":174,"column":104}},"95":{"start":{"line":175,"column":4},"end":{"line":175,"column":51}}},"fnMap":{"0":{"name":"_interopRequireDefault","decl":{"start":{"line":36,"column":9},"end":{"line":36,"column":31}},"loc":{"start":{"line":36,"column":37},"end":{"line":36,"column":95}},"line":36},"1":{"name":"_asyncToGenerator","decl":{"start":{"line":38,"column":9},"end":{"line":38,"column":26}},"loc":{"start":{"line":38,"column":31},"end":{"line":38,"column":458}},"line":38},"2":{"name":"(anonymous_2)","decl":{"start":{"line":38,"column":40},"end":{"line":38,"column":41}},"loc":{"start":{"line":38,"column":52},"end":{"line":38,"column":455}},"line":38},"3":{"name":"(anonymous_3)","decl":{"start":{"line":38,"column":110},"end":{"line":38,"column":111}},"loc":{"start":{"line":38,"column":137},"end":{"line":38,"column":451}},"line":38},"4":{"name":"step","decl":{"start":{"line":38,"column":148},"end":{"line":38,"column":152}},"loc":{"start":{"line":38,"column":163},"end":{"line":38,"column":428}},"line":38},"5":{"name":"(anonymous_5)","decl":{"start":{"line":38,"column":341},"end":{"line":38,"column":342}},"loc":{"start":{"line":38,"column":358},"end":{"line":38,"column":382}},"line":38},"6":{"name":"(anonymous_6)","decl":{"start":{"line":38,"column":384},"end":{"line":38,"column":385}},"loc":{"start":{"line":38,"column":399},"end":{"line":38,"column":422}},"line":38},"7":{"name":"createTagService","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":25}},"loc":{"start":{"line":46,"column":40},"end":{"line":53,"column":1}},"line":46},"8":{"name":"removeTagService","decl":{"start":{"line":55,"column":9},"end":{"line":55,"column":25}},"loc":{"start":{"line":55,"column":35},"end":{"line":57,"column":1}},"line":55},"9":{"name":"proxyStorageId","decl":{"start":{"line":59,"column":9},"end":{"line":59,"column":23}},"loc":{"start":{"line":59,"column":33},"end":{"line":68,"column":1}},"line":59},"10":{"name":"(anonymous_10)","decl":{"start":{"line":60,"column":9},"end":{"line":60,"column":10}},"loc":{"start":{"line":60,"column":15},"end":{"line":67,"column":3}},"line":60},"11":{"name":"createStorageService","decl":{"start":{"line":70,"column":9},"end":{"line":70,"column":29}},"loc":{"start":{"line":70,"column":57},"end":{"line":94,"column":1}},"line":70},"12":{"name":"(anonymous_12)","decl":{"start":{"line":83,"column":12},"end":{"line":83,"column":13}},"loc":{"start":{"line":83,"column":20},"end":{"line":83,"column":82}},"line":83},"13":{"name":"(anonymous_13)","decl":{"start":{"line":84,"column":14},"end":{"line":84,"column":15}},"loc":{"start":{"line":84,"column":22},"end":{"line":84,"column":87}},"line":84},"14":{"name":"(anonymous_14)","decl":{"start":{"line":88,"column":26},"end":{"line":88,"column":27}},"loc":{"start":{"line":88,"column":46},"end":{"line":91,"column":7}},"line":88},"15":{"name":"removeStorageService","decl":{"start":{"line":96,"column":9},"end":{"line":96,"column":29}},"loc":{"start":{"line":96,"column":39},"end":{"line":98,"column":1}},"line":96},"16":{"name":"createOrganisationService","decl":{"start":{"line":100,"column":9},"end":{"line":100,"column":34}},"loc":{"start":{"line":100,"column":49},"end":{"line":132,"column":1}},"line":100},"17":{"name":"(anonymous_17)","decl":{"start":{"line":111,"column":29},"end":{"line":111,"column":30}},"loc":{"start":{"line":111,"column":37},"end":{"line":115,"column":3}},"line":111},"18":{"name":"(anonymous_18)","decl":{"start":{"line":117,"column":28},"end":{"line":117,"column":29}},"loc":{"start":{"line":117,"column":44},"end":{"line":125,"column":3}},"line":117},"19":{"name":"(anonymous_19)","decl":{"start":{"line":126,"column":28},"end":{"line":126,"column":29}},"loc":{"start":{"line":126,"column":44},"end":{"line":131,"column":3}},"line":126},"20":{"name":"(anonymous_20)","decl":{"start":{"line":134,"column":36},"end":{"line":134,"column":37}},"loc":{"start":{"line":134,"column":49},"end":{"line":177,"column":1}},"line":134}},"branchMap":{"0":{"loc":{"start":{"line":36,"column":46},"end":{"line":36,"column":92}},"type":"cond-expr","locations":[{"start":{"line":36,"column":70},"end":{"line":36,"column":73}},{"start":{"line":36,"column":76},"end":{"line":36,"column":92}}],"line":36},"1":{"loc":{"start":{"line":36,"column":46},"end":{"line":36,"column":67}},"type":"binary-expr","locations":[{"start":{"line":36,"column":46},"end":{"line":36,"column":49}},{"start":{"line":36,"column":53},"end":{"line":36,"column":67}}],"line":36},"2":{"loc":{"start":{"line":38,"column":264},"end":{"line":38,"column":426}},"type":"if","locations":[{"start":{"line":38,"column":264},"end":{"line":38,"column":426}},{"start":{"line":38,"column":264},"end":{"line":38,"column":426}}],"line":38},"3":{"loc":{"start":{"line":46,"column":26},"end":{"line":46,"column":38}},"type":"default-arg","locations":[{"start":{"line":46,"column":36},"end":{"line":46,"column":38}}],"line":46},"4":{"loc":{"start":{"line":61,"column":4},"end":{"line":61,"column":28}},"type":"if","locations":[{"start":{"line":61,"column":4},"end":{"line":61,"column":28}},{"start":{"line":61,"column":4},"end":{"line":61,"column":28}}],"line":61},"5":{"loc":{"start":{"line":62,"column":20},"end":{"line":62,"column":93}},"type":"cond-expr","locations":[{"start":{"line":62,"column":50},"end":{"line":62,"column":72}},{"start":{"line":62,"column":75},"end":{"line":62,"column":93}}],"line":62},"6":{"loc":{"start":{"line":64,"column":4},"end":{"line":66,"column":28}},"type":"if","locations":[{"start":{"line":64,"column":4},"end":{"line":66,"column":28}},{"start":{"line":64,"column":4},"end":{"line":66,"column":28}}],"line":64},"7":{"loc":{"start":{"line":70,"column":43},"end":{"line":70,"column":55}},"type":"default-arg","locations":[{"start":{"line":70,"column":53},"end":{"line":70,"column":55}}],"line":70},"8":{"loc":{"start":{"line":83,"column":20},"end":{"line":83,"column":82}},"type":"cond-expr","locations":[{"start":{"line":83,"column":30},"end":{"line":83,"column":75}},{"start":{"line":83,"column":78},"end":{"line":83,"column":82}}],"line":83},"9":{"loc":{"start":{"line":84,"column":22},"end":{"line":84,"column":87}},"type":"cond-expr","locations":[{"start":{"line":84,"column":33},"end":{"line":84,"column":80}},{"start":{"line":84,"column":83},"end":{"line":84,"column":87}}],"line":84},"10":{"loc":{"start":{"line":100,"column":35},"end":{"line":100,"column":47}},"type":"default-arg","locations":[{"start":{"line":100,"column":45},"end":{"line":100,"column":47}}],"line":100},"11":{"loc":{"start":{"line":114,"column":4},"end":{"line":114,"column":87}},"type":"if","locations":[{"start":{"line":114,"column":4},"end":{"line":114,"column":87}},{"start":{"line":114,"column":4},"end":{"line":114,"column":87}}],"line":114},"12":{"loc":{"start":{"line":114,"column":8},"end":{"line":114,"column":41}},"type":"binary-expr","locations":[{"start":{"line":114,"column":8},"end":{"line":114,"column":26}},{"start":{"line":114,"column":30},"end":{"line":114,"column":41}}],"line":114},"13":{"loc":{"start":{"line":120,"column":4},"end":{"line":124,"column":5}},"type":"if","locations":[{"start":{"line":120,"column":4},"end":{"line":124,"column":5}},{"start":{"line":120,"column":4},"end":{"line":124,"column":5}}],"line":120},"14":{"loc":{"start":{"line":129,"column":4},"end":{"line":129,"column":34}},"type":"if","locations":[{"start":{"line":129,"column":4},"end":{"line":129,"column":34}},{"start":{"line":129,"column":4},"end":{"line":129,"column":34}}],"line":129},"15":{"loc":{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},"type":"if","locations":[{"start":{"line":138,"column":2},"end":{"line":146,"column":3}},{"start":{"line":138,"column":2},"end":{"line":146,"column":3}}],"line":138},"16":{"loc":{"start":{"line":149,"column":2},"end":{"line":159,"column":3}},"type":"if","locations":[{"start":{"line":149,"column":2},"end":{"line":159,"column":3}},{"start":{"line":149,"column":2},"end":{"line":159,"column":3}}],"line":149},"17":{"loc":{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},"type":"if","locations":[{"start":{"line":162,"column":2},"end":{"line":164,"column":3}},{"start":{"line":162,"column":2},"end":{"line":164,"column":3}}],"line":162},"18":{"loc":{"start":{"line":167,"column":2},"end":{"line":170,"column":3}},"type":"if","locations":[{"start":{"line":167,"column":2},"end":{"line":170,"column":3}},{"start":{"line":167,"column":2},"end":{"line":170,"column":3}}],"line":167},"19":{"loc":{"start":{"line":173,"column":2},"end":{"line":176,"column":3}},"type":"if","locations":[{"start":{"line":173,"column":2},"end":{"line":176,"column":3}},{"start":{"line":173,"column":2},"end":{"line":176,"column":3}}],"line":173}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":1,"17":1,"18":6,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":1,"34":1,"35":1,"36":1,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":1,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0},"f":{"0":6,"1":1,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0},"b":{"0":[0,6],"1":[6,6],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0],"8":[0,0],"9":[0,0],"10":[0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0]},"inputSourceMap":{"version":3,"sources":["index.js"],"names":["createTagService","removeTagService","createStorageService","removeStorageService","createOrganisationService","multipart","single","modelsPath","path","join","__dirname","servicesPath","debug","options","app","createService","Object","assign","proxyStorageId","context","id","prefix","_id","toString","startsWith","replace","blobService","proxyId","proxy","service","data","result","middlewares","before","req","res","next","feathers","file","events","orgsService","perspectives","usersService","getService","authorisationsService","on","user","organisations","groups","updateAbilities","organisation","orgMembersService","db","client","createOrganisationServices","removeOrganisationServices","authConfig","get","concat","authenticationProviders","storeConfig","aws","S3","accessKeyId","secretAccessKey","bucket","blobStore","Model","call","orgConfig","mailerConfig","pusherConfig"],"mappings":"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","file":"index.js","sourceRoot":"D:/Development/kalisio/kdk/core/api/services","sourcesContent":["import path from 'path'\r\nimport makeDebug from 'debug'\r\nimport multer from 'multer'\r\nimport aws from 'aws-sdk'\r\nimport store from 's3-blob-store'\r\nimport BlobService from 'feathers-blob'\r\nconst multipart = multer().single('file')\r\nconst modelsPath = path.join(__dirname, '..', 'models')\r\nconst servicesPath = path.join(__dirname, '..', 'services')\r\n\r\nconst debug = makeDebug('kdk:core:services')\r\n\r\nexport function createTagService (options = {}) {\r\n const app = this\r\n\r\n app.createService('tags', Object.assign({\r\n servicesPath,\r\n modelsPath\r\n }, options))\r\n}\r\n\r\nexport function removeTagService (options) {\r\n // TODO\r\n}\r\n\r\nfunction proxyStorageId (context) {\r\n return (id) => {\r\n if (!context) return id\r\n const prefix = (typeof context === 'object' ? context._id.toString() : context.toString()) + '/'\r\n // Check if context is already in ID, in this case we have to remove it on output\r\n if (id.startsWith(prefix)) return id.replace(prefix, '')\r\n // Otherwise we have to add it on input\r\n else return (prefix + id)\r\n }\r\n}\r\n\r\nexport function createStorageService (blobService, options = {}) {\r\n const app = this\r\n // Closure to keep track of context\r\n const proxyId = proxyStorageId(options.context)\r\n app.createService('storage', Object.assign({\r\n servicesPath,\r\n modelsPath,\r\n // Create a proxy on top of a Feathers blob service,\r\n // adding context as prefix on all keys on input\r\n // removing context as prefix on all keys as result\r\n proxy: {\r\n service: blobService,\r\n id: proxyId,\r\n data: (data) => (data.id ? Object.assign(data, { id: proxyId(data.id) }) : data),\r\n result: (data) => (data._id ? Object.assign(data, { _id: proxyId(data._id) }) : data)\r\n },\r\n // Add required middlewares to handle multipart form data\r\n middlewares: {\r\n before: [\r\n multipart,\r\n (req, res, next) => {\r\n req.feathers.file = req.file\r\n next()\r\n }\r\n ]\r\n }\r\n }, options))\r\n}\r\n\r\nexport function removeStorageService (options) {\r\n // TODO\r\n}\r\n\r\nexport function createOrganisationService (options = {}) {\r\n const app = this\r\n\r\n // Create services to manage MongoDB databases, organisations, etc.\r\n app.createService('databases', { servicesPath, events: ['created', 'updated', 'removed', 'patched'] }) // Internal use only, no events\r\n const orgsService = app.createService('organisations', { modelsPath, servicesPath, perspectives: ['billing'] })\r\n\r\n // Replication management\r\n const usersService = app.getService('users')\r\n const authorisationsService = app.getService('authorisations')\r\n // Ensure permissions are correctly distributed when replicated\r\n usersService.on('patched', user => {\r\n // Patching profile should not trigger abilities update since\r\n // it is a perspective and permissions are not available in this case\r\n if (user.organisations || user.groups) authorisationsService.updateAbilities(user)\r\n })\r\n // Ensure org services are correctly distributed when replicated\r\n orgsService.on('created', organisation => {\r\n // Check if already done (initiator)\r\n const orgMembersService = app.getService('members', organisation)\r\n if (!orgMembersService) {\r\n // Jump from infos/stats to real DB object\r\n const db = app.db.client.db(organisation._id.toString())\r\n orgsService.createOrganisationServices(organisation, db)\r\n }\r\n })\r\n orgsService.on('removed', organisation => {\r\n // Check if already done (initiator)\r\n const orgMembersService = app.getService('members', organisation)\r\n if (orgMembersService) return\r\n orgsService.removeOrganisationServices(organisation)\r\n })\r\n}\r\n\r\nexport default async function () {\r\n const app = this\r\n\r\n const authConfig = app.get('authentication')\r\n if (authConfig) {\r\n app.createService('users', {\r\n modelsPath,\r\n servicesPath,\r\n // Add required OAuth2 provider perspectives\r\n perspectives: ['profile'].concat(app.authenticationProviders)\r\n })\r\n app.createService('authorisations', { servicesPath })\r\n }\r\n\r\n const storeConfig = app.get('storage')\r\n if (storeConfig) {\r\n const client = new aws.S3({\r\n accessKeyId: storeConfig.accessKeyId,\r\n secretAccessKey: storeConfig.secretAccessKey\r\n })\r\n const bucket = storeConfig.bucket\r\n debug('S3 core storage client created with config ', storeConfig)\r\n const blobStore = store({ client, bucket })\r\n const blobService = BlobService({ Model: blobStore, id: '_id' })\r\n createStorageService.call(app, blobService)\r\n }\r\n\r\n const orgConfig = app.get('organisations')\r\n if (orgConfig) {\r\n createOrganisationService.call(app)\r\n }\r\n\r\n const mailerConfig = app.get('mailer')\r\n if (mailerConfig) {\r\n app.createService('mailer', { servicesPath, events: ['created', 'updated', 'removed', 'patched'] }) // Internal use only, no events\r\n app.createService('account', { servicesPath })\r\n }\r\n\r\n const pusherConfig = app.get('pusher')\r\n if (pusherConfig) {\r\n app.createService('pusher', { servicesPath, events: ['created', 'updated', 'removed', 'patched'] }) // Internal use only, no events\r\n app.createService('devices', { servicesPath })\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"b81c36deef11f1980783481547592f658e629b65","contentHash":"63c36e3cbf42b61e7178d96fc409d4277cb06cf53bfbf87be3f1b916eefbb3ee"},"D:\\Development\\kalisio\\kdk\\core\\api\\db.js":{"path":"D:\\Development\\kalisio\\kdk\\core\\api\\db.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":5,"column":3}},"1":{"start":{"line":6,"column":0},"end":{"line":6,"column":53}},"2":{"start":{"line":7,"column":0},"end":{"line":7,"column":32}},"3":{"start":{"line":8,"column":0},"end":{"line":8,"column":32}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":40}},"5":{"start":{"line":10,"column":0},"end":{"line":10,"column":36}},"6":{"start":{"line":11,"column":0},"end":{"line":11,"column":34}},"7":{"start":{"line":13,"column":14},"end":{"line":13,"column":31}},"8":{"start":{"line":15,"column":15},"end":{"line":15,"column":46}},"9":{"start":{"line":17,"column":14},"end":{"line":17,"column":31}},"10":{"start":{"line":19,"column":15},"end":{"line":19,"column":46}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":29}},"12":{"start":{"line":23,"column":14},"end":{"line":23,"column":44}},"13":{"start":{"line":25,"column":15},"end":{"line":25,"column":33}},"14":{"start":{"line":27,"column":14},"end":{"line":27,"column":43}},"15":{"start":{"line":29,"column":15},"end":{"line":29,"column":46}},"16":{"start":{"line":31,"column":39},"end":{"line":31,"column":93}},"17":{"start":{"line":33,"column":33},"end":{"line":33,"column":456}},"18":{"start":{"line":33,"column":64},"end":{"line":33,"column":89}},"19":{"start":{"line":33,"column":91},"end":{"line":33,"column":453}},"20":{"start":{"line":33,"column":165},"end":{"line":33,"column":263}},"21":{"start":{"line":33,"column":182},"end":{"line":33,"column":195}},"22":{"start":{"line":33,"column":209},"end":{"line":33,"column":219}},"23":{"start":{"line":33,"column":239},"end":{"line":33,"column":253}},"24":{"start":{"line":33,"column":254},"end":{"line":33,"column":261}},"25":{"start":{"line":33,"column":264},"end":{"line":33,"column":426}},"26":{"start":{"line":33,"column":281},"end":{"line":33,"column":296}},"27":{"start":{"line":33,"column":306},"end":{"line":33,"column":424}},"28":{"start":{"line":33,"column":360},"end":{"line":33,"column":380}},"29":{"start":{"line":33,"column":401},"end":{"line":33,"column":420}},"30":{"start":{"line":33,"column":429},"end":{"line":33,"column":449}},"31":{"start":{"line":35,"column":14},"end":{"line":35,"column":49}},"32":{"start":{"line":38,"column":0},"end":{"line":40,"column":2}},"33":{"start":{"line":39,"column":2},"end":{"line":39,"column":23}},"34":{"start":{"line":43,"column":2},"end":{"line":43,"column":93}},"35":{"start":{"line":47,"column":2},"end":{"line":47,"column":106}},"36":{"start":{"line":52,"column":2},"end":{"line":52,"column":123}},"37":{"start":{"line":52,"column":22},"end":{"line":52,"column":32}},"38":{"start":{"line":52,"column":37},"end":{"line":52,"column":123}},"39":{"start":{"line":52,"column":73},"end":{"line":52,"column":85}},"40":{"start":{"line":52,"column":90},"end":{"line":52,"column":123}},"41":{"start":{"line":57,"column":2},"end":{"line":82,"column":5}},"42":{"start":{"line":60,"column":4},"end":{"line":81,"column":5}},"43":{"start":{"line":61,"column":6},"end":{"line":70,"column":86}},"44":{"start":{"line":62,"column":8},"end":{"line":62,"column":37}},"45":{"start":{"line":63,"column":19},"end":{"line":63,"column":40}},"46":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"47":{"start":{"line":65,"column":10},"end":{"line":65,"column":27}},"48":{"start":{"line":67,"column":13},"end":{"line":70,"column":86}},"49":{"start":{"line":68,"column":8},"end":{"line":68,"column":43}},"50":{"start":{"line":69,"column":8},"end":{"line":69,"column":75}},"51":{"start":{"line":69,"column":38},"end":{"line":69,"column":56}},"52":{"start":{"line":69,"column":71},"end":{"line":69,"column":73}},"53":{"start":{"line":70,"column":13},"end":{"line":70,"column":86}},"54":{"start":{"line":70,"column":66},"end":{"line":70,"column":86}},"55":{"start":{"line":71,"column":11},"end":{"line":81,"column":5}},"56":{"start":{"line":72,"column":6},"end":{"line":72,"column":41}},"57":{"start":{"line":73,"column":18},"end":{"line":73,"column":70}},"58":{"start":{"line":73,"column":34},"end":{"line":73,"column":52}},"59":{"start":{"line":73,"column":67},"end":{"line":73,"column":69}},"60":{"start":{"line":75,"column":6},"end":{"line":75,"column":44}},"61":{"start":{"line":75,"column":26},"end":{"line":75,"column":44}},"62":{"start":{"line":76,"column":11},"end":{"line":81,"column":5}},"63":{"start":{"line":77,"column":6},"end":{"line":77,"column":50}},"64":{"start":{"line":77,"column":29},"end":{"line":77,"column":48}},"65":{"start":{"line":79,"column":11},"end":{"line":81,"column":5}},"66":{"start":{"line":80,"column":6},"end":{"line":80,"column":26}},"67":{"start":{"line":83,"column":2},"end":{"line":83,"column":16}},"68":{"start":{"line":88,"column":2},"end":{"line":93,"column":5}},"69":{"start":{"line":89,"column":15},"end":{"line":89,"column":69}},"70":{"start":{"line":90,"column":4},"end":{"line":92,"column":5}},"71":{"start":{"line":91,"column":6},"end":{"line":91,"column":49}},"72":{"start":{"line":98,"column":4},"end":{"line":103,"column":5}},"73":{"start":{"line":99,"column":6},"end":{"line":99,"column":21}},"74":{"start":{"line":100,"column":6},"end":{"line":100,"column":44}},"75":{"start":{"line":102,"column":6},"end":{"line":102,"column":107}},"76":{"start":{"line":104,"column":4},"end":{"line":104,"column":34}},"77":{"start":{"line":108,"column":4},"end":{"line":108,"column":25}},"78":{"start":{"line":112,"column":4},"end":{"line":115,"column":9}},"79":{"start":{"line":114,"column":6},"end":{"line":114,"column":18}},"80":{"start":{"line":121,"column":4},"end":{"line":121,"column":48}},"81":{"start":{"line":125,"column":4},"end":{"line":129,"column":5}},"82":{"start":{"line":128,"column":8},"end":{"line":128,"column":38}},"83":{"start":{"line":133,"column":0},"end":{"line":133,"column":28}},"84":{"start":{"line":136,"column":4},"end":{"line":136,"column":15}},"85":{"start":{"line":137,"column":4},"end":{"line":144,"column":5}},"86":{"start":{"line":139,"column":6},"end":{"line":139,"column":38}},"87":{"start":{"line":141,"column":6},"end":{"line":141,"column":58}},"88":{"start":{"line":143,"column":6},"end":{"line":143,"column":105}},"89":{"start":{"line":150,"column":26},"end":{"line":150,"column":50}},"90":{"start":{"line":151,"column":27},"end":{"line":151,"column":43}},"91":{"start":{"line":152,"column":4},"end":{"line":152,"column":128}},"92":{"start":{"line":152,"column":31},"end":{"line":152,"column":69}},"93":{"start":{"line":152,"column":74},"end":{"line":152,"column":128}},"94":{"start":{"line":154,"column":4},"end":{"line":154,"column":18}},"95":{"start":{"line":158,"column":16},"end":{"line":158,"column":20}},"96":{"start":{"line":160,"column":4},"end":{"line":184,"column":9}},"97":{"start":{"line":161,"column":6},"end":{"line":183,"column":7}},"98":{"start":{"line":163,"column":8},"end":{"line":163,"column":73}},"99":{"start":{"line":164,"column":8},"end":{"line":164,"column":77}},"100":{"start":{"line":165,"column":8},"end":{"line":165,"column":58}},"101":{"start":{"line":167,"column":8},"end":{"line":167,"column":28}},"102":{"start":{"line":168,"column":8},"end":{"line":168,"column":24}},"103":{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},"104":{"start":{"line":170,"column":26},"end":{"line":170,"column":67}},"105":{"start":{"line":171,"column":10},"end":{"line":176,"column":11}},"106":{"start":{"line":171,"column":23},"end":{"line":171,"column":24}},"107":{"start":{"line":172,"column":27},"end":{"line":172,"column":37}},"108":{"start":{"line":173,"column":26},"end":{"line":173,"column":52}},"109":{"start":{"line":174,"column":12},"end":{"line":174,"column":79}},"110":{"start":{"line":175,"column":12},"end":{"line":175,"column":92}},"111":{"start":{"line":177,"column":10},"end":{"line":177,"column":88}},"112":{"start":{"line":177,"column":34},"end":{"line":177,"column":88}},"113":{"start":{"line":179,"column":8},"end":{"line":179,"column":25}},"114":{"start":{"line":181,"column":8},"end":{"line":181,"column":129}},"115":{"start":{"line":182,"column":8},"end":{"line":182,"column":20}},"116":{"start":{"line":188,"column":17},"end":{"line":188,"column":21}},"117":{"start":{"line":190,"column":4},"end":{"line":210,"column":9}},"118":{"start":{"line":191,"column":6},"end":{"line":209,"column":7}},"119":{"start":{"line":192,"column":8},"end":{"line":192,"column":37}},"120":{"start":{"line":193,"column":8},"end":{"line":193,"column":64}},"121":{"start":{"line":194,"column":8},"end":{"line":194,"column":30}},"122":{"start":{"line":195,"column":8},"end":{"line":195,"column":26}},"123":{"start":{"line":196,"column":8},"end":{"line":205,"column":9}},"124":{"start":{"line":197,"column":26},"end":{"line":197,"column":68}},"125":{"start":{"line":198,"column":26},"end":{"line":198,"column":66}},"126":{"start":{"line":199,"column":10},"end":{"line":201,"column":11}},"127":{"start":{"line":199,"column":23},"end":{"line":199,"column":24}},"128":{"start":{"line":200,"column":12},"end":{"line":200,"column":37}},"129":{"start":{"line":202,"column":10},"end":{"line":202,"column":31}},"130":{"start":{"line":203,"column":10},"end":{"line":203,"column":27}},"131":{"start":{"line":204,"column":10},"end":{"line":204,"column":94}},"132":{"start":{"line":204,"column":34},"end":{"line":204,"column":94}},"133":{"start":{"line":207,"column":8},"end":{"line":207,"column":103}},"134":{"start":{"line":208,"column":8},"end":{"line":208,"column":20}},"135":{"start":{"line":214,"column":4},"end":{"line":214,"column":24}},"136":{"start":{"line":218,"column":4},"end":{"line":218,"column":20}},"137":{"start":{"line":222,"column":4},"end":{"line":222,"column":49}},"138":{"start":{"line":226,"column":4},"end":{"line":229,"column":5}},"139":{"start":{"line":228,"column":6},"end":{"line":228,"column":68}},"140":{"start":{"line":230,"column":4},"end":{"line":230,"column":39}},"141":{"start":{"line":233,"column":0},"end":{"line":233,"column":38}}},"fnMap":{"0":{"name":"_interopRequireDefault","decl":{"start":{"line":31,"column":9},"end":{"line":31,"column":31}},"loc":{"start":{"line":31,"column":37},"end":{"line":31,"column":95}},"line":31},"1":{"name":"_asyncToGenerator","decl":{"start":{"line":33,"column":9},"end":{"line":33,"column":26}},"loc":{"start":{"line":33,"column":31},"end":{"line":33,"column":458}},"line":33},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":40},"end":{"line":33,"column":41}},"loc":{"start":{"line":33,"column":52},"end":{"line":33,"column":455}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":33,"column":110},"end":{"line":33,"column":111}},"loc":{"start":{"line":33,"column":137},"end":{"line":33,"column":451}},"line":33},"4":{"name":"step","decl":{"start":{"line":33,"column":148},"end":{"line":33,"column":152}},"loc":{"start":{"line":33,"column":163},"end":{"line":33,"column":428}},"line":33},"5":{"name":"(anonymous_5)","decl":{"start":{"line":33,"column":341},"end":{"line":33,"column":342}},"loc":{"start":{"line":33,"column":358},"end":{"line":33,"column":382}},"line":33},"6":{"name":"(anonymous_6)","decl":{"start":{"line":33,"column":384},"end":{"line":33,"column":385}},"loc":{"start":{"line":33,"column":399},"end":{"line":33,"column":422}},"line":33},"7":{"name":"(anonymous_7)","decl":{"start":{"line":38,"column":56},"end":{"line":38,"column":57}},"loc":{"start":{"line":38,"column":68},"end":{"line":40,"column":1}},"line":38},"8":{"name":"isObjectID","decl":{"start":{"line":42,"column":9},"end":{"line":42,"column":19}},"loc":{"start":{"line":42,"column":24},"end":{"line":44,"column":1}},"line":42},"9":{"name":"idToString","decl":{"start":{"line":46,"column":9},"end":{"line":46,"column":19}},"loc":{"start":{"line":46,"column":24},"end":{"line":48,"column":1}},"line":46},"10":{"name":"createObjectID","decl":{"start":{"line":50,"column":9},"end":{"line":50,"column":23}},"loc":{"start":{"line":50,"column":28},"end":{"line":53,"column":1}},"line":50},"11":{"name":"objectifyIDs","decl":{"start":{"line":56,"column":9},"end":{"line":56,"column":21}},"loc":{"start":{"line":56,"column":30},"end":{"line":84,"column":1}},"line":56},"12":{"name":"(anonymous_12)","decl":{"start":{"line":57,"column":34},"end":{"line":57,"column":35}},"loc":{"start":{"line":57,"column":50},"end":{"line":82,"column":3}},"line":57},"13":{"name":"(anonymous_13)","decl":{"start":{"line":69,"column":32},"end":{"line":69,"column":33}},"loc":{"start":{"line":69,"column":38},"end":{"line":69,"column":56}},"line":69},"14":{"name":"(anonymous_14)","decl":{"start":{"line":69,"column":65},"end":{"line":69,"column":66}},"loc":{"start":{"line":69,"column":71},"end":{"line":69,"column":73}},"line":69},"15":{"name":"(anonymous_15)","decl":{"start":{"line":73,"column":28},"end":{"line":73,"column":29}},"loc":{"start":{"line":73,"column":34},"end":{"line":73,"column":52}},"line":73},"16":{"name":"(anonymous_16)","decl":{"start":{"line":73,"column":61},"end":{"line":73,"column":62}},"loc":{"start":{"line":73,"column":67},"end":{"line":73,"column":69}},"line":73},"17":{"name":"(anonymous_17)","decl":{"start":{"line":77,"column":20},"end":{"line":77,"column":21}},"loc":{"start":{"line":77,"column":29},"end":{"line":77,"column":48}},"line":77},"18":{"name":"toObjectIDs","decl":{"start":{"line":87,"column":9},"end":{"line":87,"column":20}},"loc":{"start":{"line":87,"column":41},"end":{"line":94,"column":1}},"line":87},"19":{"name":"(anonymous_19)","decl":{"start":{"line":88,"column":21},"end":{"line":88,"column":22}},"loc":{"start":{"line":88,"column":33},"end":{"line":93,"column":3}},"line":88},"20":{"name":"(anonymous_20)","decl":{"start":{"line":97,"column":2},"end":{"line":97,"column":3}},"loc":{"start":{"line":97,"column":19},"end":{"line":105,"column":3}},"line":97},"21":{"name":"(anonymous_21)","decl":{"start":{"line":107,"column":2},"end":{"line":107,"column":3}},"loc":{"start":{"line":107,"column":16},"end":{"line":109,"column":3}},"line":107},"22":{"name":"(anonymous_22)","decl":{"start":{"line":111,"column":2},"end":{"line":111,"column":3}},"loc":{"start":{"line":111,"column":12},"end":{"line":116,"column":3}},"line":111},"23":{"name":"(anonymous_23)","decl":{"start":{"line":112,"column":29},"end":{"line":112,"column":30}},"loc":{"start":{"line":112,"column":42},"end":{"line":115,"column":5}},"line":112},"24":{"name":"(anonymous_24)","decl":{"start":{"line":118,"column":2},"end":{"line":118,"column":3}},"loc":{"start":{"line":118,"column":15},"end":{"line":122,"column":3}},"line":118},"25":{"name":"(anonymous_25)","decl":{"start":{"line":121,"column":29},"end":{"line":121,"column":30}},"loc":{"start":{"line":121,"column":42},"end":{"line":121,"column":44}},"line":121},"26":{"name":"(anonymous_26)","decl":{"start":{"line":124,"column":2},"end":{"line":124,"column":3}},"loc":{"start":{"line":124,"column":21},"end":{"line":130,"column":3}},"line":124},"27":{"name":"(anonymous_27)","decl":{"start":{"line":135,"column":2},"end":{"line":135,"column":3}},"loc":{"start":{"line":135,"column":19},"end":{"line":145,"column":3}},"line":135},"28":{"name":"(anonymous_28)","decl":{"start":{"line":147,"column":2},"end":{"line":147,"column":3}},"loc":{"start":{"line":147,"column":20},"end":{"line":155,"column":3}},"line":147},"29":{"name":"(anonymous_29)","decl":{"start":{"line":157,"column":2},"end":{"line":157,"column":3}},"loc":{"start":{"line":157,"column":12},"end":{"line":185,"column":3}},"line":157},"30":{"name":"(anonymous_30)","decl":{"start":{"line":160,"column":29},"end":{"line":160,"column":30}},"loc":{"start":{"line":160,"column":42},"end":{"line":184,"column":5}},"line":160},"31":{"name":"(anonymous_31)","decl":{"start":{"line":187,"column":2},"end":{"line":187,"column":3}},"loc":{"start":{"line":187,"column":15},"end":{"line":211,"column":3}},"line":187},"32":{"name":"(anonymous_32)","decl":{"start":{"line":190,"column":29},"end":{"line":190,"column":30}},"loc":{"start":{"line":190,"column":42},"end":{"line":210,"column":5}},"line":190},"33":{"name":"(anonymous_33)","decl":{"start":{"line":213,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":213,"column":15},"end":{"line":215,"column":3}},"line":213},"34":{"name":"(anonymous_34)","decl":{"start":{"line":217,"column":2},"end":{"line":217,"column":3}},"loc":{"start":{"line":217,"column":17},"end":{"line":219,"column":3}},"line":217},"35":{"name":"(anonymous_35)","decl":{"start":{"line":221,"column":2},"end":{"line":221,"column":3}},"loc":{"start":{"line":221,"column":13},"end":{"line":223,"column":3}},"line":221},"36":{"name":"(anonymous_36)","decl":{"start":{"line":225,"column":2},"end":{"line":225,"column":3}},"loc":{"start":{"line":225,"column":27},"end":{"line":231,"column":3}},"line":225}},"branchMap":{"0":{"loc":{"start":{"line":31,"column":46},"end":{"line":31,"column":92}},"type":"cond-expr","locations":[{"start":{"line":31,"column":70},"end":{"line":31,"column":73}},{"start":{"line":31,"column":76},"end":{"line":31,"column":92}}],"line":31},"1":{"loc":{"start":{"line":31,"column":46},"end":{"line":31,"column":67}},"type":"binary-expr","locations":[{"start":{"line":31,"column":46},"end":{"line":31,"column":49}},{"start":{"line":31,"column":53},"end":{"line":31,"column":67}}],"line":31},"2":{"loc":{"start":{"line":33,"column":264},"end":{"line":33,"column":426}},"type":"if","locations":[{"start":{"line":33,"column":264},"end":{"line":33,"column":426}},{"start":{"line":33,"column":264},"end":{"line":33,"column":426}}],"line":33},"3":{"loc":{"start":{"line":43,"column":9},"end":{"line":43,"column":92}},"type":"binary-expr","locations":[{"start":{"line":43,"column":9},"end":{"line":43,"column":11}},{"start":{"line":43,"column":15},"end":{"line":43,"column":51}},{"start":{"line":43,"column":55},"end":{"line":43,"column":92}}],"line":43},"4":{"loc":{"start":{"line":47,"column":9},"end":{"line":47,"column":105}},"type":"cond-expr","locations":[{"start":{"line":47,"column":34},"end":{"line":47,"column":100}},{"start":{"line":47,"column":103},"end":{"line":47,"column":105}}],"line":47},"5":{"loc":{"start":{"line":47,"column":34},"end":{"line":47,"column":100}},"type":"cond-expr","locations":[{"start":{"line":47,"column":66},"end":{"line":47,"column":79}},{"start":{"line":47,"column":82},"end":{"line":47,"column":100}}],"line":47},"6":{"loc":{"start":{"line":52,"column":2},"end":{"line":52,"column":123}},"type":"if","locations":[{"start":{"line":52,"column":2},"end":{"line":52,"column":123}},{"start":{"line":52,"column":2},"end":{"line":52,"column":123}}],"line":52},"7":{"loc":{"start":{"line":52,"column":37},"end":{"line":52,"column":123}},"type":"if","locations":[{"start":{"line":52,"column":37},"end":{"line":52,"column":123}},{"start":{"line":52,"column":37},"end":{"line":52,"column":123}}],"line":52},"8":{"loc":{"start":{"line":60,"column":4},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":60,"column":4},"end":{"line":81,"column":5}},{"start":{"line":60,"column":4},"end":{"line":81,"column":5}}],"line":60},"9":{"loc":{"start":{"line":60,"column":8},"end":{"line":60,"column":62}},"type":"binary-expr","locations":[{"start":{"line":60,"column":8},"end":{"line":60,"column":21}},{"start":{"line":60,"column":25},"end":{"line":60,"column":45}},{"start":{"line":60,"column":49},"end":{"line":60,"column":62}}],"line":60},"10":{"loc":{"start":{"line":61,"column":6},"end":{"line":70,"column":86}},"type":"if","locations":[{"start":{"line":61,"column":6},"end":{"line":70,"column":86}},{"start":{"line":61,"column":6},"end":{"line":70,"column":86}}],"line":61},"11":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},{"start":{"line":64,"column":8},"end":{"line":66,"column":9}}],"line":64},"12":{"loc":{"start":{"line":67,"column":13},"end":{"line":70,"column":86}},"type":"if","locations":[{"start":{"line":67,"column":13},"end":{"line":70,"column":86}},{"start":{"line":67,"column":13},"end":{"line":70,"column":86}}],"line":67},"13":{"loc":{"start":{"line":70,"column":13},"end":{"line":70,"column":86}},"type":"if","locations":[{"start":{"line":70,"column":13},"end":{"line":70,"column":86}},{"start":{"line":70,"column":13},"end":{"line":70,"column":86}}],"line":70},"14":{"loc":{"start":{"line":70,"column":17},"end":{"line":70,"column":64}},"type":"binary-expr","locations":[{"start":{"line":70,"column":17},"end":{"line":70,"column":42}},{"start":{"line":70,"column":46},"end":{"line":70,"column":64}}],"line":70},"15":{"loc":{"start":{"line":71,"column":11},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":71,"column":11},"end":{"line":81,"column":5}},{"start":{"line":71,"column":11},"end":{"line":81,"column":5}}],"line":71},"16":{"loc":{"start":{"line":75,"column":6},"end":{"line":75,"column":44}},"type":"if","locations":[{"start":{"line":75,"column":6},"end":{"line":75,"column":44}},{"start":{"line":75,"column":6},"end":{"line":75,"column":44}}],"line":75},"17":{"loc":{"start":{"line":76,"column":11},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":76,"column":11},"end":{"line":81,"column":5}},{"start":{"line":76,"column":11},"end":{"line":81,"column":5}}],"line":76},"18":{"loc":{"start":{"line":79,"column":11},"end":{"line":81,"column":5}},"type":"if","locations":[{"start":{"line":79,"column":11},"end":{"line":81,"column":5}},{"start":{"line":79,"column":11},"end":{"line":81,"column":5}}],"line":79},"19":{"loc":{"start":{"line":79,"column":15},"end":{"line":79,"column":62}},"type":"binary-expr","locations":[{"start":{"line":79,"column":15},"end":{"line":79,"column":40}},{"start":{"line":79,"column":44},"end":{"line":79,"column":62}}],"line":79},"20":{"loc":{"start":{"line":90,"column":4},"end":{"line":92,"column":5}},"type":"if","locations":[{"start":{"line":90,"column":4},"end":{"line":92,"column":5}},{"start":{"line":90,"column":4},"end":{"line":92,"column":5}}],"line":90},"21":{"loc":{"start":{"line":125,"column":4},"end":{"line":129,"column":5}},"type":"switch","locations":[{"start":{"line":126,"column":6},"end":{"line":126,"column":21}},{"start":{"line":127,"column":6},"end":{"line":128,"column":38}}],"line":125},"22":{"loc":{"start":{"line":141,"column":26},"end":{"line":141,"column":57}},"type":"binary-expr","locations":[{"start":{"line":141,"column":26},"end":{"line":141,"column":51}},{"start":{"line":141,"column":55},"end":{"line":141,"column":57}}],"line":141},"23":{"loc":{"start":{"line":152,"column":4},"end":{"line":152,"column":128}},"type":"if","locations":[{"start":{"line":152,"column":4},"end":{"line":152,"column":128}},{"start":{"line":152,"column":4},"end":{"line":152,"column":128}}],"line":152},"24":{"loc":{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},"type":"if","locations":[{"start":{"line":169,"column":8},"end":{"line":178,"column":9}},{"start":{"line":169,"column":8},"end":{"line":178,"column":9}}],"line":169},"25":{"loc":{"start":{"line":177,"column":10},"end":{"line":177,"column":88}},"type":"if","locations":[{"start":{"line":177,"column":10},"end":{"line":177,"column":88}},{"start":{"line":177,"column":10},"end":{"line":177,"column":88}}],"line":177},"26":{"loc":{"start":{"line":196,"column":8},"end":{"line":205,"column":9}},"type":"if","locations":[{"start":{"line":196,"column":8},"end":{"line":205,"column":9}},{"start":{"line":196,"column":8},"end":{"line":205,"column":9}}],"line":196},"27":{"loc":{"start":{"line":204,"column":10},"end":{"line":204,"column":94}},"type":"if","locations":[{"start":{"line":204,"column":10},"end":{"line":204,"column":94}},{"start":{"line":204,"column":10},"end":{"line":204,"column":94}}],"line":204},"28":{"loc":{"start":{"line":222,"column":11},"end":{"line":222,"column":48}},"type":"cond-expr","locations":[{"start":{"line":222,"column":20},"end":{"line":222,"column":37}},{"start":{"line":222,"column":40},"end":{"line":222,"column":48}}],"line":222},"29":{"loc":{"start":{"line":226,"column":4},"end":{"line":229,"column":5}},"type":"if","locations":[{"start":{"line":226,"column":4},"end":{"line":229,"column":5}},{"start":{"line":226,"column":4},"end":{"line":229,"column":5}}],"line":226}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":1,"15":1,"16":4,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":1,"32":1,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":1,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":1},"f":{"0":4,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0},"b":{"0":[0,4],"1":[4,4],"2":[0,0],"3":[0,0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0]},"inputSourceMap":{"version":3,"sources":["db.js"],"names":["isObjectID","idToString","createObjectID","objectifyIDs","toObjectIDs","debug","Object","getPrototypeOf","toBSON","toDate","id","toHexString","getTimestamp","ObjectID","isValid","toString","_id","object","_","forOwn","value","key","endsWith","Array","isArray","map","filter","includes","ids","length","forEach","entry","properties","property","get","set","Database","constructor","app","_adapter","adapter","error","errors","GeneralError","_collections","Map","connect","disconnect","create","MongoDatabase","_dbUrl","url","_secondaries","secondaries","connectionDb","dbName","indexOfDBName","lastIndexOf","indexOfOptions","indexOf","substring","_client","MongoClient","_db","db","_clients","_dbs","dbNames","keys","i","dbUrl","logger","close","clients","values","client","instance","collection","name","has"],"mappings":"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","file":"db.js","sourceRoot":"D:/Development/kalisio/kdk/core/api","sourcesContent":["import _ from 'lodash'\r\nimport moment from 'moment'\r\nimport makeDebug from 'debug'\r\nimport { MongoClient, ObjectID } from 'mongodb'\r\nimport errors from '@feathersjs/errors'\r\n\r\nconst debug = makeDebug('kdk:core:db')\r\n\r\n// This ensure moment objects are correctly serialized in MongoDB\r\nObject.getPrototypeOf(moment()).toBSON = function () {\r\n return this.toDate()\r\n}\r\n\r\nexport function isObjectID (id) {\r\n return id && (typeof id.toHexString === 'function') && (typeof id.getTimestamp === 'function')\r\n}\r\n\r\nexport function idToString (id) {\r\n return (typeof id === 'object'\r\n ? (ObjectID.isValid(id)\r\n ? id.toString()\r\n : idToString(id._id))\r\n : id)\r\n}\r\n\r\nexport function createObjectID (id) {\r\n // This ensure it works even if id is already an ObjectID\r\n if (isObjectID(id)) return id\r\n else if (!ObjectID.isValid(id)) return null\r\n else return new ObjectID(id)\r\n}\r\n\r\n// Utility function used to convert from string to MongoDB IDs as required eg by queries\r\nexport function objectifyIDs (object) {\r\n _.forOwn(object, (value, key) => {\r\n // Process current attributes or recurse\r\n // Take care to nested fields like 'field._id'\r\n if (key === '_id' || key.endsWith('._id') || key === '$ne') {\r\n if (typeof value === 'string') {\r\n debug('Objectify ID ' + key)\r\n const id = createObjectID(value)\r\n if (id) {\r\n object[key] = id\r\n }\r\n } else if (Array.isArray(value)) {\r\n debug('Objectify ID array ' + key)\r\n object[key] = value.map(id => createObjectID(id)).filter(id => id)\r\n } else if ((typeof value === 'object') && !isObjectID(value)) objectifyIDs(value) // Avoid jumping inside an already transformed ObjectID\r\n } else if (['$in', '$nin'].includes(key)) {\r\n debug('Objectify ID array ' + key)\r\n const ids = value.map(id => createObjectID(id)).filter(id => id)\r\n // Take care that $in/$nin can be used for others types than Object IDs so conversion might fail\r\n if (ids.length > 0) object[key] = ids\r\n } else if (key === '$or') {\r\n value.forEach(entry => objectifyIDs(entry))\r\n // Avoid jumping inside an already transformed ObjectID\r\n } else if ((typeof value === 'object') && !isObjectID(value)) {\r\n objectifyIDs(value)\r\n }\r\n })\r\n return object\r\n}\r\n\r\n// Utility function used to convert from string to MongoDB IDs a fixed set of properties on a given object\r\nexport function toObjectIDs (object, properties) {\r\n properties.forEach(property => {\r\n const id = createObjectID(_.get(object, property))\r\n if (id) {\r\n _.set(object, property, id)\r\n }\r\n })\r\n}\r\n\r\nexport class Database {\r\n constructor (app) {\r\n try {\r\n this.app = app\r\n this._adapter = app.get('db').adapter\r\n } catch (error) {\r\n throw new errors.GeneralError('Cannot find database adapter configuration in application')\r\n }\r\n this._collections = new Map()\r\n }\r\n\r\n get adapter () {\r\n return this._adapter\r\n }\r\n\r\n async connect () {\r\n // Default implementation\r\n return null\r\n }\r\n\r\n async disconnect () {\r\n // Default implementation\r\n }\r\n\r\n static create (app) {\r\n switch (this.adapter) {\r\n case 'mongodb':\r\n default:\r\n return new MongoDatabase(app)\r\n }\r\n }\r\n}\r\n\r\nexport class MongoDatabase extends Database {\r\n constructor (app) {\r\n super(app)\r\n try {\r\n // Primary DB\r\n this._dbUrl = app.get('db').url\r\n // Secondaries if any\r\n this._secondaries = app.get('db').secondaries || {}\r\n } catch (error) {\r\n throw new errors.GeneralError('Cannot find database connection settings in application')\r\n }\r\n }\r\n\r\n connectionDb (url) {\r\n // Extract database name from url. Need to remove the connections options if any\r\n let dbName\r\n const indexOfDBName = url.lastIndexOf('/') + 1\r\n const indexOfOptions = url.indexOf('?')\r\n if (indexOfOptions === -1) dbName = url.substring(indexOfDBName)\r\n else dbName = url.substring(indexOfDBName, indexOfOptions)\r\n\r\n return dbName\r\n }\r\n\r\n async connect () {\r\n try {\r\n // Connect to primary\r\n this._client = await MongoClient.connect(this._dbUrl)\r\n this._db = await this._client.db(this.connectionDb(this._dbUrl))\r\n debug('Connected to primary DB ' + this.adapter)\r\n // Then secondaries if any\r\n this._clients = {}\r\n this._dbs = {}\r\n if (this._secondaries) {\r\n const dbNames = _.keys(this._secondaries)\r\n for (let i = 0; i < dbNames.length; i++) {\r\n const dbName = dbNames[i]\r\n const dbUrl = this._secondaries[dbName]\r\n this._clients[dbName] = await MongoClient.connect(dbUrl)\r\n this._dbs[dbName] = await this._clients[dbName].db(this.connectionDb(dbUrl))\r\n }\r\n if (dbNames.length > 0) debug('Connected to secondaries DB ' + this.adapter)\r\n }\r\n return this._db\r\n } catch (error) {\r\n this.app.logger.error('Could not connect to ' + this.adapter + ' database(s), please check your configuration', error)\r\n throw error\r\n }\r\n }\r\n\r\n async disconnect () {\r\n try {\r\n await this._client.close()\r\n debug('Disconnected from primary DB ' + this.adapter)\r\n this._client = null\r\n this._db = null\r\n if (this._secondaries) {\r\n const dbNames = _.keys(this._secondaries)\r\n const clients = _.values(this._clients)\r\n for (let i = 0; i < clients.length; i++) {\r\n await clients[i].close()\r\n }\r\n this._clients = {}\r\n this._dbs = {}\r\n if (dbNames.length > 0) debug('Disconnected from secondaries DB ' + this.adapter)\r\n }\r\n } catch (error) {\r\n this.app.logger.error('Could not disconnect from ' + this.adapter + ' database(s)', error)\r\n throw error\r\n }\r\n }\r\n\r\n get client () {\r\n return this._client\r\n }\r\n\r\n get instance () {\r\n return this._db\r\n }\r\n\r\n db (dbName) {\r\n return (dbName ? this._dbs[dbName] : this._db)\r\n }\r\n\r\n collection (name, dbName) {\r\n if (!this._collections.has(name)) {\r\n // Get collection from secondary or primary DB\r\n this._collections.set(name, this.db(dbName).collection(name))\r\n }\r\n return this._collections.get(name)\r\n }\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9eb8f638478c4012d9fbc69c18a16688042877e9","contentHash":"8b184c54121ef187c9d755b76d1b250be954b89e9cbe9402b45b0c2a6a726821"},"D:\\Development\\kalisio\\kdk\\core\\api\\application.js":{"path":"D:\\Development\\kalisio\\kdk\\core\\api\\application.js","statementMap":{"0":{"start":{"line":3,"column":0},"end":{"line":5,"column":3}},"1":{"start":{"line":6,"column":0},"end":{"line":6,"column":40}},"2":{"start":{"line":7,"column":0},"end":{"line":7,"column":44}},"3":{"start":{"line":8,"column":0},"end":{"line":8,"column":48}},"4":{"start":{"line":9,"column":0},"end":{"line":9,"column":38}},"5":{"start":{"line":10,"column":0},"end":{"line":10,"column":38}},"6":{"start":{"line":11,"column":0},"end":{"line":11,"column":26}},"7":{"start":{"line":13,"column":12},"end":{"line":13,"column":27}},"8":{"start":{"line":15,"column":13},"end":{"line":15,"column":42}},"9":{"start":{"line":17,"column":11},"end":{"line":17,"column":25}},"10":{"start":{"line":19,"column":12},"end":{"line":19,"column":40}},"11":{"start":{"line":21,"column":13},"end":{"line":21,"column":29}},"12":{"start":{"line":23,"column":14},"end":{"line":23,"column":44}},"13":{"start":{"line":25,"column":15},"end":{"line":25,"column":33}},"14":{"start":{"line":27,"column":16},"end":{"line":27,"column":48}},"15":{"start":{"line":29,"column":14},"end":{"line":29,"column":31}},"16":{"start":{"line":31,"column":15},"end":{"line":31,"column":46}},"17":{"start":{"line":33,"column":12},"end":{"line":33,"column":27}},"18":{"start":{"line":35,"column":13},"end":{"line":35,"column":42}},"19":{"start":{"line":37,"column":0},"end":{"line":37,"column":37}},"20":{"start":{"line":39,"column":19},"end":{"line":39,"column":41}},"21":{"start":{"line":41,"column":20},"end":{"line":41,"column":56}},"22":{"start":{"line":43,"column":12},"end":{"line":43,"column":27}},"23":{"start":{"line":45,"column":13},"end":{"line":45,"column":42}},"24":{"start":{"line":47,"column":14},"end":{"line":47,"column":31}},"25":{"start":{"line":49,"column":15},"end":{"line":49,"column":46}},"26":{"start":{"line":51,"column":18},"end":{"line":51,"column":40}},"27":{"start":{"line":53,"column":19},"end":{"line":53,"column":54}},"28":{"start":{"line":55,"column":15},"end":{"line":55,"column":33}},"29":{"start":{"line":57,"column":24},"end":{"line":57,"column":53}},"30":{"start":{"line":59,"column":25},"end":{"line":59,"column":66}},"31":{"start":{"line":61,"column":16},"end":{"line":61,"column":47}},"32":{"start":{"line":63,"column":17},"end":{"line":63,"column":50}},"33":{"start":{"line":65,"column":21},"end":{"line":65,"column":57}},"34":{"start":{"line":67,"column":22},"end":{"line":67,"column":60}},"35":{"start":{"line":69,"column":14},"end":{"line":69,"column":43}},"36":{"start":{"line":71,"column":15},"end":{"line":71,"column":45}},"37":{"start":{"line":73,"column":16},"end":{"line":73,"column":48}},"38":{"start":{"line":75,"column":12},"end":{"line":75,"column":47}},"39":{"start":{"line":77,"column":13},"end":{"line":77,"column":42}},"40":{"start":{"line":79,"column":16},"end":{"line":79,"column":47}},"41":{"start":{"line":81,"column":17},"end":{"line":81,"column":50}},"42":{"start":{"line":83,"column":15},"end":{"line":83,"column":33}},"43":{"start":{"line":85,"column":10},"end":{"line":85,"column":25}},"44":{"start":{"line":87,"column":22},"end":{"line":87,"column":49}},"45":{"start":{"line":89,"column":23},"end":{"line":89,"column":62}},"46":{"start":{"line":91,"column":39},"end":{"line":91,"column":93}},"47":{"start":{"line":93,"column":33},"end":{"line":93,"column":456}},"48":{"start":{"line":93,"column":64},"end":{"line":93,"column":89}},"49":{"start":{"line":93,"column":91},"end":{"line":93,"column":453}},"50":{"start":{"line":93,"column":165},"end":{"line":93,"column":263}},"51":{"start":{"line":93,"column":182},"end":{"line":93,"column":195}},"52":{"start":{"line":93,"column":209},"end":{"line":93,"column":219}},"53":{"start":{"line":93,"column":239},"end":{"line":93,"column":253}},"54":{"start":{"line":93,"column":254},"end":{"line":93,"column":261}},"55":{"start":{"line":93,"column":264},"end":{"line":93,"column":426}},"56":{"start":{"line":93,"column":281},"end":{"line":93,"column":296}},"57":{"start":{"line":93,"column":306},"end":{"line":93,"column":424}},"58":{"start":{"line":93,"column":360},"end":{"line":93,"column":380}},"59":{"start":{"line":93,"column":401},"end":{"line":93,"column":420}},"60":{"start":{"line":93,"column":429},"end":{"line":93,"column":449}},"61":{"start":{"line":95,"column":14},"end":{"line":95,"column":58}},"62":{"start":{"line":96,"column":21},"end":{"line":96,"column":73}},"63":{"start":{"line":99,"column":2},"end":{"line":99,"column":17}},"64":{"start":{"line":100,"column":16},"end":{"line":100,"column":78}},"65":{"start":{"line":101,"column":2},"end":{"line":101,"column":35}},"66":{"start":{"line":103,"column":2},"end":{"line":103,"column":50}},"67":{"start":{"line":103,"column":19},"end":{"line":103,"column":42}},"68":{"start":{"line":107,"column":23},"end":{"line":107,"column":54}},"69":{"start":{"line":108,"column":26},"end":{"line":108,"column":51}},"70":{"start":{"line":110,"column":2},"end":{"line":112,"column":3}},"71":{"start":{"line":111,"column":4},"end":{"line":111,"column":27}},"72":{"start":{"line":114,"column":13},"end":{"line":114,"column":27}},"73":{"start":{"line":115,"column":2},"end":{"line":115,"column":65}},"74":{"start":{"line":115,"column":26},"end":{"line":115,"column":65}},"75":{"start":{"line":116,"column":2},"end":{"line":116,"column":21}},"76":{"start":{"line":117,"column":2},"end":{"line":117,"column":63}},"77":{"start":{"line":117,"column":25},"end":{"line":117,"column":63}},"78":{"start":{"line":118,"column":2},"end":{"line":118,"column":27}},"79":{"start":{"line":119,"column":2},"end":{"line":119,"column":52}},"80":{"start":{"line":121,"column":2},"end":{"line":121,"column":35}},"81":{"start":{"line":125,"column":2},"end":{"line":136,"column":3}},"82":{"start":{"line":126,"column":18},"end":{"line":126,"column":83}},"83":{"start":{"line":127,"column":4},"end":{"line":127,"column":25}},"84":{"start":{"line":128,"column":4},"end":{"line":128,"column":70}},"85":{"start":{"line":130,"column":4},"end":{"line":130,"column":78}},"86":{"start":{"line":131,"column":4},"end":{"line":134,"column":5}},"87":{"start":{"line":133,"column":6},"end":{"line":133,"column":19}},"88":{"start":{"line":138,"column":2},"end":{"line":151,"column":3}},"89":{"start":{"line":139,"column":21},"end":{"line":139,"column":89}},"90":{"start":{"line":140,"column":4},"end":{"line":142,"column":7}},"91":{"start":{"line":141,"column":6},"end":{"line":141,"column":93}},"92":{"start":{"line":141,"column":27},"end":{"line":141,"column":54}},"93":{"start":{"line":141,"column":59},"end":{"line":141,"column":93}},"94":{"start":{"line":143,"column":4},"end":{"line":143,"column":73}},"95":{"start":{"line":145,"column":4},"end":{"line":145,"column":81}},"96":{"start":{"line":146,"column":4},"end":{"line":149,"column":5}},"97":{"start":{"line":148,"column":6},"end":{"line":148,"column":19}},"98":{"start":{"line":153,"column":2},"end":{"line":153,"column":17}},"99":{"start":{"line":157,"column":24},"end":{"line":157,"column":39}},"100":{"start":{"line":159,"column":4},"end":{"line":167,"column":25}},"101":{"start":{"line":161,"column":6},"end":{"line":165,"column":7}},"102":{"start":{"line":162,"column":8},"end":{"line":162,"column":47}},"103":{"start":{"line":164,"column":8},"end":{"line":164,"column":71}},"104":{"start":{"line":166,"column":6},"end":{"line":166,"column":27}},"105":{"start":{"line":167,"column":11},"end":{"line":167,"column":25}},"106":{"start":{"line":170,"column":4},"end":{"line":170,"column":57}},"107":{"start":{"line":170,"column":20},"end":{"line":170,"column":42}},"108":{"start":{"line":170,"column":47},"end":{"line":170,"column":57}},"109":{"start":{"line":173,"column":4},"end":{"line":173,"column":65}},"110":{"start":{"line":173,"column":22},"end":{"line":173,"column":48}},"111":{"start":{"line":173,"column":53},"end":{"line":173,"column":65}},"112":{"start":{"line":176,"column":4},"end":{"line":176,"column":69}},"113":{"start":{"line":176,"column":24},"end":{"line":176,"column":52}},"114":{"start":{"line":176,"column":57},"end":{"line":176,"column":69}},"115":{"start":{"line":178,"column":2},"end":{"line":209,"column":4}},"116":{"start":{"line":180,"column":6},"end":{"line":182,"column":11}},"117":{"start":{"line":181,"column":8},"end":{"line":181,"column":76}},"118":{"start":{"line":185,"column":6},"end":{"line":187,"column":11}},"119":{"start":{"line":186,"column":8},"end":{"line":186,"column":88}},"120":{"start":{"line":190,"column":6},"end":{"line":192,"column":11}},"121":{"start":{"line":191,"column":8},"end":{"line":191,"column":95}},"122":{"start":{"line":195,"column":6},"end":{"line":197,"column":11}},"123":{"start":{"line":196,"column":8},"end":{"line":196,"column":108}},"124":{"start":{"line":200,"column":6},"end":{"line":202,"column":11}},"125":{"start":{"line":201,"column":8},"end":{"line":201,"column":107}},"126":{"start":{"line":205,"column":6},"end":{"line":207,"column":11}},"127":{"start":{"line":206,"column":8},"end":{"line":206,"column":91}},"128":{"start":{"line":213,"column":32},"end":{"line":213,"column":69}},"129":{"start":{"line":215,"column":19},"end":{"line":215,"column":38}},"130":{"start":{"line":216,"column":25},"end":{"line":219,"column":13}},"131":{"start":{"line":220,"column":2},"end":{"line":220,"column":48}},"132":{"start":{"line":220,"column":31},"end":{"line":220,"column":48}},"133":{"start":{"line":222,"column":19},"end":{"line":222,"column":50}},"134":{"start":{"line":224,"column":18},"end":{"line":224,"column":23}},"135":{"start":{"line":225,"column":2},"end":{"line":238,"column":3}},"136":{"start":{"line":226,"column":4},"end":{"line":230,"column":5}},"137":{"start":{"line":227,"column":29},"end":{"line":227,"column":123}},"138":{"start":{"line":228,"column":6},"end":{"line":228,"column":42}},"139":{"start":{"line":229,"column":6},"end":{"line":229,"column":23}},"140":{"start":{"line":232,"column":4},"end":{"line":232,"column":95}},"141":{"start":{"line":233,"column":4},"end":{"line":236,"column":5}},"142":{"start":{"line":235,"column":6},"end":{"line":235,"column":19}},"143":{"start":{"line":242,"column":2},"end":{"line":256,"column":3}},"144":{"start":{"line":243,"column":4},"end":{"line":243,"column":52}},"145":{"start":{"line":244,"column":4},"end":{"line":244,"column":24}},"146":{"start":{"line":245,"column":9},"end":{"line":256,"column":3}},"147":{"start":{"line":246,"column":4},"end":{"line":246,"column":55}},"148":{"start":{"line":249,"column":4},"end":{"line":249,"column":105}},"149":{"start":{"line":251,"column":4},"end":{"line":253,"column":5}},"150":{"start":{"line":252,"column":6},"end":{"line":252,"column":51}},"151":{"start":{"line":255,"column":4},"end":{"line":255,"column":70}},"152":{"start":{"line":255,"column":31},"end":{"line":255,"column":70}},"153":{"start":{"line":259,"column":20},"end":{"line":259,"column":47}},"154":{"start":{"line":261,"column":2},"end":{"line":264,"column":3}},"155":{"start":{"line":262,"column":4},"end":{"line":262,"column":60}},"156":{"start":{"line":263,"column":4},"end":{"line":263,"column":48}},"157":{"start":{"line":265,"column":2},"end":{"line":265,"column":82}},"158":{"start":{"line":267,"column":2},"end":{"line":267,"column":77}},"159":{"start":{"line":269,"column":2},"end":{"line":285,"column":3}},"160":{"start":{"line":270,"column":4},"end":{"line":284,"column":5}},"161":{"start":{"line":271,"column":25},"end":{"line":271,"column":115}},"162":{"start":{"line":273,"column":6},"end":{"line":275,"column":7}},"163":{"start":{"line":274,"column":8},"end":{"line":274,"column":83}},"164":{"start":{"line":276,"column":6},"end":{"line":276,"column":34}},"165":{"start":{"line":278,"column":6},"end":{"line":278,"column":99}},"166":{"start":{"line":279,"column":6},"end":{"line":282,"column":7}},"167":{"start":{"line":281,"column":8},"end":{"line":281,"column":21}},"168":{"start":{"line":287,"column":2},"end":{"line":287,"column":22}},"169":{"start":{"line":288,"column":2},"end":{"line":288,"column":20}},"170":{"start":{"line":289,"column":2},"end":{"line":289,"column":35}},"171":{"start":{"line":290,"column":2},"end":{"line":290,"column":29}},"172":{"start":{"line":291,"column":2},"end":{"line":291,"column":43}},"173":{"start":{"line":294,"column":2},"end":{"line":300,"column":4}},"174":{"start":{"line":295,"column":15},"end":{"line":295,"column":27}},"175":{"start":{"line":296,"column":4},"end":{"line":298,"column":5}},"176":{"start":{"line":297,"column":6},"end":{"line":297,"column":45}},"177":{"start":{"line":299,"column":4},"end":{"line":299,"column":16}},"178":{"start":{"line":301,"column":2},"end":{"line":303,"column":4}},"179":{"start":{"line":302,"column":4},"end":{"line":302,"column":21}},"180":{"start":{"line":305,"column":2},"end":{"line":305,"column":58}},"181":{"start":{"line":306,"column":2},"end":{"line":306,"column":31}},"182":{"start":{"line":308,"column":2},"end":{"line":308,"column":17}},"183":{"start":{"line":312,"column":20},"end":{"line":312,"column":24}},"184":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"185":{"start":{"line":314,"column":4},"end":{"line":314,"column":75}},"186":{"start":{"line":316,"column":20},"end":{"line":321,"column":3}},"187":{"start":{"line":318,"column":4},"end":{"line":318,"column":37}},"188":{"start":{"line":318,"column":25},"end":{"line":318,"column":37}},"189":{"start":{"line":319,"column":19},"end":{"line":319,"column":72}},"190":{"start":{"line":320,"column":4},"end":{"line":320,"column":29}},"191":{"start":{"line":323,"column":2},"end":{"line":394,"column":8}},"192":{"start":{"line":324,"column":15},"end":{"line":389,"column":6}},"193":{"start":{"line":325,"column":22},"end":{"line":325,"column":30}},"194":{"start":{"line":326,"column":21},"end":{"line":326,"column":46}},"195":{"start":{"line":327,"column":6},"end":{"line":327,"column":50}},"196":{"start":{"line":328,"column":21},"end":{"line":328,"column":23}},"197":{"start":{"line":329,"column":6},"end":{"line":388,"column":7}},"198":{"start":{"line":330,"column":8},"end":{"line":332,"column":9}},"199":{"start":{"line":331,"column":10},"end":{"line":331,"column":56}},"200":{"start":{"line":334,"column":8},"end":{"line":352,"column":9}},"201":{"start":{"line":335,"column":10},"end":{"line":351,"column":11}},"202":{"start":{"line":337,"column":27},"end":{"line":337,"column":52}},"203":{"start":{"line":339,"column":12},"end":{"line":345,"column":13}},"204":{"start":{"line":341,"column":29},"end":{"line":341,"column":58}},"205":{"start":{"line":342,"column":14},"end":{"line":342,"column":62}},"206":{"start":{"line":342,"column":38},"end":{"line":342,"column":62}},"207":{"start":{"line":344,"column":14},"end":{"line":344,"column":48}},"208":{"start":{"line":346,"column":33},"end":{"line":346,"column":82}},"209":{"start":{"line":347,"column":12},"end":{"line":347,"column":81}},"210":{"start":{"line":348,"column":12},"end":{"line":348,"column":45}},"211":{"start":{"line":350,"column":12},"end":{"line":350,"column":68}},"212":{"start":{"line":353,"column":8},"end":{"line":355,"column":9}},"213":{"start":{"line":354,"column":10},"end":{"line":354,"column":88}},"214":{"start":{"line":356,"column":8},"end":{"line":356,"column":109}},"215":{"start":{"line":356,"column":33},"end":{"line":356,"column":109}},"216":{"start":{"line":357,"column":24},"end":{"line":357,"column":91}},"217":{"start":{"line":358,"column":8},"end":{"line":358,"column":81}},"218":{"start":{"line":358,"column":22},"end":{"line":358,"column":81}},"219":{"start":{"line":359,"column":8},"end":{"line":359,"column":131}},"220":{"start":{"line":359,"column":62},"end":{"line":359,"column":131}},"221":{"start":{"line":360,"column":21},"end":{"line":360,"column":23}},"222":{"start":{"line":362,"column":33},"end":{"line":362,"column":69}},"223":{"start":{"line":363,"column":8},"end":{"line":366,"column":9}},"224":{"start":{"line":364,"column":10},"end":{"line":364,"column":109}},"225":{"start":{"line":364,"column":52},"end":{"line":364,"column":109}},"226":{"start":{"line":365,"column":10},"end":{"line":365,"column":57}},"227":{"start":{"line":368,"column":35},"end":{"line":368,"column":64}},"228":{"start":{"line":369,"column":8},"end":{"line":372,"column":9}},"229":{"start":{"line":370,"column":10},"end":{"line":370,"column":113}},"230":{"start":{"line":370,"column":54},"end":{"line":370,"column":113}},"231":{"start":{"line":371,"column":10},"end":{"line":371,"column":59}},"232":{"start":{"line":374,"column":8},"end":{"line":374,"column":26}},"233":{"start":{"line":375,"column":8},"end":{"line":377,"column":9}},"234":{"start":{"line":376,"column":10},"end":{"line":376,"column":62}},"235":{"start":{"line":378,"column":8},"end":{"line":384,"column":9}},"236":{"start":{"line":379,"column":25},"end":{"line":379,"column":78}},"237":{"start":{"line":381,"column":10},"end":{"line":381,"column":27}},"238":{"start":{"line":383,"column":10},"end":{"line":383,"column":83}},"239":{"start":{"line":387,"column":8},"end":{"line":387,"column":52}},"240":{"start":{"line":391,"column":4},"end":{"line":393,"column":6}},"241":{"start":{"line":392,"column":6},"end":{"line":392,"column":41}},"242":{"start":{"line":396,"column":2},"end":{"line":396,"column":57}},"243":{"start":{"line":400,"column":2},"end":{"line":400,"column":37}},"244":{"start":{"line":401,"column":21},"end":{"line":401,"column":36}},"245":{"start":{"line":403,"column":2},"end":{"line":403,"column":33}},"246":{"start":{"line":405,"column":2},"end":{"line":410,"column":3}},"247":{"start":{"line":406,"column":4},"end":{"line":406,"column":30}},"248":{"start":{"line":409,"column":4},"end":{"line":409,"column":73}},"249":{"start":{"line":412,"column":20},"end":{"line":412,"column":76}},"250":{"start":{"line":414,"column":2},"end":{"line":426,"column":5}},"251":{"start":{"line":415,"column":20},"end":{"line":415,"column":39}},"252":{"start":{"line":417,"column":4},"end":{"line":419,"column":5}},"253":{"start":{"line":418,"column":6},"end":{"line":418,"column":80}},"254":{"start":{"line":420,"column":4},"end":{"line":425,"column":5}},"255":{"start":{"line":421,"column":6},"end":{"line":421,"column":80}},"256":{"start":{"line":424,"column":6},"end":{"line":424,"column":65}},"257":{"start":{"line":430,"column":21},"end":{"line":430,"column":42}},"258":{"start":{"line":431,"column":22},"end":{"line":431,"column":24}},"259":{"start":{"line":432,"column":22},"end":{"line":432,"column":23}},"260":{"start":{"line":434,"column":2},"end":{"line":520,"column":4}},"261":{"start":{"line":437,"column":4},"end":{"line":437,"column":34}},"262":{"start":{"line":438,"column":27},"end":{"line":438,"column":90}},"263":{"start":{"line":439,"column":29},"end":{"line":439,"column":89}},"264":{"start":{"line":441,"column":4},"end":{"line":519,"column":7}},"265":{"start":{"line":442,"column":6},"end":{"line":442,"column":22}},"266":{"start":{"line":443,"column":6},"end":{"line":443,"column":124}},"267":{"start":{"line":445,"column":6},"end":{"line":454,"column":9}},"268":{"start":{"line":446,"column":8},"end":{"line":446,"column":24}},"269":{"start":{"line":447,"column":8},"end":{"line":447,"column":22}},"270":{"start":{"line":448,"column":8},"end":{"line":448,"column":125}},"271":{"start":{"line":449,"column":8},"end":{"line":453,"column":9}},"272":{"start":{"line":450,"column":34},"end":{"line":450,"column":98}},"273":{"start":{"line":451,"column":10},"end":{"line":451,"column":106}},"274":{"start":{"line":452,"column":10},"end":{"line":452,"column":88}},"275":{"start":{"line":455,"column":6},"end":{"line":460,"column":7}},"276":{"start":{"line":456,"column":8},"end":{"line":459,"column":9}},"277":{"start":{"line":457,"column":10},"end":{"line":457,"column":114}},"278":{"start":{"line":458,"column":10},"end":{"line":458,"column":17}},"279":{"start":{"line":461,"column":6},"end":{"line":473,"column":7}},"280":{"start":{"line":462,"column":8},"end":{"line":472,"column":9}},"281":{"start":{"line":463,"column":34},"end":{"line":463,"column":98}},"282":{"start":{"line":464,"column":10},"end":{"line":464,"column":104}},"283":{"start":{"line":465,"column":10},"end":{"line":465,"column":88}},"284":{"start":{"line":466,"column":10},"end":{"line":469,"column":11}},"285":{"start":{"line":467,"column":12},"end":{"line":467,"column":116}},"286":{"start":{"line":468,"column":12},"end":{"line":468,"column":19}},"287":{"start":{"line":471,"column":10},"end":{"line":471,"column":74}},"288":{"start":{"line":480,"column":6},"end":{"line":516,"column":7}},"289":{"start":{"line":481,"column":48},"end":{"line":481,"column":68}},"290":{"start":{"line":483,"column":25},"end":{"line":483,"column":97}},"291":{"start":{"line":483,"column":91},"end":{"line":483,"column":96}},"292":{"start":{"line":484,"column":8},"end":{"line":484,"column":85}},"293":{"start":{"line":485,"column":8},"end":{"line":515,"column":11}},"294":{"start":{"line":486,"column":10},"end":{"line":513,"column":11}},"295":{"start":{"line":490,"column":12},"end":{"line":497,"column":13}},"296":{"start":{"line":491,"column":30},"end":{"line":491,"column":52}},"297":{"start":{"line":492,"column":14},"end":{"line":496,"column":15}},"298":{"start":{"line":493,"column":16},"end":{"line":493,"column":147}},"299":{"start":{"line":494,"column":16},"end":{"line":494,"column":23}},"300":{"start":{"line":495,"column":16},"end":{"line":495,"column":23}},"301":{"start":{"line":498,"column":12},"end":{"line":498,"column":142}},"302":{"start":{"line":499,"column":12},"end":{"line":512,"column":13}},"303":{"start":{"line":501,"column":14},"end":{"line":501,"column":118}},"304":{"start":{"line":511,"column":14},"end":{"line":511,"column":21}},"305":{"start":{"line":514,"column":10},"end":{"line":514,"column":17}},"306":{"start":{"line":518,"column":6},"end":{"line":518,"column":51}},"307":{"start":{"line":524,"column":14},"end":{"line":524,"column":63}},"308":{"start":{"line":527,"column":2},"end":{"line":527,"column":25}},"309":{"start":{"line":529,"column":2},"end":{"line":529,"column":48}},"310":{"start":{"line":531,"column":2},"end":{"line":531,"column":19}},"311":{"start":{"line":534,"column":2},"end":{"line":538,"column":4}},"312":{"start":{"line":535,"column":21},"end":{"line":535,"column":40}},"313":{"start":{"line":536,"column":4},"end":{"line":536,"column":29}},"314":{"start":{"line":536,"column":19},"end":{"line":536,"column":29}},"315":{"start":{"line":537,"column":4},"end":{"line":537,"column":52}},"316":{"start":{"line":540,"column":2},"end":{"line":550,"column":4}},"317":{"start":{"line":542,"column":4},"end":{"line":549,"column":5}},"318":{"start":{"line":543,"column":6},"end":{"line":543,"column":74}},"319":{"start":{"line":544,"column":11},"end":{"line":549,"column":5}},"320":{"start":{"line":546,"column":6},"end":{"line":546,"column":213}},"321":{"start":{"line":546,"column":46},"end":{"line":546,"column":125}},"322":{"start":{"line":546,"column":130},"end":{"line":546,"column":213}},"323":{"start":{"line":548,"column":6},"end":{"line":548,"column":58}},"324":{"start":{"line":552,"column":2},"end":{"line":554,"column":4}},"325":{"start":{"line":553,"column":4},"end":{"line":553,"column":57}},"326":{"start":{"line":556,"column":2},"end":{"line":558,"column":4}},"327":{"start":{"line":557,"column":4},"end":{"line":557,"column":45}},"328":{"start":{"line":560,"column":2},"end":{"line":562,"column":4}},"329":{"start":{"line":561,"column":4},"end":{"line":561,"column":45}},"330":{"start":{"line":565,"column":2},"end":{"line":574,"column":7}},"331":{"start":{"line":566,"column":16},"end":{"line":569,"column":6}},"332":{"start":{"line":567,"column":6},"end":{"line":567,"column":32}},"333":{"start":{"line":568,"column":6},"end":{"line":568,"column":18}},"334":{"start":{"line":571,"column":4},"end":{"line":573,"column":6}},"335":{"start":{"line":572,"column":6},"end":{"line":572,"column":42}},"336":{"start":{"line":575,"column":21},"end":{"line":575,"column":42}},"337":{"start":{"line":576,"column":2},"end":{"line":599,"column":3}},"338":{"start":{"line":578,"column":21},"end":{"line":578,"column":88}},"339":{"start":{"line":578,"column":82},"end":{"line":578,"column":87}},"340":{"start":{"line":579,"column":20},"end":{"line":597,"column":5}},"341":{"start":{"line":582,"column":6},"end":{"line":587,"column":7}},"342":{"start":{"line":583,"column":27},"end":{"line":583,"column":65}},"343":{"start":{"line":584,"column":8},"end":{"line":584,"column":51}},"344":{"start":{"line":586,"column":8},"end":{"line":586,"column":28}},"345":{"start":{"line":588,"column":6},"end":{"line":596,"column":7}},"346":{"start":{"line":589,"column":8},"end":{"line":589,"column":107}},"347":{"start":{"line":590,"column":8},"end":{"line":590,"column":15}},"348":{"start":{"line":592,"column":22},"end":{"line":592,"column":155}},"349":{"start":{"line":593,"column":8},"end":{"line":593,"column":31}},"350":{"start":{"line":594,"column":8},"end":{"line":594,"column":52}},"351":{"start":{"line":595,"column":8},"end":{"line":595,"column":52}},"352":{"start":{"line":598,"column":4},"end":{"line":598,"column":109}},"353":{"start":{"line":602,"column":2},"end":{"line":602,"column":48}},"354":{"start":{"line":603,"column":2},"end":{"line":603,"column":52}},"355":{"start":{"line":604,"column":2},"end":{"line":604,"column":62}},"356":{"start":{"line":605,"column":27},"end":{"line":605,"column":48}},"357":{"start":{"line":606,"column":2},"end":{"line":606,"column":85}},"358":{"start":{"line":607,"column":2},"end":{"line":607,"column":132}},"359":{"start":{"line":610,"column":2},"end":{"line":610,"column":39}},"360":{"start":{"line":611,"column":25},"end":{"line":611,"column":50}},"361":{"start":{"line":612,"column":2},"end":{"line":612,"column":128}},"362":{"start":{"line":613,"column":2},"end":{"line":613,"column":42}},"363":{"start":{"line":616,"column":2},"end":{"line":616,"column":36}},"364":{"start":{"line":618,"column":2},"end":{"line":618,"column":13}}},"fnMap":{"0":{"name":"_interopRequireDefault","decl":{"start":{"line":91,"column":9},"end":{"line":91,"column":31}},"loc":{"start":{"line":91,"column":37},"end":{"line":91,"column":95}},"line":91},"1":{"name":"_asyncToGenerator","decl":{"start":{"line":93,"column":9},"end":{"line":93,"column":26}},"loc":{"start":{"line":93,"column":31},"end":{"line":93,"column":458}},"line":93},"2":{"name":"(anonymous_2)","decl":{"start":{"line":93,"column":40},"end":{"line":93,"column":41}},"loc":{"start":{"line":93,"column":52},"end":{"line":93,"column":455}},"line":93},"3":{"name":"(anonymous_3)","decl":{"start":{"line":93,"column":110},"end":{"line":93,"column":111}},"loc":{"start":{"line":93,"column":137},"end":{"line":93,"column":451}},"line":93},"4":{"name":"step","decl":{"start":{"line":93,"column":148},"end":{"line":93,"column":152}},"loc":{"start":{"line":93,"column":163},"end":{"line":93,"column":428}},"line":93},"5":{"name":"(anonymous_5)","decl":{"start":{"line":93,"column":341},"end":{"line":93,"column":342}},"loc":{"start":{"line":93,"column":358},"end":{"line":93,"column":382}},"line":93},"6":{"name":"(anonymous_6)","decl":{"start":{"line":93,"column":384},"end":{"line":93,"column":385}},"loc":{"start":{"line":93,"column":399},"end":{"line":93,"column":422}},"line":93},"7":{"name":"tooManyRequests","decl":{"start":{"line":98,"column":9},"end":{"line":98,"column":24}},"loc":{"start":{"line":98,"column":47},"end":{"line":104,"column":1}},"line":98},"8":{"name":"(anonymous_8)","decl":{"start":{"line":103,"column":13},"end":{"line":103,"column":14}},"loc":{"start":{"line":103,"column":19},"end":{"line":103,"column":42}},"line":103},"9":{"name":"declareService","decl":{"start":{"line":106,"column":9},"end":{"line":106,"column":23}},"loc":{"start":{"line":106,"column":62},"end":{"line":122,"column":1}},"line":106},"10":{"name":"configureService","decl":{"start":{"line":124,"column":9},"end":{"line":124,"column":25}},"loc":{"start":{"line":124,"column":55},"end":{"line":154,"column":1}},"line":124},"11":{"name":"(anonymous_11)","decl":{"start":{"line":140,"column":38},"end":{"line":140,"column":39}},"loc":{"start":{"line":140,"column":60},"end":{"line":142,"column":5}},"line":140},"12":{"name":"createProxyService","decl":{"start":{"line":156,"column":9},"end":{"line":156,"column":27}},"loc":{"start":{"line":156,"column":37},"end":{"line":210,"column":1}},"line":156},"13":{"name":"proxyParams","decl":{"start":{"line":158,"column":11},"end":{"line":158,"column":22}},"loc":{"start":{"line":158,"column":31},"end":{"line":168,"column":3}},"line":158},"14":{"name":"proxyId","decl":{"start":{"line":169,"column":11},"end":{"line":169,"column":18}},"loc":{"start":{"line":169,"column":23},"end":{"line":171,"column":3}},"line":169},"15":{"name":"proxyData","decl":{"start":{"line":172,"column":11},"end":{"line":172,"column":20}},"loc":{"start":{"line":172,"column":27},"end":{"line":174,"column":3}},"line":172},"16":{"name":"proxyResult","decl":{"start":{"line":175,"column":11},"end":{"line":175,"column":22}},"loc":{"start":{"line":175,"column":29},"end":{"line":177,"column":3}},"line":175},"17":{"name":"(anonymous_17)","decl":{"start":{"line":179,"column":4},"end":{"line":179,"column":5}},"loc":{"start":{"line":179,"column":17},"end":{"line":183,"column":5}},"line":179},"18":{"name":"(anonymous_18)","decl":{"start":{"line":180,"column":31},"end":{"line":180,"column":32}},"loc":{"start":{"line":180,"column":44},"end":{"line":182,"column":7}},"line":180},"19":{"name":"(anonymous_19)","decl":{"start":{"line":184,"column":4},"end":{"line":184,"column":5}},"loc":{"start":{"line":184,"column":20},"end":{"line":188,"column":5}},"line":184},"20":{"name":"(anonymous_20)","decl":{"start":{"line":185,"column":31},"end":{"line":185,"column":32}},"loc":{"start":{"line":185,"column":44},"end":{"line":187,"column":7}},"line":185},"21":{"name":"(anonymous_21)","decl":{"start":{"line":189,"column":4},"end":{"line":189,"column":5}},"loc":{"start":{"line":189,"column":25},"end":{"line":193,"column":5}},"line":189},"22":{"name":"(anonymous_22)","decl":{"start":{"line":190,"column":31},"end":{"line":190,"column":32}},"loc":{"start":{"line":190,"column":44},"end":{"line":192,"column":7}},"line":190},"23":{"name":"(anonymous_23)","decl":{"start":{"line":194,"column":4},"end":{"line":194,"column":5}},"loc":{"start":{"line":194,"column":29},"end":{"line":198,"column":5}},"line":194},"24":{"name":"(anonymous_24)","decl":{"start":{"line":195,"column":31},"end":{"line":195,"column":32}},"loc":{"start":{"line":195,"column":44},"end":{"line":197,"column":7}},"line":195},"25":{"name":"(anonymous_25)","decl":{"start":{"line":199,"column":4},"end":{"line":199,"column":5}},"loc":{"start":{"line":199,"column":28},"end":{"line":203,"column":5}},"line":199},"26":{"name":"(anonymous_26)","decl":{"start":{"line":200,"column":31},"end":{"line":200,"column":32}},"loc":{"start":{"line":200,"column":44},"end":{"line":202,"column":7}},"line":200},"27":{"name":"(anonymous_27)","decl":{"start":{"line":204,"column":4},"end":{"line":204,"column":5}},"loc":{"start":{"line":204,"column":23},"end":{"line":208,"column":5}},"line":204},"28":{"name":"(anonymous_28)","decl":{"start":{"line":205,"column":31},"end":{"line":205,"column":32}},"loc":{"start":{"line":205,"column":44},"end":{"line":207,"column":7}},"line":205},"29":{"name":"createService","decl":{"start":{"line":212,"column":9},"end":{"line":212,"column":22}},"loc":{"start":{"line":212,"column":48},"end":{"line":309,"column":1}},"line":212},"30":{"name":"(anonymous_30)","decl":{"start":{"line":294,"column":20},"end":{"line":294,"column":21}},"loc":{"start":{"line":294,"column":45},"end":{"line":300,"column":3}},"line":294},"31":{"name":"(anonymous_31)","decl":{"start":{"line":301,"column":25},"end":{"line":301,"column":26}},"loc":{"start":{"line":301,"column":37},"end":{"line":303,"column":3}},"line":301},"32":{"name":"createWebhook","decl":{"start":{"line":311,"column":9},"end":{"line":311,"column":22}},"loc":{"start":{"line":311,"column":48},"end":{"line":397,"column":1}},"line":311},"33":{"name":"(anonymous_33)","decl":{"start":{"line":316,"column":20},"end":{"line":316,"column":21}},"loc":{"start":{"line":316,"column":31},"end":{"line":321,"column":3}},"line":316},"34":{"name":"(anonymous_34)","decl":{"start":{"line":323,"column":61},"end":{"line":323,"column":62}},"loc":{"start":{"line":323,"column":67},"end":{"line":394,"column":3}},"line":323},"35":{"name":"(anonymous_35)","decl":{"start":{"line":324,"column":33},"end":{"line":324,"column":34}},"loc":{"start":{"line":324,"column":60},"end":{"line":389,"column":5}},"line":324},"36":{"name":"(anonymous_36)","decl":{"start":{"line":391,"column":11},"end":{"line":391,"column":12}},"loc":{"start":{"line":391,"column":35},"end":{"line":393,"column":5}},"line":391},"37":{"name":"setupLogger","decl":{"start":{"line":399,"column":9},"end":{"line":399,"column":20}},"loc":{"start":{"line":399,"column":26},"end":{"line":427,"column":1}},"line":399},"38":{"name":"(anonymous_38)","decl":{"start":{"line":414,"column":20},"end":{"line":414,"column":21}},"loc":{"start":{"line":414,"column":31},"end":{"line":426,"column":3}},"line":414},"39":{"name":"setupSockets","decl":{"start":{"line":429,"column":9},"end":{"line":429,"column":21}},"loc":{"start":{"line":429,"column":27},"end":{"line":521,"column":1}},"line":429},"40":{"name":"(anonymous_40)","decl":{"start":{"line":434,"column":9},"end":{"line":434,"column":10}},"loc":{"start":{"line":434,"column":15},"end":{"line":520,"column":3}},"line":434},"41":{"name":"(anonymous_41)","decl":{"start":{"line":441,"column":24},"end":{"line":441,"column":25}},"loc":{"start":{"line":441,"column":34},"end":{"line":519,"column":5}},"line":441},"42":{"name":"(anonymous_42)","decl":{"start":{"line":445,"column":30},"end":{"line":445,"column":31}},"loc":{"start":{"line":445,"column":40},"end":{"line":454,"column":7}},"line":445},"43":{"name":"(anonymous_43)","decl":{"start":{"line":483,"column":80},"end":{"line":483,"column":81}},"loc":{"start":{"line":483,"column":91},"end":{"line":483,"column":96}},"line":483},"44":{"name":"(anonymous_44)","decl":{"start":{"line":485,"column":19},"end":{"line":485,"column":20}},"loc":{"start":{"line":485,"column":37},"end":{"line":515,"column":9}},"line":485},"45":{"name":"kalisio","decl":{"start":{"line":523,"column":9},"end":{"line":523,"column":16}},"loc":{"start":{"line":523,"column":19},"end":{"line":619,"column":1}},"line":523},"46":{"name":"(anonymous_46)","decl":{"start":{"line":534,"column":26},"end":{"line":534,"column":27}},"loc":{"start":{"line":534,"column":42},"end":{"line":538,"column":3}},"line":534},"47":{"name":"(anonymous_47)","decl":{"start":{"line":540,"column":19},"end":{"line":540,"column":20}},"loc":{"start":{"line":540,"column":44},"end":{"line":550,"column":3}},"line":540},"48":{"name":"(anonymous_48)","decl":{"start":{"line":552,"column":25},"end":{"line":552,"column":26}},"loc":{"start":{"line":552,"column":64},"end":{"line":554,"column":3}},"line":552},"49":{"name":"(anonymous_49)","decl":{"start":{"line":556,"column":22},"end":{"line":556,"column":23}},"loc":{"start":{"line":556,"column":47},"end":{"line":558,"column":3}},"line":556},"50":{"name":"(anonymous_50)","decl":{"start":{"line":560,"column":22},"end":{"line":560,"column":23}},"loc":{"start":{"line":560,"column":47},"end":{"line":562,"column":3}},"line":560},"51":{"name":"(anonymous_51)","decl":{"start":{"line":565,"column":19},"end":{"line":565,"column":20}},"loc":{"start":{"line":565,"column":25},"end":{"line":574,"column":3}},"line":565},"52":{"name":"(anonymous_52)","decl":{"start":{"line":566,"column":34},"end":{"line":566,"column":35}},"loc":{"start":{"line":566,"column":49},"end":{"line":569,"column":5}},"line":566},"53":{"name":"(anonymous_53)","decl":{"start":{"line":571,"column":11},"end":{"line":571,"column":12}},"loc":{"start":{"line":571,"column":26},"end":{"line":573,"column":5}},"line":571},"54":{"name":"(anonymous_54)","decl":{"start":{"line":578,"column":71},"end":{"line":578,"column":72}},"loc":{"start":{"line":578,"column":82},"end":{"line":578,"column":87}},"line":578},"55":{"name":"(anonymous_55)","decl":{"start":{"line":579,"column":20},"end":{"line":579,"column":21}},"loc":{"start":{"line":579,"column":40},"end":{"line":597,"column":5}},"line":579}},"branchMap":{"0":{"loc":{"start":{"line":91,"column":46},"end":{"line":91,"column":92}},"type":"cond-expr","locations":[{"start":{"line":91,"column":70},"end":{"line":91,"column":73}},{"start":{"line":91,"column":76},"end":{"line":91,"column":92}}],"line":91},"1":{"loc":{"start":{"line":91,"column":46},"end":{"line":91,"column":67}},"type":"binary-expr","locations":[{"start":{"line":91,"column":46},"end":{"line":91,"column":49}},{"start":{"line":91,"column":53},"end":{"line":91,"column":67}}],"line":91},"2":{"loc":{"start":{"line":93,"column":264},"end":{"line":93,"column":426}},"type":"if","locations":[{"start":{"line":93,"column":264},"end":{"line":93,"column":426}},{"start":{"line":93,"column":264},"end":{"line":93,"column":426}}],"line":93},"3":{"loc":{"start":{"line":106,"column":44},"end":{"line":106,"column":60}},"type":"default-arg","locations":[{"start":{"line":106,"column":58},"end":{"line":106,"column":60}}],"line":106},"4":{"loc":{"start":{"line":110,"column":2},"end":{"line":112,"column":3}},"type":"if","locations":[{"start":{"line":110,"column":2},"end":{"line":112,"column":3}},{"start":{"line":110,"column":2},"end":{"line":112,"column":3}}],"line":110},"5":{"loc":{"start":{"line":115,"column":2},"end":{"line":115,"column":65}},"type":"if","locations":[{"start":{"line":115,"column":2},"end":{"line":115,"column":65}},{"start":{"line":115,"column":2},"end":{"line":115,"column":65}}],"line":115},"6":{"loc":{"start":{"line":117,"column":2},"end":{"line":117,"column":63}},"type":"if","locations":[{"start":{"line":117,"column":2},"end":{"line":117,"column":63}},{"start":{"line":117,"column":2},"end":{"line":117,"column":63}}],"line":117},"7":{"loc":{"start":{"line":131,"column":4},"end":{"line":134,"column":5}},"type":"if","locations":[{"start":{"line":131,"column":4},"end":{"line":134,"column":5}},{"start":{"line":131,"column":4},"end":{"line":134,"column":5}}],"line":131},"8":{"loc":{"start":{"line":141,"column":6},"end":{"line":141,"column":93}},"type":"if","locations":[{"start":{"line":141,"column":6},"end":{"line":141,"column":93}},{"start":{"line":141,"column":6},"end":{"line":141,"column":93}}],"line":141},"9":{"loc":{"start":{"line":146,"column":4},"end":{"line":149,"column":5}},"type":"if","locations":[{"start":{"line":146,"column":4},"end":{"line":149,"column":5}},{"start":{"line":146,"column":4},"end":{"line":149,"column":5}}],"line":146},"10":{"loc":{"start":{"line":159,"column":4},"end":{"line":167,"column":25}},"type":"if","locations":[{"start":{"line":159,"column":4},"end":{"line":167,"column":25}},{"start":{"line":159,"column":4},"end":{"line":167,"column":25}}],"line":159},"11":{"loc":{"start":{"line":161,"column":6},"end":{"line":165,"column":7}},"type":"if","locations":[{"start":{"line":161,"column":6},"end":{"line":165,"column":7}},{"start":{"line":161,"column":6},"end":{"line":165,"column":7}}],"line":161},"12":{"loc":{"start":{"line":170,"column":4},"end":{"line":170,"column":57}},"type":"if","locations":[{"start":{"line":170,"column":4},"end":{"line":170,"column":57}},{"start":{"line":170,"column":4},"end":{"line":170,"column":57}}],"line":170},"13":{"loc":{"start":{"line":173,"column":4},"end":{"line":173,"column":65}},"type":"if","locations":[{"start":{"line":173,"column":4},"end":{"line":173,"column":65}},{"start":{"line":173,"column":4},"end":{"line":173,"column":65}}],"line":173},"14":{"loc":{"start":{"line":176,"column":4},"end":{"line":176,"column":69}},"type":"if","locations":[{"start":{"line":176,"column":4},"end":{"line":176,"column":69}},{"start":{"line":176,"column":4},"end":{"line":176,"column":69}}],"line":176},"15":{"loc":{"start":{"line":212,"column":34},"end":{"line":212,"column":46}},"type":"default-arg","locations":[{"start":{"line":212,"column":44},"end":{"line":212,"column":46}}],"line":212},"16":{"loc":{"start":{"line":220,"column":2},"end":{"line":220,"column":48}},"type":"if","locations":[{"start":{"line":220,"column":2},"end":{"line":220,"column":48}},{"start":{"line":220,"column":2},"end":{"line":220,"column":48}}],"line":220},"17":{"loc":{"start":{"line":222,"column":19},"end":{"line":222,"column":50}},"type":"binary-expr","locations":[{"start":{"line":222,"column":19},"end":{"line":222,"column":42}},{"start":{"line":222,"column":46},"end":{"line":222,"column":50}}],"line":222},"18":{"loc":{"start":{"line":226,"column":4},"end":{"line":230,"column":5}},"type":"if","locations":[{"start":{"line":226,"column":4},"end":{"line":230,"column":5}},{"start":{"line":226,"column":4},"end":{"line":230,"column":5}}],"line":226},"19":{"loc":{"start":{"line":233,"column":4},"end":{"line":236,"column":5}},"type":"if","locations":[{"start":{"line":233,"column":4},"end":{"line":236,"column":5}},{"start":{"line":233,"column":4},"end":{"line":236,"column":5}}],"line":233},"20":{"loc":{"start":{"line":242,"column":2},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":242,"column":2},"end":{"line":256,"column":3}},{"start":{"line":242,"column":2},"end":{"line":256,"column":3}}],"line":242},"21":{"loc":{"start":{"line":245,"column":9},"end":{"line":256,"column":3}},"type":"if","locations":[{"start":{"line":245,"column":9},"end":{"line":256,"column":3}},{"start":{"line":245,"column":9},"end":{"line":256,"column":3}}],"line":245},"22":{"loc":{"start":{"line":251,"column":4},"end":{"line":253,"column":5}},"type":"if","locations":[{"start":{"line":251,"column":4},"end":{"line":253,"column":5}},{"start":{"line":251,"column":4},"end":{"line":253,"column":5}}],"line":251},"23":{"loc":{"start":{"line":255,"column":4},"end":{"line":255,"column":70}},"type":"if","locations":[{"start":{"line":255,"column":4},"end":{"line":255,"column":70}},{"start":{"line":255,"column":4},"end":{"line":255,"column":70}}],"line":255},"24":{"loc":{"start":{"line":259,"column":20},"end":{"line":259,"column":47}},"type":"binary-expr","locations":[{"start":{"line":259,"column":20},"end":{"line":259,"column":39}},{"start":{"line":259,"column":43},"end":{"line":259,"column":47}}],"line":259},"25":{"loc":{"start":{"line":261,"column":2},"end":{"line":264,"column":3}},"type":"if","locations":[{"start":{"line":261,"column":2},"end":{"line":264,"column":3}},{"start":{"line":261,"column":2},"end":{"line":264,"column":3}}],"line":261},"26":{"loc":{"start":{"line":269,"column":2},"end":{"line":285,"column":3}},"type":"if","locations":[{"start":{"line":269,"column":2},"end":{"line":285,"column":3}},{"start":{"line":269,"column":2},"end":{"line":285,"column":3}}],"line":269},"27":{"loc":{"start":{"line":269,"column":6},"end":{"line":269,"column":46}},"type":"binary-expr","locations":[{"start":{"line":269,"column":6},"end":{"line":269,"column":15}},{"start":{"line":269,"column":19},"end":{"line":269,"column":46}}],"line":269},"28":{"loc":{"start":{"line":273,"column":6},"end":{"line":275,"column":7}},"type":"if","locations":[{"start":{"line":273,"column":6},"end":{"line":275,"column":7}},{"start":{"line":273,"column":6},"end":{"line":275,"column":7}}],"line":273},"29":{"loc":{"start":{"line":279,"column":6},"end":{"line":282,"column":7}},"type":"if","locations":[{"start":{"line":279,"column":6},"end":{"line":282,"column":7}},{"start":{"line":279,"column":6},"end":{"line":282,"column":7}}],"line":279},"30":{"loc":{"start":{"line":296,"column":4},"end":{"line":298,"column":5}},"type":"if","locations":[{"start":{"line":296,"column":4},"end":{"line":298,"column":5}},{"start":{"line":296,"column":4},"end":{"line":298,"column":5}}],"line":296},"31":{"loc":{"start":{"line":311,"column":34},"end":{"line":311,"column":46}},"type":"default-arg","locations":[{"start":{"line":311,"column":44},"end":{"line":311,"column":46}}],"line":311},"32":{"loc":{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},"type":"if","locations":[{"start":{"line":313,"column":2},"end":{"line":315,"column":3}},{"start":{"line":313,"column":2},"end":{"line":315,"column":3}}],"line":313},"33":{"loc":{"start":{"line":318,"column":4},"end":{"line":318,"column":37}},"type":"if","locations":[{"start":{"line":318,"column":4},"end":{"line":318,"column":37}},{"start":{"line":318,"column":4},"end":{"line":318,"column":37}}],"line":318},"34":{"loc":{"start":{"line":330,"column":8},"end":{"line":332,"column":9}},"type":"if","locations":[{"start":{"line":330,"column":8},"end":{"line":332,"column":9}},{"start":{"line":330,"column":8},"end":{"line":332,"column":9}}],"line":330},"35":{"loc":{"start":{"line":334,"column":8},"end":{"line":352,"column":9}},"type":"if","locations":[{"start":{"line":334,"column":8},"end":{"line":352,"column":9}},{"start":{"line":334,"column":8},"end":{"line":352,"column":9}}],"line":334},"36":{"loc":{"start":{"line":339,"column":12},"end":{"line":345,"column":13}},"type":"if","locations":[{"start":{"line":339,"column":12},"end":{"line":345,"column":13}},{"start":{"line":339,"column":12},"end":{"line":345,"column":13}}],"line":339},"37":{"loc":{"start":{"line":342,"column":14},"end":{"line":342,"column":62}},"type":"if","locations":[{"start":{"line":342,"column":14},"end":{"line":342,"column":62}},{"start":{"line":342,"column":14},"end":{"line":342,"column":62}}],"line":342},"38":{"loc":{"start":{"line":353,"column":8},"end":{"line":355,"column":9}},"type":"if","locations":[{"start":{"line":353,"column":8},"end":{"line":355,"column":9}},{"start":{"line":353,"column":8},"end":{"line":355,"column":9}}],"line":353},"39":{"loc":{"start":{"line":356,"column":8},"end":{"line":356,"column":109}},"type":"if","locations":[{"start":{"line":356,"column":8},"end":{"line":356,"column":109}},{"start":{"line":356,"column":8},"end":{"line":356,"column":109}}],"line":356},"40":{"loc":{"start":{"line":357,"column":56},"end":{"line":357,"column":90}},"type":"binary-expr","locations":[{"start":{"line":357,"column":56},"end":{"line":357,"column":71}},{"start":{"line":357,"column":75},"end":{"line":357,"column":90}}],"line":357},"41":{"loc":{"start":{"line":358,"column":8},"end":{"line":358,"column":81}},"type":"if","locations":[{"start":{"line":358,"column":8},"end":{"line":358,"column":81}},{"start":{"line":358,"column":8},"end":{"line":358,"column":81}}],"line":358},"42":{"loc":{"start":{"line":359,"column":8},"end":{"line":359,"column":131}},"type":"if","locations":[{"start":{"line":359,"column":8},"end":{"line":359,"column":131}},{"start":{"line":359,"column":8},"end":{"line":359,"column":131}}],"line":359},"43":{"loc":{"start":{"line":363,"column":8},"end":{"line":366,"column":9}},"type":"if","locations":[{"start":{"line":363,"column":8},"end":{"line":366,"column":9}},{"start":{"line":363,"column":8},"end":{"line":366,"column":9}}],"line":363},"44":{"loc":{"start":{"line":364,"column":10},"end":{"line":364,"column":109}},"type":"if","locations":[{"start":{"line":364,"column":10},"end":{"line":364,"column":109}},{"start":{"line":364,"column":10},"end":{"line":364,"column":109}}],"line":364},"45":{"loc":{"start":{"line":369,"column":8},"end":{"line":372,"column":9}},"type":"if","locations":[{"start":{"line":369,"column":8},"end":{"line":372,"column":9}},{"start":{"line":369,"column":8},"end":{"line":372,"column":9}}],"line":369},"46":{"loc":{"start":{"line":370,"column":10},"end":{"line":370,"column":113}},"type":"if","locations":[{"start":{"line":370,"column":10},"end":{"line":370,"column":113}},{"start":{"line":370,"column":10},"end":{"line":370,"column":113}}],"line":370},"47":{"loc":{"start":{"line":375,"column":8},"end":{"line":377,"column":9}},"type":"if","locations":[{"start":{"line":375,"column":8},"end":{"line":377,"column":9}},{"start":{"line":375,"column":8},"end":{"line":377,"column":9}}],"line":375},"48":{"loc":{"start":{"line":412,"column":20},"end":{"line":412,"column":76}},"type":"cond-expr","locations":[{"start":{"line":412,"column":33},"end":{"line":412,"column":71}},{"start":{"line":412,"column":74},"end":{"line":412,"column":76}}],"line":412},"49":{"loc":{"start":{"line":417,"column":4},"end":{"line":419,"column":5}},"type":"if","locations":[{"start":{"line":417,"column":4},"end":{"line":419,"column":5}},{"start":{"line":417,"column":4},"end":{"line":419,"column":5}}],"line":417},"50":{"loc":{"start":{"line":418,"column":22},"end":{"line":418,"column":79}},"type":"cond-expr","locations":[{"start":{"line":418,"column":63},"end":{"line":418,"column":70}},{"start":{"line":418,"column":73},"end":{"line":418,"column":79}}],"line":418},"51":{"loc":{"start":{"line":449,"column":8},"end":{"line":453,"column":9}},"type":"if","locations":[{"start":{"line":449,"column":8},"end":{"line":453,"column":9}},{"start":{"line":449,"column":8},"end":{"line":453,"column":9}}],"line":449},"52":{"loc":{"start":{"line":455,"column":6},"end":{"line":460,"column":7}},"type":"if","locations":[{"start":{"line":455,"column":6},"end":{"line":460,"column":7}},{"start":{"line":455,"column":6},"end":{"line":460,"column":7}}],"line":455},"53":{"loc":{"start":{"line":456,"column":8},"end":{"line":459,"column":9}},"type":"if","locations":[{"start":{"line":456,"column":8},"end":{"line":459,"column":9}},{"start":{"line":456,"column":8},"end":{"line":459,"column":9}}],"line":456},"54":{"loc":{"start":{"line":461,"column":6},"end":{"line":473,"column":7}},"type":"if","locations":[{"start":{"line":461,"column":6},"end":{"line":473,"column":7}},{"start":{"line":461,"column":6},"end":{"line":473,"column":7}}],"line":461},"55":{"loc":{"start":{"line":462,"column":8},"end":{"line":472,"column":9}},"type":"if","locations":[{"start":{"line":462,"column":8},"end":{"line":472,"column":9}},{"start":{"line":462,"column":8},"end":{"line":472,"column":9}}],"line":462},"56":{"loc":{"start":{"line":466,"column":10},"end":{"line":469,"column":11}},"type":"if","locations":[{"start":{"line":466,"column":10},"end":{"line":469,"column":11}},{"start":{"line":466,"column":10},"end":{"line":469,"column":11}}],"line":466},"57":{"loc":{"start":{"line":480,"column":6},"end":{"line":516,"column":7}},"type":"if","locations":[{"start":{"line":480,"column":6},"end":{"line":516,"column":7}},{"start":{"line":480,"column":6},"end":{"line":516,"column":7}}],"line":480},"58":{"loc":{"start":{"line":480,"column":10},"end":{"line":480,"column":44}},"type":"binary-expr","locations":[{"start":{"line":480,"column":10},"end":{"line":480,"column":20}},{"start":{"line":480,"column":24},"end":{"line":480,"column":44}}],"line":480},"59":{"loc":{"start":{"line":486,"column":10},"end":{"line":513,"column":11}},"type":"if","locations":[{"start":{"line":486,"column":10},"end":{"line":513,"column":11}},{"start":{"line":486,"column":10},"end":{"line":513,"column":11}}],"line":486},"60":{"loc":{"start":{"line":490,"column":12},"end":{"line":497,"column":13}},"type":"if","locations":[{"start":{"line":490,"column":12},"end":{"line":497,"column":13}},{"start":{"line":490,"column":12},"end":{"line":497,"column":13}}],"line":490},"61":{"loc":{"start":{"line":490,"column":16},"end":{"line":490,"column":66}},"type":"binary-expr","locations":[{"start":{"line":490,"column":16},"end":{"line":490,"column":33}},{"start":{"line":490,"column":37},"end":{"line":490,"column":66}}],"line":490},"62":{"loc":{"start":{"line":492,"column":14},"end":{"line":496,"column":15}},"type":"if","locations":[{"start":{"line":492,"column":14},"end":{"line":496,"column":15}},{"start":{"line":492,"column":14},"end":{"line":496,"column":15}}],"line":492},"63":{"loc":{"start":{"line":492,"column":18},"end":{"line":492,"column":46}},"type":"binary-expr","locations":[{"start":{"line":492,"column":18},"end":{"line":492,"column":25}},{"start":{"line":492,"column":29},"end":{"line":492,"column":46}}],"line":492},"64":{"loc":{"start":{"line":499,"column":12},"end":{"line":512,"column":13}},"type":"if","locations":[{"start":{"line":499,"column":12},"end":{"line":512,"column":13}},{"start":{"line":499,"column":12},"end":{"line":512,"column":13}}],"line":499},"65":{"loc":{"start":{"line":536,"column":4},"end":{"line":536,"column":29}},"type":"if","locations":[{"start":{"line":536,"column":4},"end":{"line":536,"column":29}},{"start":{"line":536,"column":4},"end":{"line":536,"column":29}}],"line":536},"66":{"loc":{"start":{"line":542,"column":4},"end":{"line":549,"column":5}},"type":"if","locations":[{"start":{"line":542,"column":4},"end":{"line":549,"column":5}},{"start":{"line":542,"column":4},"end":{"line":549,"column":5}}],"line":542},"67":{"loc":{"start":{"line":542,"column":8},"end":{"line":542,"column":46}},"type":"binary-expr","locations":[{"start":{"line":542,"column":8},"end":{"line":542,"column":15}},{"start":{"line":542,"column":19},"end":{"line":542,"column":46}}],"line":542},"68":{"loc":{"start":{"line":544,"column":11},"end":{"line":549,"column":5}},"type":"if","locations":[{"start":{"line":544,"column":11},"end":{"line":549,"column":5}},{"start":{"line":544,"column":11},"end":{"line":549,"column":5}}],"line":544},"69":{"loc":{"start":{"line":544,"column":15},"end":{"line":544,"column":53}},"type":"binary-expr","locations":[{"start":{"line":544,"column":15},"end":{"line":544,"column":22}},{"start":{"line":544,"column":26},"end":{"line":544,"column":53}}],"line":544},"70":{"loc":{"start":{"line":546,"column":6},"end":{"line":546,"column":213}},"type":"if","locations":[{"start":{"line":546,"column":6},"end":{"line":546,"column":213}},{"start":{"line":546,"column":6},"end":{"line":546,"column":213}}],"line":546},"71":{"loc":{"start":{"line":576,"column":2},"end":{"line":599,"column":3}},"type":"if","locations":[{"start":{"line":576,"column":2},"end":{"line":599,"column":3}},{"start":{"line":576,"column":2},"end":{"line":599,"column":3}}],"line":576},"72":{"loc":{"start":{"line":576,"column":6},"end":{"line":576,"column":35}},"type":"binary-expr","locations":[{"start":{"line":576,"column":6},"end":{"line":576,"column":16}},{"start":{"line":576,"column":20},"end":{"line":576,"column":35}}],"line":576},"73":{"loc":{"start":{"line":588,"column":6},"end":{"line":596,"column":7}},"type":"if","locations":[{"start":{"line":588,"column":6},"end":{"line":596,"column":7}},{"start":{"line":588,"column":6},"end":{"line":596,"column":7}}],"line":588},"74":{"loc":{"start":{"line":588,"column":10},"end":{"line":588,"column":38}},"type":"binary-expr","locations":[{"start":{"line":588,"column":10},"end":{"line":588,"column":17}},{"start":{"line":588,"column":21},"end":{"line":588,"column":38}}],"line":588},"75":{"loc":{"start":{"line":611,"column":25},"end":{"line":611,"column":50}},"type":"binary-expr","locations":[{"start":{"line":611,"column":25},"end":{"line":611,"column":44}},{"start":{"line":611,"column":48},"end":{"line":611,"column":50}}],"line":611}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1,"10":1,"11":1,"12":1,"13":1,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":3,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":0,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":0,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":0,"311":0,"312":0,"313":0,"314":0,"315":0,"316":0,"317":0,"318":0,"319":0,"320":0,"321":0,"322":0,"323":0,"324":0,"325":0,"326":0,"327":0,"328":0,"329":0,"330":0,"331":0,"332":0,"333":0,"334":0,"335":0,"336":0,"337":0,"338":0,"339":0,"340":0,"341":0,"342":0,"343":0,"344":0,"345":0,"346":0,"347":0,"348":0,"349":0,"350":0,"351":0,"352":0,"353":0,"354":0,"355":0,"356":0,"357":0,"358":0,"359":0,"360":0,"361":0,"362":0,"363":0,"364":0},"f":{"0":3,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0},"b":{"0":[0,3],"1":[3,3],"2":[0,0],"3":[0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0],"44":[0,0],"45":[0,0],"46":[0,0],"47":[0,0],"48":[0,0],"49":[0,0],"50":[0,0],"51":[0,0],"52":[0,0],"53":[0,0],"54":[0,0],"55":[0,0],"56":[0,0],"57":[0,0],"58":[0,0],"59":[0,0],"60":[0,0],"61":[0,0],"62":[0,0],"63":[0,0],"64":[0,0],"65":[0,0],"66":[0,0],"67":[0,0],"68":[0,0],"69":[0,0],"70":[0,0],"71":[0,0],"72":[0,0],"73":[0,0],"74":[0,0],"75":[0,0]},"inputSourceMap":{"version":3,"sources":["application.js"],"names":["declareService","configureService","createProxyService","createService","createWebhook","kalisio","debug","debugLimiter","tooManyRequests","socket","message","key","error","TooManyRequests","translation","emit","setTimeout","disconnect","path","app","service","middlewares","feathersPath","get","feathersService","args","before","concat","push","after","use","apply","name","servicesPath","hooks","require","join","code","channels","_","forOwn","publisher","event","publish","options","targetService","proxyParams","params","proxiedParams","merge","proxyId","id","proxyData","data","proxyResult","result","find","create","update","patch","remove","createFeathersService","db","adapter","paginate","serviceOptions","Object","assign","disabled","undefined","fileName","dbService","modelsPath","configureModel","proxy","events","servicePath","contextId","context","serviceMixin","bind","mixin","getPath","withApiPrefix","getContextId","webhookPath","isAllowed","payload","filter","length","post","req","res","next","body","config","set","preprocessor","header","headers","authorization","accessToken","tokens","match","tokenPayload","passport","verifyJWT","user","getService","userId","checkAuthorisation","Forbidden","BadRequest","operation","operationsWithId","includes","has","operationsWithData","postprocessor","json","status","toJSON","setupLogger","logsConfig","logger","clear","console","logsTypes","getOwnPropertyNames","forEach","logType","level","process","env","NODE_ENV","add","transports","setupSockets","apiLimiter","connections","nbConnections","io","sockets","setMaxListeners","maxConnections","maxIpConnections","on","pid","conn","remoteAddress","reason","nbIpConnections","websocket","tokensPerInterval","interval","services","socketLimiter","SocketLimiter","packet","getTokensRemaining","tryRemoveTokens","configure","getServiceOptions","ObjectID","isValid","toString","_id","fn","call","http","handler","serviceUrl","url","URL","originalUrl","pathname","method","HttpLimiter","bodyParserConfig","bodyParser","urlencoded","extended","socketioConfig","auth","Database"],"mappings":"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","file":"application.js","sourceRoot":"D:/Development/kalisio/kdk/core/api","sourcesContent":["import path from 'path'\r\nimport url from 'url'\r\nimport makeDebug from 'debug'\r\nimport logger from 'winston'\r\nimport _ from 'lodash'\r\nimport sift from 'sift'\r\nimport 'winston-daily-rotate-file'\r\nimport compress from 'compression'\r\nimport cors from 'cors'\r\nimport helmet from 'helmet'\r\nimport bodyParser from 'body-parser'\r\nimport { RateLimiter as SocketLimiter } from 'limiter'\r\nimport HttpLimiter from 'express-rate-limit'\r\nimport feathers from '@feathersjs/feathers'\r\nimport configuration from '@feathersjs/configuration'\r\nimport { TooManyRequests, Forbidden, BadRequest } from '@feathersjs/errors'\r\nimport express from '@feathersjs/express'\r\nimport rest from '@feathersjs/express/rest'\r\nimport socketio from '@feathersjs/socketio'\r\nimport { ObjectID } from 'mongodb'\r\nimport { Database, idToString } from './db'\r\nimport auth, { authSocket } from './authentication'\r\n\r\nconst debug = makeDebug('kdk:core:application')\r\nconst debugLimiter = makeDebug('kdk:core:application:limiter')\r\n\r\nfunction tooManyRequests (socket, message, key) {\r\n debug(message)\r\n const error = new TooManyRequests(message, { translation: { key } })\r\n socket.emit('rate-limit', error)\r\n // Add a timeout so that error message is correctly handled\r\n setTimeout(() => socket.disconnect(true), 3000)\r\n}\r\n\r\nexport function declareService (path, app, service, middlewares = {}) {\r\n const feathersPath = app.get('apiPath') + '/' + path\r\n const feathersService = app.service(feathersPath)\r\n // Some internal Feathers service might internally declare the service\r\n if (feathersService) {\r\n return feathersService\r\n }\r\n // Initialize our service by providing any middleware as well\r\n let args = [feathersPath]\r\n if (middlewares.before) args = args.concat(middlewares.before)\r\n args.push(service)\r\n if (middlewares.after) args = args.concat(middlewares.after)\r\n app.use.apply(app, args)\r\n debug('Service declared on path ' + feathersPath)\r\n // Return the Feathers service, ie base service + Feathers' internals\r\n return app.service(feathersPath)\r\n}\r\n\r\nexport function configureService (name, service, servicesPath) {\r\n try {\r\n const hooks = require(path.join(servicesPath, name, name + '.hooks'))\r\n service.hooks(hooks)\r\n debug(name + ' service hooks configured on path ' + servicesPath)\r\n } catch (error) {\r\n debug('No ' + name + ' service hooks configured on path ' + servicesPath)\r\n if (error.code !== 'MODULE_NOT_FOUND') {\r\n // Log error in this case as this might be linked to a syntax error in required file\r\n debug(error)\r\n }\r\n // As this is optionnal this require has to fail silently\r\n }\r\n\r\n try {\r\n const channels = require(path.join(servicesPath, name, name + '.channels'))\r\n _.forOwn(channels, (publisher, event) => {\r\n if (event === 'all') service.publish(publisher)\r\n else service.publish(event, publisher)\r\n })\r\n debug(name + ' service channels configured on path ' + servicesPath)\r\n } catch (error) {\r\n debug('No ' + name + ' service channels configured on path ' + servicesPath)\r\n if (error.code !== 'MODULE_NOT_FOUND') {\r\n // Log error in this case as this might be linked to a syntax error in required file\r\n debug(error)\r\n }\r\n // As this is optionnal this require has to fail silently\r\n }\r\n\r\n return service\r\n}\r\n\r\nexport function createProxyService (options) {\r\n const targetService = options.service\r\n function proxyParams (params) {\r\n if (options.params) {\r\n let proxiedParams\r\n if (typeof options.params === 'function') {\r\n proxiedParams = options.params(params)\r\n } else {\r\n proxiedParams = _.merge(params, options.params)\r\n }\r\n return proxiedParams\r\n } else return params\r\n }\r\n function proxyId (id) {\r\n if (options.id) return options.id(id)\r\n else return id\r\n }\r\n function proxyData (data) {\r\n if (options.data) return options.data(data)\r\n else return data\r\n }\r\n function proxyResult (data) {\r\n if (options.result) return options.result(data)\r\n else return data\r\n }\r\n return {\r\n async find (params) { return proxyResult(await targetService.find(proxyParams(params))) },\r\n async get (id, params) { return proxyResult(await targetService.get(proxyId(id), proxyParams(params))) },\r\n async create (data, params) { return proxyResult(await targetService.create(proxyData(data), proxyParams(params))) },\r\n async update (id, data, params) { return proxyResult(await targetService.update(proxyId(id), proxyData(data), proxyParams(params))) },\r\n async patch (id, data, params) { return proxyResult(await targetService.patch(proxyId(id), proxyData(data), proxyParams(params))) },\r\n async remove (id, params) { return proxyResult(await targetService.remove(proxyId(id), proxyParams(params))) }\r\n }\r\n}\r\n\r\nexport function createService (name, app, options = {}) {\r\n const createFeathersService = require('feathers-' + app.db.adapter)\r\n\r\n const paginate = app.get('paginate')\r\n const serviceOptions = Object.assign({\r\n name: name,\r\n paginate\r\n }, options)\r\n if (serviceOptions.disabled) return undefined\r\n // For DB services a model has to be provided\r\n const fileName = serviceOptions.fileName || name\r\n\r\n let dbService = false\r\n try {\r\n if (serviceOptions.modelsPath) {\r\n const configureModel = require(path.join(serviceOptions.modelsPath, fileName + '.model.' + app.db.adapter))\r\n configureModel(app, serviceOptions)\r\n dbService = true\r\n }\r\n } catch (error) {\r\n debug('No ' + fileName + ' service model configured on path ' + serviceOptions.modelsPath)\r\n if (error.code !== 'MODULE_NOT_FOUND') {\r\n // Log error in this case as this might be linked to a syntax error in required file\r\n debug(error)\r\n }\r\n // As this is optionnal this require has to fail silently\r\n }\r\n\r\n // Initialize our service with any options it requires\r\n let service\r\n if (dbService) {\r\n service = createFeathersService(serviceOptions)\r\n dbService = service\r\n } else if (serviceOptions.proxy) {\r\n service = createProxyService(serviceOptions.proxy)\r\n } else {\r\n // Otherwise we expect the service to be provided as a Feathers service interface\r\n service = require(path.join(serviceOptions.servicesPath, fileName, fileName + '.service'))\r\n // If we get a function try to call it assuming it will return the service object\r\n if (typeof service === 'function') {\r\n service = service(name, app, serviceOptions)\r\n }\r\n // Need to set this manually for services not using class inheritance or default adapters\r\n if (serviceOptions.events) service.events = serviceOptions.events\r\n }\r\n\r\n // Get our initialized service so that we can register hooks and filters\r\n let servicePath = serviceOptions.path || name\r\n let contextId\r\n if (serviceOptions.context) {\r\n contextId = idToString(serviceOptions.context)\r\n servicePath = contextId + '/' + servicePath\r\n }\r\n service = declareService(servicePath, app, service, serviceOptions.middlewares)\r\n // Register hooks and event filters\r\n service = configureService(fileName, service, serviceOptions.servicesPath)\r\n // Optionnally a specific service mixin can be provided, apply it\r\n if (dbService && serviceOptions.servicesPath) {\r\n try {\r\n let serviceMixin = require(path.join(serviceOptions.servicesPath, fileName, fileName + '.service'))\r\n // If we get a function try to call it assuming it will return the mixin object\r\n if (typeof serviceMixin === 'function') {\r\n serviceMixin = serviceMixin.bind(dbService)(fileName, app, serviceOptions)\r\n }\r\n service.mixin(serviceMixin)\r\n } catch (error) {\r\n debug('No ' + fileName + ' service mixin configured on path ' + serviceOptions.servicesPath)\r\n if (error.code !== 'MODULE_NOT_FOUND') {\r\n // Log error in this case as this might be linked to a syntax error in required file\r\n debug(error)\r\n }\r\n // As this is optionnal this require has to fail silently\r\n }\r\n }\r\n // Then configuration\r\n service.name = name\r\n service.app = app\r\n service.options = serviceOptions\r\n service.path = servicePath\r\n service.context = serviceOptions.context\r\n\r\n // Add some utility functions\r\n service.getPath = function (withApiPrefix) {\r\n let path = service.path\r\n if (withApiPrefix) {\r\n path = app.get('apiPath') + '/' + path\r\n }\r\n return path\r\n }\r\n service.getContextId = function () {\r\n return contextId // As string\r\n }\r\n\r\n debug(service.name + ' service registration completed')\r\n app.emit('service', service)\r\n\r\n return service\r\n}\r\n\r\nexport function createWebhook (path, app, options = {}) {\r\n let webhookPath = path\r\n if (options.context) {\r\n webhookPath = idToString(options.context) + '/' + webhookPath\r\n }\r\n const isAllowed = (payload) => {\r\n // Default is to expose all services/operations\r\n if (!options.filter) return true\r\n const result = [payload].filter(sift(options.filter))\r\n return result.length > 0\r\n }\r\n\r\n app.post(app.get('apiPath') + '/webhooks/' + webhookPath, async (req, res, next) => {\r\n const payload = req.body\r\n const config = app.get('authentication')\r\n res.set('content-type', 'application/json')\r\n const params = {}\r\n try {\r\n if (options.preprocessor) {\r\n await options.preprocessor(req, res, payload)\r\n }\r\n // Authenticate when required\r\n if (config) {\r\n try {\r\n // Token is in header or payload\r\n const header = req.headers.authorization\r\n let accessToken\r\n if (header) {\r\n // Should be of the form: 'Bearer xxx'\r\n const tokens = header.match(/(\\S+)\\s+(\\S+)/)\r\n if (tokens.length >= 2) accessToken = tokens[2]\r\n } else {\r\n accessToken = payload.accessToken\r\n }\r\n const tokenPayload = await app.passport.verifyJWT(accessToken, config)\r\n params.user = await app.getService('users').get(tokenPayload.userId)\r\n params.checkAuthorisation = true\r\n } catch (error) {\r\n throw new Forbidden('Could not verify webhook')\r\n }\r\n }\r\n if (req.headers['content-type'] !== 'application/json') {\r\n throw new BadRequest('Webhooks expect application/json content type')\r\n }\r\n if (!isAllowed(payload)) throw new Forbidden('Service or operation not allowed for webhook')\r\n const service = app.getService(payload.service, options.context || payload.context)\r\n if (!service) throw new BadRequest('Service could not be found')\r\n if (typeof service[payload.operation] !== 'function') throw new BadRequest('Service operation could not be found')\r\n const args = []\r\n // Get/Update/Patch/Remove\r\n const operationsWithId = ['get', 'update', 'patch', 'remove']\r\n if (operationsWithId.includes(payload.operation)) {\r\n if (!_.has(payload, 'id')) throw new BadRequest('Missing id for operation')\r\n args.push(_.get(payload, 'id'))\r\n }\r\n // Create/Update/Patch\r\n const operationsWithData = ['create', 'update', 'patch']\r\n if (operationsWithData.includes(payload.operation)) {\r\n if (!_.has(payload, 'data')) throw new BadRequest('Missing data for operation')\r\n args.push(_.get(payload, 'data'))\r\n }\r\n // Params\r\n args.push(params)\r\n if (options.postprocessor) {\r\n await options.postprocessor(service, args, payload)\r\n }\r\n try {\r\n const result = await service[payload.operation].apply(service, args)\r\n // Send back result\r\n res.json(result)\r\n } catch (error) {\r\n throw new BadRequest('Service operation could not be performed')\r\n }\r\n } catch (error) {\r\n // Send back error\r\n res.status(error.code).json(error.toJSON())\r\n }\r\n })\r\n\r\n debug(`Webhook ${webhookPath} registration completed`)\r\n}\r\n\r\nfunction setupLogger (app) {\r\n debug('Setup application loggers')\r\n const logsConfig = app.get('logs')\r\n // Use winston default logger\r\n app.logger = logger\r\n // Remove winston defaults\r\n try {\r\n logger.clear()\r\n } catch (error) {\r\n // Logger might be down, use console\r\n console.error('Could not remove default logger transport(s)', error)\r\n }\r\n // We have one entry per log type\r\n const logsTypes = logsConfig ? Object.getOwnPropertyNames(logsConfig) : []\r\n // Create corresponding winston transports with options\r\n logsTypes.forEach(logType => {\r\n const options = logsConfig[logType]\r\n // Setup default log level if not defined\r\n if (!options.level) {\r\n options.level = (process.env.NODE_ENV === 'development' ? 'debug' : 'info')\r\n }\r\n try {\r\n logger.add(new logger.transports[logType](options))\r\n } catch (error) {\r\n // Logger might be down, use console\r\n console.error('Could not setup default log levels', error)\r\n }\r\n })\r\n}\r\n\r\nfunction setupSockets (app) {\r\n const apiLimiter = app.get('apiLimiter')\r\n const connections = {}\r\n let nbConnections = 0\r\n\r\n return io => {\r\n // By default EventEmitters will print a warning if more than 10 listeners are added for a particular event.\r\n // The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.\r\n io.sockets.setMaxListeners(0)\r\n const maxConnections = _.get(apiLimiter, 'websocket.maxConcurrency', 0)\r\n const maxIpConnections = _.get(apiLimiter, 'websocket.concurrency', 0)\r\n\r\n io.on('connection', socket => {\r\n nbConnections++\r\n debug(`New socket connection on server with pid ${process.pid}`, socket.id, socket.conn.remoteAddress, nbConnections)\r\n // Setup disconnect handler first\r\n socket.on('disconnect', (reason) => {\r\n nbConnections--\r\n debug(reason)\r\n debug(`Socket disconnection on server with pid ${process.pid}`, socket.id, socket.conn.remoteAddress, nbConnections)\r\n if (maxIpConnections > 0) {\r\n const nbIpConnections = _.get(connections, socket.conn.remoteAddress) - 1\r\n debug('Total number of connections for', socket.id, socket.conn.remoteAddress, nbIpConnections)\r\n _.set(connections, socket.conn.remoteAddress, nbIpConnections)\r\n }\r\n })\r\n if (maxConnections > 0) {\r\n if (nbConnections > maxConnections) {\r\n tooManyRequests(socket, 'Too many concurrent connections (rate limiting)', 'RATE_LIMITING_CONCURRENCY')\r\n return\r\n }\r\n }\r\n if (maxIpConnections > 0) {\r\n if (_.has(connections, socket.conn.remoteAddress)) {\r\n const nbIpConnections = _.get(connections, socket.conn.remoteAddress) + 1\r\n debug('Total number of connections for', socket.id, socket.conn.remoteAddress, nbConnections)\r\n _.set(connections, socket.conn.remoteAddress, nbIpConnections)\r\n if (nbIpConnections > maxIpConnections) {\r\n tooManyRequests(socket, 'Too many concurrent connections (rate limiting)', 'RATE_LIMITING_CONCURRENCY')\r\n return\r\n }\r\n } else {\r\n _.set(connections, socket.conn.remoteAddress, 1)\r\n }\r\n }\r\n /* For debug purpose: trace all data received\r\n socket.use((packet, next) => {\r\n console.log(packet)\r\n next()\r\n })\r\n */\r\n if (apiLimiter && apiLimiter.websocket) {\r\n const { tokensPerInterval, interval } = apiLimiter.websocket\r\n // Function used to filter whitelisted services, defaults to none\r\n const services = _.get(apiLimiter.websocket, 'services', (service) => false)\r\n socket.socketLimiter = new SocketLimiter(tokensPerInterval, interval)\r\n socket.use((packet, next) => {\r\n if (packet.length > 0) {\r\n // Packets are formatted according to service interface,\r\n // e.g. like [service_method, service_path, id or data, params]\r\n // Bypass rate limiting on whitelist\r\n if ((packet.length > 1) && (typeof packet[1] === 'string')) {\r\n const service = app.service(packet[1])\r\n if (service && services(service)) {\r\n debugLimiter('By-pass rate limiting on whitelisted service operation', socket.id, socket.conn.remoteAddress, packet[0], packet[1])\r\n next()\r\n return\r\n }\r\n }\r\n debugLimiter(socket.socketLimiter.getTokensRemaining() + ' remaining API token for socket', socket.id, socket.conn.remoteAddress)\r\n if (!socket.socketLimiter.tryRemoveTokens(1)) { // if exceeded\r\n tooManyRequests(socket, 'Too many requests in a given amount of time (rate limiting)', 'RATE_LIMITING')\r\n // FIXME: calling this causes a client timeout\r\n // next(error)\r\n // Need to normalize the error object as JSON\r\n // let result = {}\r\n // Object.getOwnPropertyNames(error).forEach(key => (result[key] = error[key]))\r\n // Trying to send error like in https://github.com/feathersjs/transport-commons/blob/auk/src/events.js#L103\r\n // does not work either (also generates a client timeout)\r\n // socket.emit(`${servicePath} error`, result)\r\n // socket.emit(result)\r\n return\r\n }\r\n }\r\n next()\r\n })\r\n }\r\n\r\n authSocket(app, socket)\r\n })\r\n }\r\n}\r\n\r\nexport function kalisio () {\r\n const app = express(feathers())\r\n // By default EventEmitters will print a warning if more than 10 listeners are added for a particular event.\r\n // The value can be set to Infinity (or 0) to indicate an unlimited number of listeners.\r\n app.setMaxListeners(0)\r\n // Load app configuration first\r\n app.configure(configuration())\r\n // Then setup logger\r\n setupLogger(app)\r\n\r\n // This retrieve corresponding service options from app config if any\r\n app.getServiceOptions = function (name) {\r\n const services = app.get('services')\r\n if (!services) return {}\r\n return _.get(services, name, {})\r\n }\r\n // This avoid managing the API path before each service name\r\n app.getService = function (path, context) {\r\n // Context is given as string ID\r\n if (context && typeof context === 'string') {\r\n return app.service(app.get('apiPath') + '/' + context + '/' + path)\r\n } else if (context && typeof context === 'object') {\r\n // Could be Object ID or raw object\r\n if (ObjectID.isValid(context)) return app.service(app.get('apiPath') + '/' + context.toString() + '/' + path)\r\n else return app.service(app.get('apiPath') + '/' + context._id.toString() + '/' + path)\r\n } else {\r\n return app.service(app.get('apiPath') + '/' + path)\r\n }\r\n }\r\n // This is used to add hooks/filters to services\r\n app.configureService = function (name, service, servicesPath) {\r\n return configureService(name, service, servicesPath)\r\n }\r\n // This is used to create standard services\r\n app.createService = function (name, options) {\r\n return createService(name, app, options)\r\n }\r\n // This is used to create webhooks\r\n app.createWebhook = function (path, options) {\r\n return createWebhook(path, app, options)\r\n }\r\n // Override Feathers configure that do not manage async operations,\r\n // here we also simply call the function given as parameter but await for it\r\n app.configure = async function (fn) {\r\n await fn.call(this, this)\r\n return this\r\n }\r\n const apiLimiter = app.get('apiLimiter')\r\n if (apiLimiter && apiLimiter.http) {\r\n // Function used to filter whitelisted services, defaults to none\r\n const services = _.get(apiLimiter.http, 'services', (service) => false)\r\n const handler = (req, res, next) => {\r\n // Bypass rate limiting on whitelist\r\n let service\r\n try {\r\n const serviceUrl = new url.URL(req.originalUrl)\r\n service = app.service(serviceUrl.pathname)\r\n } catch (error) {\r\n debugLimiter(error)\r\n }\r\n if (service && services(service)) {\r\n debugLimiter('By-pass rate limiting on whitelisted service operation', req.method, path)\r\n next()\r\n } else {\r\n const error = new TooManyRequests('Too many requests in a given amount of time (rate limiting)',\r\n { translation: { key: 'RATE_LIMITING' } })\r\n res.status(error.code)\r\n res.set('Content-Type', 'application/json')\r\n res.json(Object.assign({}, error.toJSON()))\r\n }\r\n }\r\n app.use(app.get('apiPath'), new HttpLimiter(Object.assign({ handler }, apiLimiter.http)))\r\n }\r\n\r\n // Enable CORS, security, compression, and body parsing\r\n app.use(cors(app.get('cors')))\r\n app.use(helmet(app.get('helmet')))\r\n app.use(compress(app.get('compression')))\r\n const bodyParserConfig = app.get('bodyParser')\r\n app.use(bodyParser.json(_.get(bodyParserConfig, 'json')))\r\n app.use(bodyParser.urlencoded(Object.assign({ extended: true }, _.get(bodyParserConfig, 'urlencoded'))))\r\n\r\n // Set up plugins and providers\r\n app.configure(rest())\r\n const socketioConfig = app.get('socketio') || {}\r\n app.configure(socketio(Object.assign({ path: app.get('apiPath') + 'ws' }, socketioConfig), setupSockets(app)))\r\n app.configure(auth)\r\n\r\n // Initialize DB\r\n app.db = Database.create(app)\r\n\r\n return app\r\n}\r\n"]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3abd0fd006dbb283664bc6f1625ec33c3a9d1dbb","contentHash":"532f6732b6cf5996fe8030a6998ce32fe51f099ecec054027449584f30a84997"}}