x-runtime-lib 0.8.195 → 0.8.197

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/dist/index.js CHANGED
@@ -10150,29 +10150,6 @@ function provideNode(e) {
10150
10150
  function injectNode() {
10151
10151
  return inject(nodeKey);
10152
10152
  }
10153
- async function triggerReactivity(e, p, m, g, _) {
10154
- await triggerWatchEffect(e, p, m), await triggerBind(e, p, m, g, _);
10155
- }
10156
- async function triggerWatchEffect(e, p, m) {
10157
- let { watchEffect: g } = p;
10158
- if (g[m]) for (let p of g[m]) {
10159
- let m = encodeString(p);
10160
- await e.callFunctionAsync(`__watchEffect$${m}__`);
10161
- }
10162
- }
10163
- async function triggerBind(e, p, m, _, v) {
10164
- let { bind: y } = p;
10165
- if (isEqual_default(_, v)) return;
10166
- let b = y.triggers[m];
10167
- if (b) for (let p of b) {
10168
- let m = y.sets[p];
10169
- if (m) for (let p of m) p.type === "property" ? await e.setProperty(p.propertyId, _) : p.type === "state" ? await e.setState(p.stateId, _) : console.assert(!1, "not implemented trigger type");
10170
- }
10171
- }
10172
- function getImplementMethodName(e, p, m) {
10173
- let g = [e, p], _ = m.split(".");
10174
- return _.length > 1 ? g.push(..._.slice(1)) : g.push(m), `__implementMethod$${g.join("$")}__`;
10175
- }
10176
10153
  function makePropertyId(e, p, m) {
10177
10154
  return `${e}/${p}/${m}`;
10178
10155
  }
@@ -10293,30 +10270,42 @@ function unwrapSlotId(e) {
10293
10270
  slotKey: p[2]
10294
10271
  };
10295
10272
  }
