- 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
119 lines
2.4 KiB
JavaScript
119 lines
2.4 KiB
JavaScript
import defineInspect from "../jsutils/defineInspect.mjs";
|
|
|
|
/**
|
|
* Contains a range of UTF-8 character offsets and token references that
|
|
* identify the region of the source from which the AST derived.
|
|
*/
|
|
export var Location = /*#__PURE__*/function () {
|
|
/**
|
|
* The character offset at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The Token at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The Token at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The Source document the AST represents.
|
|
*/
|
|
function Location(startToken, endToken, source) {
|
|
this.start = startToken.start;
|
|
this.end = endToken.end;
|
|
this.startToken = startToken;
|
|
this.endToken = endToken;
|
|
this.source = source;
|
|
}
|
|
|
|
var _proto = Location.prototype;
|
|
|
|
_proto.toJSON = function toJSON() {
|
|
return {
|
|
start: this.start,
|
|
end: this.end
|
|
};
|
|
};
|
|
|
|
return Location;
|
|
}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.
|
|
|
|
defineInspect(Location);
|
|
/**
|
|
* Represents a range of characters represented by a lexical token
|
|
* within a Source.
|
|
*/
|
|
|
|
export var Token = /*#__PURE__*/function () {
|
|
/**
|
|
* The kind of Token.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node begins.
|
|
*/
|
|
|
|
/**
|
|
* The character offset at which this Node ends.
|
|
*/
|
|
|
|
/**
|
|
* The 1-indexed line number on which this Token appears.
|
|
*/
|
|
|
|
/**
|
|
* The 1-indexed column number at which this Token begins.
|
|
*/
|
|
|
|
/**
|
|
* For non-punctuation tokens, represents the interpreted value of the token.
|
|
*/
|
|
|
|
/**
|
|
* Tokens exist as nodes in a double-linked-list amongst all tokens
|
|
* including ignored tokens. <SOF> is always the first node and <EOF>
|
|
* the last.
|
|
*/
|
|
function Token(kind, start, end, line, column, prev, value) {
|
|
this.kind = kind;
|
|
this.start = start;
|
|
this.end = end;
|
|
this.line = line;
|
|
this.column = column;
|
|
this.value = value;
|
|
this.prev = prev;
|
|
this.next = null;
|
|
}
|
|
|
|
var _proto2 = Token.prototype;
|
|
|
|
_proto2.toJSON = function toJSON() {
|
|
return {
|
|
kind: this.kind,
|
|
value: this.value,
|
|
line: this.line,
|
|
column: this.column
|
|
};
|
|
};
|
|
|
|
return Token;
|
|
}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.
|
|
|
|
defineInspect(Token);
|
|
/**
|
|
* @internal
|
|
*/
|
|
|
|
export function isNode(maybeNode) {
|
|
return maybeNode != null && typeof maybeNode.kind === 'string';
|
|
}
|
|
/**
|
|
* The list of all possible AST node types.
|
|
*/
|