<commit_before>import '../styles/day'

import React, { Component, PropTypes } from 'react'
import classNames from 'classnames'
import { Map, Set, is } from 'immutable'

import Event from './event'
import EventBars from './event-bars'
import { inclusiveIsBetween, isWeekend } from './../utils/date'

export default class Day extends Component {

  static propTypes = {
    actions: PropTypes.object.isRequired,
    date: PropTypes.object.isRequired,
    events: PropTypes.instanceOf(Map).isRequired,
    filters: PropTypes.instanceOf(Map).isRequired,
    visibleClubbers: PropTypes.instanceOf(Set).isRequired,
    withTags: PropTypes.instanceOf(Set).isRequired
  }

  shouldComponentUpdate (nextProps) {
    return !(
      is(this.props.events, nextProps.events),
      this.props.filters === nextProps.filters &&
      this.props.visibleClubbers === nextProps.visibleClubbers &&
      this.props.withTags === nextProps.withTags
    )
  }

  render () {
    const { actions, date, filters, withTags, visibleClubbers } = this.props
    const events = this.props.events
      .filter(event =>
        inclusiveIsBetween(date, event.start, event.end)
      )
      .filter(event => {
        let tags = event._tags || []
        let hasClubber = Boolean(visibleClubbers.intersect(event._clubbers).count())
        let hasTag = !Boolean(withTags.count()) || withTags.intersect(tags).count() === withTags.count()
        return hasClubber && hasTag
      })

    return (
      <div className={classNames('day', { 'day-weekend': isWeekend(date) })}><commit_msg>fix: typo in shouldComponentUpdate of <Day><commit_after>import '../styles/day'

import React, { Component, PropTypes } from 'react'
import classNames from 'classnames'
import { Map, Set, is } from 'immutable'

import Event from './event'
import EventBars from './event-bars'
import { inclusiveIsBetween, isWeekend } from './../utils/date'

export default class Day extends Component {

  static propTypes = {
    actions: PropTypes.object.isRequired,
    date: PropTypes.object.isRequired,
    events: PropTypes.instanceOf(Map).isRequired,
    filters: PropTypes.instanceOf(Map).isRequired,
    visibleClubbers: PropTypes.instanceOf(Set).isRequired,
    withTags: PropTypes.instanceOf(Set).isRequired
  }

  shouldComponentUpdate (nextProps) {
    return !(
      is(this.props.events, nextProps.events) &&
      this.props.filters === nextProps.filters &&
      this.props.visibleClubbers === nextProps.visibleClubbers &&
      this.props.withTags === nextProps.withTags
    )
  }

  render () {
    const { actions, date, filters, withTags, visibleClubbers } = this.props
    const events = this.props.events
      .filter(event =>
        inclusiveIsBetween(date, event.start, event.end)
      )
      .filter(event => {
        let tags = event._tags || []
        let hasClubber = Boolean(visibleClubbers.intersect(event._clubbers).count())
        let hasTag = !Boolean(withTags.count()) || withTags.intersect(tags).count() === withTags.count()
        return hasClubber && hasTag
      })

    return (
      <div className={classNames('day', { 'day-weekend': isWeekend(date) })}>
{'fraction_non_alphanumeric': 0.13104325699745548, 'fraction_numerical': 0.0, 'mean_word_length': 3.4864479315263908, 'pattern_counts': {'":': 0, '<': 6, '<?xml version=': 0, '>': 10, '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': '4402255', 'n_tokens_mistral': 923, 'n_tokens_neox': 916, 'n_words': 199}