abstract-image 13.0.61 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/README.md +1 -6
  3. package/lib/__stories__/react-svg-export/example-1.stories.d.ts +2 -2
  4. package/lib/__stories__/react-svg-export/example-1.stories.d.ts.map +1 -1
  5. package/lib/__stories__/react-svg-export/example-1.stories.js.map +1 -1
  6. package/lib/__stories__/svg-export/example-1.stories.d.ts +2 -2
  7. package/lib/__stories__/svg-export/example-1.stories.d.ts.map +1 -1
  8. package/lib/__stories__/svg-export/example-1.stories.js.map +1 -1
  9. package/lib/abstract-image-jsx/index.d.ts +2 -3
  10. package/lib/abstract-image-jsx/index.d.ts.map +1 -1
  11. package/lib/abstract-image-jsx/index.js +11 -8
  12. package/lib/abstract-image-jsx/index.js.map +1 -1
  13. package/lib/dynamic-image/components.d.ts +1 -1
  14. package/lib/dynamic-image/components.d.ts.map +1 -1
  15. package/lib/dynamic-image/components.js +3 -4
  16. package/lib/dynamic-image/components.js.map +1 -1
  17. package/lib/dynamic-image/dynamic-image.d.ts.map +1 -1
  18. package/lib/dynamic-image/dynamic-image.js +2 -4
  19. package/lib/dynamic-image/dynamic-image.js.map +1 -1
  20. package/lib/dynamic-image/utils.d.ts +2 -1
  21. package/lib/dynamic-image/utils.d.ts.map +1 -1
  22. package/lib/dynamic-image/utils.js.map +1 -1
  23. package/lib/exporters/dxf2d-export-image.d.ts +3 -2
  24. package/lib/exporters/dxf2d-export-image.d.ts.map +1 -1
  25. package/lib/exporters/dxf2d-export-image.js +13 -23
  26. package/lib/exporters/dxf2d-export-image.js.map +1 -1
  27. package/lib/exporters/eps-export-image.d.ts +1 -2
  28. package/lib/exporters/eps-export-image.d.ts.map +1 -1
  29. package/lib/exporters/eps-export-image.js +5 -16
  30. package/lib/exporters/eps-export-image.js.map +1 -1
  31. package/lib/exporters/react-svg-export-image.d.ts.map +1 -1
  32. package/lib/exporters/react-svg-export-image.js +10 -10
  33. package/lib/exporters/react-svg-export-image.js.map +1 -1
  34. package/lib/exporters/svg-export-image.d.ts.map +1 -1
  35. package/lib/exporters/svg-export-image.js +7 -5
  36. package/lib/exporters/svg-export-image.js.map +1 -1
  37. package/lib/model/abstract-image.d.ts +1 -1
  38. package/lib/model/abstract-image.d.ts.map +1 -1
  39. package/lib/model/abstract-image.js.map +1 -1
  40. package/lib/model/color.d.ts.map +1 -1
  41. package/lib/model/color.js +3 -5
  42. package/lib/model/color.js.map +1 -1
  43. package/lib/model/component.d.ts +3 -5
  44. package/lib/model/component.d.ts.map +1 -1
  45. package/lib/model/component.js +1 -1
  46. package/lib/model/component.js.map +1 -1
  47. package/package.json +17 -17
  48. package/src/__stories__/react-svg-export/example-1.stories.tsx +4 -14
  49. package/src/__stories__/svg-export/example-1.stories.tsx +4 -15
  50. package/src/abstract-image-jsx/index.ts +27 -32
  51. package/src/dynamic-image/components.ts +6 -19
  52. package/src/dynamic-image/dynamic-image.ts +6 -23
  53. package/src/dynamic-image/utils.ts +7 -5
  54. package/src/exporters/dxf2d-export-image.ts +22 -65
  55. package/src/exporters/eps-export-image.ts +8 -18
  56. package/src/exporters/react-svg-export-image.tsx +24 -49
  57. package/src/exporters/svg-export-image.ts +10 -15
  58. package/src/model/abstract-image.ts +2 -7
  59. package/src/model/color.ts +4 -13
  60. package/src/model/component.ts +5 -13
