@hyperfixi/core 2.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 (381) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +218 -0
  3. package/dist/__test-utils__/context-builders.d.ts +42 -0
  4. package/dist/__test-utils__/error-testing.d.ts +18 -0
  5. package/dist/__test-utils__/index.d.ts +6 -0
  6. package/dist/__test-utils__/mock-types.d.ts +57 -0
  7. package/dist/__test-utils__/parser-context-mock.d.ts +7 -0
  8. package/dist/__test-utils__/parser-helpers.d.ts +38 -0
  9. package/dist/api/dom-processor.d.ts +17 -0
  10. package/dist/api/hyperscript-api.d.ts +68 -0
  11. package/dist/api/lokascript-api.d.ts +9 -0
  12. package/dist/ast-utils/analyzer.d.ts +19 -0
  13. package/dist/ast-utils/documentation.d.ts +8 -0
  14. package/dist/ast-utils/generator.d.ts +9 -0
  15. package/dist/ast-utils/index.d.ts +12 -0
  16. package/dist/ast-utils/index.js +3366 -0
  17. package/dist/ast-utils/index.mjs +3320 -0
  18. package/dist/ast-utils/interchange/from-core.d.ts +8 -0
  19. package/dist/ast-utils/interchange/index.d.ts +6 -0
  20. package/dist/ast-utils/interchange/lsp.d.ts +108 -0
  21. package/dist/ast-utils/interchange/to-core.d.ts +8 -0
  22. package/dist/ast-utils/interchange/types.d.ts +113 -0
  23. package/dist/ast-utils/query.d.ts +25 -0
  24. package/dist/ast-utils/transformer.d.ts +14 -0
  25. package/dist/ast-utils/types.d.ts +162 -0
  26. package/dist/ast-utils/visitor.d.ts +40 -0
  27. package/dist/behaviors/boosted.d.ts +29 -0
  28. package/dist/behaviors/history-swap.d.ts +24 -0
  29. package/dist/behaviors/index.d.ts +4 -0
  30. package/dist/behaviors/index.js +1149 -0
  31. package/dist/behaviors/index.mjs +1139 -0
  32. package/dist/bundle-generator/generator.d.ts +4 -0
  33. package/dist/bundle-generator/index.d.ts +6 -0
  34. package/dist/bundle-generator/index.js +2294 -0
  35. package/dist/bundle-generator/index.mjs +2271 -0
  36. package/dist/bundle-generator/parser-templates.d.ts +6 -0
  37. package/dist/bundle-generator/template-capabilities.d.ts +10 -0
  38. package/dist/bundle-generator/templates.d.ts +11 -0
  39. package/dist/bundle-generator/types.d.ts +34 -0
  40. package/dist/bundles/test-minimal.d.ts +3 -0
  41. package/dist/bundles/test-standard.d.ts +3 -0
  42. package/dist/chunks/bridge-I6ceoWxV.js +2 -0
  43. package/dist/chunks/browser-modular-Dv6PAV3c.js +2 -0
  44. package/dist/chunks/feature-eventsource-DWb514fy.js +2 -0
  45. package/dist/chunks/feature-sockets-3PFuvCVY.js +2 -0
  46. package/dist/chunks/feature-webworker-DTm_eh-E.js +2 -0
  47. package/dist/commands/advanced/async.d.ts +28 -0
  48. package/dist/commands/advanced/js.d.ts +28 -0
  49. package/dist/commands/animation/measure.d.ts +31 -0
  50. package/dist/commands/animation/settle.d.ts +26 -0
  51. package/dist/commands/animation/take.d.ts +28 -0
  52. package/dist/commands/animation/transition.d.ts +31 -0
  53. package/dist/commands/async/fetch.d.ts +44 -0
  54. package/dist/commands/async/wait.d.ts +41 -0
  55. package/dist/commands/behaviors/install.d.ts +41 -0
  56. package/dist/commands/content/append.d.ts +27 -0
  57. package/dist/commands/control-flow/break.d.ts +15 -0
  58. package/dist/commands/control-flow/continue.d.ts +15 -0
  59. package/dist/commands/control-flow/exit.d.ts +15 -0
  60. package/dist/commands/control-flow/halt.d.ts +25 -0
  61. package/dist/commands/control-flow/if.d.ts +45 -0
  62. package/dist/commands/control-flow/repeat.d.ts +35 -0
  63. package/dist/commands/control-flow/return.d.ts +23 -0
  64. package/dist/commands/control-flow/signal-base.d.ts +25 -0
  65. package/dist/commands/control-flow/throw.d.ts +22 -0
  66. package/dist/commands/control-flow/unless.d.ts +3 -0
  67. package/dist/commands/data/decrement.d.ts +3 -0
  68. package/dist/commands/data/default.d.ts +31 -0
  69. package/dist/commands/data/get.d.ts +23 -0
  70. package/dist/commands/data/increment.d.ts +25 -0
  71. package/dist/commands/data/set.d.ts +56 -0
  72. package/dist/commands/decorators/index.d.ts +30 -0
  73. package/dist/commands/dom/__tests__/add-standalone-helpers.d.ts +11 -0
  74. package/dist/commands/dom/add.d.ts +31 -0
  75. package/dist/commands/dom/dom-modification-base.d.ts +48 -0
  76. package/dist/commands/dom/hide.d.ts +12 -0
  77. package/dist/commands/dom/make.d.ts +21 -0
  78. package/dist/commands/dom/process-partials.d.ts +39 -0
  79. package/dist/commands/dom/put.d.ts +31 -0
  80. package/dist/commands/dom/remove.d.ts +33 -0
  81. package/dist/commands/dom/show.d.ts +13 -0
  82. package/dist/commands/dom/swap.d.ts +38 -0
  83. package/dist/commands/dom/toggle.d.ts +55 -0
  84. package/dist/commands/dom/visibility-base.d.ts +20 -0
  85. package/dist/commands/events/send.d.ts +3 -0
  86. package/dist/commands/events/trigger.d.ts +36 -0
  87. package/dist/commands/execution/call.d.ts +24 -0
  88. package/dist/commands/execution/pseudo-command.d.ts +42 -0
  89. package/dist/commands/helpers/attribute-manipulation.d.ts +11 -0
  90. package/dist/commands/helpers/batch-dom-operations.d.ts +12 -0
  91. package/dist/commands/helpers/class-manipulation.d.ts +11 -0
  92. package/dist/commands/helpers/condition-helpers.d.ts +4 -0
  93. package/dist/commands/helpers/dom-mutation.d.ts +15 -0
  94. package/dist/commands/helpers/duration-parsing.d.ts +8 -0
  95. package/dist/commands/helpers/element-property-access.d.ts +7 -0
  96. package/dist/commands/helpers/element-resolution.d.ts +17 -0
  97. package/dist/commands/helpers/error-helpers.d.ts +17 -0
  98. package/dist/commands/helpers/event-helpers.d.ts +13 -0
  99. package/dist/commands/helpers/event-waiting.d.ts +37 -0
  100. package/dist/commands/helpers/index.d.ts +32 -0
  101. package/dist/commands/helpers/input-validator.d.ts +23 -0
  102. package/dist/commands/helpers/loop-executor.d.ts +53 -0
  103. package/dist/commands/helpers/numeric-target-parser.d.ts +14 -0
  104. package/dist/commands/helpers/property-target.d.ts +30 -0
  105. package/dist/commands/helpers/selector-type-detection.d.ts +24 -0
  106. package/dist/commands/helpers/smart-element.d.ts +16 -0
  107. package/dist/commands/helpers/style-manipulation.d.ts +16 -0
  108. package/dist/commands/helpers/temporal-modifiers.d.ts +15 -0
  109. package/dist/commands/helpers/url-argument-parser.d.ts +10 -0
  110. package/dist/commands/helpers/url-validation.d.ts +7 -0
  111. package/dist/commands/helpers/variable-access.d.ts +10 -0
  112. package/dist/commands/helpers/visibility-target-parser.d.ts +11 -0
  113. package/dist/commands/index.d.ts +139 -0
  114. package/dist/commands/index.js +9186 -0
  115. package/dist/commands/index.mjs +9032 -0
  116. package/dist/commands/navigation/go.d.ts +35 -0
  117. package/dist/commands/navigation/push-url.d.ts +35 -0
  118. package/dist/commands/navigation/replace-url.d.ts +3 -0
  119. package/dist/commands/templates/render.d.ts +48 -0
  120. package/dist/commands/utility/beep.d.ts +32 -0
  121. package/dist/commands/utility/copy.d.ts +29 -0
  122. package/dist/commands/utility/log.d.ts +24 -0
  123. package/dist/commands/utility/pick.d.ts +26 -0
  124. package/dist/commands/utility/tell.d.ts +26 -0
  125. package/dist/compatibility/browser-bundle-animation-generated.d.ts +16 -0
  126. package/dist/compatibility/browser-bundle-classic-i18n.d.ts +63 -0
  127. package/dist/compatibility/browser-bundle-classic.d.ts +17 -0
  128. package/dist/compatibility/browser-bundle-forms-generated.d.ts +16 -0
  129. package/dist/compatibility/browser-bundle-hybrid-complete.d.ts +28 -0
  130. package/dist/compatibility/browser-bundle-hybrid-hx.d.ts +43 -0
  131. package/dist/compatibility/browser-bundle-lite-plus.d.ts +25 -0
  132. package/dist/compatibility/browser-bundle-lite.d.ts +23 -0
  133. package/dist/compatibility/browser-bundle-minimal-generated.d.ts +16 -0
  134. package/dist/compatibility/browser-bundle-minimal-v2.d.ts +17 -0
  135. package/dist/compatibility/browser-bundle-minimal.d.ts +8 -0
  136. package/dist/compatibility/browser-bundle-modular.d.ts +18 -0
  137. package/dist/compatibility/browser-bundle-multilingual.d.ts +19 -0
  138. package/dist/compatibility/browser-bundle-semantic-complete.d.ts +24 -0
  139. package/dist/compatibility/browser-bundle-standard-v2.d.ts +17 -0
  140. package/dist/compatibility/browser-bundle-standard.d.ts +8 -0
  141. package/dist/compatibility/browser-bundle-textshelf-minimal.d.ts +16 -0
  142. package/dist/compatibility/browser-bundle-textshelf-profile.d.ts +18 -0
  143. package/dist/compatibility/browser-bundle.d.ts +140 -0
  144. package/dist/compatibility/browser-modular.d.ts +53 -0
  145. package/dist/compatibility/browser-tests/test-utils.d.ts +21 -0
  146. package/dist/compatibility/eval-hyperscript.d.ts +15 -0
  147. package/dist/compatibility/feature-loader.d.ts +8 -0
  148. package/dist/compatibility/hyperscript-adapter.d.ts +38 -0
  149. package/dist/compatibility/hyperscript-tests/test-adapter.d.ts +13 -0
  150. package/dist/core/ast-property-utils.d.ts +2 -0
  151. package/dist/core/base-expression-evaluator.d.ts +70 -0
  152. package/dist/core/binary-expression-evaluator.d.ts +7 -0
  153. package/dist/core/call-expression-evaluator.d.ts +7 -0
  154. package/dist/core/configurable-expression-evaluator.d.ts +5 -0
  155. package/dist/core/context.d.ts +15 -0
  156. package/dist/core/dom.d.ts +15 -0
  157. package/dist/core/evaluator-types.d.ts +5 -0
  158. package/dist/core/events.d.ts +48 -0
  159. package/dist/core/executor.d.ts +34 -0
  160. package/dist/core/expression-evaluator.d.ts +6 -0
  161. package/dist/core/lazy-expression-evaluator.d.ts +22 -0
  162. package/dist/core/parser.d.ts +21 -0
  163. package/dist/core/selector-evaluator.d.ts +15 -0
  164. package/dist/core/template-literal-evaluator.d.ts +5 -0
  165. package/dist/dom/attribute-processor.d.ts +40 -0
  166. package/dist/dom/minimal-attribute-processor.d.ts +20 -0
  167. package/dist/experimental/binary-tree/accessor.d.ts +10 -0
  168. package/dist/experimental/binary-tree/ast-serializer.d.ts +26 -0
  169. package/dist/experimental/binary-tree/benchmark.d.ts +24 -0
  170. package/dist/experimental/binary-tree/buffer-context.d.ts +27 -0
  171. package/dist/experimental/binary-tree/deserializer.d.ts +17 -0
  172. package/dist/experimental/binary-tree/index.d.ts +22 -0
  173. package/dist/experimental/binary-tree/serializer.d.ts +4 -0
  174. package/dist/experimental/binary-tree/types.d.ts +54 -0
  175. package/dist/expressions/base-expression.d.ts +27 -0
  176. package/dist/expressions/bundles/common-expressions.d.ts +9 -0
  177. package/dist/expressions/bundles/core-expressions.d.ts +7 -0
  178. package/dist/expressions/bundles/full-expressions.d.ts +10 -0
  179. package/dist/expressions/bundles/index.d.ts +7 -0
  180. package/dist/expressions/comparison/index.d.ts +80 -0
  181. package/dist/expressions/comparison/utils.d.ts +2 -0
  182. package/dist/expressions/conversion/impl/bridge.d.ts +117 -0
  183. package/dist/expressions/conversion/impl/index.d.ts +59 -0
  184. package/dist/expressions/conversion/index.d.ts +23 -0
  185. package/dist/expressions/expression-tiers.d.ts +13 -0
  186. package/dist/expressions/index.d.ts +11 -0
  187. package/dist/expressions/index.js +6930 -0
  188. package/dist/expressions/index.mjs +6912 -0
  189. package/dist/expressions/logical/impl/index.d.ts +54 -0
  190. package/dist/expressions/logical/impl/pattern-matching.d.ts +58 -0
  191. package/dist/expressions/logical/index.d.ts +59 -0
  192. package/dist/expressions/mathematical/index.d.ts +69 -0
  193. package/dist/expressions/positional/impl/bridge.d.ts +95 -0
  194. package/dist/expressions/positional/impl/index.d.ts +73 -0
  195. package/dist/expressions/positional/index.d.ts +26 -0
  196. package/dist/expressions/properties/impl/index.d.ts +105 -0
  197. package/dist/expressions/properties/index.d.ts +26 -0
  198. package/dist/expressions/property/index.d.ts +55 -0
  199. package/dist/expressions/property-access-utils.d.ts +23 -0
  200. package/dist/expressions/references/impl/bridge.d.ts +54 -0
  201. package/dist/expressions/references/impl/index.d.ts +65 -0
  202. package/dist/expressions/references/index.d.ts +40 -0
  203. package/dist/expressions/shared/comparison-utils.d.ts +10 -0
  204. package/dist/expressions/shared/index.d.ts +9 -0
  205. package/dist/expressions/shared/number-utils.d.ts +7 -0
  206. package/dist/expressions/shared/validation-utils.d.ts +13 -0
  207. package/dist/expressions/special/index.d.ts +104 -0
  208. package/dist/expressions/type-helpers.d.ts +11 -0
  209. package/dist/expressions/type-registry.d.ts +57 -0
  210. package/dist/expressions/validation-helpers.d.ts +15 -0
  211. package/dist/extensions/index.d.ts +3 -0
  212. package/dist/extensions/tailwind.d.ts +22 -0
  213. package/dist/features/behaviors.d.ts +153 -0
  214. package/dist/features/def.d.ts +135 -0
  215. package/dist/features/eventsource.d.ts +140 -0
  216. package/dist/features/init.d.ts +135 -0
  217. package/dist/features/on.d.ts +131 -0
  218. package/dist/features/predefined-behaviors/dropdown-behavior.d.ts +20 -0
  219. package/dist/features/predefined-behaviors/index.d.ts +12 -0
  220. package/dist/features/predefined-behaviors/modal-behavior.d.ts +18 -0
  221. package/dist/features/predefined-behaviors/toggle-group-behavior.d.ts +23 -0
  222. package/dist/features/predefined-behaviors/types.d.ts +14 -0
  223. package/dist/features/sockets.d.ts +162 -0
  224. package/dist/features/webworker.d.ts +135 -0
  225. package/dist/htmx/htmx-attribute-processor.d.ts +84 -0
  226. package/dist/htmx/htmx-translator.d.ts +19 -0
  227. package/dist/htmx/index.d.ts +3 -0
  228. package/dist/hyperfixi-classic-i18n.js +2 -0
  229. package/dist/hyperfixi-hx.js +1 -0
  230. package/dist/hyperfixi-hybrid-complete.js +1 -0
  231. package/dist/hyperfixi-lite-plus.js +1 -0
  232. package/dist/hyperfixi-lite.js +1 -0
  233. package/dist/hyperfixi-minimal.js +1 -0
  234. package/dist/hyperfixi-multilingual.js +2 -0
  235. package/dist/hyperfixi-standard.js +2 -0
  236. package/dist/hyperfixi.js +2 -0
  237. package/dist/hyperfixi.mjs +2 -0
  238. package/dist/index.d.ts +25 -0
  239. package/dist/index.js +65387 -0
  240. package/dist/index.min.js +2 -0
  241. package/dist/index.mjs +65343 -0
  242. package/dist/lib/index.d.ts +4 -0
  243. package/dist/lib/morph-adapter.d.ts +22 -0
  244. package/dist/lib/swap-executor.d.ts +22 -0
  245. package/dist/lib/view-transitions.d.ts +33 -0
  246. package/dist/lokascript-browser-classic-i18n.js +2 -0
  247. package/dist/lokascript-browser-minimal.js +1 -0
  248. package/dist/lokascript-browser-standard.js +2 -0
  249. package/dist/lokascript-browser.js +2 -0
  250. package/dist/lokascript-hybrid-complete.js +1 -0
  251. package/dist/lokascript-hybrid-hx.js +1 -0
  252. package/dist/lokascript-lite-plus.js +1 -0
  253. package/dist/lokascript-lite.js +1 -0
  254. package/dist/lokascript-multilingual.js +2 -0
  255. package/dist/lsp-metadata.d.ts +25 -0
  256. package/dist/lsp-metadata.js +680 -0
  257. package/dist/lsp-metadata.mjs +670 -0
  258. package/dist/metadata.d.ts +213 -0
  259. package/dist/metadata.js +378 -0
  260. package/dist/metadata.mjs +368 -0
  261. package/dist/mod.d.ts +63 -0
  262. package/dist/multilingual/bridge.d.ts +36 -0
  263. package/dist/multilingual/index.d.ts +32 -0
  264. package/dist/multilingual/index.js +285 -0
  265. package/dist/multilingual/index.mjs +278 -0
  266. package/dist/parser/__types__/test-helpers.d.ts +25 -0
  267. package/dist/parser/command-node-builder.d.ts +45 -0
  268. package/dist/parser/command-parsers/animation-commands.d.ts +5 -0
  269. package/dist/parser/command-parsers/async-commands.d.ts +5 -0
  270. package/dist/parser/command-parsers/control-flow-commands.d.ts +7 -0
  271. package/dist/parser/command-parsers/dom-commands.d.ts +8 -0
  272. package/dist/parser/command-parsers/event-commands.d.ts +4 -0
  273. package/dist/parser/command-parsers/utility-commands.d.ts +9 -0
  274. package/dist/parser/command-parsers/variable-commands.d.ts +12 -0
  275. package/dist/parser/error-handler.d.ts +34 -0
  276. package/dist/parser/expression-parser.d.ts +6 -0
  277. package/dist/parser/full-parser.d.ts +4 -0
  278. package/dist/parser/full-parser.js +6532 -0
  279. package/dist/parser/full-parser.mjs +6529 -0
  280. package/dist/parser/helpers/ast-helpers.d.ts +22 -0
  281. package/dist/parser/helpers/parsing-helpers.d.ts +19 -0
  282. package/dist/parser/helpers/token-helpers.d.ts +28 -0
  283. package/dist/parser/hybrid/aliases.d.ts +7 -0
  284. package/dist/parser/hybrid/aliases.js +44 -0
  285. package/dist/parser/hybrid/aliases.mjs +37 -0
  286. package/dist/parser/hybrid/ast-types.d.ts +97 -0
  287. package/dist/parser/hybrid/ast-types.js +3 -0
  288. package/dist/parser/hybrid/ast-types.mjs +2 -0
  289. package/dist/parser/hybrid/index.d.ts +6 -0
  290. package/dist/parser/hybrid/index.js +1015 -0
  291. package/dist/parser/hybrid/index.mjs +1005 -0
  292. package/dist/parser/hybrid/parser-core.d.ts +57 -0
  293. package/dist/parser/hybrid/parser-core.js +1001 -0
  294. package/dist/parser/hybrid/parser-core.mjs +999 -0
  295. package/dist/parser/hybrid/tokenizer.d.ts +9 -0
  296. package/dist/parser/hybrid/tokenizer.js +242 -0
  297. package/dist/parser/hybrid/tokenizer.mjs +239 -0
  298. package/dist/parser/hybrid-parser.d.ts +10 -0
  299. package/dist/parser/hybrid-parser.js +1078 -0
  300. package/dist/parser/hybrid-parser.mjs +1071 -0
  301. package/dist/parser/parser-constants.d.ts +102 -0
  302. package/dist/parser/parser-interface.d.ts +11 -0
  303. package/dist/parser/parser-types.d.ts +175 -0
  304. package/dist/parser/parser.d.ts +146 -0
  305. package/dist/parser/regex-parser.d.ts +4 -0
  306. package/dist/parser/regex-parser.js +412 -0
  307. package/dist/parser/regex-parser.mjs +409 -0
  308. package/dist/parser/runtime.d.ts +3 -0
  309. package/dist/parser/semantic-integration.d.ts +61 -0
  310. package/dist/parser/token-consumer.d.ts +35 -0
  311. package/dist/parser/token-predicates.d.ts +77 -0
  312. package/dist/parser/tokenizer.d.ts +57 -0
  313. package/dist/parser/types.d.ts +118 -0
  314. package/dist/performance/expression-cache.d.ts +78 -0
  315. package/dist/performance/integration.d.ts +40 -0
  316. package/dist/performance/production-monitor.d.ts +67 -0
  317. package/dist/reference/index.d.ts +41 -0
  318. package/dist/reference/index.js +586 -0
  319. package/dist/reference/index.mjs +577 -0
  320. package/dist/registry/browser-types.d.ts +20 -0
  321. package/dist/registry/browser-types.js +81 -0
  322. package/dist/registry/browser-types.mjs +76 -0
  323. package/dist/registry/context-provider-registry.d.ts +38 -0
  324. package/dist/registry/environment.d.ts +19 -0
  325. package/dist/registry/environment.js +36 -0
  326. package/dist/registry/environment.mjs +30 -0
  327. package/dist/registry/event-source-registry.d.ts +54 -0
  328. package/dist/registry/examples/server-commands.d.ts +6 -0
  329. package/dist/registry/examples/server-event-source.d.ts +32 -0
  330. package/dist/registry/index.d.ts +54 -0
  331. package/dist/registry/index.js +7636 -0
  332. package/dist/registry/index.mjs +7612 -0
  333. package/dist/registry/multilingual/examples.d.ts +16 -0
  334. package/dist/registry/multilingual/index.d.ts +68 -0
  335. package/dist/registry/runtime-integration.d.ts +30 -0
  336. package/dist/registry/universal-types.d.ts +34 -0
  337. package/dist/registry/universal-types.js +91 -0
  338. package/dist/registry/universal-types.mjs +86 -0
  339. package/dist/runtime/cleanup-registry.d.ts +47 -0
  340. package/dist/runtime/command-adapter.d.ts +63 -0
  341. package/dist/runtime/environment.d.ts +75 -0
  342. package/dist/runtime/runtime-base.d.ts +78 -0
  343. package/dist/runtime/runtime-experimental.d.ts +18 -0
  344. package/dist/runtime/runtime-factory.d.ts +30 -0
  345. package/dist/runtime/runtime.d.ts +19 -0
  346. package/dist/runtime/temporal-modifiers.d.ts +37 -0
  347. package/dist/scripts/code-generator.d.ts +64 -0
  348. package/dist/scripts/generate-missing-commands.d.ts +4 -0
  349. package/dist/test-setup.d.ts +45 -0
  350. package/dist/test-utilities.d.ts +52 -0
  351. package/dist/tokenizer.d.ts +49 -0
  352. package/dist/types/base-types.d.ts +336 -0
  353. package/dist/types/code-fix.d.ts +39 -0
  354. package/dist/types/command-metadata.d.ts +57 -0
  355. package/dist/types/command-types.d.ts +272 -0
  356. package/dist/types/context-types.d.ts +106 -0
  357. package/dist/types/core-context.d.ts +21 -0
  358. package/dist/types/core.d.ts +203 -0
  359. package/dist/types/error-codes.d.ts +207 -0
  360. package/dist/types/expression-types.d.ts +155 -0
  361. package/dist/types/feature-types.d.ts +81 -0
  362. package/dist/types/hooks.d.ts +45 -0
  363. package/dist/types/index.d.ts +32 -0
  364. package/dist/types/result.d.ts +72 -0
  365. package/dist/types/template-types.d.ts +162 -0
  366. package/dist/types/type-guards.d.ts +24 -0
  367. package/dist/types/unified-types.d.ts +99 -0
  368. package/dist/utils/debug-events.d.ts +41 -0
  369. package/dist/utils/debug.d.ts +35 -0
  370. package/dist/utils/dom-utils.d.ts +16 -0
  371. package/dist/utils/element-check.d.ts +7 -0
  372. package/dist/utils/keyboard-shortcuts.d.ts +18 -0
  373. package/dist/utils/performance.d.ts +40 -0
  374. package/dist/validation/command-pattern-validator.d.ts +53 -0
  375. package/dist/validation/common-validators.d.ts +24 -0
  376. package/dist/validation/lightweight-validators.d.ts +113 -0
  377. package/dist/validation/partial-validation-types.d.ts +50 -0
  378. package/dist/validation/partial-validator.d.ts +6 -0
  379. package/dist/validation/partial-warning-formatter.d.ts +6 -0
  380. package/dist/validation/validate-cli.d.ts +41 -0
  381. package/package.json +292 -0
