WIP - add extractor, generate snippet_data
This commit is contained in:
110
node_modules/fbjs/lib/UnicodeBidiDirection.js
generated
vendored
Normal file
110
node_modules/fbjs/lib/UnicodeBidiDirection.js
generated
vendored
Normal file
@ -0,0 +1,110 @@
|
||||
/**
|
||||
* Copyright (c) 2013-present, Facebook, Inc.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @typechecks
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constants to represent text directionality
|
||||
*
|
||||
* Also defines a *global* direciton, to be used in bidi algorithms as a
|
||||
* default fallback direciton, when no better direction is found or provided.
|
||||
*
|
||||
* NOTE: Use `setGlobalDir()`, or update `initGlobalDir()`, to set the initial
|
||||
* global direction value based on the application.
|
||||
*
|
||||
* Part of the implementation of Unicode Bidirectional Algorithm (UBA)
|
||||
* Unicode Standard Annex #9 (UAX9)
|
||||
* http://www.unicode.org/reports/tr9/
|
||||
*/
|
||||
'use strict';
|
||||
|
||||
var invariant = require("./invariant");
|
||||
|
||||
var NEUTRAL = 'NEUTRAL'; // No strong direction
|
||||
|
||||
var LTR = 'LTR'; // Left-to-Right direction
|
||||
|
||||
var RTL = 'RTL'; // Right-to-Left direction
|
||||
|
||||
var globalDir = null; // == Helpers ==
|
||||
|
||||
/**
|
||||
* Check if a directionality value is a Strong one
|
||||
*/
|
||||
|
||||
function isStrong(dir) {
|
||||
return dir === LTR || dir === RTL;
|
||||
}
|
||||
/**
|
||||
* Get string value to be used for `dir` HTML attribute or `direction` CSS
|
||||
* property.
|
||||
*/
|
||||
|
||||
|
||||
function getHTMLDir(dir) {
|
||||
!isStrong(dir) ? process.env.NODE_ENV !== "production" ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
|
||||
return dir === LTR ? 'ltr' : 'rtl';
|
||||
}
|
||||
/**
|
||||
* Get string value to be used for `dir` HTML attribute or `direction` CSS
|
||||
* property, but returns null if `dir` has same value as `otherDir`.
|
||||
* `null`.
|
||||
*/
|
||||
|
||||
|
||||
function getHTMLDirIfDifferent(dir, otherDir) {
|
||||
!isStrong(dir) ? process.env.NODE_ENV !== "production" ? invariant(false, '`dir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
|
||||
!isStrong(otherDir) ? process.env.NODE_ENV !== "production" ? invariant(false, '`otherDir` must be a strong direction to be converted to HTML Direction') : invariant(false) : void 0;
|
||||
return dir === otherDir ? null : getHTMLDir(dir);
|
||||
} // == Global Direction ==
|
||||
|
||||
/**
|
||||
* Set the global direction.
|
||||
*/
|
||||
|
||||
|
||||
function setGlobalDir(dir) {
|
||||
globalDir = dir;
|
||||
}
|
||||
/**
|
||||
* Initialize the global direction
|
||||
*/
|
||||
|
||||
|
||||
function initGlobalDir() {
|
||||
setGlobalDir(LTR);
|
||||
}
|
||||
/**
|
||||
* Get the global direction
|
||||
*/
|
||||
|
||||
|
||||
function getGlobalDir() {
|
||||
if (!globalDir) {
|
||||
this.initGlobalDir();
|
||||
}
|
||||
|
||||
!globalDir ? process.env.NODE_ENV !== "production" ? invariant(false, 'Global direction not set.') : invariant(false) : void 0;
|
||||
return globalDir;
|
||||
}
|
||||
|
||||
var UnicodeBidiDirection = {
|
||||
// Values
|
||||
NEUTRAL: NEUTRAL,
|
||||
LTR: LTR,
|
||||
RTL: RTL,
|
||||
// Helpers
|
||||
isStrong: isStrong,
|
||||
getHTMLDir: getHTMLDir,
|
||||
getHTMLDirIfDifferent: getHTMLDirIfDifferent,
|
||||
// Global Direction
|
||||
setGlobalDir: setGlobalDir,
|
||||
initGlobalDir: initGlobalDir,
|
||||
getGlobalDir: getGlobalDir
|
||||
};
|
||||
module.exports = UnicodeBidiDirection;
|
||||
Reference in New Issue
Block a user