@xano/xanoscript-language-server 11.12.2 → 12.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 (338) hide show
  1. package/onCheckError/onCheckError.js +35 -28
  2. package/package.json +25 -1
  3. package/.claude/memory/feedback_no_git.md +0 -11
  4. package/.claude/settings.local.json +0 -21
  5. package/.github/copilot-instructions.md +0 -190
  6. package/.github/workflows/ci.yml +0 -31
  7. package/.husky/pre-commit +0 -1
  8. package/CLAUDE.md +0 -256
  9. package/eslint.config.js +0 -24
  10. package/lexer/comment.spec.js +0 -77
  11. package/lexer/multiline.spec.js +0 -179
  12. package/lexer/regexp.spec.js +0 -84
  13. package/lexer/tests/query/query_lexer.spec.js +0 -36
  14. package/lexer/tests/query/valid_sources/basic_query.xs +0 -44
  15. package/lexer/tests/query/valid_sources/db_query.xs +0 -77
  16. package/lexer/tests/query/valid_sources/empty_query.xs +0 -5
  17. package/lexer/tests/query/valid_sources/header_query.xs +0 -15
  18. package/lexer/tests/table/basic_table.xs +0 -17
  19. package/lexer/tests/table/empty_table.xs +0 -3
  20. package/lexer/tests/table/table_lexer.spec.js +0 -324
  21. package/lexer/utils.spec.js +0 -61
  22. package/onCompletion/contentAssist.spec.js +0 -275
  23. package/onDefinition/onDefinition.spec.js +0 -313
  24. package/onHover/FilterMessageProvider.spec.js +0 -85
  25. package/onHover/FunctionMessageProvider.spec.js +0 -128
  26. package/onHover/InputFilterMessageProvider.spec.js +0 -329
  27. package/onHover/QueryFilterMessageProvider.spec.js +0 -164
  28. package/onHover/onHoverDocument.spec.js +0 -660
  29. package/parser/addon_parser.spec.js +0 -88
  30. package/parser/agent_parser.spec.js +0 -599
  31. package/parser/agent_trigger_parser.spec.js +0 -525
  32. package/parser/api_group_parser.spec.js +0 -137
  33. package/parser/attributes/columnDefaultValueAttribute.spec.js +0 -49
  34. package/parser/attributes/descriptionFieldAttribute.spec.js +0 -39
  35. package/parser/attributes/disabledFieldAttribute.spec.js +0 -34
  36. package/parser/attributes/docsFieldAttribute.spec.js +0 -44
  37. package/parser/attributes/guidFieldAttribute.spec.js +0 -93
  38. package/parser/attributes/inputFilterFn.spec.js +0 -39
  39. package/parser/attributes/sensitiveFieldAttribute.spec.js +0 -39
  40. package/parser/attributes/valueFieldAttribute.spec.js +0 -54
  41. package/parser/attributes/valuesFieldAttribute.spec.js +0 -44
  42. package/parser/attributes/visibilityFieldAttribute.spec.js +0 -44
  43. package/parser/branch_parser.spec.js +0 -34
  44. package/parser/clauses/agentClause.spec.js +0 -34
  45. package/parser/clauses/authClause.spec.js +0 -39
  46. package/parser/clauses/cacheClause.spec.js +0 -103
  47. package/parser/clauses/canonicalClause.spec.js +0 -34
  48. package/parser/clauses/channelClause.spec.js +0 -34
  49. package/parser/clauses/dbTableClause.spec.js +0 -34
  50. package/parser/clauses/historyClause.spec.js +0 -53
  51. package/parser/clauses/indexClause.spec.js +0 -47
  52. package/parser/clauses/inputClause.spec.js +0 -96
  53. package/parser/clauses/mcpServerClause.spec.js +0 -34
  54. package/parser/clauses/middlewareClause.spec.js +0 -161
  55. package/parser/clauses/nakedStackFn.spec.js +0 -73
  56. package/parser/clauses/responseClause.spec.js +0 -47
  57. package/parser/clauses/scheduleClause.spec.js +0 -71
  58. package/parser/clauses/schemaClause.spec.js +0 -102
  59. package/parser/clauses/testClause.spec.js +0 -69
  60. package/parser/clauses/viewClause.spec.js +0 -163
  61. package/parser/definitions/arraySlice.spec.js +0 -49
  62. package/parser/definitions/columnDefinition.spec.js +0 -199
  63. package/parser/definitions/dbLinkColumnDefinition.spec.js +0 -45
  64. package/parser/definitions/enumColumnDefinition.spec.js +0 -108
  65. package/parser/definitions/filterDefinition.spec.js +0 -43
  66. package/parser/definitions/objectColumnDefinition.spec.js +0 -118
  67. package/parser/function_parser.spec.js +0 -131
  68. package/parser/functions/actionCallFn.spec.js +0 -51
  69. package/parser/functions/addonCallFn.spec.js +0 -41
  70. package/parser/functions/ai/aiAgentRunFn.spec.js +0 -94
  71. package/parser/functions/ai/aiExternalMcpServerDetailsFn.spec.js +0 -85
  72. package/parser/functions/ai/aiExternalMcpToolListFn.spec.js +0 -85
  73. package/parser/functions/ai/aiExternalMcpToolRunFn.spec.js +0 -101
  74. package/parser/functions/aiFn.spec.js +0 -51
  75. package/parser/functions/api/apiCallFn.spec.js +0 -62
  76. package/parser/functions/api/apiLambdaFn.spec.js +0 -63
  77. package/parser/functions/api/apiRealtimeEventFn.spec.js +0 -82
  78. package/parser/functions/api/apiRequestFn.spec.js +0 -113
  79. package/parser/functions/api/apiStreamFn.spec.js +0 -44
  80. package/parser/functions/api/webflowRequestFn.spec.js +0 -114
  81. package/parser/functions/array/arrayDifferenceFn.spec.js +0 -34
  82. package/parser/functions/array/arrayFindFn.spec.js +0 -44
  83. package/parser/functions/array/arrayGroupByFn.spec.js +0 -41
  84. package/parser/functions/array/arrayIntersectionFn.spec.js +0 -22
  85. package/parser/functions/array/arrayMapFn.spec.js +0 -37
  86. package/parser/functions/array/arrayNoValueAs.spec.js +0 -56
  87. package/parser/functions/array/arrayPartitionFn.spec.js +0 -29
  88. package/parser/functions/array/arrayUnionFn.spec.js +0 -22
  89. package/parser/functions/array/arrayValueIfAs.spec.js +0 -54
  90. package/parser/functions/array/arrayValueOnly.spec.js +0 -61
  91. package/parser/functions/array/valueAttrOnly.spec.js +0 -61
  92. package/parser/functions/cloud/cloudAlgoliaRequestFn.spec.js +0 -30
  93. package/parser/functions/cloud/cloudAwsS3Fn.spec.js +0 -21
  94. package/parser/functions/cloud/cloudDeleteFileFn.spec.js +0 -25
  95. package/parser/functions/cloud/cloudGetFileInfoFn.spec.js +0 -25
  96. package/parser/functions/cloud/cloudListDirectoryFn.spec.js +0 -26
  97. package/parser/functions/cloud/cloudReadFileFn.spec.js +0 -25
  98. package/parser/functions/cloud/cloudSearchDocumentFn.spec.js +0 -28
  99. package/parser/functions/cloud/cloudSearchQueryFn.spec.js +0 -32
  100. package/parser/functions/cloud/cloudSearchRequestFn.spec.js +0 -32
  101. package/parser/functions/cloud/cloudSignUrlFn.spec.js +0 -26
  102. package/parser/functions/cloud/cloudStorageFn.spec.js +0 -21
  103. package/parser/functions/cloud/cloudUploadFileFn.spec.js +0 -29
  104. package/parser/functions/controls/awaitFn.spec.js +0 -48
  105. package/parser/functions/controls/conditionalFn.spec.js +0 -188
  106. package/parser/functions/controls/forEachFn.spec.js +0 -109
  107. package/parser/functions/controls/forFn.spec.js +0 -85
  108. package/parser/functions/controls/functionRunFn.spec.js +0 -87
  109. package/parser/functions/controls/groupFn.spec.js +0 -63
  110. package/parser/functions/controls/preconditionFn.spec.js +0 -107
  111. package/parser/functions/controls/returnFn.spec.js +0 -44
  112. package/parser/functions/controls/switchFn.spec.js +0 -118
  113. package/parser/functions/controls/throwFn.spec.js +0 -56
  114. package/parser/functions/controls/tryCatchFn.spec.js +0 -193
  115. package/parser/functions/controls/whileFn.spec.js +0 -94
  116. package/parser/functions/db/dbAddFn.spec.js +0 -72
  117. package/parser/functions/db/dbAddOrEditFn.spec.js +0 -97
  118. package/parser/functions/db/dbBulkAddFn.spec.js +0 -94
  119. package/parser/functions/db/dbBulkDeleteFn.spec.js +0 -28
  120. package/parser/functions/db/dbBulkPatchFn.spec.js +0 -42
  121. package/parser/functions/db/dbBulkUpdateFn.spec.js +0 -42
  122. package/parser/functions/db/dbDelFn.spec.js +0 -67
  123. package/parser/functions/db/dbDirectQueryFn.spec.js +0 -104
  124. package/parser/functions/db/dbEditFn.spec.js +0 -122
  125. package/parser/functions/db/dbExternalDirectQueryFn.spec.js +0 -103
  126. package/parser/functions/db/dbGetFn.spec.js +0 -117
  127. package/parser/functions/db/dbHasFn.spec.js +0 -62
  128. package/parser/functions/db/dbPatchFn.spec.js +0 -88
  129. package/parser/functions/db/dbQueryFn.spec.js +0 -380
  130. package/parser/functions/db/dbSchemaFn.spec.js +0 -42
  131. package/parser/functions/db/dbSetDatasourceFn.spec.js +0 -44
  132. package/parser/functions/db/dbTransactionFn.spec.js +0 -63
  133. package/parser/functions/db/dbTruncateFn.spec.js +0 -42
  134. package/parser/functions/debug/debugLogFn.spec.js +0 -44
  135. package/parser/functions/debug/debugStopFn.spec.js +0 -44
  136. package/parser/functions/expect/unitExpectToBeWithinFn.spec.js +0 -63
  137. package/parser/functions/expect/unitExpectToThrowFn.spec.js +0 -40
  138. package/parser/functions/expect/unitExpectWithArgumentsFn.spec.js +0 -355
  139. package/parser/functions/expect/unitExpectWithoutArgumentsFn.spec.js +0 -69
  140. package/parser/functions/expect/workflowExpectToBeWithinFn.spec.js +0 -70
  141. package/parser/functions/expect/workflowExpectToThrowFn.spec.js +0 -56
  142. package/parser/functions/expect/workflowExpectWithArgumentsFn.spec.js +0 -308
  143. package/parser/functions/expect/workflowExpectWithoutArgumentsFn.spec.js +0 -87
  144. package/parser/functions/math/allMathFn.spec.js +0 -100
  145. package/parser/functions/middlewareCallFn.spec.js +0 -44
  146. package/parser/functions/object/objectEntriesFn.spec.js +0 -44
  147. package/parser/functions/object/objectKeysFn.spec.js +0 -44
  148. package/parser/functions/object/objectValuesFn.spec.js +0 -44
  149. package/parser/functions/redis/redisCountFn.spec.js +0 -58
  150. package/parser/functions/redis/redisDecrFn.spec.js +0 -47
  151. package/parser/functions/redis/redisDelFn.spec.js +0 -58
  152. package/parser/functions/redis/redisGetFn.spec.js +0 -67
  153. package/parser/functions/redis/redisHasFn.spec.js +0 -58
  154. package/parser/functions/redis/redisIncrFn.spec.js +0 -74
  155. package/parser/functions/redis/redisKeysFn.spec.js +0 -67
  156. package/parser/functions/redis/redisPopFn.spec.js +0 -75
  157. package/parser/functions/redis/redisPushFn.spec.js +0 -71
  158. package/parser/functions/redis/redisRangeFn.spec.js +0 -80
  159. package/parser/functions/redis/redisRateLimitFn.spec.js +0 -87
  160. package/parser/functions/redis/redisRemoveFn.spec.js +0 -65
  161. package/parser/functions/redis/redisSetFn.spec.js +0 -89
  162. package/parser/functions/redis/redisShiftFn.spec.js +0 -75
  163. package/parser/functions/redis/redisUnshiftFn.spec.js +0 -73
  164. package/parser/functions/schema/schemaFn.spec.js +0 -92
  165. package/parser/functions/schema/schemaParseArrayFn.spec.js +0 -134
  166. package/parser/functions/schema/schemaParseAttributeFn.spec.js +0 -285
  167. package/parser/functions/schema/schemaParseConstantFn.spec.js +0 -122
  168. package/parser/functions/schema/schemaParseEnum.spec.js +0 -47
  169. package/parser/functions/schema/schemaParseImmutableFn.spec.js +0 -99
  170. package/parser/functions/schema/schemaParseObjectFn.spec.js +0 -223
  171. package/parser/functions/schema/utils.spec.js +0 -27
  172. package/parser/functions/security/securityCheckPasswordFn.spec.js +0 -22
  173. package/parser/functions/security/securityCreateAuthTokenFn.spec.js +0 -51
  174. package/parser/functions/security/securityCreateCurveKeyFn.spec.js +0 -22
  175. package/parser/functions/security/securityCreatePasswordFn.spec.js +0 -26
  176. package/parser/functions/security/securityCreateRsaKeyFn.spec.js +0 -22
  177. package/parser/functions/security/securityCreateSecretKeyFn.spec.js +0 -22
  178. package/parser/functions/security/securityCreateUuidFn.spec.js +0 -27
  179. package/parser/functions/security/securityDecryptFn.spec.js +0 -24
  180. package/parser/functions/security/securityEncryptFn.spec.js +0 -24
  181. package/parser/functions/security/securityJweDecodeFn.spec.js +0 -26
  182. package/parser/functions/security/securityJweDecodeLegacyFn.spec.js +0 -26
  183. package/parser/functions/security/securityJweEncodeFn.spec.js +0 -26
  184. package/parser/functions/security/securityJweEncodeLegacyFn.spec.js +0 -25
  185. package/parser/functions/security/securityJwsDecodeFn.spec.js +0 -25
  186. package/parser/functions/security/securityJwsEncodeFn.spec.js +0 -25
  187. package/parser/functions/security/securityRandomBytesFn.spec.js +0 -21
  188. package/parser/functions/security/securityRandomNumberFn.spec.js +0 -22
  189. package/parser/functions/storage/storageCreateAttachmentFn.spec.js +0 -87
  190. package/parser/functions/storage/storageCreateAudioFn.spec.js +0 -98
  191. package/parser/functions/storage/storageCreateFileResourceFn.spec.js +0 -72
  192. package/parser/functions/storage/storageCreateImageFn.spec.js +0 -98
  193. package/parser/functions/storage/storageCreateVideoFn.spec.js +0 -99
  194. package/parser/functions/storage/storageDeleteFileFn.spec.js +0 -67
  195. package/parser/functions/storage/storageReadFileResourceFn.spec.js +0 -60
  196. package/parser/functions/storage/storageSignPrivateUrlFn.spec.js +0 -72
  197. package/parser/functions/stream/streamFromCsvFn.spec.js +0 -69
  198. package/parser/functions/stream/streamFromJsonlFn.spec.js +0 -47
  199. package/parser/functions/stream/streamFromRequestFn.spec.js +0 -103
  200. package/parser/functions/text/allTextWithReturnValueFn.spec.js +0 -100
  201. package/parser/functions/text/allTextWithoutReturnValueFn.spec.js +0 -122
  202. package/parser/functions/toolCallFn.spec.js +0 -28
  203. package/parser/functions/triggerCallFn.spec.js +0 -51
  204. package/parser/functions/unitExpectFn.spec.js +0 -21
  205. package/parser/functions/util/utilGeoDistanceFn.spec.js +0 -79
  206. package/parser/functions/util/utilGetAllInputFn.spec.js +0 -33
  207. package/parser/functions/util/utilGetEnvFn.spec.js +0 -33
  208. package/parser/functions/util/utilGetRawInputFn.spec.js +0 -62
  209. package/parser/functions/util/utilGetVarsFn.spec.js +0 -33
  210. package/parser/functions/util/utilIpLookupFn.spec.js +0 -37
  211. package/parser/functions/util/utilPostProcessFn.spec.js +0 -63
  212. package/parser/functions/util/utilSendEmailFn.spec.js +0 -62
  213. package/parser/functions/util/utilSetHeaderFn.spec.js +0 -48
  214. package/parser/functions/util/utilSleepFn.spec.js +0 -44
  215. package/parser/functions/util/utilTemplateFn.spec.js +0 -78
  216. package/parser/functions/varFn.spec.js +0 -332
  217. package/parser/functions/workflowExpectFn.spec.js +0 -32
  218. package/parser/functions/zip/zipAddToArchiveFn.spec.js +0 -78
  219. package/parser/functions/zip/zipCreateArchiveFn.spec.js +0 -53
  220. package/parser/functions/zip/zipDeleteFromArchiveFn.spec.js +0 -69
  221. package/parser/functions/zip/zipExtractFn.spec.js +0 -52
  222. package/parser/functions/zip/zipViewContentsFn.spec.js +0 -52
  223. package/parser/generic/arrayWithValues.spec.js +0 -72
  224. package/parser/generic/asVariable.spec.js +0 -117
  225. package/parser/generic/assignableVariableAs.spec.js +0 -126
  226. package/parser/generic/assignableVariableProperty.spec.js +0 -138
  227. package/parser/generic/castedValue.spec.js +0 -29
  228. package/parser/generic/chainedIdentifier.spec.js +0 -89
  229. package/parser/generic/completeAuthVariable.spec.js +0 -23
  230. package/parser/generic/completeEnvVariable.spec.js +0 -99
  231. package/parser/generic/completeErrorVariable.spec.js +0 -17
  232. package/parser/generic/completeInputVariable.spec.js +0 -53
  233. package/parser/generic/expressionFn.spec.js +0 -605
  234. package/parser/generic/filterFn.spec.js +0 -47
  235. package/parser/generic/functionAttrReq.spec.js +0 -353
  236. package/parser/generic/longFormVariable.spec.js +0 -25
  237. package/parser/generic/minimalFnBody.spec.js +0 -47
  238. package/parser/generic/mockAttribute.spec.js +0 -57
  239. package/parser/generic/multilineFilterFn.spec.js +0 -51
  240. package/parser/generic/objectWithAttributes.spec.js +0 -147
  241. package/parser/generic/requiredValueFnBody.spec.js +0 -56
  242. package/parser/generic/shortFormVariable.spec.js +0 -27
  243. package/parser/generic/stringArray.spec.js +0 -55
  244. package/parser/generic/tagsAttribute.spec.js +0 -47
  245. package/parser/generic/variableOnly.spec.js +0 -47
  246. package/parser/mcp_server_parser.spec.js +0 -478
  247. package/parser/mcp_server_trigger_parser.spec.js +0 -396
  248. package/parser/metadata/columnMetadataDefinition.spec.js +0 -47
  249. package/parser/metadata/enumColumnMetadataDefinition.spec.js +0 -81
  250. package/parser/middleware_parser.spec.js +0 -230
  251. package/parser/multidoc.spec.js +0 -946
  252. package/parser/query_parser.spec.js +0 -202
  253. package/parser/realtime_channel_parser.spec.js +0 -20
  254. package/parser/realtime_trigger_parser.spec.js +0 -469
  255. package/parser/run_parser.spec.js +0 -100
  256. package/parser/table_parser.spec.js +0 -176
  257. package/parser/table_trigger_parser.spec.js +0 -478
  258. package/parser/task_parser.spec.js +0 -94
  259. package/parser/tests/agent/agent_parser.spec.js +0 -52
  260. package/parser/tests/agent/valid_sources/customer_servier_agent.xs +0 -45
  261. package/parser/tests/api_group/api_group_parser.spec.js +0 -52
  262. package/parser/tests/api_group/valid_sources/api_group_history.xs +0 -4
  263. package/parser/tests/api_group/valid_sources/basic_api_group.xs +0 -3
  264. package/parser/tests/api_group/valid_sources/complete_api_group.xs +0 -7
  265. package/parser/tests/api_group/valid_sources/protected_api_group.xs +0 -7
  266. package/parser/tests/function/function_parser.spec.js +0 -52
  267. package/parser/tests/function/valid_sources/all_controls.xs +0 -68
  268. package/parser/tests/function/valid_sources/all_query_return_types.xs +0 -227
  269. package/parser/tests/function/valid_sources/all_storage.xs +0 -45
  270. package/parser/tests/function/valid_sources/discord_poll_send_to_slack.xs +0 -133
  271. package/parser/tests/function/valid_sources/expression_in_response.xs +0 -22
  272. package/parser/tests/function/valid_sources/filter_by_value.xs +0 -55
  273. package/parser/tests/function/valid_sources/filter_query.xs +0 -82
  274. package/parser/tests/function/valid_sources/large_regex.xs +0 -13
  275. package/parser/tests/function/valid_sources/ledash_ends_with.xs +0 -90
  276. package/parser/tests/function/valid_sources/multiline_description.xs +0 -28
  277. package/parser/tests/function/valid_sources/multiline_expr.xs +0 -41
  278. package/parser/tests/function/valid_sources/set_theory_fn.xs +0 -129
  279. package/parser/tests/function/valid_sources/simple_unit_test.xs +0 -33
  280. package/parser/tests/function/valid_sources/valid_officer.xs +0 -57
  281. package/parser/tests/function/valid_sources/webflow.xs +0 -18
  282. package/parser/tests/query/query_parser.spec.js +0 -54
  283. package/parser/tests/query/valid_sources/all_basics.xs +0 -51
  284. package/parser/tests/query/valid_sources/all_cloud.xs +0 -141
  285. package/parser/tests/query/valid_sources/all_db.xs +0 -102
  286. package/parser/tests/query/valid_sources/all_external_db.xs +0 -43
  287. package/parser/tests/query/valid_sources/all_keywords.xs +0 -65
  288. package/parser/tests/query/valid_sources/all_math.xs +0 -53
  289. package/parser/tests/query/valid_sources/all_object.xs +0 -25
  290. package/parser/tests/query/valid_sources/all_redis.xs +0 -106
  291. package/parser/tests/query/valid_sources/all_security.xs +0 -105
  292. package/parser/tests/query/valid_sources/all_stream.xs +0 -69
  293. package/parser/tests/query/valid_sources/all_text.xs +0 -54
  294. package/parser/tests/query/valid_sources/all_util.xs +0 -66
  295. package/parser/tests/query/valid_sources/all_zip.xs +0 -39
  296. package/parser/tests/query/valid_sources/arrays.xs +0 -33
  297. package/parser/tests/query/valid_sources/disabled_response.xs +0 -27
  298. package/parser/tests/query/valid_sources/multiline_lambda_GET.xs +0 -50
  299. package/parser/tests/query/valid_sources/mutliline_query.xs +0 -140
  300. package/parser/tests/query/valid_sources/patch_expression_multiline.xs +0 -27
  301. package/parser/tests/query/valid_sources/query_cache.xs +0 -34
  302. package/parser/tests/query/valid_sources/query_example.xs +0 -43
  303. package/parser/tests/query/valid_sources/query_mini.xs +0 -11
  304. package/parser/tests/query/valid_sources/query_rich_inputs.xs +0 -32
  305. package/parser/tests/query/valid_sources/simple_unit_test.xs +0 -33
  306. package/parser/tests/query/valid_sources/test_with_slashes.xs +0 -22
  307. package/parser/tests/query/valid_sources/with_unit_test.xs +0 -97
  308. package/parser/tests/table/table_parser.spec.js +0 -52
  309. package/parser/tests/table/valid_sources/account.xs +0 -31
  310. package/parser/tests/table/valid_sources/all_basic_columns.xs +0 -44
  311. package/parser/tests/table/valid_sources/basic_table.xs +0 -15
  312. package/parser/tests/table/valid_sources/empty_object.xs +0 -17
  313. package/parser/tests/table/valid_sources/empty_table.xs +0 -3
  314. package/parser/tests/table/valid_sources/multiline_index.xs +0 -33
  315. package/parser/tests/table/valid_sources/relation.xs +0 -44
  316. package/parser/tests/table/valid_sources/rich_columns.xs +0 -31
  317. package/parser/tests/table/valid_sources/table_with_comments.xs +0 -17
  318. package/parser/tests/table/valid_sources/table_with_search_index.xs +0 -31
  319. package/parser/tests/table/valid_sources/view_table.xs +0 -62
  320. package/parser/tests/task/task_parser.spec.js +0 -53
  321. package/parser/tests/task/valid_sources/active_event.xs +0 -11
  322. package/parser/tests/task/valid_sources/all_events.xs +0 -17
  323. package/parser/tests/task/valid_sources/create_leak.xs +0 -165
  324. package/parser/tests/task/valid_sources/daily_sales_report.xs +0 -56
  325. package/parser/tests/task/valid_sources/inactive_event.xs +0 -11
  326. package/parser/tests/variable_test/coverage_check.xs +0 -293
  327. package/parser/tests/workflow_test/valid_sources/basic_workflow_test.xs +0 -13
  328. package/parser/tests/workflow_test/workflow_test_parser.spec.js +0 -52
  329. package/parser/tool_parser.spec.js +0 -115
  330. package/parser/variableValidator.spec.js +0 -179
  331. package/parser/workflow_test_parser.spec.js +0 -136
  332. package/parser/workspace_parser.spec.js +0 -142
  333. package/parser/workspace_trigger_parser.spec.js +0 -332
  334. package/toTmLanguage.js +0 -75
  335. package/utils.spec.js +0 -369
  336. package/workspace/crossFileValidator.spec.js +0 -654
  337. package/workspace/referenceTracking.spec.js +0 -420
  338. package/workspace/workspaceIndex.spec.js +0 -189
