JSFiddle - React, Tailwind, and code Playground

by binki

HTML

<script src="https://rawgit.com/binki/a772b437e170ddc297ae/raw/847658d7c32ea3b4917bfdcef4bb43805e3708f4/lasca-var-stubs.js"></script>
<script src="https://rawgit.com/atomgomba/lasca/db5d3806f4b5224b0f2e80704288a2d3c4d1dc60/src/lasca.js"></script>
<pre id="messages"/>

JavaScript

lasca.setLanguage('uca_latin');
var log = function (t) {
    document.getElementById('messages').appendChild(document.createTextNode(String(t) + '\n'));
}
// Hmm, not sure how to get the sort of thing I want—equivalency classes (https://github.com/Teradata/lasca/issues/9)
log(lasca.compare('a', 'á'));
log(lasca.compare('b', 'á'));
log(lasca.compare('á', 'a'));
log('');

// In my language, 'ab' is a multipoint char or something.
lasca.setLanguage({key: 'binki_ridik_ab', collation: '0061+00620063', compare: 'multi'});
log(lasca.compare('ab', 'ab')); // 0
log(lasca.compare('ababc', 'abcab')); // -1
log(lasca.compare('abababc', 'ababcab')); // -1
log(lasca.compare('ababcab', 'abababc')); // -1, expecting the opposite of the previous line
log('.');

log(lasca.compare('ab', 'c'));
log(lasca.compare('c', 'ab'));
try
{
log(JSON.stringify(lasca.sort(['ab', 'c', 'ab', 'cab', 'cc', 'cab']))); // throws collation[aHashPoint] is undefined
}
catch (ex){log(ex.message);}
log(';');

try
{
log(lasca.compare('cc', 'cab')); // I expect -1, get exception instead
}catch(ex){log(ex.message);}
try
{
log(lasca.compare('cab', 'cc')); // I expect 1, get exception instead
}catch(ex){log(ex.message);}