vitest-plugin-vis 4.0.0 → 4.2.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 (285) hide show
  1. package/dist/auto_snapshots/_ctx.mjs +15 -0
  2. package/dist/auto_snapshots/_ctx.mjs.map +1 -0
  3. package/dist/auto_snapshots/_extract_auto_snapshot_options.mjs +23 -0
  4. package/dist/auto_snapshots/_extract_auto_snapshot_options.mjs.map +1 -0
  5. package/dist/{auto_snapshot_options-CaQCXDdi.d.mts → auto_snapshots/auto_snapshot_options.d.mts} +5 -4
  6. package/dist/auto_snapshots/auto_snapshot_options.d.mts.map +1 -0
  7. package/dist/{auto_snapshot_options-CAD43Zkp.mjs → auto_snapshots/auto_snapshot_options.mjs} +6 -42
  8. package/dist/auto_snapshots/auto_snapshot_options.mjs.map +1 -0
  9. package/dist/auto_snapshots/snapshot_meta.d.mts +15 -0
  10. package/dist/auto_snapshots/snapshot_meta.d.mts.map +1 -0
  11. package/dist/client/actions/has_image_snapshot_action.d.mts +8 -0
  12. package/dist/client/actions/has_image_snapshot_action.d.mts.map +1 -0
  13. package/dist/client/actions/has_image_snapshot_action.mjs +9 -0
  14. package/dist/client/actions/has_image_snapshot_action.mjs.map +1 -0
  15. package/dist/client/actions/load_image_snapshot_results_action.d.mts +7 -0
  16. package/dist/client/actions/load_image_snapshot_results_action.d.mts.map +1 -0
  17. package/dist/client/actions/load_image_snapshot_results_action.mjs +8 -0
  18. package/dist/client/actions/load_image_snapshot_results_action.mjs.map +1 -0
  19. package/dist/client/actions/match_image_snapshot_action.d.mts +9 -0
  20. package/dist/client/actions/match_image_snapshot_action.d.mts.map +1 -0
  21. package/dist/client/actions/match_image_snapshot_action.mjs +20 -0
  22. package/dist/client/actions/match_image_snapshot_action.mjs.map +1 -0
  23. package/dist/client/actions/match_page_image_snapshot_action.d.mts +9 -0
  24. package/dist/client/actions/match_page_image_snapshot_action.d.mts.map +1 -0
  25. package/dist/client/actions/match_page_image_snapshot_action.mjs +14 -0
  26. package/dist/client/actions/match_page_image_snapshot_action.mjs.map +1 -0
  27. package/dist/client/expect/_ctx.mjs +15 -0
  28. package/dist/client/expect/_ctx.mjs.map +1 -0
  29. package/dist/client/expect/augment.d.mts +10 -0
  30. package/dist/client/expect/augment.d.mts.map +1 -0
  31. package/dist/client/expect/expectation_result.d.mts +7 -0
  32. package/dist/client/expect/expectation_result.d.mts.map +1 -0
  33. package/dist/client/expect/expectation_result.mjs +9 -0
  34. package/dist/client/expect/expectation_result.mjs.map +1 -0
  35. package/dist/client/expect/extend.d.mts +1 -0
  36. package/dist/client/expect/extend.mjs +9 -0
  37. package/dist/client/expect/extend.mjs.map +1 -0
  38. package/dist/client/expect/to_match_image_snapshot.mjs +16 -0
  39. package/dist/client/expect/to_match_image_snapshot.mjs.map +1 -0
  40. package/dist/{to_match_image_snapshot.types-p-zilA_M.d.mts → client/expect/to_match_image_snapshot.types.d.mts} +3 -3
  41. package/dist/client/expect/to_match_image_snapshot.types.d.mts.map +1 -0
  42. package/dist/client/external/browser/has_render_content.mjs +8 -0
  43. package/dist/client/external/browser/has_render_content.mjs.map +1 -0
  44. package/dist/client/external/browser/image_data.mjs +37 -0
  45. package/dist/client/external/browser/image_data.mjs.map +1 -0
  46. package/dist/client/external/browser/image_resizer.mjs +32 -0
  47. package/dist/client/external/browser/image_resizer.mjs.map +1 -0
  48. package/dist/client/external/browser/selector.mjs +57 -0
  49. package/dist/client/external/browser/selector.mjs.map +1 -0
  50. package/dist/client/external/vitest/vitest_browser_context_proxy.mjs +12 -0
  51. package/dist/client/external/vitest/vitest_browser_context_proxy.mjs.map +1 -0
  52. package/dist/client/external/vitest/vitest_suite_proxy.d.mts +3 -0
  53. package/dist/client/external/vitest/vitest_suite_proxy.mjs +11 -0
  54. package/dist/client/external/vitest/vitest_suite_proxy.mjs.map +1 -0
  55. package/dist/client/image/align_images.mjs +14 -0
  56. package/dist/client/image/align_images.mjs.map +1 -0
  57. package/dist/client/page/_ctx.d.mts +3 -0
  58. package/dist/client/page/_ctx.mjs +15 -0
  59. package/dist/client/page/_ctx.mjs.map +1 -0
  60. package/dist/client/page/augment.d.mts +9 -0
  61. package/dist/client/page/augment.d.mts.map +1 -0
  62. package/dist/client/page/extend.d.mts +1 -0
  63. package/dist/client/page/extend.mjs +13 -0
  64. package/dist/client/page/extend.mjs.map +1 -0
  65. package/dist/client/page/has_image_snapshot.d.mts +13 -0
  66. package/dist/client/page/has_image_snapshot.d.mts.map +1 -0
  67. package/dist/client/page/has_image_snapshot.mjs +15 -0
  68. package/dist/client/page/has_image_snapshot.mjs.map +1 -0
  69. package/dist/client/page/to_match_image_snapshot.d.mts +9 -0
  70. package/dist/client/page/to_match_image_snapshot.d.mts.map +1 -0
  71. package/dist/client/page/to_match_image_snapshot.mjs +15 -0
  72. package/dist/client/page/to_match_image_snapshot.mjs.map +1 -0
  73. package/dist/client/snapshot/compare_image_snapshot.logic.mjs +14 -0
  74. package/dist/client/snapshot/compare_image_snapshot.logic.mjs.map +1 -0
  75. package/dist/client/snapshot/compare_image_snapshot.mjs +63 -0
  76. package/dist/client/snapshot/compare_image_snapshot.mjs.map +1 -0
  77. package/dist/client/snapshot/should_take_snapshot.mjs +10 -0
  78. package/dist/client/snapshot/should_take_snapshot.mjs.map +1 -0
  79. package/dist/client/suite/_ctx.mjs +13 -0
  80. package/dist/client/suite/_ctx.mjs.map +1 -0
  81. package/dist/client/suite/auto_snapshot_matcher.d.mts +12 -0
  82. package/dist/client/suite/auto_snapshot_matcher.d.mts.map +1 -0
  83. package/dist/client/suite/auto_snapshot_matcher.mjs +50 -0
  84. package/dist/client/suite/auto_snapshot_matcher.mjs.map +1 -0
  85. package/dist/client/task/task_id.d.mts +9 -0
  86. package/dist/client/task/task_id.d.mts.map +1 -0
  87. package/dist/client/task/task_id.mjs +15 -0
  88. package/dist/client/task/task_id.mjs.map +1 -0
  89. package/dist/client-api.d.mts +13 -141
  90. package/dist/client-api.mjs +10 -13
  91. package/dist/{types-Do1N7g4c.d.mts → config/types.d.mts} +8 -9
  92. package/dist/config/types.d.mts.map +1 -0
  93. package/dist/config/vis.d.mts +27 -0
  94. package/dist/config/vis.d.mts.map +1 -0
  95. package/dist/config/vis.mjs +31 -0
  96. package/dist/config/vis.mjs.map +1 -0
  97. package/dist/config.d.mts +5 -28
  98. package/dist/config.mjs +3 -411
  99. package/dist/index.d.mts +5 -5
  100. package/dist/index.mjs +1 -4
  101. package/dist/presets/auto.mjs +4 -7
  102. package/dist/presets/auto.mjs.map +1 -1
  103. package/dist/presets/enable.mjs +2 -6
  104. package/dist/presets/enable.mjs.map +1 -1
  105. package/dist/presets/manual.mjs +2 -6
  106. package/dist/presets/manual.mjs.map +1 -1
  107. package/dist/server/browser_provider/browser_api.mjs +13 -0
  108. package/dist/server/browser_provider/browser_api.mjs.map +1 -0
  109. package/dist/server/browser_provider/playwright.mjs +24 -0
  110. package/dist/server/browser_provider/playwright.mjs.map +1 -0
  111. package/dist/server/browser_provider/webdriverio.mjs +16 -0
  112. package/dist/server/browser_provider/webdriverio.mjs.map +1 -0
  113. package/dist/server/commands/_assertions.mjs +10 -0
  114. package/dist/server/commands/_assertions.mjs.map +1 -0
  115. package/dist/server/commands/augment.d.mts +8 -0
  116. package/dist/server/commands/augment.d.mts.map +1 -0
  117. package/dist/server/commands/commands.mjs +20 -0
  118. package/dist/server/commands/commands.mjs.map +1 -0
  119. package/dist/server/commands/has_image_snapshot.mjs +12 -0
  120. package/dist/server/commands/has_image_snapshot.mjs.map +1 -0
  121. package/dist/server/commands/image_snapshot_next_index.mjs +12 -0
  122. package/dist/server/commands/image_snapshot_next_index.mjs.map +1 -0
  123. package/dist/server/commands/load_image_snapshot_results.mjs +12 -0
  124. package/dist/server/commands/load_image_snapshot_results.mjs.map +1 -0
  125. package/dist/server/commands/prepare_image_snapshot_comparison.mjs +37 -0
  126. package/dist/server/commands/prepare_image_snapshot_comparison.mjs.map +1 -0
  127. package/dist/server/commands/prepare_page_image_snapshot_comparison.mjs +27 -0
  128. package/dist/server/commands/prepare_page_image_snapshot_comparison.mjs.map +1 -0
  129. package/dist/server/commands/setup_vis_suite.mjs +12 -0
  130. package/dist/server/commands/setup_vis_suite.mjs.map +1 -0
  131. package/dist/server/externals/file.mjs +23 -0
  132. package/dist/server/externals/file.mjs.map +1 -0
  133. package/dist/server/project.mjs +13 -0
  134. package/dist/server/project.mjs.map +1 -0
  135. package/dist/server/snapshot.mjs +29 -0
  136. package/dist/server/snapshot.mjs.map +1 -0
  137. package/dist/server/snapshot_path.d.mts +17 -0
  138. package/dist/server/snapshot_path.d.mts.map +1 -0
  139. package/dist/{snapshot_path-7GliOSH_.mjs → server/snapshot_path.mjs} +7 -25
  140. package/dist/server/snapshot_path.mjs.map +1 -0
  141. package/dist/server/snapshot_writer.mjs +21 -0
  142. package/dist/server/snapshot_writer.mjs.map +1 -0
  143. package/dist/server/suite.mjs +82 -0
  144. package/dist/server/suite.mjs.map +1 -0
  145. package/dist/server/vis_options.mjs +19 -0
  146. package/dist/server/vis_options.mjs.map +1 -0
  147. package/dist/server/vis_server_context.deps.mjs +16 -0
  148. package/dist/server/vis_server_context.deps.mjs.map +1 -0
  149. package/dist/server/vis_server_context.logic.mjs +82 -0
  150. package/dist/server/vis_server_context.logic.mjs.map +1 -0
  151. package/dist/server/vis_server_context.mjs +8 -0
  152. package/dist/server/vis_server_context.mjs.map +1 -0
  153. package/dist/server/vis_server_context.types.d.mts +2 -0
  154. package/dist/server-utils.d.mts +4 -19
  155. package/dist/server-utils.mjs +3 -2
  156. package/dist/setup/create_vis.d.mts +108 -0
  157. package/dist/setup/create_vis.d.mts.map +1 -0
  158. package/dist/setup/create_vis.mjs +58 -0
  159. package/dist/setup/create_vis.mjs.map +1 -0
  160. package/dist/setup/vis.d.mts +10 -0
  161. package/dist/setup/vis.d.mts.map +1 -0
  162. package/dist/setup/vis.mjs +12 -0
  163. package/dist/setup/vis.mjs.map +1 -0
  164. package/dist/setup-api.d.mts +4 -0
  165. package/dist/setup-api.mjs +5 -0
  166. package/dist/setup.d.mts +8 -105
  167. package/dist/setup.d.mts.map +1 -1
  168. package/dist/setup.mjs +12 -7
  169. package/dist/setup.mjs.map +1 -0
  170. package/dist/{asserts--HSSlgPD.mjs → shared/asserts.mjs} +2 -2
  171. package/dist/shared/asserts.mjs.map +1 -0
  172. package/dist/{base64-CHSENEAO.mjs → shared/base64.mjs} +2 -2
  173. package/dist/shared/base64.mjs.map +1 -0
  174. package/dist/shared/commands.types.d.mts +51 -0
  175. package/dist/shared/commands.types.d.mts.map +1 -0
  176. package/dist/shared/compare_image.mjs +46 -0
  177. package/dist/shared/compare_image.mjs.map +1 -0
  178. package/dist/shared/constants.d.mts +9 -0
  179. package/dist/shared/constants.d.mts.map +1 -0
  180. package/dist/{constants-CTBaz8Ml.mjs → shared/constants.mjs} +2 -2
  181. package/dist/shared/constants.mjs.map +1 -0
  182. package/dist/shared/convert_threshold_unit.mjs +12 -0
  183. package/dist/shared/convert_threshold_unit.mjs.map +1 -0
  184. package/dist/shared/get_max_size.mjs +11 -0
  185. package/dist/shared/get_max_size.mjs.map +1 -0
  186. package/dist/shared/is_same_size.mjs +8 -0
  187. package/dist/shared/is_same_size.mjs.map +1 -0
  188. package/dist/{trim_common_folder-ModiubEJ.d.mts → shared/trim_common_folder.d.mts} +2 -2
  189. package/dist/shared/trim_common_folder.d.mts.map +1 -0
  190. package/dist/shared/trim_common_folder.mjs +23 -0
  191. package/dist/shared/trim_common_folder.mjs.map +1 -0
  192. package/dist/{types-DFb23VE1.d.mts → shared/types.d.mts} +39 -20
  193. package/dist/shared/types.d.mts.map +1 -0
  194. package/dist/testing/constants.d.mts +12 -0
  195. package/dist/testing/constants.d.mts.map +1 -0
  196. package/dist/testing/constants.mjs +65550 -0
  197. package/dist/{testing.mjs.map → testing/constants.mjs.map} +1 -1
  198. package/dist/testing.d.mts +2 -12
  199. package/dist/testing.mjs +2 -65549
  200. package/package.json +24 -17
  201. package/readme.md +48 -3
  202. package/src/{client/ctx.ts → auto_snapshots/_ctx.ts} +1 -3
  203. package/src/auto_snapshots/_extract_auto_snapshot_options.ts +26 -0
  204. package/src/{client → auto_snapshots}/auto_snapshot_options.mdx +1 -2
  205. package/src/{client → auto_snapshots}/auto_snapshot_options.ts +1 -23
  206. package/src/client/actions/has_image_snapshot_action.ts +1 -1
  207. package/src/client/actions/load_image_snapshot_results_action.ts +1 -1
  208. package/src/client/actions/match_image_snapshot_action.ts +6 -6
  209. package/src/client/actions/match_page_image_snapshot_action.ts +5 -3
  210. package/src/client/expect/_ctx.ts +10 -0
  211. package/src/client/expect/to_match_image_snapshot.ts +3 -4
  212. package/src/client/external/browser/has_render_content.ts +3 -0
  213. package/src/client/{image_resizer.ts → external/browser/image_resizer.ts} +1 -1
  214. package/src/client/{vitest_suite_proxy.ts → external/vitest/vitest_suite_proxy.ts} +1 -1
  215. package/src/client/{align_images.ts → image/align_images.ts} +3 -3
  216. package/src/client/page/_ctx.ts +12 -0
  217. package/src/client/page/has_image_snapshot.ts +4 -4
  218. package/src/client/page/to_match_image_snapshot.ts +3 -4
  219. package/src/client/{compare_image_snapshot.logic.ts → snapshot/compare_image_snapshot.logic.ts} +2 -2
  220. package/src/client/{compare_image_snapshot.ts → snapshot/compare_image_snapshot.ts} +23 -10
  221. package/src/client/snapshot/should_take_snapshot.ts +6 -0
  222. package/src/client/suite/_ctx.ts +8 -0
  223. package/src/client/suite/auto_snapshot_matcher.ts +67 -0
  224. package/src/client-api.ts +3 -2
  225. package/src/config/overview.mdx +145 -0
  226. package/src/{shared → config}/trim_common_folder.mdx +1 -1
  227. package/src/config/types.ts +5 -6
  228. package/src/config/vis.mdx +313 -0
  229. package/src/index.ts +1 -1
  230. package/src/overview.mdx +66 -28
  231. package/src/server/commands/augment.ts +8 -6
  232. package/src/server/commands/has_image_snapshot.ts +1 -4
  233. package/src/server/commands/image_snapshot_next_index.ts +1 -7
  234. package/src/server/commands/load_image_snapshot_results.ts +1 -20
  235. package/src/server/commands/prepare_image_snapshot_comparison.ts +10 -56
  236. package/src/server/commands/prepare_page_image_snapshot_comparison.ts +2 -49
  237. package/src/server/commands/setup_vis_suite.ts +0 -24
  238. package/src/server/snapshot_path.ts +3 -1
  239. package/src/server/vis_server_context.logic.ts +1 -1
  240. package/src/{setup.create_vis.mdx → setup/create_vis.mdx} +4 -5
  241. package/src/{client/setup → setup}/create_vis.ts +31 -83
  242. package/src/setup/overview.mdx +17 -0
  243. package/src/setup/readme.md +7 -0
  244. package/src/{setup.vis.mdx → setup/vis.mdx} +15 -18
  245. package/src/setup-api.ts +5 -0
  246. package/src/setup.ts +9 -5
  247. package/src/shared/commands.types.ts +71 -0
  248. package/src/shared/types.ts +54 -1
  249. package/dist/asserts--HSSlgPD.mjs.map +0 -1
  250. package/dist/augment-BJmy1S7i.d.mts +0 -31
  251. package/dist/augment-BJmy1S7i.d.mts.map +0 -1
  252. package/dist/auto_snapshot_options-CAD43Zkp.mjs.map +0 -1
  253. package/dist/auto_snapshot_options-CaQCXDdi.d.mts.map +0 -1
  254. package/dist/base64-CHSENEAO.mjs.map +0 -1
  255. package/dist/client-api.d.mts.map +0 -1
  256. package/dist/client-api.mjs.map +0 -1
  257. package/dist/config.d.mts.map +0 -1
  258. package/dist/config.mjs.map +0 -1
  259. package/dist/constants-CTBaz8Ml.mjs.map +0 -1
  260. package/dist/server-utils.d.mts.map +0 -1
  261. package/dist/setup-BWgIDtv-.mjs +0 -141
  262. package/dist/setup-BWgIDtv-.mjs.map +0 -1
  263. package/dist/setup_vis_suite-C6JGGT7B.d.mts +0 -17
  264. package/dist/setup_vis_suite-C6JGGT7B.d.mts.map +0 -1
  265. package/dist/snapshot_path-7GliOSH_.mjs.map +0 -1
  266. package/dist/src-CSQnlFa9.mjs +0 -1
  267. package/dist/task_id-DnS9_4Ub.mjs +0 -316
  268. package/dist/task_id-DnS9_4Ub.mjs.map +0 -1
  269. package/dist/testing.d.mts.map +0 -1
  270. package/dist/to_match_image_snapshot.types-p-zilA_M.d.mts.map +0 -1
  271. package/dist/trim_common_folder-ModiubEJ.d.mts.map +0 -1
  272. package/dist/types-DFb23VE1.d.mts.map +0 -1
  273. package/dist/types-Do1N7g4c.d.mts.map +0 -1
  274. package/dist/vis_server_context.types-Ce1f9vOO.d.mts +0 -1
  275. package/src/client/image_snapshot_options.ts +0 -6
  276. package/src/client/setup/vis.ctx.ts +0 -34
  277. package/src/client/should_take_snapshot.ts +0 -5
  278. package/src/config.vis.mdx +0 -76
  279. package/src/server/commands/types.ts +0 -9
  280. /package/src/{client → auto_snapshots}/snapshot_meta.ts +0 -0
  281. /package/src/client/{image_data.ts → external/browser/image_data.ts} +0 -0
  282. /package/src/client/{selector.ts → external/browser/selector.ts} +0 -0
  283. /package/src/client/{vitest_browser_context_proxy.ts → external/vitest/vitest_browser_context_proxy.ts} +0 -0
  284. /package/src/client/{task_id.ts → task/task_id.ts} +0 -0
  285. /package/src/{client/setup → setup}/vis.ts +0 -0
