diff options
Diffstat (limited to 'node_modules/fbjs/lib/UnicodeBidiService.js.flow')
-rw-r--r-- | node_modules/fbjs/lib/UnicodeBidiService.js.flow | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/node_modules/fbjs/lib/UnicodeBidiService.js.flow b/node_modules/fbjs/lib/UnicodeBidiService.js.flow deleted file mode 100644 index 7999a422f..000000000 --- a/node_modules/fbjs/lib/UnicodeBidiService.js.flow +++ /dev/null @@ -1,95 +0,0 @@ -/** - * 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. - * - * @providesModule UnicodeBidiService - * @typechecks - * @flow - */ - -/** - * Stateful API for text direction detection - * - * This class can be used in applications where you need to detect the - * direction of a sequence of text blocks, where each direction shall be used - * as the fallback direction for the next one. - * - * NOTE: A default direction, if not provided, is set based on the global - * direction, as defined by `UnicodeBidiDirection`. - * - * == Example == - * ``` - * var UnicodeBidiService = require('UnicodeBidiService'); - * - * var bidiService = new UnicodeBidiService(); - * - * ... - * - * bidiService.reset(); - * for (var para in paragraphs) { - * var dir = bidiService.getDirection(para); - * ... - * } - * ``` - * - * Part of our implementation of Unicode Bidirectional Algorithm (UBA) - * Unicode Standard Annex #9 (UAX9) - * http://www.unicode.org/reports/tr9/ - */ - -'use strict'; - -const UnicodeBidi = require('./UnicodeBidi'); -const UnicodeBidiDirection = require('./UnicodeBidiDirection'); - -const invariant = require('./invariant'); - -import type { BidiDirection } from './UnicodeBidiDirection'; - -class UnicodeBidiService { - - _defaultDir: BidiDirection; - _lastDir: BidiDirection; - - /** - * Stateful class for paragraph direction detection - * - * @param defaultDir Default direction of the service - */ - constructor(defaultDir: ?BidiDirection) { - if (!defaultDir) { - defaultDir = UnicodeBidiDirection.getGlobalDir(); - } else { - invariant(UnicodeBidiDirection.isStrong(defaultDir), 'Default direction must be a strong direction (LTR or RTL)'); - } - this._defaultDir = defaultDir; - this.reset(); - } - - /** - * Reset the internal state - * - * Instead of creating a new instance, you can just reset() your instance - * everytime you start a new loop. - */ - reset(): void { - this._lastDir = this._defaultDir; - } - - /** - * Returns the direction of a block of text, and remembers it as the - * fall-back direction for the next paragraph. - * - * @param str A text block, e.g. paragraph, table cell, tag - * @return The resolved direction - */ - getDirection(str: string): BidiDirection { - this._lastDir = UnicodeBidi.getDirection(str, this._lastDir); - return this._lastDir; - } - -} - -module.exports = UnicodeBidiService;
\ No newline at end of file |