- Add Strike API credentials configuration - Implement Strike node with 9 resources (Account, Balance, Currency Exchange, Deposit, Invoice, Payment, Payment Method, Payout, Rates) - Add comprehensive operation descriptions for all resources - Include CLAUDE.MD documentation - Set up build configuration with TypeScript, ESLint, and Prettier 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
77 lines
2.4 KiB
JavaScript
77 lines
2.4 KiB
JavaScript
|
|
exports = module.exports = function(bytes)
|
|
{
|
|
var i = 0;
|
|
while(i < bytes.length)
|
|
{
|
|
if( (// ASCII
|
|
bytes[i] == 0x09 ||
|
|
bytes[i] == 0x0A ||
|
|
bytes[i] == 0x0D ||
|
|
(0x20 <= bytes[i] && bytes[i] <= 0x7E)
|
|
)
|
|
) {
|
|
i += 1;
|
|
continue;
|
|
}
|
|
|
|
if( (// non-overlong 2-byte
|
|
(0xC2 <= bytes[i] && bytes[i] <= 0xDF) &&
|
|
(0x80 <= bytes[i+1] && bytes[i+1] <= 0xBF)
|
|
)
|
|
) {
|
|
i += 2;
|
|
continue;
|
|
}
|
|
|
|
if( (// excluding overlongs
|
|
bytes[i] == 0xE0 &&
|
|
(0xA0 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF)
|
|
) ||
|
|
(// straight 3-byte
|
|
((0xE1 <= bytes[i] && bytes[i] <= 0xEC) ||
|
|
bytes[i] == 0xEE ||
|
|
bytes[i] == 0xEF) &&
|
|
(0x80 <= bytes[i + 1] && bytes[i+1] <= 0xBF) &&
|
|
(0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)
|
|
) ||
|
|
(// excluding surrogates
|
|
bytes[i] == 0xED &&
|
|
(0x80 <= bytes[i+1] && bytes[i+1] <= 0x9F) &&
|
|
(0x80 <= bytes[i+2] && bytes[i+2] <= 0xBF)
|
|
)
|
|
) {
|
|
i += 3;
|
|
continue;
|
|
}
|
|
|
|
if( (// planes 1-3
|
|
bytes[i] == 0xF0 &&
|
|
(0x90 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)
|
|
) ||
|
|
(// planes 4-15
|
|
(0xF1 <= bytes[i] && bytes[i] <= 0xF3) &&
|
|
(0x80 <= bytes[i + 1] && bytes[i + 1] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)
|
|
) ||
|
|
(// plane 16
|
|
bytes[i] == 0xF4 &&
|
|
(0x80 <= bytes[i + 1] && bytes[i + 1] <= 0x8F) &&
|
|
(0x80 <= bytes[i + 2] && bytes[i + 2] <= 0xBF) &&
|
|
(0x80 <= bytes[i + 3] && bytes[i + 3] <= 0xBF)
|
|
)
|
|
) {
|
|
i += 4;
|
|
continue;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
return true;
|
|
}
|