Language: TypeScript
Label: vulnerable
CWE: CWE-331 \u2014 Insufficient Entropy
The product uses an algorithm or scheme that produces insufficient entropy, leaving patterns or clusters of values that are more likely to occur than others.

Code:
  async decrypt(key, input) {
    const cKey = await this.getKey(key);

    if (input instanceof ArrayBuffer) {
      return this.decryptArrayBuffer(cKey, input);
    }
    if (typeof input === 'string') {
      return this.decryptString(cKey, input);
    }
    throw new Error('Cannot decrypt this file. In browsers file decryption supports only string or ArrayBuffer');
  }