Skip to content

Commit

Permalink
refactor: ast -> html
Browse files Browse the repository at this point in the history
  • Loading branch information
Airkro committed Nov 24, 2023
1 parent 074f203 commit c7c6c22
Show file tree
Hide file tree
Showing 9 changed files with 124 additions and 11 deletions.
47 changes: 47 additions & 0 deletions lib/ast.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
function attrString(attr) {
const buff = [];

for (const [name, value] of Object.entries(attr)) {
buff.push(`${name}="${value}"`);
}

if (buff.length === 0) {
return '';
}

return ` ${buff.join(' ')}`;
}

// eslint-disable-next-line consistent-return
function stringifier(buff, doc) {
switch (doc.type) {
case 'text': {
return buff + doc.value;
}
case 'tag': {
// eslint-disable-next-line no-param-reassign
buff += `<${doc.name}${doc.attr ? attrString(doc.attr) : ''}${
doc.void ? ' />' : '>'
}`;

if (doc.void) {
return buff;
}

return `${
buff +
doc.children.reduce(
(accumulator, element) => stringifier(accumulator, element),
'',
)
}</${doc.name}>`;
}
default:
}
}

export function stringify(doc) {
return doc.reduce((token, rootEl) => {
return token + stringifier('', rootEl);
}, '');
}
60 changes: 51 additions & 9 deletions lib/transform.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { getValue, parse } from 'markdown-code-block-meta';

import { stringify } from './ast.mjs';
import { fetchData, mime, toDataURL } from './utils.mjs';

/* eslint-disable no-param-reassign */
Expand All @@ -14,28 +15,69 @@ const modes = {
node.children = [
{
type: 'image',
_meta: { kroki: true, type: diagramType },
alt: alt || diagramType,
url: toDataURL(data),
},
];
},
'object-base64': ({ node, diagramType, data, alt }) => {
node.type = 'html';
node.value = `<object type="${mime}" class="kroki-object" data-type="${diagramType}" title="${
alt || diagramType
}" data="${toDataURL(data)}">Load SVG fail...</object>`;
node.value = stringify([
{
type: 'tag',
name: 'object',
attr: {
type: mime,
class: 'kroki-object',
'data-type': diagramType,
title: alt || diagramType,
data: toDataURL(data),
},
children: [
{
type: 'text',
value: 'Load SVG fail...',
},
],
},
]);
},
'img-html-base64': ({ node, diagramType, data, alt }) => {
node.type = 'html';
node.value = `<img class="kroki-image" alt="${
alt || diagramType
}" src="${toDataURL(data)}" />`;
node.value = stringify([
{
type: 'tag',
name: 'img',
void: true,
attr: {
class: 'kroki-image',
alt: alt || diagramType,
'data-type': diagramType,
src: toDataURL(data),
},
},
]);
},
'inline-svg': ({ node, diagramType, data, alt }) => {
node.type = 'html';
node.value = `<div class="kroki-inline-svg" data-type="${diagramType}" data-alt="${
alt || diagramType
}">${removeXML(data.toString())}</div>`;
node.value = stringify([
{
type: 'tag',
name: 'div',
attr: {
class: 'kroki-inline-svg',
'data-type': diagramType,
'data-alt': alt || diagramType,
},
children: [
{
type: 'text',
value: removeXML(data.toString()),
},
],
},
]);
},
};

Expand Down
4 changes: 4 additions & 0 deletions test/output.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,10 @@ import test from 'ava';

import { TransformSnapshot } from './helper/lib.mjs';

test.before((t) => {
t.timeout(1000 ** 3);
});

