Computes evenly distributed additional or combinatory stitches to adjust the length of a knitting row.
$ npm install stitch-compute
import { StitchCompute } from 'stitch-compute';
Main class containing all public functions.
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 times
Notes:
to
must be at least half offrom
and at most twicefrom
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 formatters
Notes:
- errors are thrown if the format strings don't include the required placeholders (see the defaults for what is required where)
To run the tests or calculate the code coverage, all development dependencies have to be installed. This can be done with:
$ npm install
The BDD tests use the Mocha test framework with Chai assertions (expect/BDD style). The tests can be run with:
$ npm test
Results will directly be shown in the console.
Code Coverage is calculated using the /nyc/ commandline frontend to the Istanbul project. The code coverage can be calculated with:
$ npm run coverage
The code coverage report will be generated in the coverage/
subdirectory. Browse coverage/index.html
to see the report.
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/.