stitch-compute v2.1.1
stitch-compute
Computes evenly distributed additional or combinatory stitches to adjust the length of a knitting row.
Installation
$ npm install stitch-computeUsage
import { StitchCompute } from 'stitch-compute';StitchCompute
Main class containing all public functions.
adjustEvenly( from, to )
Computes evenly distributed keeps (K), additions (A) and
combinations (C) to grow or shrink your knitting row
from from stitches to to stitches.
const result = new StitchCompute().adjustEvenly(10, 11);
// returns "K5 A1 K5"
// meaning: keep 5 stitches, add 1 extra stitch, keep 5 stitches
const result = new StitchCompute().adjustEvenly(30, 25);
// returns "5x ( K2 C1 K2 )"
// meaning: keep 2 stitches, combine 2 stitches into 1, keep 2 stitches.
//          repeat all of this 5 timesNotes:
- tomust be at least half of- fromand at most twice- from
setFormatters( formatters )
Changes the output texts. %d will be replaced by a number, %s by a string. To the defaults can be set like this:
import { StichCompute, FormatterSet } from 'stitch-compute';
const stitchComputer = new StitchCompute();
const formatters: FormatterSet = {
  keepStitches: 'K%d',
  addStitches: 'A%d',
  combineStitches: 'C%d',
  groupInstructions: '%dx ( %s )',
  listSeparator: ' '
};
stitchComputer.setFormatters(formatters);
// stitchComputer.adjustEvenly() will now use the new formattersNotes:
- errors are thrown if the format strings don't include the required placeholders (see the defaults for what is required where)
Tests
Preparation
To run the tests or calculate the code coverage, all development dependencies have to be installed. This can be done with:
$ npm installBDD tests
The BDD tests use the Mocha test framework with Chai assertions (expect/BDD style). The tests can be run with:
$ npm testResults will directly be shown in the console.
Code Coverage
Code Coverage is calculated using the /nyc/ commandline frontend to the Istanbul project. The code coverage can be calculated with:
$ npm run coverageThe code coverage report will be generated in the coverage/ subdirectory. Browse coverage/index.html to see the report.
License
Copyright
Copyright (C) 2021 Christian Garbs mitch@cgarbs.de
Licensed under GNU GPL v3 or later.
stitch-compute is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
stitch-compute is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with stitch-compute. If not, see http://www.gnu.org/licenses/.