schematex 0.3.0 → 0.3.3
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.
- package/dist/ai/ai-sdk.cjs +25 -25
- package/dist/ai/ai-sdk.d.cts +1 -1
- package/dist/ai/ai-sdk.d.ts +1 -1
- package/dist/ai/ai-sdk.js +20 -20
- package/dist/ai/index.cjs +28 -28
- package/dist/ai/index.d.cts +1 -1
- package/dist/ai/index.d.ts +1 -1
- package/dist/ai/index.js +20 -20
- package/dist/browser.cjs +22 -22
- package/dist/browser.js +20 -20
- package/dist/{chunk-HDKDQAEQ.cjs → chunk-3WNW5Y7P.cjs} +54 -2
- package/dist/chunk-3WNW5Y7P.cjs.map +1 -0
- package/dist/{chunk-B6INLQBU.cjs → chunk-55UEHL57.cjs} +46 -46
- package/dist/{chunk-B6INLQBU.cjs.map → chunk-55UEHL57.cjs.map} +1 -1
- package/dist/{chunk-JDTB7IKL.js → chunk-5U2W3HQA.js} +3 -3
- package/dist/{chunk-JDTB7IKL.js.map → chunk-5U2W3HQA.js.map} +1 -1
- package/dist/{chunk-ULYRO2KY.cjs → chunk-5UCXMYE7.cjs} +44 -44
- package/dist/{chunk-ULYRO2KY.cjs.map → chunk-5UCXMYE7.cjs.map} +1 -1
- package/dist/{chunk-UGCUNADI.js → chunk-66XQBGX7.js} +35 -16
- package/dist/chunk-66XQBGX7.js.map +1 -0
- package/dist/{chunk-45KP67RR.js → chunk-6TIN33CA.js} +5 -5
- package/dist/chunk-6TIN33CA.js.map +1 -0
- package/dist/{chunk-NNU4RGT3.js → chunk-6YUP3QMA.js} +39 -27
- package/dist/chunk-6YUP3QMA.js.map +1 -0
- package/dist/{chunk-COLTVQWR.cjs → chunk-7EWFVNYD.cjs} +25 -25
- package/dist/{chunk-COLTVQWR.cjs.map → chunk-7EWFVNYD.cjs.map} +1 -1
- package/dist/{chunk-RP5UATRA.js → chunk-AC3XH3LB.js} +4 -4
- package/dist/{chunk-RP5UATRA.js.map → chunk-AC3XH3LB.js.map} +1 -1
- package/dist/{chunk-XTATRNUN.cjs → chunk-APV4AWQ5.cjs} +442 -430
- package/dist/chunk-APV4AWQ5.cjs.map +1 -0
- package/dist/{chunk-NZH4GWE6.cjs → chunk-AVIKQZSX.cjs} +37 -37
- package/dist/{chunk-NZH4GWE6.cjs.map → chunk-AVIKQZSX.cjs.map} +1 -1
- package/dist/{chunk-X7RPFTTR.cjs → chunk-CWZKP3CJ.cjs} +26 -26
- package/dist/{chunk-X7RPFTTR.cjs.map → chunk-CWZKP3CJ.cjs.map} +1 -1
- package/dist/{chunk-TYCHEOQX.js → chunk-FIVUMDLF.js} +49 -24
- package/dist/chunk-FIVUMDLF.js.map +1 -0
- package/dist/{chunk-DNZFOCV7.js → chunk-FO7BLCEW.js} +3 -3
- package/dist/{chunk-DNZFOCV7.js.map → chunk-FO7BLCEW.js.map} +1 -1
- package/dist/{chunk-OC22GGQN.js → chunk-GLFBHQSQ.js} +54 -4
- package/dist/chunk-GLFBHQSQ.js.map +1 -0
- package/dist/{chunk-XZNPAD6E.js → chunk-GVCPFBAV.js} +59 -8
- package/dist/chunk-GVCPFBAV.js.map +1 -0
- package/dist/{chunk-B37IKTI7.cjs → chunk-HOI6QKC6.cjs} +97 -47
- package/dist/chunk-HOI6QKC6.cjs.map +1 -0
- package/dist/{chunk-A5D2IMOX.cjs → chunk-IAEABLIV.cjs} +47 -47
- package/dist/{chunk-A5D2IMOX.cjs.map → chunk-IAEABLIV.cjs.map} +1 -1
- package/dist/{chunk-5YYAYW67.js → chunk-IQRRZPVZ.js} +3 -3
- package/dist/{chunk-5YYAYW67.js.map → chunk-IQRRZPVZ.js.map} +1 -1
- package/dist/{chunk-VLMK7MQK.js → chunk-MNOO7STY.js} +25 -6
- package/dist/chunk-MNOO7STY.js.map +1 -0
- package/dist/{chunk-ZNOD4VZT.cjs → chunk-N56YC75X.cjs} +46 -46
- package/dist/{chunk-ZNOD4VZT.cjs.map → chunk-N56YC75X.cjs.map} +1 -1
- package/dist/{chunk-YQANC7HQ.js → chunk-PAG3BNIV.js} +3 -3
- package/dist/{chunk-YQANC7HQ.js.map → chunk-PAG3BNIV.js.map} +1 -1
- package/dist/{chunk-QSQX77S2.cjs → chunk-PG6TDGKI.cjs} +21 -21
- package/dist/{chunk-QSQX77S2.cjs.map → chunk-PG6TDGKI.cjs.map} +1 -1
- package/dist/{chunk-WYFXOXVK.cjs → chunk-Q5OFA4I2.cjs} +35 -35
- package/dist/{chunk-WYFXOXVK.cjs.map → chunk-Q5OFA4I2.cjs.map} +1 -1
- package/dist/{chunk-MJGDP3CS.cjs → chunk-QOLBWCF5.cjs} +488 -109
- package/dist/chunk-QOLBWCF5.cjs.map +1 -0
- package/dist/{chunk-MCFQAUQV.cjs → chunk-QXL7AY2H.cjs} +58 -39
- package/dist/chunk-QXL7AY2H.cjs.map +1 -0
- package/dist/chunk-SYYBKDL7.js +122 -0
- package/dist/chunk-SYYBKDL7.js.map +1 -0
- package/dist/{chunk-H2OEUBPO.js → chunk-TQU44E46.js} +441 -62
- package/dist/chunk-TQU44E46.js.map +1 -0
- package/dist/{chunk-FCGHV6ZK.js → chunk-U3KRKXF7.js} +4 -4
- package/dist/{chunk-FCGHV6ZK.js.map → chunk-U3KRKXF7.js.map} +1 -1
- package/dist/{chunk-3YZ6FPQW.cjs → chunk-UDGU73RL.cjs} +131 -131
- package/dist/{chunk-3YZ6FPQW.cjs.map → chunk-UDGU73RL.cjs.map} +1 -1
- package/dist/{chunk-U6L3FAML.js → chunk-UDJ2KN2A.js} +3 -3
- package/dist/{chunk-U6L3FAML.js.map → chunk-UDJ2KN2A.js.map} +1 -1
- package/dist/{chunk-FE6GAUNW.js → chunk-UT4TIDAA.js} +5 -5
- package/dist/{chunk-FE6GAUNW.js.map → chunk-UT4TIDAA.js.map} +1 -1
- package/dist/{chunk-SQKLKBBK.cjs → chunk-UWRTV6IV.cjs} +27 -8
- package/dist/chunk-UWRTV6IV.cjs.map +1 -0
- package/dist/{chunk-NB56L5QK.js → chunk-WTF6JXHN.js} +4 -4
- package/dist/{chunk-NB56L5QK.js.map → chunk-WTF6JXHN.js.map} +1 -1
- package/dist/{chunk-ZNDIGQJD.js → chunk-X5QJO4ZD.js} +3 -3
- package/dist/{chunk-ZNDIGQJD.js.map → chunk-X5QJO4ZD.js.map} +1 -1
- package/dist/{chunk-M5B2UUNW.js → chunk-XV2DTN6G.js} +4 -4
- package/dist/{chunk-M5B2UUNW.js.map → chunk-XV2DTN6G.js.map} +1 -1
- package/dist/{chunk-K2SOC3XF.cjs → chunk-YUPG2M3I.cjs} +71 -20
- package/dist/chunk-YUPG2M3I.cjs.map +1 -0
- package/dist/{chunk-2JDVJRR3.cjs → chunk-ZCW7YH3C.cjs} +28 -28
- package/dist/chunk-ZCW7YH3C.cjs.map +1 -0
- package/dist/{chunk-3FKS4KQK.cjs → chunk-ZFNZ2FYI.cjs} +88 -63
- package/dist/chunk-ZFNZ2FYI.cjs.map +1 -0
- package/dist/{chunk-5AEN2PLB.cjs → chunk-ZZJDGGC3.cjs} +33 -33
- package/dist/{chunk-5AEN2PLB.cjs.map → chunk-ZZJDGGC3.cjs.map} +1 -1
- package/dist/diagrams/blockdiagram/index.cjs +6 -6
- package/dist/diagrams/blockdiagram/index.d.cts +1 -1
- package/dist/diagrams/blockdiagram/index.d.ts +1 -1
- package/dist/diagrams/blockdiagram/index.js +2 -2
- package/dist/diagrams/circuit/index.cjs +8 -8
- package/dist/diagrams/circuit/index.d.cts +1 -1
- package/dist/diagrams/circuit/index.d.ts +1 -1
- package/dist/diagrams/circuit/index.js +2 -2
- package/dist/diagrams/ecomap/index.cjs +8 -8
- package/dist/diagrams/ecomap/index.d.cts +1 -1
- package/dist/diagrams/ecomap/index.d.ts +1 -1
- package/dist/diagrams/ecomap/index.js +3 -3
- package/dist/diagrams/entity/index.cjs +6 -6
- package/dist/diagrams/entity/index.d.cts +1 -1
- package/dist/diagrams/entity/index.d.ts +1 -1
- package/dist/diagrams/entity/index.js +2 -2
- package/dist/diagrams/fishbone/index.cjs +8 -8
- package/dist/diagrams/fishbone/index.d.cts +1 -1
- package/dist/diagrams/fishbone/index.d.ts +1 -1
- package/dist/diagrams/fishbone/index.js +2 -2
- package/dist/diagrams/flowchart/index.cjs +8 -8
- package/dist/diagrams/flowchart/index.d.cts +2 -2
- package/dist/diagrams/flowchart/index.d.ts +2 -2
- package/dist/diagrams/flowchart/index.js +2 -2
- package/dist/diagrams/genogram/index.cjs +10 -10
- package/dist/diagrams/genogram/index.d.cts +1 -1
- package/dist/diagrams/genogram/index.d.ts +1 -1
- package/dist/diagrams/genogram/index.js +3 -3
- package/dist/diagrams/ladder/index.cjs +6 -6
- package/dist/diagrams/ladder/index.d.cts +1 -1
- package/dist/diagrams/ladder/index.d.ts +1 -1
- package/dist/diagrams/ladder/index.js +2 -2
- package/dist/diagrams/logic/index.cjs +6 -6
- package/dist/diagrams/logic/index.d.cts +1 -1
- package/dist/diagrams/logic/index.d.ts +1 -1
- package/dist/diagrams/logic/index.js +2 -2
- package/dist/diagrams/orgchart/index.cjs +7 -7
- package/dist/diagrams/orgchart/index.d.cts +1 -1
- package/dist/diagrams/orgchart/index.d.ts +1 -1
- package/dist/diagrams/orgchart/index.js +2 -2
- package/dist/diagrams/pedigree/index.cjs +8 -8
- package/dist/diagrams/pedigree/index.d.cts +1 -1
- package/dist/diagrams/pedigree/index.d.ts +1 -1
- package/dist/diagrams/pedigree/index.js +3 -3
- package/dist/diagrams/phylo/index.cjs +7 -7
- package/dist/diagrams/phylo/index.d.cts +1 -1
- package/dist/diagrams/phylo/index.d.ts +1 -1
- package/dist/diagrams/phylo/index.js +2 -2
- package/dist/diagrams/sld/index.cjs +6 -6
- package/dist/diagrams/sld/index.d.cts +1 -1
- package/dist/diagrams/sld/index.d.ts +1 -1
- package/dist/diagrams/sld/index.js +2 -2
- package/dist/diagrams/sociogram/index.cjs +7 -7
- package/dist/diagrams/sociogram/index.d.cts +1 -1
- package/dist/diagrams/sociogram/index.d.ts +1 -1
- package/dist/diagrams/sociogram/index.js +3 -3
- package/dist/diagrams/timing/index.cjs +5 -5
- package/dist/diagrams/timing/index.d.cts +1 -1
- package/dist/diagrams/timing/index.d.ts +1 -1
- package/dist/diagrams/timing/index.js +2 -2
- package/dist/diagrams/venn/index.cjs +9 -9
- package/dist/diagrams/venn/index.d.cts +1 -1
- package/dist/diagrams/venn/index.d.ts +1 -1
- package/dist/diagrams/venn/index.js +2 -2
- package/dist/{index-CUwp4GXI.d.ts → index-D3u6vcA4.d.ts} +1 -1
- package/dist/{index-ivhNGsyU.d.cts → index-bdfj6FpQ.d.cts} +1 -1
- package/dist/index.cjs +41 -41
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +19 -19
- package/dist/react.cjs +20 -20
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +19 -19
- package/dist/react.js.map +1 -1
- package/dist/{types-Bl-Pn7Wj.d.cts → types-DnU2UlWz.d.cts} +26 -3
- package/dist/{types-Bl-Pn7Wj.d.ts → types-DnU2UlWz.d.ts} +26 -3
- package/package.json +1 -1
- package/dist/chunk-2JDVJRR3.cjs.map +0 -1
- package/dist/chunk-3FKS4KQK.cjs.map +0 -1
- package/dist/chunk-45KP67RR.js.map +0 -1
- package/dist/chunk-B37IKTI7.cjs.map +0 -1
- package/dist/chunk-H2OEUBPO.js.map +0 -1
- package/dist/chunk-HDKDQAEQ.cjs.map +0 -1
- package/dist/chunk-K2SOC3XF.cjs.map +0 -1
- package/dist/chunk-KLJEK547.js +0 -71
- package/dist/chunk-KLJEK547.js.map +0 -1
- package/dist/chunk-MCFQAUQV.cjs.map +0 -1
- package/dist/chunk-MJGDP3CS.cjs.map +0 -1
- package/dist/chunk-NNU4RGT3.js.map +0 -1
- package/dist/chunk-OC22GGQN.js.map +0 -1
- package/dist/chunk-SQKLKBBK.cjs.map +0 -1
- package/dist/chunk-TYCHEOQX.js.map +0 -1
- package/dist/chunk-UGCUNADI.js.map +0 -1
- package/dist/chunk-VLMK7MQK.js.map +0 -1
- package/dist/chunk-XTATRNUN.cjs.map +0 -1
- package/dist/chunk-XZNPAD6E.js.map +0 -1
package/dist/ai/ai-sdk.cjs
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
14
|
-
require('../chunk-
|
|
15
|
-
require('../chunk-
|
|
16
|
-
require('../chunk-
|
|
17
|
-
require('../chunk-
|
|
18
|
-
require('../chunk-
|
|
19
|
-
require('../chunk-
|
|
20
|
-
require('../chunk-
|
|
21
|
-
require('../chunk-
|
|
3
|
+
var chunkUWRTV6IV_cjs = require('../chunk-UWRTV6IV.cjs');
|
|
4
|
+
require('../chunk-APV4AWQ5.cjs');
|
|
5
|
+
require('../chunk-IAEABLIV.cjs');
|
|
6
|
+
require('../chunk-YUPG2M3I.cjs');
|
|
7
|
+
require('../chunk-QXL7AY2H.cjs');
|
|
8
|
+
require('../chunk-55UEHL57.cjs');
|
|
9
|
+
require('../chunk-UDGU73RL.cjs');
|
|
10
|
+
require('../chunk-N56YC75X.cjs');
|
|
11
|
+
require('../chunk-ZZJDGGC3.cjs');
|
|
12
|
+
require('../chunk-PG6TDGKI.cjs');
|
|
13
|
+
require('../chunk-ZFNZ2FYI.cjs');
|
|
14
|
+
require('../chunk-QOLBWCF5.cjs');
|
|
15
|
+
require('../chunk-AVIKQZSX.cjs');
|
|
16
|
+
require('../chunk-HOI6QKC6.cjs');
|
|
17
|
+
require('../chunk-CWZKP3CJ.cjs');
|
|
18
|
+
require('../chunk-7EWFVNYD.cjs');
|
|
19
|
+
require('../chunk-5UCXMYE7.cjs');
|
|
20
|
+
require('../chunk-ZCW7YH3C.cjs');
|
|
21
|
+
require('../chunk-Q5OFA4I2.cjs');
|
|
22
22
|
require('../chunk-D7EHZFK4.cjs');
|
|
23
|
-
require('../chunk-
|
|
23
|
+
require('../chunk-3WNW5Y7P.cjs');
|
|
24
24
|
var ai = require('ai');
|
|
25
25
|
var zod = require('zod');
|
|
26
26
|
|
|
@@ -28,7 +28,7 @@ var schematexTools = {
|
|
|
28
28
|
listDiagrams: ai.tool({
|
|
29
29
|
description: "List every Schematex diagram type with a tagline, 'use when' hint, domain cluster, and authoritative standard. Call this first to discover what's available.",
|
|
30
30
|
inputSchema: zod.z.object({}),
|
|
31
|
-
execute: async () =>
|
|
31
|
+
execute: async () => chunkUWRTV6IV_cjs.listDiagrams()
|
|
32
32
|
}),
|
|
33
33
|
getSyntax: ai.tool({
|
|
34
34
|
description: "Return a compact syntax reference for one diagram type \u2014 rules, grammar (EBNF), and inline examples. Trimmed for LLM consumption (~2,000\u20134,000 tokens). Call after listDiagrams once you've chosen a type.",
|
|
@@ -37,7 +37,7 @@ var schematexTools = {
|
|
|
37
37
|
"Diagram type id from listDiagrams (e.g. 'genogram', 'sld', 'fishbone')."
|
|
38
38
|
)
|
|
39
39
|
}),
|
|
40
|
-
execute: async ({ type }) =>
|
|
40
|
+
execute: async ({ type }) => chunkUWRTV6IV_cjs.getSyntax(type)
|
|
41
41
|
}),
|
|
42
42
|
getExamples: ai.tool({
|
|
43
43
|
description: "Return curated real-world DSL examples for a diagram type, each with scenario notes and tags. Use as few-shot context before generating DSL.",
|
|
@@ -47,7 +47,7 @@ var schematexTools = {
|
|
|
47
47
|
preferFeatured: zod.z.boolean().optional().describe("Rank featured examples first."),
|
|
48
48
|
maxComplexity: zod.z.number().int().min(1).max(5).optional().describe("Only return examples with complexity <= this value (1=simplest).")
|
|
49
49
|
}),
|
|
50
|
-
execute: async (args) =>
|
|
50
|
+
execute: async (args) => chunkUWRTV6IV_cjs.getExamples(args.type, {
|
|
51
51
|
limit: args.limit,
|
|
52
52
|
preferFeatured: args.preferFeatured,
|
|
53
53
|
maxComplexity: args.maxComplexity
|
|
@@ -61,7 +61,7 @@ var schematexTools = {
|
|
|
61
61
|
),
|
|
62
62
|
dsl: zod.z.string().describe("The DSL source text to validate.")
|
|
63
63
|
}),
|
|
64
|
-
execute: async ({ type, dsl }) =>
|
|
64
|
+
execute: async ({ type, dsl }) => chunkUWRTV6IV_cjs.validateDsl(type, dsl)
|
|
65
65
|
}),
|
|
66
66
|
renderDsl: ai.tool({
|
|
67
67
|
description: "Render Schematex DSL to an SVG string. Returns { ok: true, svg } or { ok: false, errors }. Use when the caller needs the actual diagram output, not just validation.",
|
|
@@ -76,7 +76,7 @@ var schematexTools = {
|
|
|
76
76
|
dsl,
|
|
77
77
|
theme,
|
|
78
78
|
padding
|
|
79
|
-
}) =>
|
|
79
|
+
}) => chunkUWRTV6IV_cjs.renderDsl(type, dsl, { theme, padding })
|
|
80
80
|
})
|
|
81
81
|
};
|
|
82
82
|
|
package/dist/ai/ai-sdk.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ai from 'ai';
|
|
2
2
|
import { DiagramListItem, GetSyntaxResult, GetExamplesResult, ValidateDslResult, RenderDslResult } from './index.cjs';
|
|
3
3
|
import '../api-BuFilDQB.cjs';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-DnU2UlWz.cjs';
|
|
5
5
|
|
|
6
6
|
declare const schematexTools: {
|
|
7
7
|
readonly listDiagrams: ai.Tool<{}, DiagramListItem[]>;
|
package/dist/ai/ai-sdk.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as ai from 'ai';
|
|
2
2
|
import { DiagramListItem, GetSyntaxResult, GetExamplesResult, ValidateDslResult, RenderDslResult } from './index.js';
|
|
3
3
|
import '../api-BuFilDQB.js';
|
|
4
|
-
import '../types-
|
|
4
|
+
import '../types-DnU2UlWz.js';
|
|
5
5
|
|
|
6
6
|
declare const schematexTools: {
|
|
7
7
|
readonly listDiagrams: ai.Tool<{}, DiagramListItem[]>;
|
package/dist/ai/ai-sdk.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { renderDsl, validateDsl, getExamples, getSyntax, listDiagrams } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
1
|
+
import { renderDsl, validateDsl, getExamples, getSyntax, listDiagrams } from '../chunk-MNOO7STY.js';
|
|
2
|
+
import '../chunk-6YUP3QMA.js';
|
|
3
|
+
import '../chunk-U3KRKXF7.js';
|
|
4
|
+
import '../chunk-GVCPFBAV.js';
|
|
5
|
+
import '../chunk-66XQBGX7.js';
|
|
6
|
+
import '../chunk-UDJ2KN2A.js';
|
|
7
|
+
import '../chunk-UT4TIDAA.js';
|
|
8
|
+
import '../chunk-XV2DTN6G.js';
|
|
9
|
+
import '../chunk-X5QJO4ZD.js';
|
|
10
|
+
import '../chunk-5U2W3HQA.js';
|
|
11
|
+
import '../chunk-FIVUMDLF.js';
|
|
12
|
+
import '../chunk-TQU44E46.js';
|
|
13
|
+
import '../chunk-WTF6JXHN.js';
|
|
14
|
+
import '../chunk-GLFBHQSQ.js';
|
|
15
|
+
import '../chunk-PAG3BNIV.js';
|
|
16
|
+
import '../chunk-AC3XH3LB.js';
|
|
17
|
+
import '../chunk-FO7BLCEW.js';
|
|
18
|
+
import '../chunk-6TIN33CA.js';
|
|
19
|
+
import '../chunk-IQRRZPVZ.js';
|
|
20
20
|
import '../chunk-2VNMKOUO.js';
|
|
21
|
-
import '../chunk-
|
|
21
|
+
import '../chunk-SYYBKDL7.js';
|
|
22
22
|
import { tool } from 'ai';
|
|
23
23
|
import { z } from 'zod';
|
|
24
24
|
|
package/dist/ai/index.cjs
CHANGED
|
@@ -1,60 +1,60 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../chunk-
|
|
5
|
-
require('../chunk-
|
|
6
|
-
require('../chunk-
|
|
7
|
-
require('../chunk-
|
|
8
|
-
require('../chunk-
|
|
9
|
-
require('../chunk-
|
|
10
|
-
require('../chunk-
|
|
11
|
-
require('../chunk-
|
|
12
|
-
require('../chunk-
|
|
13
|
-
require('../chunk-
|
|
14
|
-
require('../chunk-
|
|
15
|
-
require('../chunk-
|
|
16
|
-
require('../chunk-
|
|
17
|
-
require('../chunk-
|
|
18
|
-
require('../chunk-
|
|
19
|
-
require('../chunk-
|
|
20
|
-
require('../chunk-
|
|
21
|
-
require('../chunk-
|
|
3
|
+
var chunkUWRTV6IV_cjs = require('../chunk-UWRTV6IV.cjs');
|
|
4
|
+
require('../chunk-APV4AWQ5.cjs');
|
|
5
|
+
require('../chunk-IAEABLIV.cjs');
|
|
6
|
+
require('../chunk-YUPG2M3I.cjs');
|
|
7
|
+
require('../chunk-QXL7AY2H.cjs');
|
|
8
|
+
require('../chunk-55UEHL57.cjs');
|
|
9
|
+
require('../chunk-UDGU73RL.cjs');
|
|
10
|
+
require('../chunk-N56YC75X.cjs');
|
|
11
|
+
require('../chunk-ZZJDGGC3.cjs');
|
|
12
|
+
require('../chunk-PG6TDGKI.cjs');
|
|
13
|
+
require('../chunk-ZFNZ2FYI.cjs');
|
|
14
|
+
require('../chunk-QOLBWCF5.cjs');
|
|
15
|
+
require('../chunk-AVIKQZSX.cjs');
|
|
16
|
+
require('../chunk-HOI6QKC6.cjs');
|
|
17
|
+
require('../chunk-CWZKP3CJ.cjs');
|
|
18
|
+
require('../chunk-7EWFVNYD.cjs');
|
|
19
|
+
require('../chunk-5UCXMYE7.cjs');
|
|
20
|
+
require('../chunk-ZCW7YH3C.cjs');
|
|
21
|
+
require('../chunk-Q5OFA4I2.cjs');
|
|
22
22
|
require('../chunk-D7EHZFK4.cjs');
|
|
23
|
-
require('../chunk-
|
|
23
|
+
require('../chunk-3WNW5Y7P.cjs');
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
Object.defineProperty(exports, "DIAGRAM_REGISTRY", {
|
|
28
28
|
enumerable: true,
|
|
29
|
-
get: function () { return
|
|
29
|
+
get: function () { return chunkUWRTV6IV_cjs.DIAGRAM_REGISTRY; }
|
|
30
30
|
});
|
|
31
31
|
Object.defineProperty(exports, "getAllDiagramTypes", {
|
|
32
32
|
enumerable: true,
|
|
33
|
-
get: function () { return
|
|
33
|
+
get: function () { return chunkUWRTV6IV_cjs.getAllDiagramTypes; }
|
|
34
34
|
});
|
|
35
35
|
Object.defineProperty(exports, "getDiagramMeta", {
|
|
36
36
|
enumerable: true,
|
|
37
|
-
get: function () { return
|
|
37
|
+
get: function () { return chunkUWRTV6IV_cjs.getDiagramMeta; }
|
|
38
38
|
});
|
|
39
39
|
Object.defineProperty(exports, "getExamples", {
|
|
40
40
|
enumerable: true,
|
|
41
|
-
get: function () { return
|
|
41
|
+
get: function () { return chunkUWRTV6IV_cjs.getExamples; }
|
|
42
42
|
});
|
|
43
43
|
Object.defineProperty(exports, "getSyntax", {
|
|
44
44
|
enumerable: true,
|
|
45
|
-
get: function () { return
|
|
45
|
+
get: function () { return chunkUWRTV6IV_cjs.getSyntax; }
|
|
46
46
|
});
|
|
47
47
|
Object.defineProperty(exports, "listDiagrams", {
|
|
48
48
|
enumerable: true,
|
|
49
|
-
get: function () { return
|
|
49
|
+
get: function () { return chunkUWRTV6IV_cjs.listDiagrams; }
|
|
50
50
|
});
|
|
51
51
|
Object.defineProperty(exports, "renderDsl", {
|
|
52
52
|
enumerable: true,
|
|
53
|
-
get: function () { return
|
|
53
|
+
get: function () { return chunkUWRTV6IV_cjs.renderDsl; }
|
|
54
54
|
});
|
|
55
55
|
Object.defineProperty(exports, "validateDsl", {
|
|
56
56
|
enumerable: true,
|
|
57
|
-
get: function () { return
|
|
57
|
+
get: function () { return chunkUWRTV6IV_cjs.validateDsl; }
|
|
58
58
|
});
|
|
59
59
|
//# sourceMappingURL=index.cjs.map
|
|
60
60
|
//# sourceMappingURL=index.cjs.map
|
package/dist/ai/index.d.cts
CHANGED
package/dist/ai/index.d.ts
CHANGED
package/dist/ai/index.js
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
export { DIAGRAM_REGISTRY, getAllDiagramTypes, getDiagramMeta, getExamples, getSyntax, listDiagrams, renderDsl, validateDsl } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import '../chunk-
|
|
7
|
-
import '../chunk-
|
|
8
|
-
import '../chunk-
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
16
|
-
import '../chunk-
|
|
17
|
-
import '../chunk-
|
|
18
|
-
import '../chunk-
|
|
19
|
-
import '../chunk-
|
|
1
|
+
export { DIAGRAM_REGISTRY, getAllDiagramTypes, getDiagramMeta, getExamples, getSyntax, listDiagrams, renderDsl, validateDsl } from '../chunk-MNOO7STY.js';
|
|
2
|
+
import '../chunk-6YUP3QMA.js';
|
|
3
|
+
import '../chunk-U3KRKXF7.js';
|
|
4
|
+
import '../chunk-GVCPFBAV.js';
|
|
5
|
+
import '../chunk-66XQBGX7.js';
|
|
6
|
+
import '../chunk-UDJ2KN2A.js';
|
|
7
|
+
import '../chunk-UT4TIDAA.js';
|
|
8
|
+
import '../chunk-XV2DTN6G.js';
|
|
9
|
+
import '../chunk-X5QJO4ZD.js';
|
|
10
|
+
import '../chunk-5U2W3HQA.js';
|
|
11
|
+
import '../chunk-FIVUMDLF.js';
|
|
12
|
+
import '../chunk-TQU44E46.js';
|
|
13
|
+
import '../chunk-WTF6JXHN.js';
|
|
14
|
+
import '../chunk-GLFBHQSQ.js';
|
|
15
|
+
import '../chunk-PAG3BNIV.js';
|
|
16
|
+
import '../chunk-AC3XH3LB.js';
|
|
17
|
+
import '../chunk-FO7BLCEW.js';
|
|
18
|
+
import '../chunk-6TIN33CA.js';
|
|
19
|
+
import '../chunk-IQRRZPVZ.js';
|
|
20
20
|
import '../chunk-2VNMKOUO.js';
|
|
21
|
-
import '../chunk-
|
|
21
|
+
import '../chunk-SYYBKDL7.js';
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
23
23
|
//# sourceMappingURL=index.js.map
|
package/dist/browser.cjs
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
8
|
-
require('./chunk-
|
|
9
|
-
require('./chunk-
|
|
10
|
-
require('./chunk-
|
|
11
|
-
require('./chunk-
|
|
12
|
-
require('./chunk-
|
|
13
|
-
require('./chunk-
|
|
14
|
-
require('./chunk-
|
|
15
|
-
require('./chunk-
|
|
16
|
-
require('./chunk-
|
|
17
|
-
require('./chunk-
|
|
18
|
-
require('./chunk-
|
|
19
|
-
require('./chunk-
|
|
20
|
-
require('./chunk-
|
|
3
|
+
var chunkAPV4AWQ5_cjs = require('./chunk-APV4AWQ5.cjs');
|
|
4
|
+
require('./chunk-IAEABLIV.cjs');
|
|
5
|
+
require('./chunk-YUPG2M3I.cjs');
|
|
6
|
+
require('./chunk-QXL7AY2H.cjs');
|
|
7
|
+
require('./chunk-55UEHL57.cjs');
|
|
8
|
+
require('./chunk-UDGU73RL.cjs');
|
|
9
|
+
require('./chunk-N56YC75X.cjs');
|
|
10
|
+
require('./chunk-ZZJDGGC3.cjs');
|
|
11
|
+
require('./chunk-PG6TDGKI.cjs');
|
|
12
|
+
require('./chunk-ZFNZ2FYI.cjs');
|
|
13
|
+
require('./chunk-QOLBWCF5.cjs');
|
|
14
|
+
require('./chunk-AVIKQZSX.cjs');
|
|
15
|
+
require('./chunk-HOI6QKC6.cjs');
|
|
16
|
+
require('./chunk-CWZKP3CJ.cjs');
|
|
17
|
+
require('./chunk-7EWFVNYD.cjs');
|
|
18
|
+
require('./chunk-5UCXMYE7.cjs');
|
|
19
|
+
require('./chunk-ZCW7YH3C.cjs');
|
|
20
|
+
require('./chunk-Q5OFA4I2.cjs');
|
|
21
21
|
require('./chunk-D7EHZFK4.cjs');
|
|
22
|
-
require('./chunk-
|
|
22
|
+
require('./chunk-3WNW5Y7P.cjs');
|
|
23
23
|
|
|
24
24
|
// src/browser.ts
|
|
25
25
|
function renderToElement(text, config) {
|
|
26
|
-
const svgString =
|
|
26
|
+
const svgString = chunkAPV4AWQ5_cjs.render(text, config);
|
|
27
27
|
const parser = new DOMParser();
|
|
28
28
|
const doc = parser.parseFromString(svgString, "image/svg+xml");
|
|
29
29
|
const el = doc.documentElement;
|
|
@@ -34,12 +34,12 @@ function renderToElement(text, config) {
|
|
|
34
34
|
return el;
|
|
35
35
|
}
|
|
36
36
|
function renderToContainer(text, container, config) {
|
|
37
|
-
container.innerHTML =
|
|
37
|
+
container.innerHTML = chunkAPV4AWQ5_cjs.render(text, config);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
Object.defineProperty(exports, "render", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkAPV4AWQ5_cjs.render; }
|
|
43
43
|
});
|
|
44
44
|
exports.renderToContainer = renderToContainer;
|
|
45
45
|
exports.renderToElement = renderToElement;
|
package/dist/browser.js
CHANGED
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { render } from './chunk-
|
|
2
|
-
export { render } from './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
6
|
-
import './chunk-
|
|
7
|
-
import './chunk-
|
|
8
|
-
import './chunk-
|
|
9
|
-
import './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import './chunk-
|
|
12
|
-
import './chunk-
|
|
13
|
-
import './chunk-
|
|
14
|
-
import './chunk-
|
|
15
|
-
import './chunk-
|
|
16
|
-
import './chunk-
|
|
17
|
-
import './chunk-
|
|
18
|
-
import './chunk-
|
|
19
|
-
import './chunk-
|
|
1
|
+
import { render } from './chunk-6YUP3QMA.js';
|
|
2
|
+
export { render } from './chunk-6YUP3QMA.js';
|
|
3
|
+
import './chunk-U3KRKXF7.js';
|
|
4
|
+
import './chunk-GVCPFBAV.js';
|
|
5
|
+
import './chunk-66XQBGX7.js';
|
|
6
|
+
import './chunk-UDJ2KN2A.js';
|
|
7
|
+
import './chunk-UT4TIDAA.js';
|
|
8
|
+
import './chunk-XV2DTN6G.js';
|
|
9
|
+
import './chunk-X5QJO4ZD.js';
|
|
10
|
+
import './chunk-5U2W3HQA.js';
|
|
11
|
+
import './chunk-FIVUMDLF.js';
|
|
12
|
+
import './chunk-TQU44E46.js';
|
|
13
|
+
import './chunk-WTF6JXHN.js';
|
|
14
|
+
import './chunk-GLFBHQSQ.js';
|
|
15
|
+
import './chunk-PAG3BNIV.js';
|
|
16
|
+
import './chunk-AC3XH3LB.js';
|
|
17
|
+
import './chunk-FO7BLCEW.js';
|
|
18
|
+
import './chunk-6TIN33CA.js';
|
|
19
|
+
import './chunk-IQRRZPVZ.js';
|
|
20
20
|
import './chunk-2VNMKOUO.js';
|
|
21
|
-
import './chunk-
|
|
21
|
+
import './chunk-SYYBKDL7.js';
|
|
22
22
|
|
|
23
23
|
// src/browser.ts
|
|
24
24
|
function renderToElement(text, config) {
|
|
@@ -55,6 +55,57 @@ function path(attrs) {
|
|
|
55
55
|
function text(attrs, content) {
|
|
56
56
|
return el("text", attrs, escapeXml(content));
|
|
57
57
|
}
|
|
58
|
+
function parseInlineSegments(line2) {
|
|
59
|
+
const out = [];
|
|
60
|
+
let bold = false;
|
|
61
|
+
let italic = false;
|
|
62
|
+
let buf = "";
|
|
63
|
+
let i = 0;
|
|
64
|
+
while (i < line2.length) {
|
|
65
|
+
const rest = line2.slice(i);
|
|
66
|
+
const m = /^<(\/?)([bi])>/i.exec(rest);
|
|
67
|
+
if (m) {
|
|
68
|
+
if (buf) {
|
|
69
|
+
out.push({ text: buf, bold, italic });
|
|
70
|
+
buf = "";
|
|
71
|
+
}
|
|
72
|
+
const isClose = m[1] === "/";
|
|
73
|
+
const tag = m[2].toLowerCase();
|
|
74
|
+
if (tag === "b") bold = !isClose;
|
|
75
|
+
else italic = !isClose;
|
|
76
|
+
i += m[0].length;
|
|
77
|
+
} else {
|
|
78
|
+
buf += line2[i];
|
|
79
|
+
i++;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (buf) out.push({ text: buf, bold, italic });
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
function segmentTspan(seg, extra) {
|
|
86
|
+
const a = { ...extra };
|
|
87
|
+
if (seg.bold) a["font-weight"] = "bold";
|
|
88
|
+
if (seg.italic) a["font-style"] = "italic";
|
|
89
|
+
return el("tspan", a, escapeXml(seg.text));
|
|
90
|
+
}
|
|
91
|
+
function multilineText(attrs, content, lineHeight = 14) {
|
|
92
|
+
const lines = String(content).split(/<br\s*\/?>|\n/i);
|
|
93
|
+
const total = (lines.length - 1) * lineHeight;
|
|
94
|
+
const tspans = [];
|
|
95
|
+
lines.forEach((ln, lineIdx) => {
|
|
96
|
+
const segs = parseInlineSegments(ln);
|
|
97
|
+
const rendered = segs.length === 0 ? [{ text: "", bold: false, italic: false }] : segs;
|
|
98
|
+
rendered.forEach((seg, segIdx) => {
|
|
99
|
+
const extra = {};
|
|
100
|
+
if (segIdx === 0) {
|
|
101
|
+
extra.x = attrs.x;
|
|
102
|
+
extra.dy = lineIdx === 0 ? -total / 2 : lineHeight;
|
|
103
|
+
}
|
|
104
|
+
tspans.push(segmentTspan(seg, extra));
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
return el("text", attrs, tspans.join(""));
|
|
108
|
+
}
|
|
58
109
|
function title(content) {
|
|
59
110
|
return el("title", {}, escapeXml(content));
|
|
60
111
|
}
|
|
@@ -75,6 +126,7 @@ exports.el = el;
|
|
|
75
126
|
exports.escapeXml = escapeXml;
|
|
76
127
|
exports.group = group;
|
|
77
128
|
exports.line = line;
|
|
129
|
+
exports.multilineText = multilineText;
|
|
78
130
|
exports.path = path;
|
|
79
131
|
exports.pattern = pattern;
|
|
80
132
|
exports.polygon = polygon;
|
|
@@ -82,5 +134,5 @@ exports.rect = rect;
|
|
|
82
134
|
exports.svgRoot = svgRoot;
|
|
83
135
|
exports.text = text;
|
|
84
136
|
exports.title = title;
|
|
85
|
-
//# sourceMappingURL=chunk-
|
|
86
|
-
//# sourceMappingURL=chunk-
|
|
137
|
+
//# sourceMappingURL=chunk-3WNW5Y7P.cjs.map
|
|
138
|
+
//# sourceMappingURL=chunk-3WNW5Y7P.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/core/svg.ts"],"names":["line"],"mappings":"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","file":"chunk-3WNW5Y7P.cjs","sourcesContent":["/**\n * Tiny SVG builder utility.\n *\n * Handles XML escaping, attribute formatting, and nesting.\n * Avoids raw string concatenation fragility.\n *\n * @example\n * ```ts\n * const svg = svgRoot({ width: 800, height: 600, viewBox: '0 0 800 600' }, [\n * defs([\n * pattern({ id: 'half-fill', ... }, [...]),\n * ]),\n * group({ class: 'schematex-generation-0', transform: 'translate(0, 0)' }, [\n * rect({ x: 100, y: 50, width: 40, height: 40, class: 'schematex-node' }),\n * text({ x: 120, y: 110, class: 'schematex-label' }, 'John'),\n * ]),\n * ]);\n * ```\n */\n\n// ─── XML Escaping ────────────────────────────────────────────\n\nconst ESCAPE_MAP: Record<string, string> = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n};\n\nexport function escapeXml(str: string): string {\n return str.replace(/[&<>\"']/g, (ch) => ESCAPE_MAP[ch] ?? ch);\n}\n\n// ─── Attribute Formatting ────────────────────────────────────\n\ntype Attrs = Record<string, string | number | undefined>;\n\nfunction formatAttrs(attrs: Attrs): string {\n return Object.entries(attrs)\n .filter(([, v]) => v !== undefined)\n .map(([k, v]) => `${k}=\"${escapeXml(String(v))}\"`)\n .join(\" \");\n}\n\n// ─── Element Builders ────────────────────────────────────────\n\nexport function el(\n tag: string,\n attrs: Attrs,\n children?: string | string[]\n): string {\n const attrStr = formatAttrs(attrs);\n const open = attrStr ? `<${tag} ${attrStr}` : `<${tag}`;\n\n if (children === undefined) {\n return `${open}/>`;\n }\n\n const content = Array.isArray(children) ? children.join(\"\\n\") : children;\n return `${open}>${content}</${tag}>`;\n}\n\n// Convenience wrappers for common SVG elements\n\nexport function svgRoot(attrs: Attrs, children: string[]): string {\n return el(\n \"svg\",\n {\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n ...attrs,\n },\n children\n );\n}\n\nexport function defs(children: string[]): string {\n return el(\"defs\", {}, children);\n}\n\nexport function group(attrs: Attrs, children: string[]): string {\n return el(\"g\", attrs, children);\n}\n\nexport function rect(attrs: Attrs): string {\n return el(\"rect\", attrs);\n}\n\nexport function circle(attrs: Attrs): string {\n return el(\"circle\", attrs);\n}\n\nexport function line(attrs: Attrs): string {\n return el(\"line\", attrs);\n}\n\nexport function path(attrs: Attrs): string {\n return el(\"path\", attrs);\n}\n\nexport function text(attrs: Attrs, content: string): string {\n return el(\"text\", attrs, escapeXml(content));\n}\n\ninterface Segment { text: string; bold: boolean; italic: boolean }\n\nfunction parseInlineSegments(line: string): Segment[] {\n const out: Segment[] = [];\n let bold = false;\n let italic = false;\n let buf = \"\";\n let i = 0;\n while (i < line.length) {\n const rest = line.slice(i);\n const m = /^<(\\/?)([bi])>/i.exec(rest);\n if (m) {\n if (buf) { out.push({ text: buf, bold, italic }); buf = \"\"; }\n const isClose = m[1] === \"/\";\n const tag = m[2]!.toLowerCase();\n if (tag === \"b\") bold = !isClose;\n else italic = !isClose;\n i += m[0].length;\n } else {\n buf += line[i];\n i++;\n }\n }\n if (buf) out.push({ text: buf, bold, italic });\n return out;\n}\n\nfunction segmentTspan(\n seg: Segment,\n extra: Attrs\n): string {\n const a: Attrs = { ...extra };\n if (seg.bold) a[\"font-weight\"] = \"bold\";\n if (seg.italic) a[\"font-style\"] = \"italic\";\n return el(\"tspan\", a, escapeXml(seg.text));\n}\n\n/** Splits on `<br/>`/`<br>`/`\\n` into vertically centered `<tspan>` rows. Honors inline `<b>`/`<i>` per segment. */\nexport function multilineText(\n attrs: Attrs & { x: number | string },\n content: string,\n lineHeight = 14\n): string {\n const lines = String(content).split(/<br\\s*\\/?>|\\n/i);\n const total = (lines.length - 1) * lineHeight;\n const tspans: string[] = [];\n lines.forEach((ln, lineIdx) => {\n const segs = parseInlineSegments(ln);\n const rendered = segs.length === 0 ? [{ text: \"\", bold: false, italic: false }] : segs;\n rendered.forEach((seg, segIdx) => {\n // Only the first segment of each line carries x + dy (line break);\n // subsequent segments inherit position and continue inline.\n const extra: Attrs = {};\n if (segIdx === 0) {\n extra.x = attrs.x;\n extra.dy = lineIdx === 0 ? -total / 2 : lineHeight;\n }\n tspans.push(segmentTspan(seg, extra));\n });\n });\n return el(\"text\", attrs, tspans.join(\"\"));\n}\n\nexport function title(content: string): string {\n return el(\"title\", {}, escapeXml(content));\n}\n\nexport function desc(content: string): string {\n return el(\"desc\", {}, escapeXml(content));\n}\n\nexport function pattern(attrs: Attrs, children: string[]): string {\n return el(\"pattern\", attrs, children);\n}\n\nexport function polygon(attrs: Attrs): string {\n return el(\"polygon\", attrs);\n}\n"]}
|