forked from asonix/mastodon
* Replace browserify with webpack * Add react-intl-translations-manager * Do not minify in development, add offline-plugin for ServiceWorker background cache updates * Adjust tests and dependencies * Fix production deployments * Fix tests * More optimizations * Improve travis cache for npm stuff * Re-run travis * Add back support for custom.scss as before * Remove offline-plugin and babili * Fix issue with Immutable.List().unshift(...values) not working as expected * Make travis load schema instead of running all migrations in sequence * Fix missing React import in WarningContainer. Optimize rendering performance by using ImmutablePureComponent instead of React.PureComponent. ImmutablePureComponent uses Immutable.is() to compare props. Replace dynamic callback bindings in <UI /> * Add react definitions to places that use JSX * Add Procfile.dev for running rails, webpack and streaming API at the same time
27 lines
730 B
JavaScript
27 lines
730 B
JavaScript
// U+0590 to U+05FF - Hebrew
|
|
// U+0600 to U+06FF - Arabic
|
|
// U+0700 to U+074F - Syriac
|
|
// U+0750 to U+077F - Arabic Supplement
|
|
// U+0780 to U+07BF - Thaana
|
|
// U+07C0 to U+07FF - N'Ko
|
|
// U+0800 to U+083F - Samaritan
|
|
// U+08A0 to U+08FF - Arabic Extended-A
|
|
// U+FB1D to U+FB4F - Hebrew presentation forms
|
|
// U+FB50 to U+FDFF - Arabic presentation forms A
|
|
// U+FE70 to U+FEFF - Arabic presentation forms B
|
|
|
|
const rtlChars = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg;
|
|
|
|
export function isRtl(text) {
|
|
if (text.length === 0) {
|
|
return false;
|
|
}
|
|
|
|
const matches = text.match(rtlChars);
|
|
|
|
if (!matches) {
|
|
return false;
|
|
}
|
|
|
|
return matches.length / text.trim().length > 0.3;
|
|
};
|