<commit_before>import {
  Namespace,
} from 'yox-common/src/type/event'

import {
  EmitterOptions,
} from 'yox-common/src/type/options'

/**
 * 触发异步变化时，用此函数过滤下，哪些 listener 应该执行
 *
 * @param item
 * @param data
 */
export default function (_: Namespace, args: any[] | void, options: EmitterOptions): boolean | void {

  if (options.count && args) {

    // 采用计数器的原因是，同一个 options 可能执行多次
    // 比如监听 user.*，如果同批次修改了 user.name 和 user.age
    // 这个监听器会调用多次，如果第一次执行就把 count 干掉了，第二次就无法执行了

    options.count--

    // 新旧值不相等
    return args[0] !== args[1]

  }

}<commit_msg>去掉 Namespace<commit_after>import {
  EmitterOptions,
} from 'yox-common/src/type/options'

/**
 * 触发异步变化时，用此函数过滤下，哪些 listener 应该执行
 *
 * @param item
 * @param data
 */
export default function (_: any, args: any[] | void, options: EmitterOptions): boolean | void {

  if (options.count && args) {

    // 采用计数器的原因是，同一个 options 可能执行多次
    // 比如监听 user.*，如果同批次修改了 user.name 和 user.age
    // 这个监听器会调用多次，如果第一次执行就把 count 干掉了，第二次就无法执行了

    options.count--

    // 新旧值不相等
    return args[0] !== args[1]

  }

}
{'fraction_non_alphanumeric': 0.14259086672879775, 'fraction_numerical': 0.003727865796831314, 'mean_word_length': 3.0836501901140685, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, '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': '2204103', 'n_tokens_mistral': 513, 'n_tokens_neox': 541, 'n_words': 87}