@@ -0,0 +1,46 @@
1
+ import { convertThresholdUnit } from "./convert_threshold_unit.mjs";
2
+ import pixelMatch from "pixelmatch";
3
+ import { ssim } from "ssim.js";
4
+
5
+ //#region src/shared/compare_image.ts
6
+ function compareImage(img1, img2, output, width, height, options = {}) {
7
+ const pixelDiff = options.comparisonMethod === "ssim" ? compareWithSsim(img1, img2, output, width, height, options.diffOptions) : pixelMatch(img1, img2, output, width, height, options.diffOptions);
8
+ const diffAmount = convertThresholdUnit({
9
+ failureThresholdType: options.failureThresholdType ?? "pixel",
10
+ width,
11
+ height
12
+ }, pixelDiff);
13
+ return {
14
+ pass: diffAmount <= (options.failureThreshold ?? 0),
15
+ diffAmount
16
+ };
17
+ }
18
+ /**
19
+ * @author This code is based on `jest-image-snapshot` implementation.
20
+ */
21
+ function compareWithSsim(img1, img2, output, width, height, diffOptions) {
22
+ const { ssim_map, mssim } = ssim({
23
+ data: img1,
24
+ width,
25
+ height
26
+ }, {
27
+ data: img2,
28
+ width,
29
+ height
30
+ }, {
31
+ ssim: "bezkrovny",
32
+ ...diffOptions
33
+ });
34
+ const diffPixels = Math.round((1 - mssim) * width * height);
35
+ const diffRgbaPixels = new DataView(output.buffer, output.byteOffset);
36
+ for (let ln = 0; ln !== height; ++ln) for (let pos = 0; pos !== width; ++pos) {
37
+ const rPos = ln * width + pos;
38
+ const diffValue = 4278190080 + Math.floor(255 * (1 - ssim_map.data[ssim_map.width * Math.round(ssim_map.height * ln / height) + Math.round(ssim_map.width * pos / width)]));
39
+ diffRgbaPixels.setUint32(rPos * 4, diffValue);
40
+ }
41
+ return diffPixels;
42
+ }
43
+
44
+ //#endregion
45
+ export { compareImage };
46
+ //# sourceMappingURL=compare_image.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compare_image.mjs","names":["pixelmatch"],"sources":["../../src/shared/compare_image.ts"],"sourcesContent":["import pixelmatch from 'pixelmatch'\nimport { type Options, ssim } from 'ssim.js'\nimport { convertThresholdUnit } from './convert_threshold_unit.ts'\nimport type { ComparisonMethod, ImageSnapshotCompareOptions } from './types.ts'\n\nexport function compareImage<M extends ComparisonMethod>(\n\timg1: Uint8ClampedArray | Buffer,\n\timg2: Uint8ClampedArray | Buffer,\n\toutput: Uint8ClampedArray | Buffer,\n\twidth: number,\n\theight: number,\n\toptions: ImageSnapshotCompareOptions<M> = {} as any,\n) {\n\tconst pixelDiff =\n\t\toptions.comparisonMethod === 'ssim'\n\t\t\t? compareWithSsim(img1, img2, output, width, height, options.diffOptions)\n\t\t\t: pixelmatch(img1, img2, output, width, height, options.diffOptions)\n\tconst diffAmount = convertThresholdUnit(\n\t\t{ failureThresholdType: options.failureThresholdType ?? 'pixel', width, height },\n\t\tpixelDiff,\n\t)\n\n\treturn {\n\t\tpass: diffAmount <= (options.failureThreshold ?? 0),\n\t\tdiffAmount,\n\t}\n}\n\n/**\n * @author This code is based on `jest-image-snapshot` implementation.\n */\nfunction compareWithSsim(\n\timg1: Uint8ClampedArray | Buffer,\n\timg2: Uint8ClampedArray | Buffer,\n\toutput: Uint8ClampedArray | Buffer,\n\twidth: number,\n\theight: number,\n\tdiffOptions?: Partial<Options>,\n) {\n\tconst newImage = { data: img1, width: width, height: height }\n\tconst baselineImage = { data: img2, width: width, height: height }\n\tconst { ssim_map, mssim } = ssim(newImage as any, baselineImage as any, {\n\t\tssim: 'bezkrovny',\n\t\t...diffOptions,\n\t})\n\t// Converts the SSIM value to different pixels based on image width and height\n\t// conforms to how pixelmatch works.\n\tconst diffPixels = Math.round((1 - mssim) * width * height)\n\tconst diffRgbaPixels = new DataView(output.buffer, output.byteOffset)\n\tfor (let ln = 0; ln !== height; ++ln) {\n\t\tfor (let pos = 0; pos !== width; ++pos) {\n\t\t\tconst rPos = ln * width + pos\n\t\t\t// initial value is transparent. We'll add in the SSIM offset.\n\t\t\t// red (ff) green (00) blue (00) alpha (00)\n\t\t\tconst diffValue =\n\t\t\t\t0xff000000 +\n\t\t\t\tMath.floor(\n\t\t\t\t\t0xff *\n\t\t\t\t\t\t(1 -\n\t\t\t\t\t\t\tssim_map.data[\n\t\t\t\t\t\t\t\tssim_map.width * Math.round((ssim_map.height * ln) / height) +\n\t\t\t\t\t\t\t\t\tMath.round((ssim_map.width * pos) / width)\n\t\t\t\t\t\t\t]!),\n\t\t\t\t)\n\t\t\tdiffRgbaPixels.setUint32(rPos * 4, diffValue)\n\t\t}\n\t}\n\treturn diffPixels\n}\n"],"mappings":";;;;;AAKA,SAAgB,aACf,MACA,MACA,QACA,OACA,QACA,UAA0C,EAAE,EAC3C;CACD,MAAM,YACL,QAAQ,qBAAqB,SAC1B,gBAAgB,MAAM,MAAM,QAAQ,OAAO,QAAQ,QAAQ,YAAY,GACvEA,WAAW,MAAM,MAAM,QAAQ,OAAO,QAAQ,QAAQ,YAAY;CACtE,MAAM,aAAa,qBAClB;EAAE,sBAAsB,QAAQ,wBAAwB;EAAS;EAAO;EAAQ,EAChF,UACA;AAED,QAAO;EACN,MAAM,eAAe,QAAQ,oBAAoB;EACjD;EACA;;;;;AAMF,SAAS,gBACR,MACA,MACA,QACA,OACA,QACA,aACC;CAGD,MAAM,EAAE,UAAU,UAAU,KAFX;EAAE,MAAM;EAAa;EAAe;EAAQ,EACvC;EAAE,MAAM;EAAa;EAAe;EAAQ,EACM;EACvE,MAAM;EACN,GAAG;EACH,CAAC;CAGF,MAAM,aAAa,KAAK,OAAO,IAAI,SAAS,QAAQ,OAAO;CAC3D,MAAM,iBAAiB,IAAI,SAAS,OAAO,QAAQ,OAAO,WAAW;AACrE,MAAK,IAAI,KAAK,GAAG,OAAO,QAAQ,EAAE,GACjC,MAAK,IAAI,MAAM,GAAG,QAAQ,OAAO,EAAE,KAAK;EACvC,MAAM,OAAO,KAAK,QAAQ;EAG1B,MAAM,YACL,aACA,KAAK,MACJ,OACE,IACA,SAAS,KACR,SAAS,QAAQ,KAAK,MAAO,SAAS,SAAS,KAAM,OAAO,GAC3D,KAAK,MAAO,SAAS,QAAQ,MAAO,MAAM,GAE9C;AACF,iBAAe,UAAU,OAAO,GAAG,UAAU;;AAG/C,QAAO"}
@@ -0,0 +1,9 @@
1
+ //#region src/shared/constants.d.ts
2
+ declare const NAME = "vis";
3
+ declare const SNAPSHOT_ROOT_DIR = "__vis__";
4
+ declare const BASELINE_DIR = "__baselines__";
5
+ declare const RESULT_DIR = "__results__";
6
+ declare const DIFF_DIR = "__diffs__";
7
+ //#endregion
8
+ export { BASELINE_DIR, DIFF_DIR, NAME, RESULT_DIR, SNAPSHOT_ROOT_DIR };
9
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/shared/constants.ts"],"sourcesContent":[],"mappings":";cAAa,IAAA;AAAA,cACA,iBAAA,GADI,SAAA;AACJ,cACA,YAAA,GADiB,eAAA;AACjB,cACA,UAAA,GADY,aAAA;AACZ,cACA,QAAA,GADU,WAAA"}
@@ -6,5 +6,5 @@ const RESULT_DIR = "__results__";
6
6
  const DIFF_DIR = "__diffs__";
