<commit_before>Animation/PropertyAnimation
===========================

	'use strict'

	utils = require 'utils'
	expect = require 'expect'

*PropertyAnimation* PropertyAnimation() : *Renderer.Animation*
--------------------------------------------------------------

	module.exports = (Renderer, Impl, itemUtils) -> class PropertyAnimation extends Renderer.Animation
		@__name__ = 'PropertyAnimation'

		constructor: ->
			@_target = null
			@_property = ''
			super()

*Renderer.Item* PropertyAnimation::target
-----------------------------------------

### *Signal* PropertyAnimation::targetChanged(*Renderer.Item* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'target'
			defaultValue: null
			implementation: Impl.setPropertyAnimationTarget
			developmentSetter: (val) ->
				expect().defined(val).toBe.any Renderer.Item

*String* PropertyAnimation::property
------------------------------------

### *Signal* PropertyAnimation::propertyChanged(*String* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'property'
			defaultValue: ''
			implementation: Impl.setPropertyAnimationProperty
			developmentSetter: (val) ->
				expect(val).toBe.truthy().string()

*Float* PropertyAnimation::duration = 1000
------------------------------------------

### *Signal* PropertyAnimation::durationChanged(*Float* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'duration'
			defaultValue: 1000
			implementation: Impl.setPropertyAnimationDuration
			developmentSetter: (val) ->
				expect(val).toBe.float()
				expect(val).toBe.greaterThan 0

*Float* PropertyAnimation::delay = 0
------------------------------------

### *Signal* PropertyAnimation::delayChanged(*Float* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'delay'
			defaultValue: 0
			implementation: Impl.setPropertyAnimationDelay
			developmentSetter: (val) ->
				expect(val).toBe.float()
				expect(val).not().toBe.lessThan 0

*Boolean* PropertyAnimation::updateProperty = true
---------------------------------------------------

### *Signal* PropertyAnimation::updatePropertyChanged(*Boolean* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'updateProperty'
			defaultValue: true
			developmentSetter: (val) ->
				expect(val).toBe.boolean()

*Any* PropertyAnimation::from
-----------------------------

### *Signal* PropertyAnimation::fromChanged(*Any* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'from'
			implementation: Impl.setPropertyAnimationFrom

*Any* PropertyAnimation::to
---------------------------

### *Signal* PropertyAnimation::toChanged(*Any* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'to'
			implementation: Impl.setPropertyAnimationTo

ReadOnly *Float* PropertyAnimation::progress = 0
------------------------------------------------

		utils.defineProperty @::, 'progress', null, ->
			Impl.getPropertyAnimationProgress.call @
		, null

PropertyAnimation::reverse()
----------------------------

		reverse: ->
			tmp = @to
			@to = @from
			@from = tmp
			@<commit_msg>PropertyAnimation::reverse() removed<commit_after>Animation/PropertyAnimation
===========================

	'use strict'

	utils = require 'utils'
	expect = require 'expect'

*PropertyAnimation* PropertyAnimation() : *Renderer.Animation*
--------------------------------------------------------------

	module.exports = (Renderer, Impl, itemUtils) -> class PropertyAnimation extends Renderer.Animation
		@__name__ = 'PropertyAnimation'

		constructor: ->
			@_target = null
			@_property = ''
			super()

*Renderer.Item* PropertyAnimation::target
-----------------------------------------

### *Signal* PropertyAnimation::targetChanged(*Renderer.Item* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'target'
			defaultValue: null
			implementation: Impl.setPropertyAnimationTarget
			developmentSetter: (val) ->
				expect().defined(val).toBe.any Renderer.Item

*String* PropertyAnimation::property
------------------------------------

### *Signal* PropertyAnimation::propertyChanged(*String* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'property'
			defaultValue: ''
			implementation: Impl.setPropertyAnimationProperty
			developmentSetter: (val) ->
				expect(val).toBe.truthy().string()

*Float* PropertyAnimation::duration = 1000
------------------------------------------

### *Signal* PropertyAnimation::durationChanged(*Float* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'duration'
			defaultValue: 1000
			implementation: Impl.setPropertyAnimationDuration
			developmentSetter: (val) ->
				expect(val).toBe.float()
				expect(val).toBe.greaterThan 0

*Float* PropertyAnimation::delay = 0
------------------------------------

### *Signal* PropertyAnimation::delayChanged(*Float* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'delay'
			defaultValue: 0
			implementation: Impl.setPropertyAnimationDelay
			developmentSetter: (val) ->
				expect(val).toBe.float()
				expect(val).not().toBe.lessThan 0

*Boolean* PropertyAnimation::updateProperty = true
---------------------------------------------------

### *Signal* PropertyAnimation::updatePropertyChanged(*Boolean* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'updateProperty'
			defaultValue: true
			developmentSetter: (val) ->
				expect(val).toBe.boolean()

*Any* PropertyAnimation::from
-----------------------------

### *Signal* PropertyAnimation::fromChanged(*Any* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'from'
			implementation: Impl.setPropertyAnimationFrom

*Any* PropertyAnimation::to
---------------------------

### *Signal* PropertyAnimation::toChanged(*Any* oldValue)

		itemUtils.defineProperty
			constructor: @
			name: 'to'
			implementation: Impl.setPropertyAnimationTo

ReadOnly *Float* PropertyAnimation::progress = 0
------------------------------------------------

		utils.defineProperty @::, 'progress', null, ->
			Impl.getPropertyAnimationProgress.call @
		, null
{'fraction_non_alphanumeric': 0.24031007751937986, 'fraction_numerical': 0.004288306119082963, 'mean_word_length': 2.6773802304426924, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 20, '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': '930327', 'n_tokens_mistral': 1780, 'n_tokens_neox': 1485, 'n_words': 295}