Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Canceled after 0s
30 lines
918 B
Plaintext
30 lines
918 B
Plaintext
'use strict';
|
|
|
|
var matching = require('../../matching.cjs');
|
|
|
|
/*
|
|
* -------------------------------------------------------------------------------
|
|
* Dictionary reverse matching --------------------------------------------------
|
|
* -------------------------------------------------------------------------------
|
|
*/
|
|
class MatchReverse extends matching {
|
|
match(matchOptions) {
|
|
const passwordReversed = matchOptions.password.split('').reverse().join('');
|
|
return super.match({
|
|
...matchOptions,
|
|
password: passwordReversed
|
|
}).map(match => ({
|
|
...match,
|
|
token: match.token.split('').reverse().join(''),
|
|
// reverse back
|
|
reversed: true,
|
|
// map coordinates back to original string
|
|
i: matchOptions.password.length - 1 - match.j,
|
|
j: matchOptions.password.length - 1 - match.i
|
|
}));
|
|
}
|
|
}
|
|
|
|
module.exports = MatchReverse;
|
|
//# sourceMappingURL=reverse.cjs.map
|