@sealcode/sealgen 0.8.42 → 0.8.44

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 (268) hide show
  1. package/.eslintrc.js +1 -1
  2. package/.mocharc.js +10 -0
  3. package/.nyc_output/00b15432-2e8d-4b16-9dd6-7e23314363c9.json +1 -0
  4. package/.nyc_output/0190dc00-d309-48d0-a5db-e9484e3c7334.json +1 -0
  5. package/.nyc_output/04bfea78-9274-4d35-b7e4-d0bf42636911.json +1 -0
  6. package/.nyc_output/0d4efe84-14e0-4bf0-bf22-b95472fe2be4.json +1 -0
  7. package/.nyc_output/1faea508-9cb4-46f4-b7ad-94a816e1ee7d.json +1 -0
  8. package/.nyc_output/2b2df469-dc31-48c9-ab34-68a74266e2c2.json +1 -0
  9. package/.nyc_output/32b5e63b-c8f8-4d9d-a09b-d97656c0e3f6.json +1 -0
  10. package/.nyc_output/442ce939-4f43-496b-a8a9-2f1fb9cfa619.json +1 -0
  11. package/.nyc_output/4573bb03-90d4-4408-ba15-b6835c618b33.json +1 -0
  12. package/.nyc_output/468fbd9c-6a27-4e33-8423-dbaec01e62a9.json +1 -0
  13. package/.nyc_output/51894388-b88d-4f0b-8d5b-4a1dd71cf668.json +1 -0
  14. package/.nyc_output/56263b22-3ed5-4ce2-9bbb-f2c9575cdeee.json +1 -0
  15. package/.nyc_output/6934a9dd-6431-48aa-93f1-4eeef0095773.json +1 -0
  16. package/.nyc_output/70979008-f285-481b-bb09-ca48a1376f81.json +1 -0
  17. package/.nyc_output/817c9485-a0ef-486d-8dee-906456fe77fb.json +1 -0
  18. package/.nyc_output/9f725153-f783-4948-81d3-c4cc792738bf.json +1 -0
  19. package/.nyc_output/cd4d852c-f8fc-4cb1-807b-7d053a0ef8fc.json +1 -0
  20. package/.nyc_output/ec3011f0-8180-492e-8d85-4d92484ccb44.json +1 -0
  21. package/.nyc_output/f78b831a-65ca-497d-9f9e-001a3efa6f54.json +1 -0
  22. package/.nyc_output/processinfo/00b15432-2e8d-4b16-9dd6-7e23314363c9.json +1 -0
  23. package/.nyc_output/processinfo/0190dc00-d309-48d0-a5db-e9484e3c7334.json +1 -0
  24. package/.nyc_output/processinfo/04bfea78-9274-4d35-b7e4-d0bf42636911.json +1 -0
  25. package/.nyc_output/processinfo/0d4efe84-14e0-4bf0-bf22-b95472fe2be4.json +1 -0
  26. package/.nyc_output/processinfo/1faea508-9cb4-46f4-b7ad-94a816e1ee7d.json +1 -0
  27. package/.nyc_output/processinfo/2b2df469-dc31-48c9-ab34-68a74266e2c2.json +1 -0
  28. package/.nyc_output/processinfo/32b5e63b-c8f8-4d9d-a09b-d97656c0e3f6.json +1 -0
  29. package/.nyc_output/processinfo/442ce939-4f43-496b-a8a9-2f1fb9cfa619.json +1 -0
  30. package/.nyc_output/processinfo/4573bb03-90d4-4408-ba15-b6835c618b33.json +1 -0
  31. package/.nyc_output/processinfo/468fbd9c-6a27-4e33-8423-dbaec01e62a9.json +1 -0
  32. package/.nyc_output/processinfo/51894388-b88d-4f0b-8d5b-4a1dd71cf668.json +1 -0
  33. package/.nyc_output/processinfo/56263b22-3ed5-4ce2-9bbb-f2c9575cdeee.json +1 -0
  34. package/.nyc_output/processinfo/6934a9dd-6431-48aa-93f1-4eeef0095773.json +1 -0
  35. package/.nyc_output/processinfo/70979008-f285-481b-bb09-ca48a1376f81.json +1 -0
  36. package/.nyc_output/processinfo/817c9485-a0ef-486d-8dee-906456fe77fb.json +1 -0
  37. package/.nyc_output/processinfo/9f725153-f783-4948-81d3-c4cc792738bf.json +1 -0
  38. package/.nyc_output/processinfo/cd4d852c-f8fc-4cb1-807b-7d053a0ef8fc.json +1 -0
  39. package/.nyc_output/processinfo/ec3011f0-8180-492e-8d85-4d92484ccb44.json +1 -0
  40. package/.nyc_output/processinfo/f78b831a-65ca-497d-9f9e-001a3efa6f54.json +1 -0
  41. package/.nyc_output/processinfo/index.json +1 -1
  42. package/.nycrc +6 -0
  43. package/.prettierrc +20 -13
  44. package/.xunit +45 -1
  45. package/@types/add-route.d.ts +3 -1
  46. package/@types/add-route.test.d.ts +1 -0
  47. package/@types/build.d.ts +3 -1
  48. package/@types/example.test.d.ts +0 -0
  49. package/@types/forms/fields/boolean.test.d.ts +1 -0
  50. package/@types/forms/fields/email.test.d.ts +1 -0
  51. package/@types/forms/fields/enum-multiple.test.d.ts +1 -0
  52. package/@types/forms/fields/enum.test.d.ts +1 -0
  53. package/@types/forms/fields/number.test.d.ts +1 -0
  54. package/@types/forms/fields/pick-from-list.test.d.ts +1 -0
  55. package/@types/forms/fields/regexp.test.d.ts +1 -0
  56. package/@types/forms/form.test.d.ts +6 -0
  57. package/@types/forms/multiform.test.d.ts +1 -0
  58. package/@types/mount.d.ts +1 -1
  59. package/@types/page/mountable-with-fields.d.ts +1 -1
  60. package/@types/test_utils/locator_is_visible.d.ts +2 -0
  61. package/@types/utils/assert-throws.d.ts +1 -0
  62. package/@types/utils/browser-creator.d.ts +1 -0
  63. package/@types/utils/utils.d.ts +1 -0
  64. package/coverage/clover.xml +2208 -47
  65. package/coverage/lcov-report/base.css +224 -0
  66. package/coverage/lcov-report/block-navigation.js +79 -0
  67. package/coverage/lcov-report/favicon.png +0 -0
  68. package/coverage/lcov-report/index.html +231 -0
  69. package/coverage/lcov-report/prettify.css +1 -0
  70. package/coverage/lcov-report/prettify.js +2 -0
  71. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  72. package/coverage/lcov-report/sorter.js +170 -0
  73. package/coverage/lcov-report/src/add-collection.ts.html +173 -0
  74. package/coverage/lcov-report/src/add-route.test.ts.html +254 -0
  75. package/coverage/lcov-report/src/add-route.ts.html +338 -0
  76. package/coverage/lcov-report/src/build.ts.html +359 -0
  77. package/coverage/lcov-report/src/cli.ts.html +188 -0
  78. package/coverage/lcov-report/src/components/components.ts.html +86 -0
  79. package/coverage/lcov-report/src/components/index.html +141 -0
  80. package/coverage/lcov-report/src/components/tabs.ts.html +365 -0
  81. package/coverage/lcov-report/src/components/toggle-modal.ts.html +236 -0
  82. package/coverage/lcov-report/src/example.test.ts.html +89 -0
  83. package/coverage/lcov-report/src/find-scss-includes.ts.html +176 -0
  84. package/coverage/lcov-report/src/forms/controls/array.ts.html +758 -0
  85. package/coverage/lcov-report/src/forms/controls/autocomplete.ts.html +179 -0
  86. package/coverage/lcov-report/src/forms/controls/big-radio-group.ts.html +224 -0
  87. package/coverage/lcov-report/src/forms/controls/checkbox-group.ts.html +293 -0
  88. package/coverage/lcov-report/src/forms/controls/checkbox.ts.html +182 -0
  89. package/coverage/lcov-report/src/forms/controls/checkboxed-list-input.ts.html +230 -0
  90. package/coverage/lcov-report/src/forms/controls/collapsible-checkbox-group.ts.html +164 -0
  91. package/coverage/lcov-report/src/forms/controls/collapsible-field-group.ts.html +362 -0
  92. package/coverage/lcov-report/src/forms/controls/controls.ts.html +170 -0
  93. package/coverage/lcov-report/src/forms/controls/derived-frame.ts.html +353 -0
  94. package/coverage/lcov-report/src/forms/controls/derived.ts.html +404 -0
  95. package/coverage/lcov-report/src/forms/controls/dropdown.ts.html +341 -0
  96. package/coverage/lcov-report/src/forms/controls/editable-collection-subset.ts.html +371 -0
  97. package/coverage/lcov-report/src/forms/controls/field-group.ts.html +287 -0
  98. package/coverage/lcov-report/src/forms/controls/file.ts.html +221 -0
  99. package/coverage/lcov-report/src/forms/controls/form-control.ts.html +152 -0
  100. package/coverage/lcov-report/src/forms/controls/form-field-control.ts.html +146 -0
  101. package/coverage/lcov-report/src/forms/controls/form-header.ts.html +137 -0
  102. package/coverage/lcov-report/src/forms/controls/form-paragraph.ts.html +113 -0
  103. package/coverage/lcov-report/src/forms/controls/frame.ts.html +158 -0
  104. package/coverage/lcov-report/src/forms/controls/hidden-input.ts.html +146 -0
  105. package/coverage/lcov-report/src/forms/controls/html.ts.html +194 -0
  106. package/coverage/lcov-report/src/forms/controls/index.html +561 -0
  107. package/coverage/lcov-report/src/forms/controls/multiple-files.ts.html +848 -0
  108. package/coverage/lcov-report/src/forms/controls/multiple-photos.ts.html +212 -0
  109. package/coverage/lcov-report/src/forms/controls/number.ts.html +194 -0
  110. package/coverage/lcov-report/src/forms/controls/photo.ts.html +302 -0
  111. package/coverage/lcov-report/src/forms/controls/radio.ts.html +209 -0
  112. package/coverage/lcov-report/src/forms/controls/reverse-single-reference.ts.html +230 -0
  113. package/coverage/lcov-report/src/forms/controls/simple-input.ts.html +524 -0
  114. package/coverage/lcov-report/src/forms/controls/textarea.ts.html +260 -0
  115. package/coverage/lcov-report/src/forms/controls/tickable.ts.html +461 -0
  116. package/coverage/lcov-report/src/forms/fields/boolean.test.ts.html +188 -0
  117. package/coverage/lcov-report/src/forms/fields/boolean.ts.html +269 -0
  118. package/coverage/lcov-report/src/forms/fields/checkboxed-list.ts.html +278 -0
  119. package/coverage/lcov-report/src/forms/fields/collection-field.ts.html +266 -0
  120. package/coverage/lcov-report/src/forms/fields/email.test.ts.html +152 -0
  121. package/coverage/lcov-report/src/forms/fields/email.ts.html +140 -0
  122. package/coverage/lcov-report/src/forms/fields/enum-multiple.test.ts.html +173 -0
  123. package/coverage/lcov-report/src/forms/fields/enum-multiple.ts.html +266 -0
  124. package/coverage/lcov-report/src/forms/fields/enum.test.ts.html +155 -0
  125. package/coverage/lcov-report/src/forms/fields/enum.ts.html +248 -0
  126. package/coverage/lcov-report/src/forms/fields/existing-sealious-value.ts.html +146 -0
  127. package/coverage/lcov-report/src/forms/fields/field.ts.html +596 -0
  128. package/coverage/lcov-report/src/forms/fields/file.ts.html +347 -0
  129. package/coverage/lcov-report/src/forms/fields/index.html +456 -0
  130. package/coverage/lcov-report/src/forms/fields/multiple-files.ts.html +140 -0
  131. package/coverage/lcov-report/src/forms/fields/number.test.ts.html +182 -0
  132. package/coverage/lcov-report/src/forms/fields/number.ts.html +290 -0
  133. package/coverage/lcov-report/src/forms/fields/pick-from-list.test.ts.html +137 -0
  134. package/coverage/lcov-report/src/forms/fields/pick-from-list.ts.html +236 -0
  135. package/coverage/lcov-report/src/forms/fields/proxy-field.ts.html +152 -0
  136. package/coverage/lcov-report/src/forms/fields/regexp.test.ts.html +155 -0
  137. package/coverage/lcov-report/src/forms/fields/regexp.ts.html +239 -0
  138. package/coverage/lcov-report/src/forms/fields/reverse-single-reference.ts.html +140 -0
  139. package/coverage/lcov-report/src/forms/fields/simple-form-field.ts.html +170 -0
  140. package/coverage/lcov-report/src/forms/fields/structured-array.ts.html +161 -0
  141. package/coverage/lcov-report/src/forms/form.test.ts.html +1133 -0
  142. package/coverage/lcov-report/src/forms/form.ts.html +962 -0
  143. package/coverage/lcov-report/src/forms/index.html +156 -0
  144. package/coverage/lcov-report/src/forms/multiform.test.ts.html +1700 -0
  145. package/coverage/lcov-report/src/forms/multiform.ts.html +788 -0
  146. package/coverage/lcov-report/src/generate-collections.ts.html +311 -0
  147. package/coverage/lcov-report/src/generate-routes.ts.html +440 -0
  148. package/coverage/lcov-report/src/index.html +321 -0
  149. package/coverage/lcov-report/src/index.ts.html +152 -0
  150. package/coverage/lcov-report/src/make-env.ts.html +125 -0
  151. package/coverage/lcov-report/src/make-hidden-inputs.ts.html +152 -0
  152. package/coverage/lcov-report/src/mount.ts.html +335 -0
  153. package/coverage/lcov-report/src/page/access-control.ts.html +134 -0
  154. package/coverage/lcov-report/src/page/index.html +186 -0
  155. package/coverage/lcov-report/src/page/list.ts.html +800 -0
  156. package/coverage/lcov-report/src/page/mountable-with-fields.ts.html +554 -0
  157. package/coverage/lcov-report/src/page/mountable.ts.html +119 -0
  158. package/coverage/lcov-report/src/page/page.ts.html +218 -0
  159. package/coverage/lcov-report/src/page/props-parser.ts.html +194 -0
  160. package/coverage/lcov-report/src/run.ts.html +80 -0
  161. package/coverage/lcov-report/src/sanitize.ts.html +107 -0
  162. package/coverage/lcov-report/src/templates/collection.ts.html +113 -0
  163. package/coverage/lcov-report/src/templates/form.ts.html +260 -0
  164. package/coverage/lcov-report/src/templates/index.html +216 -0
  165. package/coverage/lcov-report/src/templates/list.ts.html +305 -0
  166. package/coverage/lcov-report/src/templates/multiform.ts.html +254 -0
  167. package/coverage/lcov-report/src/templates/page.ts.html +155 -0
  168. package/coverage/lcov-report/src/templates/post.ts.html +143 -0
  169. package/coverage/lcov-report/src/templates/redirect.ts.html +146 -0
  170. package/coverage/lcov-report/src/templates/route-test.ts.html +161 -0
  171. package/coverage/lcov-report/src/test_utils/index.html +111 -0
  172. package/coverage/lcov-report/src/test_utils/locator_is_visible.ts.html +131 -0
  173. package/coverage/lcov-report/src/utils/assert-throws.ts.html +134 -0
  174. package/coverage/lcov-report/src/utils/browser-creator.js.html +110 -0
  175. package/coverage/lcov-report/src/utils/escape-url-params.ts.html +122 -0
  176. package/coverage/lcov-report/src/utils/exec.ts.html +170 -0
  177. package/coverage/lcov-report/src/utils/format-external-url.ts.html +119 -0
  178. package/coverage/lcov-report/src/utils/import-path.ts.html +155 -0
  179. package/coverage/lcov-report/src/utils/index.html +366 -0
  180. package/coverage/lcov-report/src/utils/input-wrapper.ts.html +143 -0
  181. package/coverage/lcov-report/src/utils/list-collections.ts.html +128 -0
  182. package/coverage/lcov-report/src/utils/make-slug.ts.html +95 -0
  183. package/coverage/lcov-report/src/utils/natural-numbers.ts.html +95 -0
  184. package/coverage/lcov-report/src/utils/prettier.ts.html +119 -0
  185. package/coverage/lcov-report/src/utils/question.ts.html +149 -0
  186. package/coverage/lcov-report/src/utils/render-attributes.ts.html +131 -0
  187. package/coverage/lcov-report/src/utils/sleep.ts.html +89 -0
  188. package/coverage/lcov-report/src/utils/translate.ts.html +119 -0
  189. package/coverage/lcov-report/src/utils/url-with-new-params.ts.html +107 -0
  190. package/coverage/lcov-report/src/utils/utils.ts.html +122 -0
  191. package/coverage/lcov-report/src/utils/walk.ts.html +140 -0
  192. package/coverage/lcov.info +4697 -0
  193. package/lib/add-route.js +31 -19
  194. package/lib/add-route.js.map +1 -1
  195. package/lib/add-route.test.js +55 -0
  196. package/lib/add-route.test.js.map +1 -0
  197. package/lib/build.js +3 -2
  198. package/lib/build.js.map +1 -1
  199. package/lib/cli.js +1 -1
  200. package/lib/cli.js.map +1 -1
  201. package/lib/example.test.js +4 -0
  202. package/lib/example.test.js.map +1 -0
  203. package/lib/forms/fields/boolean.test.js +37 -0
  204. package/lib/forms/fields/boolean.test.js.map +1 -0
  205. package/lib/forms/fields/email.test.js +25 -0
  206. package/lib/forms/fields/email.test.js.map +1 -0
  207. package/lib/forms/fields/enum-multiple.test.js +32 -0
  208. package/lib/forms/fields/enum-multiple.test.js.map +1 -0
  209. package/lib/forms/fields/enum.test.js +26 -0
  210. package/lib/forms/fields/enum.test.js.map +1 -0
  211. package/lib/forms/fields/number.js +0 -1
  212. package/lib/forms/fields/number.js.map +1 -1
  213. package/lib/forms/fields/number.test.js +35 -0
  214. package/lib/forms/fields/number.test.js.map +1 -0
  215. package/lib/forms/fields/pick-from-list.test.js +22 -0
  216. package/lib/forms/fields/pick-from-list.test.js.map +1 -0
  217. package/lib/forms/fields/regexp.test.js +26 -0
  218. package/lib/forms/fields/regexp.test.js.map +1 -0
  219. package/lib/forms/form.test.js +275 -0
  220. package/lib/forms/form.test.js.map +1 -0
  221. package/lib/forms/multiform.js +11 -2
  222. package/lib/forms/multiform.js.map +1 -1
  223. package/lib/forms/multiform.test.js +431 -0
  224. package/lib/forms/multiform.test.js.map +1 -0
  225. package/lib/mount.js +37 -2
  226. package/lib/mount.js.map +1 -1
  227. package/lib/test_utils/locator_is_visible.js +15 -0
  228. package/lib/test_utils/locator_is_visible.js.map +1 -0
  229. package/lib/utils/assert-throws.js +24 -0
  230. package/lib/utils/assert-throws.js.map +1 -0
  231. package/lib/utils/browser-creator.js +14 -0
  232. package/lib/utils/browser-creator.js.map +1 -0
  233. package/lib/utils/exec.js.map +1 -1
  234. package/lib/utils/question.js.map +1 -1
  235. package/lib/utils/utils.js +3 -1
  236. package/lib/utils/utils.js.map +1 -1
  237. package/mocha_root_hooks.js +6 -0
  238. package/package.json +18 -9
  239. package/src/add-route.test.ts +58 -0
  240. package/src/add-route.ts +37 -27
  241. package/src/build.ts +6 -3
  242. package/src/cli.ts +2 -2
  243. package/src/forms/fields/boolean.test.ts +36 -0
  244. package/src/forms/fields/email.test.ts +24 -0
  245. package/src/forms/fields/enum-multiple.test.ts +31 -0
  246. package/src/forms/fields/enum.test.ts +25 -0
  247. package/src/forms/fields/number.test.ts +34 -0
  248. package/src/forms/fields/number.ts +0 -1
  249. package/src/forms/fields/pick-from-list.test.ts +19 -0
  250. package/src/forms/fields/regexp.test.ts +25 -0
  251. package/src/forms/form.test.ts +351 -0
  252. package/src/forms/multiform.test.ts +540 -0
  253. package/src/forms/multiform.ts +12 -2
  254. package/src/mount.ts +42 -8
  255. package/src/page/mountable-with-fields.ts +1 -1
  256. package/src/test_utils/locator_is_visible.ts +17 -0
  257. package/src/utils/assert-throws.ts +18 -0
  258. package/src/utils/browser-creator.js +10 -0
  259. package/src/utils/exec.ts +8 -2
  260. package/src/utils/question.ts +4 -1
  261. package/src/utils/utils.ts +1 -0
  262. package/tsconfig.json +2 -2
  263. package/.nyc_output/1c5dff80-7861-427a-b1bb-d0686211f098.json +0 -1
  264. package/.nyc_output/a38a0d08-1f1f-4973-b5e2-efc434c1593d.json +0 -1
  265. package/.nyc_output/processinfo/1c5dff80-7861-427a-b1bb-d0686211f098.json +0 -1
  266. package/.nyc_output/processinfo/a38a0d08-1f1f-4973-b5e2-efc434c1593d.json +0 -1
  267. package/src/tests/manual/multiform.ts +0 -112
  268. package/test.js +0 -68