@@ -2,19 +2,17 @@ export function fromArgb(a, r, g, b) {
2
2
  return { a: a, r: r, g: g, b: b };
3
3
  }
4
4
  export function toString6Hex(color) {
5
- return (("00" + color.r.toString(16)).substr(-2) +
6
- ("00" + color.g.toString(16)).substr(-2) +
7
- ("00" + color.b.toString(16)).substr(-2));
5
+ return ("00" + color.r.toString(16)).substr(-2) + ("00" + color.g.toString(16)).substr(-2) + ("00" + color.b.toString(16)).substr(-2);
8
6
  }
9
7
  export function fromString(s) {
10
- if (s === null || s === undefined || s.length !== 9 || s[0] !== "#") {
8
+ if (s?.length !== 9 || !s.startsWith("#")) {
11
9
  return undefined;
12
10
  }
13
11
  const a = parseInt(s.substring(1, 1 + 2), 16);
14
12
  const r = parseInt(s.substring(3, 3 + 2), 16);
15
13
  const g = parseInt(s.substring(5, 5 + 2), 16);
16
14
  const b = parseInt(s.substring(7, 7 + 2), 16);
17
- if (isNaN(a) || isNaN(r) || isNaN(g) || isNaN(b)) {
15
+ if (Number.isNaN(a) || Number.isNaN(r) || Number.isNaN(g) || Number.isNaN(b)) {
18
16
  return undefined;
19
17
  }
20
18
  return fromArgb(a, r, g, b);
@@ -1 +1 @@
1
- {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/model/color.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"color.js","sourceRoot":"","sources":["../../src/model/color.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { Point } from "./point.js";
1
+ import type { AbstractImage } from "./abstract-image.js";
2
2
  import type { Color } from "./color.js";
3
3
  import type { DashStyle } from "./dash-style.js";
4
- import type { AbstractImage } from "./abstract-image.js";
4
+ import type { Point } from "./point.js";
5
5
  import type { Size } from "./size.js";
6
6
  export type Component = BinaryImage | Ellipse | Line | PolyLine | Polygon | Rectangle | Text | SubImage | Group;
7
7
  export interface Group {
@@ -10,9 +10,7 @@ export interface Group {
10
10
  readonly children: Array<Component>;
11
11
  }
12
12
  export declare function createGroup(name: string, children: Array<Component>): Group;
13
- /**
14
- * Embed a foreign binary image in any suported format.
15
- */
13
+ /** Embed a foreign binary image in any suported format. */
16
14
  export type BinaryFormat = "svg" | "png" | "dxf";
17
15
  export interface BinaryImage {
18
16
  readonly type: "binaryimage";
@@ -1 +1 @@
1
- {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { createPoint } from "./point.js";
2
1
  import { solidLine } from "./dash-style.js";
2
+ import { createPoint } from "./point.js";
3
3
  export function createGroup(name, children) {
4
4
  return {
5
5
  type: "group",
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/model/component.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,17 +1,10 @@
1
1
  {
2
2
  "name": "abstract-image",
3
- "version": "13.0.61",
3
+ "version": "13.1.0",
4
+ "gitHead": "17921b59da5eee6cc446fd37a2134165af4d1901",
4
5
  "description": "Dynamically create images using code or JSX and render to any format",
5
- "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
6
- "main": "lib/index.js",
7
- "types": "lib/index",
8
- "sideEffects": false,
9
- "type": "module",
10
6
  "license": "MIT",
11
- "exports": {
12
- ".": "./lib/index.js",
13
- "./dynamic-image": "./lib/dynamic-image/index.js"
14
- },
7
+ "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
15
8
  "files": [
16
9
  "/lib",
17
10
  "/src",
@@ -21,15 +14,20 @@
21
14
  "README.md",
22
15
  "!/**/__tests__"
23
16
  ],
17
+ "type": "module",
18
+ "sideEffects": false,
19
+ "main": "lib/index.js",
20
+ "types": "lib/index",
21
+ "exports": {
22
+ ".": "./lib/index.js",
23
+ "./dynamic-image": "./lib/dynamic-image/index.js"
24
+ },
24
25
  "dependencies": {
25
26
  "base64-js": "^1.5.1",
26
27
  "fast-xml-parser": "^4.5.0",
27
28
  "handlebars": "4.7.8",
28
- "handlebars-xml": "^0.4.8",
29
- "jsxpression": "^0.1.41"
30
- },
31
- "peerDependencies": {
32
- "react": ">=17.0.0 <20.0.0"
29
+ "handlebars-xml": "^0.5.0",
30
+ "jsxpression": "^0.2.0"
33
31
  },
34
32
  "devDependencies": {
35
33
  "@types/base64-js": "^1.3.2",
@@ -38,5 +36,7 @@
38
36
  "vite": "^6.0.1",
39
37
  "vitest": "^2.1.6"
40
38
  },
41
- "gitHead": "96519bbb4d43c57b0a97917065a32b58d762f462"
42
- }
39
+ "peerDependencies": {
40
+ "react": ">=17.0.0 <20.0.0"
41
+ }
42
+ }
@@ -1,21 +1,11 @@
1
- import * as React from "react";
2
1
  import type { Meta } from "@storybook/react";
2
+ import * as React from "react";
3
3
  import * as AbstractImage from "../../index.js";
4
4
 
5
- export function ReactSvgExportExample1(): React.ReactElement<{}> {
5
+ export function ReactSvgExportExample1(): React.ReactElement<object> {
6
6
  const components = [
7
- AbstractImage.createLine(
8
- AbstractImage.createPoint(0, 200),
9
- AbstractImage.createPoint(400, 200),
10
- AbstractImage.black,
11
- 1
12
- ),
13
- AbstractImage.createLine(
14
- AbstractImage.createPoint(200, 0),
15
- AbstractImage.createPoint(200, 400),
16
- AbstractImage.black,
17
- 1
18
- ),
7
+ AbstractImage.createLine(AbstractImage.createPoint(0, 200), AbstractImage.createPoint(400, 200), AbstractImage.black, 1),
8
+ AbstractImage.createLine(AbstractImage.createPoint(200, 0), AbstractImage.createPoint(200, 400), AbstractImage.black, 1),
19
9
  AbstractImage.createText(
20
10
  AbstractImage.createPoint(200, 200),
21
11
  "Testing texting",
@@ -1,22 +1,11 @@
1
- import * as React from "react";
2
1
  import type { Meta } from "@storybook/react";
2
+ import * as React from "react";
3
3
  import * as AbstractImage from "../../index.js";
4
4
 
5
- export function SvgExportExample1(): React.ReactElement<{}> {
5
+ export function SvgExportExample1(): React.ReactElement<object> {
6
6
  const components = [
7
- AbstractImage.createLine(
8
- AbstractImage.createPoint(25, 25),
9
- AbstractImage.createPoint(80, 60),
10
- AbstractImage.black,
11
- 2
12
- ),
13
- AbstractImage.createRectangle(
14
- AbstractImage.createPoint(10, 50),
15
- AbstractImage.createPoint(40, 80),
16
- AbstractImage.blue,
17
- 2,
18
- AbstractImage.red
19
- ),
7
+ AbstractImage.createLine(AbstractImage.createPoint(25, 25), AbstractImage.createPoint(80, 60), AbstractImage.black, 2),
8
+ AbstractImage.createRectangle(AbstractImage.createPoint(10, 50), AbstractImage.createPoint(40, 80), AbstractImage.blue, 2, AbstractImage.red),
20
9
  ];
21
10
  const image = AbstractImage.createAbstractImage(
22
11
  AbstractImage.createPoint(0, 0),
@@ -1,5 +1,4 @@
1
1
  import type React from "react";
2
-
3
2
  import type {
4
3
  Group as GroupComponent,
5
4
  BinaryImage as BinaryImageComponent,
@@ -27,34 +26,19 @@ export interface ChildrenProp {
27
26
  readonly children?: Child;
28
27
  }
29
28
  export type Child = React.JSX.Element | Children;
30
- export interface Children extends ReadonlyArray<Child> {}
29
+ export type Children = ReadonlyArray<Child>;
31
30
 
32
31
  export const Group = (props: GroupComponent): GroupComponent => createGroup(props.name, props.children);
33
32
  export const BinaryImage = (props: BinaryImageComponent): BinaryImageComponent =>
34
33
  createBinaryImage(props.topLeft, props.bottomRight, props.format, props.data, props.id);
35
34
  export const Ellipse = (props: EllipseComponent): EllipseComponent =>
36
- createEllipse(
37
- props.topLeft,
38
- props.bottomRight,
39
- props.strokeColor,
40
- props.strokeThickness,
41
- props.fillColor,
42
- props.id,
43
- props.strokeDashStyle
44
- );
35
+ createEllipse(props.topLeft, props.bottomRight, props.strokeColor, props.strokeThickness, props.fillColor, props.id, props.strokeDashStyle);
45
36
  export const Line = (props: LineComponent): LineComponent =>
46
37
  createLine(props.start, props.end, props.strokeColor, props.strokeThickness, props.id, props.strokeDashStyle);
47
38
  export const PolyLine = (props: PolyLineComponent): PolyLineComponent =>
48
39
  createPolyLine(props.points, props.strokeColor, props.strokeThickness, props.id, props.strokeDashStyle);
49
40
  export const Polygon = (props: PolygonComponent): PolygonComponent =>
50
- createPolygon(
51
- props.points,
52
- props.strokeColor,
53
- props.strokeThickness,
54
- props.fillColor,
55
- props.id,
56
- props.strokeDashStyle
57
- );
41
+ createPolygon(props.points, props.strokeColor, props.strokeThickness, props.fillColor, props.id, props.strokeDashStyle);
58
42
  export const Rectangle = (props: RectangleComponent): RectangleComponent =>
59
43
  createRectangle(
60
44
  props.topLeft,
@@ -83,29 +67,40 @@ export const Text = (props: TextComponent): TextComponent =>
83
67
  props.italic,
84
68
  props.id
85
69
  );
86
- export const SubImage = (props: SubImageComponent): SubImageComponent =>
87
- createSubImage(props.topLeft, props.size, props.image);
70
+ export const SubImage = (props: SubImageComponent): SubImageComponent => createSubImage(props.topLeft, props.size, props.image);
71
+
72
+ // Shape actually accessed when walking the fake element tree at runtime; `type`'s props param and
73
+ // `props` itself are a genuinely arbitrary bag of component props, not a fixed structural type.
74
+ interface FakeElement {
75
+ readonly type: string | ((props: Record<string, unknown>) => unknown);
76
+ readonly props?: { readonly type?: unknown; readonly children?: unknown; readonly [key: string]: unknown };
77
+ }
88
78
 
89
- export function render(element: any): any {
90
- if (typeof element.type !== "function") {
91
- return element;
79
+ export function render(element: unknown): unknown {
80
+ const el = element as FakeElement;
81
+ if (typeof el.type !== "function") {
82
+ return el;
92
83
  }
93
- const props = element.props || {};
94
- const children = renderChildren(element);
95
- return element.type({ ...props, children });
84
+ const props = el.props ?? {};
85
+ const children = renderChildren(el);
86
+ return el.type({ ...props, children });
96
87
  }
97
88
 
98
- function renderChildren(element: React.ReactElement<any>): any {
99
- if (!element.props || !element.props.children) {
89
+ function renderChildren(element: FakeElement): Array<unknown> {
90
+ if (!element.props?.children) {
100
91
  return [];
101
92
  }
102
93
 
103
94
  if (element.props.type === "group") {
104
95
  const children = element.props.children;
105
96
  if (Array.isArray(children)) {
106
- return children.flatMap((c: any) => {
107
- if (!c) return [];
108
- if (Array.isArray(c)) return c.map(render);
97
+ return children.flatMap((c: unknown) => {
98
+ if (!c) {
99
+ return [];
100
+ }
101
+ if (Array.isArray(c)) {
102
+ return c.map(render);
103
+ }
109
104
  return render(c);
110
105
  });
111
106
  } else {
@@ -27,7 +27,8 @@ import {
27
27
  white,
28
28
  } from "../model/index.js";
29
29
 
30
- export const createComponents = (mutableImageUrls: Array<string>): Record<string, (...args: any[]) => any> => ({
30
+ // 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
31
+ export const createComponents = (mutableImageUrls: Array<string>): Record<string, (...args: Array<any>) => any> => ({
31
32
  AbstractImage: (props): AbstractImage => ({
32
33
  topLeft: { x: 0, y: 0 },
33
34
  size: { width: props.width ?? 800, height: props.height ?? 600 },
@@ -45,13 +46,7 @@ export const createComponents = (mutableImageUrls: Array<string>): Record<string
45
46
  const y = props.y ?? 0;
46
47
  const width = props.width ?? 100;
47
48
  const height = props.height ?? 100;
48
- return createBinaryImage(
49
- { x, y },
50
- { x: x + width, y: y + height },
51
- "png",
52
- { type: "url", url: props.src },
53
- undefined
54
- );
49
+ return createBinaryImage({ x, y }, { x: x + width, y: y + height }, "png", { type: "url", url: props.src }, undefined);
55
50
  },
56
51
  Rectangle: (props): Rectangle => {
57
52
  const x = props.x ?? 0;
@@ -95,13 +90,7 @@ export const createComponents = (mutableImageUrls: Array<string>): Record<string
95
90
  );
96
91
  },
97
92
  Polyline: (props): PolyLine => {
98
- return createPolyLine(
99
- parsePointsString(props.points),
100
- fromString2(props.stroke ?? "#000", black),
101
- props.strokeWidth ?? 1,
102
- undefined,
103
- solidLine
104
- );
93
+ return createPolyLine(parsePointsString(props.points), fromString2(props.stroke ?? "#000", black), props.strokeWidth ?? 1, undefined, solidLine);
105
94
  },
106
95
  Polygon: (props): Polygon => {
107
96
  return createPolygon(
@@ -116,9 +105,7 @@ export const createComponents = (mutableImageUrls: Array<string>): Record<string
116
105
  Text: (props): Text => {
117
106
  const fontWeight = mapFontWeight(props.fontWeight);
118
107
  const children = props.children ?? [];
119
- const filteredChildren = Array.isArray(children)
120
- ? children.flat().filter((c: any) => c !== null && c !== undefined)
121
- : [];
108
+ const filteredChildren = Array.isArray(children) ? children.flat().filter((c) => c !== null && c !== undefined) : [];
122
109
  const text = filteredChildren.length > 0 ? String(filteredChildren[0]) : "";
123
110
  return createText(
124
111
  { x: props.x ?? 0, y: props.y ?? 0 },
@@ -162,6 +149,6 @@ function mapFontWeight(weight?: string | number): AbstractFontWeight {
162
149
  function parsePointsString(pointsString: string): Array<Point> {
163
150
  return pointsString.split(" ").map((tuple): Point => {
164
151
  const [xString, yString] = tuple.split(",");
165
- return { x: Number(xString ?? 0), y: Number(yString ?? 0) };
152
+ return { x: Number(xString), y: Number(yString) };
166
153
  });
167
154
  }
@@ -1,12 +1,4 @@
1
- import {
2
- AnalysisError,
3
- evaluate,
4
- compile,
5
- render,
6
- type FunctionSchema,
7
- type PropertySchema,
8
- type Schema,
9
- } from "jsxpression";
1
+ import { AnalysisError, evaluate, compile, render, type FunctionSchema, type PropertySchema, type Schema } from "jsxpression";
10
2
  import type { AbstractImage } from "../model/abstract-image.js";
11
3
  import { createComponents } from "./components.js";
12
4
  import { baseSchema } from "./schema.js";
@@ -34,7 +26,7 @@ export function dynamicImage(
34
26
  funcSchema?: Record<string, FunctionSchema>
35
27
  ): DynamicImageResult {
36
28
  try {
37
- const imageUrls: string[] = [];
29
+ const imageUrls: Array<string> = [];
38
30
  const schema: Schema = dataSchema ? { ...baseSchema, data: dataSchema, functions: funcSchema } : baseSchema;
39
31
 
40
32
  const image = render<AbstractImage>(source, schema, {
@@ -56,9 +48,7 @@ export function dynamicImage(
56
48
  }
57
49
  }
58
50
 
59
- export type CompileDynamicImageResult =
60
- | { readonly type: "Ok"; value: string }
61
- | { readonly type: "Err"; readonly error: DynamicImageError };
51
+ export type CompileDynamicImageResult = { readonly type: "Ok"; value: string } | { readonly type: "Err"; readonly error: DynamicImageError };
62
52
 
63
53
  export function compileDynamicImage(
64
54
  source: string,
@@ -76,22 +66,15 @@ export function compileDynamicImage(
76
66
  error: {
77
67
  type: "RENDER_ERROR",
78
68
  message: error instanceof Error ? error.message : String(error),
79
- issues:
80
- error instanceof AnalysisError
81
- ? error.report.issues.map((i) => ({ code: i.code, message: i.message }))
82
- : undefined,
69
+ issues: error instanceof AnalysisError ? error.report.issues.map((i) => ({ code: i.code, message: i.message })) : undefined,
83
70
  cause: error,
84
71
  },
85
72
  };
86
73
  }
87
74
  }
88
75
 
89
- export function renderDynamicImage(
90
- jsString: string,
91
- data: Record<string, unknown>,
92
- functions?: Record<string, Function>
93
- ): DynamicImageResult {
94
- const imageUrls: string[] = [];
76
+ export function renderDynamicImage(jsString: string, data: Record<string, unknown>, functions?: Record<string, Function>): DynamicImageResult {
77
+ const imageUrls: Array<string> = [];
95
78
  try {
96
79
  return {
97
80
  type: "Ok",
@@ -1,5 +1,7 @@
1
- export function generateDataSchema(data: Record<string, unknown>): Record<string, any> {
2
- const schema: Record<string, any> = {};
1
+ import type { PropertySchema } from "jsxpression";
2
+
3
+ export function generateDataSchema(data: Record<string, unknown>): Record<string, PropertySchema> {
4
+ const schema: Record<string, PropertySchema> = {};
3
5
 
4
6
  for (const [key, value] of Object.entries(data)) {
5
7
  schema[key] = inferPropertySchema(value);
@@ -8,7 +10,7 @@ export function generateDataSchema(data: Record<string, unknown>): Record<string
8
10
  return schema;
9
11
  }
10
12
 
11
- function inferPropertySchema(value: unknown): any {
13
+ function inferPropertySchema(value: unknown): PropertySchema {
12
14
  if (value === null || value === undefined) {
13
15
  return {
14
16
  type: "string",
@@ -40,7 +42,7 @@ function inferPropertySchema(value: unknown): any {
40
42
  }
41
43
 
42
44
  if (Array.isArray(value)) {
43
- const itemSchema = value.length > 0 ? inferPropertySchema(value[0]) : { type: "string" };
45
+ const itemSchema: PropertySchema = value.length > 0 ? inferPropertySchema(value[0]) : { type: "string" };
44
46
  return {
45
47
  type: "array",
46
48
  shape: itemSchema,
@@ -48,7 +50,7 @@ function inferPropertySchema(value: unknown): any {
48
50
  }
49
51
 
50
52
  if (typeof value === "object") {
51
- const shape: Record<string, any> = {};
53
+ const shape: Record<string, PropertySchema> = {};
52
54
  for (const [k, v] of Object.entries(value)) {
53
55
  shape[k] = inferPropertySchema(v);
54
56
  }