Files
smart-city-digital-twin-mar…/smart-app-city/frontend/node_modules/metro-source-map/src/Consumer/DelegatingConsumer.js.flow
Eric FELIXINE e30ae8ed09 feat(smart-app): implement complete mobile app MVP
- 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
2026-06-01 18:00:35 -04:00

79 lines
2.1 KiB
Plaintext

/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @flow strict-local
* @format
* @oncall react_native
*/
'use strict';
import type {MixedSourceMap} from '../source-map';
import type {LookupBias} from './constants.js';
import type {
GeneratedPositionLookup,
IConsumer,
IterationOrder,
Mapping,
SourcePosition,
} from './types.flow';
const {
GENERATED_ORDER,
GREATEST_LOWER_BOUND,
LEAST_UPPER_BOUND,
ORIGINAL_ORDER,
} = require('./constants');
const createConsumer = require('./createConsumer');
/**
* A source map consumer that supports both "basic" and "indexed" source maps.
* Uses `MappingsConsumer` and `SectionsConsumer` under the hood (via
* `createConsumer`).
*/
class DelegatingConsumer implements IConsumer {
static +GENERATED_ORDER: IterationOrder = GENERATED_ORDER;
static +ORIGINAL_ORDER: IterationOrder = ORIGINAL_ORDER;
static +GREATEST_LOWER_BOUND: LookupBias = GREATEST_LOWER_BOUND;
static +LEAST_UPPER_BOUND: LookupBias = LEAST_UPPER_BOUND;
_rootConsumer: IConsumer;
// $FlowFixMe[incompatible-return]
constructor(sourceMap: MixedSourceMap): IConsumer {
this._rootConsumer = createConsumer(sourceMap);
return this._rootConsumer;
}
originalPositionFor(
generatedPosition: GeneratedPositionLookup,
): SourcePosition {
return this._rootConsumer.originalPositionFor(generatedPosition);
}
generatedMappings(): Iterable<Mapping> {
return this._rootConsumer.generatedMappings();
}
eachMapping(
callback: (mapping: Mapping) => mixed,
context?: mixed,
order?: IterationOrder,
): void {
return this._rootConsumer.eachMapping(callback, context, order);
}
// flowlint-next-line unsafe-getters-setters:off
get file(): ?string {
return this._rootConsumer.file;
}
sourceContentFor(source: string, nullOnMissing: true): ?string {
return this._rootConsumer.sourceContentFor(source, nullOnMissing);
}
}
module.exports = DelegatingConsumer;