@@ -1,285 +0,0 @@
1
- import { expect } from "chai";
2
- import { describe, it } from "mocha";
3
- import { EqualToken } from "../../../lexer/control.js";
4
- import { lexDocument } from "../../../lexer/lexer.js";
5
- import { Identifier } from "../../../lexer/tokens.js";
6
- import { parser } from "../../test_parser.js";
7
-
8
- export function parserExtension() {
9
- // this rule requires a foo field to be defined
10
- this.schemaParseAttributeFn_flat = this.RULE(
11
- "schemaParseAttributeFn_flat",
12
- () => {
13
- const schema = { "[string]": "[number]" };
14
- const name = this.CONSUME(Identifier);
15
- this.CONSUME(EqualToken); // "="
16
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
17
- },
18
- );
19
-
20
- this.schemaParseAttributeFn_expression = this.RULE(
21
- "schemaParseAttributeFn_expression",
22
- () => {
23
- const schema = {
24
- value: "[expression]",
25
- "description?": "[string]",
26
- };
27
- const name = this.CONSUME(Identifier);
28
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
29
- },
30
- );
31
-
32
- // this rule requires a foo field to be defined
33
- this.schemaParseAttributeFn_all_optional = this.RULE(
34
- "schemaParseAttributeFn_all_optional",
35
- () => {
36
- const schema = { "disabled?": "[boolean]", "description?": "[string]" };
37
- const name = this.CONSUME(Identifier);
38
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
39
- },
40
- );
41
-
42
- this.schemaParseAttributeFn_deep = this.RULE(
43
- "schemaParseAttributeFn_deep",
44
- () => {
45
- const schema = {
46
- "[string]": {
47
- test: ["[number]"],
48
- bool: "[boolean]",
49
- hey: "some constant",
50
- },
51
- };
52
- const name = this.CONSUME(Identifier);
53
- this.CONSUME(EqualToken); // "="
54
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
55
- },
56
- );
57
-
58
- this.schemaParseAttributeFn_stack = this.RULE(
59
- "schemaParseAttributeFn_stack",
60
- () => {
61
- const schema = {
62
- stack: "[stack]",
63
- test: "[test-stack]",
64
- value: "[number]",
65
- };
66
- const name = this.CONSUME(Identifier);
67
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
68
- },
69
- );
70
-
71
- this.schemaParseAttributeFn_optional = this.RULE(
72
- "schemaParseAttributeFn_optional",
73
- () => {
74
- const schema = {
75
- "[string]": {
76
- "optional?": "[number]",
77
- required: "[boolean]",
78
- },
79
- };
80
- const name = this.CONSUME(Identifier);
81
- this.CONSUME(EqualToken); // "="
82
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
83
- },
84
- );
85
-
86
- this.schemaParseAttributeFn_multiple = this.RULE(
87
- "schemaParseAttributeFn_multiple",
88
- () => {
89
- const schema = {
90
- "multi*": ["[number]"],
91
- single: "[boolean]",
92
- };
93
- const name = this.CONSUME(Identifier);
94
- this.CONSUME(EqualToken); // "="
95
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
96
- },
97
- );
98
-
99
- this.schemaParseAttributeFn_disabled = this.RULE(
100
- "schemaParseAttributeFn_disabled",
101
- () => {
102
- const schema = {
103
- "![string]": {
104
- valid: "[boolean]",
105
- "!invalid": "[boolean]",
106
- },
107
- };
108
- const name = this.CONSUME(Identifier);
109
- this.CONSUME(EqualToken); // "="
110
- this.SUBRULE(this.schemaParseAttributeFn, { ARGS: [name, schema] });
111
- },
112
- );
113
- }
114
-
115
- function parse(inputText) {
116
- parser.reset();
117
- const lexResult = lexDocument(inputText);
118
- parser.input = lexResult.tokens;
119
- // Simulate being inside a test context for api.call validation
120
- parser.sectionStack.push("testClause");
121
- return parser;
122
- }
123
-
124
- describe("schemaParseAttributeFn", () => {
125
- it("schemaParseAttributeFn accepts mix types and constants", () => {
126
- parse(`value = {something = 345}`).schemaParseAttributeFn_flat();
127
- expect(parser.errors).to.be.empty;
128
-
129
- parse(`value = {
130
- something = 123.2
131
- other_thing = 44
132
- }`).schemaParseAttributeFn_flat();
133
- expect(parser.errors).to.be.empty;
134
- });
135
-
136
- it("schemaParseAttributeFn rejects comma separated attributes", () => {
137
- parse(
138
- `value = { something = 123.2, other_thing = 44 }`,
139
- ).schemaParseAttributeFn_flat();
140
- expect(parser.errors).to.not.be.empty;
141
- });
142
-
143
- it("schemaParseAttributeFn immutable restricts to valid token", () => {
144
- parse(`value = {123: 124}`).schemaParseAttributeFn_flat();
145
- expect(parser.errors).to.not.be.empty;
146
- });
147
-
148
- it("schemaParseAttributeFn accepts deep definition", () => {
149
- parse(`value = {
150
- something = {
151
- test: [123, 456]
152
- bool: true
153
- hey: "some constant"
154
- }
155
- }`).schemaParseAttributeFn_deep();
156
- expect(parser.errors).to.be.empty;
157
- });
158
-
159
- it("schemaParseAttributeFn rejects errors in deep definition", () => {
160
- parse(`value = {
161
- something = {
162
- test: 123,
163
- bool: true,
164
- hey: "some constant"
165
- }
166
- }`).schemaParseAttributeFn_deep();
167
- expect(parser.errors).to.not.be.empty;
168
- });
169
-
170
- it("schemaParseAttributeFn rejects missing attribute", () => {
171
- parse(`value = {
172
- something = {
173
- test: [123, 456]
174
- hey: "some constant"
175
- }
176
- }`).schemaParseAttributeFn_deep();
177
- expect(parser.errors).to.not.be.empty;
178
- });
179
-
180
- it("schemaParseAttributeFn rejects membership format for attribute", () => {
181
- parse(`value = {
182
- some.thing.here = {
183
- test: [123, 456]
184
- bool: true
185
- hey: "some constant"
186
- }
187
- }`).schemaParseAttributeFn_deep();
188
- expect(parser.errors).to.not.be.empty;
189
- });
190
-
191
- it("schemaParseAttributeFn accepts optional attribute", () => {
192
- parse(`value = {
193
- something = {
194
- optional: 123
195
- required: true
196
- }
197
- }`).schemaParseAttributeFn_optional();
198
- expect(parser.errors).to.be.empty;
199
-
200
- parse(`value = {
201
- something = {
202
- required: true
203
- }
204
- }`).schemaParseAttributeFn_optional();
205
- expect(parser.errors).to.be.empty;
206
- });
207
-
208
- it("schemaParseAttributeFn can be empty when all optional attributes are missing", () => {
209
- parse(`my_function`).schemaParseAttributeFn_all_optional();
210
- expect(parser.errors).to.be.empty;
211
- });
212
- it("schemaParseAttributeFn accept disabled keys", () => {
213
- parse(`value = {
214
- !disabled = { valid: true, invalid: false }
215
- no_disabled = { valid: false, !invalid: true }
216
- }`).schemaParseAttributeFn_disabled();
217
- expect(parser.errors).to.be.empty;
218
- });
219
-
220
- it("schemaParseAttributeFn accept disabled keys", () => {
221
- parse(`value = {
222
- !disabled = { valid: true, invalid: false }
223
- no_disabled = { !valid: false, !invalid: true }
224
- }`).schemaParseAttributeFn_disabled();
225
- expect(parser.errors).to.not.be.empty;
226
- });
227
-
228
- it("schemaParseAttributeFn accept disabled keys", () => {
229
- parse(`value = {
230
- !disabled: { valid: true, invalid: false }
231
- no_disabled: { !valid: false, !invalid: true }
232
- }`).schemaParseAttributeFn_disabled();
233
- expect(parser.errors).to.not.be.empty;
234
- });
235
-
236
- it("schemaParseAttributeFn accepts multiple keys", () => {
237
- parse(`value = {
238
- multi = [123, 456]
239
- single = true
240
- multi = [789, 1011]
241
- }`).schemaParseAttributeFn_multiple();
242
- expect(parser.errors).to.be.empty;
243
-
244
- parse(`value = {
245
- single = true
246
- }`).schemaParseAttributeFn_multiple();
247
- expect(parser.errors).to.be.empty;
248
- });
249
-
250
- it("schemaParseAttributeFn accepts an expression", () => {
251
- parse(`my_var {
252
- value = [123, 456]
253
- description = "an array"
254
- }`).schemaParseAttributeFn_expression();
255
- expect(parser.errors).to.be.empty;
256
-
257
- parse(`my_var {
258
- value = 123|add:5
259
- description = "an integer with a filter"
260
- }`).schemaParseAttributeFn_expression();
261
- expect(parser.errors).to.be.empty;
262
- });
263
-
264
- it("schemaParseAttributeFn accepts a stack clause", () => {
265
- parse(`my_var {
266
- value = 12
267
- test {
268
- api.call my_function verb=GET {
269
- api_group = "foo"
270
- input = { key: $x1 }
271
- }
272
- }
273
- stack {
274
- var $x1 {
275
- value = 12
276
- }
277
-
278
- function.run my_function {
279
- input = { key: $x1 }
280
- }
281
- }
282
- }`).schemaParseAttributeFn_stack();
283
- expect(parser.errors).to.be.empty;
284
- });
285
- });
@@ -1,122 +0,0 @@
1
- import { expect } from "chai";
2
- import { describe, it } from "mocha";
3
- import { EqualToken } from "../../../lexer/control.js";
4
- import { lexDocument } from "../../../lexer/lexer.js";
5
- import { Identifier } from "../../../lexer/tokens.js";
6
- import { parser } from "../../test_parser.js";
7
-
8
- export function parserExtension() {
9
- // this rule requires a foo field to be defined
10
- this.schemaParseConstantFn_test_constant_string = this.RULE(
11
- "schemaParseConstantFn_test_constant_string",
12
- () => {
13
- const schema = "value";
14
- const name = this.CONSUME(Identifier);
15
- this.CONSUME(EqualToken); // "="
16
- this.SUBRULE(this.schemaParseConstantFn, { ARGS: [name, schema] });
17
- }
18
- );
19
-
20
- // this rule requires a foo field to be defined
21
- this.schemaParseConstantFn_test_constant_boolean = this.RULE(
22
- "schemaParseConstantFn_test_constant_boolean",
23
- () => {
24
- const schema = true;
25
- const name = this.CONSUME(Identifier);
26
- this.CONSUME(EqualToken); // "="
27
- this.SUBRULE(this.schemaParseConstantFn, { ARGS: [name, schema] });
28
- }
29
- );
30
-
31
- // this rule requires a foo field to be defined
32
- this.schemaParseConstantFn_test_constant_number = this.RULE(
33
- "schemaParseConstantFn_test_constant_number",
34
- () => {
35
- const schema = 42;
36
- const name = this.CONSUME(Identifier);
37
- this.CONSUME(EqualToken); // "="
38
- this.SUBRULE(this.schemaParseConstantFn, { ARGS: [name, schema] });
39
- }
40
- );
41
-
42
- // check the null case too
43
- // this rule requires a foo field to be defined
44
- this.schemaParseConstantFn_test_constant_null = this.RULE(
45
- "schemaParseConstantFn_test_constant_null",
46
- () => {
47
- const schema = null;
48
- const name = this.CONSUME(Identifier);
49
- this.CONSUME(EqualToken); // "="
50
- this.SUBRULE(this.schemaParseConstantFn, { ARGS: [name, schema] });
51
- }
52
- );
53
- }
54
-
55
- function parse(inputText) {
56
- parser.reset();
57
- const lexResult = lexDocument(inputText);
58
- parser.input = lexResult.tokens;
59
- return parser;
60
- }
61
-
62
- describe("schemaParseConstantFn", () => {
63
- it("schemaParseConstantFn constant string", () => {
64
- parse(`something = "value"`).schemaParseConstantFn_test_constant_string();
65
- expect(parser.errors).to.be.empty;
66
-
67
- parse("something = `value`").schemaParseConstantFn_test_constant_string();
68
- expect(parser.errors).to.not.be.empty;
69
-
70
- parse(`something = """
71
- value
72
- """`).schemaParseConstantFn_test_constant_string();
73
- expect(parser.errors).to.be.empty;
74
- });
75
-
76
- it("schemaParseConstantFn rejects non valid string contstant", () => {
77
- parse(`something = 123`).schemaParseConstantFn_test_constant_string();
78
- expect(parser.errors).to.not.be.empty;
79
-
80
- parse(`something = false`).schemaParseConstantFn_test_constant_string();
81
- expect(parser.errors).to.not.be.empty;
82
- });
83
-
84
- it("schemaParseConstantFn constant boolean", () => {
85
- parse(`something = true`).schemaParseConstantFn_test_constant_boolean();
86
- expect(parser.errors).to.be.empty;
87
- });
88
-
89
- it("schemaParseConstantFn reject non valid boolean constant", () => {
90
- parse(`something = 1`).schemaParseConstantFn_test_constant_boolean();
91
- expect(parser.errors).to.not.be.empty;
92
-
93
- parse(`something = false`).schemaParseConstantFn_test_constant_boolean();
94
- expect(parser.errors).to.not.be.empty;
95
- });
96
-
97
- it("schemaParseConstantFn constant number", () => {
98
- parse(`something = 42`).schemaParseConstantFn_test_constant_number();
99
- expect(parser.errors).to.be.empty;
100
- });
101
-
102
- it("schemaParseConstantFn reject non valid number constant", () => {
103
- parse(`something = 44`).schemaParseConstantFn_test_constant_number();
104
- expect(parser.errors).to.not.be.empty;
105
-
106
- parse(`something = 42.0`).schemaParseConstantFn_test_constant_number();
107
- expect(parser.errors).to.not.be.empty;
108
- });
109
-
110
- it("schemaParseConstantFn constant null", () => {
111
- parse(`something = null`).schemaParseConstantFn_test_constant_null();
112
- expect(parser.errors).to.be.empty;
113
- });
114
-
115
- it("schemaParseConstantFn reject non valid null constant", () => {
116
- parse(`something = 0`).schemaParseConstantFn_test_constant_null();
117
- expect(parser.errors).to.not.be.empty;
118
-
119
- parse(`something = false`).schemaParseConstantFn_test_constant_null();
120
- expect(parser.errors).to.not.be.empty;
121
- });
122
- });
@@ -1,47 +0,0 @@
1
- import { expect } from "chai";
2
- import { describe, it } from "mocha";
3
- import { EqualToken } from "../../../lexer/control.js";
4
- import { lexDocument } from "../../../lexer/lexer.js";
5
- import { Identifier } from "../../../lexer/tokens.js";
6
- import { parser } from "../../test_parser.js";
7
-
8
- export function parserExtension() {
9
- // this rule requires a foo field to be defined
10
- this.schemaParseEnumFn_immutable_and_const = this.RULE(
11
- "schemaParseEnumFn_immutable_and_const",
12
- () => {
13
- const schema = ["[string]", "[number]"];
14
- const name = this.CONSUME(Identifier);
15
- this.CONSUME(EqualToken); // "="
16
- this.SUBRULE(this.schemaParseEnumFn, { ARGS: [name, schema] });
17
- }
18
- );
19
- }
20
-
21
- function parse(inputText) {
22
- parser.reset();
23
- const lexResult = lexDocument(inputText);
24
- parser.input = lexResult.tokens;
25
- return parser;
26
- }
27
-
28
- describe("schemaParseEnumFn", () => {
29
- it("schemaParseEnumFn accepts mix types and constants", () => {
30
- parse(`something = 'test'`).schemaParseEnumFn_immutable_and_const();
31
- expect(parser.errors).to.be.empty;
32
-
33
- parse(`something = 123`).schemaParseEnumFn_immutable_and_const();
34
- expect(parser.errors).to.be.empty;
35
- });
36
-
37
- it("schemaParseEnumFn immutable restricts to valid token", () => {
38
- parse(`something = false`).schemaParseEnumFn_immutable_and_const();
39
- expect(parser.errors).to.not.be.empty;
40
-
41
- parse(`something = [123]`).schemaParseEnumFn_immutable_and_const();
42
- expect(parser.errors).to.not.be.empty;
43
-
44
- parse(`something = {foo: "Bar"}`).schemaParseEnumFn_immutable_and_const();
45
- expect(parser.errors).to.not.be.empty;
46
- });
47
- });
@@ -1,99 +0,0 @@
1
- import { expect } from "chai";
2
- import { describe, it } from "mocha";
3
- import { EqualToken } from "../../../lexer/control.js";
4
- import { lexDocument } from "../../../lexer/lexer.js";
5
- import { Identifier } from "../../../lexer/tokens.js";
6
- import { parser } from "../../test_parser.js";
7
-
8
- export function parserExtension() {
9
- this.schemaParseImmutableFn_test_immutable_string = this.RULE(
10
- "schemaFn_test_immutable_string",
11
- () => {
12
- const schema = "[string]";
13
- const name = this.CONSUME(Identifier);
14
- this.CONSUME(EqualToken); // "="
15
- this.SUBRULE(this.schemaFn, { ARGS: [name, schema] });
16
- }
17
- );
18
-
19
- this.schemaParseImmutableFn_test_immutable_boolean = this.RULE(
20
- "schemaFn_test_immutable_boolean",
21
- () => {
22
- const schema = "[boolean]";
23
- const name = this.CONSUME(Identifier);
24
- this.CONSUME(EqualToken); // "="
25
- this.SUBRULE(this.schemaFn, { ARGS: [name, schema] });
26
- }
27
- );
28
-
29
- this.schemaParseImmutableFn_test_immutable_number = this.RULE(
30
- "schemaFn_test_immutable_number",
31
- () => {
32
- const schema = "[number]";
33
- const name = this.CONSUME(Identifier);
34
- this.CONSUME(EqualToken); // "="
35
- this.SUBRULE(this.schemaFn, { ARGS: [name, schema] });
36
- }
37
- );
38
- }
39
-
40
- function parse(inputText) {
41
- parser.reset();
42
- const lexResult = lexDocument(inputText);
43
- parser.input = lexResult.tokens;
44
- return parser;
45
- }
46
-
47
- describe("schemaParseImmutableFn", () => {
48
- it("schemaParseImmutableFn immutable string", () => {
49
- parse(`something = "foo"`).schemaParseImmutableFn_test_immutable_string();
50
- expect(parser.errors).to.be.empty;
51
-
52
- parse(`something = 'foo'`).schemaParseImmutableFn_test_immutable_string();
53
- expect(parser.errors).to.be.empty;
54
-
55
- // bar is not a string
56
- parse(`something = bar`).schemaParseImmutableFn_test_immutable_string();
57
- expect(parser.errors).to.not.be.empty;
58
- });
59
-
60
- it("schemaParseImmutableFn immutable restricts string", () => {
61
- parse(`something = 123`).schemaParseImmutableFn_test_immutable_string();
62
- expect(parser.errors).to.not.be.empty;
63
-
64
- parse(`something = false`).schemaParseImmutableFn_test_immutable_string();
65
- expect(parser.errors).to.not.be.empty;
66
- });
67
-
68
- it("schemaParseImmutableFn immutable boolean", () => {
69
- parse(`something = true`).schemaParseImmutableFn_test_immutable_boolean();
70
- expect(parser.errors).to.be.empty;
71
-
72
- parse(`something = false`).schemaParseImmutableFn_test_immutable_boolean();
73
- expect(parser.errors).to.be.empty;
74
- });
75
-
76
- it("schemaParseImmutableFn immutable restricts boolean", () => {
77
- parse(`something = 123`).schemaParseImmutableFn_test_immutable_boolean();
78
- expect(parser.errors).to.not.be.empty;
79
-
80
- parse(`something = "foo"`).schemaParseImmutableFn_test_immutable_boolean();
81
- expect(parser.errors).to.not.be.empty;
82
- });
83
-
84
- it("schemaParseImmutableFn immutable number", () => {
85
- parse(`something = 123`).schemaParseImmutableFn_test_immutable_number();
86
- expect(parser.errors).to.be.empty;
87
-
88
- parse(`something = 45.67`).schemaParseImmutableFn_test_immutable_number();
89
- expect(parser.errors).to.be.empty;
90
- });
91
-
92
- it("schemaParseImmutableFn immutable restricts number", () => {
93
- parse(`something = true`).schemaParseImmutableFn_test_immutable_number();
94
- expect(parser.errors).to.not.be.empty;
95
-
96
- parse(`something = "foo"`).schemaParseImmutableFn_test_immutable_number();
97
- expect(parser.errors).to.not.be.empty;
98
- });
99
- });