<commit_before>// Copyright 2020-2021, University of Colorado Boulder

/**
 * A lightweight version of Property (that satisfies some of the interface), meant for high-performance applications
 * where validation, phet-io support and other things are not needed. This includes additional logic for conditionally
 * forwarding to/from another Property.
 *
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME> <<EMAIL>>
 */

import axon from './axon.js';
import Property from './Property.js';
import TinyProperty, { TinyPropertyOnBeforeNotify } from './TinyProperty.js';
import IProperty from './IProperty.js';
import { PropertyLazyLinkListener } from './IReadOnlyProperty.js';

type NodeLike = {
  updateLinkedElementForProperty: <T>( tandemName: string, oldProperty?: IProperty<T> | null, newProperty?: IProperty<T> | null ) => void,
  isPhetioInstrumented: () => boolean
};

class TinyForwardingProperty<T> extends TinyProperty<T> {
<commit_msg>update copyright dates from daily grunt work<commit_after>// Copyright 2020-2022, University of Colorado Boulder

/**
 * A lightweight version of Property (that satisfies some of the interface), meant for high-performance applications
 * where validation, phet-io support and other things are not needed. This includes additional logic for conditionally
 * forwarding to/from another Property.
 *
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME> (PhET Interactive Simulations)
 * @author <NAME> <<EMAIL>>
 */

import axon from './axon.js';
import Property from './Property.js';
import TinyProperty, { TinyPropertyOnBeforeNotify } from './TinyProperty.js';
import IProperty from './IProperty.js';
import { PropertyLazyLinkListener } from './IReadOnlyProperty.js';

type NodeLike = {
  updateLinkedElementForProperty: <T>( tandemName: string, oldProperty?: IProperty<T> | null, newProperty?: IProperty<T> | null ) => void,
  isPhetioInstrumented: () => boolean
};

class TinyForwardingProperty<T> extends TinyProperty<T> {

{'fraction_non_alphanumeric': 0.11235955056179775, 'fraction_numerical': 0.007816316560820713, 'mean_word_length': 5.3015384615384615, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 27, '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': '2461304', 'n_tokens_mistral': 582, 'n_tokens_neox': 545, 'n_words': 196}