7
7
 
8
8
  //#endregion
9
- export { SNAPSHOT_ROOT_DIR as a, RESULT_DIR as i, DIFF_DIR as n, NAME as r, BASELINE_DIR as t };
10
- //# sourceMappingURL=constants-CTBaz8Ml.mjs.map
9
+ export { BASELINE_DIR, DIFF_DIR, NAME, RESULT_DIR, SNAPSHOT_ROOT_DIR };
10
+ //# sourceMappingURL=constants.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.mjs","names":[],"sources":["../../src/shared/constants.ts"],"sourcesContent":["export const NAME = 'vis'\nexport const SNAPSHOT_ROOT_DIR = '__vis__'\nexport const BASELINE_DIR = '__baselines__'\nexport const RESULT_DIR = '__results__'\nexport const DIFF_DIR = '__diffs__'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,oBAAoB;AACjC,MAAa,eAAe;AAC5B,MAAa,aAAa;AAC1B,MAAa,WAAW"}
@@ -0,0 +1,12 @@
1
+ //#region src/shared/convert_threshold_unit.ts
2
+ function convertThresholdUnit({ failureThresholdType, width, height }, pixelDiff) {
3
+ switch (failureThresholdType) {
4
+ case "pixel": return pixelDiff;
5
+ case "percent": return pixelDiff / (width * height) * 100;
6
+ default: throw new Error(`Unsupported failureThresholdType: ${failureThresholdType}`);
7
+ }
8
+ }
9
+
10
+ //#endregion
11
+ export { convertThresholdUnit };
12
+ //# sourceMappingURL=convert_threshold_unit.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convert_threshold_unit.mjs","names":[],"sources":["../../src/shared/convert_threshold_unit.ts"],"sourcesContent":["export function convertThresholdUnit(\n\t{ failureThresholdType, width, height }: { failureThresholdType: 'pixel' | 'percent'; width: number; height: number },\n\tpixelDiff: number,\n): number {\n\tswitch (failureThresholdType) {\n\t\tcase 'pixel':\n\t\t\treturn pixelDiff\n\t\tcase 'percent':\n\t\t\treturn (pixelDiff / (width * height)) * 100\n\t\tdefault:\n\t\t\tthrow new Error(`Unsupported failureThresholdType: ${failureThresholdType}`)\n\t}\n}\n"],"mappings":";AAAA,SAAgB,qBACf,EAAE,sBAAsB,OAAO,UAC/B,WACS;AACT,SAAQ,sBAAR;EACC,KAAK,QACJ,QAAO;EACR,KAAK,UACJ,QAAQ,aAAa,QAAQ,UAAW;EACzC,QACC,OAAM,IAAI,MAAM,qCAAqC,uBAAuB"}
@@ -0,0 +1,11 @@
1
+ //#region src/shared/get_max_size.ts
2
+ function getMaxSize(image1, image2) {
3
+ return {
4
+ width: Math.max(image1.width, image2.width),
5
+ height: Math.max(image1.height, image2.height)
6
+ };
7
+ }
8
+
9
+ //#endregion
10
+ export { getMaxSize };
11
+ //# sourceMappingURL=get_max_size.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_max_size.mjs","names":[],"sources":["../../src/shared/get_max_size.ts"],"sourcesContent":["export function getMaxSize(image1: { width: number; height: number }, image2: { width: number; height: number }) {\n\tconst width = Math.max(image1.width, image2.width)\n\tconst height = Math.max(image1.height, image2.height)\n\treturn { width, height }\n}\n"],"mappings":";AAAA,SAAgB,WAAW,QAA2C,QAA2C;AAGhH,QAAO;EAAE,OAFK,KAAK,IAAI,OAAO,OAAO,OAAO,MAAM;EAElC,QADD,KAAK,IAAI,OAAO,QAAQ,OAAO,OAAO;EAC7B"}
@@ -0,0 +1,8 @@
1
+ //#region src/shared/is_same_size.ts
2
+ function isSameSize(image1, image2) {
3
+ return image1.width === image2.width && image1.height === image2.height;
4
+ }
5
+
6
+ //#endregion
7
+ export { isSameSize };
8
+ //# sourceMappingURL=is_same_size.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is_same_size.mjs","names":[],"sources":["../../src/shared/is_same_size.ts"],"sourcesContent":["export function isSameSize(image1: { width: number; height: number }, image2: { width: number; height: number }) {\n\treturn image1.width === image2.width && image1.height === image2.height\n}\n"],"mappings":";AAAA,SAAgB,WAAW,QAA2C,QAA2C;AAChH,QAAO,OAAO,UAAU,OAAO,SAAS,OAAO,WAAW,OAAO"}
@@ -5,5 +5,5 @@
5
5
  */
