@rulebricks/sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (942) hide show
  1. package/Client.d.ts +26 -0
  2. package/Client.js +47 -0
  3. package/LICENSE.txt +21 -0
  4. package/README.md +83 -0
  5. package/api/errors/BadRequestError.d.ts +7 -0
  6. package/api/errors/BadRequestError.js +47 -0
  7. package/api/errors/ForbiddenError.d.ts +7 -0
  8. package/api/errors/ForbiddenError.js +47 -0
  9. package/api/errors/InternalServerError.d.ts +7 -0
  10. package/api/errors/InternalServerError.js +47 -0
  11. package/api/errors/NotFoundError.d.ts +7 -0
  12. package/api/errors/NotFoundError.js +47 -0
  13. package/api/errors/index.d.ts +1 -0
  14. package/api/errors/index.js +24 -0
  15. package/api/index.d.ts +1 -0
  16. package/api/index.js +23 -0
  17. package/api/resources/assets/client/Client.d.ts +100 -0
  18. package/api/resources/assets/client/Client.js +611 -0
  19. package/api/resources/assets/client/index.d.ts +1 -0
  20. package/api/resources/assets/client/index.js +21 -0
  21. package/api/resources/assets/client/requests/DeleteFolderRequest.d.ts +1 -0
  22. package/api/resources/assets/client/requests/DeleteFolderRequest.js +5 -0
  23. package/api/resources/assets/client/requests/DeleteRuleRequest.d.ts +1 -0
  24. package/api/resources/assets/client/requests/DeleteRuleRequest.js +5 -0
  25. package/api/resources/assets/client/requests/ExportRuleRequest.d.ts +1 -0
  26. package/api/resources/assets/client/requests/ExportRuleRequest.js +5 -0
  27. package/api/resources/assets/client/requests/ImportRuleRequest.d.ts +1 -0
  28. package/api/resources/assets/client/requests/ImportRuleRequest.js +5 -0
  29. package/api/resources/assets/client/requests/ListRulesRequest.d.ts +1 -0
  30. package/api/resources/assets/client/requests/ListRulesRequest.js +5 -0
  31. package/api/resources/assets/client/requests/UpsertFolderRequest.d.ts +1 -0
  32. package/api/resources/assets/client/requests/UpsertFolderRequest.js +5 -0
  33. package/api/resources/assets/client/requests/index.d.ts +1 -0
  34. package/api/resources/assets/client/requests/index.js +2 -0
  35. package/api/resources/assets/index.d.ts +1 -0
  36. package/api/resources/assets/index.js +22 -0
  37. package/api/resources/assets/types/DeleteFolderResponse.d.ts +1 -0
  38. package/api/resources/assets/types/DeleteFolderResponse.js +5 -0
  39. package/api/resources/assets/types/DeleteRuleResponse.d.ts +1 -0
  40. package/api/resources/assets/types/DeleteRuleResponse.js +5 -0
  41. package/api/resources/assets/types/ListFlowsResponseItem.d.ts +1 -0
  42. package/api/resources/assets/types/ListFlowsResponseItem.js +5 -0
  43. package/api/resources/assets/types/ListFoldersResponseItem.d.ts +1 -0
  44. package/api/resources/assets/types/ListFoldersResponseItem.js +5 -0
  45. package/api/resources/assets/types/ListRulesResponseItem.d.ts +1 -0
  46. package/api/resources/assets/types/ListRulesResponseItem.js +5 -0
  47. package/api/resources/assets/types/ListRulesResponseItemFolder.d.ts +1 -0
  48. package/api/resources/assets/types/ListRulesResponseItemFolder.js +5 -0
  49. package/api/resources/assets/types/UpsertFolderResponse.d.ts +1 -0
  50. package/api/resources/assets/types/UpsertFolderResponse.js +5 -0
  51. package/api/resources/assets/types/UsageResponse.d.ts +1 -0
  52. package/api/resources/assets/types/UsageResponse.js +5 -0
  53. package/api/resources/assets/types/index.d.ts +1 -0
  54. package/api/resources/assets/types/index.js +28 -0
  55. package/api/resources/decisions/client/Client.d.ts +19 -0
  56. package/api/resources/decisions/client/Client.js +146 -0
  57. package/api/resources/decisions/client/index.d.ts +1 -0
  58. package/api/resources/decisions/client/index.js +21 -0
  59. package/api/resources/decisions/client/requests/QueryRequest.d.ts +1 -0
  60. package/api/resources/decisions/client/requests/QueryRequest.js +5 -0
  61. package/api/resources/decisions/client/requests/index.d.ts +1 -0
  62. package/api/resources/decisions/client/requests/index.js +2 -0
  63. package/api/resources/decisions/index.d.ts +1 -0
  64. package/api/resources/decisions/index.js +22 -0
  65. package/api/resources/decisions/types/QueryResponse.d.ts +1 -0
  66. package/api/resources/decisions/types/QueryResponse.js +5 -0
  67. package/api/resources/decisions/types/index.d.ts +1 -0
  68. package/api/resources/decisions/types/index.js +21 -0
  69. package/api/resources/flows/client/Client.d.ts +21 -0
  70. package/api/resources/flows/client/Client.js +133 -0
  71. package/api/resources/flows/client/index.d.ts +1 -0
  72. package/api/resources/flows/client/index.js +2 -0
  73. package/api/resources/flows/index.d.ts +1 -0
  74. package/api/resources/flows/index.js +21 -0
  75. package/api/resources/index.d.ts +8 -0
  76. package/api/resources/index.js +54 -0
  77. package/api/resources/rules/client/Client.d.ts +60 -0
  78. package/api/resources/rules/client/Client.js +272 -0
  79. package/api/resources/rules/client/index.d.ts +1 -0
  80. package/api/resources/rules/client/index.js +2 -0
  81. package/api/resources/rules/index.d.ts +1 -0
  82. package/api/resources/rules/index.js +21 -0
  83. package/api/resources/tests/client/Client.d.ts +82 -0
  84. package/api/resources/tests/client/Client.js +439 -0
  85. package/api/resources/tests/client/index.d.ts +1 -0
  86. package/api/resources/tests/client/index.js +21 -0
  87. package/api/resources/tests/client/requests/CreateFlowTestRequest.d.ts +1 -0
  88. package/api/resources/tests/client/requests/CreateFlowTestRequest.js +5 -0
  89. package/api/resources/tests/client/requests/CreateRuleTestRequest.d.ts +1 -0
  90. package/api/resources/tests/client/requests/CreateRuleTestRequest.js +5 -0
  91. package/api/resources/tests/client/requests/index.d.ts +1 -0
  92. package/api/resources/tests/client/requests/index.js +2 -0
  93. package/api/resources/tests/index.d.ts +1 -0
  94. package/api/resources/tests/index.js +22 -0
  95. package/api/resources/tests/types/CreateFlowTestResponse.d.ts +1 -0
  96. package/api/resources/tests/types/CreateFlowTestResponse.js +5 -0
  97. package/api/resources/tests/types/CreateRuleTestResponse.d.ts +1 -0
  98. package/api/resources/tests/types/CreateRuleTestResponse.js +5 -0
  99. package/api/resources/tests/types/DeleteFlowTestResponse.d.ts +1 -0
  100. package/api/resources/tests/types/DeleteFlowTestResponse.js +5 -0
  101. package/api/resources/tests/types/DeleteRuleTestResponse.d.ts +1 -0
  102. package/api/resources/tests/types/DeleteRuleTestResponse.js +5 -0
  103. package/api/resources/tests/types/ListFlowTestsResponseItem.d.ts +1 -0
  104. package/api/resources/tests/types/ListFlowTestsResponseItem.js +5 -0
  105. package/api/resources/tests/types/ListRuleTestsResponseItem.d.ts +1 -0
  106. package/api/resources/tests/types/ListRuleTestsResponseItem.js +5 -0
  107. package/api/resources/tests/types/index.d.ts +1 -0
  108. package/api/resources/tests/types/index.js +26 -0
  109. package/api/resources/users/client/Client.d.ts +62 -0
  110. package/api/resources/users/client/Client.js +269 -0
  111. package/api/resources/users/client/index.d.ts +1 -0
  112. package/api/resources/users/client/index.js +21 -0
  113. package/api/resources/users/client/requests/CreateGroupRequest.d.ts +1 -0
  114. package/api/resources/users/client/requests/CreateGroupRequest.js +5 -0
  115. package/api/resources/users/client/requests/InviteRequest.d.ts +1 -0
  116. package/api/resources/users/client/requests/InviteRequest.js +5 -0
  117. package/api/resources/users/client/requests/index.d.ts +1 -0
  118. package/api/resources/users/client/requests/index.js +2 -0
  119. package/api/resources/users/index.d.ts +1 -0
  120. package/api/resources/users/index.js +22 -0
  121. package/api/resources/users/types/CreateGroupResponse.d.ts +1 -0
  122. package/api/resources/users/types/CreateGroupResponse.js +5 -0
  123. package/api/resources/users/types/InviteRequestRole.d.ts +5 -0
  124. package/api/resources/users/types/InviteRequestRole.js +10 -0
  125. package/api/resources/users/types/InviteResponse.d.ts +1 -0
  126. package/api/resources/users/types/InviteResponse.js +5 -0
  127. package/api/resources/users/types/ListGroupsResponseItem.d.ts +1 -0
  128. package/api/resources/users/types/ListGroupsResponseItem.js +5 -0
  129. package/api/resources/users/types/index.d.ts +1 -0
  130. package/api/resources/users/types/index.js +24 -0
  131. package/api/resources/values/client/Client.d.ts +37 -0
  132. package/api/resources/values/client/Client.js +255 -0
  133. package/api/resources/values/client/index.d.ts +1 -0
  134. package/api/resources/values/client/index.js +21 -0
  135. package/api/resources/values/client/requests/DeleteDynamicValueRequest.d.ts +1 -0
  136. package/api/resources/values/client/requests/DeleteDynamicValueRequest.js +5 -0
  137. package/api/resources/values/client/requests/ListDynamicValuesRequest.d.ts +1 -0
  138. package/api/resources/values/client/requests/ListDynamicValuesRequest.js +5 -0
  139. package/api/resources/values/client/requests/index.d.ts +1 -0
  140. package/api/resources/values/client/requests/index.js +2 -0
  141. package/api/resources/values/index.d.ts +1 -0
  142. package/api/resources/values/index.js +22 -0
  143. package/api/resources/values/types/DeleteDynamicValueResponse.d.ts +1 -0
  144. package/api/resources/values/types/DeleteDynamicValueResponse.js +5 -0
  145. package/api/resources/values/types/ListDynamicValuesResponseItem.d.ts +1 -0
  146. package/api/resources/values/types/ListDynamicValuesResponseItem.js +5 -0
  147. package/api/resources/values/types/ListDynamicValuesResponseItemType.d.ts +7 -0
  148. package/api/resources/values/types/ListDynamicValuesResponseItemType.js +12 -0
  149. package/api/resources/values/types/ListDynamicValuesResponseItemUsagesItem.d.ts +1 -0
  150. package/api/resources/values/types/ListDynamicValuesResponseItemUsagesItem.js +5 -0
  151. package/api/resources/values/types/ListDynamicValuesResponseItemValue.d.ts +1 -0
  152. package/api/resources/values/types/ListDynamicValuesResponseItemValue.js +5 -0
  153. package/api/resources/values/types/UpdateRequestValue.d.ts +1 -0
  154. package/api/resources/values/types/UpdateRequestValue.js +5 -0
  155. package/api/resources/values/types/UpdateResponseItem.d.ts +1 -0
  156. package/api/resources/values/types/UpdateResponseItem.js +5 -0
  157. package/api/resources/values/types/UpdateResponseItemType.d.ts +7 -0
  158. package/api/resources/values/types/UpdateResponseItemType.js +12 -0
  159. package/api/resources/values/types/UpdateResponseItemValue.d.ts +1 -0
  160. package/api/resources/values/types/UpdateResponseItemValue.js +5 -0
  161. package/api/resources/values/types/index.d.ts +1 -0
  162. package/api/resources/values/types/index.js +29 -0
  163. package/api/types/BadRequestErrorBody.d.ts +1 -0
  164. package/api/types/BadRequestErrorBody.js +5 -0
  165. package/api/types/ForbiddenErrorBody.d.ts +1 -0
  166. package/api/types/ForbiddenErrorBody.js +5 -0
  167. package/api/types/InternalServerErrorBody.d.ts +1 -0
  168. package/api/types/InternalServerErrorBody.js +5 -0
  169. package/api/types/NotFoundErrorBody.d.ts +1 -0
  170. package/api/types/NotFoundErrorBody.js +5 -0
  171. package/api/types/index.d.ts +1 -0
  172. package/api/types/index.js +24 -0
  173. package/banner.png +0 -0
  174. package/core/fetcher/APIResponse.d.ts +1 -0
  175. package/core/fetcher/APIResponse.js +2 -0
  176. package/core/fetcher/Fetcher.d.ts +3 -0
  177. package/core/fetcher/Fetcher.js +161 -0
  178. package/core/fetcher/Supplier.d.ts +4 -0
  179. package/core/fetcher/Supplier.js +32 -0
  180. package/core/fetcher/getHeader.d.ts +2 -0
  181. package/core/fetcher/getHeader.js +12 -0
  182. package/core/fetcher/index.d.ts +9 -0
  183. package/core/fetcher/index.js +9 -0
  184. package/core/index.d.ts +2 -0
  185. package/core/index.js +39 -0
  186. package/core/schemas/Schema.d.ts +19 -0
  187. package/core/schemas/Schema.js +21 -0
  188. package/core/schemas/builders/date/date.d.ts +4 -0
  189. package/core/schemas/builders/date/date.js +63 -0
  190. package/core/schemas/builders/date/index.d.ts +3 -0
  191. package/core/schemas/builders/date/index.js +5 -0
  192. package/core/schemas/builders/enum/enum.d.ts +3 -0
  193. package/core/schemas/builders/enum/enum.js +39 -0
  194. package/core/schemas/builders/enum/index.d.ts +3 -0
  195. package/core/schemas/builders/enum/index.js +5 -0
  196. package/core/schemas/builders/index.d.ts +1 -0
  197. package/core/schemas/builders/index.js +33 -0
  198. package/core/schemas/builders/lazy/index.d.ts +5 -0
  199. package/core/schemas/builders/lazy/index.js +7 -0
  200. package/core/schemas/builders/lazy/lazy.d.ts +13 -0
  201. package/core/schemas/builders/lazy/lazy.js +46 -0
  202. package/core/schemas/builders/lazy/lazyObject.d.ts +8 -0
  203. package/core/schemas/builders/lazy/lazyObject.js +31 -0
  204. package/core/schemas/builders/list/index.d.ts +3 -0
  205. package/core/schemas/builders/list/index.js +5 -0
  206. package/core/schemas/builders/list/list.d.ts +7 -0
  207. package/core/schemas/builders/list/list.js +78 -0
  208. package/core/schemas/builders/literals/booleanLiteral.d.ts +3 -0
  209. package/core/schemas/builders/literals/booleanLiteral.js +29 -0
  210. package/core/schemas/builders/literals/index.d.ts +5 -0
  211. package/core/schemas/builders/literals/index.js +7 -0
  212. package/core/schemas/builders/literals/stringLiteral.d.ts +3 -0
  213. package/core/schemas/builders/literals/stringLiteral.js +29 -0
  214. package/core/schemas/builders/object/index.d.ts +9 -0
  215. package/core/schemas/builders/object/index.js +11 -0
  216. package/core/schemas/builders/object/object.d.ts +27 -0
  217. package/core/schemas/builders/object/object.js +268 -0
  218. package/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +2 -0
  219. package/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
  220. package/core/schemas/builders/object/property.d.ts +7 -0
  221. package/core/schemas/builders/object/property.js +16 -0
  222. package/core/schemas/builders/object/types.d.ts +1 -0
  223. package/core/schemas/builders/object/types.js +2 -0
  224. package/core/schemas/builders/object-like/getObjectLikeUtils.d.ts +23 -0
  225. package/core/schemas/builders/object-like/getObjectLikeUtils.js +73 -0
  226. package/core/schemas/builders/object-like/index.d.ts +4 -0
  227. package/core/schemas/builders/object-like/index.js +6 -0
  228. package/core/schemas/builders/object-like/types.d.ts +1 -0
  229. package/core/schemas/builders/object-like/types.js +2 -0
  230. package/core/schemas/builders/primitives/any.d.ts +3 -0
  231. package/core/schemas/builders/primitives/any.js +6 -0
  232. package/core/schemas/builders/primitives/boolean.d.ts +3 -0
  233. package/core/schemas/builders/primitives/boolean.js +25 -0
  234. package/core/schemas/builders/primitives/index.d.ts +6 -0
  235. package/core/schemas/builders/primitives/index.js +13 -0
  236. package/core/schemas/builders/primitives/number.d.ts +3 -0
  237. package/core/schemas/builders/primitives/number.js +25 -0
  238. package/core/schemas/builders/primitives/string.d.ts +3 -0
  239. package/core/schemas/builders/primitives/string.js +25 -0
  240. package/core/schemas/builders/primitives/unknown.d.ts +3 -0
  241. package/core/schemas/builders/primitives/unknown.js +6 -0
  242. package/core/schemas/builders/record/index.d.ts +3 -0
  243. package/core/schemas/builders/record/index.js +5 -0
  244. package/core/schemas/builders/record/record.d.ts +7 -0
  245. package/core/schemas/builders/record/record.js +116 -0
  246. package/core/schemas/builders/record/types.d.ts +1 -0
  247. package/core/schemas/builders/record/types.js +2 -0
  248. package/core/schemas/builders/schema-utils/JsonError.d.ts +5 -0
  249. package/core/schemas/builders/schema-utils/JsonError.js +12 -0
  250. package/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
  251. package/core/schemas/builders/schema-utils/ParseError.js +12 -0
  252. package/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +54 -0
  253. package/core/schemas/builders/schema-utils/getSchemaUtils.js +95 -0
  254. package/core/schemas/builders/schema-utils/index.d.ts +9 -0
  255. package/core/schemas/builders/schema-utils/index.js +11 -0
  256. package/core/schemas/builders/schema-utils/stringifyValidationErrors.d.ts +2 -0
  257. package/core/schemas/builders/schema-utils/stringifyValidationErrors.js +10 -0
  258. package/core/schemas/builders/set/index.d.ts +3 -0
  259. package/core/schemas/builders/set/index.js +5 -0
  260. package/core/schemas/builders/set/set.d.ts +7 -0
  261. package/core/schemas/builders/set/set.js +63 -0
  262. package/core/schemas/builders/undiscriminated-union/index.d.ts +3 -0
  263. package/core/schemas/builders/undiscriminated-union/index.js +5 -0
  264. package/core/schemas/builders/undiscriminated-union/types.d.ts +1 -0
  265. package/core/schemas/builders/undiscriminated-union/types.js +2 -0
  266. package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.d.ts +7 -0
  267. package/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +61 -0
  268. package/core/schemas/builders/union/discriminant.d.ts +5 -0
  269. package/core/schemas/builders/union/discriminant.js +10 -0
  270. package/core/schemas/builders/union/index.d.ts +5 -0
  271. package/core/schemas/builders/union/index.js +7 -0
  272. package/core/schemas/builders/union/types.d.ts +1 -0
  273. package/core/schemas/builders/union/types.js +2 -0
  274. package/core/schemas/builders/union/union.d.ts +8 -0
  275. package/core/schemas/builders/union/union.js +152 -0
  276. package/core/schemas/index.d.ts +1 -0
  277. package/core/schemas/index.js +21 -0
  278. package/core/schemas/utils/MaybePromise.d.ts +1 -0
  279. package/core/schemas/utils/MaybePromise.js +2 -0
  280. package/core/schemas/utils/addQuestionMarksToNullableProperties.d.ts +1 -0
  281. package/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -0
  282. package/core/schemas/utils/createIdentitySchemaCreator.d.ts +7 -0
  283. package/core/schemas/utils/createIdentitySchemaCreator.js +16 -0
  284. package/core/schemas/utils/entries.d.ts +2 -0
  285. package/core/schemas/utils/entries.js +7 -0
  286. package/core/schemas/utils/filterObject.d.ts +2 -0
  287. package/core/schemas/utils/filterObject.js +14 -0
  288. package/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +2 -0
  289. package/core/schemas/utils/getErrorMessageForIncorrectType.js +24 -0
  290. package/core/schemas/utils/isPlainObject.d.ts +2 -0
  291. package/core/schemas/utils/isPlainObject.js +18 -0
  292. package/core/schemas/utils/keys.d.ts +2 -0
  293. package/core/schemas/utils/keys.js +7 -0
  294. package/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
  295. package/core/schemas/utils/maybeSkipValidation.js +47 -0
  296. package/core/schemas/utils/partition.d.ts +2 -0
  297. package/core/schemas/utils/partition.js +16 -0
  298. package/dist/Client.d.ts +26 -0
  299. package/dist/Client.js +47 -0
  300. package/dist/api/errors/BadRequestError.d.ts +7 -0
  301. package/dist/api/errors/BadRequestError.js +47 -0
  302. package/dist/api/errors/ForbiddenError.d.ts +7 -0
  303. package/dist/api/errors/ForbiddenError.js +47 -0
  304. package/dist/api/errors/InternalServerError.d.ts +7 -0
  305. package/dist/api/errors/InternalServerError.js +47 -0
  306. package/dist/api/errors/NotFoundError.d.ts +7 -0
  307. package/dist/api/errors/NotFoundError.js +47 -0
  308. package/dist/api/errors/index.d.ts +1 -0
  309. package/dist/api/errors/index.js +24 -0
  310. package/dist/api/index.d.ts +1 -0
  311. package/dist/api/index.js +23 -0
  312. package/dist/api/resources/assets/client/Client.d.ts +100 -0
  313. package/dist/api/resources/assets/client/Client.js +611 -0
  314. package/dist/api/resources/assets/client/index.d.ts +1 -0
  315. package/dist/api/resources/assets/client/index.js +21 -0
  316. package/dist/api/resources/assets/client/requests/DeleteFolderRequest.d.ts +1 -0
  317. package/dist/api/resources/assets/client/requests/DeleteFolderRequest.js +5 -0
  318. package/dist/api/resources/assets/client/requests/DeleteRuleRequest.d.ts +1 -0
  319. package/dist/api/resources/assets/client/requests/DeleteRuleRequest.js +5 -0
  320. package/dist/api/resources/assets/client/requests/ExportRuleRequest.d.ts +1 -0
  321. package/dist/api/resources/assets/client/requests/ExportRuleRequest.js +5 -0
  322. package/dist/api/resources/assets/client/requests/ImportRuleRequest.d.ts +1 -0
  323. package/dist/api/resources/assets/client/requests/ImportRuleRequest.js +5 -0
  324. package/dist/api/resources/assets/client/requests/ListRulesRequest.d.ts +1 -0
  325. package/dist/api/resources/assets/client/requests/ListRulesRequest.js +5 -0
  326. package/dist/api/resources/assets/client/requests/UpsertFolderRequest.d.ts +1 -0
  327. package/dist/api/resources/assets/client/requests/UpsertFolderRequest.js +5 -0
  328. package/dist/api/resources/assets/client/requests/index.d.ts +1 -0
  329. package/dist/api/resources/assets/client/requests/index.js +2 -0
  330. package/dist/api/resources/assets/index.d.ts +1 -0
  331. package/dist/api/resources/assets/index.js +22 -0
  332. package/dist/api/resources/assets/types/DeleteFolderResponse.d.ts +1 -0
  333. package/dist/api/resources/assets/types/DeleteFolderResponse.js +5 -0
  334. package/dist/api/resources/assets/types/DeleteRuleResponse.d.ts +1 -0
  335. package/dist/api/resources/assets/types/DeleteRuleResponse.js +5 -0
  336. package/dist/api/resources/assets/types/ListFlowsResponseItem.d.ts +1 -0
  337. package/dist/api/resources/assets/types/ListFlowsResponseItem.js +5 -0
  338. package/dist/api/resources/assets/types/ListFoldersResponseItem.d.ts +1 -0
  339. package/dist/api/resources/assets/types/ListFoldersResponseItem.js +5 -0
  340. package/dist/api/resources/assets/types/ListRulesResponseItem.d.ts +1 -0
  341. package/dist/api/resources/assets/types/ListRulesResponseItem.js +5 -0
  342. package/dist/api/resources/assets/types/ListRulesResponseItemFolder.d.ts +1 -0
  343. package/dist/api/resources/assets/types/ListRulesResponseItemFolder.js +5 -0
  344. package/dist/api/resources/assets/types/UpsertFolderResponse.d.ts +1 -0
  345. package/dist/api/resources/assets/types/UpsertFolderResponse.js +5 -0
  346. package/dist/api/resources/assets/types/UsageResponse.d.ts +1 -0
  347. package/dist/api/resources/assets/types/UsageResponse.js +5 -0
  348. package/dist/api/resources/assets/types/index.d.ts +1 -0
  349. package/dist/api/resources/assets/types/index.js +28 -0
  350. package/dist/api/resources/decisions/client/Client.d.ts +19 -0
  351. package/dist/api/resources/decisions/client/Client.js +146 -0
  352. package/dist/api/resources/decisions/client/index.d.ts +1 -0
  353. package/dist/api/resources/decisions/client/index.js +21 -0
  354. package/dist/api/resources/decisions/client/requests/QueryRequest.d.ts +1 -0
  355. package/dist/api/resources/decisions/client/requests/QueryRequest.js +5 -0
  356. package/dist/api/resources/decisions/client/requests/index.d.ts +1 -0
  357. package/dist/api/resources/decisions/client/requests/index.js +2 -0
  358. package/dist/api/resources/decisions/index.d.ts +1 -0
  359. package/dist/api/resources/decisions/index.js +22 -0
  360. package/dist/api/resources/decisions/types/QueryResponse.d.ts +1 -0
  361. package/dist/api/resources/decisions/types/QueryResponse.js +5 -0
  362. package/dist/api/resources/decisions/types/index.d.ts +1 -0
  363. package/dist/api/resources/decisions/types/index.js +21 -0
  364. package/dist/api/resources/flows/client/Client.d.ts +21 -0
  365. package/dist/api/resources/flows/client/Client.js +133 -0
  366. package/dist/api/resources/flows/client/index.d.ts +1 -0
  367. package/dist/api/resources/flows/client/index.js +2 -0
  368. package/dist/api/resources/flows/index.d.ts +1 -0
  369. package/dist/api/resources/flows/index.js +21 -0
  370. package/dist/api/resources/index.d.ts +8 -0
  371. package/dist/api/resources/index.js +54 -0
  372. package/dist/api/resources/rules/client/Client.d.ts +60 -0
  373. package/dist/api/resources/rules/client/Client.js +272 -0
  374. package/dist/api/resources/rules/client/index.d.ts +1 -0
  375. package/dist/api/resources/rules/client/index.js +2 -0
  376. package/dist/api/resources/rules/index.d.ts +1 -0
  377. package/dist/api/resources/rules/index.js +21 -0
  378. package/dist/api/resources/tests/client/Client.d.ts +82 -0
  379. package/dist/api/resources/tests/client/Client.js +439 -0
  380. package/dist/api/resources/tests/client/index.d.ts +1 -0
  381. package/dist/api/resources/tests/client/index.js +21 -0
  382. package/dist/api/resources/tests/client/requests/CreateFlowTestRequest.d.ts +1 -0
  383. package/dist/api/resources/tests/client/requests/CreateFlowTestRequest.js +5 -0
  384. package/dist/api/resources/tests/client/requests/CreateRuleTestRequest.d.ts +1 -0
  385. package/dist/api/resources/tests/client/requests/CreateRuleTestRequest.js +5 -0
  386. package/dist/api/resources/tests/client/requests/index.d.ts +1 -0
  387. package/dist/api/resources/tests/client/requests/index.js +2 -0
  388. package/dist/api/resources/tests/index.d.ts +1 -0
  389. package/dist/api/resources/tests/index.js +22 -0
  390. package/dist/api/resources/tests/types/CreateFlowTestResponse.d.ts +1 -0
  391. package/dist/api/resources/tests/types/CreateFlowTestResponse.js +5 -0
  392. package/dist/api/resources/tests/types/CreateRuleTestResponse.d.ts +1 -0
  393. package/dist/api/resources/tests/types/CreateRuleTestResponse.js +5 -0
  394. package/dist/api/resources/tests/types/DeleteFlowTestResponse.d.ts +1 -0
  395. package/dist/api/resources/tests/types/DeleteFlowTestResponse.js +5 -0
  396. package/dist/api/resources/tests/types/DeleteRuleTestResponse.d.ts +1 -0
  397. package/dist/api/resources/tests/types/DeleteRuleTestResponse.js +5 -0
  398. package/dist/api/resources/tests/types/ListFlowTestsResponseItem.d.ts +1 -0
  399. package/dist/api/resources/tests/types/ListFlowTestsResponseItem.js +5 -0
  400. package/dist/api/resources/tests/types/ListRuleTestsResponseItem.d.ts +1 -0
  401. package/dist/api/resources/tests/types/ListRuleTestsResponseItem.js +5 -0
  402. package/dist/api/resources/tests/types/index.d.ts +1 -0
  403. package/dist/api/resources/tests/types/index.js +26 -0
  404. package/dist/api/resources/users/client/Client.d.ts +62 -0
  405. package/dist/api/resources/users/client/Client.js +269 -0
  406. package/dist/api/resources/users/client/index.d.ts +1 -0
  407. package/dist/api/resources/users/client/index.js +21 -0
  408. package/dist/api/resources/users/client/requests/CreateGroupRequest.d.ts +1 -0
  409. package/dist/api/resources/users/client/requests/CreateGroupRequest.js +5 -0
  410. package/dist/api/resources/users/client/requests/InviteRequest.d.ts +1 -0
  411. package/dist/api/resources/users/client/requests/InviteRequest.js +5 -0
  412. package/dist/api/resources/users/client/requests/index.d.ts +1 -0
  413. package/dist/api/resources/users/client/requests/index.js +2 -0
  414. package/dist/api/resources/users/index.d.ts +1 -0
  415. package/dist/api/resources/users/index.js +22 -0
  416. package/dist/api/resources/users/types/CreateGroupResponse.d.ts +1 -0
  417. package/dist/api/resources/users/types/CreateGroupResponse.js +5 -0
  418. package/dist/api/resources/users/types/InviteRequestRole.d.ts +5 -0
  419. package/dist/api/resources/users/types/InviteRequestRole.js +10 -0
  420. package/dist/api/resources/users/types/InviteResponse.d.ts +1 -0
  421. package/dist/api/resources/users/types/InviteResponse.js +5 -0
  422. package/dist/api/resources/users/types/ListGroupsResponseItem.d.ts +1 -0
  423. package/dist/api/resources/users/types/ListGroupsResponseItem.js +5 -0
  424. package/dist/api/resources/users/types/index.d.ts +1 -0
  425. package/dist/api/resources/users/types/index.js +24 -0
  426. package/dist/api/resources/values/client/Client.d.ts +37 -0
  427. package/dist/api/resources/values/client/Client.js +255 -0
  428. package/dist/api/resources/values/client/index.d.ts +1 -0
  429. package/dist/api/resources/values/client/index.js +21 -0
  430. package/dist/api/resources/values/client/requests/DeleteDynamicValueRequest.d.ts +1 -0
  431. package/dist/api/resources/values/client/requests/DeleteDynamicValueRequest.js +5 -0
  432. package/dist/api/resources/values/client/requests/ListDynamicValuesRequest.d.ts +1 -0
  433. package/dist/api/resources/values/client/requests/ListDynamicValuesRequest.js +5 -0
  434. package/dist/api/resources/values/client/requests/index.d.ts +1 -0
  435. package/dist/api/resources/values/client/requests/index.js +2 -0
  436. package/dist/api/resources/values/index.d.ts +1 -0
  437. package/dist/api/resources/values/index.js +22 -0
  438. package/dist/api/resources/values/types/DeleteDynamicValueResponse.d.ts +1 -0
  439. package/dist/api/resources/values/types/DeleteDynamicValueResponse.js +5 -0
  440. package/dist/api/resources/values/types/ListDynamicValuesResponseItem.d.ts +1 -0
  441. package/dist/api/resources/values/types/ListDynamicValuesResponseItem.js +5 -0
  442. package/dist/api/resources/values/types/ListDynamicValuesResponseItemType.d.ts +7 -0
  443. package/dist/api/resources/values/types/ListDynamicValuesResponseItemType.js +12 -0
  444. package/dist/api/resources/values/types/ListDynamicValuesResponseItemUsagesItem.d.ts +1 -0
  445. package/dist/api/resources/values/types/ListDynamicValuesResponseItemUsagesItem.js +5 -0
  446. package/dist/api/resources/values/types/ListDynamicValuesResponseItemValue.d.ts +1 -0
  447. package/dist/api/resources/values/types/ListDynamicValuesResponseItemValue.js +5 -0
  448. package/dist/api/resources/values/types/UpdateRequestValue.d.ts +1 -0
  449. package/dist/api/resources/values/types/UpdateRequestValue.js +5 -0
  450. package/dist/api/resources/values/types/UpdateResponseItem.d.ts +1 -0
  451. package/dist/api/resources/values/types/UpdateResponseItem.js +5 -0
  452. package/dist/api/resources/values/types/UpdateResponseItemType.d.ts +7 -0
  453. package/dist/api/resources/values/types/UpdateResponseItemType.js +12 -0
  454. package/dist/api/resources/values/types/UpdateResponseItemValue.d.ts +1 -0
  455. package/dist/api/resources/values/types/UpdateResponseItemValue.js +5 -0
  456. package/dist/api/resources/values/types/index.d.ts +1 -0
  457. package/dist/api/resources/values/types/index.js +29 -0
  458. package/dist/api/types/BadRequestErrorBody.d.ts +1 -0
  459. package/dist/api/types/BadRequestErrorBody.js +5 -0
  460. package/dist/api/types/ForbiddenErrorBody.d.ts +1 -0
  461. package/dist/api/types/ForbiddenErrorBody.js +5 -0
  462. package/dist/api/types/InternalServerErrorBody.d.ts +1 -0
  463. package/dist/api/types/InternalServerErrorBody.js +5 -0
  464. package/dist/api/types/NotFoundErrorBody.d.ts +1 -0
  465. package/dist/api/types/NotFoundErrorBody.js +5 -0
  466. package/dist/api/types/index.d.ts +1 -0
  467. package/dist/api/types/index.js +24 -0
  468. package/dist/core/fetcher/APIResponse.d.ts +1 -0
  469. package/dist/core/fetcher/APIResponse.js +2 -0
  470. package/dist/core/fetcher/Fetcher.d.ts +3 -0
  471. package/dist/core/fetcher/Fetcher.js +161 -0
  472. package/dist/core/fetcher/Supplier.d.ts +4 -0
  473. package/dist/core/fetcher/Supplier.js +32 -0
  474. package/dist/core/fetcher/getHeader.d.ts +2 -0
  475. package/dist/core/fetcher/getHeader.js +12 -0
  476. package/dist/core/fetcher/index.d.ts +9 -0
  477. package/dist/core/fetcher/index.js +9 -0
  478. package/dist/core/index.d.ts +2 -0
  479. package/dist/core/index.js +39 -0
  480. package/dist/core/schemas/Schema.d.ts +19 -0
  481. package/dist/core/schemas/Schema.js +21 -0
  482. package/dist/core/schemas/builders/date/date.d.ts +4 -0
  483. package/dist/core/schemas/builders/date/date.js +63 -0
  484. package/dist/core/schemas/builders/date/index.d.ts +3 -0
  485. package/dist/core/schemas/builders/date/index.js +5 -0
  486. package/dist/core/schemas/builders/enum/enum.d.ts +3 -0
  487. package/dist/core/schemas/builders/enum/enum.js +39 -0
  488. package/dist/core/schemas/builders/enum/index.d.ts +3 -0
  489. package/dist/core/schemas/builders/enum/index.js +5 -0
  490. package/dist/core/schemas/builders/index.d.ts +1 -0
  491. package/dist/core/schemas/builders/index.js +33 -0
  492. package/dist/core/schemas/builders/lazy/index.d.ts +5 -0
  493. package/dist/core/schemas/builders/lazy/index.js +7 -0
  494. package/dist/core/schemas/builders/lazy/lazy.d.ts +13 -0
  495. package/dist/core/schemas/builders/lazy/lazy.js +46 -0
  496. package/dist/core/schemas/builders/lazy/lazyObject.d.ts +8 -0
  497. package/dist/core/schemas/builders/lazy/lazyObject.js +31 -0
  498. package/dist/core/schemas/builders/list/index.d.ts +3 -0
  499. package/dist/core/schemas/builders/list/index.js +5 -0
  500. package/dist/core/schemas/builders/list/list.d.ts +7 -0
  501. package/dist/core/schemas/builders/list/list.js +78 -0
  502. package/dist/core/schemas/builders/literals/booleanLiteral.d.ts +3 -0
  503. package/dist/core/schemas/builders/literals/booleanLiteral.js +29 -0
  504. package/dist/core/schemas/builders/literals/index.d.ts +5 -0
  505. package/dist/core/schemas/builders/literals/index.js +7 -0
  506. package/dist/core/schemas/builders/literals/stringLiteral.d.ts +3 -0
  507. package/dist/core/schemas/builders/literals/stringLiteral.js +29 -0
  508. package/dist/core/schemas/builders/object/index.d.ts +9 -0
  509. package/dist/core/schemas/builders/object/index.js +11 -0
  510. package/dist/core/schemas/builders/object/object.d.ts +27 -0
  511. package/dist/core/schemas/builders/object/object.js +268 -0
  512. package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.d.ts +2 -0
  513. package/dist/core/schemas/builders/object/objectWithoutOptionalProperties.js +8 -0
  514. package/dist/core/schemas/builders/object/property.d.ts +7 -0
  515. package/dist/core/schemas/builders/object/property.js +16 -0
  516. package/dist/core/schemas/builders/object/types.d.ts +1 -0
  517. package/dist/core/schemas/builders/object/types.js +2 -0
  518. package/dist/core/schemas/builders/object-like/getObjectLikeUtils.d.ts +23 -0
  519. package/dist/core/schemas/builders/object-like/getObjectLikeUtils.js +73 -0
  520. package/dist/core/schemas/builders/object-like/index.d.ts +4 -0
  521. package/dist/core/schemas/builders/object-like/index.js +6 -0
  522. package/dist/core/schemas/builders/object-like/types.d.ts +1 -0
  523. package/dist/core/schemas/builders/object-like/types.js +2 -0
  524. package/dist/core/schemas/builders/primitives/any.d.ts +3 -0
  525. package/dist/core/schemas/builders/primitives/any.js +6 -0
  526. package/dist/core/schemas/builders/primitives/boolean.d.ts +3 -0
  527. package/dist/core/schemas/builders/primitives/boolean.js +25 -0
  528. package/dist/core/schemas/builders/primitives/index.d.ts +6 -0
  529. package/dist/core/schemas/builders/primitives/index.js +13 -0
  530. package/dist/core/schemas/builders/primitives/number.d.ts +3 -0
  531. package/dist/core/schemas/builders/primitives/number.js +25 -0
  532. package/dist/core/schemas/builders/primitives/string.d.ts +3 -0
  533. package/dist/core/schemas/builders/primitives/string.js +25 -0
  534. package/dist/core/schemas/builders/primitives/unknown.d.ts +3 -0
  535. package/dist/core/schemas/builders/primitives/unknown.js +6 -0
  536. package/dist/core/schemas/builders/record/index.d.ts +3 -0
  537. package/dist/core/schemas/builders/record/index.js +5 -0
  538. package/dist/core/schemas/builders/record/record.d.ts +7 -0
  539. package/dist/core/schemas/builders/record/record.js +116 -0
  540. package/dist/core/schemas/builders/record/types.d.ts +1 -0
  541. package/dist/core/schemas/builders/record/types.js +2 -0
  542. package/dist/core/schemas/builders/schema-utils/JsonError.d.ts +5 -0
  543. package/dist/core/schemas/builders/schema-utils/JsonError.js +12 -0
  544. package/dist/core/schemas/builders/schema-utils/ParseError.d.ts +5 -0
  545. package/dist/core/schemas/builders/schema-utils/ParseError.js +12 -0
  546. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.d.ts +54 -0
  547. package/dist/core/schemas/builders/schema-utils/getSchemaUtils.js +95 -0
  548. package/dist/core/schemas/builders/schema-utils/index.d.ts +9 -0
  549. package/dist/core/schemas/builders/schema-utils/index.js +11 -0
  550. package/dist/core/schemas/builders/schema-utils/stringifyValidationErrors.d.ts +2 -0
  551. package/dist/core/schemas/builders/schema-utils/stringifyValidationErrors.js +10 -0
  552. package/dist/core/schemas/builders/set/index.d.ts +3 -0
  553. package/dist/core/schemas/builders/set/index.js +5 -0
  554. package/dist/core/schemas/builders/set/set.d.ts +7 -0
  555. package/dist/core/schemas/builders/set/set.js +63 -0
  556. package/dist/core/schemas/builders/undiscriminated-union/index.d.ts +3 -0
  557. package/dist/core/schemas/builders/undiscriminated-union/index.js +5 -0
  558. package/dist/core/schemas/builders/undiscriminated-union/types.d.ts +1 -0
  559. package/dist/core/schemas/builders/undiscriminated-union/types.js +2 -0
  560. package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.d.ts +7 -0
  561. package/dist/core/schemas/builders/undiscriminated-union/undiscriminatedUnion.js +61 -0
  562. package/dist/core/schemas/builders/union/discriminant.d.ts +5 -0
  563. package/dist/core/schemas/builders/union/discriminant.js +10 -0
  564. package/dist/core/schemas/builders/union/index.d.ts +5 -0
  565. package/dist/core/schemas/builders/union/index.js +7 -0
  566. package/dist/core/schemas/builders/union/types.d.ts +1 -0
  567. package/dist/core/schemas/builders/union/types.js +2 -0
  568. package/dist/core/schemas/builders/union/union.d.ts +8 -0
  569. package/dist/core/schemas/builders/union/union.js +152 -0
  570. package/dist/core/schemas/index.d.ts +1 -0
  571. package/dist/core/schemas/index.js +21 -0
  572. package/dist/core/schemas/utils/MaybePromise.d.ts +1 -0
  573. package/dist/core/schemas/utils/MaybePromise.js +2 -0
  574. package/dist/core/schemas/utils/addQuestionMarksToNullableProperties.d.ts +1 -0
  575. package/dist/core/schemas/utils/addQuestionMarksToNullableProperties.js +2 -0
  576. package/dist/core/schemas/utils/createIdentitySchemaCreator.d.ts +7 -0
  577. package/dist/core/schemas/utils/createIdentitySchemaCreator.js +16 -0
  578. package/dist/core/schemas/utils/entries.d.ts +2 -0
  579. package/dist/core/schemas/utils/entries.js +7 -0
  580. package/dist/core/schemas/utils/filterObject.d.ts +2 -0
  581. package/dist/core/schemas/utils/filterObject.js +14 -0
  582. package/dist/core/schemas/utils/getErrorMessageForIncorrectType.d.ts +2 -0
  583. package/dist/core/schemas/utils/getErrorMessageForIncorrectType.js +24 -0
  584. package/dist/core/schemas/utils/isPlainObject.d.ts +2 -0
  585. package/dist/core/schemas/utils/isPlainObject.js +18 -0
  586. package/dist/core/schemas/utils/keys.d.ts +2 -0
  587. package/dist/core/schemas/utils/keys.js +7 -0
  588. package/dist/core/schemas/utils/maybeSkipValidation.d.ts +2 -0
  589. package/dist/core/schemas/utils/maybeSkipValidation.js +47 -0
  590. package/dist/core/schemas/utils/partition.d.ts +2 -0
  591. package/dist/core/schemas/utils/partition.js +16 -0
  592. package/dist/errors/RulebricksApiError.d.ts +10 -0
  593. package/dist/errors/RulebricksApiError.js +32 -0
  594. package/dist/errors/RulebricksApiTimeoutError.d.ts +4 -0
  595. package/dist/errors/RulebricksApiTimeoutError.js +13 -0
  596. package/dist/errors/index.d.ts +5 -0
  597. package/dist/errors/index.js +7 -0
  598. package/dist/forge/index.d.ts +4 -0
  599. package/dist/forge/index.js +31 -0
  600. package/dist/forge/operators.d.ts +136 -0
  601. package/dist/forge/operators.js +938 -0
  602. package/dist/forge/rule.d.ts +129 -0
  603. package/dist/forge/rule.js +702 -0
  604. package/dist/forge/types.d.ts +53 -0
  605. package/dist/forge/types.js +34 -0
  606. package/dist/forge/values.d.ts +21 -0
  607. package/dist/forge/values.js +88 -0
  608. package/dist/index.d.ts +15 -0
  609. package/dist/index.js +113 -0
  610. package/dist/serialization/index.d.ts +1 -0
  611. package/dist/serialization/index.js +22 -0
  612. package/dist/serialization/resources/assets/client/exportRule.d.ts +2 -0
  613. package/dist/serialization/resources/assets/client/exportRule.js +37 -0
  614. package/dist/serialization/resources/assets/client/importRule.d.ts +2 -0
  615. package/dist/serialization/resources/assets/client/importRule.js +37 -0
  616. package/dist/serialization/resources/assets/client/index.d.ts +6 -0
  617. package/dist/serialization/resources/assets/client/index.js +43 -0
  618. package/dist/serialization/resources/assets/client/listFlows.d.ts +2 -0
  619. package/dist/serialization/resources/assets/client/listFlows.js +56 -0
  620. package/dist/serialization/resources/assets/client/listFolders.d.ts +2 -0
  621. package/dist/serialization/resources/assets/client/listFolders.js +56 -0
  622. package/dist/serialization/resources/assets/client/listRules.d.ts +2 -0
  623. package/dist/serialization/resources/assets/client/listRules.js +56 -0
  624. package/dist/serialization/resources/assets/client/requests/DeleteFolderRequest.d.ts +2 -0
  625. package/dist/serialization/resources/assets/client/requests/DeleteFolderRequest.js +39 -0
  626. package/dist/serialization/resources/assets/client/requests/DeleteRuleRequest.d.ts +2 -0
  627. package/dist/serialization/resources/assets/client/requests/DeleteRuleRequest.js +39 -0
  628. package/dist/serialization/resources/assets/client/requests/ImportRuleRequest.d.ts +2 -0
  629. package/dist/serialization/resources/assets/client/requests/ImportRuleRequest.js +39 -0
  630. package/dist/serialization/resources/assets/client/requests/UpsertFolderRequest.d.ts +2 -0
  631. package/dist/serialization/resources/assets/client/requests/UpsertFolderRequest.js +41 -0
  632. package/dist/serialization/resources/assets/client/requests/index.d.ts +9 -0
  633. package/dist/serialization/resources/assets/client/requests/index.js +11 -0
  634. package/dist/serialization/resources/assets/index.d.ts +1 -0
  635. package/dist/serialization/resources/assets/index.js +22 -0
  636. package/dist/serialization/resources/assets/types/DeleteFolderResponse.d.ts +2 -0
  637. package/dist/serialization/resources/assets/types/DeleteFolderResponse.js +42 -0
  638. package/dist/serialization/resources/assets/types/DeleteRuleResponse.d.ts +2 -0
  639. package/dist/serialization/resources/assets/types/DeleteRuleResponse.js +39 -0
  640. package/dist/serialization/resources/assets/types/ListFlowsResponseItem.d.ts +2 -0
  641. package/dist/serialization/resources/assets/types/ListFlowsResponseItem.js +44 -0
  642. package/dist/serialization/resources/assets/types/ListFoldersResponseItem.d.ts +2 -0
  643. package/dist/serialization/resources/assets/types/ListFoldersResponseItem.js +42 -0
  644. package/dist/serialization/resources/assets/types/ListRulesResponseItem.d.ts +2 -0
  645. package/dist/serialization/resources/assets/types/ListRulesResponseItem.js +67 -0
  646. package/dist/serialization/resources/assets/types/ListRulesResponseItemFolder.d.ts +2 -0
  647. package/dist/serialization/resources/assets/types/ListRulesResponseItemFolder.js +42 -0
  648. package/dist/serialization/resources/assets/types/UpsertFolderResponse.d.ts +2 -0
  649. package/dist/serialization/resources/assets/types/UpsertFolderResponse.js +42 -0
  650. package/dist/serialization/resources/assets/types/UsageResponse.d.ts +2 -0
  651. package/dist/serialization/resources/assets/types/UsageResponse.js +44 -0
  652. package/dist/serialization/resources/assets/types/index.d.ts +1 -0
  653. package/dist/serialization/resources/assets/types/index.js +28 -0
  654. package/dist/serialization/resources/decisions/index.d.ts +1 -0
  655. package/dist/serialization/resources/decisions/index.js +21 -0
  656. package/dist/serialization/resources/decisions/types/QueryResponse.d.ts +2 -0
  657. package/dist/serialization/resources/decisions/types/QueryResponse.js +42 -0
  658. package/dist/serialization/resources/decisions/types/index.d.ts +1 -0
  659. package/dist/serialization/resources/decisions/types/index.js +21 -0
  660. package/dist/serialization/resources/flows/client/execute.d.ts +3 -0
  661. package/dist/serialization/resources/flows/client/execute.js +38 -0
  662. package/dist/serialization/resources/flows/client/index.d.ts +2 -0
  663. package/dist/serialization/resources/flows/client/index.js +33 -0
  664. package/dist/serialization/resources/flows/index.d.ts +1 -0
  665. package/dist/serialization/resources/flows/index.js +21 -0
  666. package/dist/serialization/resources/index.d.ts +8 -0
  667. package/dist/serialization/resources/index.js +52 -0
  668. package/dist/serialization/resources/rules/client/bulkSolve.d.ts +3 -0
  669. package/dist/serialization/resources/rules/client/bulkSolve.js +38 -0
  670. package/dist/serialization/resources/rules/client/index.d.ts +4 -0
  671. package/dist/serialization/resources/rules/client/index.js +35 -0
  672. package/dist/serialization/resources/rules/client/parallelSolve.d.ts +3 -0
  673. package/dist/serialization/resources/rules/client/parallelSolve.js +38 -0
  674. package/dist/serialization/resources/rules/client/solve.d.ts +3 -0
  675. package/dist/serialization/resources/rules/client/solve.js +38 -0
  676. package/dist/serialization/resources/rules/index.d.ts +1 -0
  677. package/dist/serialization/resources/rules/index.js +21 -0
  678. package/dist/serialization/resources/tests/client/index.d.ts +3 -0
  679. package/dist/serialization/resources/tests/client/index.js +40 -0
  680. package/dist/serialization/resources/tests/client/listFlowTests.d.ts +2 -0
  681. package/dist/serialization/resources/tests/client/listFlowTests.js +56 -0
  682. package/dist/serialization/resources/tests/client/listRuleTests.d.ts +2 -0
  683. package/dist/serialization/resources/tests/client/listRuleTests.js +56 -0
  684. package/dist/serialization/resources/tests/client/requests/CreateFlowTestRequest.d.ts +2 -0
  685. package/dist/serialization/resources/tests/client/requests/CreateFlowTestRequest.js +42 -0
  686. package/dist/serialization/resources/tests/client/requests/CreateRuleTestRequest.d.ts +2 -0
  687. package/dist/serialization/resources/tests/client/requests/CreateRuleTestRequest.js +42 -0
  688. package/dist/serialization/resources/tests/client/requests/index.d.ts +5 -0
  689. package/dist/serialization/resources/tests/client/requests/index.js +7 -0
  690. package/dist/serialization/resources/tests/index.d.ts +1 -0
  691. package/dist/serialization/resources/tests/index.js +22 -0
  692. package/dist/serialization/resources/tests/types/CreateFlowTestResponse.d.ts +2 -0
  693. package/dist/serialization/resources/tests/types/CreateFlowTestResponse.js +47 -0
  694. package/dist/serialization/resources/tests/types/CreateRuleTestResponse.d.ts +2 -0
  695. package/dist/serialization/resources/tests/types/CreateRuleTestResponse.js +47 -0
  696. package/dist/serialization/resources/tests/types/DeleteFlowTestResponse.d.ts +2 -0
  697. package/dist/serialization/resources/tests/types/DeleteFlowTestResponse.js +47 -0
  698. package/dist/serialization/resources/tests/types/DeleteRuleTestResponse.d.ts +2 -0
  699. package/dist/serialization/resources/tests/types/DeleteRuleTestResponse.js +47 -0
  700. package/dist/serialization/resources/tests/types/ListFlowTestsResponseItem.d.ts +2 -0
  701. package/dist/serialization/resources/tests/types/ListFlowTestsResponseItem.js +47 -0
  702. package/dist/serialization/resources/tests/types/ListRuleTestsResponseItem.d.ts +2 -0
  703. package/dist/serialization/resources/tests/types/ListRuleTestsResponseItem.js +47 -0
  704. package/dist/serialization/resources/tests/types/index.d.ts +1 -0
  705. package/dist/serialization/resources/tests/types/index.js +26 -0
  706. package/dist/serialization/resources/users/client/index.d.ts +2 -0
  707. package/dist/serialization/resources/users/client/index.js +39 -0
  708. package/dist/serialization/resources/users/client/listGroups.d.ts +2 -0
  709. package/dist/serialization/resources/users/client/listGroups.js +56 -0
  710. package/dist/serialization/resources/users/client/requests/CreateGroupRequest.d.ts +2 -0
  711. package/dist/serialization/resources/users/client/requests/CreateGroupRequest.js +40 -0
  712. package/dist/serialization/resources/users/client/requests/InviteRequest.d.ts +2 -0
  713. package/dist/serialization/resources/users/client/requests/InviteRequest.js +60 -0
  714. package/dist/serialization/resources/users/client/requests/index.d.ts +5 -0
  715. package/dist/serialization/resources/users/client/requests/index.js +7 -0
  716. package/dist/serialization/resources/users/index.d.ts +1 -0
  717. package/dist/serialization/resources/users/index.js +22 -0
  718. package/dist/serialization/resources/users/types/CreateGroupResponse.d.ts +2 -0
  719. package/dist/serialization/resources/users/types/CreateGroupResponse.js +42 -0
  720. package/dist/serialization/resources/users/types/InviteRequestRole.d.ts +2 -0
  721. package/dist/serialization/resources/users/types/InviteRequestRole.js +37 -0
  722. package/dist/serialization/resources/users/types/InviteResponse.d.ts +2 -0
  723. package/dist/serialization/resources/users/types/InviteResponse.js +39 -0
  724. package/dist/serialization/resources/users/types/ListGroupsResponseItem.d.ts +2 -0
  725. package/dist/serialization/resources/users/types/ListGroupsResponseItem.js +42 -0
  726. package/dist/serialization/resources/users/types/index.d.ts +1 -0
  727. package/dist/serialization/resources/users/types/index.js +24 -0
  728. package/dist/serialization/resources/values/client/index.d.ts +3 -0
  729. package/dist/serialization/resources/values/client/index.js +34 -0
  730. package/dist/serialization/resources/values/client/listDynamicValues.d.ts +2 -0
  731. package/dist/serialization/resources/values/client/listDynamicValues.js +56 -0
  732. package/dist/serialization/resources/values/client/update.d.ts +3 -0
  733. package/dist/serialization/resources/values/client/update.js +57 -0
  734. package/dist/serialization/resources/values/index.d.ts +1 -0
  735. package/dist/serialization/resources/values/index.js +22 -0
  736. package/dist/serialization/resources/values/types/DeleteDynamicValueResponse.d.ts +2 -0
  737. package/dist/serialization/resources/values/types/DeleteDynamicValueResponse.js +39 -0
  738. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItem.d.ts +2 -0
  739. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItem.js +66 -0
  740. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemType.d.ts +2 -0
  741. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemType.js +37 -0
  742. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemUsagesItem.d.ts +2 -0
  743. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemUsagesItem.js +44 -0
  744. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemValue.d.ts +2 -0
  745. package/dist/serialization/resources/values/types/ListDynamicValuesResponseItemValue.js +42 -0
  746. package/dist/serialization/resources/values/types/UpdateRequestValue.d.ts +2 -0
  747. package/dist/serialization/resources/values/types/UpdateRequestValue.js +42 -0
  748. package/dist/serialization/resources/values/types/UpdateResponseItem.d.ts +2 -0
  749. package/dist/serialization/resources/values/types/UpdateResponseItem.js +61 -0
  750. package/dist/serialization/resources/values/types/UpdateResponseItemType.d.ts +2 -0
  751. package/dist/serialization/resources/values/types/UpdateResponseItemType.js +37 -0
  752. package/dist/serialization/resources/values/types/UpdateResponseItemValue.d.ts +2 -0
  753. package/dist/serialization/resources/values/types/UpdateResponseItemValue.js +42 -0
  754. package/dist/serialization/resources/values/types/index.d.ts +1 -0
  755. package/dist/serialization/resources/values/types/index.js +29 -0
  756. package/dist/serialization/types/BadRequestErrorBody.d.ts +2 -0
  757. package/dist/serialization/types/BadRequestErrorBody.js +39 -0
  758. package/dist/serialization/types/ForbiddenErrorBody.d.ts +2 -0
  759. package/dist/serialization/types/ForbiddenErrorBody.js +39 -0
  760. package/dist/serialization/types/InternalServerErrorBody.d.ts +2 -0
  761. package/dist/serialization/types/InternalServerErrorBody.js +39 -0
  762. package/dist/serialization/types/NotFoundErrorBody.d.ts +2 -0
  763. package/dist/serialization/types/NotFoundErrorBody.js +39 -0
  764. package/dist/serialization/types/index.d.ts +1 -0
  765. package/dist/serialization/types/index.js +24 -0
  766. package/errors/RulebricksApiError.d.ts +10 -0
  767. package/errors/RulebricksApiError.js +32 -0
  768. package/errors/RulebricksApiTimeoutError.d.ts +4 -0
  769. package/errors/RulebricksApiTimeoutError.js +13 -0
  770. package/errors/index.d.ts +5 -0
  771. package/errors/index.js +7 -0
  772. package/forge/index.d.ts +4 -0
  773. package/forge/index.js +31 -0
  774. package/forge/operators.d.ts +136 -0
  775. package/forge/operators.js +938 -0
  776. package/forge/rule.d.ts +129 -0
  777. package/forge/rule.js +702 -0
  778. package/forge/types.d.ts +53 -0
  779. package/forge/types.js +34 -0
  780. package/forge/values.d.ts +21 -0
  781. package/forge/values.js +88 -0
  782. package/index.d.ts +15 -0
  783. package/index.js +113 -0
  784. package/jest.config.js +5 -0
  785. package/package.json +43 -0
  786. package/serialization/index.d.ts +1 -0
  787. package/serialization/index.js +22 -0
  788. package/serialization/resources/assets/client/exportRule.d.ts +2 -0
  789. package/serialization/resources/assets/client/exportRule.js +37 -0
  790. package/serialization/resources/assets/client/importRule.d.ts +2 -0
  791. package/serialization/resources/assets/client/importRule.js +37 -0
  792. package/serialization/resources/assets/client/index.d.ts +6 -0
  793. package/serialization/resources/assets/client/index.js +43 -0
  794. package/serialization/resources/assets/client/listFlows.d.ts +2 -0
  795. package/serialization/resources/assets/client/listFlows.js +56 -0
  796. package/serialization/resources/assets/client/listFolders.d.ts +2 -0
  797. package/serialization/resources/assets/client/listFolders.js +56 -0
  798. package/serialization/resources/assets/client/listRules.d.ts +2 -0
  799. package/serialization/resources/assets/client/listRules.js +56 -0
  800. package/serialization/resources/assets/client/requests/DeleteFolderRequest.d.ts +2 -0
  801. package/serialization/resources/assets/client/requests/DeleteFolderRequest.js +39 -0
  802. package/serialization/resources/assets/client/requests/DeleteRuleRequest.d.ts +2 -0
  803. package/serialization/resources/assets/client/requests/DeleteRuleRequest.js +39 -0
  804. package/serialization/resources/assets/client/requests/ImportRuleRequest.d.ts +2 -0
  805. package/serialization/resources/assets/client/requests/ImportRuleRequest.js +39 -0
  806. package/serialization/resources/assets/client/requests/UpsertFolderRequest.d.ts +2 -0
  807. package/serialization/resources/assets/client/requests/UpsertFolderRequest.js +41 -0
  808. package/serialization/resources/assets/client/requests/index.d.ts +9 -0
  809. package/serialization/resources/assets/client/requests/index.js +11 -0
  810. package/serialization/resources/assets/index.d.ts +1 -0
  811. package/serialization/resources/assets/index.js +22 -0
  812. package/serialization/resources/assets/types/DeleteFolderResponse.d.ts +2 -0
  813. package/serialization/resources/assets/types/DeleteFolderResponse.js +42 -0
  814. package/serialization/resources/assets/types/DeleteRuleResponse.d.ts +2 -0
  815. package/serialization/resources/assets/types/DeleteRuleResponse.js +39 -0
  816. package/serialization/resources/assets/types/ListFlowsResponseItem.d.ts +2 -0
  817. package/serialization/resources/assets/types/ListFlowsResponseItem.js +44 -0
  818. package/serialization/resources/assets/types/ListFoldersResponseItem.d.ts +2 -0
  819. package/serialization/resources/assets/types/ListFoldersResponseItem.js +42 -0
  820. package/serialization/resources/assets/types/ListRulesResponseItem.d.ts +2 -0
  821. package/serialization/resources/assets/types/ListRulesResponseItem.js +67 -0
  822. package/serialization/resources/assets/types/ListRulesResponseItemFolder.d.ts +2 -0
  823. package/serialization/resources/assets/types/ListRulesResponseItemFolder.js +42 -0
  824. package/serialization/resources/assets/types/UpsertFolderResponse.d.ts +2 -0
  825. package/serialization/resources/assets/types/UpsertFolderResponse.js +42 -0
  826. package/serialization/resources/assets/types/UsageResponse.d.ts +2 -0
  827. package/serialization/resources/assets/types/UsageResponse.js +44 -0
  828. package/serialization/resources/assets/types/index.d.ts +1 -0
  829. package/serialization/resources/assets/types/index.js +28 -0
  830. package/serialization/resources/decisions/index.d.ts +1 -0
  831. package/serialization/resources/decisions/index.js +21 -0
  832. package/serialization/resources/decisions/types/QueryResponse.d.ts +2 -0
  833. package/serialization/resources/decisions/types/QueryResponse.js +42 -0
  834. package/serialization/resources/decisions/types/index.d.ts +1 -0
  835. package/serialization/resources/decisions/types/index.js +21 -0
  836. package/serialization/resources/flows/client/execute.d.ts +3 -0
  837. package/serialization/resources/flows/client/execute.js +38 -0
  838. package/serialization/resources/flows/client/index.d.ts +2 -0
  839. package/serialization/resources/flows/client/index.js +33 -0
  840. package/serialization/resources/flows/index.d.ts +1 -0
  841. package/serialization/resources/flows/index.js +21 -0
  842. package/serialization/resources/index.d.ts +8 -0
  843. package/serialization/resources/index.js +52 -0
  844. package/serialization/resources/rules/client/bulkSolve.d.ts +3 -0
  845. package/serialization/resources/rules/client/bulkSolve.js +38 -0
  846. package/serialization/resources/rules/client/index.d.ts +4 -0
  847. package/serialization/resources/rules/client/index.js +35 -0
  848. package/serialization/resources/rules/client/parallelSolve.d.ts +3 -0
  849. package/serialization/resources/rules/client/parallelSolve.js +38 -0
  850. package/serialization/resources/rules/client/solve.d.ts +3 -0
  851. package/serialization/resources/rules/client/solve.js +38 -0
  852. package/serialization/resources/rules/index.d.ts +1 -0
  853. package/serialization/resources/rules/index.js +21 -0
  854. package/serialization/resources/tests/client/index.d.ts +3 -0
  855. package/serialization/resources/tests/client/index.js +40 -0
  856. package/serialization/resources/tests/client/listFlowTests.d.ts +2 -0
  857. package/serialization/resources/tests/client/listFlowTests.js +56 -0
  858. package/serialization/resources/tests/client/listRuleTests.d.ts +2 -0
  859. package/serialization/resources/tests/client/listRuleTests.js +56 -0
  860. package/serialization/resources/tests/client/requests/CreateFlowTestRequest.d.ts +2 -0
  861. package/serialization/resources/tests/client/requests/CreateFlowTestRequest.js +42 -0
  862. package/serialization/resources/tests/client/requests/CreateRuleTestRequest.d.ts +2 -0
  863. package/serialization/resources/tests/client/requests/CreateRuleTestRequest.js +42 -0
  864. package/serialization/resources/tests/client/requests/index.d.ts +5 -0
  865. package/serialization/resources/tests/client/requests/index.js +7 -0
  866. package/serialization/resources/tests/index.d.ts +1 -0
  867. package/serialization/resources/tests/index.js +22 -0
  868. package/serialization/resources/tests/types/CreateFlowTestResponse.d.ts +2 -0
  869. package/serialization/resources/tests/types/CreateFlowTestResponse.js +47 -0
  870. package/serialization/resources/tests/types/CreateRuleTestResponse.d.ts +2 -0
  871. package/serialization/resources/tests/types/CreateRuleTestResponse.js +47 -0
  872. package/serialization/resources/tests/types/DeleteFlowTestResponse.d.ts +2 -0
  873. package/serialization/resources/tests/types/DeleteFlowTestResponse.js +47 -0
  874. package/serialization/resources/tests/types/DeleteRuleTestResponse.d.ts +2 -0
  875. package/serialization/resources/tests/types/DeleteRuleTestResponse.js +47 -0
  876. package/serialization/resources/tests/types/ListFlowTestsResponseItem.d.ts +2 -0
  877. package/serialization/resources/tests/types/ListFlowTestsResponseItem.js +47 -0
  878. package/serialization/resources/tests/types/ListRuleTestsResponseItem.d.ts +2 -0
  879. package/serialization/resources/tests/types/ListRuleTestsResponseItem.js +47 -0
  880. package/serialization/resources/tests/types/index.d.ts +1 -0
  881. package/serialization/resources/tests/types/index.js +26 -0
  882. package/serialization/resources/users/client/index.d.ts +2 -0
  883. package/serialization/resources/users/client/index.js +39 -0
  884. package/serialization/resources/users/client/listGroups.d.ts +2 -0
  885. package/serialization/resources/users/client/listGroups.js +56 -0
  886. package/serialization/resources/users/client/requests/CreateGroupRequest.d.ts +2 -0
  887. package/serialization/resources/users/client/requests/CreateGroupRequest.js +40 -0
  888. package/serialization/resources/users/client/requests/InviteRequest.d.ts +2 -0
  889. package/serialization/resources/users/client/requests/InviteRequest.js +60 -0
  890. package/serialization/resources/users/client/requests/index.d.ts +5 -0
  891. package/serialization/resources/users/client/requests/index.js +7 -0
  892. package/serialization/resources/users/index.d.ts +1 -0
  893. package/serialization/resources/users/index.js +22 -0
  894. package/serialization/resources/users/types/CreateGroupResponse.d.ts +2 -0
  895. package/serialization/resources/users/types/CreateGroupResponse.js +42 -0
  896. package/serialization/resources/users/types/InviteRequestRole.d.ts +2 -0
  897. package/serialization/resources/users/types/InviteRequestRole.js +37 -0
  898. package/serialization/resources/users/types/InviteResponse.d.ts +2 -0
  899. package/serialization/resources/users/types/InviteResponse.js +39 -0
  900. package/serialization/resources/users/types/ListGroupsResponseItem.d.ts +2 -0
  901. package/serialization/resources/users/types/ListGroupsResponseItem.js +42 -0
  902. package/serialization/resources/users/types/index.d.ts +1 -0
  903. package/serialization/resources/users/types/index.js +24 -0
  904. package/serialization/resources/values/client/index.d.ts +3 -0
  905. package/serialization/resources/values/client/index.js +34 -0
  906. package/serialization/resources/values/client/listDynamicValues.d.ts +2 -0
  907. package/serialization/resources/values/client/listDynamicValues.js +56 -0
  908. package/serialization/resources/values/client/update.d.ts +3 -0
  909. package/serialization/resources/values/client/update.js +57 -0
  910. package/serialization/resources/values/index.d.ts +1 -0
  911. package/serialization/resources/values/index.js +22 -0
  912. package/serialization/resources/values/types/DeleteDynamicValueResponse.d.ts +2 -0
  913. package/serialization/resources/values/types/DeleteDynamicValueResponse.js +39 -0
  914. package/serialization/resources/values/types/ListDynamicValuesResponseItem.d.ts +2 -0
  915. package/serialization/resources/values/types/ListDynamicValuesResponseItem.js +66 -0
  916. package/serialization/resources/values/types/ListDynamicValuesResponseItemType.d.ts +2 -0
  917. package/serialization/resources/values/types/ListDynamicValuesResponseItemType.js +37 -0
  918. package/serialization/resources/values/types/ListDynamicValuesResponseItemUsagesItem.d.ts +2 -0
  919. package/serialization/resources/values/types/ListDynamicValuesResponseItemUsagesItem.js +44 -0
  920. package/serialization/resources/values/types/ListDynamicValuesResponseItemValue.d.ts +2 -0
  921. package/serialization/resources/values/types/ListDynamicValuesResponseItemValue.js +42 -0
  922. package/serialization/resources/values/types/UpdateRequestValue.d.ts +2 -0
  923. package/serialization/resources/values/types/UpdateRequestValue.js +42 -0
  924. package/serialization/resources/values/types/UpdateResponseItem.d.ts +2 -0
  925. package/serialization/resources/values/types/UpdateResponseItem.js +61 -0
  926. package/serialization/resources/values/types/UpdateResponseItemType.d.ts +2 -0
  927. package/serialization/resources/values/types/UpdateResponseItemType.js +37 -0
  928. package/serialization/resources/values/types/UpdateResponseItemValue.d.ts +2 -0
  929. package/serialization/resources/values/types/UpdateResponseItemValue.js +42 -0
  930. package/serialization/resources/values/types/index.d.ts +1 -0
  931. package/serialization/resources/values/types/index.js +29 -0
  932. package/serialization/types/BadRequestErrorBody.d.ts +2 -0
  933. package/serialization/types/BadRequestErrorBody.js +39 -0
  934. package/serialization/types/ForbiddenErrorBody.d.ts +2 -0
  935. package/serialization/types/ForbiddenErrorBody.js +39 -0
  936. package/serialization/types/InternalServerErrorBody.d.ts +2 -0
  937. package/serialization/types/InternalServerErrorBody.js +39 -0
  938. package/serialization/types/NotFoundErrorBody.d.ts +2 -0
  939. package/serialization/types/NotFoundErrorBody.js +39 -0
  940. package/serialization/types/index.d.ts +1 -0
  941. package/serialization/types/index.js +24 -0
  942. package/tests/client.test.ts +11 -0
