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,36 +19,25 @@
18
19
  * See the License for the specific language governing permissions and
19
20
  * limitations under the License.
20
21
  */
21
- "use strict";
22
22
  /**
23
- * @class BaseType
23
+ * Base class of every validation type, and the contract `Validation.addType`
24
+ * checks a plugin-provided type against.
25
+ *
26
+ * @typeParam TOptions - the `typeOptions` shape this type accepts, once
27
+ * `validateFieldSpecification` has run
28
+ * @typeParam TSpecification - the `typeOptions` shape a user writes, which
29
+ * `validateFieldSpecification` checks and normalises into `TOptions`; the
30
+ * same shape unless the type converts something
24
31
  */
25
32
  class BaseType {
26
- /**
27
- * Validate a document against a registered field type validator
28
- *
29
- * @param {TypeOptions} typeOptions
30
- * @param {*} fieldValue
31
- * @param {string[]} errorMessages
32
- * @returns {boolean}
33
- */
34
33
  validate() {
35
34
  return true;
36
35
  }
37
- /**
38
- * Validate a field specification itself
39
- *
40
- * @param {TypeOptions} typeOptions
41
- * @returns {TypeOptions}
42
- * @throws {KuzzleError}
43
- */
44
36
  validateFieldSpecification(opts) {
45
37
  return opts;
46
38
  }
47
39
  /**
48
- * @param {*} object
49
- * @param {string[]} allowedProperties
50
- * @returns {boolean}
40
+ * Narrows `object` to a plain object holding none but the allowed properties.
51
41
  */
52
42
  checkAllowedProperties(object, allowedProperties) {
53
43
  if (typeof object !== "object" ||
@@ -55,13 +45,8 @@ class BaseType {
55
45
  object === null) {
56
46
  return false;
57
47
  }
58
- return !Object.keys(object).some((propertyName) => allowedProperties.indexOf(propertyName) === -1);
48
+ return !Object.keys(object).some((propertyName) => !allowedProperties.includes(propertyName));
59
49
  }
60
- /**
61
- * @param {StructuredFieldSpecification} fieldSpec
62
- * @param {boolean} parentStrictness
63
- * @returns {boolean}
64
- */
65
50
  getStrictness(fieldSpec, parentStrictness) {
66
51
  return parentStrictness;
67
52
  }
@@ -0,0 +1,148 @@
1
+ import type { JSONObject } from "../../types/JSONObject";
2
+ import type { TypeOptions } from "./typeOptions";
3
+ /**
4
+ * The shapes a collection validation specification passes through.
5
+ *
6
+ * Like `typeOptions` before it ([step 09](../../../docs/adr-001/steps/09-sprint-6-core-ii.md)),
7
+ * every name here existed only as a JSDoc `@typedef` that was never declared:
8
+ * `FieldSpecification`, `StructuredFieldSpecification`, `CollectionSpecification`
9
+ * and `DocumentSpecification` were written in annotations across
10
+ * `validation.js` and `default.config.ts` and resolved to nothing.
11
+ *
12
+ * The distinction the JSDoc could not draw, and which is the whole reason this
13
+ * file has four types rather than one, is **before and after curation**. What a
14
+ * user submits is a flat map of path-keyed fields with almost everything
15
+ * optional; what the validator walks at runtime is a tree, with defaults filled
16
+ * in and `path`/`depth`/`children` added. `curateCollectionSpecification` is
17
+ * the boundary between the two.
18
+ */
19
+ /** A field's multivalued constraints, as submitted. */
20
+ export interface MultivaluedSpecification {
21
+ value: boolean;
22
+ minCount?: number;
23
+ maxCount?: number;
24
+ }
25
+ /**
26
+ * One field of a collection specification, as submitted. Keys of the enclosing
27
+ * map are `/`-separated paths (`"address/city"`), which is what gives the tree
28
+ * its shape once curated.
29
+ */
30
+ export interface FieldSpecification {
31
+ type: string;
32
+ mandatory?: boolean;
33
+ defaultValue?: unknown;
34
+ description?: string;
35
+ multivalued?: MultivaluedSpecification;
36
+ typeOptions?: TypeOptions;
37
+ }
38
+ /**
39
+ * A field once curated, as it sits in the tree `curateStructuredFields` builds.
40
+ *
41
+ * The tree's **root** is the single node carrying `root: true` and no `type`:
42
+ * it holds children and nothing else. Every other node is a curated field, so
43
+ * the properties `curateFieldSpecification` guarantees (`mandatory`,
44
+ * `multivalued`, `typeOptions`) are optional here only because the root does
45
+ * not have them.
46
+ */
47
+ export interface StructuredFieldSpecification {
48
+ /** Set on the tree root, and only there. */
49
+ root?: boolean;
50
+ type?: string;
51
+ /** The field's key split on `/` — `["address", "city"]`. */
52
+ path?: string[];
53
+ /** `path.length`; the depth counting starts at 1. */
54
+ depth?: number;
55
+ mandatory?: boolean;
56
+ defaultValue?: unknown;
57
+ description?: string;
58
+ multivalued?: MultivaluedSpecification;
59
+ typeOptions?: TypeOptions;
60
+ children?: Record<string, CuratedFieldSpecification>;
61
+ }
62
+ /**
63
+ * A node hanging off some `children` map: always a curated field, never the
64
+ * root. Everything the root is missing is present here, because it is
65
+ * `curateFieldSpecification` that puts it there —
66
+ *
67
+ * - `type` is checked by `curateFieldSpecificationFormat` before anything else;
68
+ * - `mandatory` and `multivalued.value` are filled by its `defaultsDeep`;
69
+ * - `typeOptions` defaults to `{}` and is then replaced by whatever the owning
70
+ * type's `validateFieldSpecification` answers;
71
+ * - `path` and `depth` are set by `curateCollectionSpecification` on the way
72
+ * into the tree.
73
+ *
74
+ * Splitting this out is what lets the walkers stop asking whether each of them
75
+ * is there: they only ever receive children, and a child is always curated.
76
+ */
77
+ export interface CuratedFieldSpecification extends StructuredFieldSpecification {
78
+ root?: false;
79
+ type: string;
80
+ path: string[];
81
+ depth: number;
82
+ mandatory: boolean;
83
+ multivalued: MultivaluedSpecification;
84
+ typeOptions: TypeOptions;
85
+ children?: Record<string, CuratedFieldSpecification>;
86
+ }
87
+ /**
88
+ * A field once `curateFieldSpecification` is done with it, and before the tree
89
+ * gives it its place: everything a curated field carries except `path` and
90
+ * `depth`, which `structureCollectionValidation` assigns from the field's key.
91
+ */
92
+ export type UnplacedCuratedField = Omit<CuratedFieldSpecification, "path" | "depth"> & {
93
+ path?: string[];
94
+ depth?: number;
95
+ };
96
+ /** A collection's specification, as submitted. */
97
+ export interface CollectionSpecification {
98
+ strict?: boolean;
99
+ fields?: Record<string, FieldSpecification>;
100
+ validators?: JSONObject[];
101
+ }
102
+ /**
103
+ * A collection's specification once curated: the fields are a tree, and
104
+ * `validators` has been replaced by the Koncorde filter id registered for it
105
+ * (or `null` on a dry run, and when the collection declares no validator).
106
+ */
107
+ export interface CuratedCollectionSpecification {
108
+ strict: boolean;
109
+ fields: StructuredFieldSpecification;
110
+ validators: string | null;
111
+ }
112
+ /** Curated specifications, by index then collection. */
113
+ export type DocumentSpecification = Record<string, Record<string, CuratedCollectionSpecification>>;
114
+ /** Raw specifications as they are stored, by index then collection. */
115
+ export type RawSpecification = Record<string, Record<string, CollectionSpecification>>;
116
+ /**
117
+ * The configuration's startup specifications (`validation`), read as what
118
+ * they are. The configuration's type declares them `Record<string, unknown>`
119
+ * — it is public, and that is what v2.56.0 declared — and what they hold is
120
+ * checked specification by specification when it is curated.
121
+ */
122
+ export declare function configuredSpecifications(): RawSpecification;
123
+ /**
124
+ * What the curation methods answer when asked not to fail fast. `errors` is
125
+ * present exactly when `isValid` is false.
126
+ */
127
+ export interface SpecificationValidationResult {
128
+ isValid: boolean;
129
+ errors?: string[];
130
+ }
131
+ /**
132
+ * Verbose validation errors, keyed by where they happened. A field's messages
133
+ * hang off the tree at its own path, so a caller can report them in place.
134
+ */
135
+ export interface FieldErrorScope {
136
+ children?: Record<string, FieldErrorScope>;
137
+ messages?: string[];
138
+ }
139
+ export interface VerboseErrorMessages {
140
+ documentScope?: string[];
141
+ fieldScope?: FieldErrorScope;
142
+ }
143
+ /**
144
+ * Where validation errors are collected. A flat list when `verbose` is false —
145
+ * in which case nothing is ever pushed to it, because the first failure throws
146
+ * — and the structured holder above when it is true.
147
+ */
148
+ export type ErrorMessages = string[] | VerboseErrorMessages;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /*
3
+ * Kuzzle, a backend software, self-hostable and ready to use
4
+ * to power modern apps
5
+ *
6
+ * Copyright 2015-2022 Kuzzle
7
+ * mailto: support AT kuzzle.io
8
+ * website: http://kuzzle.io
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * https://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.configuredSpecifications = void 0;
24
+ /**
25
+ * The configuration's startup specifications (`validation`), read as what
26
+ * they are. The configuration's type declares them `Record<string, unknown>`
27
+ * — it is public, and that is what v2.56.0 declared — and what they hold is
28
+ * checked specification by specification when it is curated.
29
+ */
30
+ function configuredSpecifications() {
31
+ return global.kuzzle.config.validation;
32
+ }
33
+ exports.configuredSpecifications = configuredSpecifications;
34
+ //# sourceMappingURL=specification.js.map
@@ -0,0 +1,62 @@
1
+ import type { Moment } from "moment";
2
+ /**
3
+ * A field's `typeOptions`: an arbitrary, user-provided object, narrowed by each
4
+ * validation type into the shape that type actually accepts.
5
+ *
6
+ * The narrowed shapes below describe the options **after**
7
+ * `validateFieldSpecification` has run: that method is what rejects the invalid
8
+ * ones and fills the defaults in, so `validate` may rely on them.
9
+ */
10
+ export type TypeOptions = Record<string, unknown>;
11
+ /**
12
+ * Bounds of a `date` range, as `validateFieldSpecification` leaves them: either
13
+ * a parsed moment, or the `NOW` literal kept verbatim so that it is resolved at
14
+ * validation time rather than at specification time.
15
+ */
16
+ export type DateRangeBound = Moment | "NOW";
17
+ export interface DateTypeOptions extends TypeOptions {
18
+ formats?: string[];
19
+ range?: {
20
+ min?: DateRangeBound;
21
+ max?: DateRangeBound;
22
+ };
23
+ }
24
+ /**
25
+ * Bounds of a `date` range as a user writes them, before
26
+ * `validateFieldSpecification` converts them into {@link DateRangeBound}s: an
27
+ * ISO 8601 string, an epoch number, or `NOW`.
28
+ */
29
+ export type DateSpecificationBound = string | number;
30
+ /** The `date` type's `typeOptions` as a user writes them. */
31
+ export interface DateSpecification extends TypeOptions {
32
+ formats?: string[];
33
+ range?: {
34
+ min?: DateSpecificationBound;
35
+ max?: DateSpecificationBound;
36
+ };
37
+ }
38
+ export interface EnumTypeOptions extends TypeOptions {
39
+ values?: string[];
40
+ }
41
+ export interface GeoShapeTypeOptions extends TypeOptions {
42
+ shapeTypes?: string[];
43
+ }
44
+ /** Shared by the `email`, `ip_address` and `url` types. */
45
+ export interface NotEmptyTypeOptions extends TypeOptions {
46
+ notEmpty?: boolean;
47
+ }
48
+ export interface NumericTypeOptions extends TypeOptions {
49
+ range?: {
50
+ min?: number;
51
+ max?: number;
52
+ };
53
+ }
54
+ export interface ObjectTypeOptions extends TypeOptions {
55
+ strict?: boolean;
56
+ }
57
+ export interface StringTypeOptions extends TypeOptions {
58
+ length?: {
59
+ min?: number;
60
+ max?: number;
61
+ };
62
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /*
3
+ * Kuzzle, a backend software, self-hostable and ready to use
4
+ * to power modern apps
5
+ *
6
+ * Copyright 2015-2022 Kuzzle
7
+ * mailto: support AT kuzzle.io
8
+ * website: http://kuzzle.io
9
+ *
10
+ * Licensed under the Apache License, Version 2.0 (the "License");
11
+ * you may not use this file except in compliance with the License.
12
+ * You may obtain a copy of the License at
13
+ *
14
+ * https://www.apache.org/licenses/LICENSE-2.0
15
+ *
16
+ * Unless required by applicable law or agreed to in writing, software
17
+ * distributed under the License is distributed on an "AS IS" BASIS,
18
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
+ * See the License for the specific language governing permissions and
20
+ * limitations under the License.
21
+ */
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ //# sourceMappingURL=typeOptions.js.map
@@ -1,10 +1,7 @@
1
- export = AnythingType;
2
- /**
3
- * @class AnythingType
4
- */
1
+ import BaseType from "../baseType";
5
2
  declare class AnythingType extends BaseType {
6
3
  typeName: string;
7
4
  allowChildren: boolean;
8
- allowedTypeOptions: any[];
5
+ allowedTypeOptions: string[];
9
6
  }
10
- import BaseType = require("../baseType");
7
+ export = AnythingType;
@@ -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,14 +19,13 @@
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 BaseType = require("../baseType");
23
- /**
24
- * @class AnythingType
25
- */
26
- class AnythingType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const baseType_1 = __importDefault(require("../baseType"));
26
+ class AnythingType extends baseType_1.default {
27
27
  constructor() {
28
- super();
28
+ super(...arguments);
29
29
  this.typeName = "anything";
30
30
  this.allowChildren = false;
31
31
  this.allowedTypeOptions = [];
@@ -1,16 +1,9 @@
1
- export = BooleanType;
2
- /**
3
- * @class BooleanType
4
- */
1
+ import BaseType from "../baseType";
2
+ import type { TypeOptions } from "../typeOptions";
5
3
  declare class BooleanType extends BaseType {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
- allowedTypeOptions: any[];
9
- /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- */
14
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
6
+ allowedTypeOptions: string[];
7
+ validate(typeOptions: TypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
15
8
  }
16
- import BaseType = require("../baseType");
9
+ export = BooleanType;
@@ -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,23 +19,17 @@
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 BaseType = require("../baseType");
23
- /**
24
- * @class BooleanType
25
- */
26
- class BooleanType extends BaseType {
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
25
+ const baseType_1 = __importDefault(require("../baseType"));
26
+ class BooleanType extends baseType_1.default {
27
27
  constructor() {
28
- super();
28
+ super(...arguments);
29
29
  this.typeName = "boolean";
30
30
  this.allowChildren = false;
31
31
  this.allowedTypeOptions = [];
32
32
  }
33
- /**
34
- * @param {TypeOptions} typeOptions
35
- * @param {*} fieldValue
36
- * @param {string[]} errorMessages
37
- */
38
33
  validate(typeOptions, fieldValue, errorMessages) {
39
34
  if (typeof fieldValue !== "boolean") {
40
35
  errorMessages.push("The field must be of type boolean.");
@@ -1,17 +1,25 @@
1
- export = DateType;
2
- /**
3
- * @class DateType
4
- */
5
- declare class DateType extends BaseType {
1
+ import BaseType from "../baseType";
2
+ import type { DateSpecification, DateTypeOptions } from "../typeOptions";
3
+ declare class DateType extends BaseType<DateTypeOptions, DateSpecification> {
6
4
  typeName: string;
7
5
  allowChildren: boolean;
8
6
  allowedTypeOptions: string[];
7
+ validate(typeOptions: DateTypeOptions, fieldValue: unknown, errorMessages: string[]): boolean;
8
+ /**
9
+ * Normalises the specification **in place**, as it always has — the caller's
10
+ * object is the one it answers — which is why the result is `Object.assign`ed
11
+ * onto it rather than built beside it.
12
+ *
13
+ * @throws {PreconditionError}
14
+ */
15
+ validateFieldSpecification(specification: DateSpecification): DateTypeOptions;
9
16
  /**
10
- * @param {TypeOptions} typeOptions
11
- * @param {*} fieldValue
12
- * @param {string[]} errorMessages
13
- * @returns {boolean}
17
+ * Converts `range`'s bounds, in place: each becomes a moment, except `NOW`,
18
+ * which is kept verbatim so that it resolves at validation time rather than
19
+ * at specification time.
20
+ *
21
+ * @throws {PreconditionError}
14
22
  */
15
- validate(typeOptions: TypeOptions, fieldValue: any, errorMessages: string[]): boolean;
23
+ private validateRange;
16
24
  }
17
- import BaseType = require("../baseType");
25
+ export = DateType;