{ ".source.dart": { "controller": { "prefix": "angel:controller", "description": "Generate an Angel Controller.", "body": [ "import 'package:angel_framework/angel_framework.dart';", "", "@Expose('/$1')", "class $1Controller extends Controller {", " @Expose('/')", " String hello() {", " return 'Hello, world';", " }", " $2", "}" ] }, "websocket_controller": { "prefix": "angel:websocket_controller", "description": "Generate an Angel WebSocketController.", "body": [ "import 'package:angel_websocket/server.dart';", "", "class $1Controller extends WebSocketController {", " $1Controller(AngelWebSocket ws) : super(ws);", "", " @ExposeWs('ping')", " void hello(WebSocketContext socket) {", " socket.send('pong', {'message': 'Hello, world!'});", " }", " $2", "}" ] }, "model": { "prefix": "angel:model", "description": "Generate an Angel Model.", "body": [ "import 'package:angel_model/angel_model.dart';", "import 'package:angel_serialize/angel_serialize.dart';", "part '$2.g.dart';", "part '$2.serializer.g.dart';", "", "@serializable", "abstract class _$1 extends Model {", " $3", "}" ] }, "migration": { "prefix": "angel:migration", "description": "Generate an Angel ORM Migration.", "body": [ "import 'package:angel_migration.dart/angel_migration.dart';", "", "class $1Migration extends Migration {", " @override", " void up(Schema schema) {", " schema.create('$2', (table) {", " table.serial('id').primaryKey();", " table.date('created_at');", " table.date('updated_at');", " $3", " });", " }", "", " @override", " void down(Schema schema) {", " schema.drop('$2');", " }", "}" ] }, "plugin": { "prefix": "angel:plugin", "description": "Generate an Angel plugin.", "body": [ "import 'package:angel_framework/angel_framework.dart';", "", "AngelConfigurer $1() {", " return (Angel app) async {", " // Work some magic...", " $2", " };", "}" ] }, "test_driver": { "prefix": "angel:test", "description": "Generate an Angel test driver.", "body": [ "import 'dart:io';", "import 'package:$1/$1.dart' as $1;", "import 'package:angel_framework/angel_framework.dart';", "import 'package:angel_test/angel_test.dart';", "import 'package:test/test.dart';", "", "main() async {", " TestClient client;", "", " setUp(() async {", " var app = new Angel();", " await app.configure($1.configureServer);", " client = await connectTo(app);", " });", "", " tearDown(() => client.close());", "", " // Add your tests here...", "}" ] } } }