@@ -0,0 +1,938 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ListField = exports.StringField = exports.DateField = exports.NumberField = exports.BooleanField = exports.Argument = void 0;
4
+ const types_js_1 = require("./types.js");
5
+ const values_js_1 = require("./values.js");
6
+ class Argument {
7
+ constructor(value, expectedType) {
8
+ this.value = value;
9
+ this.expectedType = expectedType;
10
+ this.validateType();
11
+ }
12
+ validateType() {
13
+ if (this.value instanceof values_js_1.DynamicValue) {
14
+ if (this.value.valueType !== this.expectedType) {
15
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${this.value.name}' has type ${this.value.valueType}, ` +
16
+ `but ${this.expectedType} was expected`);
17
+ }
18
+ }
19
+ else {
20
+ const expectedJsType = this.getExpectedJsType();
21
+ if (!(typeof this.value === expectedJsType || (expectedJsType === "object" && Array.isArray(this.value)))) {
22
+ const actualType = typeof this.value;
23
+ throw new types_js_1.TypeMismatchError(`Value ${this.value} has type ${actualType}, ` + `but ${this.expectedType} was expected`);
24
+ }
25
+ }
26
+ }
27
+ getExpectedJsType() {
28
+ switch (this.expectedType) {
29
+ case types_js_1.DynamicValueType.STRING:
30
+ return "string";
31
+ case types_js_1.DynamicValueType.NUMBER:
32
+ return "number";
33
+ case types_js_1.DynamicValueType.BOOLEAN:
34
+ return "boolean";
35
+ case types_js_1.DynamicValueType.DATE:
36
+ return "object";
37
+ case types_js_1.DynamicValueType.LIST:
38
+ case types_js_1.DynamicValueType.OBJECT:
39
+ return "object";
40
+ default:
41
+ throw new Error(`Unknown type: ${this.expectedType}`);
42
+ }
43
+ }
44
+ toDict() {
45
+ if (this.value instanceof values_js_1.DynamicValue) {
46
+ return this.value.toDict();
47
+ }
48
+ return this.value;
49
+ }
50
+ static process(arg, expectedType) {
51
+ if (arg instanceof Argument) {
52
+ return arg.toDict();
53
+ }
54
+ else if (arg instanceof values_js_1.DynamicValue) {
55
+ return arg.toDict();
56
+ }
57
+ else if (Array.isArray(arg)) {
58
+ return arg.map((item) => this.process(item, expectedType));
59
+ }
60
+ else if (typeof arg === "object" && arg !== null) {
61
+ const result = {};
62
+ for (const [key, value] of Object.entries(arg)) {
63
+ result[key] = this.process(value, expectedType);
64
+ }
65
+ return result;
66
+ }
67
+ return arg;
68
+ }
69
+ toString() {
70
+ if (this.value instanceof values_js_1.DynamicValue) {
71
+ return `<${this.value.name.toUpperCase()}>`;
72
+ }
73
+ return `${this.value}`;
74
+ }
75
+ }
76
+ exports.Argument = Argument;
77
+ class BooleanField {
78
+ constructor(name, description = "", defaultValue = false) {
79
+ this.type = types_js_1.RuleType.BOOLEAN;
80
+ this.name = name;
81
+ this.description = description;
82
+ this.defaultValue = defaultValue;
83
+ this.operators = {
84
+ any: { name: "any", args: [], description: "Match any boolean value", skipTypecheck: true },
85
+ is_true: { name: "is true", args: [], description: "Check if value is true" },
86
+ is_false: { name: "is false", args: [], description: "Check if value is false" },
87
+ };
88
+ }
89
+ equals(value) {
90
+ const opName = value ? "is true" : "is false";
91
+ return [opName, []];
92
+ }
93
+ }
94
+ exports.BooleanField = BooleanField;
95
+ class NumberField {
96
+ constructor(name, description = "", defaultValue = 0) {
97
+ this.type = types_js_1.RuleType.NUMBER;
98
+ this.name = name;
99
+ this.description = description;
100
+ this.defaultValue = defaultValue;
101
+ this.operators = {
102
+ any: { name: "any", args: [], description: "Match any numeric value", skipTypecheck: true },
103
+ equals: {
104
+ name: "equals",
105
+ args: [{ name: "value", type: "number", description: "Number that value must equal" }],
106
+ },
107
+ does_not_equal: {
108
+ name: "does not equal",
109
+ args: [{ name: "value", type: "number", description: "Number that value must not equal" }],
110
+ },
111
+ greater_than: {
112
+ name: "greater than",
113
+ args: [{ name: "bound", type: "number", description: "Number that value must be greater than" }],
114
+ },
115
+ less_than: {
116
+ name: "less than",
117
+ args: [{ name: "bound", type: "number", description: "Number that value must be less than" }],
118
+ },
119
+ greater_than_or_equal: {
120
+ name: "greater than or equal to",
121
+ args: [
122
+ {
123
+ name: "bound",
124
+ type: "number",
125
+ description: "Number that value must be greater than or equal to",
126
+ },
127
+ ],
128
+ },
129
+ less_than_or_equal: {
130
+ name: "less than or equal to",
131
+ args: [
132
+ { name: "bound", type: "number", description: "Number that value must be less than or equal to" },
133
+ ],
134
+ },
135
+ between: {
136
+ name: "between",
137
+ args: [
138
+ {
139
+ name: "start",
140
+ type: "number",
141
+ description: "Number that value must be greater than or equal to",
142
+ placeholder: "Start",
143
+ },
144
+ {
145
+ name: "end",
146
+ type: "number",
147
+ description: "Number that value must be less than or equal to",
148
+ placeholder: "End",
149
+ },
150
+ ],
151
+ validate: (args) => args[0] < args[1],
152
+ },
153
+ not_between: {
154
+ name: "not between",
155
+ args: [
156
+ {
157
+ name: "start",
158
+ type: "number",
159
+ description: "Number that value must be less than",
160
+ placeholder: "Start",
161
+ },
162
+ {
163
+ name: "end",
164
+ type: "number",
165
+ description: "Number that value must be greater than",
166
+ placeholder: "End",
167
+ },
168
+ ],
169
+ validate: (args) => args[0] < args[1],
170
+ },
171
+ is_even: { name: "is even", args: [], description: "Check if value is even" },
172
+ is_odd: { name: "is odd", args: [], description: "Check if value is odd" },
173
+ is_positive: { name: "is positive", args: [], description: "Check if value is greater than zero" },
174
+ is_negative: { name: "is negative", args: [], description: "Check if value is less than zero" },
175
+ is_zero: { name: "is zero", args: [], description: "Check if value equals zero" },
176
+ is_not_zero: { name: "is not zero", args: [], description: "Check if value does not equal zero" },
177
+ is_multiple_of: {
178
+ name: "is a multiple of",
179
+ args: [{ name: "multiple", type: "number", description: "Number that value must be a multiple of" }],
180
+ },
181
+ is_not_multiple_of: {
182
+ name: "is not a multiple of",
183
+ args: [
184
+ { name: "multiple", type: "number", description: "Number that value must not be a multiple of" },
185
+ ],
186
+ },
187
+ is_power_of: {
188
+ name: "is a power of",
189
+ args: [{ name: "base", type: "number", description: "The base number" }],
190
+ validate: (args) => args[0] > 0,
191
+ },
192
+ };
193
+ }
194
+ equals(value) {
195
+ return ["equals", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
196
+ }
197
+ not_equals(value) {
198
+ return ["does not equal", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
199
+ }
200
+ greater_than(value) {
201
+ return ["greater than", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
202
+ }
203
+ less_than(value) {
204
+ return ["less than", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
205
+ }
206
+ greater_than_or_equal(value) {
207
+ return ["greater than or equal to", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
208
+ }
209
+ less_than_or_equal(value) {
210
+ return ["less than or equal to", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
211
+ }
212
+ between(start, end) {
213
+ const startArg = new Argument(start, types_js_1.DynamicValueType.NUMBER);
214
+ const endArg = new Argument(end, types_js_1.DynamicValueType.NUMBER);
215
+ if (!(start instanceof values_js_1.DynamicValue) && !(end instanceof values_js_1.DynamicValue)) {
216
+ const op = this.operators["between"];
217
+ if (op.validate && !op.validate([start, end])) {
218
+ throw new Error(`Invalid range for between: start (${start}) must be less than end (${end})`);
219
+ }
220
+ }
221
+ return ["between", [startArg.toDict(), endArg.toDict()]];
222
+ }
223
+ not_between(start, end) {
224
+ const startArg = new Argument(start, types_js_1.DynamicValueType.NUMBER);
225
+ const endArg = new Argument(end, types_js_1.DynamicValueType.NUMBER);
226
+ if (!(start instanceof values_js_1.DynamicValue) && !(end instanceof values_js_1.DynamicValue)) {
227
+ const op = this.operators["not_between"];
228
+ if (op.validate && !op.validate([start, end])) {
229
+ throw new Error(`Invalid range for not between: start (${start}) must be less than end (${end})`);
230
+ }
231
+ }
232
+ return ["not between", [startArg.toDict(), endArg.toDict()]];
233
+ }
234
+ is_even() {
235
+ return ["is even", []];
236
+ }
237
+ is_odd() {
238
+ return ["is odd", []];
239
+ }
240
+ is_positive() {
241
+ return ["is positive", []];
242
+ }
243
+ is_negative() {
244
+ return ["is negative", []];
245
+ }
246
+ is_zero() {
247
+ return ["is zero", []];
248
+ }
249
+ is_not_zero() {
250
+ return ["is not zero", []];
251
+ }
252
+ is_multiple_of(value) {
253
+ return ["is a multiple of", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
254
+ }
255
+ is_not_multiple_of(value) {
256
+ return ["is not a multiple of", [new Argument(value, types_js_1.DynamicValueType.NUMBER).toDict()]];
257
+ }
258
+ is_power_of(base) {
259
+ if (!(base instanceof values_js_1.DynamicValue)) {
260
+ const op = this.operators["is_power_of"];
261
+ if (op.validate && !op.validate([base])) {
262
+ throw new Error(`Invalid base for is power of: ${base}. Base must be positive.`);
263
+ }
264
+ }
265
+ return ["is a power of", [new Argument(base, types_js_1.DynamicValueType.NUMBER).toDict()]];
266
+ }
267
+ }
268
+ exports.NumberField = NumberField;
269
+ class DateField {
270
+ constructor(name, description = "", defaultValue = null) {
271
+ this.type = types_js_1.RuleType.DATE;
272
+ this.name = name;
273
+ this.description = description;
274
+ this.defaultValue = defaultValue || new Date();
275
+ this.operators = {
276
+ any: { name: "any", args: [], description: "Match any date value", skipTypecheck: true },
277
+ is_past: { name: "is in the past", args: [], description: "Date is in the past" },
278
+ is_future: { name: "is in the future", args: [], description: "Date is in the future" },
279
+ days_ago: {
280
+ name: "days ago",
281
+ args: [{ name: "days", type: "number", description: "Number of days ago that the date is equal to" }],
282
+ },
283
+ less_than_days_ago: {
284
+ name: "is less than N days ago",
285
+ args: [
286
+ {
287
+ name: "days",
288
+ type: "number",
289
+ description: "Number of days ago that the date is less than or equal to",
290
+ },
291
+ ],
292
+ },
293
+ more_than_days_ago: {
294
+ name: "is more than N days ago",
295
+ args: [
296
+ {
297
+ name: "days",
298
+ type: "number",
299
+ description: "Number of days ago that the date is more than or equal to",
300
+ },
301
+ ],
302
+ },
303
+ days_from_now: {
304
+ name: "days from now",
305
+ args: [
306
+ { name: "days", type: "number", description: "Number of days from now that the date is equal to" },
307
+ ],
308
+ },
309
+ less_than_days_from_now: {
310
+ name: "is less than N days from now",
311
+ args: [
312
+ {
313
+ name: "days",
314
+ type: "number",
315
+ description: "Number of days from now that the date is less than or equal to",
316
+ },
317
+ ],
318
+ },
319
+ more_than_days_from_now: {
320
+ name: "is more than N days from now",
321
+ args: [
322
+ {
323
+ name: "days",
324
+ type: "number",
325
+ description: "Number of days from now that the date is more than or equal to",
326
+ },
327
+ ],
328
+ },
329
+ is_today: { name: "is today", args: [], description: "Date is today" },
330
+ is_this_week: { name: "is this week", args: [], description: "Date is in the current week" },
331
+ is_this_month: { name: "is this month", args: [], description: "Date is in the current month" },
332
+ is_this_year: { name: "is this year", args: [], description: "Date is in the current year" },
333
+ is_next_week: { name: "is next week", args: [], description: "Date is in the next week" },
334
+ is_next_month: { name: "is next month", args: [], description: "Date is in the next month" },
335
+ is_next_year: { name: "is next year", args: [], description: "Date is in the next year" },
336
+ is_last_week: { name: "is last week", args: [], description: "Date is in the previous week" },
337
+ is_last_month: { name: "is last month", args: [], description: "Date is in the previous month" },
338
+ is_last_year: { name: "is last year", args: [], description: "Date is in the previous year" },
339
+ after: {
340
+ name: "after",
341
+ args: [{ name: "date", type: "date", description: "Date that value must be after" }],
342
+ },
343
+ on_or_after: {
344
+ name: "on or after",
345
+ args: [{ name: "date", type: "date", description: "Date that value must be on or after" }],
346
+ },
347
+ before: {
348
+ name: "before",
349
+ args: [{ name: "date", type: "date", description: "Date that value must be before" }],
350
+ },
351
+ on_or_before: {
352
+ name: "on or before",
353
+ args: [{ name: "date", type: "date", description: "Date that value must be on or before" }],
354
+ },
355
+ between: {
356
+ name: "between",
357
+ args: [
358
+ { name: "start", type: "date", description: "Date that value must be after", placeholder: "From" },
359
+ { name: "end", type: "date", description: "Date that value must be before", placeholder: "To" },
360
+ ],
361
+ },
362
+ not_between: {
363
+ name: "not between",
364
+ args: [
365
+ { name: "start", type: "date", description: "Date that value must be before", placeholder: "From" },
366
+ { name: "end", type: "date", description: "Date that value must be after", placeholder: "To" },
367
+ ],
368
+ },
369
+ };
370
+ }
371
+ is_past() {
372
+ return ["is in the past", []];
373
+ }
374
+ is_future() {
375
+ return ["is in the future", []];
376
+ }
377
+ days_ago(days) {
378
+ return ["days ago", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
379
+ }
380
+ less_than_days_ago(days) {
381
+ return ["is less than N days ago", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
382
+ }
383
+ more_than_days_ago(days) {
384
+ return ["is more than N days ago", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
385
+ }
386
+ days_from_now(days) {
387
+ return ["days from now", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
388
+ }
389
+ less_than_days_from_now(days) {
390
+ return ["is less than N days from now", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
391
+ }
392
+ more_than_days_from_now(days) {
393
+ return ["is more than N days from now", [new Argument(days, types_js_1.DynamicValueType.NUMBER).toDict()]];
394
+ }
395
+ is_today() {
396
+ return ["is today", []];
397
+ }
398
+ is_this_week() {
399
+ return ["is this week", []];
400
+ }
401
+ is_this_month() {
402
+ return ["is this month", []];
403
+ }
404
+ is_this_year() {
405
+ return ["is this year", []];
406
+ }
407
+ is_next_week() {
408
+ return ["is next week", []];
409
+ }
410
+ is_next_month() {
411
+ return ["is next month", []];
412
+ }
413
+ is_next_year() {
414
+ return ["is next year", []];
415
+ }
416
+ is_last_week() {
417
+ return ["is last week", []];
418
+ }
419
+ is_last_month() {
420
+ return ["is last month", []];
421
+ }
422
+ is_last_year() {
423
+ return ["is last year", []];
424
+ }
425
+ after(date) {
426
+ return ["after", [new Argument(date, types_js_1.DynamicValueType.DATE).toDict()]];
427
+ }
428
+ on_or_after(date) {
429
+ return ["on or after", [new Argument(date, types_js_1.DynamicValueType.DATE).toDict()]];
430
+ }
431
+ before(date) {
432
+ return ["before", [new Argument(date, types_js_1.DynamicValueType.DATE).toDict()]];
433
+ }
434
+ on_or_before(date) {
435
+ return ["on or before", [new Argument(date, types_js_1.DynamicValueType.DATE).toDict()]];
436
+ }
437
+ between(start, end) {
438
+ return [
439
+ "between",
440
+ [new Argument(start, types_js_1.DynamicValueType.DATE).toDict(), new Argument(end, types_js_1.DynamicValueType.DATE).toDict()],
441
+ ];
442
+ }
443
+ }
444
+ exports.DateField = DateField;
445
+ class StringField {
446
+ constructor(name, description = "", defaultValue = "") {
447
+ this.type = types_js_1.RuleType.STRING;
448
+ this.name = name;
449
+ this.description = description;
450
+ this.defaultValue = defaultValue;
451
+ this.operators = {
452
+ any: { name: "any", args: [], description: "Match any string value", skipTypecheck: true },
453
+ contains: {
454
+ name: "contains",
455
+ args: [
456
+ {
457
+ name: "value",
458
+ type: "string",
459
+ description: "The value to search for within the string",
460
+ validate: (x) => x.length > 0,
461
+ },
462
+ ],
463
+ },
464
+ does_not_contain: {
465
+ name: "does not contain",
466
+ args: [
467
+ {
468
+ name: "value",
469
+ type: "string",
470
+ description: "The value to search for within the string",
471
+ validate: (x) => x.length > 0,
472
+ },
473
+ ],
474
+ },
475
+ equals: {
476
+ name: "equals",
477
+ args: [{ name: "value", type: "string", description: "The value to compare against" }],
478
+ },
479
+ does_not_equal: {
480
+ name: "does not equal",
481
+ args: [{ name: "value", type: "string", description: "The value to compare against" }],
482
+ },
483
+ is_empty: { name: "is empty", args: [], description: "Check if string is empty" },
484
+ is_not_empty: { name: "is not empty", args: [], description: "Check if string is not empty" },
485
+ starts_with: {
486
+ name: "starts with",
487
+ args: [
488
+ {
489
+ name: "value",
490
+ type: "string",
491
+ description: "The value the string should start with",
492
+ validate: (v) => v.length > 0,
493
+ },
494
+ ],
495
+ },
496
+ ends_with: {
497
+ name: "ends with",
498
+ args: [
499
+ {
500
+ name: "value",
501
+ type: "string",
502
+ description: "The value the string should end with",
503
+ validate: (v) => v.length > 0,
504
+ },
505
+ ],
506
+ },
507
+ is_included_in: {
508
+ name: "is included in",
509
+ args: [
510
+ {
511
+ name: "value",
512
+ type: "list",
513
+ description: "A list of values the string should be in",
514
+ validate: (v) => v.length > 0,
515
+ },
516
+ ],
517
+ },
518
+ is_not_included_in: {
519
+ name: "is not included in",
520
+ args: [
521
+ {
522
+ name: "value",
523
+ type: "list",
524
+ description: "A list of values the string should not be in",
525
+ validate: (v) => v.length > 0,
526
+ },
527
+ ],
528
+ },
529
+ matches_regex: {
530
+ name: "matches RegEx",
531
+ args: [
532
+ {
533
+ name: "regex",
534
+ type: "string",
535
+ description: "The regex the string should match",
536
+ validate: (v) => v.length > 0,
537
+ },
538
+ ],
539
+ },
540
+ does_not_match_regex: {
541
+ name: "does not match RegEx",
542
+ args: [
543
+ {
544
+ name: "regex",
545
+ type: "string",
546
+ description: "The regex the string should not match",
547
+ validate: (v) => v.length > 0,
548
+ },
549
+ ],
550
+ },
551
+ is_valid_email: {
552
+ name: "is a valid email address",
553
+ args: [],
554
+ description: "Check if string is a valid email address",
555
+ },
556
+ is_not_valid_email: {
557
+ name: "is not a valid email address",
558
+ args: [],
559
+ description: "Check if string is not a valid email address",
560
+ },
561
+ is_valid_url: {
562
+ name: "is a valid URL",
563
+ args: [],
564
+ description: "Check if string is a valid URL",
565
+ },
566
+ is_not_valid_url: {
567
+ name: "is not a valid URL",
568
+ args: [],
569
+ description: "Check if string is not a valid URL",
570
+ },
571
+ is_valid_ip: {
572
+ name: "is a valid IP address",
573
+ args: [],
574
+ description: "Check if string is a valid IP address",
575
+ },
576
+ is_not_valid_ip: {
577
+ name: "is not a valid IP address",
578
+ args: [],
579
+ description: "Check if string is not a valid IP address",
580
+ },
581
+ is_uppercase: {
582
+ name: "is uppercase",
583
+ args: [],
584
+ description: "Check if string is all uppercase",
585
+ },
586
+ is_lowercase: {
587
+ name: "is lowercase",
588
+ args: [],
589
+ description: "Check if string is all lowercase",
590
+ },
591
+ is_numeric: {
592
+ name: "is numeric",
593
+ args: [],
594
+ description: "Check if string contains only numeric characters",
595
+ },
596
+ contains_only_digits: {
597
+ name: "contains only digits",
598
+ args: [],
599
+ description: "Check if string contains only digits",
600
+ },
601
+ contains_only_letters: {
602
+ name: "contains only letters",
603
+ args: [],
604
+ description: "Check if string contains only letters",
605
+ },
606
+ contains_only_digits_and_letters: {
607
+ name: "contains only digits and letters",
608
+ args: [],
609
+ description: "Check if string contains only digits and letters",
610
+ },
611
+ };
612
+ }
613
+ contains(value) {
614
+ const arg = new Argument(value, types_js_1.DynamicValueType.STRING);
615
+ if (!(value instanceof values_js_1.DynamicValue)) {
616
+ const op = this.operators["contains"];
617
+ if (op.args[0].validate && !op.args[0].validate(value)) {
618
+ throw new Error(`Invalid value for contains: ${value}`);
619
+ }
620
+ }
621
+ return ["contains", [arg.toDict()]];
622
+ }
623
+ not_contains(value) {
624
+ const arg = new Argument(value, types_js_1.DynamicValueType.STRING);
625
+ if (!(value instanceof values_js_1.DynamicValue)) {
626
+ const op = this.operators["does_not_contain"];
627
+ if (op.args[0].validate && !op.args[0].validate(value)) {
628
+ throw new Error(`Invalid value for does not contain: ${value}`);
629
+ }
630
+ }
631
+ return ["does not contain", [arg.toDict()]];
632
+ }
633
+ equals(value) {
634
+ return ["equals", [new Argument(value, types_js_1.DynamicValueType.STRING).toDict()]];
635
+ }
636
+ not_equals(value) {
637
+ return ["does not equal", [new Argument(value, types_js_1.DynamicValueType.STRING).toDict()]];
638
+ }
639
+ is_empty() {
640
+ return ["is empty", []];
641
+ }
642
+ is_not_empty() {
643
+ return ["is not empty", []];
644
+ }
645
+ starts_with(value) {
646
+ const arg = new Argument(value, types_js_1.DynamicValueType.STRING);
647
+ if (!(value instanceof values_js_1.DynamicValue)) {
648
+ const op = this.operators["starts_with"];
649
+ if (op.args[0].validate && !op.args[0].validate(value)) {
650
+ throw new Error(`Invalid value for starts with: ${value}`);
651
+ }
652
+ }
653
+ return ["starts with", [arg.toDict()]];
654
+ }
655
+ ends_with(value) {
656
+ const arg = new Argument(value, types_js_1.DynamicValueType.STRING);
657
+ if (!(value instanceof values_js_1.DynamicValue)) {
658
+ const op = this.operators["ends_with"];
659
+ if (op.args[0].validate && !op.args[0].validate(value)) {
660
+ throw new Error(`Invalid value for ends with: ${value}`);
661
+ }
662
+ }
663
+ return ["ends with", [arg.toDict()]];
664
+ }
665
+ is_included_in(values) {
666
+ if (values instanceof values_js_1.DynamicValue) {
667
+ if (values.valueType !== types_js_1.DynamicValueType.LIST) {
668
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${values.name}' has type ${values.valueType}, but list was expected`);
669
+ }
670
+ return ["is included in", [new Argument(values, types_js_1.DynamicValueType.LIST).toDict()]];
671
+ }
672
+ const op = this.operators["is_included_in"];
673
+ if (op.args[0].validate && !op.args[0].validate(values)) {
674
+ throw new Error("List must not be empty");
675
+ }
676
+ return ["is included in", [values.map((v) => new Argument(v, types_js_1.DynamicValueType.STRING).toDict())]];
677
+ }
678
+ matches_regex(pattern) {
679
+ const arg = new Argument(pattern, types_js_1.DynamicValueType.STRING);
680
+ if (!(pattern instanceof values_js_1.DynamicValue)) {
681
+ const op = this.operators["matches_regex"];
682
+ if (op.args[0].validate && !op.args[0].validate(pattern)) {
683
+ throw new Error(`Invalid regex pattern: ${pattern}`);
684
+ }
685
+ }
686
+ return ["matches RegEx", [arg.toDict()]];
687
+ }
688
+ not_matches_regex(pattern) {
689
+ const arg = new Argument(pattern, types_js_1.DynamicValueType.STRING);
690
+ if (!(pattern instanceof values_js_1.DynamicValue)) {
691
+ const op = this.operators["does_not_match_regex"];
692
+ if (op.args[0].validate && !op.args[0].validate(pattern)) {
693
+ throw new Error(`Invalid regex pattern: ${pattern}`);
694
+ }
695
+ }
696
+ return ["does not match RegEx", [arg.toDict()]];
697
+ }
698
+ is_email() {
699
+ return ["is a valid email address", []];
700
+ }
701
+ is_not_email() {
702
+ return ["is not a valid email address", []];
703
+ }
704
+ is_url() {
705
+ return ["is a valid URL", []];
706
+ }
707
+ is_not_url() {
708
+ return ["is not a valid URL", []];
709
+ }
710
+ is_ip() {
711
+ return ["is a valid IP address", []];
712
+ }
713
+ is_not_ip() {
714
+ return ["is not a valid IP address", []];
715
+ }
716
+ is_uppercase() {
717
+ return ["is uppercase", []];
718
+ }
719
+ is_lowercase() {
720
+ return ["is lowercase", []];
721
+ }
722
+ is_numeric() {
723
+ return ["is numeric", []];
724
+ }
725
+ contains_only_digits() {
726
+ return ["contains only digits", []];
727
+ }
728
+ contains_only_letters() {
729
+ return ["contains only letters", []];
730
+ }
731
+ contains_only_digits_and_letters() {
732
+ return ["contains only digits and letters", []];
733
+ }
734
+ }
735
+ exports.StringField = StringField;
736
+ class ListField {
737
+ constructor(name, description = "", defaultValue = []) {
738
+ this.type = types_js_1.RuleType.LIST;
739
+ this.name = name;
740
+ this.description = description;
741
+ this.defaultValue = defaultValue;
742
+ this.operators = {
743
+ any: { name: "any", args: [], description: "Match any list value", skipTypecheck: true },
744
+ contains: {
745
+ name: "contains",
746
+ args: [{ name: "value", type: "generic", description: "Value that must be contained in the list" }],
747
+ },
748
+ is_empty: { name: "is empty", args: [], description: "Check if list is empty" },
749
+ is_not_empty: { name: "is not empty", args: [], description: "Check if list is not empty" },
750
+ is_of_length: {
751
+ name: "is of length",
752
+ args: [{ name: "length", type: "number", description: "Length that the list must be" }],
753
+ },
754
+ is_not_of_length: {
755
+ name: "is not of length",
756
+ args: [{ name: "length", type: "number", description: "Length that the list must not be" }],
757
+ },
758
+ is_longer_than: {
759
+ name: "is longer than",
760
+ args: [{ name: "length", type: "number", description: "Length that the list must be longer than" }],
761
+ },
762
+ is_shorter_than: {
763
+ name: "is shorter than",
764
+ args: [{ name: "length", type: "number", description: "Length that the list must be shorter than" }],
765
+ },
766
+ contains_all_of: {
767
+ name: "contains all of",
768
+ args: [
769
+ { name: "values", type: "list", description: "List of values that must be contained in the list" },
770
+ ],
771
+ },
772
+ contains_any_of: {
773
+ name: "contains any of",
774
+ args: [
775
+ { name: "values", type: "list", description: "List of values that might be contained in the list" },
776
+ ],
777
+ },
778
+ contains_none_of: {
779
+ name: "contains none of",
780
+ args: [
781
+ {
782
+ name: "values",
783
+ type: "list",
784
+ description: "List of values that must not be contained in the list",
785
+ },
786
+ ],
787
+ },
788
+ does_not_contain: {
789
+ name: "does not contain",
790
+ args: [{ name: "value", type: "generic", description: "Value that must not be contained in the list" }],
791
+ },
792
+ is_equal_to: {
793
+ name: "is equal to",
794
+ args: [{ name: "list", type: "list", description: "Value that the list must be equal to" }],
795
+ },
796
+ is_not_equal_to: {
797
+ name: "is not equal to",
798
+ args: [{ name: "list", type: "list", description: "Value that the list must not be equal to" }],
799
+ },
800
+ contains_duplicates: {
801
+ name: "contains duplicates",
802
+ args: [],
803
+ description: "Check if list contains duplicate values",
804
+ },
805
+ does_not_contain_duplicates: {
806
+ name: "does not contain duplicates",
807
+ args: [],
808
+ description: "Check if list does not contain duplicate values",
809
+ },
810
+ contains_object_with_key_value: {
811
+ name: "contains object with key & value",
812
+ args: [
813
+ { name: "key", type: "string", description: "Key of any object contained in the list" },
814
+ { name: "value", type: "generic", description: "Value that the key must be equal to" },
815
+ ],
816
+ },
817
+ has_unique_elements: {
818
+ name: "has unique elements",
819
+ args: [],
820
+ description: "Check if all elements in the list are unique",
821
+ },
822
+ is_sublist_of: {
823
+ name: "is a sublist of",
824
+ args: [{ name: "superlist", type: "list", description: "List that should contain this list" }],
825
+ },
826
+ is_superlist_of: {
827
+ name: "is a superlist of",
828
+ args: [{ name: "sublist", type: "list", description: "List that should be contained in this list" }],
829
+ },
830
+ };
831
+ }
832
+ contains(value) {
833
+ return ["contains", [new Argument(value, types_js_1.DynamicValueType.OBJECT).toDict()]];
834
+ }
835
+ is_empty() {
836
+ return ["is empty", []];
837
+ }
838
+ is_not_empty() {
839
+ return ["is not empty", []];
840
+ }
841
+ length_equals(length) {
842
+ return ["is of length", [new Argument(length, types_js_1.DynamicValueType.NUMBER).toDict()]];
843
+ }
844
+ length_not_equals(length) {
845
+ return ["is not of length", [new Argument(length, types_js_1.DynamicValueType.NUMBER).toDict()]];
846
+ }
847
+ longer_than(length) {
848
+ return ["is longer than", [new Argument(length, types_js_1.DynamicValueType.NUMBER).toDict()]];
849
+ }
850
+ shorter_than(length) {
851
+ return ["is shorter than", [new Argument(length, types_js_1.DynamicValueType.NUMBER).toDict()]];
852
+ }
853
+ contains_all(values) {
854
+ if (values instanceof values_js_1.DynamicValue) {
855
+ if (values.valueType !== types_js_1.DynamicValueType.LIST) {
856
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${values.name}' has type ${values.valueType}, but list was expected`);
857
+ }
858
+ return ["contains all of", [new Argument(values, types_js_1.DynamicValueType.LIST).toDict()]];
859
+ }
860
+ return ["contains all of", [values.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
861
+ }
862
+ contains_any(values) {
863
+ if (values instanceof values_js_1.DynamicValue) {
864
+ if (values.valueType !== types_js_1.DynamicValueType.LIST) {
865
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${values.name}' has type ${values.valueType}, but list was expected`);
866
+ }
867
+ return ["contains any of", [new Argument(values, types_js_1.DynamicValueType.LIST).toDict()]];
868
+ }
869
+ return ["contains any of", [values.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
870
+ }
871
+ contains_none(values) {
872
+ if (values instanceof values_js_1.DynamicValue) {
873
+ if (values.valueType !== types_js_1.DynamicValueType.LIST) {
874
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${values.name}' has type ${values.valueType}, but list was expected`);
875
+ }
876
+ return ["contains none of", [new Argument(values, types_js_1.DynamicValueType.LIST).toDict()]];
877
+ }
878
+ return ["contains none of", [values.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
879
+ }
880
+ not_contains(value) {
881
+ return ["does not contain", [new Argument(value, types_js_1.DynamicValueType.OBJECT).toDict()]];
882
+ }
883
+ equals(other) {
884
+ if (other instanceof values_js_1.DynamicValue) {
885
+ if (other.valueType !== types_js_1.DynamicValueType.LIST) {
886
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${other.name}' has type ${other.valueType}, but list was expected`);
887
+ }
888
+ return ["is equal to", [new Argument(other, types_js_1.DynamicValueType.LIST).toDict()]];
889
+ }
890
+ return ["is equal to", [other.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
891
+ }
892
+ not_equals(other) {
893
+ if (other instanceof values_js_1.DynamicValue) {
894
+ if (other.valueType !== types_js_1.DynamicValueType.LIST) {
895
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${other.name}' has type ${other.valueType}, but list was expected`);
896
+ }
897
+ return ["is not equal to", [new Argument(other, types_js_1.DynamicValueType.LIST).toDict()]];
898
+ }
899
+ return ["is not equal to", [other.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
900
+ }
901
+ has_duplicates() {
902
+ return ["contains duplicates", []];
903
+ }
904
+ no_duplicates() {
905
+ return ["does not contain duplicates", []];
906
+ }
907
+ contains_object_with_key_value(key, value) {
908
+ return [
909
+ "contains object with key & value",
910
+ [
911
+ new Argument(key, types_js_1.DynamicValueType.STRING).toDict(),
912
+ new Argument(value, types_js_1.DynamicValueType.OBJECT).toDict(),
913
+ ],
914
+ ];
915
+ }
916
+ has_unique_elements() {
917
+ return ["has unique elements", []];
918
+ }
919
+ is_sublist_of(superlist) {
920
+ if (superlist instanceof values_js_1.DynamicValue) {
921
+ if (superlist.valueType !== types_js_1.DynamicValueType.LIST) {
922
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${superlist.name}' has type ${superlist.valueType}, but list was expected`);
923
+ }
924
+ return ["is a sublist of", [new Argument(superlist, types_js_1.DynamicValueType.LIST).toDict()]];
925
+ }
926
+ return ["is a sublist of", [superlist.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
927
+ }
928
+ is_superlist_of(sublist) {
929
+ if (sublist instanceof values_js_1.DynamicValue) {
930
+ if (sublist.valueType !== types_js_1.DynamicValueType.LIST) {
931
+ throw new types_js_1.TypeMismatchError(`Dynamic value '${sublist.name}' has type ${sublist.valueType}, but list was expected`);
932
+ }
933
+ return ["is a superlist of", [new Argument(sublist, types_js_1.DynamicValueType.LIST).toDict()]];
934
+ }
935
+ return ["is a superlist of", [sublist.map((v) => new Argument(v, types_js_1.DynamicValueType.OBJECT).toDict())]];
936
+ }
937
+ }
938
+ exports.ListField = ListField;