@bct-app/game-engine 0.1.6-beta.0 → 0.1.6-beta.2

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
@@ -149,8 +149,19 @@ var resolveSourceValue = (source, writableInputs, payloads, effector, snapshotSe
149
149
  return player ? resolveFromPlayer(player) : void 0;
150
150
  }
151
151
  if (input?.type === "CHARACTER") {
152
- const characterId = typeof payloadValue === "string" ? payloadValue : void 0;
153
- return characterId && resolveFromCharacter ? resolveFromCharacter(characterId) : void 0;
152
+ if (typeof payloadValue !== "string" && !Array.isArray(payloadValue)) {
153
+ console.warn("Expected string or string[] for CHARACTER type input in PAYLOAD source, got:", payloadValue);
154
+ return void 0;
155
+ }
156
+ if (Array.isArray(payloadValue) && payloadValue.some((v) => typeof v !== "string")) {
157
+ console.warn("Expected string[] for CHARACTER type input in PAYLOAD source, got:", payloadValue);
158
+ return void 0;
159
+ }
160
+ const characterIds = typeof payloadValue === "string" ? [payloadValue] : payloadValue;
161
+ return characterIds.flatMap((id) => {
162
+ const resolved = resolveFromCharacter ? resolveFromCharacter(id) : void 0;
163
+ return resolved !== void 0 ? [resolved] : [];
164
+ });
154
165
  }
155
166
  return castOrValidate(payloadValue);
156
167
  }
package/dist/index.mjs CHANGED
@@ -112,8 +112,19 @@ var resolveSourceValue = (source, writableInputs, payloads, effector, snapshotSe
112
112
  return player ? resolveFromPlayer(player) : void 0;
113
113
  }
114
114
  if (input?.type === "CHARACTER") {
115
- const characterId = typeof payloadValue === "string" ? payloadValue : void 0;
116
- return characterId && resolveFromCharacter ? resolveFromCharacter(characterId) : void 0;
115
+ if (typeof payloadValue !== "string" && !Array.isArray(payloadValue)) {
116
+ console.warn("Expected string or string[] for CHARACTER type input in PAYLOAD source, got:", payloadValue);
117
+ return void 0;
118
+ }
119
+ if (Array.isArray(payloadValue) && payloadValue.some((v) => typeof v !== "string")) {
120
+ console.warn("Expected string[] for CHARACTER type input in PAYLOAD source, got:", payloadValue);
121
+ return void 0;
122
+ }
123
+ const characterIds = typeof payloadValue === "string" ? [payloadValue] : payloadValue;
124
+ return characterIds.flatMap((id) => {
125
+ const resolved = resolveFromCharacter ? resolveFromCharacter(id) : void 0;
126
+ return resolved !== void 0 ? [resolved] : [];
127
+ });
117
128
  }
118
129
  return castOrValidate(payloadValue);
119
130
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bct-app/game-engine",
3
- "version": "0.1.6-beta.0",
3
+ "version": "0.1.6-beta.2",
4
4
  "description": "Game engine utilities for BCT",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -37,7 +37,7 @@
37
37
  "access": "public"
38
38
  },
39
39
  "dependencies": {
40
- "@bct-app/game-model": "workspace:*"
40
+ "@bct-app/game-model": "0.1.3-beta.0"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@vitest/ui": "^4.1.3",