6
6
  declare function trimCommonFolder(suiteName: string): string;
7
7
  //#endregion
8
- export { trimCommonFolder as t };
9
- //# sourceMappingURL=trim_common_folder-ModiubEJ.d.mts.map
8
+ export { trimCommonFolder };
9
+ //# sourceMappingURL=trim_common_folder.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trim_common_folder.d.mts","names":[],"sources":["../../src/shared/trim_common_folder.ts"],"sourcesContent":[],"mappings":";;AAIA;;;iBAAgB,gBAAA"}
@@ -0,0 +1,23 @@
1
+ //#region src/shared/trim_common_folder.ts
2
+ /**
3
+ * Trim off common folder such as `src` or `tests` from the test file path.
4
+ * This is used to generate the default snapshot sub-path.
5
+ */
6
+ function trimCommonFolder(suiteName) {
7
+ suiteName = suiteName.replaceAll("..", "__");
8
+ const suiteDir = suiteName.split("/", 1)[0];
9
+ if ([
10
+ "tests",
11
+ "test",
12
+ "src",
13
+ "source",
14
+ "js",
15
+ "ts",
16
+ "lib"
17
+ ].includes(suiteDir)) return suiteName.slice(suiteDir.length + 1);
18
+ return suiteName;
19
+ }
20
+
21
+ //#endregion
22
+ export { trimCommonFolder };
23
+ //# sourceMappingURL=trim_common_folder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trim_common_folder.mjs","names":[],"sources":["../../src/shared/trim_common_folder.ts"],"sourcesContent":["/**\n * Trim off common folder such as `src` or `tests` from the test file path.\n * This is used to generate the default snapshot sub-path.\n */\nexport function trimCommonFolder(suiteName: string) {\n\tsuiteName = suiteName.replaceAll('..', '__')\n\tconst suiteDir = suiteName.split('/', 1)[0]!\n\tif (['tests', 'test', 'src', 'source', 'js', 'ts', 'lib'].includes(suiteDir))\n\t\treturn suiteName.slice(suiteDir.length + 1)\n\treturn suiteName\n}\n"],"mappings":";;;;;AAIA,SAAgB,iBAAiB,WAAmB;AACnD,aAAY,UAAU,WAAW,MAAM,KAAK;CAC5C,MAAM,WAAW,UAAU,MAAM,KAAK,EAAE,CAAC;AACzC,KAAI;EAAC;EAAS;EAAQ;EAAO;EAAU;EAAM;EAAM;EAAM,CAAC,SAAS,SAAS,CAC3E,QAAO,UAAU,MAAM,SAAS,SAAS,EAAE;AAC5C,QAAO"}
@@ -1,24 +1,8 @@
1
+ import { SnapshotMeta } from "../auto_snapshots/snapshot_meta.mjs";
2
+ import { NAME } from "./constants.mjs";
1
3
  import pixelMatch from "pixelmatch";
