MCPcopy Create free account
hub / github.com/cryptii/cryptii / encoderDidReverse

Method encoderDidReverse

src/Pipe.js:847–865  ·  view source on GitHub ↗

* Delegate method triggered by child bricks when they got reversed. * @protected * @param {Encoder} brick Sender brick * @param {boolean} reverse Wether to reverse translation

(brick, reverse)

Source from the content-addressed store, hash-verified

845 * @param {boolean} reverse Wether to reverse translation
846 */
847 encoderDidReverse (brick, reverse) {
848 if (
849 this._bricks.length === 3 &&
850 this._bricks[0].getMeta().type === 'viewer' &&
851 this._bricks[1].getMeta().type === 'encoder' &&
852 this._bricks[2].getMeta().type === 'viewer'
853 ) {
854 // Having this constellation, swap source and result viewer
855 // when reversing the encoder brick in the middle
856 const resultContent = this.getContent(1, false)
857 const bricks = this.spliceBricks(0, 3)
858 bricks.reverse()
859 this.setContent(resultContent, 0)
860 this.spliceBricks(0, 0, bricks)
861 } else {
862 // Treat other scenarios like setting change events
863 this.brickSettingDidChange(brick)
864 }
865 }
866
867 /**
868 * Triggered when a brick finishes a task.

Callers 1

setReverseMethod · 0.80

Calls 5

getContentMethod · 0.95
spliceBricksMethod · 0.95
setContentMethod · 0.95
brickSettingDidChangeMethod · 0.95
getMetaMethod · 0.45

Tested by

no test coverage detected