<commit_before>'use strict';

class CriticalSection {
  constructor() {
    this._busy = false;
    this._queue = [];
  }

  enter() {
    if (this._busy || this._queue.length) {
      const promise = new Promise(resolve => this._queue.push(resolve));

      return promise;
    } else {
      this._busy = true;

      return Promise.resolve();
    }
  }

  leave() {
    if (this._queue.length) {
      this._queue.shift()();
    } else {
      this._busy = false;
    }
  }
}
<commit_msg>Simplify code<commit_after>'use strict';

class CriticalSection {
  constructor() {
    this._busy = false;
    this._queue = [];
  }

  enter() {
    if (this._busy || this._queue.length) {
      return new Promise(resolve => this._queue.push(resolve));
    } else {
      this._busy = true;

      return Promise.resolve();
    }
  }

  leave() {
    if (this._queue.length) {
      this._queue.shift()();
    } else {
      this._busy = false;
    }
  }
}

{'fraction_non_alphanumeric': 0.15578947368421053, 'fraction_numerical': 0.0, 'mean_word_length': 2.180602006688963, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, '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': '2379544', 'n_tokens_mistral': 326, 'n_tokens_neox': 314, 'n_words': 60}