2
4
  import { Options as SsimDiffOptions } from "ssim.js";
3
5
 
4
- //#region src/client/snapshot_meta.d.ts
5
- type SnapshotMeta<M extends ComparisonMethod> = ToMatchImageSnapshotOptions<M> & ImageSnapshotSubjectOptions & {
6
- /**
7
- * Whether to enable the snapshot.
8
- *
9
- * Default: `true`
10
- */
11
- enable?: boolean | undefined;
12
- [key: string]: unknown;
13
- };
14
- //#endregion
15
- //#region src/shared/constants.d.ts
16
- declare const NAME = "vis";
17
- declare const SNAPSHOT_ROOT_DIR = "__vis__";
18
- declare const BASELINE_DIR = "__baselines__";
19
- declare const RESULT_DIR = "__results__";
20
- declare const DIFF_DIR = "__diffs__";
21
- //#endregion
22
6
  //#region src/shared/types.d.ts
23
7
  type Awaitable<T> = T | PromiseLike<T>;
24
8
  interface ImageSnapshotTimeoutOptions {
@@ -105,6 +89,41 @@ type SnapshotTestMeta = {
105
89
  [NAME]?: SnapshotMeta<ComparisonMethod>;
106
90
  };
107
91
  };
92
+ type ImageSnapshotComparisonInfo = {
93
+ /**
94
+ * Path to the project root.
95
+ */
96
+ projectRoot: string;
97
+ /**
98
+ * Path to the baseline image relative to the project root.
99
+ */
100
+ baselinePath: string;
101
+ /**
102
+ * Path to the result image relative to the project root.
103
+ */
104
+ resultPath: string;
105
+ /**
106
+ * Path to the diff image relative to the project root.
107
+ */
108
+ diffPath: string;
109
+ /**
110
+ * Base64 encoded baseline image.
111
+ * Undefined if the baseline image does not exist.
112
+ */
113
+ baseline?: string | undefined;
114
+ /**
115
+ * Base64 encoded result image.
116
+ */
117
+ result: string;
118
+ /**
119
+ * Base64 encoded diff image.
120
+ */
121
+ diff?: string | undefined;
122
+ } & ImageSnapshotTimeoutOptions & FailureThresholdOptions & (SsimComparisonOptions | PixelComparisonOptions);
123
+ type MatchImageSnapshotOptions = ImageSnapshotTimeoutOptions & ImageSnapshotCompareOptions<any> & ImageSnapshotKeyOptions;
124
+ type SetupVisOptions<GM extends Record<string, any> | unknown = unknown> = {
125
+ auto?: boolean | (<C extends ComparisonMethod, M extends Record<string, any> | unknown = unknown>(options: SnapshotMeta<C> & M & GM) => Promise<boolean> | Promise<void> | boolean | void) | Record<string, boolean | (<C extends ComparisonMethod, M extends Record<string, any> | unknown = unknown>(options: SnapshotMeta<C> & M & GM) => Promise<boolean> | Promise<void> | boolean | void)>;
126
+ };
108
127
  //#endregion
