<commit_before>/** Class representing a semaphore */
export default class Semaphore {
  private promiseResolvers: Array<(v: boolean) => void>;

  /**
   * Creates a semaphore.
   * @param {number} permits The number of permits, i.e. things being allowed to run in parallel.
   * To create a lock that only lets one thing run at a time, set this to 1. This number can also be negative.
   */
  constructor(private permits: number) {}

  /**<commit_msg>Bugfix<commit_after>/** Class representing a semaphore */
export default class Semaphore {
  private promiseResolvers: Array<(v: boolean) => void> = [];

  /**
   * Creates a semaphore.
   * @param {number} permits The number of permits, i.e. things being allowed to run in parallel.
   * To create a lock that only lets one thing run at a time, set this to 1. This number can also be negative.
   */
  constructor(private permits: number) {}

  /**
{'fraction_non_alphanumeric': 0.10333333333333333, 'fraction_numerical': 0.0022222222222222222, 'mean_word_length': 3.438423645320197, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7173441', 'n_tokens_mistral': 267, 'n_tokens_neox': 253, 'n_words': 116}