package/src/utils/exec.ts CHANGED
@@ -9,8 +9,14 @@ export async function exec(
9
9
  let stdout = "";
10
10
  let stderr = "";
11
11
  const process = spawn(program, args);
12
- process.stdout.on("data", (data: Buffer) => (stdout += data.toString()));
13
- process.stderr.on("data", (data: Buffer) => (stderr += data.toString()));
12
+ process.stdout.on(
13
+ "data",
14
+ (data: Buffer) => (stdout += data.toString())
15
+ );
16
+ process.stderr.on(
17
+ "data",
18
+ (data: Buffer) => (stderr += data.toString())
19
+ );
14
20
  process.on("close", (exitCode) => {
15
21
  if (exitCode === 0) {
16
22
  resolve({ stdout, stderr, exitCode });
@@ -1,6 +1,9 @@
1
1
  import { createInterface } from "readline";
2
2
 
3
- export async function question(text: string, validator: (answer: string) => boolean) {
3
+ export async function question(
4
+ text: string,
5
+ validator: (answer: string) => boolean
6
+ ) {
4
7
  const rl = createInterface({
5
8
  input: process.stdin,
6
9
  output: process.stdout,
@@ -8,6 +8,7 @@ export { exec } from "./exec";
8
8
  export { importPath, curryImportPath } from "./import-path";
9
9
  export { listCollections } from "./list-collections";
10
10
  export { walkDir } from "./walk";
11
+ export { assertThrowsAsync } from "./assert-throws";
11
12
  export * from "./make-slug";
12
13
  export * from "./render-attributes";
13
14
  export * from "./format-external-url";
package/tsconfig.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "esModuleInterop": true,
11
11
  "lib": ["ES6", "ESNext"],
12
12
  "outDir": "lib",
13
- "checkJs": true,
13
+ "checkJs": false,
14
14
  "allowJs": true,
15
15
  "declarationDir": "@types",
16
16
  "resolveJsonModule": true,
@@ -20,5 +20,5 @@
20
20
  "skipLibCheck": true
21
21
  },
22
22
  "include": ["src/**/*"],
23
- "exclude": ["src/**/*.test.ts", "node_modules/**"]
23
+ "exclude": ["node_modules/**, src/utils/browser-creator.js"]
24
24
  }
@@ -1 +0,0 @@
1
- {"/home/kuba/projects/sealcode/sealgen/src/example.test.ts":{"path":"/home/kuba/projects/sealcode/sealgen/src/example.test.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":3,"column":3}},"1":{"start":{"line":2,"column":4},"end":{"line":2,"column":32}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":23},"end":{"line":1,"column":24}},"loc":{"start":{"line":1,"column":29},"end":{"line":3,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":21},"end":{"line":2,"column":22}},"loc":{"start":{"line":2,"column":27},"end":{"line":2,"column":30}},"line":2}},"branchMap":{},"s":{"0":1,"1":1},"f":{"0":1,"1":1},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f60a8a2f5051bd47a2ce6553c1f7f9e18533ec03","contentHash":"80209287f8d0b7c368c56582afecd56b1dd5756f6894ddc90f7687a0d13a9bd3"}}
@@ -1 +0,0 @@
1
- {"/home/kuba/projects/sealcode/sealgen/.eslintrc.js":{"path":"/home/kuba/projects/sealcode/sealgen/.eslintrc.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":38,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":0},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/@types/cli.d.ts":{"path":"/home/kuba/projects/sealcode/sealgen/@types/cli.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/@types/forms/controls/controls.d.ts":{"path":"/home/kuba/projects/sealcode/sealgen/@types/forms/controls/controls.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/@types/run.d.ts":{"path":"/home/kuba/projects/sealcode/sealgen/@types/run.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/@types/tests/manual/multiform.d.ts":{"path":"/home/kuba/projects/sealcode/sealgen/@types/tests/manual/multiform.d.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/src/example.test.ts":{"path":"/home/kuba/projects/sealcode/sealgen/src/example.test.ts","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":3,"column":3}},"1":{"start":{"line":2,"column":1},"end":{"line":2,"column":28}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":23},"end":{"line":1,"column":24}},"loc":{"start":{"line":1,"column":29},"end":{"line":3,"column":1}},"line":1},"1":{"name":"(anonymous_1)","decl":{"start":{"line":2,"column":18},"end":{"line":2,"column":19}},"loc":{"start":{"line":2,"column":24},"end":{"line":2,"column":26}},"line":2}},"branchMap":{},"s":{"0":0,"1":0},"f":{"0":0,"1":0},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/src/forms/controls/controls.ts":{"path":"/home/kuba/projects/sealcode/sealgen/src/forms/controls/controls.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/src/run.ts":{"path":"/home/kuba/projects/sealcode/sealgen/src/run.ts","statementMap":{},"fnMap":{},"branchMap":{},"s":{},"f":{},"b":{},"all":true},"/home/kuba/projects/sealcode/sealgen/test.js":{"path":"/home/kuba/projects/sealcode/sealgen/test.js","statementMap":{"0":{"start":{"line":1,"column":12},"end":{"line":1,"column":26}},"1":{"start":{"line":2,"column":18},"end":{"line":2,"column":42}},"2":{"start":{"line":4,"column":13},"end":{"line":4,"column":34}},"3":{"start":{"line":5,"column":13},"end":{"line":5,"column":22}},"4":{"start":{"line":7,"column":16},"end":{"line":7,"column":38}},"5":{"start":{"line":9,"column":14},"end":{"line":9,"column":31}},"6":{"start":{"line":11,"column":20},"end":{"line":18,"column":1}},"7":{"start":{"line":20,"column":0},"end":{"line":28,"column":1}},"8":{"start":{"line":21,"column":4},"end":{"line":27,"column":6}},"9":{"start":{"line":30,"column":20},"end":{"line":30,"column":40}},"10":{"start":{"line":32,"column":14},"end":{"line":32,"column":55}},"11":{"start":{"line":34,"column":0},"end":{"line":49,"column":1}},"12":{"start":{"line":35,"column":16},"end":{"line":42,"column":5}},"13":{"start":{"line":43,"column":4},"end":{"line":47,"column":5}},"14":{"start":{"line":44,"column":8},"end":{"line":44,"column":39}},"15":{"start":{"line":46,"column":8},"end":{"line":46,"column":41}},"16":{"start":{"line":48,"column":4},"end":{"line":48,"column":35}},"17":{"start":{"line":51,"column":0},"end":{"line":53,"column":1}},"18":{"start":{"line":52,"column":4},"end":{"line":52,"column":46}},"19":{"start":{"line":55,"column":0},"end":{"line":55,"column":42}},"20":{"start":{"line":57,"column":13},"end":{"line":60,"column":2}},"21":{"start":{"line":62,"column":0},"end":{"line":68,"column":3}},"22":{"start":{"line":63,"column":4},"end":{"line":67,"column":5}},"23":{"start":{"line":64,"column":8},"end":{"line":64,"column":24}},"24":{"start":{"line":66,"column":8},"end":{"line":66,"column":27}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":62,"column":16},"end":{"line":62,"column":17}},"loc":{"start":{"line":62,"column":32},"end":{"line":68,"column":1}},"line":62}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":0},"end":{"line":28,"column":1}},"type":"if","locations":[{"start":{"line":20,"column":0},"end":{"line":28,"column":1}},{"start":{"line":20,"column":0},"end":{"line":28,"column":1}}],"line":20},"1":{"loc":{"start":{"line":34,"column":0},"end":{"line":49,"column":1}},"type":"if","locations":[{"start":{"line":34,"column":0},"end":{"line":49,"column":1}},{"start":{"line":34,"column":0},"end":{"line":49,"column":1}}],"line":34},"2":{"loc":{"start":{"line":43,"column":4},"end":{"line":47,"column":5}},"type":"if","locations":[{"start":{"line":43,"column":4},"end":{"line":47,"column":5}},{"start":{"line":43,"column":4},"end":{"line":47,"column":5}}],"line":43},"3":{"loc":{"start":{"line":51,"column":0},"end":{"line":53,"column":1}},"type":"if","locations":[{"start":{"line":51,"column":0},"end":{"line":53,"column":1}},{"start":{"line":51,"column":0},"end":{"line":53,"column":1}}],"line":51},"4":{"loc":{"start":{"line":63,"column":4},"end":{"line":67,"column":5}},"type":"if","locations":[{"start":{"line":63,"column":4},"end":{"line":67,"column":5}},{"start":{"line":63,"column":4},"end":{"line":67,"column":5}}],"line":63}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0]},"all":true}}
@@ -1 +0,0 @@
1
- {"parent":null,"pid":78339,"argv":["/usr/bin/node","/home/kuba/projects/sealcode/sealgen/node_modules/.bin/mocha","--recursive","--timeout=10000","--require","source-map-support/register","-r"," ts-node/register","--reporter","xunit","--reporter-option","output=.xunit","src/**/*.test.ts"],"execArgv":[],"cwd":"/home/kuba/projects/sealcode/sealgen","time":1666291707797,"ppid":78328,"coverageFilename":"/home/kuba/projects/sealcode/sealgen/.nyc_output/1c5dff80-7861-427a-b1bb-d0686211f098.json","externalId":"","uuid":"1c5dff80-7861-427a-b1bb-d0686211f098","files":["/home/kuba/projects/sealcode/sealgen/src/example.test.ts"]}
@@ -1 +0,0 @@
1
- {"parent":null,"pid":78328,"argv":["/usr/bin/node","/home/kuba/projects/sealcode/sealgen/node_modules/.bin/nyc","-all","--exclude","lib","--source-map","false","--reporter","clover","./node_modules/.bin/mocha","--recursive","--timeout=10000","--require","source-map-support/register","-r"," ts-node/register","--reporter","xunit","--reporter-option","output=.xunit","src/**/*.test.ts"],"execArgv":[],"cwd":"/home/kuba/projects/sealcode/sealgen","time":1666291706894,"ppid":78321,"coverageFilename":"/home/kuba/projects/sealcode/sealgen/.nyc_output/a38a0d08-1f1f-4973-b5e2-efc434c1593d.json","externalId":"","uuid":"a38a0d08-1f1f-4973-b5e2-efc434c1593d","files":["/home/kuba/projects/sealcode/sealgen/.eslintrc.js","/home/kuba/projects/sealcode/sealgen/@types/cli.d.ts","/home/kuba/projects/sealcode/sealgen/@types/forms/controls/controls.d.ts","/home/kuba/projects/sealcode/sealgen/@types/run.d.ts","/home/kuba/projects/sealcode/sealgen/@types/tests/manual/multiform.d.ts","/home/kuba/projects/sealcode/sealgen/src/example.test.ts","/home/kuba/projects/sealcode/sealgen/src/forms/controls/controls.ts","/home/kuba/projects/sealcode/sealgen/src/run.ts","/home/kuba/projects/sealcode/sealgen/test.js"]}
@@ -1,112 +0,0 @@
1
- import Koa, { Context } from "koa";
2
- import Router from "@koa/router";
3
- import { Controls, Fields, Form } from "../..";
4
- import { Multiform } from "../../forms/multiform";
5
- import koaBody from "koa-body";
6
- import { FlatTemplatable, tempstream } from "tempstream";
7
- import { App } from "sealious";
8
- import { FormMessage } from "../../forms/form";
9
- const app = new Koa({ proxy: true });
10
- const router = new Router();
11
-
12
- const fields1 = {
13
- email: new Fields.SimpleFormField(true),
14
- password: new Fields.SimpleFormField(true),
15
- };
16
-
17
- const form1 = new (class extends Form<typeof fields1, void> {
18
- defaultSuccessMessage = "Form1 done!";
19
- controls = [
20
- new Controls.FormHeader("form1"),
21
- new Controls.SimpleInput(fields1.email),
22
- ];
23
- fields = fields1;
24
- onSubmit() {
25
- console.log("form1 submit");
26
- }
27
- })();
28
-
29
- const fields2 = {
30
- name: new Fields.SimpleFormField(true),
31
- surname: new Fields.SimpleFormField(true),
32
- };
33
-
34
- const form2 = new (class extends Form<Record<never, unknown>, void> {
35
- defaultSuccessMessage = "Form2 done!";
36
- controls = [
37
- new Controls.FormHeader("form2"),
38
- new Controls.SimpleInput(fields2.name),
39
- ];
40
- fields = fields2;
41
- onSubmit() {
42
- console.log("form2 submit");
43
- }
44
- })();
45
-
46
- const multiform = new (class extends Multiform {
47
- name = "multiform_test";
48
- forms = { form1, form2 };
49
- async render(
50
- ctx: Koa.Context,
51
- messages: FormMessage[],
52
- prerenderedForms?: Record<string, FlatTemplatable | undefined>,
53
- show_field_errors: boolean = true
54
- ): Promise<FlatTemplatable> {
55
- return tempstream/* HTML */ `<!DOCTYPE html>
56
- <html>
57
- <head>
58
- <title>Multiform Test - Sealgen</title>
59
- <script type="module">
60
- import hotwiredTurbo from "https://cdn.skypack.dev/pin/@hotwired/turbo@v7.0.0-9XNv1By6uiqRlBzQLO2d/mode=imports,min/optimized/@hotwired/turbo.js";
61
- </script>
62
- </head>
63
- <body>
64
- ${super.render(
65
- ctx,
66
- messages,
67
- prerenderedForms,
68
- show_field_errors
69
- )}
70
- </body>
71
- </html>`;
72
- }
73
- })();
74
-
75
- const URL = "/";
76
-
77
- async function handleHtmlPromise(ctx: Context, next: Koa.Next) {
78
- await next();
79
- if (ctx.body instanceof Promise) {
80
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
81
- ctx.body = await ctx.body;
82
- }
83
- ctx.set("content-type", "text/html;charset=utf-8");
84
- }
85
-
86
- router.use(
87
- URL,
88
- koaBody(),
89
- async (ctx, next) => {
90
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
91
- ctx.$body = ctx.request.body;
92
- ctx.$app = {
93
- getString: (
94
- _: unknown,
95
- args: unknown[],
96
- trans: string | ((...args: unknown[]) => string)
97
- ) => (typeof trans == "function" ? trans(args) : trans),
98
- } as unknown as App;
99
- await next();
100
- },
101
- handleHtmlPromise
102
- );
103
- multiform.init();
104
- multiform.mount(router, URL);
105
- // to automatically add trailing slashes:
106
-
107
- router.use(URL, (ctx) => ctx.set("content-type", "text/html;charset=utf-8"));
108
-
109
- app.use(router.routes()).use(router.allowedMethods());
110
- app.listen(3000);
111
-
112
- console.log("Multiform test app listening on localhost:3000");
package/test.js DELETED
@@ -1,68 +0,0 @@
1
- const mri = require("mri");
2
- const { spawn } = require("child_process");
3
-
4
- const argv = process.argv.slice(2);
5
- const args = mri(argv);
6
-
7
- const bin_dir = "./node_modules/.bin/";
8
-
9
- const mocha = bin_dir + "mocha";
10
-
11
- let mocha_options = [
12
- "--recursive",
13
- "--timeout=10000",
14
- "--require",
15
- "source-map-support/register",
16
- "-r",
17
- " ts-node/register"
18
- ];
19
-
20
- if (args["test-report"]) {
21
- mocha_options = [
22
- ...mocha_options,
23
- "--reporter",
24
- "xunit",
25
- "--reporter-option",
26
- "output=.xunit",
27
- ];
28
- }
29
-
30
- const mocha_files = ["src/**/*.test.ts"];
31
-
32
- let command = [mocha, ...mocha_options, ...mocha_files];
33
-
34
- if (args.cover) {
35
- const nyc = [
36
- bin_dir + "nyc",
37
- "-all",
38
- "--exclude",
39
- "lib",
40
- "--source-map",
41
- "false",
42
- ];
43
- if (args["cover-html"]) {
44
- nyc.push("--reporter", "lcov");
45
- } else {
46
- nyc.push("--reporter", "clover");
47
- }
48
- command = [...nyc, ...command];
49
- }
50
-
51
- if (args.debug) {
52
- command = ["node", "inspect", ...command];
53
- }
54
-
55
- console.log("spawning mocha...", command);
56
-
57
- const proc = spawn(command[0], command.slice(1), {
58
- stdio: "inherit",
59
- env: process.env,
60
- });
61
-
62
- proc.on("exit", function (code) {
63
- if (args["test-report"]) {
64
- process.exit(0);
65
- } else {
66
- process.exit(code);
67
- }
68
- });