diff --git a/README.md b/README.md index b3c0a396..75cfc09c 100644 --- a/README.md +++ b/README.md @@ -493,6 +493,16 @@ sequencer.insertSteps({ ``` return value: **`sequencer`** (To allow method chaining) +## Fetching current steps + +The `getSteps` method can be used to get the array of current steps in `this` instance of sequencer.For example + +```js +sequencer.getSteps() +``` + +returns an array of steps associated with the current sequencer. + ## Saving Sequences IMAGE SEQUENCER supports saving a sequence of modules and their associated settings in a simple string syntax. These sequences can be saved in the local storage inside the browser and inside a JSON file in node.js. sequences can be saved in node context using the CLI option diff --git a/package-lock.json b/package-lock.json index 02705139..9a35db9b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9627,4 +9627,4 @@ "dev": true } } -} +} \ No newline at end of file diff --git a/src/ImageSequencer.js b/src/ImageSequencer.js index 6475d06c..84fb1459 100644 --- a/src/ImageSequencer.js +++ b/src/ImageSequencer.js @@ -203,6 +203,16 @@ ImageSequencer = function ImageSequencer(options) { return require('./ReplaceImage')(this, selector, steps, options); } + //returns the steps added + function getSteps(){ + var steps; + if(arguments[0]) + steps= this.images.test.steps; + else + steps = this.images.image1.steps; + return [...steps]; + } + function setUI(UI) { this.events = require('./ui/UserInterface')(UI); } @@ -442,6 +452,7 @@ ImageSequencer = function ImageSequencer(options) { createMetaModule: require('./util/createMetaModule'), saveSequence: saveSequence, loadModules: loadModules, + getSteps:getSteps, //other functions log: log, diff --git a/test/core/modules/image-sequencer.js b/test/core/modules/image-sequencer.js index 40da0bcc..db8271f5 100644 --- a/test/core/modules/image-sequencer.js +++ b/test/core/modules/image-sequencer.js @@ -165,6 +165,24 @@ test('insertSteps({image: {index: index, name: "module", o: options} }) inserts }); +test('getSteps() returns correct array of steps', function(t){ + var sequencer = ImageSequencer({ ui: false }); + sequencer.loadImages('test', red); + sequencer.addSteps(['blur','invert']); + var stepsArray = sequencer.getSteps('test'); + t.equal(stepsArray.length, sequencer.images.test.steps.length, "getSteps() returns correct length of steps"); + var flag=0; + for (var i = 0; i