10296
- function makeTriggerId(e) {
10297
- let p = [e.type];
10298
- if (e.type === "property") p.push(e.propertyId);
10299
- else if (e.type === "state") p.push(e.stateId);
10300
- else throw Error("not implemented trigger type");
10301
- return p.join("@");
10273
+ function makeTriggerId(e, p) {
10274
+ return `${e}@${p}`;
10302
10275
  }
10303
10276
  function unwrapTriggerId(e) {
10304
10277
  let p = e.split("@");
10305
- if (p.length < 1) throw Error("unwrap trigger id failed");
10306
- let m = p[0];
10307
- if (m === "property") {
10308
- if (p.length !== 2) throw Error("unwrap trigger id of property failed");
10309
- return {
10310
- type: m,
10311
- propertyId: p[1]
10312
- };
10313
- } else if (m === "state") {
10314
- if (p.length !== 2) throw Error("unwrap trigger id of state failed");
10315
- return {
10316
- type: m,
10317
- stateId: p[1]
10318
- };
10319
- } else throw Error("invalid trigger type");
10278
+ if (p.length !== 2) throw Error("unwrap trigger id failed");
10279
+ return {
10280
+ kind: p[0],
10281
+ triggerKey: p[1]
10282
+ };
10283
+ }
10284
+ async function triggerReactivity(e, p, m, g, _) {
10285
+ await triggerWatchEffect(e, p, m), await triggerBind(e, p, m, g, _);
10286
+ }
10287
+ async function triggerWatchEffect(e, p, m) {
10288
+ let { watchEffect: g } = p;
10289
+ if (g[m]) for (let p of g[m]) {
10290
+ let m = encodeString(p);
10291
+ await e.callFunctionAsync(`__watchEffect$${m}__`);
10292
+ }
10293
+ }
10294
+ async function triggerBind(e, p, m, _, v) {
10295
+ let { bind: y } = p;
10296
+ if (isEqual_default(_, v)) return;
10297
+ let b = y.triggers[m];
10298
+ if (b) for (let p of b) {
10299
+ let m = y.sets[p];
10300
+ if (m) for (let p of m) {
10301
+ let { kind: m, triggerKey: g } = unwrapTriggerId(p);
10302
+ m === "propertyTrigger" ? await e.setProperty(g, _) : m === "stateTrigger" ? await e.setState(g, _) : console.assert(!1);
10303
+ }
10304
+ }
10305
+ }
10306
+ function getImplementMethodName(e, p, m) {
10307
+ let g = [e, p], _ = m.split(".");
10308
+ return _.length > 1 ? g.push(..._.slice(1)) : g.push(m), `__implementMethod$${g.join("$")}__`;
10320
10309
  }
10321
10310
  function useDepend(e, p, m) {
10322
10311
  let g = injectDepends(), v = ref(-1), y = ref(-1);
@@ -10537,11 +10526,11 @@ function bindView(e) {
10537
10526
  let v = p.getString(m), y = p.getString(g), b = p.dump(_), { promise: x, resolve: S, reject: C } = e.promiseManager.create();
10538
10527
  return e.callMethod(v, y, b).then((e) => S(e), (e) => C(e)), x.settled.then(p.runtime.executePendingJobs), x.handle;
10539
10528
  }).consume((e) => p.setProp(p.global, "__callMethodV1__", e)), p.newFunction("__getStateV1__", (m) => {
10540
- let g = p.getString(m);
10541
- return newAny(p, e.getState(g));
10529
+ let g = p.getString(m), { promise: _, resolve: v, reject: y } = e.promiseManager.create();
10530
+ return e.getState(g).then((e) => v(e), (e) => y(e)), _.settled.then(p.runtime.executePendingJobs), _.handle;
10542
10531
  }).consume((e) => p.setProp(p.global, "__getStateV1__", e)), p.newFunction("__setStateV1__", (m, g) => {
10543
- let _ = p.getString(m), v = p.dump(g);
10544
- e.setState(_, v);
10532
+ let _ = p.getString(m), v = p.dump(g), { promise: y, resolve: b, reject: x } = e.promiseManager.create();
10533
+ return e.setState(_, v).then((e) => b(e), (e) => x(e)), y.settled.then(p.runtime.executePendingJobs), y.handle;
10545
10534
  }).consume((e) => p.setProp(p.global, "__setStateV1__", e)), p.newFunction("__navigateToV1__", (m, g) => {
10546
10535
  let _ = p.getString(m), v = p.getString(g);
10547
10536
  if (e.mode === "runtime") {
@@ -10749,7 +10738,6 @@ var PromiseManager = class {
10749
10738
  return !m || !m.properties ? !1 : !!m.properties.find((e) => e.id === p);
10750
10739
  }
10751
10740
  async getProperty(e, p) {
10752
- this.debugTrace(makeFuncInfo("getProperty", e, p ?? ""));
10753
10741
  let { kind: m, nodeId: g, propertyKey: _ } = unwrapPropertyId(e), v = this.data.value?.view.nodes[g];
10754
10742
  if (!v) throw Error("node not found");
10755
10743
  if (m === "elementProperty") return await this.getElementProperty(e, v, _);
@@ -10827,7 +10815,6 @@ var PromiseManager = class {
10827
10815
  return this.customSlotProperties[g];
10828
10816
  }
10829
10817
  async setProperty(e, p, m) {
10830
- this.debugTrace(makeFuncInfo("setProperty", e, p, m ?? ""));
10831
10818
  let { kind: g, nodeId: v, propertyKey: y } = unwrapPropertyId(e), b = this.data.value?.view.nodes[v];
10832
10819
  if (!b) throw Error("node not found");
10833
10820
  if (p = cloneDeep_default(p), g === "elementProperty") await this.setElementProperty(e, p, y, b);
@@ -11055,10 +11042,7 @@ function useSandbox(e, p, m, _, v, y, b, x) {
11055
11042
  async function N(e, p, m, _) {
11056
11043
  if (!k.vm) return;
11057
11044
  let { kind: v, nodeId: y, propertyKey: x } = unwrapPropertyId(e);
11058
- if (await k.triggerEvent(makeEventId(`${v}ChangeEvent`, y, x), _ ?? "", p, m), b.value?.code.reactivity && triggerReactivity(k, b.value.code.reactivity, makeTriggerId({
11059
- type: "property",
11060
- propertyId: e
11061
- }), p, m), v === "elementProperty") {
11045
+ if (await k.triggerEvent(makeEventId(`${v}ChangeEvent`, y, x), _ ?? "", p, m), b.value?.code.reactivity && triggerReactivity(k, b.value.code.reactivity, makeTriggerId("propertyTrigger", e), p, m), v === "elementProperty") {
11062
11046
  if (isEqual_default(x, toDotString(["settings", "slot"]))) {
11063
11047
  let e = b.value?.view.nodeLites.find((e) => e.id === y);
11064
11048
  e ? e.slotId = p : console.assert(!1);
@@ -11070,10 +11054,7 @@ function useSandbox(e, p, m, _, v, y, b, x) {
11070
11054
  }
11071
11055
  }
11072
11056
  async function P(e, p, m) {
11073
- k.vm && (await k.triggerEvent(makeEventId("stateChangeEvent", "globality", e), "", p, m), b.value?.code.reactivity && triggerReactivity(k, b.value.code.reactivity, makeTriggerId({
11074
- type: "state",
11075
- stateId: e
11076
- }), p, m));
11057
+ k.vm && (await k.triggerEvent(makeEventId("stateChangeEvent", "globality", e), "", p, m), b.value?.code.reactivity && triggerReactivity(k, b.value.code.reactivity, makeTriggerId("stateTrigger", e), p, m));
11077
11058
  }
11078
11059
  watch(E, async (e, p) => {
11079
11060
  if (!k.vm) return;
@@ -44,7 +44,7 @@ export interface Reactivity {
44
44
  };
45
45
  bind: {
46
46
  sets: {
47
- [key: string]: Trigger[];
47
+ [key: string]: string[];
48
48
  };
49
49
  triggers: {
50
50
  [key: string]: string[];
@@ -3,3 +3,4 @@ export type SlotKind = 'elementSlot' | 'multipleElementSlot' | 'customSlot' | 'm
3
3
  export type PropertyKind = 'elementProperty' | 'elementSlotProperty' | 'multipleElementSlotProperty' | 'refProperty' | 'multipleRefProperty' | 'customSlotProperty' | 'multipleCustomSlotProperty' | 'customProperty' | 'elementAdaptSlotProperty' | 'customAdaptSlotProperty';
4
4
  export type MethodKind = 'elementMethod' | 'elementSlotMethod' | 'multipeElementSlotMethod' | 'refMethod' | 'multipleRefMethod' | 'customSlotMethod' | 'multipleCustomSlotMethod' | 'customMethod' | 'elementAdaptSlotMethod' | 'customAdaptSlotMethod';
5
5
  export type EventKind = 'elementEvent' | 'elementPropertyChangeEvent' | 'elementSlotEvent' | 'elementSlotPropertyChangeEvent' | 'multipleElementSlotEvent' | 'multipleElementSlotPropertyChangeEvent' | 'refEvent' | 'refPropertyChangeEvent' | 'multipleRefEvent' | 'multipleRefPropertyChangeEvent' | 'customSlotEvent' | 'customSlotPropertyChangeEvent' | 'multipleCustomSlotEvent' | 'multipleCustomSlotPropertyChangeEvent' | 'customEvent' | 'customPropertyChangeEvent' | 'elementAdaptSlotEvent' | 'elementAdaptSlotPropertyChangeEvent' | 'customAdaptSlotEvent' | 'customAdaptSlotPropertyChangeEvent' | 'stateChangeEvent';
6
+ export type TriggerKind = 'propertyTrigger' | 'stateTrigger';
@@ -1,4 +1,4 @@
1
- import { EventKind, MethodKind, PropertyKind, SlotKind, Trigger } from '@/types';
1
+ import { EventKind, MethodKind, PropertyKind, SlotKind, TriggerKind } from '@/types';
2
2
  export declare function makePropertyId(kind: PropertyKind, nodeId: string, propertyKey: string): string;
3
3
  export declare function unwrapPropertyId(id: string): {
4
4
  kind: PropertyKind;
@@ -59,5 +59,8 @@ export declare function unwrapSlotId(id: string): {
59
59
  mainKey: string;
60
60
  slotKey: string;
61
61
  };
62
- export declare function makeTriggerId(trigger: Trigger): string;
63
- export declare function unwrapTriggerId(id: string): Trigger;
62
+ export declare function makeTriggerId(kind: TriggerKind, triggerKey: string): string;
63
+ export declare function unwrapTriggerId(id: string): {
64
+ kind: TriggerKind;
65
+ triggerKey: string;
66
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "x-runtime-lib",
3
3
  "private": false,
4
- "version": "0.8.195",
4
+ "version": "0.8.197",
5
5
  "type": "module",
6
6
  "module": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -33,7 +33,8 @@
33
33
  "three": "^0.182.0",
34
34
  "vue": "^3.5.27",
35
35
  "vue-i18n": "^11.2.8",
36
- "vuetify": "^3.11.7"
36
+ "vuetify": "^3.11.7",
37
+ "x-block-lib": "link:../x-block-lib"
37
38
  },
38
39
  "peerDependencies": {
39
40
  "x-error-lib": "^0.5.13",