kuzzle 2.56.0 → 2.57.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (408) hide show
  1. package/dist/bin/copy-binaries.js +71 -4
  2. package/dist/bin/start-kuzzle-server +191 -97
  3. package/dist/index.d.ts +31 -1
  4. package/dist/index.js +45 -2
  5. package/dist/lib/api/controllers/adminController.d.ts +4 -3
  6. package/dist/lib/api/controllers/adminController.js +1 -2
  7. package/dist/lib/api/controllers/authController.d.ts +37 -16
  8. package/dist/lib/api/controllers/authController.js +88 -39
  9. package/dist/lib/api/controllers/baseController.d.ts +10 -5
  10. package/dist/lib/api/controllers/baseController.js +36 -15
  11. package/dist/lib/api/controllers/bulkController.d.ts +11 -7
  12. package/dist/lib/api/controllers/bulkController.js +28 -5
  13. package/dist/lib/api/controllers/clusterController.d.ts +2 -2
  14. package/dist/lib/api/controllers/clusterController.js +3 -3
  15. package/dist/lib/api/controllers/collectionController.d.ts +57 -21
  16. package/dist/lib/api/controllers/collectionController.js +40 -11
  17. package/dist/lib/api/controllers/debugController.d.ts +1 -1
  18. package/dist/lib/api/controllers/documentController.d.ts +137 -28
  19. package/dist/lib/api/controllers/documentController.js +156 -125
  20. package/dist/lib/api/controllers/index.d.ts +27 -12
  21. package/dist/lib/api/controllers/index.js +28 -13
  22. package/dist/lib/api/controllers/indexController.d.ts +17 -10
  23. package/dist/lib/api/controllers/indexController.js +13 -11
  24. package/dist/lib/api/controllers/memoryStorageController.d.ts +2 -5
  25. package/dist/lib/api/controllers/memoryStorageController.js +199 -127
  26. package/dist/lib/api/controllers/realtimeController.d.ts +19 -9
  27. package/dist/lib/api/controllers/realtimeController.js +8 -4
  28. package/dist/lib/api/controllers/securityController.d.ts +42 -29
  29. package/dist/lib/api/controllers/securityController.js +35 -19
  30. package/dist/lib/api/controllers/serverController.d.ts +114 -19
  31. package/dist/lib/api/controllers/serverController.js +69 -29
  32. package/dist/lib/api/documentExtractor.d.ts +9 -7
  33. package/dist/lib/api/documentExtractor.js +105 -41
  34. package/dist/lib/api/funnel.d.ts +131 -29
  35. package/dist/lib/api/funnel.js +436 -225
  36. package/dist/lib/api/httpRoutes.d.ts +16 -11
  37. package/dist/lib/api/httpRoutes.js +272 -2
  38. package/dist/lib/api/openapi/OpenApiManager.d.ts +1 -1
  39. package/dist/lib/api/openapi/openApiGenerator.d.ts +1 -1
  40. package/dist/lib/api/rateLimiter.d.ts +15 -5
  41. package/dist/lib/api/rateLimiter.js +42 -14
  42. package/dist/lib/api/request/kuzzleRequest.d.ts +83 -12
  43. package/dist/lib/api/request/kuzzleRequest.js +88 -23
  44. package/dist/lib/api/request/requestContext.d.ts +20 -5
  45. package/dist/lib/api/request/requestContext.js +14 -4
  46. package/dist/lib/api/request/requestInput.d.ts +37 -6
  47. package/dist/lib/api/request/requestInput.js +22 -9
  48. package/dist/lib/api/request/requestResponse.d.ts +45 -9
  49. package/dist/lib/api/request/requestResponse.js +34 -3
  50. package/dist/lib/cluster/command.d.ts +131 -37
  51. package/dist/lib/cluster/command.js +243 -71
  52. package/dist/lib/cluster/idCardHandler.d.ts +18 -5
  53. package/dist/lib/cluster/idCardHandler.js +52 -19
  54. package/dist/lib/cluster/index.d.ts +8 -2
  55. package/dist/lib/cluster/index.js +6 -2
  56. package/dist/lib/cluster/node.d.ts +127 -49
  57. package/dist/lib/cluster/node.js +412 -179
  58. package/dist/lib/cluster/protobuf/command.proto +18 -0
  59. package/dist/lib/cluster/protobuf/commandMessages.d.ts +104 -0
  60. package/dist/lib/cluster/protobuf/commandMessages.js +30 -0
  61. package/dist/lib/cluster/protobuf/syncMessages.d.ts +184 -0
  62. package/dist/lib/cluster/protobuf/syncMessages.js +23 -0
  63. package/dist/lib/cluster/publisher.d.ts +118 -78
  64. package/dist/lib/cluster/publisher.js +174 -72
  65. package/dist/lib/cluster/state.d.ts +15 -9
  66. package/dist/lib/cluster/state.js +12 -8
  67. package/dist/lib/cluster/subscriber.d.ts +185 -131
  68. package/dist/lib/cluster/subscriber.js +357 -95
  69. package/dist/lib/cluster/workers/IDCardRenewer.d.ts +39 -8
  70. package/dist/lib/cluster/workers/IDCardRenewer.js +88 -23
  71. package/dist/lib/config/default.config.d.ts +2 -2
  72. package/dist/lib/config/default.config.js +10 -3
  73. package/dist/lib/config/documentEventAliases.d.ts +1 -1
  74. package/dist/lib/config/index.d.ts +2 -5
  75. package/dist/lib/config/index.js +30 -17
  76. package/dist/lib/core/auth/formatProcessing.d.ts +3 -3
  77. package/dist/lib/core/auth/passportResponse.d.ts +1 -1
  78. package/dist/lib/core/auth/passportWrapper.d.ts +1 -1
  79. package/dist/lib/core/auth/passportWrapper.js +14 -13
  80. package/dist/lib/core/auth/tokenManager.d.ts +24 -3
  81. package/dist/lib/core/auth/tokenManager.js +47 -19
  82. package/dist/lib/core/backend/applicationManager.d.ts +2 -2
  83. package/dist/lib/core/backend/backend.d.ts +16 -5
  84. package/dist/lib/core/backend/backend.js +14 -6
  85. package/dist/lib/core/backend/backendCluster.d.ts +1 -1
  86. package/dist/lib/core/backend/backendConfig.d.ts +17 -5
  87. package/dist/lib/core/backend/backendConfig.js +1 -0
  88. package/dist/lib/core/backend/backendController.d.ts +1 -1
  89. package/dist/lib/core/backend/backendController.js +8 -1
  90. package/dist/lib/core/backend/backendErrors.d.ts +15 -8
  91. package/dist/lib/core/backend/backendErrors.js +5 -0
  92. package/dist/lib/core/backend/backendHook.d.ts +1 -1
  93. package/dist/lib/core/backend/backendImport.d.ts +1 -1
  94. package/dist/lib/core/backend/backendOpenApi.d.ts +3 -2
  95. package/dist/lib/core/backend/backendPipe.d.ts +1 -1
  96. package/dist/lib/core/backend/backendPipe.js +9 -1
  97. package/dist/lib/core/backend/backendPlugin.d.ts +2 -2
  98. package/dist/lib/core/backend/backendSubscription.d.ts +2 -2
  99. package/dist/lib/core/backend/backendVault.d.ts +1 -1
  100. package/dist/lib/core/backend/backendVault.js +8 -1
  101. package/dist/lib/core/cache/cacheEngine.d.ts +7 -4
  102. package/dist/lib/core/cache/cacheEngine.js +25 -8
  103. package/dist/lib/core/debug/kuzzleDebugger.d.ts +2 -1
  104. package/dist/lib/core/debug/kuzzleDebugger.js +31 -17
  105. package/dist/lib/core/network/accessLogger.d.ts +33 -18
  106. package/dist/lib/core/network/accessLogger.js +135 -73
  107. package/dist/lib/core/network/clientConnection.d.ts +13 -11
  108. package/dist/lib/core/network/clientConnection.js +33 -9
  109. package/dist/lib/core/network/context.d.ts +17 -22
  110. package/dist/lib/core/network/context.js +43 -26
  111. package/dist/lib/core/network/entryPoint.d.ts +38 -16
  112. package/dist/lib/core/network/entryPoint.js +119 -48
  113. package/dist/lib/core/network/httpRouter/index.d.ts +20 -50
  114. package/dist/lib/core/network/httpRouter/index.js +61 -75
  115. package/dist/lib/core/network/httpRouter/routeHandler.d.ts +17 -32
  116. package/dist/lib/core/network/httpRouter/routeHandler.js +26 -36
  117. package/dist/lib/core/network/httpRouter/routePart.d.ts +9 -18
  118. package/dist/lib/core/network/httpRouter/routePart.js +61 -43
  119. package/dist/lib/core/network/httpRouter/routeTypes.d.ts +3 -0
  120. package/dist/lib/core/network/httpRouter/routeTypes.js +23 -0
  121. package/dist/lib/core/network/networkEntryPoint.d.ts +20 -0
  122. package/dist/lib/core/network/networkEntryPoint.js +23 -0
  123. package/dist/lib/core/network/protocolManifest.d.ts +5 -4
  124. package/dist/lib/core/network/protocolManifest.js +6 -3
  125. package/dist/lib/core/network/protocols/httpMessage.d.ts +25 -18
  126. package/dist/lib/core/network/protocols/httpMessage.js +14 -11
  127. package/dist/lib/core/network/protocols/httpwsProtocol.d.ts +84 -93
  128. package/dist/lib/core/network/protocols/httpwsProtocol.js +284 -129
  129. package/dist/lib/core/network/protocols/internalProtocol.d.ts +26 -15
  130. package/dist/lib/core/network/protocols/internalProtocol.js +17 -16
  131. package/dist/lib/core/network/protocols/mqttProtocol.d.ts +56 -32
  132. package/dist/lib/core/network/protocols/mqttProtocol.js +91 -44
  133. package/dist/lib/core/network/protocols/protocol.d.ts +85 -21
  134. package/dist/lib/core/network/protocols/protocol.js +83 -27
  135. package/dist/lib/core/network/router.d.ts +13 -22
  136. package/dist/lib/core/network/router.js +59 -46
  137. package/dist/lib/core/plugin/plugin.d.ts +57 -51
  138. package/dist/lib/core/plugin/plugin.js +218 -103
  139. package/dist/lib/core/plugin/pluginContext.d.ts +54 -11
  140. package/dist/lib/core/plugin/pluginContext.js +99 -58
  141. package/dist/lib/core/plugin/pluginManifest.d.ts +6 -2
  142. package/dist/lib/core/plugin/pluginManifest.js +18 -11
  143. package/dist/lib/core/plugin/pluginRepository.d.ts +35 -44
  144. package/dist/lib/core/plugin/pluginRepository.js +35 -50
  145. package/dist/lib/core/plugin/pluginsManager.d.ts +128 -46
  146. package/dist/lib/core/plugin/pluginsManager.js +468 -231
  147. package/dist/lib/core/plugin/privilegedContext.d.ts +4 -9
  148. package/dist/lib/core/plugin/privilegedContext.js +5 -10
  149. package/dist/lib/core/realtime/actionEnum.d.ts +12 -21
  150. package/dist/lib/core/realtime/actionEnum.js +6 -7
  151. package/dist/lib/core/realtime/channel.d.ts +11 -5
  152. package/dist/lib/core/realtime/channel.js +17 -2
  153. package/dist/lib/core/realtime/connectionRooms.d.ts +2 -2
  154. package/dist/lib/core/realtime/hotelClerk.d.ts +12 -6
  155. package/dist/lib/core/realtime/hotelClerk.js +29 -11
  156. package/dist/lib/core/realtime/index.d.ts +8 -3
  157. package/dist/lib/core/realtime/index.js +12 -5
  158. package/dist/lib/core/realtime/notification/document.d.ts +54 -25
  159. package/dist/lib/core/realtime/notification/document.js +10 -13
  160. package/dist/lib/core/realtime/notification/index.d.ts +9 -3
  161. package/dist/lib/core/realtime/notification/index.js +10 -4
  162. package/dist/lib/core/realtime/notification/server.d.ts +7 -10
  163. package/dist/lib/core/realtime/notification/server.js +4 -7
  164. package/dist/lib/core/realtime/notification/user.d.ts +45 -21
  165. package/dist/lib/core/realtime/notification/user.js +8 -9
  166. package/dist/lib/core/realtime/notifier.d.ts +52 -40
  167. package/dist/lib/core/realtime/notifier.js +60 -25
  168. package/dist/lib/core/realtime/room.d.ts +1 -1
  169. package/dist/lib/core/realtime/subscription.d.ts +11 -6
  170. package/dist/lib/core/realtime/subscription.js +5 -1
  171. package/dist/lib/core/security/index.d.ts +14 -6
  172. package/dist/lib/core/security/index.js +27 -13
  173. package/dist/lib/core/security/profileRepository.d.ts +24 -19
  174. package/dist/lib/core/security/profileRepository.js +23 -10
  175. package/dist/lib/core/security/roleRepository.d.ts +60 -23
  176. package/dist/lib/core/security/roleRepository.js +122 -53
  177. package/dist/lib/core/security/securityLoader.d.ts +33 -18
  178. package/dist/lib/core/security/securityLoader.js +43 -16
  179. package/dist/lib/core/security/tokenRepository.d.ts +21 -7
  180. package/dist/lib/core/security/tokenRepository.js +50 -23
  181. package/dist/lib/core/security/userRepository.d.ts +44 -21
  182. package/dist/lib/core/security/userRepository.js +59 -19
  183. package/dist/lib/core/shared/KoncordeWrapper.d.ts +1 -1
  184. package/dist/lib/core/shared/ObjectRepository.d.ts +80 -18
  185. package/dist/lib/core/shared/ObjectRepository.js +57 -29
  186. package/dist/lib/core/shared/abstractManifest.d.ts +21 -8
  187. package/dist/lib/core/shared/abstractManifest.js +57 -17
  188. package/dist/lib/core/shared/sdk/embeddedSdk.d.ts +3 -1
  189. package/dist/lib/core/shared/sdk/embeddedSdk.js +8 -7
  190. package/dist/lib/core/shared/sdk/funnelProtocol.d.ts +2 -1
  191. package/dist/lib/core/shared/sdk/funnelProtocol.js +12 -3
  192. package/dist/lib/core/shared/sdk/impersonatedSdk.d.ts +11 -5
  193. package/dist/lib/core/shared/sdk/impersonatedSdk.js +22 -9
  194. package/dist/lib/core/shared/store.d.ts +45 -29
  195. package/dist/lib/core/shared/store.js +48 -27
  196. package/dist/lib/core/statistics/statistics.d.ts +1 -1
  197. package/dist/lib/core/storage/clientAdapter.d.ts +39 -21
  198. package/dist/lib/core/storage/clientAdapter.js +88 -48
  199. package/dist/lib/core/storage/indexCache.d.ts +8 -0
  200. package/dist/lib/core/storage/indexCache.js +16 -7
  201. package/dist/lib/core/storage/storageEngine.d.ts +7 -6
  202. package/dist/lib/core/storage/storageEngine.js +11 -8
  203. package/dist/lib/core/validation/baseType.d.ts +22 -22
  204. package/dist/lib/core/validation/baseType.js +11 -26
  205. package/dist/lib/core/validation/specification.d.ts +148 -0
  206. package/dist/lib/core/validation/specification.js +34 -0
  207. package/dist/lib/core/validation/typeOptions.d.ts +62 -0
  208. package/dist/lib/core/validation/typeOptions.js +23 -0
  209. package/dist/lib/core/validation/types/anything.d.ts +3 -6
  210. package/dist/lib/core/validation/types/anything.js +7 -7
  211. package/dist/lib/core/validation/types/boolean.d.ts +5 -12
  212. package/dist/lib/core/validation/types/boolean.js +7 -12
  213. package/dist/lib/core/validation/types/date.d.ts +19 -11
  214. package/dist/lib/core/validation/types/date.js +212 -161
  215. package/dist/lib/core/validation/types/email.d.ts +7 -11
  216. package/dist/lib/core/validation/types/email.js +13 -17
  217. package/dist/lib/core/validation/types/enum.d.ts +7 -11
  218. package/dist/lib/core/validation/types/enum.js +39 -20
  219. package/dist/lib/core/validation/types/geoPoint.d.ts +5 -13
  220. package/dist/lib/core/validation/types/geoPoint.js +10 -15
  221. package/dist/lib/core/validation/types/geoShape.d.ts +22 -21
  222. package/dist/lib/core/validation/types/geoShape.js +113 -129
  223. package/dist/lib/core/validation/types/geoShapeUtils.d.ts +15 -0
  224. package/dist/lib/core/validation/types/geoShapeUtils.js +75 -0
  225. package/dist/lib/core/validation/types/integer.d.ts +7 -5
  226. package/dist/lib/core/validation/types/integer.js +7 -13
  227. package/dist/lib/core/validation/types/ipAddress.d.ts +7 -11
  228. package/dist/lib/core/validation/types/ipAddress.js +13 -17
  229. package/dist/lib/core/validation/types/numeric.d.ts +7 -11
  230. package/dist/lib/core/validation/types/numeric.js +22 -29
  231. package/dist/lib/core/validation/types/object.d.ts +8 -15
  232. package/dist/lib/core/validation/types/object.js +12 -21
  233. package/dist/lib/core/validation/types/string.d.ts +7 -11
  234. package/dist/lib/core/validation/types/string.js +22 -29
  235. package/dist/lib/core/validation/types/url.d.ts +7 -11
  236. package/dist/lib/core/validation/types/url.js +14 -18
  237. package/dist/lib/core/validation/validation.d.ts +119 -80
  238. package/dist/lib/core/validation/validation.js +470 -412
  239. package/dist/lib/core/validation/validationUtils.d.ts +31 -0
  240. package/dist/lib/core/validation/validationUtils.js +190 -0
  241. package/dist/lib/kerror/codes/4-plugin.json +0 -12
  242. package/dist/lib/kerror/codes/index.d.ts +12 -2
  243. package/dist/lib/kerror/codes/index.js +5 -4
  244. package/dist/lib/kerror/errors/badRequestError.d.ts +1 -1
  245. package/dist/lib/kerror/errors/badRequestError.js +1 -1
  246. package/dist/lib/kerror/errors/externalServiceError.d.ts +1 -1
  247. package/dist/lib/kerror/errors/externalServiceError.js +1 -1
  248. package/dist/lib/kerror/errors/forbiddenError.d.ts +1 -1
  249. package/dist/lib/kerror/errors/forbiddenError.js +1 -1
  250. package/dist/lib/kerror/errors/gatewayTimeoutError.d.ts +1 -1
  251. package/dist/lib/kerror/errors/gatewayTimeoutError.js +1 -1
  252. package/dist/lib/kerror/errors/internalError.d.ts +1 -1
  253. package/dist/lib/kerror/errors/internalError.js +1 -1
  254. package/dist/lib/kerror/errors/kuzzleError.d.ts +32 -3
  255. package/dist/lib/kerror/errors/kuzzleError.js +21 -7
  256. package/dist/lib/kerror/errors/multipleErrorsError.d.ts +2 -2
  257. package/dist/lib/kerror/errors/multipleErrorsError.js +2 -2
  258. package/dist/lib/kerror/errors/notFoundError.d.ts +1 -1
  259. package/dist/lib/kerror/errors/notFoundError.js +1 -1
  260. package/dist/lib/kerror/errors/partialError.d.ts +8 -2
  261. package/dist/lib/kerror/errors/partialError.js +22 -9
  262. package/dist/lib/kerror/errors/pluginImplementationError.d.ts +9 -1
  263. package/dist/lib/kerror/errors/pluginImplementationError.js +9 -3
  264. package/dist/lib/kerror/errors/preconditionError.d.ts +1 -1
  265. package/dist/lib/kerror/errors/preconditionError.js +1 -1
  266. package/dist/lib/kerror/errors/serviceUnavailableError.d.ts +1 -1
  267. package/dist/lib/kerror/errors/serviceUnavailableError.js +1 -1
  268. package/dist/lib/kerror/errors/sizeLimitError.d.ts +1 -1
  269. package/dist/lib/kerror/errors/sizeLimitError.js +1 -1
  270. package/dist/lib/kerror/errors/tooManyRequestsError.d.ts +1 -1
  271. package/dist/lib/kerror/errors/tooManyRequestsError.js +1 -1
  272. package/dist/lib/kerror/errors/unauthorizedError.d.ts +1 -1
  273. package/dist/lib/kerror/errors/unauthorizedError.js +1 -1
  274. package/dist/lib/kerror/index.d.ts +19 -13
  275. package/dist/lib/kerror/index.js +60 -19
  276. package/dist/lib/kuzzle/Logger.d.ts +2 -2
  277. package/dist/lib/kuzzle/dumpGenerator.d.ts +12 -8
  278. package/dist/lib/kuzzle/dumpGenerator.js +130 -62
  279. package/dist/lib/kuzzle/event/KuzzleEventEmitter.d.ts +18 -9
  280. package/dist/lib/kuzzle/event/KuzzleEventEmitter.js +45 -18
  281. package/dist/lib/kuzzle/event/pipeRunner.d.ts +37 -16
  282. package/dist/lib/kuzzle/event/pipeRunner.js +73 -26
  283. package/dist/lib/kuzzle/event/waterfall.d.ts +11 -1
  284. package/dist/lib/kuzzle/event/waterfall.js +38 -13
  285. package/dist/lib/kuzzle/internalIndexHandler.d.ts +11 -174
  286. package/dist/lib/kuzzle/internalIndexHandler.js +58 -29
  287. package/dist/lib/kuzzle/kuzzle.d.ts +25 -10
  288. package/dist/lib/kuzzle/kuzzle.js +74 -17
  289. package/dist/lib/kuzzle/kuzzleStateEnum.d.ts +16 -12
  290. package/dist/lib/kuzzle/kuzzleStateEnum.js +5 -7
  291. package/dist/lib/kuzzle/vault.d.ts +5 -1
  292. package/dist/lib/kuzzle/vault.js +29 -17
  293. package/dist/lib/model/security/profile.d.ts +34 -5
  294. package/dist/lib/model/security/profile.js +6 -5
  295. package/dist/lib/model/security/rights.d.ts +12 -4
  296. package/dist/lib/model/security/rights.js +7 -6
  297. package/dist/lib/model/security/role.d.ts +8 -4
  298. package/dist/lib/model/security/role.js +12 -6
  299. package/dist/lib/model/security/token.d.ts +8 -0
  300. package/dist/lib/model/security/user.d.ts +8 -2
  301. package/dist/lib/model/security/user.js +7 -4
  302. package/dist/lib/model/storage/apiKey.d.ts +55 -26
  303. package/dist/lib/model/storage/apiKey.js +97 -24
  304. package/dist/lib/model/storage/baseModel.d.ts +77 -66
  305. package/dist/lib/model/storage/baseModel.js +21 -34
  306. package/dist/lib/service/cache/redis.d.ts +53 -36
  307. package/dist/lib/service/cache/redis.js +148 -71
  308. package/dist/lib/service/service.d.ts +14 -19
  309. package/dist/lib/service/service.js +41 -22
  310. package/dist/lib/service/storage/7/elasticsearch.d.ts +136 -93
  311. package/dist/lib/service/storage/7/elasticsearch.js +218 -165
  312. package/dist/lib/service/storage/7/esWrapper.d.ts +30 -13
  313. package/dist/lib/service/storage/7/esWrapper.js +58 -37
  314. package/dist/lib/service/storage/8/elasticsearch.d.ts +153 -119
  315. package/dist/lib/service/storage/8/elasticsearch.js +286 -213
  316. package/dist/lib/service/storage/8/esWrapper.d.ts +30 -13
  317. package/dist/lib/service/storage/8/esWrapper.js +59 -38
  318. package/dist/lib/service/storage/commons/queryTranslator.d.ts +3 -3
  319. package/dist/lib/service/storage/commons/queryTranslator.js +71 -35
  320. package/dist/lib/types/ApiRoute.d.ts +12 -0
  321. package/dist/lib/types/ApiRoute.js +23 -0
  322. package/dist/lib/types/ClientConnection.d.ts +1 -1
  323. package/dist/lib/types/EventHandler.d.ts +10 -0
  324. package/dist/lib/types/Global.d.ts +8 -3
  325. package/dist/lib/types/HttpMessage.d.ts +2 -2
  326. package/dist/lib/types/HttpStream.d.ts +1 -1
  327. package/dist/lib/types/HttpStream.js +3 -1
  328. package/dist/lib/types/JSONObject.d.ts +9 -0
  329. package/dist/lib/types/JSONObject.js +23 -0
  330. package/dist/lib/types/Kuzzle.d.ts +5 -3
  331. package/dist/lib/types/KuzzleDocument.d.ts +1 -1
  332. package/dist/lib/types/KuzzleWebSocket.d.ts +24 -0
  333. package/dist/lib/types/KuzzleWebSocket.js +23 -0
  334. package/dist/lib/types/OpenApiDefinition.d.ts +1 -1
  335. package/dist/lib/types/Plugin.d.ts +33 -8
  336. package/dist/lib/types/PluginInstance.d.ts +67 -0
  337. package/dist/lib/types/PluginInstance.js +23 -0
  338. package/dist/lib/types/Policy.d.ts +1 -1
  339. package/dist/lib/types/Target.d.ts +8 -0
  340. package/dist/lib/types/Token.d.ts +14 -2
  341. package/dist/lib/types/config/HttpConfiguration.d.ts +5 -0
  342. package/dist/lib/types/config/KuzzleConfiguration.d.ts +102 -1
  343. package/dist/lib/types/config/PluginsConfiguration.d.ts +3 -2
  344. package/dist/lib/types/config/SecurityConfiguration.d.ts +6 -2
  345. package/dist/lib/types/config/ServerConfiguration.d.ts +2 -2
  346. package/dist/lib/types/config/ServicesConfiguration.d.ts +1 -1
  347. package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.d.ts +131 -0
  348. package/dist/lib/types/config/cache/BaseCacheRedisConfiguration.js +3 -0
  349. package/dist/lib/types/config/internalCache/InternalCacheRedisConfiguration.d.ts +2 -106
  350. package/dist/lib/types/config/publicCache/PublicCacheRedisConfiguration.d.ts +2 -26
  351. package/dist/lib/types/config/storageEngine/StorageEngineElasticsearchConfiguration.d.ts +3 -0
  352. package/dist/lib/types/controllers/Controller.d.ts +12 -3
  353. package/dist/lib/types/controllers/ControllerDefinition.d.ts +2 -2
  354. package/dist/lib/types/controllers/{adminControlller.type.js → adminController.type.js} +1 -1
  355. package/dist/lib/types/controllers/authController.type.d.ts +2 -2
  356. package/dist/lib/types/core/auth/formatProcessing.type.d.ts +7 -1
  357. package/dist/lib/types/errors/ErrorDomains.d.ts +1 -1
  358. package/dist/lib/types/events/EventGenericDocument.d.ts +10 -9
  359. package/dist/lib/types/events/EventProtocol.d.ts +4 -4
  360. package/dist/lib/types/index.d.ts +7 -0
  361. package/dist/lib/types/index.js +7 -0
  362. package/dist/lib/types/shared/StoreCollectionsDefinition.d.ts +1 -1
  363. package/dist/lib/types/storage/7/Elasticsearch.d.ts +62 -13
  364. package/dist/lib/types/storage/8/Elasticsearch.d.ts +62 -13
  365. package/dist/lib/util/Inflector.d.ts +4 -1
  366. package/dist/lib/util/Inflector.js +0 -3
  367. package/dist/lib/util/assertType.d.ts +24 -27
  368. package/dist/lib/util/assertType.js +28 -39
  369. package/dist/lib/util/async.js +19 -6
  370. package/dist/lib/util/asyncStore.js +1 -1
  371. package/dist/lib/util/bufferedPassThrough.d.ts +9 -0
  372. package/dist/lib/util/bufferedPassThrough.js +27 -13
  373. package/dist/lib/util/bytes.d.ts +1 -1
  374. package/dist/lib/util/bytes.js +6 -2
  375. package/dist/lib/util/debug.d.ts +3 -1
  376. package/dist/lib/util/debug.js +42 -10
  377. package/dist/lib/util/deprecate.d.ts +9 -1
  378. package/dist/lib/util/deprecate.js +10 -6
  379. package/dist/lib/util/didYouMean.d.ts +2 -1
  380. package/dist/lib/util/didYouMean.js +8 -4
  381. package/dist/lib/util/distributedLock.d.ts +56 -0
  382. package/dist/lib/util/distributedLock.js +166 -0
  383. package/dist/lib/util/dump-collection.d.ts +1 -1
  384. package/dist/lib/util/dump-collection.js +4 -5
  385. package/dist/lib/util/extractFields.d.ts +15 -11
  386. package/dist/lib/util/extractFields.js +8 -9
  387. package/dist/lib/util/koncordeCompat.d.ts +2 -2
  388. package/dist/lib/util/koncordeCompat.js +33 -0
  389. package/dist/lib/util/memoize.d.ts +7 -6
  390. package/dist/lib/util/memoize.js +3 -3
  391. package/dist/lib/util/mutex.d.ts +22 -2
  392. package/dist/lib/util/mutex.js +39 -1
  393. package/dist/lib/util/name-generator.js +14 -2
  394. package/dist/lib/util/promback.d.ts +20 -11
  395. package/dist/lib/util/promback.js +14 -7
  396. package/dist/lib/util/requestAssertions.d.ts +30 -10
  397. package/dist/lib/util/requestAssertions.js +125 -121
  398. package/dist/lib/util/safeObject.d.ts +3 -3
  399. package/dist/lib/util/safeObject.js +7 -3
  400. package/dist/lib/util/stackTrace.d.ts +13 -5
  401. package/dist/lib/util/stackTrace.js +17 -12
  402. package/dist/lib/util/thrown.d.ts +13 -0
  403. package/dist/lib/util/thrown.js +46 -0
  404. package/dist/package.json +26 -19
  405. package/package.json +26 -19
  406. package/dist/lib/util/wildcard.d.ts +0 -1
  407. package/dist/lib/util/wildcard.js +0 -46
  408. /package/dist/lib/types/controllers/{adminControlller.type.d.ts → adminController.type.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,24 +19,21 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType"), validator = require("validator");
23
- /**
24
- * @class IpAddressType
25
- */
26
- class IpAddressType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const isIP_1 = __importDefault(require("validator/lib/isIP"));
26
+ const kerror_1 = require("../../../kerror");
27
+ const safeObject_1 = require("../../../util/safeObject");
28
+ const baseType_1 = __importDefault(require("../baseType"));
29
+ const kerror = (0, kerror_1.wrap)("validation", "assert");
30
+ class IpAddressType extends baseType_1.default {
27
31
  constructor() {
28
- super();
32
+ super(...arguments);
29
33
  this.typeName = "ip_address";
30
34
  this.allowChildren = false;
31
35
  this.allowedTypeOptions = ["notEmpty"];
32
36
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- * @returns {boolean}
38
- */
39
37
  validate(typeOptions, fieldValue, errorMessages) {
40
38
  if (typeof fieldValue !== "string") {
41
39
  errorMessages.push("The field must be a string.");
@@ -48,19 +46,17 @@ class IpAddressType extends BaseType {
48
46
  }
49
47
  return true;
50
48
  }
51
- if (!validator.isIP(fieldValue)) {
49
+ if (!(0, isIP_1.default)(fieldValue)) {
52
50
  errorMessages.push("The string must be a valid IP address.");
53
51
  return false;
54
52
  }
55
53
  return true;
56
54
  }
57
55
  /**
58
- * @param {TypeOptions} typeOptions
59
- * @returns {TypeOptions}
60
56
  * @throws {PreconditionError}
61
57
  */
62
58
  validateFieldSpecification(typeOptions) {
63
- if (!Object.prototype.hasOwnProperty.call(typeOptions, "notEmpty")) {
59
+ if (!(0, safeObject_1.has)(typeOptions, "notEmpty")) {
64
60
  typeOptions.notEmpty = false;
65
61
  }
66
62
  else if (typeof typeOptions.notEmpty !== "boolean") {
@@ -1,17 +1,13 @@
1
- export = NumericType;
2
- /**
3
- * @class NumericType
4
- */
5
- declare class NumericType extends BaseType {
1
+ import BaseType from "../baseType";
2
+ import type { NumericTypeOptions } from "../typeOptions";
3
+ declare class NumericType extends BaseType<NumericTypeOptions> {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
6
  allowedTypeOptions: string[];
7
+ validate(typeOptions: NumericTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
9
8
  /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- * @returns {boolean}
9
+ * @throws {PreconditionError}
14
10
  */
15
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
11
+ validateFieldSpecification(typeOptions: NumericTypeOptions): NumericTypeOptions;
16
12
  }
17
- import BaseType = require("../baseType");
13
+ export = NumericType;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,62 +19,54 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType");
23
- /**
24
- * @class NumericType
25
- */
26
- class NumericType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const kerror_1 = require("../../../kerror");
26
+ const safeObject_1 = require("../../../util/safeObject");
27
+ const baseType_1 = __importDefault(require("../baseType"));
28
+ const kerror = (0, kerror_1.wrap)("validation", "assert");
29
+ class NumericType extends baseType_1.default {
27
30
  constructor() {
28
- super();
31
+ super(...arguments);
29
32
  this.typeName = "numeric";
30
33
  this.allowChildren = false;
31
34
  this.allowedTypeOptions = ["range"];
32
35
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- * @returns {boolean}
38
- */
39
36
  validate(typeOptions, fieldValue, errorMessages) {
40
37
  if (typeof fieldValue !== "number") {
41
38
  errorMessages.push("The field must be a number.");
42
39
  return false;
43
40
  }
44
- if (Object.prototype.hasOwnProperty.call(typeOptions, "range")) {
45
- if (Object.prototype.hasOwnProperty.call(typeOptions.range, "min") &&
46
- fieldValue < typeOptions.range.min) {
47
- errorMessages.push(`Value ${fieldValue} is lesser than the allowed minimum (${typeOptions.range.min})`);
41
+ const { range } = typeOptions;
42
+ if (range) {
43
+ if (range.min !== undefined && fieldValue < range.min) {
44
+ errorMessages.push(`Value ${fieldValue} is lesser than the allowed minimum (${range.min})`);
48
45
  return false;
49
46
  }
50
- if (Object.prototype.hasOwnProperty.call(typeOptions.range, "max") &&
51
- fieldValue > typeOptions.range.max) {
52
- errorMessages.push(`Value ${fieldValue} is greater than the allowed maximum (${typeOptions.range.max})`);
47
+ if (range.max !== undefined && fieldValue > range.max) {
48
+ errorMessages.push(`Value ${fieldValue} is greater than the allowed maximum (${range.max})`);
53
49
  return false;
54
50
  }
55
51
  }
56
52
  return true;
57
53
  }
58
54
  /**
59
- * @param {TypeOptions} typeOptions
60
- * @returns {TypeOptions}
61
55
  * @throws {PreconditionError}
62
56
  */
63
57
  validateFieldSpecification(typeOptions) {
64
- if (Object.prototype.hasOwnProperty.call(typeOptions, "range")) {
65
- if (!this.checkAllowedProperties(typeOptions.range, ["min", "max"])) {
58
+ if ((0, safeObject_1.has)(typeOptions, "range")) {
59
+ const { range } = typeOptions;
60
+ if (!this.checkAllowedProperties(range, ["min", "max"])) {
66
61
  throw kerror.get("unexpected_properties", "range", "min, max");
67
62
  }
68
63
  for (const prop of ["min", "max"]) {
69
- if (Object.prototype.hasOwnProperty.call(typeOptions.range, prop) &&
70
- typeof typeOptions.range[prop] !== "number") {
64
+ if ((0, safeObject_1.has)(range, prop) && typeof range[prop] !== "number") {
71
65
  throw kerror.get("invalid_type", `range.${prop}`, "number");
72
66
  }
73
67
  }
74
- if (Object.prototype.hasOwnProperty.call(typeOptions.range, "min") &&
75
- Object.prototype.hasOwnProperty.call(typeOptions.range, "max") &&
76
- typeOptions.range.max < typeOptions.range.min) {
68
+ const { min, max } = range;
69
+ if (min !== undefined && max !== undefined && max < min) {
77
70
  throw kerror.get("invalid_range", "range", "min", "max");
78
71
  }
79
72
  }
@@ -1,24 +1,17 @@
1
- export = ObjectType;
2
- /**
3
- * @class ObjectType
4
- */
5
- declare class ObjectType extends BaseType {
1
+ import BaseType from "../baseType";
2
+ import type { ObjectTypeOptions } from "../typeOptions";
3
+ declare class ObjectType extends BaseType<ObjectTypeOptions> {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
6
  allowedTypeOptions: string[];
7
+ validate(typeOptions: ObjectTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
9
8
  /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- * @returns {boolean}
9
+ * @throws {PreconditionError}
14
10
  */
15
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
11
+ validateFieldSpecification(typeOptions: ObjectTypeOptions): ObjectTypeOptions;
16
12
  /**
17
- * @param {TypeOptions} typeOptions
18
- * @param {boolean} parentStrictness
19
- * @returns {boolean|TypeOptions}
20
13
  * @throws KuzzleInternalError
21
14
  */
22
- getStrictness(typeOptions: TypeOptions, parentStrictness: boolean): boolean | TypeOptions;
15
+ getStrictness(typeOptions: ObjectTypeOptions, parentStrictness: boolean): boolean;
23
16
  }
24
- import BaseType = require("../baseType");
17
+ export = ObjectType;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,24 +19,20 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType");
23
- /**
24
- * @class ObjectType
25
- */
26
- class ObjectType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const kerror_1 = require("../../../kerror");
26
+ const safeObject_1 = require("../../../util/safeObject");
27
+ const baseType_1 = __importDefault(require("../baseType"));
28
+ const kerror = (0, kerror_1.wrap)("validation", "assert");
29
+ class ObjectType extends baseType_1.default {
27
30
  constructor() {
28
- super();
31
+ super(...arguments);
29
32
  this.typeName = "object";
30
33
  this.allowChildren = true;
31
34
  this.allowedTypeOptions = ["strict"];
32
35
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- * @returns {boolean}
38
- */
39
36
  validate(typeOptions, fieldValue, errorMessages) {
40
37
  if (fieldValue === null ||
41
38
  typeof fieldValue !== "object" ||
@@ -46,25 +43,19 @@ class ObjectType extends BaseType {
46
43
  return true;
47
44
  }
48
45
  /**
49
- * @param {TypeOptions} typeOptions
50
- * @returns {TypeOptions}
51
46
  * @throws {PreconditionError}
52
47
  */
53
48
  validateFieldSpecification(typeOptions) {
54
- if (Object.prototype.hasOwnProperty.call(typeOptions, "strict") &&
55
- typeof typeOptions.strict !== "boolean") {
49
+ if ((0, safeObject_1.has)(typeOptions, "strict") && typeof typeOptions.strict !== "boolean") {
56
50
  throw kerror.get("invalid_type", "strict", "boolean");
57
51
  }
58
52
  return typeOptions;
59
53
  }
60
54
  /**
61
- * @param {TypeOptions} typeOptions
62
- * @param {boolean} parentStrictness
63
- * @returns {boolean|TypeOptions}
64
55
  * @throws KuzzleInternalError
65
56
  */
66
57
  getStrictness(typeOptions, parentStrictness) {
67
- if (!Object.prototype.hasOwnProperty.call(typeOptions, "strict")) {
58
+ if (typeOptions.strict === undefined) {
68
59
  return parentStrictness;
69
60
  }
70
61
  return typeOptions.strict;
@@ -1,17 +1,13 @@
1
- export = StringType;
2
- /**
3
- * @class StringType
4
- */
5
- declare class StringType extends BaseType {
1
+ import BaseType from "../baseType";
2
+ import type { StringTypeOptions } from "../typeOptions";
3
+ declare class StringType extends BaseType<StringTypeOptions> {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
6
  allowedTypeOptions: string[];
7
+ validate(typeOptions: StringTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
9
8
  /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- * @returns {boolean}
9
+ * @throws {PreconditionError}
14
10
  */
15
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
11
+ validateFieldSpecification(typeOptions: StringTypeOptions): StringTypeOptions;
16
12
  }
17
- import BaseType = require("../baseType");
13
+ export = StringType;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,63 +19,55 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType");
23
- /**
24
- * @class StringType
25
- */
26
- class StringType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const kerror_1 = require("../../../kerror");
26
+ const safeObject_1 = require("../../../util/safeObject");
27
+ const baseType_1 = __importDefault(require("../baseType"));
28
+ const kerror = (0, kerror_1.wrap)("validation", "assert");
29
+ class StringType extends baseType_1.default {
27
30
  constructor() {
28
- super();
31
+ super(...arguments);
29
32
  this.typeName = "string";
30
33
  this.allowChildren = false;
31
34
  this.allowedTypeOptions = ["length"];
32
35
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- * @returns {boolean}
38
- */
39
36
  validate(typeOptions, fieldValue, errorMessages) {
40
37
  if (typeof fieldValue !== "string") {
41
38
  errorMessages.push("The field must be a string.");
42
39
  return false;
43
40
  }
44
- if (!typeOptions.length) {
41
+ const { length } = typeOptions;
42
+ if (!length) {
45
43
  return true;
46
44
  }
47
- if (Object.prototype.hasOwnProperty.call(typeOptions.length, "min") &&
48
- fieldValue.length < typeOptions.length.min) {
49
- errorMessages.push(`Invalid string length. Expected min: ${typeOptions.length.min}. Received: ${fieldValue.length} ("${fieldValue}")`);
45
+ if (length.min !== undefined && fieldValue.length < length.min) {
46
+ errorMessages.push(`Invalid string length. Expected min: ${length.min}. Received: ${fieldValue.length} ("${fieldValue}")`);
50
47
  return false;
51
48
  }
52
- if (Object.prototype.hasOwnProperty.call(typeOptions.length, "max") &&
53
- fieldValue.length > typeOptions.length.max) {
54
- errorMessages.push(`Invalid string length. Expected max: ${typeOptions.length.max}. Received: ${fieldValue.length} ("${fieldValue}")`);
49
+ if (length.max !== undefined && fieldValue.length > length.max) {
50
+ errorMessages.push(`Invalid string length. Expected max: ${length.max}. Received: ${fieldValue.length} ("${fieldValue}")`);
55
51
  return false;
56
52
  }
57
53
  return true;
58
54
  }
59
55
  /**
60
- * @param {TypeOptions} typeOptions
61
- * @returns {TypeOptions}
62
56
  * @throws {PreconditionError}
63
57
  */
64
58
  validateFieldSpecification(typeOptions) {
65
- if (Object.prototype.hasOwnProperty.call(typeOptions, "length")) {
66
- if (!this.checkAllowedProperties(typeOptions.length, ["min", "max"])) {
59
+ if ((0, safeObject_1.has)(typeOptions, "length")) {
60
+ const { length } = typeOptions;
61
+ if (!this.checkAllowedProperties(length, ["min", "max"])) {
67
62
  throw kerror.get("unexpected_properties", "length", "min, max");
68
63
  }
69
64
  for (const prop of ["min", "max"]) {
70
- if (Object.prototype.hasOwnProperty.call(typeOptions.length, prop) &&
71
- typeof typeOptions.length[prop] !== "number") {
65
+ if ((0, safeObject_1.has)(length, prop) && typeof length[prop] !== "number") {
72
66
  throw kerror.get("invalid_type", `length.${prop}`, "number");
73
67
  }
74
68
  }
75
- if (Object.prototype.hasOwnProperty.call(typeOptions.length, "min") &&
76
- Object.prototype.hasOwnProperty.call(typeOptions.length, "max") &&
77
- typeOptions.length.min > typeOptions.length.max) {
69
+ const { min, max } = length;
70
+ if (min !== undefined && max !== undefined && min > max) {
78
71
  throw kerror.get("invalid_range", "length", "min", "max");
79
72
  }
80
73
  }
@@ -1,17 +1,13 @@
1
- export = UrlType;
2
- /**
3
- * @class UrlType
4
- */
5
- declare class UrlType extends BaseType {
1
+ import BaseType from "../baseType";
2
+ import type { NotEmptyTypeOptions } from "../typeOptions";
3
+ declare class UrlType extends BaseType<NotEmptyTypeOptions> {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
6
  allowedTypeOptions: string[];
7
+ validate(typeOptions: NotEmptyTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
9
8
  /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- * @returns {boolean}
9
+ * @throws {PreconditionError}
14
10
  */
15
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
11
+ validateFieldSpecification(typeOptions: NotEmptyTypeOptions): NotEmptyTypeOptions;
16
12
  }
17
- import BaseType = require("../baseType");
13
+ export = UrlType;
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  /*
2
3
  * Kuzzle, a backend software, self-hostable and ready to use
3
4
  * to power modern apps
@@ -18,24 +19,21 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
- const kerror = require("../../../kerror").wrap("validation", "assert"), BaseType = require("../baseType"), validator = require("validator");
23
- /**
24
- * @class UrlType
25
- */
26
- class UrlType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const isURL_1 = __importDefault(require("validator/lib/isURL"));
26
+ const kerror_1 = require("../../../kerror");
27
+ const safeObject_1 = require("../../../util/safeObject");
28
+ const baseType_1 = __importDefault(require("../baseType"));
29
+ const kerror = (0, kerror_1.wrap)("validation", "assert");
30
+ class UrlType extends baseType_1.default {
27
31
  constructor() {
28
- super();
32
+ super(...arguments);
29
33
  this.typeName = "url";
30
34
  this.allowChildren = false;
31
35
  this.allowedTypeOptions = ["notEmpty"];
32
36
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- * @returns {boolean}
38
- */
39
37
  validate(typeOptions, fieldValue, errorMessages) {
40
38
  if (typeof fieldValue !== "string") {
41
39
  errorMessages.push("The field must be a string.");
@@ -48,19 +46,17 @@ class UrlType extends BaseType {
48
46
  }
49
47
  return true;
50
48
  }
51
- if (!validator.isURL(fieldValue)) {
49
+ if (!(0, isURL_1.default)(fieldValue)) {
52
50
  errorMessages.push("The string must be a valid URL.");
53
51
  return false;
54
52
  }
55
53
  return true;
56
54
  }
57
55
  /**
58
- * @param {TypeOptions} typeOptions
59
- * @returns {TypeOptions}
60
- * @throws PreconditionError
56
+ * @throws {PreconditionError}
61
57
  */
62
58
  validateFieldSpecification(typeOptions) {
63
- if (!Object.prototype.hasOwnProperty.call(typeOptions, "notEmpty")) {
59
+ if (!(0, safeObject_1.has)(typeOptions, "notEmpty")) {
64
60
  typeOptions.notEmpty = false;
65
61
  }
66
62
  else if (typeof typeOptions.notEmpty !== "boolean") {