Sha256: 5a0d67fa9d51882d0df76e6d1c40df404a46900d9c0d44d926593f1c9c6124b2

Contents?: true

Size: 875 Bytes

Versions: 68

Compression:

Stored size: 875 Bytes

Contents

class Allergies {
  allergenIndex: number

  possibleAllergies = [
    'eggs',
    'peanuts',
    'shellfish',
    'strawberries',
    'tomatoes',
    'chocolate',
    'pollen',
    'cats'
  ]

  constructor(allergenIndex: number) {
    this.allergenIndex = allergenIndex
  }

  allergicTo(food: string) {
    let isAllergic = false

    const allergyList = this.list()
    for (const allergy of allergyList) {
      if (allergy === food) {
        isAllergic = true
        break
      }
    }

    return isAllergic
  }

  list(): string[] {
    const possibleAllergies = this.possibleAllergies
    const allergicTo = []

    for (let i = 0; i < possibleAllergies.length; i++) {
      const allergy = possibleAllergies[i]
      if (this.allergenIndex & Math.pow(2, i)) {
        allergicTo.push(allergy)
      }
    }

    return allergicTo
  }
}

export default Allergies

Version data entries

68 entries across 68 versions & 1 rubygems

Version Path
trackler-2.2.1.139 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.138 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.137 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.136 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.135 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.134 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.133 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.132 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.131 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.130 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.129 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.128 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.127 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.126 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.125 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.124 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.123 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.122 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.121 tracks/typescript/exercises/allergies/allergies.example.ts
trackler-2.2.1.120 tracks/typescript/exercises/allergies/allergies.example.ts