INNER CODE UNIT · JavaScript
normalizeRequirements
Sisyphe42/ReignsAgent · packages/core/src/index.js:342
function normalizeRequirements(cardId, requirements) {
assertPlainRecord(requirements, `Card '${cardId}' requirements`);
for (const key of Object.keys(requirements)) {
if (!REQUIREMENT_KEYS.has(key)) {
throw new CoreError(`Card '${cardId}' has unknown requirement '${key}'`);
}
}
assertStringArray(requirements.allTags ?? [], `Card '${cardId}' allTags`);
assertStringArray(requirements.anyTags ?? [], `Card '${cardId}' anyTags`);
assertStringArray(requirements.noneTags ?? [], `Card '${cardId}' noneTags`);
if (requirements.variables !== undefined) {
assertPlainRecord(requirements.variables, `Card '${cardId}' variables requirement`);
}
const normalized = { ...requirements };