- App.tsx: full navigation (Auth stack + Main tabs with 5 screens) - Auth: LoginScreen, RegisterScreen, ForgotPasswordScreen - HomeScreen: dashboard with IoT metrics, weather widget, alerts, quick actions, sensors - MapScreen: interactive map with layer toggles (6 layers) - MarketplaceScreen: categories (6), products (5), search - ChatScreen: AI chat with quick prompts (4), bot responses - ProfileScreen: user info, stats, menu (9 items), logout - AlertsScreen: alert list with severity, acknowledge - SensorsScreen: sensor list with type filters (6 types), search - ZonesScreen: zone cards with stats - SettingsScreen: language picker (FR/EN/ES/DE), privacy, about - Stores: iotStore (sensors, zones, alerts), notificationStore, uiStore + i18n - Hooks: useSensors, useAlerts, useNotifications, useLocation - Components: Card, Button, LoadingSpinner, ErrorBoundary, Header - Services: iotService, notificationService (with axios API client) - Utils: formatters (temp, AQI, noise, dates), validators (email, password, IBAN) - Theme: colors.ts with full design system (Blue Ocean palette) - Ditto: fixed MongoDB connection, new JWT secrets, official gateway image
33 lines
1.2 KiB
Markdown
33 lines
1.2 KiB
Markdown
# East Asian Width
|
|
|
|
Get [East Asian Width](http://www.unicode.org/reports/tr11/) from a character.
|
|
|
|
'F'(Fullwidth), 'H'(Halfwidth), 'W'(Wide), 'Na'(Narrow), 'A'(Ambiguous) or 'N'(Natural).
|
|
|
|
Original Code is [東アジアの文字幅 (East Asian Width) の判定 - 中途](http://d.hatena.ne.jp/takenspc/20111126#1322252878).
|
|
|
|
## Install
|
|
|
|
$ npm install eastasianwidth
|
|
|
|
## Usage
|
|
|
|
var eaw = require('eastasianwidth');
|
|
console.log(eaw.eastAsianWidth('₩')) // 'F'
|
|
console.log(eaw.eastAsianWidth('。')) // 'H'
|
|
console.log(eaw.eastAsianWidth('뀀')) // 'W'
|
|
console.log(eaw.eastAsianWidth('a')) // 'Na'
|
|
console.log(eaw.eastAsianWidth('①')) // 'A'
|
|
console.log(eaw.eastAsianWidth('ف')) // 'N'
|
|
|
|
console.log(eaw.characterLength('₩')) // 2
|
|
console.log(eaw.characterLength('。')) // 1
|
|
console.log(eaw.characterLength('뀀')) // 2
|
|
console.log(eaw.characterLength('a')) // 1
|
|
console.log(eaw.characterLength('①')) // 2
|
|
console.log(eaw.characterLength('ف')) // 1
|
|
|
|
console.log(eaw.length('あいうえお')) // 10
|
|
console.log(eaw.length('abcdefg')) // 7
|
|
console.log(eaw.length('¢₩。ᅵㄅ뀀¢⟭a⊙①بف')) // 19
|