@prosopo/user-access-policy 2.6.3 → 3.1.4

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 (371) hide show
  1. package/CHANGELOG.md +83 -0
  2. package/dist/accessPolicy.d.ts +169 -0
  3. package/dist/accessPolicy.d.ts.map +1 -0
  4. package/dist/accessPolicy.js +65 -0
  5. package/dist/accessPolicy.js.map +1 -0
  6. package/dist/accessPolicyResolver.d.ts +115 -0
  7. package/dist/accessPolicyResolver.d.ts.map +1 -0
  8. package/dist/accessPolicyResolver.js +44 -0
  9. package/dist/accessPolicyResolver.js.map +1 -0
  10. package/dist/accessRules.d.ts +16 -0
  11. package/dist/accessRules.d.ts.map +1 -0
  12. package/dist/accessRules.js +8 -0
  13. package/dist/accessRules.js.map +1 -0
  14. package/dist/api/accessRuleApiRoutes.d.ts +27 -0
  15. package/dist/api/accessRuleApiRoutes.d.ts.map +1 -0
  16. package/dist/api/accessRuleApiRoutes.js +56 -0
  17. package/dist/api/accessRuleApiRoutes.js.map +1 -0
  18. package/dist/api/deleteAllRulesEndpoint.d.ts +12 -0
  19. package/dist/api/deleteAllRulesEndpoint.d.ts.map +1 -0
  20. package/dist/api/deleteAllRulesEndpoint.js +21 -0
  21. package/dist/api/deleteAllRulesEndpoint.js.map +1 -0
  22. package/dist/api/deleteRulesEndpoint.d.ts +116 -0
  23. package/dist/api/deleteRulesEndpoint.d.ts.map +1 -0
  24. package/dist/api/deleteRulesEndpoint.js +31 -0
  25. package/dist/api/deleteRulesEndpoint.js.map +1 -0
  26. package/dist/api/insertRulesEndpoint.d.ts +22 -0
  27. package/dist/api/insertRulesEndpoint.d.ts.map +1 -0
  28. package/dist/api/insertRulesEndpoint.js +62 -0
  29. package/dist/api/insertRulesEndpoint.js.map +1 -0
  30. package/dist/cjs/accessPolicy.cjs +79 -0
  31. package/dist/cjs/accessPolicyResolver.cjs +87 -0
  32. package/dist/cjs/accessRules.cjs +11 -0
  33. package/dist/cjs/api/accessRuleApiRoutes.cjs +79 -0
  34. package/dist/cjs/api/deleteAllRulesEndpoint.cjs +24 -0
  35. package/dist/cjs/api/deleteRulesEndpoint.cjs +34 -0
  36. package/dist/cjs/api/insertRulesEndpoint.cjs +65 -0
  37. package/dist/cjs/index.cjs +22 -23
  38. package/dist/cjs/redis/redisAccessRules.cjs +140 -0
  39. package/dist/cjs/redis/redisAccessRulesIndex.cjs +103 -0
  40. package/dist/cjs/redis/redisIndex.cjs +22 -0
  41. package/dist/cjs/util.cjs +5 -0
  42. package/dist/index.d.ts +13 -15
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +14 -20
  45. package/dist/index.js.map +1 -1
  46. package/dist/redis/redisAccessRules.d.ts +7 -0
  47. package/dist/redis/redisAccessRules.d.ts.map +1 -0
  48. package/dist/redis/redisAccessRules.js +105 -0
  49. package/dist/redis/redisAccessRules.js.map +1 -0
  50. package/dist/redis/redisAccessRulesIndex.d.ts +12 -0
  51. package/dist/redis/redisAccessRulesIndex.d.ts.map +1 -0
  52. package/dist/redis/redisAccessRulesIndex.js +81 -0
  53. package/dist/redis/redisAccessRulesIndex.js.map +1 -0
  54. package/dist/redis/redisIndex.d.ts +9 -0
  55. package/dist/redis/redisIndex.d.ts.map +1 -0
  56. package/dist/redis/redisIndex.js +23 -0
  57. package/dist/redis/redisIndex.js.map +1 -0
  58. package/dist/tests/accessPolicy.test.d.ts +2 -0
  59. package/dist/tests/accessPolicy.test.d.ts.map +1 -0
  60. package/dist/tests/accessPolicy.test.js +27 -0
  61. package/dist/tests/accessPolicy.test.js.map +1 -0
  62. package/dist/tests/redis/redisAccessRules.test.d.ts +2 -0
  63. package/dist/tests/redis/redisAccessRules.test.d.ts.map +1 -0
  64. package/dist/tests/redis/redisAccessRules.test.js +398 -0
  65. package/dist/tests/redis/redisAccessRules.test.js.map +1 -0
  66. package/dist/tests/redis/redisIndex.test.d.ts +2 -0
  67. package/dist/tests/redis/redisIndex.test.d.ts.map +1 -0
  68. package/dist/tests/redis/redisIndex.test.js +84 -0
  69. package/dist/tests/redis/redisIndex.test.js.map +1 -0
  70. package/dist/tests/redis/testRedisClient.d.ts +3 -0
  71. package/dist/tests/redis/testRedisClient.d.ts.map +1 -0
  72. package/dist/tests/redis/testRedisClient.js +8 -0
  73. package/dist/tests/redis/testRedisClient.js.map +1 -0
  74. package/dist/tests/testLogger.d.ts +4 -0
  75. package/dist/tests/testLogger.d.ts.map +1 -0
  76. package/dist/tests/testLogger.js +22 -0
  77. package/dist/tests/testLogger.js.map +1 -0
  78. package/dist/util.d.ts +2 -0
  79. package/dist/util.d.ts.map +1 -0
  80. package/dist/util.js +3 -0
  81. package/dist/util.js.map +1 -0
  82. package/package.json +17 -20
  83. package/vite.cjs.config.ts +4 -6
  84. package/vite.config.ts +39 -0
  85. package/vite.test.config.ts +2 -1
  86. package/dist/blacklistInspector.d.ts +0 -6
  87. package/dist/blacklistInspector.d.ts.map +0 -1
  88. package/dist/blacklistInspector.js +0 -2
  89. package/dist/blacklistInspector.js.map +0 -1
  90. package/dist/cjs/rules/api/apiRulePaths.cjs +0 -7
  91. package/dist/cjs/rules/api/apiRuleRoutesProvider.cjs +0 -23
  92. package/dist/cjs/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.cjs +0 -13
  93. package/dist/cjs/rules/api/deleteMany/apiDeleteManyRulesEndpoint.cjs +0 -19
  94. package/dist/cjs/rules/api/getExpressApiRuleRateLimits.cjs +0 -18
  95. package/dist/cjs/rules/api/insertMany/apiInsertManyRulesArgsSchema.cjs +0 -39
  96. package/dist/cjs/rules/api/insertMany/apiInsertManyRulesEndpoint.cjs +0 -193
  97. package/dist/cjs/rules/blacklistRulesInspector.cjs +0 -44
  98. package/dist/cjs/rules/imageCaptchaConfigRulesResolver.cjs +0 -115
  99. package/dist/cjs/rules/mongoose/indexes/rulePerformanceMongooseIndexes.cjs +0 -75
  100. package/dist/cjs/rules/mongoose/indexes/ruleUniqueMongooseIndexes.cjs +0 -137
  101. package/dist/cjs/rules/mongoose/rulesMongooseStorage.cjs +0 -177
  102. package/dist/cjs/rules/mongoose/schemas/config/configMongooseSchema.cjs +0 -14
  103. package/dist/cjs/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.cjs +0 -17
  104. package/dist/cjs/rules/mongoose/schemas/getRuleMongooseSchema.cjs +0 -19
  105. package/dist/cjs/rules/mongoose/schemas/ip/ipMongooseSchema.cjs +0 -29
  106. package/dist/cjs/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.cjs +0 -14
  107. package/dist/cjs/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.cjs +0 -18
  108. package/dist/cjs/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.cjs +0 -34
  109. package/dist/cjs/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.cjs +0 -33
  110. package/dist/cjs/rules/mongoose/schemas/ruleMongooseSchema.cjs +0 -43
  111. package/dist/cjs/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.cjs +0 -8
  112. package/dist/cjs/rules/rule/config/ruleConfigSchema.cjs +0 -8
  113. package/dist/cjs/rules/rule/ip/ruleIpSchema.cjs +0 -10
  114. package/dist/cjs/rules/rule/ip/ruleIpVersion.cjs +0 -8
  115. package/dist/cjs/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.cjs +0 -9
  116. package/dist/cjs/rules/rule/ip/v4/ruleIpV4Schema.cjs +0 -10
  117. package/dist/cjs/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.cjs +0 -9
  118. package/dist/cjs/rules/rule/ip/v6/ruleIpV6NumericMaxLength.cjs +0 -4
  119. package/dist/cjs/rules/rule/ip/v6/ruleIpV6Schema.cjs +0 -10
  120. package/dist/imageCaptchaConfigResolver.d.ts +0 -7
  121. package/dist/imageCaptchaConfigResolver.d.ts.map +0 -1
  122. package/dist/imageCaptchaConfigResolver.js +0 -2
  123. package/dist/imageCaptchaConfigResolver.js.map +0 -1
  124. package/dist/rules/api/apiRulePaths.d.ts +0 -5
  125. package/dist/rules/api/apiRulePaths.d.ts.map +0 -1
  126. package/dist/rules/api/apiRulePaths.js +0 -5
  127. package/dist/rules/api/apiRulePaths.js.map +0 -1
  128. package/dist/rules/api/apiRuleRoutesProvider.d.ts +0 -9
  129. package/dist/rules/api/apiRuleRoutesProvider.d.ts.map +0 -1
  130. package/dist/rules/api/apiRuleRoutesProvider.js +0 -22
  131. package/dist/rules/api/apiRuleRoutesProvider.js.map +0 -1
  132. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.d.ts +0 -162
  133. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.d.ts.map +0 -1
  134. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.js +0 -10
  135. package/dist/rules/api/deleteMany/apiDeleteManyRulesArgsSchema.js.map +0 -1
  136. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.d.ts +0 -12
  137. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.d.ts.map +0 -1
  138. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.js +0 -18
  139. package/dist/rules/api/deleteMany/apiDeleteManyRulesEndpoint.js.map +0 -1
  140. package/dist/rules/api/getExpressApiRuleRateLimits.d.ts +0 -8
  141. package/dist/rules/api/getExpressApiRuleRateLimits.d.ts.map +0 -1
  142. package/dist/rules/api/getExpressApiRuleRateLimits.js +0 -21
  143. package/dist/rules/api/getExpressApiRuleRateLimits.js.map +0 -1
  144. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.d.ts +0 -163
  145. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.d.ts.map +0 -1
  146. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.js +0 -37
  147. package/dist/rules/api/insertMany/apiInsertManyRulesArgsSchema.js.map +0 -1
  148. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.d.ts +0 -18
  149. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.d.ts.map +0 -1
  150. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.js +0 -195
  151. package/dist/rules/api/insertMany/apiInsertManyRulesEndpoint.js.map +0 -1
  152. package/dist/rules/blacklistRulesInspector.d.ts +0 -12
  153. package/dist/rules/blacklistRulesInspector.d.ts.map +0 -1
  154. package/dist/rules/blacklistRulesInspector.js +0 -38
  155. package/dist/rules/blacklistRulesInspector.js.map +0 -1
  156. package/dist/rules/imageCaptchaConfigRulesResolver.d.ts +0 -21
  157. package/dist/rules/imageCaptchaConfigRulesResolver.d.ts.map +0 -1
  158. package/dist/rules/imageCaptchaConfigRulesResolver.js +0 -92
  159. package/dist/rules/imageCaptchaConfigRulesResolver.js.map +0 -1
  160. package/dist/rules/mongoose/indexes/mongooseIndex.d.ts +0 -7
  161. package/dist/rules/mongoose/indexes/mongooseIndex.d.ts.map +0 -1
  162. package/dist/rules/mongoose/indexes/mongooseIndex.js +0 -2
  163. package/dist/rules/mongoose/indexes/mongooseIndex.js.map +0 -1
  164. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.d.ts +0 -4
  165. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.d.ts.map +0 -1
  166. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.js +0 -74
  167. package/dist/rules/mongoose/indexes/rulePerformanceMongooseIndexes.js.map +0 -1
  168. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.d.ts +0 -4
  169. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.d.ts.map +0 -1
  170. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.js +0 -136
  171. package/dist/rules/mongoose/indexes/ruleUniqueMongooseIndexes.js.map +0 -1
  172. package/dist/rules/mongoose/ruleMongooseRecord.d.ts +0 -7
  173. package/dist/rules/mongoose/ruleMongooseRecord.d.ts.map +0 -1
  174. package/dist/rules/mongoose/ruleMongooseRecord.js +0 -2
  175. package/dist/rules/mongoose/ruleMongooseRecord.js.map +0 -1
  176. package/dist/rules/mongoose/rulesMongooseStorage.d.ts +0 -30
  177. package/dist/rules/mongoose/rulesMongooseStorage.d.ts.map +0 -1
  178. package/dist/rules/mongoose/rulesMongooseStorage.js +0 -177
  179. package/dist/rules/mongoose/rulesMongooseStorage.js.map +0 -1
  180. package/dist/rules/mongoose/schemas/config/configMongooseSchema.d.ts +0 -43
  181. package/dist/rules/mongoose/schemas/config/configMongooseSchema.d.ts.map +0 -1
  182. package/dist/rules/mongoose/schemas/config/configMongooseSchema.js +0 -10
  183. package/dist/rules/mongoose/schemas/config/configMongooseSchema.js.map +0 -1
  184. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.d.ts +0 -29
  185. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.d.ts.map +0 -1
  186. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.js +0 -13
  187. package/dist/rules/mongoose/schemas/config/imageCaptchaConfigMongooseSchema.js.map +0 -1
  188. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.d.ts +0 -5
  189. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.d.ts.map +0 -1
  190. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.js +0 -15
  191. package/dist/rules/mongoose/schemas/getRuleMongooseSchema.js.map +0 -1
  192. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.d.ts +0 -141
  193. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.d.ts.map +0 -1
  194. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.js +0 -25
  195. package/dist/rules/mongoose/schemas/ip/ipMongooseSchema.js.map +0 -1
  196. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.d.ts +0 -36
  197. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.d.ts.map +0 -1
  198. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.js +0 -8
  199. package/dist/rules/mongoose/schemas/ip/v4/ipV4MaskMongooseSchema.js.map +0 -1
  200. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.d.ts +0 -64
  201. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.d.ts.map +0 -1
  202. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.js +0 -12
  203. package/dist/rules/mongoose/schemas/ip/v4/ipV4MongooseSchema.js.map +0 -1
  204. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.d.ts +0 -36
  205. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.d.ts.map +0 -1
  206. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.js +0 -17
  207. package/dist/rules/mongoose/schemas/ip/v6/ipV6MaskMongooseSchema.js.map +0 -1
  208. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.d.ts +0 -64
  209. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.d.ts.map +0 -1
  210. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.js +0 -17
  211. package/dist/rules/mongoose/schemas/ip/v6/ipV6MongooseSchema.js.map +0 -1
  212. package/dist/rules/mongoose/schemas/ruleMongooseSchema.d.ts +0 -9
  213. package/dist/rules/mongoose/schemas/ruleMongooseSchema.d.ts.map +0 -1
  214. package/dist/rules/mongoose/schemas/ruleMongooseSchema.js +0 -42
  215. package/dist/rules/mongoose/schemas/ruleMongooseSchema.js.map +0 -1
  216. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.d.ts +0 -5
  217. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.d.ts.map +0 -1
  218. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.js +0 -2
  219. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfig.js.map +0 -1
  220. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.d.ts +0 -12
  221. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.d.ts.map +0 -1
  222. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.js +0 -7
  223. package/dist/rules/rule/config/imageCaptcha/imageCaptchaConfigSchema.js.map +0 -1
  224. package/dist/rules/rule/config/ruleConfig.d.ts +0 -5
  225. package/dist/rules/rule/config/ruleConfig.d.ts.map +0 -1
  226. package/dist/rules/rule/config/ruleConfig.js +0 -2
  227. package/dist/rules/rule/config/ruleConfig.js.map +0 -1
  228. package/dist/rules/rule/config/ruleConfigSchema.d.ts +0 -24
  229. package/dist/rules/rule/config/ruleConfigSchema.d.ts.map +0 -1
  230. package/dist/rules/rule/config/ruleConfigSchema.js +0 -7
  231. package/dist/rules/rule/config/ruleConfigSchema.js.map +0 -1
  232. package/dist/rules/rule/ip/ruleIp.d.ts +0 -5
  233. package/dist/rules/rule/ip/ruleIp.d.ts.map +0 -1
  234. package/dist/rules/rule/ip/ruleIp.js +0 -2
  235. package/dist/rules/rule/ip/ruleIp.js.map +0 -1
  236. package/dist/rules/rule/ip/ruleIpSchema.d.ts +0 -108
  237. package/dist/rules/rule/ip/ruleIpSchema.d.ts.map +0 -1
  238. package/dist/rules/rule/ip/ruleIpSchema.js +0 -9
  239. package/dist/rules/rule/ip/ruleIpSchema.js.map +0 -1
  240. package/dist/rules/rule/ip/ruleIpVersion.d.ts +0 -6
  241. package/dist/rules/rule/ip/ruleIpVersion.d.ts.map +0 -1
  242. package/dist/rules/rule/ip/ruleIpVersion.js +0 -7
  243. package/dist/rules/rule/ip/ruleIpVersion.js.map +0 -1
  244. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.d.ts +0 -5
  245. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.d.ts.map +0 -1
  246. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.js +0 -2
  247. package/dist/rules/rule/ip/v4/mask/ruleIpV4Mask.js.map +0 -1
  248. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.d.ts +0 -15
  249. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.d.ts.map +0 -1
  250. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.js +0 -8
  251. package/dist/rules/rule/ip/v4/mask/ruleIpV4MaskSchema.js.map +0 -1
  252. package/dist/rules/rule/ip/v4/ruleIpV4.d.ts +0 -5
  253. package/dist/rules/rule/ip/v4/ruleIpV4.d.ts.map +0 -1
  254. package/dist/rules/rule/ip/v4/ruleIpV4.js +0 -2
  255. package/dist/rules/rule/ip/v4/ruleIpV4.js.map +0 -1
  256. package/dist/rules/rule/ip/v4/ruleIpV4Schema.d.ts +0 -35
  257. package/dist/rules/rule/ip/v4/ruleIpV4Schema.d.ts.map +0 -1
  258. package/dist/rules/rule/ip/v4/ruleIpV4Schema.js +0 -9
  259. package/dist/rules/rule/ip/v4/ruleIpV4Schema.js.map +0 -1
  260. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.d.ts +0 -5
  261. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.d.ts.map +0 -1
  262. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.js +0 -2
  263. package/dist/rules/rule/ip/v6/mask/ruleIpV6Mask.js.map +0 -1
  264. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.d.ts +0 -15
  265. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.d.ts.map +0 -1
  266. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.js +0 -8
  267. package/dist/rules/rule/ip/v6/mask/ruleIpV6MaskSchema.js.map +0 -1
  268. package/dist/rules/rule/ip/v6/ruleIpV6.d.ts +0 -5
  269. package/dist/rules/rule/ip/v6/ruleIpV6.d.ts.map +0 -1
  270. package/dist/rules/rule/ip/v6/ruleIpV6.js +0 -2
  271. package/dist/rules/rule/ip/v6/ruleIpV6.js.map +0 -1
  272. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.d.ts +0 -3
  273. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.d.ts.map +0 -1
  274. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.js +0 -3
  275. package/dist/rules/rule/ip/v6/ruleIpV6NumericMaxLength.js.map +0 -1
  276. package/dist/rules/rule/ip/v6/ruleIpV6Schema.d.ts +0 -35
  277. package/dist/rules/rule/ip/v6/ruleIpV6Schema.d.ts.map +0 -1
  278. package/dist/rules/rule/ip/v6/ruleIpV6Schema.js +0 -9
  279. package/dist/rules/rule/ip/v6/ruleIpV6Schema.js.map +0 -1
  280. package/dist/rules/rule/rule.d.ts +0 -14
  281. package/dist/rules/rule/rule.d.ts.map +0 -1
  282. package/dist/rules/rule/rule.js +0 -2
  283. package/dist/rules/rule/rule.js.map +0 -1
  284. package/dist/rules/storage/filters/deleteRuleFilters.d.ts +0 -9
  285. package/dist/rules/storage/filters/deleteRuleFilters.d.ts.map +0 -1
  286. package/dist/rules/storage/filters/deleteRuleFilters.js +0 -2
  287. package/dist/rules/storage/filters/deleteRuleFilters.js.map +0 -1
  288. package/dist/rules/storage/filters/search/searchRuleFilterSettings.d.ts +0 -6
  289. package/dist/rules/storage/filters/search/searchRuleFilterSettings.d.ts.map +0 -1
  290. package/dist/rules/storage/filters/search/searchRuleFilterSettings.js +0 -2
  291. package/dist/rules/storage/filters/search/searchRuleFilterSettings.js.map +0 -1
  292. package/dist/rules/storage/filters/search/searchRuleFilters.d.ts +0 -9
  293. package/dist/rules/storage/filters/search/searchRuleFilters.d.ts.map +0 -1
  294. package/dist/rules/storage/filters/search/searchRuleFilters.js +0 -2
  295. package/dist/rules/storage/filters/search/searchRuleFilters.js.map +0 -1
  296. package/dist/rules/storage/ruleRecord.d.ts +0 -6
  297. package/dist/rules/storage/ruleRecord.d.ts.map +0 -1
  298. package/dist/rules/storage/ruleRecord.js +0 -2
  299. package/dist/rules/storage/ruleRecord.js.map +0 -1
  300. package/dist/rules/storage/rulesStorage.d.ts +0 -14
  301. package/dist/rules/storage/rulesStorage.d.ts.map +0 -1
  302. package/dist/rules/storage/rulesStorage.js +0 -2
  303. package/dist/rules/storage/rulesStorage.js.map +0 -1
  304. package/dist/tests/benchmark/commands/commandBase.d.ts +0 -14
  305. package/dist/tests/benchmark/commands/commandBase.d.ts.map +0 -1
  306. package/dist/tests/benchmark/commands/commandBase.js +0 -22
  307. package/dist/tests/benchmark/commands/commandBase.js.map +0 -1
  308. package/dist/tests/benchmark/commands/measureFindCommand.d.ts +0 -14
  309. package/dist/tests/benchmark/commands/measureFindCommand.d.ts.map +0 -1
  310. package/dist/tests/benchmark/commands/measureFindCommand.js +0 -60
  311. package/dist/tests/benchmark/commands/measureFindCommand.js.map +0 -1
  312. package/dist/tests/benchmark/commands/populateCommand.d.ts +0 -18
  313. package/dist/tests/benchmark/commands/populateCommand.d.ts.map +0 -1
  314. package/dist/tests/benchmark/commands/populateCommand.js +0 -97
  315. package/dist/tests/benchmark/commands/populateCommand.js.map +0 -1
  316. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.d.ts +0 -5
  317. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.d.ts.map +0 -1
  318. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.js +0 -2
  319. package/dist/tests/benchmark/connectionCleaner/connectionCleaner.js.map +0 -1
  320. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.d.ts +0 -6
  321. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.d.ts.map +0 -1
  322. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.js +0 -8
  323. package/dist/tests/benchmark/connectionCleaner/mongooseConnectionCleaner.js.map +0 -1
  324. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.d.ts +0 -2
  325. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.d.ts.map +0 -1
  326. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.js +0 -8
  327. package/dist/tests/benchmark/mongooseRulesStorageBenchmark.js.map +0 -1
  328. package/dist/tests/benchmark/rulesStorageBenchmark.d.ts +0 -12
  329. package/dist/tests/benchmark/rulesStorageBenchmark.d.ts.map +0 -1
  330. package/dist/tests/benchmark/rulesStorageBenchmark.js +0 -30
  331. package/dist/tests/benchmark/rulesStorageBenchmark.js.map +0 -1
  332. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.d.ts +0 -10
  333. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.d.ts.map +0 -1
  334. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.js +0 -16
  335. package/dist/tests/benchmark/storageFactory/mongooseRulesStorageFactory.js.map +0 -1
  336. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.d.ts +0 -6
  337. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.d.ts.map +0 -1
  338. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.js +0 -2
  339. package/dist/tests/benchmark/storageFactory/rulesStorageFactory.js.map +0 -1
  340. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.d.ts +0 -2
  341. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.d.ts.map +0 -1
  342. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.js +0 -75
  343. package/dist/tests/rules/ImageCaptchaConfigRulesResolver.test.js.map +0 -1
  344. package/dist/tests/rules/blacklistRulesInspector.unit.test.d.ts +0 -2
  345. package/dist/tests/rules/blacklistRulesInspector.unit.test.d.ts.map +0 -1
  346. package/dist/tests/rules/blacklistRulesInspector.unit.test.js +0 -58
  347. package/dist/tests/rules/blacklistRulesInspector.unit.test.js.map +0 -1
  348. package/dist/tests/rules/loggerMockedInstance.d.ts +0 -13
  349. package/dist/tests/rules/loggerMockedInstance.d.ts.map +0 -1
  350. package/dist/tests/rules/loggerMockedInstance.js +0 -14
  351. package/dist/tests/rules/loggerMockedInstance.js.map +0 -1
  352. package/dist/tests/rules/mongoose/find.unit.test.d.ts +0 -2
  353. package/dist/tests/rules/mongoose/find.unit.test.d.ts.map +0 -1
  354. package/dist/tests/rules/mongoose/find.unit.test.js +0 -202
  355. package/dist/tests/rules/mongoose/find.unit.test.js.map +0 -1
  356. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.d.ts +0 -2
  357. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.d.ts.map +0 -1
  358. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.js +0 -131
  359. package/dist/tests/rules/mongoose/insert/insertIpV6Formatting.unit.test.js.map +0 -1
  360. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.d.ts +0 -2
  361. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.d.ts.map +0 -1
  362. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.js +0 -101
  363. package/dist/tests/rules/mongoose/insert/insertValidation.unit.test.js.map +0 -1
  364. package/dist/tests/rules/mongoose/ip.unit.test.d.ts +0 -2
  365. package/dist/tests/rules/mongoose/ip.unit.test.d.ts.map +0 -1
  366. package/dist/tests/rules/mongoose/ip.unit.test.js +0 -380
  367. package/dist/tests/rules/mongoose/ip.unit.test.js.map +0 -1
  368. package/dist/tests/rules/storage/testRulesStorage.d.ts +0 -17
  369. package/dist/tests/rules/storage/testRulesStorage.d.ts.map +0 -1
  370. package/dist/tests/rules/storage/testRulesStorage.js +0 -25
  371. package/dist/tests/rules/storage/testRulesStorage.js.map +0 -1
