
- Complete NestJS TypeScript implementation with WebSocket support - Direct messaging (DM) and group chat functionality - End-to-end encryption with AES encryption and key pairs - Media file support (images, videos, audio, documents) up to 100MB - Push notifications with Firebase Cloud Messaging integration - Mention alerts and real-time typing indicators - User authentication with JWT and Passport - SQLite database with TypeORM entities and relationships - Comprehensive API documentation with Swagger/OpenAPI - File upload handling with secure access control - Online/offline status tracking and presence management - Message editing, deletion, and reply functionality - Notification management with automatic cleanup - Health check endpoint for monitoring - CORS configuration for cross-origin requests - Environment-based configuration management - Structured for Flutter SDK integration Features implemented: ✅ Real-time messaging with Socket.IO ✅ User registration and authentication ✅ Direct messages and group chats ✅ Media file uploads and management ✅ End-to-end encryption ✅ Push notifications ✅ Mention alerts ✅ Typing indicators ✅ Message read receipts ✅ Online status tracking ✅ File access control ✅ Comprehensive API documentation Ready for Flutter SDK development and production deployment.
64 lines
1.3 KiB
TypeScript
64 lines
1.3 KiB
TypeScript
declare namespace camelcase {
|
|
interface Options {
|
|
/**
|
|
Uppercase the first character: `foo-bar` → `FooBar`.
|
|
|
|
@default false
|
|
*/
|
|
readonly pascalCase?: boolean;
|
|
}
|
|
}
|
|
|
|
declare const camelcase: {
|
|
/**
|
|
Convert a dash/dot/underscore/space separated string to camelCase or PascalCase: `foo-bar` → `fooBar`.
|
|
|
|
@param input - String to convert to camel case.
|
|
|
|
@example
|
|
```
|
|
import camelCase = require('camelcase');
|
|
|
|
camelCase('foo-bar');
|
|
//=> 'fooBar'
|
|
|
|
camelCase('foo_bar');
|
|
//=> 'fooBar'
|
|
|
|
camelCase('Foo-Bar');
|
|
//=> 'fooBar'
|
|
|
|
camelCase('Foo-Bar', {pascalCase: true});
|
|
//=> 'FooBar'
|
|
|
|
camelCase('--foo.bar', {pascalCase: false});
|
|
//=> 'fooBar'
|
|
|
|
camelCase('foo bar');
|
|
//=> 'fooBar'
|
|
|
|
console.log(process.argv[3]);
|
|
//=> '--foo-bar'
|
|
camelCase(process.argv[3]);
|
|
//=> 'fooBar'
|
|
|
|
camelCase(['foo', 'bar']);
|
|
//=> 'fooBar'
|
|
|
|
camelCase(['__foo__', '--bar'], {pascalCase: true});
|
|
//=> 'FooBar'
|
|
```
|
|
*/
|
|
(input: string | ReadonlyArray<string>, options?: camelcase.Options): string;
|
|
|
|
// TODO: Remove this for the next major release, refactor the whole definition to:
|
|
// declare function camelcase(
|
|
// input: string | ReadonlyArray<string>,
|
|
// options?: camelcase.Options
|
|
// ): string;
|
|
// export = camelcase;
|
|
default: typeof camelcase;
|
|
};
|
|
|
|
export = camelcase;
|