@@ -0,0 +1,31 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
5
+ export interface DefaultCommandInput {
6
+ target: string | HTMLElement;
7
+ value: unknown;
8
+ }
9
+ export interface DefaultCommandOutput {
10
+ target: string;
11
+ value: unknown;
12
+ wasSet: boolean;
13
+ existingValue?: unknown;
14
+ targetType: 'variable' | 'attribute' | 'property' | 'element';
15
+ }
16
+ export declare class DefaultCommand implements DecoratedCommand {
17
+ readonly name: string;
18
+ readonly metadata: CommandMetadata;
19
+ parseInput(raw: {
20
+ args: ASTNode[];
21
+ modifiers: Record<string, ExpressionNode>;
22
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<DefaultCommandInput>;
23
+ execute(input: DefaultCommandInput, context: TypedExecutionContext): Promise<DefaultCommandOutput>;
24
+ private defaultVariable;
25
+ private defaultAttribute;
26
+ private defaultElementProperty;
27
+ private defaultElementValue;
28
+ }
29
+ export declare const createDefaultCommand: () => DefaultCommand;
30
+ export default DefaultCommand;
31
+ //# sourceMappingURL=default.d.ts.map
@@ -0,0 +1,23 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
5
+ export interface GetCommandInput {
6
+ value: unknown;
7
+ }
8
+ export interface GetCommandOutput {
9
+ value: unknown;
10
+ }
11
+ export declare class GetCommand implements DecoratedCommand {
12
+ readonly name: string;
13
+ readonly metadata: CommandMetadata;
14
+ parseInput(raw: {
15
+ args: ASTNode[];
16
+ modifiers: Record<string, ExpressionNode>;
17
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<GetCommandInput>;
18
+ execute(input: GetCommandInput, context: TypedExecutionContext): GetCommandOutput;
19
+ validate(input: unknown): input is GetCommandInput;
20
+ }
21
+ export declare const createGetCommand: () => GetCommand;
22
+ export default GetCommand;
23
+ //# sourceMappingURL=get.d.ts.map
@@ -0,0 +1,25 @@
1
+ import type { TypedExecutionContext } from '../../types/base-types';
2
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
3
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
4
+ import { type NumericTargetRawInput, type NumericTargetInput } from '../helpers/numeric-target-parser';
5
+ export type NumericOperation = 'increment' | 'decrement';
6
+ export interface NumericModifyInput extends NumericTargetInput {
7
+ operation: NumericOperation;
8
+ }
9
+ export type { NumericTargetInput as IncrementCommandInput };
10
+ export type { NumericTargetInput as DecrementCommandInput };
11
+ export declare class NumericModifyCommand implements DecoratedCommand {
12
+ readonly name: string;
13
+ readonly metadata: CommandMetadata;
14
+ parseInput(raw: NumericTargetRawInput & {
15
+ commandName?: string;
16
+ }, evaluator: ExpressionEvaluator, context: TypedExecutionContext): Promise<NumericModifyInput>;
17
+ execute(input: NumericModifyInput, context: TypedExecutionContext): Promise<number>;
18
+ }
19
+ export { NumericModifyCommand as IncrementCommand };
20
+ export { NumericModifyCommand as DecrementCommand };
21
+ export declare const createNumericModifyCommand: () => NumericModifyCommand;
22
+ export declare const createIncrementCommand: () => NumericModifyCommand;
23
+ export declare const createDecrementCommand: () => NumericModifyCommand;
24
+ export default NumericModifyCommand;
25
+ //# sourceMappingURL=increment.d.ts.map
@@ -0,0 +1,56 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types.ts';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator.ts';
4
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
5
+ export type SetCommandInput = {
6
+ type: 'variable';
7
+ name: string;
8
+ value: unknown;
9
+ } | {
10
+ type: 'attribute';
11
+ element: HTMLElement;
12
+ name: string;
13
+ value: unknown;
14
+ } | {
15
+ type: 'property';
16
+ element: HTMLElement;
17
+ property: string;
18
+ value: unknown;
19
+ } | {
20
+ type: 'style';
21
+ element: HTMLElement;
22
+ property: string;
23
+ value: string;
24
+ } | {
25
+ type: 'object-literal';
26
+ properties: Record<string, unknown>;
27
+ targets: HTMLElement[];
28
+ } | {
29
+ type: 'member-assignment';
30
+ container: Record<string, unknown>;
31
+ property: string;
32
+ value: unknown;
33
+ };
34
+ export interface SetCommandOutput {
35
+ target: string | HTMLElement;
36
+ value: unknown;
37
+ targetType: 'variable' | 'attribute' | 'property';
38
+ }
39
+ export declare class SetCommand implements DecoratedCommand {
40
+ readonly name: string;
41
+ readonly metadata: CommandMetadata;
42
+ parseInput(raw: {
43
+ args: ASTNode[];
44
+ modifiers: Record<string, ExpressionNode>;
45
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<SetCommandInput>;
46
+ execute(input: SetCommandInput, context: TypedExecutionContext): Promise<SetCommandOutput>;
47
+ private tryParseMemberExpression;
48
+ private extractValue;
49
+ private resolveElement;
50
+ private resolveTargets;
51
+ private parseTheXofY;
52
+ validate(input: unknown): input is SetCommandInput;
53
+ }
54
+ export declare const createSetCommand: () => SetCommand;
55
+ export default SetCommand;
56
+ //# sourceMappingURL=set.d.ts.map
@@ -0,0 +1,30 @@
1
+ import type { CommandMetadata, CommandCategory, CommandSideEffect } from '../../types/command-metadata';
2
+ export interface CommandConfig {
3
+ name: string;
4
+ category: CommandCategory;
5
+ }
6
+ export interface MetaConfig {
7
+ description: string;
8
+ syntax: string | readonly string[];
9
+ examples: readonly string[];
10
+ sideEffects?: readonly CommandSideEffect[];
11
+ deprecated?: boolean;
12
+ deprecationMessage?: string;
13
+ aliases?: readonly string[];
14
+ relatedCommands?: readonly string[];
15
+ isBlocking?: boolean;
16
+ hasBody?: boolean;
17
+ compatibility?: 'standard' | 'lokascript-extension' | 'experimental';
18
+ }
19
+ export interface DecoratedCommand {
20
+ readonly name: string;
21
+ readonly metadata: CommandMetadata;
22
+ }
23
+ export declare function command(config: CommandConfig): <T extends new (...args: unknown[]) => object>(target: T, context: ClassDecoratorContext) => T | void;
24
+ export declare function meta(config: MetaConfig): <T extends new (...args: unknown[]) => object>(target: T, context: ClassDecoratorContext) => T | void;
25
+ export declare function getCommandName<T extends new (...args: unknown[]) => object>(target: T): string | undefined;
26
+ export declare function getCommandCategory<T extends new (...args: unknown[]) => object>(target: T): CommandCategory | undefined;
27
+ export declare function getCommandMetadata<T extends new (...args: unknown[]) => object>(target: T): CommandMetadata | undefined;
28
+ export declare function createFactory<T extends new () => object>(CommandClass: T): () => InstanceType<T>;
29
+ export type { CommandMetadata, CommandCategory, CommandSideEffect };
30
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { AddCommandInput } from '../add';
2
+ export declare function isClassesInput(input: AddCommandInput): input is Extract<AddCommandInput, {
3
+ type: 'classes';
4
+ }>;
5
+ export declare function isAttributeInput(input: AddCommandInput): input is Extract<AddCommandInput, {
6
+ type: 'attribute';
7
+ }>;
8
+ export declare function isStylesInput(input: AddCommandInput): input is Extract<AddCommandInput, {
9
+ type: 'styles';
10
+ }>;
11
+ //# sourceMappingURL=add-standalone-helpers.d.ts.map
@@ -0,0 +1,31 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { DOMModificationBase } from './dom-modification-base';
5
+ export type AddCommandInput = {
6
+ type: 'classes';
7
+ classes: string[];
8
+ targets: HTMLElement[];
9
+ } | {
10
+ type: 'attribute';
11
+ name: string;
12
+ value: string;
13
+ targets: HTMLElement[];
14
+ } | {
15
+ type: 'styles';
16
+ styles: Record<string, string>;
17
+ targets: HTMLElement[];
18
+ };
19
+ export declare class AddCommand extends DOMModificationBase {
20
+ protected readonly mode: "add";
21
+ protected readonly preposition = "to";
22
+ parseInput(raw: {
23
+ args: ASTNode[];
24
+ modifiers: Record<string, ExpressionNode>;
25
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<AddCommandInput>;
26
+ execute(input: AddCommandInput, context: TypedExecutionContext): Promise<void>;
27
+ validate(input: unknown): input is AddCommandInput;
28
+ }
29
+ export declare const createAddCommand: () => AddCommand;
30
+ export default AddCommand;
31
+ //# sourceMappingURL=add.d.ts.map
@@ -0,0 +1,48 @@
1
+ import type { ExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import type { DecoratedCommand, CommandMetadata } from '../decorators';
5
+ export type DOMModificationMode = 'add' | 'remove';
6
+ export type ClassModificationInput = {
7
+ type: 'classes';
8
+ classes: string[];
9
+ targets: HTMLElement[];
10
+ };
11
+ export type AttributeModificationInput = {
12
+ type: 'attribute';
13
+ name: string;
14
+ value?: string;
15
+ targets: HTMLElement[];
16
+ };
17
+ export type StyleModificationInput = {
18
+ type: 'styles';
19
+ styles?: Record<string, string>;
20
+ properties?: string[];
21
+ targets: HTMLElement[];
22
+ };
23
+ export type ElementRemovalInput = {
24
+ type: 'element';
25
+ targets: HTMLElement[];
26
+ };
27
+ export interface RawCommandInput {
28
+ args: ASTNode[];
29
+ modifiers: Record<string, ExpressionNode>;
30
+ commandName?: string;
31
+ }
32
+ export declare abstract class DOMModificationBase implements DecoratedCommand {
33
+ readonly name: string;
34
+ readonly metadata: CommandMetadata;
35
+ protected abstract readonly mode: DOMModificationMode;
36
+ protected abstract readonly preposition: string;
37
+ protected resolveTargets(args: ASTNode[], evaluator: ExpressionEvaluator, context: ExecutionContext, modifiers: Record<string, ExpressionNode>): Promise<HTMLElement[]>;
38
+ protected evaluateFirst(arg: ASTNode, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<{
39
+ value: unknown;
40
+ }>;
41
+ protected parseClassNames(value: unknown): string[];
42
+ protected isAttribute(value: string): boolean;
43
+ protected isCSSProperty(value: string): boolean;
44
+ protected validateTargets(targets: unknown): targets is HTMLElement[];
45
+ protected validateType<T extends string>(type: unknown, validTypes: readonly T[]): type is T;
46
+ protected validateStringArray(arr: unknown, minLength?: number): arr is string[];
47
+ }
48
+ //# sourceMappingURL=dom-modification-base.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { TypedExecutionContext } from '../../types/core';
2
+ import { VisibilityCommandBase, type VisibilityCommandInput } from './visibility-base';
3
+ import type { VisibilityInput } from '../helpers/visibility-target-parser';
4
+ export type HideCommandInput = VisibilityInput;
5
+ export declare class HideCommand extends VisibilityCommandBase {
6
+ protected readonly mode: "hide";
7
+ execute(input: VisibilityCommandInput, _context: TypedExecutionContext): Promise<void>;
8
+ validate(input: unknown): input is VisibilityCommandInput;
9
+ }
10
+ export declare const createHideCommand: () => HideCommand;
11
+ export default HideCommand;
12
+ //# sourceMappingURL=hide.d.ts.map
@@ -0,0 +1,21 @@
1
+ import type { ASTNode, TypedExecutionContext } from '../../types/base-types';
2
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
3
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
4
+ export interface MakeCommandInput {
5
+ article: 'a' | 'an';
6
+ expression: string | HTMLElement;
7
+ constructorArgs?: unknown[];
8
+ variableName?: string;
9
+ }
10
+ export declare class MakeCommand implements DecoratedCommand {
11
+ readonly name: string;
12
+ readonly metadata: CommandMetadata;
13
+ parseInput(raw: {
14
+ args: ASTNode[];
15
+ modifiers: Record<string, ASTNode>;
16
+ }, evaluator: ExpressionEvaluator, context: TypedExecutionContext): Promise<MakeCommandInput>;
17
+ execute(input: MakeCommandInput, context: TypedExecutionContext): Promise<unknown>;
18
+ }
19
+ export declare const createMakeCommand: () => MakeCommand;
20
+ export default MakeCommand;
21
+ //# sourceMappingURL=make.d.ts.map
@@ -0,0 +1,39 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type MorphOptions } from '../../lib/morph-adapter';
5
+ import type { SwapStrategy } from './swap';
6
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
7
+ import type { PartialValidationResult } from '../../validation/partial-validation-types';
8
+ export interface ParsedPartial {
9
+ target: string;
10
+ strategy: SwapStrategy;
11
+ content: string;
12
+ }
13
+ export interface ProcessPartialsCommandInput {
14
+ html: string;
15
+ useViewTransition?: boolean;
16
+ morphOptions?: MorphOptions;
17
+ }
18
+ export interface ProcessPartialsResult {
19
+ count: number;
20
+ targets: string[];
21
+ errors: string[];
22
+ validationWarnings: string[];
23
+ validationDetails?: Record<string, PartialValidationResult>;
24
+ }
25
+ export declare function extractPartials(html: string): ParsedPartial[];
26
+ export declare function processPartials(html: string, morphOptions?: MorphOptions): ProcessPartialsResult;
27
+ export declare class ProcessPartialsCommand implements DecoratedCommand {
28
+ readonly name: string;
29
+ readonly metadata: CommandMetadata;
30
+ parseInput(raw: {
31
+ args: ASTNode[];
32
+ modifiers: Record<string, ExpressionNode>;
33
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<ProcessPartialsCommandInput>;
34
+ execute(input: ProcessPartialsCommandInput, context: TypedExecutionContext): Promise<ProcessPartialsResult>;
35
+ }
36
+ export declare const createProcessPartialsCommand: () => ProcessPartialsCommand;
37
+ export declare const processPartialsCommand: ProcessPartialsCommand;
38
+ export default ProcessPartialsCommand;
39
+ //# sourceMappingURL=process-partials.d.ts.map
@@ -0,0 +1,31 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
5
+ export type InsertPosition = 'replace' | 'beforeend' | 'afterend' | 'beforebegin' | 'afterbegin';
6
+ export interface PutCommandInput {
7
+ value: any;
8
+ targets: HTMLElement[];
9
+ position: InsertPosition;
10
+ memberPath?: string;
11
+ variableName?: string;
12
+ }
13
+ export declare class PutCommand implements DecoratedCommand {
14
+ readonly name: string;
15
+ readonly metadata: CommandMetadata;
16
+ parseInput(raw: {
17
+ args: ASTNode[];
18
+ modifiers: Record<string, ExpressionNode>;
19
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<PutCommandInput>;
20
+ execute(input: PutCommandInput, context: TypedExecutionContext): Promise<HTMLElement[]>;
21
+ private mapPosition;
22
+ private resolveTargets;
23
+ private parseValue;
24
+ private insertContent;
25
+ private resolveEvaluatedAsElements;
26
+ private looksLikeCss;
27
+ private setProperty;
28
+ }
29
+ export declare const createPutCommand: () => PutCommand;
30
+ export default PutCommand;
31
+ //# sourceMappingURL=put.d.ts.map
@@ -0,0 +1,33 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { DOMModificationBase } from './dom-modification-base';
5
+ export type RemoveCommandInput = {
6
+ type: 'classes';
7
+ classes: string[];
8
+ targets: HTMLElement[];
9
+ } | {
10
+ type: 'attribute';
11
+ name: string;
12
+ targets: HTMLElement[];
13
+ } | {
14
+ type: 'styles';
15
+ properties: string[];
16
+ targets: HTMLElement[];
17
+ } | {
18
+ type: 'element';
19
+ targets: HTMLElement[];
20
+ };
21
+ export declare class RemoveCommand extends DOMModificationBase {
22
+ protected readonly mode: "remove";
23
+ protected readonly preposition = "from";
24
+ parseInput(raw: {
25
+ args: ASTNode[];
26
+ modifiers: Record<string, ExpressionNode>;
27
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<RemoveCommandInput>;
28
+ execute(input: RemoveCommandInput, context: TypedExecutionContext): void;
29
+ validate(input: unknown): input is RemoveCommandInput;
30
+ }
31
+ export declare const createRemoveCommand: () => RemoveCommand;
32
+ export default RemoveCommand;
33
+ //# sourceMappingURL=remove.d.ts.map
@@ -0,0 +1,13 @@
1
+ import type { TypedExecutionContext } from '../../types/core';
2
+ import { VisibilityCommandBase, type VisibilityCommandInput } from './visibility-base';
3
+ export interface ShowCommandInput extends VisibilityCommandInput {
4
+ defaultDisplay: string;
5
+ }
6
+ export declare class ShowCommand extends VisibilityCommandBase {
7
+ protected readonly mode: "show";
8
+ execute(input: VisibilityCommandInput, _context: TypedExecutionContext): Promise<void>;
9
+ validate(input: unknown): input is VisibilityCommandInput;
10
+ }
11
+ export declare const createShowCommand: () => ShowCommand;
12
+ export default ShowCommand;
13
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1,38 @@
1
+ import type { ExecutionContext, TypedExecutionContext, ASTNode } from '../../types/core';
2
+ import type { ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type SwapStrategy } from '../../lib/swap-executor';
5
+ import type { MorphOptions } from '../../lib/morph-adapter';
6
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
7
+ export type { SwapStrategy } from '../../lib/swap-executor';
8
+ export interface SwapCommandInput {
9
+ targets: HTMLElement[];
10
+ content: string | HTMLElement | null;
11
+ strategy: SwapStrategy;
12
+ morphOptions?: MorphOptions;
13
+ useViewTransition?: boolean;
14
+ }
15
+ export declare class SwapCommand implements DecoratedCommand {
16
+ readonly name: string;
17
+ readonly metadata: CommandMetadata;
18
+ parseInput(raw: {
19
+ args: ASTNode[];
20
+ modifiers: Record<string, ExpressionNode>;
21
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<SwapCommandInput>;
22
+ execute(input: SwapCommandInput, _context: TypedExecutionContext): Promise<void>;
23
+ }
24
+ export declare class MorphCommand implements DecoratedCommand {
25
+ readonly name: string;
26
+ readonly metadata: CommandMetadata;
27
+ parseInput(raw: {
28
+ args: ASTNode[];
29
+ modifiers: Record<string, ExpressionNode>;
30
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<SwapCommandInput>;
31
+ execute(input: SwapCommandInput, _context: TypedExecutionContext): Promise<void>;
32
+ }
33
+ export declare const createSwapCommand: () => SwapCommand;
34
+ export declare const createMorphCommand: () => MorphCommand;
35
+ export declare const swapCommand: SwapCommand;
36
+ export declare const morphCommand: MorphCommand;
37
+ export default SwapCommand;
38
+ //# sourceMappingURL=swap.d.ts.map
@@ -0,0 +1,55 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type PropertyTarget } from '../helpers/property-target';
5
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
6
+ export type ToggleCommandInput = {
7
+ type: 'classes';
8
+ classes: string[];
9
+ targets: HTMLElement[];
10
+ duration?: number;
11
+ untilEvent?: string;
12
+ } | {
13
+ type: 'attribute';
14
+ name: string;
15
+ value?: string;
16
+ targets: HTMLElement[];
17
+ duration?: number;
18
+ untilEvent?: string;
19
+ } | {
20
+ type: 'css-property';
21
+ property: 'display' | 'visibility' | 'opacity';
22
+ targets: HTMLElement[];
23
+ } | {
24
+ type: 'property';
25
+ target: PropertyTarget;
26
+ } | {
27
+ type: 'dialog';
28
+ mode: 'modal' | 'non-modal';
29
+ targets: HTMLDialogElement[];
30
+ } | {
31
+ type: 'details';
32
+ targets: HTMLDetailsElement[];
33
+ } | {
34
+ type: 'select';
35
+ targets: HTMLSelectElement[];
36
+ } | {
37
+ type: 'classes-between';
38
+ classA: string;
39
+ classB: string;
40
+ targets: HTMLElement[];
41
+ duration?: number;
42
+ untilEvent?: string;
43
+ };
44
+ export declare class ToggleCommand implements DecoratedCommand {
45
+ readonly name: string;
46
+ readonly metadata: CommandMetadata;
47
+ parseInput(raw: {
48
+ args: ASTNode[];
49
+ modifiers: Record<string, ExpressionNode>;
50
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<ToggleCommandInput>;
51
+ execute(input: ToggleCommandInput, context: TypedExecutionContext): Promise<HTMLElement[]>;
52
+ }
53
+ export declare const createToggleCommand: () => ToggleCommand;
54
+ export default ToggleCommand;
55
+ //# sourceMappingURL=toggle.d.ts.map
@@ -0,0 +1,20 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
3
+ import type { DecoratedCommand, CommandMetadata } from '../decorators';
4
+ import { type VisibilityRawInput, type VisibilityInput } from '../helpers/visibility-target-parser';
5
+ export type VisibilityMode = 'show' | 'hide';
6
+ export interface VisibilityCommandInput extends VisibilityInput {
7
+ mode: VisibilityMode;
8
+ defaultDisplay?: string;
9
+ }
10
+ export declare abstract class VisibilityCommandBase implements DecoratedCommand {
11
+ readonly name: string;
12
+ readonly metadata: CommandMetadata;
13
+ protected abstract readonly mode: VisibilityMode;
14
+ parseInput(raw: VisibilityRawInput, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<VisibilityCommandInput>;
15
+ abstract execute(input: VisibilityCommandInput, context: TypedExecutionContext): Promise<void>;
16
+ validate(input: unknown): input is VisibilityCommandInput;
17
+ protected showElement(element: HTMLElement, defaultDisplay?: string): void;
18
+ protected hideElement(element: HTMLElement): void;
19
+ }
20
+ //# sourceMappingURL=visibility-base.d.ts.map
@@ -0,0 +1,3 @@
1
+ export { EventDispatchCommand as SendCommand, createSendCommand, type SendCommandInput, type EventOptions, } from './trigger';
2
+ export { EventDispatchCommand as default } from './trigger';
3
+ //# sourceMappingURL=send.d.ts.map
@@ -0,0 +1,36 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import type { EventOptions } from '../helpers/event-helpers';
5
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
6
+ export type { EventOptions } from '../helpers/event-helpers';
7
+ export type EventDispatchMode = 'trigger' | 'send';
8
+ export interface EventDispatchInput {
9
+ eventName: string;
10
+ detail?: any;
11
+ targets: EventTarget[];
12
+ options: EventOptions;
13
+ mode: EventDispatchMode;
14
+ }
15
+ export type TriggerCommandInput = Omit<EventDispatchInput, 'mode'>;
16
+ export type SendCommandInput = Omit<EventDispatchInput, 'mode'>;
17
+ export declare class EventDispatchCommand implements DecoratedCommand {
18
+ readonly name: string;
19
+ readonly metadata: CommandMetadata;
20
+ parseInput(raw: {
21
+ args: ASTNode[];
22
+ modifiers: Record<string, ExpressionNode>;
23
+ commandName?: string;
24
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<EventDispatchInput>;
25
+ execute(input: EventDispatchInput, context: TypedExecutionContext): Promise<void>;
26
+ private resolveTargets;
27
+ private parseEventDetail;
28
+ private parseEventOptions;
29
+ }
30
+ export { EventDispatchCommand as TriggerCommand };
31
+ export { EventDispatchCommand as SendCommand };
32
+ export declare const createEventDispatchCommand: () => EventDispatchCommand;
33
+ export declare const createTriggerCommand: () => EventDispatchCommand;
34
+ export declare const createSendCommand: () => EventDispatchCommand;
35
+ export default EventDispatchCommand;
36
+ //# sourceMappingURL=trigger.d.ts.map
@@ -0,0 +1,24 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ import { type DecoratedCommand, type CommandMetadata } from '../decorators';
5
+ export interface CallCommandInput {
6
+ expression: any;
7
+ }
8
+ export interface CallCommandOutput {
9
+ result: any;
10
+ wasAsync: boolean;
11
+ expressionType: 'function' | 'promise' | 'value';
12
+ }
13
+ export declare class CallCommand implements DecoratedCommand {
14
+ readonly name: string;
15
+ readonly metadata: CommandMetadata;
16
+ parseInput(raw: {
17
+ args: ASTNode[];
18
+ modifiers: Record<string, ExpressionNode>;
19
+ }, _evaluator: ExpressionEvaluator, _context: ExecutionContext): Promise<CallCommandInput>;
20
+ execute(input: CallCommandInput, context: TypedExecutionContext): Promise<CallCommandOutput>;
21
+ }
22
+ export declare const createCallCommand: () => CallCommand;
23
+ export default CallCommand;
24
+ //# sourceMappingURL=call.d.ts.map
@@ -0,0 +1,42 @@
1
+ import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
2
+ import type { ASTNode, ExpressionNode } from '../../types/base-types';
3
+ import type { ExpressionEvaluator } from '../../core/expression-evaluator';
4
+ export interface PseudoCommandInput {
5
+ methodName: string;
6
+ methodArgs: unknown[];
7
+ preposition?: 'from' | 'on' | 'with' | 'into' | 'at' | 'to';
8
+ targetExpression: unknown;
9
+ }
10
+ export interface PseudoCommandOutput {
11
+ result: unknown;
12
+ methodName: string;
13
+ target: unknown;
14
+ }
15
+ export declare class PseudoCommand {
16
+ readonly name = "pseudo-command";
17
+ static readonly metadata: {
18
+ readonly description: "Treat a method on an object as a top-level command";
19
+ readonly syntax: readonly ["<method>(<args>) [(to|on|with|into|from|at)] <expression>"];
20
+ readonly examples: readonly ["getElementById(\"d1\") from the document", "reload() the location of the window", "setAttribute(\"foo\", \"bar\") on me", "foo() on me"];
21
+ readonly category: "execution";
22
+ readonly sideEffects: readonly ["method-execution"];
23
+ };
24
+ get metadata(): {
25
+ readonly description: "Treat a method on an object as a top-level command";
26
+ readonly syntax: readonly ["<method>(<args>) [(to|on|with|into|from|at)] <expression>"];
27
+ readonly examples: readonly ["getElementById(\"d1\") from the document", "reload() the location of the window", "setAttribute(\"foo\", \"bar\") on me", "foo() on me"];
28
+ readonly category: "execution";
29
+ readonly sideEffects: readonly ["method-execution"];
30
+ };
31
+ parseInput(raw: {
32
+ args: ASTNode[];
33
+ modifiers: Record<string, ExpressionNode>;
34
+ }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<PseudoCommandInput>;
35
+ execute(input: PseudoCommandInput, context: TypedExecutionContext): Promise<PseudoCommandOutput>;
36
+ private resolveTarget;
37
+ private resolvePropertyPath;
38
+ private resolveMethod;
39
+ private executeMethod;
40
+ }
41
+ export declare function createPseudoCommand(): PseudoCommand;
42
+ //# sourceMappingURL=pseudo-command.d.ts.map