@jieyin/editor-sdk-test 1.1.258 → 1.1.259

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,51 +1,65 @@
1
- const j = (t, c, e) => {
1
+ const B = (t, a, e, c, r) => {
2
2
  const n = JSON.parse(JSON.stringify(t));
3
- return n.customData || (n.customData = {}), n.customData.id = c, e !== 1 && (n.scaleX = (n.scaleX ?? 1) * e, n.scaleY = (n.scaleY ?? 1) * e), { cloned: n, nextId: c + 1 };
4
- }, M = (t) => t === "left" || t === "top" ? -0.5 : t === "center" ? 0 : t === "right" || t === "bottom" ? 0.5 : 0, A = (t) => {
5
- const c = t.left ?? 0, e = t.top ?? 0, n = (t.width ?? 0) * (t.scaleX ?? 1), l = (t.height ?? 0) * (t.scaleY ?? 1), a = (t.angle ?? 0) * Math.PI / 180, r = Math.cos(a), f = Math.sin(a), s = -M(t.originX ?? "left") * n, o = -M(t.originY ?? "top") * l, p = c + s * r - o * f, x = e + s * f + o * r, d = n / 2, y = l / 2, O = [-d, d].flatMap(
6
- (i) => [-y, y].map((b) => ({
7
- x: p + i * r - b * f,
8
- y: x + i * f + b * r
3
+ n.customData || (n.customData = {}), n.customData.id = a;
4
+ const i = C(n), f = (i.minL + i.maxR) / 2, l = (i.minT + i.maxB) / 2;
5
+ if (e !== 1 && (n.scaleX = (n.scaleX ?? 1) * e, n.scaleY = (n.scaleY ?? 1) * e), c && r) {
6
+ const s = C(n), o = (s.minL + s.maxR) / 2, x = (s.minT + s.maxB) / 2, g = r.x + (f - c.x) * e, y = r.y + (l - c.y) * e;
7
+ n.left = (n.left ?? 0) + g - o, n.top = (n.top ?? 0) + y - x;
8
+ }
9
+ return { cloned: n, nextId: a + 1 };
10
+ }, A = (t) => t === "left" || t === "top" ? -0.5 : t === "center" ? 0 : t === "right" || t === "bottom" ? 0.5 : 0, C = (t) => {
11
+ const a = t.left ?? 0, e = t.top ?? 0, c = (t.width ?? 0) * (t.scaleX ?? 1), r = (t.height ?? 0) * (t.scaleY ?? 1), i = (t.angle ?? 0) * Math.PI / 180, f = Math.cos(i), l = Math.sin(i), s = -A(t.originX ?? "left") * c, o = -A(t.originY ?? "top") * r, x = a + s * f - o * l, g = e + s * l + o * f, y = c / 2, u = r / 2, p = [-y, y].flatMap(
12
+ (m) => [-u, u].map((M) => ({
13
+ x: x + m * f - M * l,
14
+ y: g + m * l + M * f
9
15
  }))
10
16
  );
11
- let u = 1 / 0, h = 1 / 0, g = -1 / 0, I = -1 / 0;
12
- for (const i of O)
13
- i.x < u && (u = i.x), i.y < h && (h = i.y), i.x > g && (g = i.x), i.y > I && (I = i.y);
14
- return { minL: u, minT: h, maxR: g, maxB: I };
15
- }, B = (t, c, e) => {
17
+ let h = 1 / 0, d = 1 / 0, b = -1 / 0, I = -1 / 0;
18
+ for (const m of p)
19
+ m.x < h && (h = m.x), m.y < d && (d = m.y), m.x > b && (b = m.x), m.y > I && (I = m.y);
20
+ return { minL: h, minT: d, maxR: b, maxB: I };
21
+ }, O = (t, a, e) => {
16
22
  if (!t.length) return;
17
- let n = 1 / 0, l = 1 / 0, m = -1 / 0, a = -1 / 0;
23
+ let c = 1 / 0, r = 1 / 0, n = -1 / 0, i = -1 / 0;
18
24
  for (const s of t) {
19
- const o = A(s);
20
- o.minL < n && (n = o.minL), o.minT < l && (l = o.minT), o.maxR > m && (m = o.maxR), o.maxB > a && (a = o.maxB);
25
+ const o = C(s);
26
+ o.minL < c && (c = o.minL), o.minT < r && (r = o.minT), o.maxR > n && (n = o.maxR), o.maxB > i && (i = o.maxB);
21
27
  }
22
- const r = c - (n + m) / 2, f = e - (l + a) / 2;
28
+ const f = a - (c + n) / 2, l = e - (r + i) / 2;
23
29
  for (const s of t)
24
- s.left = (s.left ?? 0) + r, s.top = (s.top ?? 0) + f;
25
- }, C = (t) => {
26
- const { sourceObjects: c, targetJsonMap: e, objectIndex: n, targetScaleMap: l, canvasCenter: m } = t;
27
- let a = Number.isFinite(n) ? n : 1;
28
- const r = {};
29
- return Object.entries(e || {}).forEach(([f, s]) => {
30
- const o = Array.isArray(s?.objects) ? s.objects : [], p = l?.[f] ?? 1, x = [];
31
- c.forEach((d) => {
32
- const y = j(d, a, p);
33
- x.push(y.cloned), a = y.nextId;
34
- }), m && x.length && B(x, m.x, m.y), r[f] = { ...s, objects: [...o, ...x] };
35
- }), { updates: r, nextObjectIndex: a };
30
+ s.left = (s.left ?? 0) + f, s.top = (s.top ?? 0) + l;
31
+ }, j = (t) => {
32
+ const {
33
+ sourceObjects: a,
34
+ targetJsonMap: e,
35
+ objectIndex: c,
36
+ targetScaleMap: r,
37
+ sourceCenter: n,
38
+ targetCenterMap: i,
39
+ canvasCenter: f
40
+ } = t;
41
+ let l = Number.isFinite(c) ? c : 1;
42
+ const s = {};
43
+ return Object.entries(e || {}).forEach(([o, x]) => {
44
+ const g = Array.isArray(x?.objects) ? x.objects : [], y = r?.[o] ?? 1, u = i?.[o], p = [];
45
+ a.forEach((h) => {
46
+ const d = B(h, l, y, n, u);
47
+ p.push(d.cloned), l = d.nextId;
48
+ }), (!n || !u) && f && p.length && O(p, f.x, f.y), s[o] = { ...x, objects: [...g, ...p] };
49
+ }), { updates: s, nextObjectIndex: l };
36
50
  };
37
51
  self.onmessage = (t) => {
38
- const c = t.data;
52
+ const a = t.data;
39
53
  try {
40
- const e = C(c);
54
+ const e = j(a);
41
55
  self.postMessage({
42
- id: c.id,
56
+ id: a.id,
43
57
  ok: !0,
44
58
  data: e
45
59
  });
46
60
  } catch (e) {
47
61
  self.postMessage({
48
- id: c.id,
62
+ id: a.id,
49
63
  ok: !1,
50
64
  error: e instanceof Error ? e.message : String(e)
51
65
  });