@@ -1,380 +0,0 @@
1
- import { Address4, Address6 } from "ip-address";
2
- import { MongoMemoryServer } from "mongodb-memory-server";
3
- import mongoose from "mongoose";
4
- import { afterAll, beforeAll, beforeEach, describe, expect, it } from "vitest";
5
- import { RulesMongooseStorage } from "../../../rules/mongoose/rulesMongooseStorage.js";
6
- import { getRuleMongooseSchema } from "../../../rules/mongoose/schemas/getRuleMongooseSchema.js";
7
- import { RuleIpVersion } from "../../../rules/rule/ip/ruleIpVersion.js";
8
- import { loggerMockedInstance } from "../loggerMockedInstance.js";
9
- describe.each([
10
- {
11
- version: RuleIpVersion.v4,
12
- fieldSuffix: "asNumeric",
13
- lessMin: new Address4("192.168.0.255"),
14
- min: new Address4("192.168.1.0"),
15
- middle: new Address4("192.168.1.100"),
16
- max: new Address4("192.168.1.255"),
17
- greaterMax: new Address4("192.168.2.0"),
18
- },
19
- {
20
- version: RuleIpVersion.v6,
21
- fieldSuffix: "asNumericString",
22
- lessMin: new Address6("::ffff:ffff:ffff:ffff"),
23
- min: new Address6("2001:db8::"),
24
- middle: new Address6("2001:db8::100"),
25
- max: new Address6("2001:db8::ffff:ffff:ffff:ffff"),
26
- greaterMax: new Address6("2001:db9::"),
27
- },
28
- {
29
- version: RuleIpVersion.v6,
30
- fieldSuffix: "asNumericString",
31
- lessMin: new Address6("::1"),
32
- min: new Address6("::2"),
33
- middle: new Address6("::3"),
34
- max: new Address6("::4"),
35
- greaterMax: new Address6("::5"),
36
- },
37
- ])("RulesMongooseStorageIps", async (ipRange) => {
38
- function getNumericIp(ipAddress) {
39
- return RuleIpVersion.v4 === ipRange.version
40
- ? ipAddress.bigInt()
41
- : ipAddress.bigInt().toString();
42
- }
43
- const suffixWithUcfirst = ipRange.fieldSuffix.charAt(0).toUpperCase() + ipRange.fieldSuffix.slice(1);
44
- const rangeMinKey = `rangeMin${suffixWithUcfirst}`;
45
- const rangeMaxKey = `rangeMax${suffixWithUcfirst}`;
46
- let mongoServer;
47
- let mongoConnection;
48
- let rulesStorage;
49
- let model;
50
- beforeAll(async () => {
51
- mongoServer = await MongoMemoryServer.create();
52
- mongoConnection = await mongoose.connect(mongoServer.getUri());
53
- model = mongoConnection.model("UserAccessPolicyRules", getRuleMongooseSchema(), undefined, { overwriteModels: true });
54
- await model.syncIndexes();
55
- rulesStorage = new RulesMongooseStorage(loggerMockedInstance, model);
56
- });
57
- beforeEach(async () => {
58
- await model.deleteMany({});
59
- });
60
- afterAll(async () => {
61
- await mongoConnection.disconnect();
62
- await mongoServer.stop();
63
- });
64
- it("findsRecordByUserIp", async () => {
65
- const rule = {
66
- isUserBlocked: false,
67
- userIp: {
68
- [ipRange.version]: {
69
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
70
- asString: ipRange.middle.bigInt().toString(),
71
- },
72
- },
73
- };
74
- const record = await rulesStorage.insert(rule);
75
- const rules = await rulesStorage.find({
76
- userIpAddress: ipRange.middle,
77
- });
78
- expect(rules.length).toBe(1);
79
- expect(rules[0]?._id.toString()).toBe(record._id.toString());
80
- });
81
- it("findIgnoresRecordWithAnotherUserIp", async () => {
82
- const rule = {
83
- isUserBlocked: false,
84
- userIp: {
85
- [ipRange.version]: {
86
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
87
- asString: ipRange.middle.bigInt().toString(),
88
- },
89
- },
90
- };
91
- await rulesStorage.insert(rule);
92
- const rules = await rulesStorage.find({
93
- userIpAddress: ipRange.max,
94
- });
95
- expect(rules.length).toBe(0);
96
- });
97
- it("findIgnoresRecordByUserIpMask", async () => {
98
- const rule = {
99
- isUserBlocked: false,
100
- userIp: {
101
- [ipRange.version]: {
102
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
103
- asString: ipRange.min.bigInt().toString(),
104
- mask: {
105
- [rangeMinKey]: getNumericIp(ipRange.min),
106
- [rangeMaxKey]: getNumericIp(ipRange.max),
107
- asNumeric: 24,
108
- },
109
- },
110
- },
111
- };
112
- const record = await rulesStorage.insert(rule);
113
- const rules = await rulesStorage.find({
114
- userIpAddress: ipRange.middle,
115
- });
116
- expect(rules.length).toBe(1);
117
- expect(rules[0]?._id.toString()).toBe(record._id.toString());
118
- });
119
- it("findsRecordByUserIpMaskInRangeMin", async () => {
120
- const rule = {
121
- isUserBlocked: false,
122
- userIp: {
123
- [ipRange.version]: {
124
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
125
- asString: ipRange.min.bigInt().toString(),
126
- mask: {
127
- [rangeMinKey]: getNumericIp(ipRange.min),
128
- [rangeMaxKey]: getNumericIp(ipRange.max),
129
- asNumeric: 24,
130
- },
131
- },
132
- },
133
- };
134
- const record = await rulesStorage.insert(rule);
135
- const rules = await rulesStorage.find({
136
- userIpAddress: ipRange.min,
137
- });
138
- expect(rules.length).toBe(1);
139
- expect(rules[0]?._id.toString()).toBe(record._id.toString());
140
- });
141
- it("findsRecordByUserIpMaskInRangeMax", async () => {
142
- const rule = {
143
- isUserBlocked: false,
144
- userIp: {
145
- [ipRange.version]: {
146
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
147
- asString: ipRange.min.bigInt().toString(),
148
- mask: {
149
- [rangeMinKey]: getNumericIp(ipRange.min),
150
- [rangeMaxKey]: getNumericIp(ipRange.max),
151
- asNumeric: 24,
152
- },
153
- },
154
- },
155
- };
156
- const record = await rulesStorage.insert(rule);
157
- const rules = await rulesStorage.find({
158
- userIpAddress: ipRange.max,
159
- });
160
- expect(rules.length).toBe(1);
161
- expect(rules[0]?._id.toString()).toBe(record._id.toString());
162
- });
163
- it("findIgnoresRecordWithUserIpMaskOutOfRangeMin", async () => {
164
- const rule = {
165
- isUserBlocked: false,
166
- userIp: {
167
- [ipRange.version]: {
168
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
169
- asString: ipRange.min.bigInt().toString(),
170
- mask: {
171
- [rangeMinKey]: getNumericIp(ipRange.min),
172
- [rangeMaxKey]: getNumericIp(ipRange.max),
173
- asNumeric: 24,
174
- },
175
- },
176
- },
177
- };
178
- await rulesStorage.insert(rule);
179
- const rules = await rulesStorage.find({
180
- userIpAddress: ipRange.lessMin,
181
- });
182
- expect(rules.length).toBe(0);
183
- });
184
- it("findIgnoresRecordWithUserIpMaskOutOfRangeMax", async () => {
185
- const rule = {
186
- isUserBlocked: false,
187
- userIp: {
188
- [ipRange.version]: {
189
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
190
- asString: ipRange.min.bigInt().toString(),
191
- mask: {
192
- [rangeMinKey]: getNumericIp(ipRange.min),
193
- [rangeMaxKey]: getNumericIp(ipRange.max),
194
- asNumeric: 24,
195
- },
196
- },
197
- },
198
- };
199
- await rulesStorage.insert(rule);
200
- const rules = await rulesStorage.find({
201
- userIpAddress: ipRange.greaterMax,
202
- });
203
- expect(rules.length).toBe(0);
204
- });
205
- it.each([
206
- {
207
- clientId: "client",
208
- },
209
- {},
210
- ])("acceptsUniqueIp", async (clientIdPart) => {
211
- await rulesStorage.insert({
212
- ...clientIdPart,
213
- isUserBlocked: true,
214
- userIp: {
215
- [ipRange.version]: {
216
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
217
- asString: ipRange.min.bigInt().toString(),
218
- },
219
- },
220
- });
221
- const anotherRecord = await rulesStorage.insert({
222
- ...clientIdPart,
223
- isUserBlocked: true,
224
- userIp: {
225
- [ipRange.version]: {
226
- [ipRange.fieldSuffix]: getNumericIp(ipRange.max),
227
- asString: ipRange.max.bigInt().toString(),
228
- },
229
- },
230
- });
231
- expect(anotherRecord).not.toBeNull();
232
- });
233
- it.each([
234
- {
235
- clientId: "client",
236
- },
237
- {},
238
- ])("rejectsDuplicatedIp", async (clientIdPart) => {
239
- await rulesStorage.insert({
240
- ...clientIdPart,
241
- isUserBlocked: true,
242
- userIp: {
243
- [ipRange.version]: {
244
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
245
- asString: ipRange.middle.bigInt().toString(),
246
- },
247
- },
248
- });
249
- const insertDuplicate = async () => await rulesStorage.insert({
250
- ...clientIdPart,
251
- isUserBlocked: true,
252
- userIp: {
253
- [ipRange.version]: {
254
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
255
- asString: ipRange.middle.bigInt().toString(),
256
- },
257
- },
258
- });
259
- expect(await insertDuplicate()).to.not.throw;
260
- });
261
- it.each([
262
- {
263
- clientId: "client",
264
- },
265
- {},
266
- ])("acceptsUniqueIpMask", async (clientIdPart) => {
267
- await rulesStorage.insert({
268
- ...clientIdPart,
269
- isUserBlocked: true,
270
- userIp: {
271
- [ipRange.version]: {
272
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
273
- asString: ipRange.min.bigInt().toString(),
274
- mask: {
275
- [rangeMinKey]: getNumericIp(ipRange.min),
276
- [rangeMaxKey]: getNumericIp(ipRange.max),
277
- asNumeric: 24,
278
- },
279
- },
280
- },
281
- });
282
- const anotherRecord = await rulesStorage.insert({
283
- ...clientIdPart,
284
- isUserBlocked: true,
285
- userIp: {
286
- [ipRange.version]: {
287
- [ipRange.fieldSuffix]: getNumericIp(ipRange.max),
288
- asString: ipRange.max.bigInt().toString(),
289
- mask: {
290
- [rangeMinKey]: getNumericIp(ipRange.min),
291
- [rangeMaxKey]: getNumericIp(ipRange.max),
292
- asNumeric: 24,
293
- },
294
- },
295
- },
296
- });
297
- expect(anotherRecord).not.toBeNull();
298
- });
299
- it.each([
300
- {
301
- clientId: "client",
302
- },
303
- {},
304
- ])("replacesDuplicatedIpMask", async (clientIdPart) => {
305
- const rule = {
306
- ...clientIdPart,
307
- isUserBlocked: true,
308
- userIp: {
309
- [ipRange.version]: {
310
- [ipRange.fieldSuffix]: getNumericIp(ipRange.min),
311
- asString: ipRange.min.bigInt().toString(),
312
- mask: {
313
- [rangeMinKey]: getNumericIp(ipRange.min),
314
- [rangeMaxKey]: getNumericIp(ipRange.max),
315
- asNumeric: 24,
316
- },
317
- },
318
- },
319
- };
320
- await rulesStorage.insert(rule);
321
- const newRule = { ...rule, isUserBlocked: false };
322
- const insertDuplicate = async () => await rulesStorage.insert(newRule);
323
- expect(await insertDuplicate()).to.not.throw;
324
- });
325
- it("globalAndClientCanHaveSameIp", async () => {
326
- await rulesStorage.insert({
327
- isUserBlocked: true,
328
- userIp: {
329
- [ipRange.version]: {
330
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
331
- asString: ipRange.middle.bigInt().toString(),
332
- },
333
- },
334
- });
335
- const anotherRecord = await rulesStorage.insert({
336
- clientId: "client",
337
- isUserBlocked: true,
338
- userIp: {
339
- [ipRange.version]: {
340
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
341
- asString: ipRange.middle.bigInt().toString(),
342
- },
343
- },
344
- });
345
- expect(anotherRecord).not.toBeNull();
346
- });
347
- it("globalAndClientCanHaveSameIpMask", async () => {
348
- await rulesStorage.insert({
349
- isUserBlocked: true,
350
- userIp: {
351
- [ipRange.version]: {
352
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
353
- asString: ipRange.middle.bigInt().toString(),
354
- mask: {
355
- [rangeMinKey]: getNumericIp(ipRange.min),
356
- [rangeMaxKey]: getNumericIp(ipRange.max),
357
- asNumeric: 24,
358
- },
359
- },
360
- },
361
- });
362
- const anotherRecord = await rulesStorage.insert({
363
- clientId: "client",
364
- isUserBlocked: true,
365
- userIp: {
366
- [ipRange.version]: {
367
- [ipRange.fieldSuffix]: getNumericIp(ipRange.middle),
368
- asString: ipRange.middle.bigInt().toString(),
369
- mask: {
370
- [rangeMinKey]: getNumericIp(ipRange.min),
371
- [rangeMaxKey]: getNumericIp(ipRange.max),
372
- asNumeric: 24,
373
- },
374
- },
375
- },
376
- });
377
- expect(anotherRecord).not.toBeNull();
378
- });
379
- });
380
- //# sourceMappingURL=ip.unit.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ip.unit.test.js","sourceRoot":"","sources":["../../../../src/tests/rules/mongoose/ip.unit.test.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,QAAuC,MAAM,UAAU,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,iDAAiD,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,aAAa,EAAE,MAAM,yCAAyC,CAAC;AAGxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,QAAQ,CAAC,IAAI,CAAC;IAEb;QACC,OAAO,EAAE,aAAa,CAAC,EAAE;QACzB,WAAW,EAAE,WAAW;QACxB,OAAO,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;QACtC,GAAG,EAAE,IAAI,QAAQ,CAAC,aAAa,CAAC;QAChC,MAAM,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;QACrC,GAAG,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;QAClC,UAAU,EAAE,IAAI,QAAQ,CAAC,aAAa,CAAC;KACvC;IAED;QACC,OAAO,EAAE,aAAa,CAAC,EAAE;QACzB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,IAAI,QAAQ,CAAC,uBAAuB,CAAC;QAC9C,GAAG,EAAE,IAAI,QAAQ,CAAC,YAAY,CAAC;QAC/B,MAAM,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;QACrC,GAAG,EAAE,IAAI,QAAQ,CAAC,+BAA+B,CAAC;QAClD,UAAU,EAAE,IAAI,QAAQ,CAAC,YAAY,CAAC;KACtC;IAED;QACC,OAAO,EAAE,aAAa,CAAC,EAAE;QACzB,WAAW,EAAE,iBAAiB;QAC9B,OAAO,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC5B,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;QACxB,MAAM,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;QAC3B,GAAG,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;QACxB,UAAU,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC;KAC/B;CACD,CAAC,CAAC,yBAAyB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAC/C,SAAS,YAAY,CAAC,SAAoB;QACzC,OAAO,aAAa,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO;YAC1C,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE;YACpB,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,iBAAiB,GACtB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,WAAW,iBAAiB,EAAE,CAAC;IACnD,MAAM,WAAW,GAAG,WAAW,iBAAiB,EAAE,CAAC;IACnD,IAAI,WAA8B,CAAC;IACnC,IAAI,eAAyB,CAAC;IAC9B,IAAI,YAA0B,CAAC;IAC/B,IAAI,KAAkB,CAAC;IAEvB,SAAS,CAAC,KAAK,IAAI,EAAE;QACpB,WAAW,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,CAAC;QAC/C,eAAe,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAE/D,KAAK,GAAG,eAAe,CAAC,KAAK,CAC5B,uBAAuB,EACvB,qBAAqB,EAAE,EACvB,SAAS,EACT,EAAE,eAAe,EAAE,IAAI,EAAE,CACzB,CAAC;QAEF,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;QAE1B,YAAY,GAAG,IAAI,oBAAoB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,KAAK,IAAI,EAAE;QACrB,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;QACnB,MAAM,eAAe,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QAEpC,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAG/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAEnD,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC;QACF,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGhC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,GAAG;SAC1B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAE9C,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAG/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,MAAM;SAC7B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAG/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,GAAG;SAC1B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAElD,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAG/C,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,GAAG;SAC1B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAE7D,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGhC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,OAAO;SAC9B,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAE7D,MAAM,IAAI,GAAS;YAClB,aAAa,EAAE,KAAK;YACpB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGhC,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC;YACrC,aAAa,EAAE,OAAO,CAAC,UAAU;SACjC,CAAC,CAAC;QAGH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAIH,EAAE,CAAC,IAAI,CAAC;QACP;YACC,QAAQ,EAAE,QAAQ;SACV;QACT,EAAE;KACF,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAE5C,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBACzC;aACD;SACD,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/C,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBACzC;aACD;SACD,CAAC,CAAC;QAGH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACP;YACC,QAAQ,EAAE,QAAQ;SACV;QACT,EAAE;KACF,CAAC,CAAC,qBAAqB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAEhD,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC,CAAC;QAGH,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAClC,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC,CAAC;QAGJ,MAAM,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACP;YACC,QAAQ,EAAE,QAAQ;SACV;QACT,EAAE;KACF,CAAC,CAAC,qBAAqB,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAEhD,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/C,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC,CAAC;QAGH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACP;YACC,QAAQ,EAAE,QAAQ;SACV;QACT,EAAE;KACF,CAAC,CAAC,0BAA0B,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;QAErD,MAAM,IAAI,GAAG;YACZ,GAAG,YAAY;YACf,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;oBAChD,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBACzC,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC;QACF,MAAM,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAGhC,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC;QAClD,MAAM,eAAe,GAAG,KAAK,IAAI,EAAE,CAAC,MAAM,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAGvE,MAAM,CAAC,MAAM,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAE7C,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/C,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;iBAC5C;aACD;SACD,CAAC,CAAC;QAGH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAEjD,MAAM,YAAY,CAAC,MAAM,CAAC;YACzB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC5C,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC,CAAC;QAGH,MAAM,aAAa,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC;YAC/C,QAAQ,EAAE,QAAQ;YAClB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE;gBACP,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC;oBACnD,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;oBAC5C,IAAI,EAAE;wBACL,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;wBACxC,SAAS,EAAE,EAAE;qBACb;iBACD;aACD;SACD,CAAC,CAAC;QAGH,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -1,17 +0,0 @@
1
- import type { Rule } from "../../../rules/rule/rule.js";
2
- import type { DeleteRuleFilters } from "../../../rules/storage/filters/deleteRuleFilters.js";
3
- import type { SearchRuleFilterSettings } from "../../../rules/storage/filters/search/searchRuleFilterSettings.js";
4
- import type { SearchRuleFilters } from "../../../rules/storage/filters/search/searchRuleFilters.js";
5
- import type { RuleRecord } from "../../../rules/storage/ruleRecord.js";
6
- import type { RulesStorage } from "../../../rules/storage/rulesStorage.js";
7
- declare class TestRulesStorage implements RulesStorage {
8
- ruleRecords: RuleRecord[];
9
- constructor(ruleRecords?: RuleRecord[]);
10
- insert(record: Rule): Promise<RuleRecord>;
11
- insertMany(records: Rule[]): Promise<RuleRecord[]>;
12
- find(filters: SearchRuleFilters, filterSettings?: SearchRuleFilterSettings): Promise<RuleRecord[]>;
13
- deleteMany(recordFilters: DeleteRuleFilters[]): Promise<void>;
14
- countRecords(): Promise<number>;
15
- }
16
- export { TestRulesStorage };
17
- //# sourceMappingURL=testRulesStorage.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testRulesStorage.d.ts","sourceRoot":"","sources":["../../../../src/tests/rules/storage/testRulesStorage.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mEAAmE,CAAC;AAClH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AACpG,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AAE3E,cAAM,gBAAiB,YAAW,YAAY;IAC1B,WAAW,EAAE,UAAU,EAAE;gBAAzB,WAAW,GAAE,UAAU,EAAO;IAE3C,MAAM,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;IAOzC,UAAU,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlD,IAAI,CACT,OAAO,EAAE,iBAAiB,EAC1B,cAAc,CAAC,EAAE,wBAAwB,GACvC,OAAO,CAAC,UAAU,EAAE,CAAC;IAIlB,UAAU,CAAC,aAAa,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;CAGrC;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,25 +0,0 @@
1
- class TestRulesStorage {
2
- constructor(ruleRecords = []) {
3
- this.ruleRecords = ruleRecords;
4
- }
5
- async insert(record) {
6
- return Promise.resolve({
7
- isUserBlocked: false,
8
- _id: "none",
9
- });
10
- }
11
- async insertMany(records) {
12
- return Promise.resolve(this.ruleRecords);
13
- }
14
- async find(filters, filterSettings) {
15
- return Promise.resolve(this.ruleRecords);
16
- }
17
- async deleteMany(recordFilters) {
18
- return Promise.resolve();
19
- }
20
- async countRecords() {
21
- return Promise.resolve(this.ruleRecords.length);
22
- }
23
- }
24
- export { TestRulesStorage };
25
- //# sourceMappingURL=testRulesStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"testRulesStorage.js","sourceRoot":"","sources":["../../../../src/tests/rules/storage/testRulesStorage.ts"],"names":[],"mappings":"AAqBA,MAAM,gBAAgB;IACrB,YAAmB,cAA4B,EAAE;QAA9B,gBAAW,GAAX,WAAW,CAAmB;IAAG,CAAC;IAErD,KAAK,CAAC,MAAM,CAAC,MAAY;QACxB,OAAO,OAAO,CAAC,OAAO,CAAC;YACtB,aAAa,EAAE,KAAK;YACpB,GAAG,EAAE,MAAM;SACX,CAAC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC/B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,IAAI,CACT,OAA0B,EAC1B,cAAyC;QAEzC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,aAAkC;QAClD,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,YAAY;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;CACD;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}