<commit_before>/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2015, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
'use strict';

import { ISignal } from 'phosphor-signaling';


/**
 * The arguments object emitted with a [[propertyChanged]] signal.
 */
export
interface IPropertyChangedArgs {
  /**
   * The property descriptor associated with the change.
   */
  property: Property<any, any>;

  /**
   * The old value of the property.
   */
  oldValue: any;

  /**
   * The new value of the property.
   */
  newValue: any;
}


/**
 * An object which can be used with the property descriptors.
 *
 * #### Notes
 * Any object can be used with property descriptors, provided that the
 * object has a [[propertyChanged]] signal. The signal will be emitted
 * automatically by the property descriptor when the value is changed.
 */
export
interface IPropertyOwner {
  /**
   * A signal emitted when the value of a property changes.
   */
  propertyChanged: ISignal<IPropertyChangedArgs>;
}


/**
 * The options object used to initialize a property descriptor.<commit_msg>update docs<commit_after>/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2015, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/
'use strict';

import { ISignal } from 'phosphor-signaling';


/**
 * The arguments object emitted with a [[propertyChanged]] signal.
 */
export
interface IPropertyChangedArgs {
  /**
   * The property descriptor associated with the change.
   */
  property: Property<any, any>;

  /**
   * The old value of the property.
   */
  oldValue: any;

  /**
   * The new value of the property.
   */
  newValue: any;
}


/**
 * An object which can be used with property descriptors.
 *
 * Any object can be used with property descriptors, provided that the
 * object has a [[propertyChanged]] signal. The signal will be emitted
 * automatically by the property descriptor when the value is changed.
 */
export
interface IPropertyOwner {
  /**
   * A signal emitted when the value of a property changes.
   */
  propertyChanged: ISignal<IPropertyChangedArgs>;
}


/**
 * The options object used to initialize a property descriptor.
{'fraction_non_alphanumeric': 0.202217125382263, 'fraction_numerical': 0.006880733944954129, 'mean_word_length': 2.1721212121212123, 'pattern_counts': {'":': 0, '<': 7, '<?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': '3568818', 'n_tokens_mistral': 665, 'n_tokens_neox': 622, 'n_words': 270}