abstract-image 13.0.9 → 13.0.11

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.
@@ -1,3 +1,4 @@
1
+ import { PropertySchema } from "jsxpression";
1
2
  import { AbstractImage } from "../model/abstract-image.js";
2
3
  export type DynamicImageResult = {
3
4
  readonly type: "Ok";
@@ -13,4 +14,13 @@ export type DynamicImageError = {
13
14
  cause?: unknown;
14
15
  };
15
16
  export declare function dynamicImage(source: string, data: Record<string, unknown>): DynamicImageResult;
17
+ export type CompileDynamicImageResult = {
18
+ readonly type: "Ok";
19
+ value: string;
20
+ } | {
21
+ readonly type: "Err";
22
+ readonly error: DynamicImageError;
23
+ };
24
+ export declare function compileDynamicImage(source: string, dataSchema?: Record<string, PropertySchema>): CompileDynamicImageResult;
25
+ export declare function renderDynamicImage(jsString: string, data: Record<string, unknown>): DynamicImageResult;
16
26
  //# sourceMappingURL=dynamic-image.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-image.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAM3D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,GACjG;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,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAyB9F"}
1
+ {"version":3,"file":"dynamic-image.d.ts","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,cAAc,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAK3D,MAAM,MAAM,kBAAkB,GAC1B;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAAE,GACjG;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,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAqB9F;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC1C,yBAAyB,CAS3B;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,kBAAkB,CActG"}
@@ -1,4 +1,4 @@
1
- import { render } from "jsxpression";
1
+ import { render, compile, evaluate } from "jsxpression";
2
2
  import { generateDataSchema } from "./utils.js";
3
3
  import { createComponents } from "./components.js";
4
4
  import { baseSchema } from "./schema.js";
@@ -18,11 +18,34 @@ export function dynamicImage(source, data) {
18
18
  catch (error) {
19
19
  return {
20
20
  type: "Err",
21
- error: {
22
- type: "RENDER_ERROR",
23
- message: error instanceof Error ? error.message : String(error),
24
- cause: error,
25
- },
21
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
22
+ };
23
+ }
24
+ }
25
+ export function compileDynamicImage(source, dataSchema) {
26
+ try {
27
+ return { type: "Ok", value: compile(source, dataSchema ? { ...baseSchema, data: dataSchema } : baseSchema) };
28
+ }
29
+ catch (error) {
30
+ return {
31
+ type: "Err",
32
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
33
+ };
34
+ }
35
+ }
36
+ export function renderDynamicImage(jsString, data) {
37
+ const imageUrls = Array();
38
+ try {
39
+ return {
40
+ type: "Ok",
41
+ image: evaluate(jsString, baseSchema, { data, components: createComponents(imageUrls) }),
42
+ imageUrls,
43
+ };
44
+ }
45
+ catch (error) {
46
+ return {
47
+ type: "Err",
48
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
26
49
  };
27
50
  }
28
51
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-image.js","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAA6B;IACxE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,EAAU,CAAC;QAElC,MAAM,MAAM,GAAW;YACrB,GAAG,UAAU;YACb,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAC/B,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAgB,MAAM,EAAE,MAAM,EAAE;YAClD,IAAI;YACJ,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC;SACxC,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE;gBACL,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC/D,KAAK,EAAE,KAAK;aACb;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"dynamic-image.js","sourceRoot":"","sources":["../../src/dynamic-image/dynamic-image.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,OAAO,EAAE,QAAQ,EAAkB,MAAM,aAAa,CAAC;AAEhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAYzC,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,IAA6B;IACxE,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,KAAK,EAAU,CAAC;QAElC,MAAM,MAAM,GAAW;YACrB,GAAG,UAAU;YACb,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC;SAC/B,CAAC;QAEF,MAAM,KAAK,GAAG,MAAM,CAAgB,MAAM,EAAE,MAAM,EAAE;YAClD,IAAI;YACJ,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC;SACxC,CAAC,CAAC;QAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;SAC/G,CAAC;IACJ,CAAC;AACH,CAAC;AAMD,MAAM,UAAU,mBAAmB,CACjC,MAAc,EACd,UAA2C;IAE3C,IAAI,CAAC;QACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;SAC/G,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB,EAAE,IAA6B;IAChF,MAAM,SAAS,GAAG,KAAK,EAAU,CAAC;IAClC,IAAI,CAAC;QACH,OAAO;YACL,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,CAAkB;YACzG,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;SAC/G,CAAC;IACJ,CAAC;AACH,CAAC"}
package/lib/index.d.ts CHANGED
@@ -9,6 +9,5 @@ export * from "./exporters/png-export-image.js";
9
9
  export * from "./exporters/dxf2d-export-image.js";
10
10
  export * from "./exporters/react-svg-export-image.js";
11
11
  export * from "./exporters/eps-export-image.js";
12
- export * from "./dynamic-image/index.js";
13
12
  export * as AbstractImageJsx from "./abstract-image-jsx/index.js";
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
package/lib/index.js CHANGED
@@ -9,6 +9,5 @@ export * from "./exporters/png-export-image.js";
9
9
  export * from "./exporters/dxf2d-export-image.js";
10
10
  export * from "./exporters/react-svg-export-image.js";
11
11
  export * from "./exporters/eps-export-image.js";
12
- export * from "./dynamic-image/index.js";
13
12
  export * as AbstractImageJsx from "./abstract-image-jsx/index.js";
14
13
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAChD,cAAc,mCAAmC,CAAC;AAClD,cAAc,uCAAuC,CAAC;AACtD,cAAc,iCAAiC,CAAC;AAChD,OAAO,KAAK,gBAAgB,MAAM,+BAA+B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abstract-image",
3
- "version": "13.0.9",
3
+ "version": "13.0.11",
4
4
  "description": "Dynamically create images using code or JSX and render to any format",
5
5
  "repository": "https://github.com/dividab/abstract-visuals/tree/master/packages/abstract-image",
6
6
  "main": "lib/index.js",
@@ -9,7 +9,8 @@
9
9
  "type": "module",
10
10
  "license": "MIT",
11
11
  "exports": {
12
- ".": "./lib/index.js"
12
+ ".": "./lib/index.js",
13
+ "./dynamic-image": "./lib/dynamic-image/index.js"
13
14
  },
14
15
  "files": [
15
16
  "/lib",
@@ -26,7 +27,7 @@
26
27
  "handlebars": "4.7.8",
27
28
  "handlebars-xml": "^0.4.3",
28
29
  "iconv-lite": "^0.7.2",
29
- "jsxpression": "^0.1.13"
30
+ "jsxpression": "^0.1.15"
30
31
  },
31
32
  "peerDependencies": {
32
33
  "react": ">=17.0.0 <20.0.0"
@@ -38,5 +39,5 @@
38
39
  "vite": "^6.0.1",
39
40
  "vitest": "^2.1.6"
40
41
  },
41
- "gitHead": "1a8ce6585fe2bfa1e57b64170c331120f9f95391"
42
+ "gitHead": "b488708345c01b260b88113fca5edee60ec774e6"
42
43
  }
@@ -1,6 +1,5 @@
1
- import { render, Schema } from "jsxpression";
1
+ import { render, Schema, compile, evaluate, PropertySchema } from "jsxpression";
2
2
  import { AbstractImage } from "../model/abstract-image.js";
3
-
4
3
  import { generateDataSchema } from "./utils.js";
5
4
  import { createComponents } from "./components.js";
6
5
  import { baseSchema } from "./schema.js";
@@ -33,11 +32,41 @@ export function dynamicImage(source: string, data: Record<string, unknown>): Dyn
33
32
  } catch (error) {
34
33
  return {
35
34
  type: "Err",
36
- error: {
37
- type: "RENDER_ERROR",
38
- message: error instanceof Error ? error.message : String(error),
39
- cause: error,
40
- },
35
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
36
+ };
37
+ }
38
+ }
39
+
40
+ export type CompileDynamicImageResult =
41
+ | { readonly type: "Ok"; value: string }
42
+ | { readonly type: "Err"; readonly error: DynamicImageError };
43
+
44
+ export function compileDynamicImage(
45
+ source: string,
46
+ dataSchema?: Record<string, PropertySchema>
47
+ ): CompileDynamicImageResult {
48
+ try {
49
+ return { type: "Ok", value: compile(source, dataSchema ? { ...baseSchema, data: dataSchema } : baseSchema) };
50
+ } catch (error) {
51
+ return {
52
+ type: "Err",
53
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
54
+ };
55
+ }
56
+ }
57
+
58
+ export function renderDynamicImage(jsString: string, data: Record<string, unknown>): DynamicImageResult {
59
+ const imageUrls = Array<string>();
60
+ try {
61
+ return {
62
+ type: "Ok",
63
+ image: evaluate(jsString, baseSchema, { data, components: createComponents(imageUrls) }) as AbstractImage,
64
+ imageUrls,
65
+ };
66
+ } catch (error) {
67
+ return {
68
+ type: "Err",
69
+ error: { type: "RENDER_ERROR", message: error instanceof Error ? error.message : String(error), cause: error },
41
70
  };
42
71
  }
43
72
  }
package/src/index.ts CHANGED
@@ -9,5 +9,4 @@ export * from "./exporters/png-export-image.js";
9
9
  export * from "./exporters/dxf2d-export-image.js";
10
10
  export * from "./exporters/react-svg-export-image.js";
11
11
  export * from "./exporters/eps-export-image.js";
12
- export * from "./dynamic-image/index.js";
13
12
  export * as AbstractImageJsx from "./abstract-image-jsx/index.js";