@knowvah/dot-engine 1.9.0 → 2.0.1
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/README.md +232 -30
- package/dist/api/builder.d.ts +3 -0
- package/dist/api/builder.d.ts.map +1 -1
- package/dist/api/edge-ops.d.ts +7 -0
- package/dist/api/edge-ops.d.ts.map +1 -1
- package/dist/api/geometry.d.ts +5 -2
- package/dist/api/geometry.d.ts.map +1 -1
- package/dist/api.js +159 -31
- package/dist/api.js.map +3 -3
- package/dist/async/collect.d.ts +49 -0
- package/dist/async/collect.d.ts.map +1 -0
- package/dist/async/fonts.d.ts +20 -0
- package/dist/async/fonts.d.ts.map +1 -0
- package/dist/async/render-async.d.ts +91 -0
- package/dist/async/render-async.d.ts.map +1 -0
- package/dist/async/render-into.d.ts +38 -0
- package/dist/async/render-into.d.ts.map +1 -0
- package/dist/async/sanitize.d.ts +28 -0
- package/dist/async/sanitize.d.ts.map +1 -0
- package/dist/common/htmltable-types.d.ts +3 -3
- package/dist/common/htmltable-types.d.ts.map +1 -1
- package/dist/common/make-label.d.ts.map +1 -1
- package/dist/common/poly-shapes.d.ts.map +1 -1
- package/dist/common/textmeasure-factory.d.ts +2 -0
- package/dist/common/textmeasure-factory.d.ts.map +1 -1
- package/dist/common/utils-inputscale.d.ts +19 -0
- package/dist/common/utils-inputscale.d.ts.map +1 -0
- package/dist/errors.d.ts +61 -5
- package/dist/errors.d.ts.map +1 -1
- package/dist/gvc/context.d.ts +36 -4
- package/dist/gvc/context.d.ts.map +1 -1
- package/dist/gvc/device.d.ts +5 -2
- package/dist/gvc/device.d.ts.map +1 -1
- package/dist/gvc/image-resolver.d.ts +16 -16
- package/dist/gvc/image-resolver.d.ts.map +1 -1
- package/dist/gvc/job.d.ts +1 -9
- package/dist/gvc/job.d.ts.map +1 -1
- package/dist/gvc/usershape.d.ts +2 -12
- package/dist/gvc/usershape.d.ts.map +1 -1
- package/dist/index.d.ts +27 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7682 -5535
- package/dist/index.js.map +4 -4
- package/dist/label/index.d.ts.map +1 -1
- package/dist/label/node.d.ts +0 -6
- package/dist/label/node.d.ts.map +1 -1
- package/dist/label/rectangle.d.ts +1 -7
- package/dist/label/rectangle.d.ts.map +1 -1
- package/dist/layout/circo/circular.d.ts +8 -5
- package/dist/layout/circo/circular.d.ts.map +1 -1
- package/dist/layout/dot/pack-components.d.ts +0 -19
- package/dist/layout/dot/pack-components.d.ts.map +1 -1
- package/dist/layout/dot/position.d.ts +7 -2
- package/dist/layout/dot/position.d.ts.map +1 -1
- package/dist/layout/fdp/derive.d.ts.map +1 -1
- package/dist/layout/fdp/index.d.ts.map +1 -1
- package/dist/layout/fdp/init.d.ts.map +1 -1
- package/dist/layout/fdp/layout.d.ts.map +1 -1
- package/dist/layout/fdp/normalize.d.ts +2 -1
- package/dist/layout/fdp/normalize.d.ts.map +1 -1
- package/dist/layout/fdp/ports.d.ts +0 -10
- package/dist/layout/fdp/ports.d.ts.map +1 -1
- package/dist/layout/fdp/xlayout.d.ts +0 -16
- package/dist/layout/fdp/xlayout.d.ts.map +1 -1
- package/dist/layout/neato/adjust-info.d.ts +117 -0
- package/dist/layout/neato/adjust-info.d.ts.map +1 -0
- package/dist/layout/neato/cdt-surface.d.ts.map +1 -1
- package/dist/layout/neato/constraint-adjust.d.ts +40 -0
- package/dist/layout/neato/constraint-adjust.d.ts.map +1 -0
- package/dist/layout/neato/edge-len.d.ts +20 -0
- package/dist/layout/neato/edge-len.d.ts.map +1 -0
- package/dist/layout/neato/fdp-adjust.d.ts +32 -4
- package/dist/layout/neato/fdp-adjust.d.ts.map +1 -1
- package/dist/layout/neato/index.d.ts +9 -6
- package/dist/layout/neato/index.d.ts.map +1 -1
- package/dist/layout/neato/init.d.ts +4 -11
- package/dist/layout/neato/init.d.ts.map +1 -1
- package/dist/layout/neato/kk-paths.d.ts +50 -0
- package/dist/layout/neato/kk-paths.d.ts.map +1 -0
- package/dist/layout/neato/kk-solve.d.ts +14 -0
- package/dist/layout/neato/kk-solve.d.ts.map +1 -0
- package/dist/layout/neato/kk.d.ts +44 -0
- package/dist/layout/neato/kk.d.ts.map +1 -0
- package/dist/layout/neato/multispline-router.d.ts.map +1 -1
- package/dist/layout/neato/poly.d.ts +50 -0
- package/dist/layout/neato/poly.d.ts.map +1 -0
- package/dist/layout/neato/sc-adjust.d.ts +2 -9
- package/dist/layout/neato/sc-adjust.d.ts.map +1 -1
- package/dist/layout/neato/sgd-dijkstra.d.ts +20 -0
- package/dist/layout/neato/sgd-dijkstra.d.ts.map +1 -0
- package/dist/layout/neato/sgd.d.ts +14 -9
- package/dist/layout/neato/sgd.d.ts.map +1 -1
- package/dist/layout/neato/simple-scale.d.ts +15 -0
- package/dist/layout/neato/simple-scale.d.ts.map +1 -0
- package/dist/layout/neato/start.d.ts +51 -0
- package/dist/layout/neato/start.d.ts.map +1 -0
- package/dist/layout/neato/vpsc-adjust.d.ts +21 -0
- package/dist/layout/neato/vpsc-adjust.d.ts.map +1 -0
- package/dist/layout/sfdp/index.d.ts.map +1 -1
- package/dist/layout/sfdp/init.d.ts +0 -9
- package/dist/layout/sfdp/init.d.ts.map +1 -1
- package/dist/layout/sfdp/spring-driver.d.ts.map +1 -1
- package/dist/layout/twopi/circle.d.ts +0 -7
- package/dist/layout/twopi/circle.d.ts.map +1 -1
- package/dist/ortho/ortho-parallel.d.ts.map +1 -1
- package/dist/ortho/trap-query.d.ts.map +1 -1
- package/dist/parser/index.d.ts +9 -5
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/render/index.d.ts +2 -0
- package/dist/render/index.d.ts.map +1 -1
- package/dist/render/public.d.ts +9 -3
- package/dist/render/public.d.ts.map +1 -1
- package/dist/render/xdot-public.d.ts +7 -2
- package/dist/render/xdot-public.d.ts.map +1 -1
- package/dist/render.js +7468 -5556
- package/dist/render.js.map +4 -4
- package/dist/util/xml.d.ts.map +1 -1
- package/dist/vpsc/Solver.d.ts +1 -0
- package/dist/vpsc/Solver.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/api/builder.ts +73 -5
- package/src/api/edge-ops.ts +19 -0
- package/src/api/geometry.ts +22 -5
- package/src/async/collect.ts +204 -0
- package/src/async/fonts.ts +61 -0
- package/src/async/render-async.ts +205 -0
- package/src/async/render-into.ts +115 -0
- package/src/async/sanitize.ts +150 -0
- package/src/common/htmltable-types.ts +4 -5
- package/src/common/make-label.ts +10 -1
- package/src/common/poly-shapes.ts +4 -1
- package/src/common/textmeasure-factory.ts +11 -0
- package/src/common/utils-inputscale.ts +31 -0
- package/src/errors.ts +188 -5
- package/src/gvc/context.ts +96 -17
- package/src/gvc/device.ts +11 -6
- package/src/gvc/image-resolver.ts +25 -2
- package/src/gvc/job.ts +3 -1
- package/src/gvc/usershape.ts +6 -0
- package/src/index.ts +59 -43
- package/src/label/index.ts +6 -2
- package/src/label/node.ts +2 -1
- package/src/label/rectangle.ts +4 -2
- package/src/layout/circo/circular.ts +9 -6
- package/src/layout/dot/pack-components.ts +6 -2
- package/src/layout/dot/position.ts +21 -3
- package/src/layout/fdp/derive.ts +7 -6
- package/src/layout/fdp/index.ts +45 -5
- package/src/layout/fdp/init.ts +7 -6
- package/src/layout/fdp/layout.ts +2 -1
- package/src/layout/fdp/normalize.ts +12 -8
- package/src/layout/fdp/ports.ts +3 -2
- package/src/layout/fdp/xlayout.ts +8 -5
- package/src/layout/neato/adjust-info.ts +332 -0
- package/src/layout/neato/cdt-surface.ts +50 -30
- package/src/layout/neato/constraint-adjust.ts +466 -0
- package/src/layout/neato/edge-len.ts +36 -0
- package/src/layout/neato/fdp-adjust.ts +120 -12
- package/src/layout/neato/index.ts +36 -54
- package/src/layout/neato/init.ts +21 -36
- package/src/layout/neato/kk-paths.ts +146 -0
- package/src/layout/neato/kk-solve.ts +64 -0
- package/src/layout/neato/kk.ts +322 -0
- package/src/layout/neato/multispline-router.ts +4 -3
- package/src/layout/neato/poly.ts +493 -0
- package/src/layout/neato/sc-adjust.ts +2 -16
- package/src/layout/neato/sgd-dijkstra.ts +125 -0
- package/src/layout/neato/sgd.ts +63 -40
- package/src/layout/neato/simple-scale.ts +54 -0
- package/src/layout/neato/start.ts +222 -0
- package/src/layout/neato/vpsc-adjust.ts +93 -0
- package/src/layout/sfdp/index.ts +4 -5
- package/src/layout/sfdp/init.ts +40 -4
- package/src/layout/sfdp/spring-driver.ts +30 -1
- package/src/layout/twopi/circle.ts +2 -1
- package/src/ortho/ortho-parallel.ts +2 -1
- package/src/ortho/trap-query.ts +2 -1
- package/src/parser/index.ts +11 -11
- package/src/render/index.ts +5 -0
- package/src/render/public.ts +24 -24
- package/src/render/svg.ts +1 -1
- package/src/render/xdot-public.ts +19 -18
- package/src/util/xml.ts +24 -30
- package/src/vpsc/Solver.ts +5 -3
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Image byte resolution + browser-safe base64 for inline (data: URI) SVG
|
|
3
|
-
* image embedding.
|
|
4
|
-
*
|
|
5
|
-
* Mirrors `src/gvc/usershape.ts`'s `setImageSizer` pattern (AD3): C resolves
|
|
6
|
-
* images through a process-global filesystem dictionary
|
|
7
|
-
* (gvusershape.c ImageDict) that is browser-hostile, so the port exposes a
|
|
8
|
-
* caller-injected resolver in the same global-registry position instead.
|
|
9
|
-
* Unlike `ImageSizer` (which only reports intrinsic dimensions for HTML
|
|
10
|
-
* `<IMG>` layout), `ImageResolver` supplies the actual bytes so the SVG
|
|
11
|
-
* emitter can inline them as a `data:` URI (AD-1, additive — not a C
|
|
12
|
-
* behavior; native Graphviz never inlines image bytes).
|
|
13
|
-
*
|
|
14
|
-
* @see lib/gvc/gvusershape.c (ImageDict, gvusershape_find/size)
|
|
15
|
-
*/
|
|
16
1
|
/**
|
|
17
2
|
* Caller-supplied image resolver: given a node's `image=`/HTML `<IMG SRC=>`
|
|
18
3
|
* value, return the raw bytes (optionally with an explicit MIME type), or
|
|
@@ -22,10 +7,22 @@ export type ImageResolver = (src: string) => {
|
|
|
22
7
|
bytes: Uint8Array;
|
|
23
8
|
mime?: string;
|
|
24
9
|
} | Uint8Array | null;
|
|
10
|
+
/**
|
|
11
|
+
* Per-render resolver on the render job (async-api ADR-2): device.ts render()
|
|
12
|
+
* copies `GvcContext.imageResolver` here; svg.ts usershape() passes it to
|
|
13
|
+
* findImageBytes, which then skips the global resolver.
|
|
14
|
+
*/
|
|
15
|
+
declare module './job.js' {
|
|
16
|
+
interface RenderJob {
|
|
17
|
+
imageResolver?: ImageResolver;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
25
20
|
/**
|
|
26
21
|
* Register (or clear, with null) the global image resolver consulted when
|
|
27
22
|
* `RenderOptions.inlineImages` is set. Mirrors gvusershape's process-global
|
|
28
23
|
* dictionary and `setImageSizer`'s registration shape.
|
|
24
|
+
* @throws TypeError `ERR_INVALID_ARG_TYPE` if `fn` is neither a function nor
|
|
25
|
+
* null
|
|
29
26
|
*/
|
|
30
27
|
export declare function setImageResolver(fn: ImageResolver | null): void;
|
|
31
28
|
/**
|
|
@@ -34,8 +31,11 @@ export declare function setImageResolver(fn: ImageResolver | null): void;
|
|
|
34
31
|
* when the resolver omits it). Returns `null` when no resolver is set or the
|
|
35
32
|
* resolver itself returns `null` — the graceful-miss path that keeps the raw
|
|
36
33
|
* `src` passthrough in `usershape()`.
|
|
34
|
+
*
|
|
35
|
+
* @param resolver - per-context resolver (ADR-2); when given it is consulted
|
|
36
|
+
* instead of the global one, with the same normalization.
|
|
37
37
|
*/
|
|
38
|
-
export declare function findImageBytes(src: string): {
|
|
38
|
+
export declare function findImageBytes(src: string, resolver?: ImageResolver): {
|
|
39
39
|
bytes: Uint8Array;
|
|
40
40
|
mime: string;
|
|
41
41
|
} | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-resolver.d.ts","sourceRoot":"","sources":["../../src/gvc/image-resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image-resolver.d.ts","sourceRoot":"","sources":["../../src/gvc/image-resolver.ts"],"names":[],"mappings":"AAwBA;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,GAAG,EAAE,MAAM,KACR;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,UAAU,GAAG,IAAI,CAAC;AAE9D;;;;GAIG;AACH,OAAO,QAAQ,UAAU,CAAC;IACxB,UAAU,SAAS;QACjB,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;CACF;AAID;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,GAAG,IAAI,GAAG,IAAI,CAK/D;AA6BD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,aAAa,GACvB;IAAE,KAAK,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAS5C;AA+CD,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjE"}
|
package/dist/gvc/job.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RenderJob — full implementation, replacing the T25 scaffold.
|
|
3
|
-
*
|
|
4
|
-
* Ports GVJ_s and obj_state_s from lib/gvc/gvcjob.h.
|
|
5
|
-
*
|
|
6
|
-
* @see lib/gvc/gvcjob.h:GVJ_s
|
|
7
|
-
* @see lib/gvc/gvcjob.h:obj_state_s
|
|
8
|
-
* @see lib/gvc/gvdevice.c:gvprintdouble
|
|
9
|
-
*/
|
|
10
1
|
import type { Graph } from '../model/graph.js';
|
|
11
2
|
import { FontnameKind } from '../model/layoutParams.js';
|
|
12
3
|
import type { Node } from '../model/node.js';
|
|
@@ -214,6 +205,7 @@ export declare class RenderJob {
|
|
|
214
205
|
pushObj(state: ObjState): void;
|
|
215
206
|
/**
|
|
216
207
|
* Pop the top object state from the stack.
|
|
208
|
+
* @see lib/common/emit.c:pop_obj_state (assert(obj) at emit.c:135)
|
|
217
209
|
* @throws Error if the stack is empty.
|
|
218
210
|
*/
|
|
219
211
|
popObj(): void;
|
package/dist/gvc/job.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/gvc/job.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../src/gvc/job.ts"],"names":[],"mappings":"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"}
|
package/dist/gvc/usershape.d.ts
CHANGED
|
@@ -1,20 +1,10 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* User-shape (image) size resolution for HTML <IMG> labels.
|
|
3
|
-
*
|
|
4
|
-
* C resolves image dimensions through a process-global dictionary
|
|
5
|
-
* (gvusershape.c ImageDict) populated from the filesystem — browser-
|
|
6
|
-
* hostile. Per AD3, the port exposes a caller-injected ImageSizer in
|
|
7
|
-
* the same global-registry position: callers register a sizer before
|
|
8
|
-
* rendering; absent or unresolvable sources reproduce C's
|
|
9
|
-
* missing-image behavior (warning + zero size).
|
|
10
|
-
*
|
|
11
|
-
* @see lib/gvc/gvusershape.c (ImageDict, gvusershape_find/size)
|
|
12
|
-
*/
|
|
13
1
|
import type { ImageSizer } from '../common/htmltable-types.js';
|
|
14
2
|
export type { ImageSizer } from '../common/htmltable-types.js';
|
|
15
3
|
/**
|
|
16
4
|
* Register (or clear, with null) the global image sizer consulted by
|
|
17
5
|
* HTML <IMG> sizing. Mirrors gvusershape's process-global dictionary.
|
|
6
|
+
* @throws TypeError `ERR_INVALID_ARG_TYPE` if `sizer` is neither a function
|
|
7
|
+
* nor null
|
|
18
8
|
*/
|
|
19
9
|
export declare function setImageSizer(sizer: ImageSizer | null): void;
|
|
20
10
|
/** Resolve an image source via the registered sizer; null if unresolved. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usershape.d.ts","sourceRoot":"","sources":["../../src/gvc/usershape.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usershape.d.ts","sourceRoot":"","sources":["../../src/gvc/usershape.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE/D,YAAY,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAI/D;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI,CAK5D;AAED,4EAA4E;AAC5E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAE1E"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,9 +3,14 @@ import type { EngineName } from './gvc/context.js';
|
|
|
3
3
|
/**
|
|
4
4
|
* Render a DOT-language string to SVG using the specified layout engine.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* `
|
|
8
|
-
*
|
|
6
|
+
* Throws a {@link DotEngineError} for any problem with the input: `ParseError`
|
|
7
|
+
* (`SYNTAX_*`, `EDGE_OP_*`, `GENERIC_ERROR` for nesting too deep) for invalid
|
|
8
|
+
* DOT, `RenderError`
|
|
9
|
+
* (`RENDER_ERROR`, `UNKNOWN_LAYOUT`, `UNSUPPORTED_FEATURE`) for layout/render
|
|
10
|
+
* failures, and `InternalError` (`INTERNAL_ERROR`, `cause` = original) for a
|
|
11
|
+
* dot-engine bug. Invalid arguments throw a `TypeError` carrying a `code`. A
|
|
12
|
+
* malformed HTML-like label does not throw: as in C (htmlparse.y YYABORT) the
|
|
13
|
+
* label renders empty.
|
|
9
14
|
*
|
|
10
15
|
* @remarks
|
|
11
16
|
* Security: when `dotSource` is untrusted, treat the returned SVG as
|
|
@@ -20,25 +25,35 @@ import type { EngineName } from './gvc/context.js';
|
|
|
20
25
|
* ('dot', 'neato', 'fdp', 'sfdp', 'circo', 'twopi',
|
|
21
26
|
* 'osage', 'patchwork') or any custom-registered name
|
|
22
27
|
* @returns SVG string
|
|
23
|
-
* @throws
|
|
24
|
-
* @throws
|
|
28
|
+
* @throws TypeError `ERR_INVALID_ARG_TYPE` if `dotSource` or `engine` is not a string
|
|
29
|
+
* @throws TypeError `ERR_INVALID_ARG_VALUE` if `engine` names no registered engine
|
|
30
|
+
* @throws ParseError `SYNTAX_ERROR`, `SYNTAX_UNEXPECTED_EOF`,
|
|
31
|
+
* `EDGE_OP_DIRECTED_IN_UNDIRECTED`, `EDGE_OP_UNDIRECTED_IN_DIRECTED` if
|
|
32
|
+
* `dotSource` is not valid DOT
|
|
33
|
+
* @throws RenderError `RENDER_ERROR`, `UNKNOWN_LAYOUT` or `UNSUPPORTED_FEATURE`
|
|
34
|
+
* if layout or rendering fails
|
|
35
|
+
* @throws InternalError `INTERNAL_ERROR` on a dot-engine bug
|
|
25
36
|
*/
|
|
26
37
|
export declare function renderSvg(dotSource: string, engine: EngineName): string;
|
|
27
38
|
/**
|
|
28
39
|
* Result-style render: returns `{ svg }` on success or `{ errors: [one] }` on
|
|
29
40
|
* the first failure (svg XOR errors). Errors are plain JSON-serializable
|
|
30
|
-
* {@link GvError} data objects.
|
|
41
|
+
* {@link GvError} data objects. Returns (never throws) for any DOT input and
|
|
42
|
+
* any failure of the graph itself; throws only for invalid arguments.
|
|
31
43
|
*
|
|
32
44
|
* @remarks
|
|
33
45
|
* Security: same untrusted-input caveat as {@link renderSvg} — the returned
|
|
34
46
|
* `svg` is attacker-controlled markup for untrusted `dotSource`; apply a CSP or
|
|
35
47
|
* sanitize before embedding. See the README "Security" section.
|
|
48
|
+
*
|
|
49
|
+
* @throws TypeError `ERR_INVALID_ARG_TYPE` if `dotSource` or `engine` is not a string
|
|
50
|
+
* @throws TypeError `ERR_INVALID_ARG_VALUE` if `engine` names no registered engine
|
|
36
51
|
*/
|
|
37
52
|
export declare function tryRenderSvg(dotSource: string, engine: EngineName): RenderResult;
|
|
38
53
|
export { parse } from './parser/index.js';
|
|
39
54
|
export { ParseError } from './parser/index.js';
|
|
40
|
-
export { RenderError } from './errors.js';
|
|
41
|
-
export type { GvError, GvErrorType, GvErrorCode, GvExpectation, RenderResult, } from './errors.js';
|
|
55
|
+
export { DotEngineError, InternalError, RenderError, isGvError } from './errors.js';
|
|
56
|
+
export type { GvError, UsageErrorCode, GvErrorType, GvErrorCode, GvExpectation, RenderResult, } from './errors.js';
|
|
42
57
|
export { setImageSizer } from './gvc/usershape.js';
|
|
43
58
|
export type { ImageSizer } from './common/htmltable-types.js';
|
|
44
59
|
export { setImageResolver } from './gvc/image-resolver.js';
|
|
@@ -51,4 +66,8 @@ export type { BuiltinEngine, EngineName } from './gvc/context.js';
|
|
|
51
66
|
export { render as renderWithContext } from './gvc/device.js';
|
|
52
67
|
export * from './api/index.js';
|
|
53
68
|
export * from './render/index.js';
|
|
69
|
+
export { renderSvgAsync } from './async/render-async.js';
|
|
70
|
+
export type { AsyncSvgOptions, AsyncSvgResult } from './async/render-async.js';
|
|
71
|
+
export { renderSvgInto } from './async/render-into.js';
|
|
72
|
+
export type { RenderSvgIntoOptions, RenderSvgIntoResult } from './async/render-into.js';
|
|
54
73
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAW,YAAY,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAmCnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,MAAM,CAevE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,YAAY,CAQhF;AAED,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACpF,YAAY,EACV,OAAO,EACP,cAAc,EACd,WAAW,EACX,WAAW,EACX,aAAa,EACb,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EACL,kBAAkB,EAAE,oBAAoB,EAAE,eAAe,GAC1D,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAMlE,OAAO,EAAE,MAAM,IAAI,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAU9D,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC"}
|