109
- export { DIFF_DIR as _, ImageSnapshotKeyOptions as a, SNAPSHOT_ROOT_DIR as b, PageImageSnapshotOptions as c, SnapshotTestMeta as d, SsimComparisonOptions as f, BASELINE_DIR as g, ToMatchPageImageSnapshotOptions as h, ImageSnapshotCompareOptions as i, PixelComparisonOptions as l, ToMatchImageSnapshotOptions as m, ComparisonMethod as n, ImageSnapshotSubjectOptions as o, SsimDiffOptions as p, FailureThresholdOptions as r, ImageSnapshotTimeoutOptions as s, Awaitable as t, PixelDiffOptions as u, NAME as v, SnapshotMeta as x, RESULT_DIR as y };
110
- //# sourceMappingURL=types-DFb23VE1.d.mts.map
128
+ export { Awaitable, ComparisonMethod, FailureThresholdOptions, ImageSnapshotCompareOptions, ImageSnapshotComparisonInfo, ImageSnapshotKeyOptions, ImageSnapshotSubjectOptions, ImageSnapshotTimeoutOptions, MatchImageSnapshotOptions, PageImageSnapshotOptions, PixelComparisonOptions, PixelDiffOptions, SetupVisOptions, SnapshotTestMeta, SsimComparisonOptions, type SsimDiffOptions, ToMatchImageSnapshotOptions, ToMatchPageImageSnapshotOptions };
129
+ //# sourceMappingURL=types.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.mts","names":[],"sources":["../../src/shared/types.ts"],"sourcesContent":[],"mappings":";;;;;;KAKY,eAAe,IAAI,YAAY;UAE1B,2BAAA;EAFL;;;;;EAEK,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;AASjB;AAOY,UAPK,uBAAA,CAOW;EAEhB;AA6BZ;;EAKuB,WAAA,CAAA,EAAA,MAAA,GAAA,SAAA;;AAAD,KApCV,gBAAA,GAoCU,OAAA,GAAA,MAAA;AAKV,KAvCA,uBAAA,GAuCsB;EAQtB;AAEZ;;;;EACG,oBAAA,CAAA,EAAA,OAAA,GAAA,SAAA,GAAA,SAAA;EACuB;;;;AAG1B;AASA;;;;;;;AAUA;AAIA;;;;;;EAGY,gBAAA,CAAA,EAAgB,MAAA,GAAA,SAAA;CAEJ;AAAb,KArDC,qBAqDD,CAAA,IAAA,MAAA,CAAA,GAAA;EAAR,gBAAA,EApDgB,CAoDhB;EAAI;AAIP;;EA+BC,WAAA,CAAA,EAnFc,OAmFd,CAnFsB,eAmFtB,CAAA,GAAA,SAAA;CACC;AAA8C,KA/EpC,sBA+EoC,CAAA,IAAA,OAAA,CAAA,GAAA;EAEpC,gBAAA,CAAA,EAhFQ,CAgFR,GAAA,SAAyB;EAAG;;;EAEhB,WAAA,CAAA,EA9ET,gBA8ES,GAAA,SAAA;AAExB,CAAA;AAAuC,KA7E3B,gBAAA,GAAmB,UA6EQ,CAAA,OA7EU,UA6EV,CAAA,CAAA,CAAA,CAAA;AAGvB,KA9EJ,2BA8EI,CAAA,UA9EkC,gBA8ElC,GAAA,OAAA,CAAA,GAAA,CA9EiE,CA8EjE,SAAA,MAAA,GA7Eb,qBA6Ea,CA7ES,CA6ET,CAAA,GA5Eb,sBA4Ea,CA5EU,CA4EV,CAAA,CAAA,GA3Ef,uBA2Ee;AAA4B,KAzEhC,2BAAA,GAyEgC;EAClB;;;;;;EAKR,OAAA,CAAA,EAAA,MAAA,GAAA,SAAA;CAA4B;AAClB,KAvEhB,2BAuEgB,CAAA,UAvEsB,gBAuEtB,GAAA,OAAA,CAAA,GAvEoD,2BAuEpD,GAtE3B,uBAsE2B,GArE3B,2BAqE2B,CArEC,CAqED,CAAA,GAAA;EAAb;;;;EACe,YAAA,CAAA,EAAA,OAAA,GAAA,SAAA;CAL1B;AAAM,UAzDO,wBAAA,CAyDP;;;KArDE,0CAA0C,8BAA8B,4BAA4B,KAC/G;KAEW,gBAAA;;KAET,IAAA,IAAQ,aAAa;;;KAIZ,2BAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA8BR,8BACH,2BACC,wBAAwB;KAEd,yBAAA,GAA4B,8BACvC,mCACA;KAEW,2BAA2B;+BAGvB,4BAA4B,kDAC/B,aAAa,KAAK,IAAI,OAC1B,mBAAmB,kCACxB,qCAGc,4BAA4B,kDAC/B,aAAa,KAAK,IAAI,OAC1B,mBAAmB"}
@@ -0,0 +1,12 @@
1
+ //#region src/testing/constants.d.ts
2
+ declare const UNI_PNG_BASE64 = "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";
3
+ declare const UNI_PNG_URL = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAACTFJREFUeJztna9vHEcUx78XBaWsiY7aVliKCizjK6sOmhwxiWRiYFIpf0FRYUCIpRCTI4ZHe9gyKKqZdT56csxqVHULfLN+Ozu/d37sZd9HsvLDdzuz877zdubNm1mAYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRiGYRhmt6i2P4PnVekKMGVhAQycUekKFKA6Oz4HAHy5+gwMsw1q2AMMHBbAwBma+6vdv2DojwH2AANnSAJo9f7ToxNs/2+wMYEhCaDFxfUlTo9OSlejKIMWADMcAbTcP2XIj4GhCEDL0B8DgxfA0BmCAKrpZGb90FAfA0MQAGNgEALY+3Fs/P3F9WWmmvSP710ATu4fGG5Q6HsXgDNDnQ3skgCC0rhs7j8CO51etksCwNaduza4s/uneDwGKgDVX3/ceJfRJ16XroAvJJunQrllXGNkcZfI5QEqdHeVo8VyjvXjBgCw7Xm66wX1fjEOsHiBhvF//nQIdBNijLYJJtsj4Oz4nDZs55u9uL60iSDF8z9mz6/E9Up6k+xjgJhCuLi+jD51M8QEYhm/ZfiSs4+cz1BlA25TsnzqUk0ns1bvJqldtfsP9QCnRye4uL5sXNNQd+d6A1D29pJpaTkHgaMvV59bDSkN6gDPhiACAtI8RytaToAX0BqeXLdYTmKJgo2u1MEjNIwsevvt/ct0bLW6Q1cv8OXqM1QDycVyLv+XsZ4O91o0IbW30yiFECoASqNQ4wu6iEBnfBVEEI16Ot5f8WzkkhVwGlQJIegMstls8PC0Vv6OigBwE4KP8SlCCB73VNz4QJxKUJfsez2tCMRATKASgsn4gtXqrvU9oC0Gm9B0+BielOPdTuTvUYUTRQBiVB4wogcsnsAkBBcBAC8isBFifJ9BYYDxG4+TFJ4jmgCAl14VMrXzEYEo4+DgvWdVn3n3Zq/++3jsP0hcLOfe44sYU8a+CgDQzL0dhVBNJ7O6UU0NqvIGNhF0NbZMqPHFPcLSFkDb8KdHJzFCzkpiXlAbgDEIoRGzt4mARsxEoEYlAGH0GAan3N7f1ANLX+MLNCIoFiuIfVFjFI5G1gD1M9dFBMILCAGkMriMrwAcYgnaKCO9BhLOGFJc2CoC22DL5XHgei3d9QG/QZ+INbjGF1zvs3SgKNXFtQNDl0Z36WldjE9H1a71odhEEBJIKrVtPWUBtQjowMmEqaEBNKaaXY0vsBlLFWUUdVPVw/VeTXXLGShKuRg0WiznFQAc/vSL8YO6Rj44eN+KvYc0bii6egGoB5+x6jedzELjKJ1IXVAlBmm6AZqpkWU+7B8GV0TV++myr2w413rFHoA6TBWjktIDGI3v2sBdjJ6SVDOPbbwgW75jskGgbnpWwvCm0bbKC5jqmGvKmcsTpPAAFQ3O0IbabDbKL4hGfXha96LHv3uz11hjiB1NdCGXJxACsGXSdK6EauFG7k1jxG9clwUbEWGkXqCE0SPgbcfX5BfaiBRJ17JdsDLF5mmjAnkidzZUSaB9MbjBCyjtERJK9opJay7cwjbyz4GcIgZYGyjrFNMFRfoZgCD7aD24Np/NZ8HDUHBNH+bvuryAPhheZewuaeiuwSTr0qSPEFTr9lKFkjd2rrhCLHwzimz4BpNcPuTlDeRNDqpEjpQi0Akg1/TNB9dFL1dCQsgu08A6pOtSWWrw06OTWhA5TuG4vb/ZmdG7j6ey0SWE7Lo1bARpc6aNf1792xJDaj7sH2I8Htc/Q4D0+qCpum8gyNkb/PDf86XFjtsQD1ByIcgH33rG6P2xFo5CIoEjAFgs551mCi7Q5WT6Z1chxL6OIGTJGwDWjxuvdoy5XNz1IlZvIKdwhTa6apqUKyEkVl1MO5hcU8y2RAsPd10LaHgDoJ0hE3Pw9239FQDwdu8jtuUCcBcCNb4q/OvyfVN9TNjcvs0LpEoSiZoVDLwYg97M+nETnClDWSzndaMLaOObru+bDyB/V6Aqv+sz35RiljpJJOoBETSDZ/24qX9iGF/F272P+Lb+WhtFFzq9vb/BwcH7VoTSx/iiHJfe7ouu3VLHTIDIHkAsBMkh15g3QQ1CMXkC1bqAS91sPd/2fcBt/6KtbilzA5IIQJAyKGMaiAmPY3O9plAw9VpdBqA6AfhEJndWAEDZEKxKACXi/zRCGboXEYkEsHPnBPrQh8UeoD/1UBF9a1jfvMCukzo3MMsxca6DICY/sQUwMh3GoEsKZdTkyAzOdlCk8AIsgn6RQgBaL8CPAndy7QvIflTsw9OavUCPSHY+wGI51x7fIs8Kcq/7x1oOdi1H4LtotYvnA7SOfLGJ4ObvP723bIciJ2CmTFQN2YouvieWh1OeDSSI+QjwOqP/4WmtND7wbCDdwk4owiC0PPHvVGUBzbxIn7LWjxunI/G7Ev2UMKB9Bo7KC6xWd07HqcbonbrtYTRhNUdZtsQYMvBrLK3//utvyTxBDA/QOAmE3ISorDE2IBPaY3ToFoRSZCub9iHa3komjfrrJNzFcp7kvQiCKI8AjeEpDRGYen9Mgwjjq3IBaFkxer/PPkRZ2IYp3wjPx+xrt+F1JYYARtAbvvG51erOaPyYqePyVFMWQSrj29LmZe/mON93bWNvirwyxkZX4+jW4GURxJ5tiMwekwjoo6APbx7LfWS5cgu67kDokEMgTUEmOe4Qw/i6TF9xfVu2dOmj44u/M0hGdfxrn5eTTc9+n0MlUUgEuQp1fkOIywETfRCCy6Dvw/5hw9v0UQQ5CjQaX2QNA2bj6yh1EIVrvqE49RTopwiKpoTJOe+r1Z3xiBkVD09rPNybVxlji8RlMYueLQyygQbwO3MhNckPilT1ftLrVeU3gh2hL4XwwSYQn82ciqCX8h778hq5pGcFx3pRpO4XOcShwhLZ3KkXSSY7KFK+MUuvDy5H94uu4ohkZBdivJU0mCxjgIT720aQFqLEieI+6w866BQu4dLsSBzDVyIwlCISWCta7G9DojCmDDlOfmT4wXQyo0Eg7WdjLxMbqGP+glSLP6mpzo7Pq7Pjc/Fm8Bw3UE0ns2o6mfmU5/XZ6WRG7yk14u3iOcuMSolK+wqgL9c2llugzJ0ldWOxMXpOLtfMMAzDMAzDMAzDMAzDMAzDMAzDMAyzI/wP4r+0NOqCJLoAAAAASUVORK5CYII=";
4
+ declare const UNI_IMAGE_DATA: {
5
+ width: number;
6
+ height: number;
7
+ colorSpace: PredefinedColorSpace;
8
+ data: Uint8ClampedArray<ArrayBuffer>;
9
+ };
10
+ //#endregion
11
+ export { UNI_IMAGE_DATA, UNI_PNG_BASE64, UNI_PNG_URL };
12
+ //# sourceMappingURL=constants.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/testing/constants.ts"],"sourcesContent":[],"mappings":";cAAa,cAAA;AAAA,cAGA,WAAA,GAHc,wrGAAA;AAGd,cAEA,cAFW,EAAA;EAEX,KAAA,EAAA,MAAA;EAGU,MAAA,EAAA,MAAA;cAAA"}