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 };

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…