abstract-image 13.0.61 → 13.1.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/CHANGELOG.md +4 -0
- package/README.md +1 -6
- package/lib/__stories__/react-svg-export/example-1.stories.d.ts +2 -2
- package/lib/__stories__/react-svg-export/example-1.stories.d.ts.map +1 -1
- package/lib/__stories__/react-svg-export/example-1.stories.js.map +1 -1
- package/lib/__stories__/svg-export/example-1.stories.d.ts +2 -2
- package/lib/__stories__/svg-export/example-1.stories.d.ts.map +1 -1
- package/lib/__stories__/svg-export/example-1.stories.js.map +1 -1
- package/lib/abstract-image-jsx/index.d.ts +2 -3
- package/lib/abstract-image-jsx/index.d.ts.map +1 -1
- package/lib/abstract-image-jsx/index.js +11 -8
- package/lib/abstract-image-jsx/index.js.map +1 -1
- package/lib/dynamic-image/components.d.ts +1 -1
- package/lib/dynamic-image/components.d.ts.map +1 -1
- package/lib/dynamic-image/components.js +3 -4
- package/lib/dynamic-image/components.js.map +1 -1
- package/lib/dynamic-image/dynamic-image.d.ts.map +1 -1
- package/lib/dynamic-image/dynamic-image.js +2 -4
- package/lib/dynamic-image/dynamic-image.js.map +1 -1
- package/lib/dynamic-image/utils.d.ts +2 -1
- package/lib/dynamic-image/utils.d.ts.map +1 -1
- package/lib/dynamic-image/utils.js.map +1 -1
- package/lib/exporters/dxf2d-export-image.d.ts +3 -2
- package/lib/exporters/dxf2d-export-image.d.ts.map +1 -1
- package/lib/exporters/dxf2d-export-image.js +13 -23
- package/lib/exporters/dxf2d-export-image.js.map +1 -1
- package/lib/exporters/eps-export-image.d.ts +1 -2
- package/lib/exporters/eps-export-image.d.ts.map +1 -1
- package/lib/exporters/eps-export-image.js +5 -16
- package/lib/exporters/eps-export-image.js.map +1 -1
- package/lib/exporters/react-svg-export-image.d.ts.map +1 -1
- package/lib/exporters/react-svg-export-image.js +10 -10
- package/lib/exporters/react-svg-export-image.js.map +1 -1
- package/lib/exporters/svg-export-image.d.ts.map +1 -1
- package/lib/exporters/svg-export-image.js +7 -5
- package/lib/exporters/svg-export-image.js.map +1 -1
- package/lib/model/abstract-image.d.ts +1 -1
- package/lib/model/abstract-image.d.ts.map +1 -1
- package/lib/model/abstract-image.js.map +1 -1
- package/lib/model/color.d.ts.map +1 -1
- package/lib/model/color.js +3 -5
- package/lib/model/color.js.map +1 -1
- package/lib/model/component.d.ts +3 -5
- package/lib/model/component.d.ts.map +1 -1
- package/lib/model/component.js +1 -1
- package/lib/model/component.js.map +1 -1
- package/package.json +21 -20
- package/src/__stories__/react-svg-export/example-1.stories.tsx +4 -14
- package/src/__stories__/svg-export/example-1.stories.tsx +4 -15
- package/src/abstract-image-jsx/index.ts +27 -32
- package/src/dynamic-image/components.ts +6 -19
- package/src/dynamic-image/dynamic-image.ts +6 -23
- package/src/dynamic-image/utils.ts +7 -5
- package/src/exporters/dxf2d-export-image.ts +22 -65
- package/src/exporters/eps-export-image.ts +8 -18
- package/src/exporters/react-svg-export-image.tsx +24 -49
- package/src/exporters/svg-export-image.ts +10 -15
- package/src/model/abstract-image.ts +2 -7
- package/src/model/color.ts +4 -13
- package/src/model/component.ts +5 -13
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [13.1.0] - 2026-09-06
|
|
6
|
+
|
|
7
|
+
- Internal: activated 39 additional oxlint rules — curly, default-case, eqeqeq, init-declarations, no-alert, no-bitwise, no-case-declarations, no-empty-pattern, no-prototype-builtins, no-restricted-globals, no-restricted-properties, no-shadow, no-throw-literal, no-unused-vars, no-useless-return, node/global-require, one-var, prefer-const, prefer-object-spread, typescript/array-type, typescript/ban-tslint-comment, typescript/dot-notation, typescript/explicit-module-boundary-types, typescript/no-empty-object-type, typescript/no-explicit-any, typescript/no-require-imports, typescript/no-unnecessary-boolean-literal-compare, typescript/no-var-requires, typescript/no-wrapper-object-types, typescript/parameter-properties, typescript/prefer-nullish-coalescing, typescript/prefer-optional-chain, typescript/prefer-readonly, typescript/prefer-reduce-type-parameter, typescript/prefer-string-starts-ends-with, typescript/switch-exhaustiveness-check, typescript/unified-signatures, unicorn/no-array-sort — and upgraded `oxlint-config-divid` to 1.2.0. No functional changes.
|
|
8
|
+
|
|
5
9
|
## [13.0.59] - 2026-09-05
|
|
6
10
|
|
|
7
11
|
- Internal: adopt `verbatimModuleSyntax` and stricter compiler/lint settings (no unused locals/params, no bracket-free index-signature access). No functional changes.
|
package/README.md
CHANGED
|
@@ -24,12 +24,7 @@ import * as AbstractImage from "abstract-image";
|
|
|
24
24
|
|
|
25
25
|
export function AbstractImageExample() {
|
|
26
26
|
const components = [
|
|
27
|
-
AbstractImage.createLine(
|
|
28
|
-
AbstractImage.createPoint(25, 25),
|
|
29
|
-
AbstractImage.createPoint(80, 60),
|
|
30
|
-
AbstractImage.black,
|
|
31
|
-
2
|
|
32
|
-
),
|
|
27
|
+
AbstractImage.createLine(AbstractImage.createPoint(25, 25), AbstractImage.createPoint(80, 60), AbstractImage.black, 2),
|
|
33
28
|
AbstractImage.createRectangle(
|
|
34
29
|
AbstractImage.createPoint(10, 50),
|
|
35
30
|
AbstractImage.createPoint(40, 80),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import type { Meta } from "@storybook/react";
|
|
3
|
-
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export declare function ReactSvgExportExample1(): React.ReactElement<object>;
|
|
4
4
|
declare const _default: Meta;
|
|
5
5
|
export default _default;
|
|
6
6
|
//# sourceMappingURL=example-1.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-1.stories.d.ts","sourceRoot":"","sources":["../../../src/__stories__/react-svg-export/example-1.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"example-1.stories.d.ts","sourceRoot":"","sources":["../../../src/__stories__/react-svg-export/example-1.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,wBAAgB,sBAAsB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAiCnE;wBAKI,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-1.stories.js","sourceRoot":"","sources":["../../../src/__stories__/react-svg-export/example-1.stories.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"example-1.stories.js","sourceRoot":"","sources":["../../../src/__stories__/react-svg-export/example-1.stories.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,UAAU,GAAG;QACjB,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QACxH,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QACxH,aAAa,CAAC,UAAU,CACtB,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EACnC,iBAAiB,EACjB,OAAO,EACP,EAAE,EACF,aAAa,CAAC,KAAK,EACnB,QAAQ,EACR,CAAC,EACD,QAAQ,EACR,SAAS,EACT,MAAM,EACN,CAAC,EACD,aAAa,CAAC,KAAK,EACnB,KAAK,CACN;KACF,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,CAC7C,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,aAAa,CAAC,KAAK,EACnB,UAAU,CACX,CAAC;IACF,MAAM,GAAG,GAAG,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,CAAC;IACrD,OAAO,CACL,0BACE,qCAAkB,EAClB,wBAAM,GAAG,GAAO,IACZ,CACP,CAAC;AACJ,CAAC;AAED,eAAe;IACb,SAAS,EAAE,sBAAsB;IACjC,KAAK,EAAE,wBAAwB;CACxB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
1
|
import type { Meta } from "@storybook/react";
|
|
3
|
-
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
export declare function SvgExportExample1(): React.ReactElement<object>;
|
|
4
4
|
declare const _default: Meta;
|
|
5
5
|
export default _default;
|
|
6
6
|
//# sourceMappingURL=example-1.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-1.stories.d.ts","sourceRoot":"","sources":["../../../src/__stories__/svg-export/example-1.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"example-1.stories.d.ts","sourceRoot":"","sources":["../../../src/__stories__/svg-export/example-1.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,wBAAgB,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAoB9D;wBAKI,IAAI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"example-1.stories.js","sourceRoot":"","sources":["../../../src/__stories__/svg-export/example-1.stories.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"example-1.stories.js","sourceRoot":"","sources":["../../../src/__stories__/svg-export/example-1.stories.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAEhD,MAAM,UAAU,iBAAiB;IAC/B,MAAM,UAAU,GAAG;QACjB,aAAa,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;QACtH,aAAa,CAAC,eAAe,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC;KAC9I,CAAC;IACF,MAAM,KAAK,GAAG,aAAa,CAAC,mBAAmB,CAC7C,aAAa,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAC/B,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,EAClC,aAAa,CAAC,KAAK,EACnB,UAAU,CACX,CAAC;IACF,MAAM,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,OAAO,CACL,0BACE,+BAAY,EACZ,wBAAM,GAAG,GAAO,EAChB,cAAK,GAAG,EAAE,6BAA6B,MAAM,EAAE,GAAI,IAC/C,CACP,CAAC;AACJ,CAAC;AAED,eAAe;IACb,SAAS,EAAE,iBAAiB;IAC5B,KAAK,EAAE,mBAAmB;CACnB,CAAC"}
|
|
@@ -4,8 +4,7 @@ export interface ChildrenProp {
|
|
|
4
4
|
readonly children?: Child;
|
|
5
5
|
}
|
|
6
6
|
export type Child = React.JSX.Element | Children;
|
|
7
|
-
export
|
|
8
|
-
}
|
|
7
|
+
export type Children = ReadonlyArray<Child>;
|
|
9
8
|
export declare const Group: (props: GroupComponent) => GroupComponent;
|
|
10
9
|
export declare const BinaryImage: (props: BinaryImageComponent) => BinaryImageComponent;
|
|
11
10
|
export declare const Ellipse: (props: EllipseComponent) => EllipseComponent;
|
|
@@ -15,5 +14,5 @@ export declare const Polygon: (props: PolygonComponent) => PolygonComponent;
|
|
|
15
14
|
export declare const Rectangle: (props: RectangleComponent) => RectangleComponent;
|
|
16
15
|
export declare const Text: (props: TextComponent) => TextComponent;
|
|
17
16
|
export declare const SubImage: (props: SubImageComponent) => SubImageComponent;
|
|
18
|
-
export declare function render(element:
|
|
17
|
+
export declare function render(element: unknown): unknown;
|
|
19
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abstract-image-jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/abstract-image-jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EACV,KAAK,IAAI,cAAc,EACvB,WAAW,IAAI,oBAAoB,EACnC,OAAO,IAAI,gBAAgB,EAC3B,IAAI,IAAI,aAAa,EACrB,QAAQ,IAAI,iBAAiB,EAC7B,OAAO,IAAI,gBAAgB,EAC3B,SAAS,IAAI,kBAAkB,EAC/B,IAAI,IAAI,aAAa,EACrB,QAAQ,IAAI,iBAAiB,EAC9B,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;CAC3B;AACD,MAAM,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;AACjD,MAAM,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;AAE5C,eAAO,MAAM,KAAK,UAAW,cAAc,KAAG,cAAyD,CAAC;AACxG,eAAO,MAAM,WAAW,UAAW,oBAAoB,KAAG,oBAC+B,CAAC;AAC1F,eAAO,MAAM,OAAO,UAAW,gBAAgB,KAAG,gBAC2F,CAAC;AAC9I,eAAO,MAAM,IAAI,UAAW,aAAa,KAAG,aACmE,CAAC;AAChH,eAAO,MAAM,QAAQ,UAAW,iBAAiB,KAAG,iBACqD,CAAC;AAC1G,eAAO,MAAM,OAAO,UAAW,gBAAgB,KAAG,gBACuE,CAAC;AAC1H,eAAO,MAAM,SAAS,UAAW,kBAAkB,KAAG,kBAUnD,CAAC;AACJ,eAAO,MAAM,IAAI,UAAW,aAAa,KAAG,aAgBzC,CAAC;AACJ,eAAO,MAAM,QAAQ,UAAW,iBAAiB,KAAG,iBAA2E,CAAC;AAShI,wBAAgB,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQhD"}
|
|
@@ -9,25 +9,28 @@ export const Rectangle = (props) => createRectangle(props.topLeft, props.bottomR
|
|
|
9
9
|
export const Text = (props) => createText(props.position, props.text, props.fontFamily, props.fontSize, props.textColor, props.fontWeight, props.clockwiseRotationDegrees, props.textAlignment, props.horizontalGrowthDirection, props.verticalGrowthDirection, props.strokeThickness, props.strokeColor, props.italic, props.id);
|
|
10
10
|
export const SubImage = (props) => createSubImage(props.topLeft, props.size, props.image);
|
|
11
11
|
export function render(element) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const el = element;
|
|
13
|
+
if (typeof el.type !== "function") {
|
|
14
|
+
return el;
|
|
14
15
|
}
|
|
15
|
-
const props =
|
|
16
|
-
const children = renderChildren(
|
|
17
|
-
return
|
|
16
|
+
const props = el.props ?? {};
|
|
17
|
+
const children = renderChildren(el);
|
|
18
|
+
return el.type({ ...props, children });
|
|
18
19
|
}
|
|
19
20
|
function renderChildren(element) {
|
|
20
|
-
if (!element.props
|
|
21
|
+
if (!element.props?.children) {
|
|
21
22
|
return [];
|
|
22
23
|
}
|
|
23
24
|
if (element.props.type === "group") {
|
|
24
25
|
const children = element.props.children;
|
|
25
26
|
if (Array.isArray(children)) {
|
|
26
27
|
return children.flatMap((c) => {
|
|
27
|
-
if (!c)
|
|
28
|
+
if (!c) {
|
|
28
29
|
return [];
|
|
29
|
-
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(c)) {
|
|
30
32
|
return c.map(render);
|
|
33
|
+
}
|
|
31
34
|
return render(c);
|
|
32
35
|
});
|
|
33
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abstract-image-jsx/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abstract-image-jsx/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const createComponents: (mutableImageUrls: Array<string>) => Record<string, (...args: any
|
|
1
|
+
export declare const createComponents: (mutableImageUrls: Array<string>) => Record<string, (...args: Array<any>) => any>;
|
|
2
2
|
//# sourceMappingURL=components.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/components.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/components.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,gBAAgB,qBAAsB,KAAK,CAAC,MAAM,CAAC,KAAG,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAgG5G,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { black, createBinaryImage, createEllipse, createGroup, createLine, createPolygon, createPolyLine, createRectangle, createText, fromString2, solidLine, transparent, white, } from "../model/index.js";
|
|
2
|
+
// oxlint-disable-next-line typescript/no-explicit-any -- component functions receive arbitrary JSX-like template props (jsxpression's own Component type is likewise untyped); typing props precisely would require rewriting every component body
|
|
2
3
|
export const createComponents = (mutableImageUrls) => ({
|
|
3
4
|
AbstractImage: (props) => ({
|
|
4
5
|
topLeft: { x: 0, y: 0 },
|
|
@@ -45,9 +46,7 @@ export const createComponents = (mutableImageUrls) => ({
|
|
|
45
46
|
Text: (props) => {
|
|
46
47
|
const fontWeight = mapFontWeight(props.fontWeight);
|
|
47
48
|
const children = props.children ?? [];
|
|
48
|
-
const filteredChildren = Array.isArray(children)
|
|
49
|
-
? children.flat().filter((c) => c !== null && c !== undefined)
|
|
50
|
-
: [];
|
|
49
|
+
const filteredChildren = Array.isArray(children) ? children.flat().filter((c) => c !== null && c !== undefined) : [];
|
|
51
50
|
const text = filteredChildren.length > 0 ? String(filteredChildren[0]) : "";
|
|
52
51
|
return createText({ x: props.x ?? 0, y: props.y ?? 0 }, text, props.fontFamily ?? "", props.fontSize ?? 12, fromString2(props.fill ?? "#000", black), fontWeight, 0, // clockwiseRotationDegrees
|
|
53
52
|
"left", // textAlignment
|
|
@@ -80,7 +79,7 @@ function mapFontWeight(weight) {
|
|
|
80
79
|
function parsePointsString(pointsString) {
|
|
81
80
|
return pointsString.split(" ").map((tuple) => {
|
|
82
81
|
const [xString, yString] = tuple.split(",");
|
|
83
|
-
return { x: Number(xString
|
|
82
|
+
return { x: Number(xString), y: Number(yString) };
|
|
84
83
|
});
|
|
85
84
|
}
|
|
86
85
|
//# sourceMappingURL=components.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/dynamic-image/components.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,KAAK,EACL,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,UAAU,EACV,aAAa,EACb,cAAc,EACd,eAAe,EACf,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,KAAK,GACN,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,gBAA+B,
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../../src/dynamic-image/components.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-image.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dynamic-image.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,cAAc,EAAE,KAAK,cAAc,EAAe,MAAM,aAAa,CAAC;AAC9H,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,MAAM,MAAM,kBAAkB,GAC1B;IACE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC3C,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC1D,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC3C,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,EACpC,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC1C,kBAAkB,CAsBpB;AAED,MAAM,MAAM,yBAAyB,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE7I,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAC3C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC9C,yBAAyB,CAiB3B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,kBAAkB,CAsB5I"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AnalysisError, evaluate, compile, render
|
|
1
|
+
import { AnalysisError, evaluate, compile, render } from "jsxpression";
|
|
2
2
|
import { createComponents } from "./components.js";
|
|
3
3
|
import { baseSchema } from "./schema.js";
|
|
4
4
|
export function dynamicImage(source, data, dataSchema, functions, funcSchema) {
|
|
@@ -36,9 +36,7 @@ export function compileDynamicImage(source, dataSchema, functionSchema) {
|
|
|
36
36
|
error: {
|
|
37
37
|
type: "RENDER_ERROR",
|
|
38
38
|
message: error instanceof Error ? error.message : String(error),
|
|
39
|
-
issues: error instanceof AnalysisError
|
|
40
|
-
? error.report.issues.map((i) => ({ code: i.code, message: i.message }))
|
|
41
|
-
: undefined,
|
|
39
|
+
issues: error instanceof AnalysisError ? error.report.issues.map((i) => ({ code: i.code, message: i.message })) : undefined,
|
|
42
40
|
cause: error,
|
|
43
41
|
},
|
|
44
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-image.js","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"dynamic-image.js","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
import type { PropertySchema } from "jsxpression";
|
|
2
|
+
export declare function generateDataSchema(data: Record<string, unknown>): Record<string, PropertySchema>;
|
|
2
3
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAQhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dynamic-image/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dynamic-image/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,kBAAkB,CAAC,IAA6B;IAC9D,MAAM,MAAM,GAAmC,EAAE,CAAC;IAElD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC1C,OAAO;YACL,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO;YACL,IAAI,EAAE,QAAQ;SACf,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO;YACL,IAAI,EAAE,SAAS;SAChB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO;YACL,IAAI,EAAE,UAAU;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,UAAU,GAAmB,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACzG,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,UAAU;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAmC,EAAE,CAAC;QACjD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,KAAK;SACN,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { AbstractImage } from "../model/abstract-image.js";
|
|
|
2
2
|
import type { Optional } from "../model/shared.js";
|
|
3
3
|
export declare const DXF_STANDARD = "AC1015";
|
|
4
4
|
export declare const DXF_DATA_URL = "data:application/dxf,";
|
|
5
|
-
export declare const DXF_ENTITIES: string
|
|
5
|
+
export declare const DXF_ENTITIES: Array<string>;
|
|
6
6
|
export type DxfOptions = {
|
|
7
7
|
readonly imageDataByUrl: Record<string, `${typeof DXF_DATA_URL}${string}` | AbstractImage>;
|
|
8
8
|
readonly fillPolygons: boolean;
|
|
@@ -12,7 +12,8 @@ export type DxfOptions = {
|
|
|
12
12
|
export type DxfSpace = "*Model_Space" | "*Paper_Space";
|
|
13
13
|
export declare function dxf2dExportImageEncoded(root: AbstractImage, options?: Optional<DxfOptions>): Uint8Array;
|
|
14
14
|
/**
|
|
15
|
-
* @deprecated Use `dxf2dExportImageEncoded()` instead. Otherwise the text might not be correctly encoded in some
|
|
15
|
+
* @deprecated Use `dxf2dExportImageEncoded()` instead. Otherwise the text might not be correctly encoded in some
|
|
16
|
+
* languages.
|
|
16
17
|
*/
|
|
17
18
|
export declare function dxf2dExportImage(root: AbstractImage, options?: Optional<DxfOptions>): string;
|
|
18
19
|
//# sourceMappingURL=dxf2d-export-image.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dxf2d-export-image.d.ts","sourceRoot":"","sources":["../../src/exporters/dxf2d-export-image.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIhE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAGnD,eAAO,MAAM,YAAY,WAAW,CAAC;AACrC,eAAO,MAAM,YAAY,0BAA0B,CAAC;AACpD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,MAAM,CA6CtC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,OAAO,YAAY,GAAG,MAAM,EAAE,GAAG,aAAa,CAAC,CAAC;IAC3F,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,cAAc,GAAG,cAAc,CAAC;AAoBvD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,UAAU,CAEvG;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,MAAM,CA0E5F"}
|
|
@@ -51,10 +51,12 @@ export function dxf2dExportImageEncoded(root, options) {
|
|
|
51
51
|
return encodeWindows1252(dxf2dExportImage(root, options));
|
|
52
52
|
}
|
|
53
53
|
function encodeWindows1252(str) {
|
|
54
|
+
// oxlint-disable-next-line no-bitwise
|
|
54
55
|
return Uint8Array.from(str, (c) => c.charCodeAt(0) & 0xff);
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
|
-
* @deprecated Use `dxf2dExportImageEncoded()` instead. Otherwise the text might not be correctly encoded in some
|
|
58
|
+
* @deprecated Use `dxf2dExportImageEncoded()` instead. Otherwise the text might not be correctly encoded in some
|
|
59
|
+
* languages.
|
|
58
60
|
*/
|
|
59
61
|
export function dxf2dExportImage(root, options) {
|
|
60
62
|
const externalCache = new Map();
|
|
@@ -140,11 +142,7 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
|
|
|
140
142
|
return [entities, blocks, blockRecords];
|
|
141
143
|
}
|
|
142
144
|
const imageData = options.imageDataByUrl[c.data.url];
|
|
143
|
-
const url = imageData === undefined
|
|
144
|
-
? c.data.url
|
|
145
|
-
: typeof imageData === "string"
|
|
146
|
-
? imageData
|
|
147
|
-
: DXF_DATA_URL + dxf2dExportImage(imageData, options);
|
|
145
|
+
const url = imageData === undefined ? c.data.url : typeof imageData === "string" ? imageData : DXF_DATA_URL + dxf2dExportImage(imageData, options);
|
|
148
146
|
if (url === undefined || typeof url !== "string" || !url.startsWith(DXF_DATA_URL)) {
|
|
149
147
|
return [entities, blocks, blockRecords];
|
|
150
148
|
}
|
|
@@ -173,9 +171,7 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
|
|
|
173
171
|
}
|
|
174
172
|
const externalBlockRecords = extractBlockRecords(dxfString);
|
|
175
173
|
const newBlockRecordHandle = newHandle();
|
|
176
|
-
const newName = `EMBEDED_IMAGE_${randomID()}_${scale.x.toPrecision(4).replace(".", "_")}X${scale.y
|
|
177
|
-
.toPrecision(4)
|
|
178
|
-
.replace(".", "_")}`;
|
|
174
|
+
const newName = `EMBEDED_IMAGE_${randomID()}_${scale.x.toPrecision(4).replace(".", "_")}X${scale.y.toPrecision(4).replace(".", "_")}`;
|
|
179
175
|
const initOldHandlesMap = new Map();
|
|
180
176
|
for (const br of externalBlockRecords) {
|
|
181
177
|
if (br.name === "*Model_Space") {
|
|
@@ -275,8 +271,8 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
|
|
|
275
271
|
entities += "10\n0\n20\n0\n30\n0\n";
|
|
276
272
|
entities += "70\n0\n";
|
|
277
273
|
if (options.useStrokeThickness) {
|
|
278
|
-
entities += "40\n" +
|
|
279
|
-
entities += "41\n" +
|
|
274
|
+
entities += "40\n" + c.strokeThickness + "\n";
|
|
275
|
+
entities += "41\n" + c.strokeThickness + "\n";
|
|
280
276
|
}
|
|
281
277
|
const points = [
|
|
282
278
|
{ x: c.start.x, y: invert(c.start.y, size.height) },
|
|
@@ -318,8 +314,8 @@ function componentDxf(c, layer, size, modelSpaceHandle, externalCache, options,
|
|
|
318
314
|
entities += "10\n0\n20\n0\n30\n0\n";
|
|
319
315
|
entities += "70\n0\n";
|
|
320
316
|
if (options.useStrokeThickness) {
|
|
321
|
-
entities += "40\n" +
|
|
322
|
-
entities += "41\n" +
|
|
317
|
+
entities += "40\n" + c.strokeThickness + "\n";
|
|
318
|
+
entities += "41\n" + c.strokeThickness + "\n";
|
|
323
319
|
}
|
|
324
320
|
for (const point of c.points) {
|
|
325
321
|
entities += "0\nVERTEX\n";
|
|
@@ -464,9 +460,7 @@ function extractEntities(dxf) {
|
|
|
464
460
|
return dxf.slice(from, end).trim();
|
|
465
461
|
}
|
|
466
462
|
function extractBlockRecords(dxf) {
|
|
467
|
-
return [
|
|
468
|
-
...dxf.matchAll(/^\s*0\s*\n\s*BLOCK_RECORD[\s\S]*?\n\s*5\s*\n\s*([0-9A-Fa-f]+)[\s\S]*?\n\s*2\s*\n\s*([^\r\n]+)/gm),
|
|
469
|
-
].map((match) => ({
|
|
463
|
+
return [...dxf.matchAll(/^\s*0\s*\n\s*BLOCK_RECORD[\s\S]*?\n\s*5\s*\n\s*([0-9A-Fa-f]+)[\s\S]*?\n\s*2\s*\n\s*([^\r\n]+)/gm)].map((match) => ({
|
|
470
464
|
name: match[2],
|
|
471
465
|
id: match[1],
|
|
472
466
|
}));
|
|
@@ -560,9 +554,6 @@ function scaleDxf(dxfString, sx, sy, _height) {
|
|
|
560
554
|
currentAcDbEntity = valueLine;
|
|
561
555
|
}
|
|
562
556
|
scaledLines.push(codeLine);
|
|
563
|
-
if (valueLine === undefined) {
|
|
564
|
-
continue;
|
|
565
|
-
}
|
|
566
557
|
const code = parseInt(codeLine.trim(), 10);
|
|
567
558
|
let value = valueLine;
|
|
568
559
|
switch (true) {
|
|
@@ -927,8 +918,7 @@ function createObjects(modelSpaceHandle, paperSpaceHandle, root, newHandle) {
|
|
|
927
918
|
objects += "0\nLAYOUT\n5\n" + layoutModelId + "\n102\n{ACAD_REACTORS\n330\n" + layoutDictId + "\n102\n}\n";
|
|
928
919
|
objects += "330\n" + layoutDictId + "\n100\nAcDbPlotSettings\n1\n\n2\nnone_device\n4\n\n6\n\n";
|
|
929
920
|
objects += "40\n0.0\n41\n0.0\n42\n0.0\n43\n0.0\n44\n0.0\n45\n0.0\n46\n0.0\n47\n0.0\n48\n0.0\n49\n0.0\n";
|
|
930
|
-
objects +=
|
|
931
|
-
"140\n0.0\n141\n0.0\n142\n1.0\n143\n1.0\n70\n1712\n72\n0\n73\n0\n74\n0\n7\n\n75\n0\n147\n1.0\n148\n0.0\n149\n0.0\n";
|
|
921
|
+
objects += "140\n0.0\n141\n0.0\n142\n1.0\n143\n1.0\n70\n1712\n72\n0\n73\n0\n74\n0\n7\n\n75\n0\n147\n1.0\n148\n0.0\n149\n0.0\n";
|
|
932
922
|
objects += "100\nAcDbLayout\n1\nModel\n70\n1\n71\n0\n";
|
|
933
923
|
objects += "10\n0.0\n20\n0.0\n11\n" + root.size.width + "\n21\n" + root.size.height + "\n";
|
|
934
924
|
objects += "12\n0.0\n22\n0.0\n32\n0.0\n14\n0.0\n24\n0.0\n34\n0.0\n";
|
|
@@ -939,8 +929,7 @@ function createObjects(modelSpaceHandle, paperSpaceHandle, root, newHandle) {
|
|
|
939
929
|
objects += "0\nLAYOUT\n5\n" + layoutPaperId + "\n102\n{ACAD_REACTORS\n330\n" + layoutDictId + "\n102\n}\n";
|
|
940
930
|
objects += "330\n" + layoutDictId + "\n100\nAcDbPlotSettings\n1\n\n2\nnone_device\n4\n\n6\n\n";
|
|
941
931
|
objects += "40\n0.0\n41\n0.0\n42\n0.0\n43\n0.0\n44\n0.0\n45\n0.0\n46\n0.0\n47\n0.0\n48\n0.0\n49\n0.0\n";
|
|
942
|
-
objects +=
|
|
943
|
-
"140\n0.0\n141\n0.0\n142\n1.0\n143\n1.0\n70\n688\n72\n0\n73\n0\n74\n5\n7\n\n75\n16\n147\n1.0\n148\n0.0\n149\n0.0\n";
|
|
932
|
+
objects += "140\n0.0\n141\n0.0\n142\n1.0\n143\n1.0\n70\n688\n72\n0\n73\n0\n74\n5\n7\n\n75\n16\n147\n1.0\n148\n0.0\n149\n0.0\n";
|
|
944
933
|
objects += "100\nAcDbLayout\n1\nLayout1\n70\n1\n71\n1\n";
|
|
945
934
|
objects += "10\n0.0\n20\n0.0\n11\n" + root.size.width + "\n21\n" + root.size.height + "\n";
|
|
946
935
|
objects += "12\n0.0\n22\n0.0\n32\n0.0\n14\n1.0E+20\n24\n1.0E+20\n34\n1.0E+20\n";
|
|
@@ -1066,6 +1055,7 @@ function isBlack(color) {
|
|
|
1066
1055
|
return color.r === 0 && color.g === 0 && color.b === 0;
|
|
1067
1056
|
}
|
|
1068
1057
|
function colorToInteger(color) {
|
|
1058
|
+
// oxlint-disable-next-line no-bitwise
|
|
1069
1059
|
const colorAsInt = (color.r << 16) + (color.g << 8) + color.b;
|
|
1070
1060
|
if (Number.isNaN(colorAsInt)) {
|
|
1071
1061
|
return 0;
|