function macro(t, { output }) {
return TransformSnapshot(
t,
Expand Down
8 changes: 8 additions & 0 deletions test/snapshots/base.mjs.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@ Generated by [AVA](https://avajs.dev).
{
children: [
{
_meta: {
kroki: true,
type: 'plantuml',
},
alt: 'abc',
type: 'image',
url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXMtYXNjaWkiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U3R5bGVUeXBlPSJ0ZXh0L2NzcyIgaGVpZ2h0PSIxMDVweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgc3R5bGU9IndpZHRoOjY4cHg7aGVpZ2h0OjEwNXB4O2JhY2tncm91bmQ6I0ZGRkZGRjsiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY4IDEwNSIgd2lkdGg9IjY4cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtZGFzaGFycmF5OjUuMCw1LjA7IiB4MT0iMTYiIHgyPSIxNiIgeTE9IjM2LjI5NjkiIHkyPSI3MC4yOTY5Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWRhc2hhcnJheTo1LjAsNS4wOyIgeDE9IjUwIiB4Mj0iNTAiIHkxPSIzNi4yOTY5IiB5Mj0iNzAuMjk2OSIvPjxyZWN0IGZpbGw9IiNFMkUyRjAiIGhlaWdodD0iMzAuMjk2OSIgcng9IjIuNSIgcnk9IjIuNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7IiB3aWR0aD0iMjMiIHg9IjUiIHk9IjUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5IiB4PSIxMiIgeT0iMjQuOTk1MSI+QTwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjIzIiB4PSI1IiB5PSI2OS4yOTY5Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOSIgeD0iMTIiIHk9Ijg5LjI5MiI+QTwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjI0IiB4PSIzOCIgeT0iNSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwIiB4PSI0NSIgeT0iMjQuOTk1MSI+QjwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjI0IiB4PSIzOCIgeT0iNjkuMjk2OSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwIiB4PSI0NSIgeT0iODkuMjkyIj5CPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzgsNDguMjk2OSw0OCw1Mi4yOTY5LDM4LDU2LjI5NjksNDIsNTIuMjk2OSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7c3Ryb2tlLWRhc2hhcnJheToyLjAsMi4wOyIgeDE9IjE2LjUiIHgyPSI0NCIgeTE9IjUyLjI5NjkiIHkyPSI1Mi4yOTY5Ii8+PCEtLVNSQz1bU3JKR3JSTEpTMDgwXS0tPjwvZz48L3N2Zz4=',
Expand Down Expand Up @@ -125,6 +129,10 @@ Generated by [AVA](https://avajs.dev).
{
children: [
{
_meta: {
kroki: true,
type: 'plantuml',
},
alt: 'abc',
type: 'image',
url: 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXMtYXNjaWkiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBjb250ZW50U3R5bGVUeXBlPSJ0ZXh0L2NzcyIgaGVpZ2h0PSIxMDVweCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSIgc3R5bGU9IndpZHRoOjY4cHg7aGVpZ2h0OjEwNXB4O2JhY2tncm91bmQ6I0ZGRkZGRjsiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDY4IDEwNSIgd2lkdGg9IjY4cHgiIHpvb21BbmRQYW49Im1hZ25pZnkiPjxkZWZzLz48Zz48bGluZSBzdHlsZT0ic3Ryb2tlOiMxODE4MTg7c3Ryb2tlLXdpZHRoOjAuNTtzdHJva2UtZGFzaGFycmF5OjUuMCw1LjA7IiB4MT0iMTYiIHgyPSIxNiIgeTE9IjM2LjI5NjkiIHkyPSI3MC4yOTY5Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7c3Ryb2tlLWRhc2hhcnJheTo1LjAsNS4wOyIgeDE9IjUwIiB4Mj0iNTAiIHkxPSIzNi4yOTY5IiB5Mj0iNzAuMjk2OSIvPjxyZWN0IGZpbGw9IiNFMkUyRjAiIGhlaWdodD0iMzAuMjk2OSIgcng9IjIuNSIgcnk9IjIuNSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDowLjU7IiB3aWR0aD0iMjMiIHg9IjUiIHk9IjUiLz48dGV4dCBmaWxsPSIjMDAwMDAwIiBmb250LWZhbWlseT0ic2Fucy1zZXJpZiIgZm9udC1zaXplPSIxNCIgbGVuZ3RoQWRqdXN0PSJzcGFjaW5nIiB0ZXh0TGVuZ3RoPSI5IiB4PSIxMiIgeT0iMjQuOTk1MSI+QTwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjIzIiB4PSI1IiB5PSI2OS4yOTY5Ii8+PHRleHQgZmlsbD0iIzAwMDAwMCIgZm9udC1mYW1pbHk9InNhbnMtc2VyaWYiIGZvbnQtc2l6ZT0iMTQiIGxlbmd0aEFkanVzdD0ic3BhY2luZyIgdGV4dExlbmd0aD0iOSIgeD0iMTIiIHk9Ijg5LjI5MiI+QTwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjI0IiB4PSIzOCIgeT0iNSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwIiB4PSI0NSIgeT0iMjQuOTk1MSI+QjwvdGV4dD48cmVjdCBmaWxsPSIjRTJFMkYwIiBoZWlnaHQ9IjMwLjI5NjkiIHJ4PSIyLjUiIHJ5PSIyLjUiIHN0eWxlPSJzdHJva2U6IzE4MTgxODtzdHJva2Utd2lkdGg6MC41OyIgd2lkdGg9IjI0IiB4PSIzOCIgeT0iNjkuMjk2OSIvPjx0ZXh0IGZpbGw9IiMwMDAwMDAiIGZvbnQtZmFtaWx5PSJzYW5zLXNlcmlmIiBmb250LXNpemU9IjE0IiBsZW5ndGhBZGp1c3Q9InNwYWNpbmciIHRleHRMZW5ndGg9IjEwIiB4PSI0NSIgeT0iODkuMjkyIj5CPC90ZXh0Pjxwb2x5Z29uIGZpbGw9IiMxODE4MTgiIHBvaW50cz0iMzgsNDguMjk2OSw0OCw1Mi4yOTY5LDM4LDU2LjI5NjksNDIsNTIuMjk2OSIgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7Ii8+PGxpbmUgc3R5bGU9InN0cm9rZTojMTgxODE4O3N0cm9rZS13aWR0aDoxLjA7c3Ryb2tlLWRhc2hhcnJheToyLjAsMi4wOyIgeDE9IjE2LjUiIHgyPSI0NCIgeTE9IjUyLjI5NjkiIHkyPSI1Mi4yOTY5Ii8+PCEtLVNSQz1bU3JKR3JSTEpTMDgwXS0tPjwvZz48L3N2Zz4=',
Expand Down
Binary file modified test/snapshots/base.mjs.snap
Binary file not shown.
8 changes: 8 additions & 0 deletions test/snapshots/fail.mjs.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ Generated by [AVA](https://avajs.dev).
{
children: [
{
_meta: {
kroki: true,
type: 'plantuml',
},
alt: '00',
type: 'image',
url: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgMTgwIj4KICA8cGF0aAogICAgZmlsbD0iI2FhYSIKICAgIGQ9Ik05Mi4xNyAzOS43NWMtLjE4LjIxIDAgLjk5Ljk3IDQuMTEuNzcgMi41Ljk1IDMuNy42OCA0LjY2LS4yMy44Mi0uNjEgMS4xOC0xLjYgMS40OS0uNDIuMTMtLjg2LjI4LS45OC4zMi0uMTIuMDQtLjM3LjAxLS41NS0uMDYtLjU5LS4yNC0xLjcxLTIuMTUtMi41Mi00LjMxLTEuNjMtNC4zNS0zLjc2LTE0LjQyLTUuNy0yNi45LS42MS0zLjk0LS43My01Ljc2LS40Ni02LjcxLjIyLS43OC45MS0xLjY2IDEuNTEtMS45Ny45OC0uNSAxLjM3LS41IDIuMzYtLjAzLjQ3LjIyNi43ODYuMzQzIDEuMDAyLjU2Mi40NDkuNDU1LjQ1NiAxLjM0Ni40OCA0LjU2NWwuMDA4Ljk2M2MuMDMgMy42My4xMiA1LjYuMyA3LjA1LjQxIDMuMTQuNTkgNC4wMi44NyA0LjA4LjE1LjAyLjc4LS42IDEuNjktMS42NyAxLjg3LTIuMjIgNS4wNC01LjI4IDYuNDMtNi4yIDEuODMtMS4yMyAyLjg2LTEuNjMgNC4xMi0xLjY0LjgzIDAgMS4yNS4wOCAxLjc5LjM1LjkzLjQ2IDEuMTYuOTUuOTkgMi4wN2wtLjEzLjg2LTIuMjcgMi4wNWMtMy43NSAzLjM5LTcuMTIgNy4wNy04LjMgOS4wOS0uNDkuODMtLjQ1IDEuMTIuMTYgMS4yNS41Ni4xMiA3Ljc1IDIuNjIgMTAuNDEgMy42MSAxLjE2LjQ0IDIuNjcuOTggMy4zNSAxLjIgMS42LjUzIDEuOTEuODYgMS45OSAyLjEuMTggMi43Mi0xLjExIDMuNTQtNC43OSAzLjA2LTMuMzYtLjQ0LTYuMDUtMS4yOS05LjQ5LTMuMDMtMS42NC0uODMtMi4yMS0xLjA2LTIuMzItLjkyWk0yMy4xOCAxNC45Yy0yLjk3IDAtNS42Ni44NC03LjkgMi40Ni0xLjc4IDEuMy02LjUxIDYuNDEtNy40NCA4LjA1LS40Ny44My0uODQgMS4wNC0xLjE1LjY0LS40NS0uNTctLjgtMi43NC0xLjAyLTYuMzEtLjMzLTUuNTMtLjUyLTYuNTUtMS41Mi04LjI1bC0uNDEtLjctLjc0LjA4Yy0xLjYuMTktMi41MSAxLjA5LTIuODcgMi44MS0uMjggMS4zMS0uMDkgNS4yNy4zNiA3LjcyIDEuNDQgNy44IDQuMiAxNy44NSA2LjU3IDIzLjg4IDEuMTYgMi45NSAyLjIyIDQuODQgMi45NyA1LjMuNjUuMzkgMS4yNS4zNyAyLjE4LS4xIDEuMDQtLjUxIDEuNDktMS4wOCAxLjcxLTIuMTMuNDMtMi4wOC0uMTEtNC4wMS0xLjk2LTcuMDgtMS40NS0yLjM5LTEuODUtMy4zMS0xLjg4LTQuMzQtLjA0LTEuMS4yMS0xLjI2IDEuNTgtMS4wNCAyLjIuMzcgNC4yOCAxLjM5IDguOSA0LjM3IDUuMTEgMy4zMSA3LjE1IDQuMjIgOS45MiA0LjQ4IDEuMzIuMTIgMS43LS4wNSAyLjE2LS45Ni40Mi0uODQuNDctMi40OS4xLTMuMjgtLjUxLTEuMDctMy40NC0zLjAzLTguMTQtNS40Mi00LjEyLTIuMTEtMTAuNjMtNC45Ni0xMi40Ni01LjQ1LS4xMS0uMDMtLjItLjE4LS4yLS4zMyAwLS40MSAzLjUzLTMuOTIgNi4yMi02LjE4IDIuNTgtMi4xOCA0LjQ2LTQuMDkgNS4xLTUuMTYuMjItLjM4LjQ5LTEuMTEuNTktMS42MWwuMDIzLS4xMWMuMTU4LS43NTQuMjI4LTEuMDg0LjA5NS0xLjIyOC0uMTAzLS4xMTItLjMyOS0uMTEyLS43My0uMTEyaC0uMDU4Wm05MC4yOC0uNWMxLjA1LjY1IDEuNzQgMS43MSAxLjgyIDIuNzcuMDMuNDgtLjAxIDEtLjEgMS4xNy0uNDUuODMtMi4xIDEtNC4yNi40NWwtMS4yOS0uMzMuMDUtLjgzYy4xLTIuMTEuNzktMy4xOCAyLjI0LTMuNDguODEtLjE3Ljg3LS4xNiAxLjU0LjI1Wm0xLjg4IDEwLjdjLjQ2LS4xMS40OC0uMDQuNjUgMS45Ny4xNiAxLjg2LjUyIDMuNjggMS41MSA3LjYzIDEuOTMgNy43IDIuNSAxMC43MSAyLjUgMTMuMiAwIDEuMzEtLjQyIDIuMjgtMS4xNiAyLjcxLS41OC4zMy0xLjc0LjQ1LTIuNTIuMjUtMS4zLS4zMi0yLjA5LTEuMDctMi45OC0yLjg1LTEuNDctMi45Mi0yLjI3LTkuNjYtMi4wNC0xNy4wNGwuMTEtMy4zNS41My0uNjJjLjUxLS42IDIuNDEtMS42NiAzLjQtMS45Wm0tNTguMTUgNy41OGMuNDctMi4yNC0xLTQuNzQtMy40NC01Ljg4LS44NS0uNC0xLjI0LS40OC0yLjQtLjUzLTIuNTMtLjEyLTQuMDEuNDUtNS44MSAyLjI0LTEuNTQgMS41Mi0zLjI2IDQuNC0zLjc4IDYuMzQtLjI1LjkyLS42NC44Mi0xLjA2LS4yNi0uNjQtMS42MS0yLjI0LTQuNzktMi45MS01Ljc4LS45LTEuMzMtMS40OC0xLjcxLTIuNDUtMS42Mi0xLjI3LjEyLTEuOSAxLjE0LTEuOSAzLjA1IDAgMy40NyAzLjk0IDEyLjg5IDcuMiAxNy4yMyAxLjYgMi4xMiAyLjYzIDMuMDIgMy44MiAzLjM0Ljg5LjI0LjkyLjI0IDEuODMuMDUuODItLjE4IDEuNTgtLjg2IDEuNzctMS41OS4xOS0uNzktLjA2LTMuMTgtLjU2LTUuMi0uNDYtMS44NS0uNTEtMi4yMy0uNDktNC4xNS4wMy00LjIxIDEuMDMtNi42NiAyLjk2LTcuMi4zNS0uMS43OS0uMzIuOTgtLjQ4LjQ0LS4zOS41OS0uMjcgMS41IDEuMjlsLjcxIDEuMjEgMS4wMS0uMDhjMS44Ny0uMTYgMi43Ni0uNzQgMy4wMi0xLjk4Wm0uNyA1LjE1Yy44Ni0zLjgzIDQtNy41NiA4LjA4LTkuNjIgMi40OC0xLjI1IDQuNTctMS44MSA3LjE5LTEuOTIgMi40OC0uMTEgMy4xOC4xNCA0Ljc4IDEuNzUgMi4zMiAyLjMyIDMuNiA1LjcyIDMuNDIgOS4wNy0uMSAxLjkxLS4zOSAzLjAxLTEuMTcgNC41OC0xLjcxIDMuNDItNC41NyA2LjIxLTguMDkgNy45LTIuMzEgMS4xMS01LjA1IDEuNTktNy4yNiAxLjI4LTMuNzItLjUxLTYuMTctMy4wNi02Ljk4LTcuMjMtLjI5LTEuNTEtLjI3LTQuNDUuMDMtNS44MVptNy4xMS0uMWMtMS41NSAxLjg0LTEuOSAyLjU3LTEuOSAzLjkgMCAyLjA3Ljc4IDMuMjIgMi40OSAzLjY3Ljc3LjIgMi42Ni4wNCAzLjU0LS4zMiAxLjI2LS40OSAyLjQtMS4zMSAzLjczLTIuNjQgMS4zMy0xLjM1IDIuMDQtMi40MyAyLjYtMy45Ny42Ny0xLjg0LjYxLTMuOTctLjE1LTUuNDctLjQ1LS45Mi0uOTgtMS4yNy0xLjg1LTEuMjYtMS44LjAzLTUuNzcgMi44OS04LjQ2IDYuMDlaIgogIC8+CiAgPHRleHQgeT0iODAiIGZpbGw9IiNhYWEiIGZvbnQtc2l6ZT0iMTQiPkZhaWwsIHBsZWFzZSBjaGVjayB5b3VyIGlucHV0LjwvdGV4dD4KICA8Zm9yZWlnbk9iamVjdCB3aWR0aD0iNjAwIiBoZWlnaHQ9IjgwIiB5PSI5MCIgZm9udC1zaXplPSIxNCI+CiAgICA8ZGl2CiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgogICAgICBzdHlsZT0iY29sb3I6I2ZmMjIwMDt3b3JkLWJyZWFrOmJyZWFrLWFsbCIKICAgID4KICAgICAgRXJyb3IgNDAwOiBTeW50YXggRXJyb3I/IChsaW5lOiAxKQogICAgPC9kaXY+CiAgPC9mb3JlaWduT2JqZWN0Pgo8L3N2Zz4K',
Expand Down Expand Up @@ -71,6 +75,10 @@ Generated by [AVA](https://avajs.dev).
{
children: [
{
_meta: {
kroki: true,
type: 'fake',
},
alt: 'fake',
type: 'image',
url: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2MDAgMTgwIj4KICA8cGF0aAogICAgZmlsbD0iI2FhYSIKICAgIGQ9Ik05Mi4xNyAzOS43NWMtLjE4LjIxIDAgLjk5Ljk3IDQuMTEuNzcgMi41Ljk1IDMuNy42OCA0LjY2LS4yMy44Mi0uNjEgMS4xOC0xLjYgMS40OS0uNDIuMTMtLjg2LjI4LS45OC4zMi0uMTIuMDQtLjM3LjAxLS41NS0uMDYtLjU5LS4yNC0xLjcxLTIuMTUtMi41Mi00LjMxLTEuNjMtNC4zNS0zLjc2LTE0LjQyLTUuNy0yNi45LS42MS0zLjk0LS43My01Ljc2LS40Ni02LjcxLjIyLS43OC45MS0xLjY2IDEuNTEtMS45Ny45OC0uNSAxLjM3LS41IDIuMzYtLjAzLjQ3LjIyNi43ODYuMzQzIDEuMDAyLjU2Mi40NDkuNDU1LjQ1NiAxLjM0Ni40OCA0LjU2NWwuMDA4Ljk2M2MuMDMgMy42My4xMiA1LjYuMyA3LjA1LjQxIDMuMTQuNTkgNC4wMi44NyA0LjA4LjE1LjAyLjc4LS42IDEuNjktMS42NyAxLjg3LTIuMjIgNS4wNC01LjI4IDYuNDMtNi4yIDEuODMtMS4yMyAyLjg2LTEuNjMgNC4xMi0xLjY0LjgzIDAgMS4yNS4wOCAxLjc5LjM1LjkzLjQ2IDEuMTYuOTUuOTkgMi4wN2wtLjEzLjg2LTIuMjcgMi4wNWMtMy43NSAzLjM5LTcuMTIgNy4wNy04LjMgOS4wOS0uNDkuODMtLjQ1IDEuMTIuMTYgMS4yNS41Ni4xMiA3Ljc1IDIuNjIgMTAuNDEgMy42MSAxLjE2LjQ0IDIuNjcuOTggMy4zNSAxLjIgMS42LjUzIDEuOTEuODYgMS45OSAyLjEuMTggMi43Mi0xLjExIDMuNTQtNC43OSAzLjA2LTMuMzYtLjQ0LTYuMDUtMS4yOS05LjQ5LTMuMDMtMS42NC0uODMtMi4yMS0xLjA2LTIuMzItLjkyWk0yMy4xOCAxNC45Yy0yLjk3IDAtNS42Ni44NC03LjkgMi40Ni0xLjc4IDEuMy02LjUxIDYuNDEtNy40NCA4LjA1LS40Ny44My0uODQgMS4wNC0xLjE1LjY0LS40NS0uNTctLjgtMi43NC0xLjAyLTYuMzEtLjMzLTUuNTMtLjUyLTYuNTUtMS41Mi04LjI1bC0uNDEtLjctLjc0LjA4Yy0xLjYuMTktMi41MSAxLjA5LTIuODcgMi44MS0uMjggMS4zMS0uMDkgNS4yNy4zNiA3LjcyIDEuNDQgNy44IDQuMiAxNy44NSA2LjU3IDIzLjg4IDEuMTYgMi45NSAyLjIyIDQuODQgMi45NyA1LjMuNjUuMzkgMS4yNS4zNyAyLjE4LS4xIDEuMDQtLjUxIDEuNDktMS4wOCAxLjcxLTIuMTMuNDMtMi4wOC0uMTEtNC4wMS0xLjk2LTcuMDgtMS40NS0yLjM5LTEuODUtMy4zMS0xLjg4LTQuMzQtLjA0LTEuMS4yMS0xLjI2IDEuNTgtMS4wNCAyLjIuMzcgNC4yOCAxLjM5IDguOSA0LjM3IDUuMTEgMy4zMSA3LjE1IDQuMjIgOS45MiA0LjQ4IDEuMzIuMTIgMS43LS4wNSAyLjE2LS45Ni40Mi0uODQuNDctMi40OS4xLTMuMjgtLjUxLTEuMDctMy40NC0zLjAzLTguMTQtNS40Mi00LjEyLTIuMTEtMTAuNjMtNC45Ni0xMi40Ni01LjQ1LS4xMS0uMDMtLjItLjE4LS4yLS4zMyAwLS40MSAzLjUzLTMuOTIgNi4yMi02LjE4IDIuNTgtMi4xOCA0LjQ2LTQuMDkgNS4xLTUuMTYuMjItLjM4LjQ5LTEuMTEuNTktMS42MWwuMDIzLS4xMWMuMTU4LS43NTQuMjI4LTEuMDg0LjA5NS0xLjIyOC0uMTAzLS4xMTItLjMyOS0uMTEyLS43My0uMTEyaC0uMDU4Wm05MC4yOC0uNWMxLjA1LjY1IDEuNzQgMS43MSAxLjgyIDIuNzcuMDMuNDgtLjAxIDEtLjEgMS4xNy0uNDUuODMtMi4xIDEtNC4yNi40NWwtMS4yOS0uMzMuMDUtLjgzYy4xLTIuMTEuNzktMy4xOCAyLjI0LTMuNDguODEtLjE3Ljg3LS4xNiAxLjU0LjI1Wm0xLjg4IDEwLjdjLjQ2LS4xMS40OC0uMDQuNjUgMS45Ny4xNiAxLjg2LjUyIDMuNjggMS41MSA3LjYzIDEuOTMgNy43IDIuNSAxMC43MSAyLjUgMTMuMiAwIDEuMzEtLjQyIDIuMjgtMS4xNiAyLjcxLS41OC4zMy0xLjc0LjQ1LTIuNTIuMjUtMS4zLS4zMi0yLjA5LTEuMDctMi45OC0yLjg1LTEuNDctMi45Mi0yLjI3LTkuNjYtMi4wNC0xNy4wNGwuMTEtMy4zNS41My0uNjJjLjUxLS42IDIuNDEtMS42NiAzLjQtMS45Wm0tNTguMTUgNy41OGMuNDctMi4yNC0xLTQuNzQtMy40NC01Ljg4LS44NS0uNC0xLjI0LS40OC0yLjQtLjUzLTIuNTMtLjEyLTQuMDEuNDUtNS44MSAyLjI0LTEuNTQgMS41Mi0zLjI2IDQuNC0zLjc4IDYuMzQtLjI1LjkyLS42NC44Mi0xLjA2LS4yNi0uNjQtMS42MS0yLjI0LTQuNzktMi45MS01Ljc4LS45LTEuMzMtMS40OC0xLjcxLTIuNDUtMS42Mi0xLjI3LjEyLTEuOSAxLjE0LTEuOSAzLjA1IDAgMy40NyAzLjk0IDEyLjg5IDcuMiAxNy4yMyAxLjYgMi4xMiAyLjYzIDMuMDIgMy44MiAzLjM0Ljg5LjI0LjkyLjI0IDEuODMuMDUuODItLjE4IDEuNTgtLjg2IDEuNzctMS41OS4xOS0uNzktLjA2LTMuMTgtLjU2LTUuMi0uNDYtMS44NS0uNTEtMi4yMy0uNDktNC4xNS4wMy00LjIxIDEuMDMtNi42NiAyLjk2LTcuMi4zNS0uMS43OS0uMzIuOTgtLjQ4LjQ0LS4zOS41OS0uMjcgMS41IDEuMjlsLjcxIDEuMjEgMS4wMS0uMDhjMS44Ny0uMTYgMi43Ni0uNzQgMy4wMi0xLjk4Wm0uNyA1LjE1Yy44Ni0zLjgzIDQtNy41NiA4LjA4LTkuNjIgMi40OC0xLjI1IDQuNTctMS44MSA3LjE5LTEuOTIgMi40OC0uMTEgMy4xOC4xNCA0Ljc4IDEuNzUgMi4zMiAyLjMyIDMuNiA1LjcyIDMuNDIgOS4wNy0uMSAxLjkxLS4zOSAzLjAxLTEuMTcgNC41OC0xLjcxIDMuNDItNC41NyA2LjIxLTguMDkgNy45LTIuMzEgMS4xMS01LjA1IDEuNTktNy4yNiAxLjI4LTMuNzItLjUxLTYuMTctMy4wNi02Ljk4LTcuMjMtLjI5LTEuNTEtLjI3LTQuNDUuMDMtNS44MVptNy4xMS0uMWMtMS41NSAxLjg0LTEuOSAyLjU3LTEuOSAzLjkgMCAyLjA3Ljc4IDMuMjIgMi40OSAzLjY3Ljc3LjIgMi42Ni4wNCAzLjU0LS4zMiAxLjI2LS40OSAyLjQtMS4zMSAzLjczLTIuNjQgMS4zMy0xLjM1IDIuMDQtMi40MyAyLjYtMy45Ny42Ny0xLjg0LjYxLTMuOTctLjE1LTUuNDctLjQ1LS45Mi0uOTgtMS4yNy0xLjg1LTEuMjYtMS44LjAzLTUuNzcgMi44OS04LjQ2IDYuMDlaIgogIC8+CiAgPHRleHQgeT0iODAiIGZpbGw9IiNhYWEiIGZvbnQtc2l6ZT0iMTQiPkZhaWwsIHBsZWFzZSBjaGVjayB5b3VyIGlucHV0LjwvdGV4dD4KICA8Zm9yZWlnbk9iamVjdCB3aWR0aD0iNjAwIiBoZWlnaHQ9IjgwIiB5PSI5MCIgZm9udC1zaXplPSIxNCI+CiAgICA8ZGl2CiAgICAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIgogICAgICBzdHlsZT0iY29sb3I6I2ZmMjIwMDt3b3JkLWJyZWFrOmJyZWFrLWFsbCIKICAgID4KICAgICAgRXJyb3IgNDA0OiBOb3QgRm91bmQKICAgIDwvZGl2PgogIDwvZm9yZWlnbk9iamVjdD4KPC9zdmc+Cg==',
Expand Down
Binary file modified test/snapshots/fail.mjs.snap
Binary file not shown.
Loading

0 comments on commit c7c6c22

Please sign in to comment.