confusablematcher-js-interop
Version:
TypeScript NAPI Interop for ConfusableMatcher.
58 lines (50 loc) • 1.4 kB
text/typescript
import SegfaultHandler from 'segfault-handler';
import { ConfusableMatcher } from '../wrapper';
/**
* Maps should be an array of objects with key/value fields.
*/
import Maps from './resources/maps.json';
/**
* Maps should be an array of objects with a value field.
*/
import Skips from './resources/skips.json';
/**
* Print debug logs for SEGFAULTs
*/
SegfaultHandler.registerHandler('crash.log');
console.log(`Loaded ${Maps.length} Maps`);
console.log(`Loaded ${Skips.length} Skips`);
/**
* Maps
*/
const MAP_INDEX_SKIPS = new Set<number>([
/* Write indexes to skip */
]);
console.log('Testing Maps');
for (let i = 0; i < Maps.length; i++) {
const { key, value } = Maps[i];
if (MAP_INDEX_SKIPS.has(i)) {
console.log(`Skipping ${i}: '${key}' -> '${value}'`);
continue;
}
console.log(`Trying Map ${i}: '${key}' -> '${value}'`);
new ConfusableMatcher([[key, value]], [], false);
}
console.log('Maps Success!');
/**
* Maps
*/
const SKIP_INDEX_SKIPS = new Set<number>([
/* Write indexes to skip */
]);
console.log('Testing Skips');
for (let i = 0; i < Skips.length; i++) {
const { value } = Skips[i];
if (SKIP_INDEX_SKIPS.has(i)) {
console.log(`Skipping ${i}: '${value}'`);
continue;
}
console.log(`Trying Skip ${i}: '${value}'`);
new ConfusableMatcher([], [value], false);
}
console.log('Skips Success!');