Removed redundant code

This commit is contained in:
thomashii 2021-06-26 21:13:43 +08:00
parent 7287bf12c1
commit d5dba913af
73 changed files with 534 additions and 490 deletions

View file

@ -107,12 +107,12 @@ class AuthToken {
Map toJson() { Map toJson() {
return _splayify({ return _splayify({
"iss": "angel_auth", 'iss': 'angel_auth',
"aud": ipAddress, 'aud': ipAddress,
"exp": lifeSpan, 'exp': lifeSpan,
"iat": issuedAt.toIso8601String(), 'iat': issuedAt.toIso8601String(),
"sub": userId, 'sub': userId,
"pld": _splayify(payload) 'pld': _splayify(payload)
}); });
} }
} }

View file

@ -81,7 +81,7 @@ class TwitterStrategy<User> extends AuthStrategy<User> {
'accept': 'application/json' 'accept': 'application/json'
}, },
body: { body: {
"oauth_callback": options.redirectUri.toString() 'oauth_callback': options.redirectUri.toString()
}).then(handleUrlEncodedResponse); }).then(handleUrlEncodedResponse);
} }
@ -91,17 +91,18 @@ class TwitterStrategy<User> extends AuthStrategy<User> {
try { try {
if (options != null) { if (options != null) {
var result = await authenticateCallback(req, res, options); var result = await authenticateCallback(req, res, options);
if (result is User) if (result is User) {
return result; return result;
else } else {
return null; return null;
}
} else { } else {
var result = await getRequestToken(); var result = await getRequestToken();
var token = result['oauth_token']; var token = result['oauth_token'];
var url = baseUrl.replace( var url = baseUrl.replace(
path: p.join(baseUrl.path, 'oauth/authorize'), path: p.join(baseUrl.path, 'oauth/authorize'),
queryParameters: {'oauth_token': token}); queryParameters: {'oauth_token': token});
res.redirect(url); await res.redirect(url);
return null; return null;
} }
} on TwitterAuthorizationException catch (e) { } on TwitterAuthorizationException catch (e) {

View file

@ -391,8 +391,10 @@ final _data = <r.Reflectable, r.ReflectorData>{
}, },
{}, {},
{ {
r"": (b) => ([length]) => r"": (b) => ([length]) => b
b ? (length == null ? List() : List(length)) : null, ? (length == null ? [] : []
..length)
: null,
r"filled": (b) => (length, fill, {growable: false}) => r"filled": (b) => (length, fill, {growable: false}) =>
b ? List.filled(length, fill, growable: growable) : null, b ? List.filled(length, fill, growable: growable) : null,
r"from": (b) => (elements, {growable: true}) => r"from": (b) => (elements, {growable: true}) =>

View file

@ -164,7 +164,7 @@ class HookedService<Id, Data, T extends Service<Id, Data>>
case HookedServiceEvent.removed: case HookedServiceEvent.removed:
return beforeRemoved; return beforeRemoved;
default: default:
throw ArgumentError('Invalid service method: ${name}'); throw ArgumentError('Invalid service method: $name');
} }
}).forEach((HookedServiceEventDispatcher<Id, Data, T> dispatcher) => }).forEach((HookedServiceEventDispatcher<Id, Data, T> dispatcher) =>
dispatcher.listen(listener)); dispatcher.listen(listener));
@ -188,7 +188,7 @@ class HookedService<Id, Data, T extends Service<Id, Data>>
case HookedServiceEvent.removed: case HookedServiceEvent.removed:
return afterRemoved; return afterRemoved;
default: default:
throw ArgumentError('Invalid service method: ${name}'); throw ArgumentError('Invalid service method: $name');
} }
}).forEach((HookedServiceEventDispatcher<Id, Data, T> dispatcher) => }).forEach((HookedServiceEventDispatcher<Id, Data, T> dispatcher) =>
dispatcher.listen(listener)); dispatcher.listen(listener));

View file

@ -12,6 +12,8 @@ class HttpResponseContext extends ResponseContext<HttpResponse> {
/// The underlying [HttpResponse] under this instance. /// The underlying [HttpResponse] under this instance.
@override @override
final HttpResponse rawResponse; final HttpResponse rawResponse;
@override
Angel? app; Angel? app;
LockableBytesBuilder? _buffer; LockableBytesBuilder? _buffer;

View file

@ -13,6 +13,7 @@ final RegExp _straySlashes = RegExp(r'(^/+)|(/+$)');
class Http2RequestContext extends RequestContext<ServerTransportStream?> { class Http2RequestContext extends RequestContext<ServerTransportStream?> {
final StreamController<List<int>> _body = StreamController(); final StreamController<List<int>> _body = StreamController();
@override
final Container container; final Container container;
List<Cookie> _cookies = <Cookie>[]; List<Cookie> _cookies = <Cookie>[];
HttpHeaders? _headers; HttpHeaders? _headers;

View file

@ -6,6 +6,7 @@ import 'package:http2/transport.dart';
import 'http2_request_context.dart'; import 'http2_request_context.dart';
class Http2ResponseContext extends ResponseContext<ServerTransportStream> { class Http2ResponseContext extends ResponseContext<ServerTransportStream> {
@override
final Angel? app; final Angel? app;
final ServerTransportStream stream; final ServerTransportStream stream;

View file

@ -205,7 +205,7 @@ void main() {
Header.ascii(':scheme', serverRoot.scheme), Header.ascii(':scheme', serverRoot.scheme),
]; ];
var stream = await connection.makeRequest(headers, endStream: true); var stream = connection.makeRequest(headers, endStream: true);
var bb = await stream.incomingMessages var bb = await stream.incomingMessages
.where((s) => s is DataStreamMessage) .where((s) => s is DataStreamMessage)

View file

@ -41,12 +41,12 @@ class Http2Client extends BaseClient {
headers.add(Header.ascii(k, v)); headers.add(Header.ascii(k, v));
}); });
var stream = await connection.makeRequest(headers, endStream: body.isEmpty); var stream = connection.makeRequest(headers, endStream: body.isEmpty);
if (body.isNotEmpty) { if (body.isNotEmpty) {
stream.sendData(body, endStream: true); stream.sendData(body, endStream: true);
} else { } else {
(stream.outgoingMessages.close()); await (stream.outgoingMessages.close());
} }
return stream; return stream;

View file

@ -70,9 +70,9 @@ parameterMetaTests() {
test('injects header or throws', () async { test('injects header or throws', () async {
// Invalid request // Invalid request
var rq = MockHttpRequest('GET', Uri.parse('/header')); var rq = MockHttpRequest('GET', Uri.parse('/header'));
(rq.close()); await (rq.close());
var rs = rq.response; var rs = rq.response;
(http.handleRequest(rq)); await (http.handleRequest(rq));
await printResponse(rs); await printResponse(rs);
expect(rs.statusCode, 400); expect(rs.statusCode, 400);
@ -80,7 +80,7 @@ parameterMetaTests() {
// Valid request // Valid request
rq = MockHttpRequest('GET', Uri.parse('/header')) rq = MockHttpRequest('GET', Uri.parse('/header'))
..headers.add('x-foo', 'bar'); ..headers.add('x-foo', 'bar');
(rq.close()); await (rq.close());
rs = rq.response; rs = rq.response;
await (http.handleRequest(rq)); await (http.handleRequest(rq));
@ -93,9 +93,9 @@ parameterMetaTests() {
test('injects session or throws', () async { test('injects session or throws', () async {
// Invalid request // Invalid request
var rq = MockHttpRequest('GET', Uri.parse('/session')); var rq = MockHttpRequest('GET', Uri.parse('/session'));
(rq.close()); await (rq.close());
var rs = rq.response; var rs = rq.response;
(http await (http
.handleRequest(rq) .handleRequest(rq)
.timeout(const Duration(seconds: 5)) .timeout(const Duration(seconds: 5))
.catchError((_) => null)); .catchError((_) => null));
@ -105,9 +105,9 @@ parameterMetaTests() {
rq = MockHttpRequest('GET', Uri.parse('/session')); rq = MockHttpRequest('GET', Uri.parse('/session'));
rq.session['foo'] = 'bar'; rq.session['foo'] = 'bar';
(rq.close()); await (rq.close());
rs = rq.response; rs = rq.response;
(http.handleRequest(rq)); await (http.handleRequest(rq));
await printResponse(rs); await printResponse(rs);
expect(rs.statusCode, 200); expect(rs.statusCode, 200);
@ -119,18 +119,18 @@ parameterMetaTests() {
test('pattern matching', () async { test('pattern matching', () async {
var rq = MockHttpRequest('GET', Uri.parse('/match?mode=pos')); var rq = MockHttpRequest('GET', Uri.parse('/match?mode=pos'));
(rq.close()); await (rq.close());
var rs = rq.response; var rs = rq.response;
(http.handleRequest(rq)); await (http.handleRequest(rq));
var body = await readResponse(rs); var body = await readResponse(rs);
print('Body: $body'); print('Body: $body');
expect(rs.statusCode, 200); expect(rs.statusCode, 200);
expect(body, json.encode('YES pos')); expect(body, json.encode('YES pos'));
rq = MockHttpRequest('GET', Uri.parse('/match?mode=neg')); rq = MockHttpRequest('GET', Uri.parse('/match?mode=neg'));
(rq.close()); await (rq.close());
rs = rq.response; rs = rq.response;
(http.handleRequest(rq)); await (http.handleRequest(rq));
body = await readResponse(rs); body = await readResponse(rs);
print('Body: $body'); print('Body: $body');
expect(rs.statusCode, 200); expect(rs.statusCode, 200);
@ -138,9 +138,9 @@ parameterMetaTests() {
// Fallback // Fallback
rq = MockHttpRequest('GET', Uri.parse('/match?mode=ambi')); rq = MockHttpRequest('GET', Uri.parse('/match?mode=ambi'));
(rq.close()); await (rq.close());
rs = rq.response; rs = rq.response;
(http.handleRequest(rq)); await (http.handleRequest(rq));
body = await readResponse(rs); body = await readResponse(rs);
print('Body: $body'); print('Body: $body');
expect(rs.statusCode, 200); expect(rs.statusCode, 200);

View file

@ -42,7 +42,7 @@ void main() {
var app = Angel(reflector: MirrorsReflector()); var app = Angel(reflector: MirrorsReflector());
var http = AngelHttp(app); var http = AngelHttp(app);
var rq = MockHttpRequest('GET', $foo); var rq = MockHttpRequest('GET', $foo);
(rq.close()); await (rq.close());
var rs = rq.response; var rs = rq.response;
var req = await http.createRequestContext(rq, rs); var req = await http.createRequestContext(rq, rs);
var res = await http.createResponseContext(rq, rs); var res = await http.createResponseContext(rq, rs);
@ -94,7 +94,7 @@ void main() {
var http = AngelHttp(app); var http = AngelHttp(app);
app.get('/', ioc((String a) => a)); app.get('/', ioc((String a) => a));
var rq = MockHttpRequest('GET', Uri.parse('/')); var rq = MockHttpRequest('GET', Uri.parse('/'));
(rq.close()); await (rq.close());
await http.handleRequest(rq); await http.handleRequest(rq);
var body = await rq.response.transform(utf8.decoder).join(); var body = await rq.response.transform(utf8.decoder).join();
expect(body, json.encode('b')); expect(body, json.encode('b'));
@ -105,7 +105,7 @@ void main() {
var http = AngelHttp(app); var http = AngelHttp(app);
app.get($foo.path, (req, ResponseContext res) => res.serialize(null)); app.get($foo.path, (req, ResponseContext res) => res.serialize(null));
var rq = MockHttpRequest('GET', $foo); var rq = MockHttpRequest('GET', $foo);
(rq.close()); await (rq.close());
await http.handleRequest(rq); await http.handleRequest(rq);
var body = await rq.response.transform(utf8.decoder).join(); var body = await rq.response.transform(utf8.decoder).join();
expect(body, 'x'); expect(body, 'x');
@ -121,7 +121,7 @@ void main() {
setUp(() async { setUp(() async {
var rq = MockHttpRequest('GET', $foo); var rq = MockHttpRequest('GET', $foo);
(rq.close()); await (rq.close());
req = await http.createRequestContext(rq, rq.response); req = await http.createRequestContext(rq, rq.response);
res = await http.createResponseContext(rq, rq.response); res = await http.createResponseContext(rq, rq.response);
}); });
@ -178,8 +178,8 @@ void main() {
test('can send json', () async { test('can send json', () async {
var rq = MockHttpRequest('GET', Uri(path: 'wtf')) var rq = MockHttpRequest('GET', Uri(path: 'wtf'))
..headers.set('accept', 'application/json'); ..headers.set('accept', 'application/json');
(rq.close()); await (rq.close());
(http.handleRequest(rq)); await (http.handleRequest(rq));
await rq.response.toList(); await rq.response.toList();
expect(rq.response.statusCode, 403); expect(rq.response.statusCode, 403);
expect(rq.response.headers.contentType!.mimeType, 'application/json'); expect(rq.response.headers.contentType!.mimeType, 'application/json');
@ -188,8 +188,8 @@ void main() {
test('can throw in finalizer', () async { test('can throw in finalizer', () async {
var rq = MockHttpRequest('GET', Uri(path: 'wtf')) var rq = MockHttpRequest('GET', Uri(path: 'wtf'))
..headers.set('accept', 'application/json'); ..headers.set('accept', 'application/json');
(rq.close()); await (rq.close());
(http.handleRequest(rq)); await (http.handleRequest(rq));
await rq.response.toList(); await rq.response.toList();
expect(rq.response.statusCode, 403); expect(rq.response.statusCode, 403);
expect(rq.response.headers.contentType!.mimeType, 'application/json'); expect(rq.response.headers.contentType!.mimeType, 'application/json');
@ -198,8 +198,8 @@ void main() {
test('can send html', () async { test('can send html', () async {
var rq = MockHttpRequest('GET', Uri(path: 'wtf2')); var rq = MockHttpRequest('GET', Uri(path: 'wtf2'));
rq.headers.set('accept', 'text/html'); rq.headers.set('accept', 'text/html');
(rq.close()); await (rq.close());
(http.handleRequest(rq)); await (http.handleRequest(rq));
await rq.response.toList(); await rq.response.toList();
expect(rq.response.statusCode, 403); expect(rq.response.statusCode, 403);
expect(rq.response.headers.contentType?.mimeType, 'text/html'); expect(rq.response.headers.contentType?.mimeType, 'text/html');

View file

@ -77,7 +77,7 @@ void main() {
_expectHelloBye(String path) async { _expectHelloBye(String path) async {
var rq = MockHttpRequest('GET', Uri.parse(path)); var rq = MockHttpRequest('GET', Uri.parse(path));
(rq.close()); await (rq.close());
await http.handleRequest(rq); await http.handleRequest(rq);
var body = await rq.response.transform(utf8.decoder).join(); var body = await rq.response.transform(utf8.decoder).join();
expect(body, 'Hello, world!bye'); expect(body, 'Hello, world!bye');
@ -90,7 +90,7 @@ void main() {
test('cannot write after close', () async { test('cannot write after close', () async {
try { try {
var rq = MockHttpRequest('GET', Uri.parse('/overwrite')); var rq = MockHttpRequest('GET', Uri.parse('/overwrite'));
(rq.close()); await (rq.close());
await http.handleRequest(rq); await http.handleRequest(rq);
var body = await rq.response.transform(utf8.decoder).join(); var body = await rq.response.transform(utf8.decoder).join();
@ -105,7 +105,7 @@ void main() {
test('res => addError', () async { test('res => addError', () async {
try { try {
var rq = MockHttpRequest('GET', Uri.parse('/error')); var rq = MockHttpRequest('GET', Uri.parse('/error'));
(rq.close()); await (rq.close());
await http.handleRequest(rq); await http.handleRequest(rq);
var body = await rq.response.transform(utf8.decoder).join(); var body = await rq.response.transform(utf8.decoder).join();
throw 'addError should throw error; response: $body'; throw 'addError should throw error; response: $body';

View file

@ -73,8 +73,12 @@ class RegularElement extends Element {
final Token? gt2; final Token? gt2;
final Token lt2, slash, lt, gt; final Token lt2, slash, lt, gt;
final Identifier tagName, tagName2; @override
final Identifier tagName;
final Identifier tagName2;
@override
final Iterable<Attribute> attributes; final Iterable<Attribute> attributes;
@override
final Iterable<ElementChild> children; final Iterable<ElementChild> children;
RegularElement(this.lt, this.tagName, this.attributes, this.gt, this.children, RegularElement(this.lt, this.tagName, this.attributes, this.gt, this.children,

View file

@ -205,7 +205,7 @@ class Renderer {
element.gt2); element.gt2);
} }
int i = 0; var i = 0;
for (var item in attribute.value!.compute(scope)) { for (var item in attribute.value!.compute(scope)) {
var childScope = scope.createChild(values: {alias: item, indexAs: i++}); var childScope = scope.createChild(values: {alias: item, indexAs: i++});
renderElement(strippedElement, buffer, childScope, html5); renderElement(strippedElement, buffer, childScope, html5);
@ -255,7 +255,7 @@ class Renderer {
value: attribute.value?.compute(scope), constant: true); value: attribute.value?.compute(scope), constant: true);
} }
for (int i = 0; i < element.children.length; i++) { for (var i = 0; i < element.children.length; i++) {
var child = element.children.elementAt(i); var child = element.children.elementAt(i);
renderElementChild( renderElementChild(
element, child, buffer, scope, html5, i, element.children.length); element, child, buffer, scope, html5, i, element.children.length);

View file

@ -7,7 +7,7 @@ part of 'stateful.dart';
// ************************************************************************** // **************************************************************************
abstract class _StatefulAppJaelTemplate implements Component<_AppState> { abstract class _StatefulAppJaelTemplate implements Component<_AppState> {
Timer? get _timer; //Timer? get _timer;
void beforeDestroy(); void beforeDestroy();
@override @override
DomNode render() { DomNode render() {

View file

@ -12,7 +12,7 @@ import 'package:path/src/context.dart';
/// Converts a [DartType] to a [TypeReference]. /// Converts a [DartType] to a [TypeReference].
TypeReference convertTypeReference(DartType? t) { TypeReference convertTypeReference(DartType? t) {
return new TypeReference((b) { return new TypeReference((b) {
b..symbol = t!.name; b..symbol = t?.getDisplayString(withNullability: false);
if (t is InterfaceType) { if (t is InterfaceType) {
b.types.addAll(t.typeArguments.map(convertTypeReference)); b.types.addAll(t.typeArguments.map(convertTypeReference));

View file

@ -66,7 +66,7 @@ class DeviceCodeResponse {
} }
if (interval != null) out['interval'] = interval; if (interval != null) out['interval'] = interval;
if (expiresIn != null) out['expires_in'] = expiresIn; out['expires_in'] = expiresIn;
return out; return out;
} }

View file

@ -13,7 +13,7 @@ class PostgresMigrationRunner implements MigrationRunner {
bool _connected = false; bool _connected = false;
PostgresMigrationRunner(this.connection, PostgresMigrationRunner(this.connection,
{Iterable<Migration> migrations = const [], bool connected: false}) { {Iterable<Migration> migrations = const [], bool connected = false}) {
if (migrations.isNotEmpty == true) migrations.forEach(addMigration); if (migrations.isNotEmpty == true) migrations.forEach(addMigration);
_connected = connected == true; _connected = connected == true;
} }

View file

@ -50,6 +50,7 @@ class Employee extends _Employee {
updatedAt: updatedAt ?? this.updatedAt); updatedAt: updatedAt ?? this.updatedAt);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Employee && return other is _Employee &&
other.id == id && other.id == id &&

View file

@ -54,13 +54,13 @@ class NumericSqlExpressionBuilder<T extends num>
return '$_op $v'; return '$_op $v';
} }
operator <(T value) => _change('<', value); bool operator <(T value) => _change('<', value);
operator >(T value) => _change('>', value); bool operator >(T value) => _change('>', value);
operator <=(T value) => _change('<=', value); bool operator <=(T value) => _change('<=', value);
operator >=(T value) => _change('>=', value); bool operator >=(T value) => _change('>=', value);
void get isNull { void get isNull {
_raw = 'IS NULL'; _raw = 'IS NULL';
@ -210,7 +210,7 @@ class StringSqlExpressionBuilder extends SqlExpressionBuilder<String> {
String? compile() { String? compile() {
if (_raw != null) return _raw; if (_raw != null) return _raw;
if (_value == null) return null; if (_value == null) return null;
return "$_op @$substitution"; return '$_op @$substitution';
} }
void isEmpty() => equals(''); void isEmpty() => equals('');
@ -254,7 +254,7 @@ class StringSqlExpressionBuilder extends SqlExpressionBuilder<String> {
void isNotBetween(String lower, String upper) { void isNotBetween(String lower, String upper) {
query.substitutionValues[lowerName] = lower; query.substitutionValues[lowerName] = lower;
query.substitutionValues[upperName] = upper; query.substitutionValues[upperName] = upper;
_raw = "NOT BETWEEN @$lowerName AND @$upperName"; _raw = 'NOT BETWEEN @$lowerName AND @$upperName';
_hasValue = true; _hasValue = true;
} }
@ -381,13 +381,13 @@ class DateTimeSqlExpressionBuilder extends SqlExpressionBuilder<DateTime> {
return true; return true;
} }
operator <(DateTime value) => _change('<', value, true); bool operator <(DateTime value) => _change('<', value, true);
operator <=(DateTime value) => _change('<=', value, true); bool operator <=(DateTime value) => _change('<=', value, true);
operator >(DateTime value) => _change('>', value, true); bool operator >(DateTime value) => _change('>', value, true);
operator >=(DateTime value) => _change('>=', value, true); bool operator >=(DateTime value) => _change('>=', value, true);
void equals(DateTime value, {bool includeTime = true}) { void equals(DateTime value, {bool includeTime = true}) {
_change('=', value, includeTime != false); _change('=', value, includeTime != false);

View file

@ -13,7 +13,7 @@ class Union<T> extends QueryBase<T> {
final String tableName; final String tableName;
Union(this.left, this.right, {this.all = false, String? tableName}) Union(this.left, this.right, {this.all = false, String? tableName})
: this.tableName = tableName ?? left.tableName { : tableName = tableName ?? left.tableName {
substitutionValues substitutionValues
..addAll(left.substitutionValues) ..addAll(left.substitutionValues)
..addAll(right.substitutionValues); ..addAll(right.substitutionValues);

View file

@ -128,7 +128,7 @@ class EmployeeQueryWhere extends QueryWhere {
class EmployeeQueryValues extends MapQueryValues { class EmployeeQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {'salary': 'decimal'}; return {'salary': 'decimal'};
} }
@ -235,6 +235,7 @@ class Employee extends _Employee {
salary: salary ?? this.salary); salary: salary ?? this.salary);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Employee && return other is _Employee &&
other.id == id && other.id == id &&

View file

@ -8,10 +8,10 @@ part of 'main.dart';
class TodoMigration extends Migration { class TodoMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('todos', (table) { schema.create('todos', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.boolean('is_complete')..defaultsTo(false); table.boolean('is_complete').defaultsTo(false);
table.varChar('text'); table.varChar('text');
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
@ -19,7 +19,7 @@ class TodoMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('todos'); schema.drop('todos');
} }
} }
@ -30,7 +30,7 @@ class TodoMigration extends Migration {
class TodoQuery extends Query<Todo, TodoQueryWhere> { class TodoQuery extends Query<Todo, TodoQueryWhere> {
TodoQuery({Set<String>? trampoline}) { TodoQuery({Set<String>? trampoline}) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = TodoQueryWhere(this); _where = TodoQueryWhere(this);
} }
@ -41,17 +41,17 @@ class TodoQuery extends Query<Todo, TodoQueryWhere> {
TodoQueryWhere? _where; TodoQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'todos'; return 'todos';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'is_complete', 'text', 'created_at', 'updated_at']; return const ['id', 'is_complete', 'text', 'created_at', 'updated_at'];
} }
@ -101,14 +101,14 @@ class TodoQueryWhere extends QueryWhere {
final DateTimeSqlExpressionBuilder updatedAt; final DateTimeSqlExpressionBuilder updatedAt;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, isComplete, text, createdAt, updatedAt]; return [id, isComplete, text, createdAt, updatedAt];
} }
} }
class TodoQueryValues extends MapQueryValues { class TodoQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -179,7 +179,7 @@ class Todo extends _Todo {
String? text, String? text,
DateTime? createdAt, DateTime? createdAt,
DateTime? updatedAt}) { DateTime? updatedAt}) {
return new Todo( return Todo(
id: id ?? this.id, id: id ?? this.id,
isComplete: isComplete ?? this.isComplete, isComplete: isComplete ?? this.isComplete,
text: text ?? this.text, text: text ?? this.text,
@ -187,6 +187,7 @@ class Todo extends _Todo {
updatedAt: updatedAt ?? this.updatedAt); updatedAt: updatedAt ?? this.updatedAt);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Todo && return other is _Todo &&
other.id == id && other.id == id &&
@ -213,11 +214,10 @@ class Todo extends _Todo {
abstract class TodoSerializer { abstract class TodoSerializer {
static Todo fromMap(Map map) { static Todo fromMap(Map map) {
if (map['is_complete'] == null) { if (map['is_complete'] == null) {
throw new FormatException( throw FormatException("Missing required field 'is_complete' on Todo.");
"Missing required field 'is_complete' on Todo.");
} }
return new Todo( return Todo(
id: map['id'] as String?, id: map['id'] as String?,
isComplete: map['is_complete'] as bool? ?? false, isComplete: map['is_complete'] as bool? ?? false,
text: map['text'] as String?, text: map['text'] as String?,
@ -235,8 +235,7 @@ abstract class TodoSerializer {
static Map<String, dynamic> toMap(_Todo model) { static Map<String, dynamic> toMap(_Todo model) {
if (model.isComplete == null) { if (model.isComplete == null) {
throw new FormatException( throw FormatException("Missing required field 'is_complete' on Todo.");
"Missing required field 'is_complete' on Todo.");
} }
return { return {

View file

@ -5,7 +5,7 @@ import 'models/book.dart';
import 'util.dart'; import 'util.dart';
belongsToTests(FutureOr<QueryExecutor> Function() createExecutor, void belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
Author? jkRowling; Author? jkRowling;
@ -38,7 +38,7 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
group('selects', () { group('selects', () {
test('select all', () async { test('select all', () async {
var query = BookQuery(); var query = BookQuery();
List<Book> books = await query.get(executor); var books = await query.get(executor);
expect(books, hasLength(1)); expect(books, hasLength(1));
var book = books.first; var book = books.first;
@ -55,7 +55,7 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
test('select one', () async { test('select one', () async {
var query = BookQuery(); var query = BookQuery();
query.where!.id.equals(int.parse(deathlyHallows!.id!)); query.where!.id.equals(int.parse(deathlyHallows!.id!));
print(query.compile(Set())); print(query.compile({}));
var bookOpt = await query.getOne(executor); var bookOpt = await query.getOne(executor);
expect(bookOpt.isPresent, true); expect(bookOpt.isPresent, true);
@ -75,9 +75,9 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
var query = BookQuery() var query = BookQuery()
..where!.name.equals('Goblet of Fire') ..where!.name.equals('Goblet of Fire')
..orWhere((w) => w.authorId.equals(int.parse(jkRowling!.id!))); ..orWhere((w) => w.authorId.equals(int.parse(jkRowling!.id!)));
print(query.compile(Set())); print(query.compile({}));
List<Book> books = await query.get(executor); var books = await query.get(executor);
expect(books, hasLength(1)); expect(books, hasLength(1));
var book = books.first; var book = books.first;
@ -99,9 +99,9 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
query1 query1
..union(query2) ..union(query2)
..unionAll(query3); ..unionAll(query3);
print(query1.compile(Set())); print(query1.compile({}));
List<Book> books = await query1.get(executor); var books = await query1.get(executor);
expect(books, hasLength(1)); expect(books, hasLength(1));
var book = books.first; var book = books.first;
@ -117,7 +117,7 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
test('order by', () async { test('order by', () async {
var query = AuthorQuery()..orderBy(AuthorFields.name, descending: true); var query = AuthorQuery()..orderBy(AuthorFields.name, descending: true);
List<Author> authors = await query.get(executor); var authors = await query.get(executor);
expect(authors, [jkRowling, jameson]); expect(authors, [jkRowling, jameson]);
}); });
}); });
@ -131,8 +131,8 @@ belongsToTests(FutureOr<QueryExecutor> Function() createExecutor,
test('delete stream', () async { test('delete stream', () async {
printSeparator('Delete stream test'); printSeparator('Delete stream test');
var query = BookQuery()..where!.name.equals(deathlyHallows!.name!); var query = BookQuery()..where!.name.equals(deathlyHallows!.name!);
print(query.compile(Set(), preamble: 'DELETE', withFields: false)); print(query.compile({}, preamble: 'DELETE', withFields: false));
List<Book> books = await query.delete(executor); var books = await query.delete(executor);
expect(books, hasLength(1)); expect(books, hasLength(1));
var book = books.first; var book = books.first;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/custom_expr.dart'; import 'models/custom_expr.dart';
customExprTests(FutureOr<QueryExecutor> Function() createExecutor, void customExprTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
Numbers? numbersModel; Numbers? numbersModel;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/unorthodox.dart'; import 'models/unorthodox.dart';
edgeCaseTests(FutureOr<QueryExecutor> Function() createExecutor, void edgeCaseTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
close ??= (_) => null; close ??= (_) => null;
@ -81,7 +81,7 @@ edgeCaseTests(FutureOr<QueryExecutor> Function() createExecutor,
test('has many', () async { test('has many', () async {
var numbas = <Numba>[]; var numbas = <Numba>[];
for (int i = 0; i < 15; i++) { for (var i = 0; i < 15; i++) {
var query = NumbaQuery() var query = NumbaQuery()
..values.parent = weirdJoin!.id ..values.parent = weirdJoin!.id
..values.i = i; ..values.i = i;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/has_car.dart'; import 'models/has_car.dart';
enumAndNestedTests(FutureOr<QueryExecutor> Function() createExecutor, void enumAndNestedTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
close ??= (_) => null; close ??= (_) => null;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/tree.dart'; import 'models/tree.dart';
hasManyTests(FutureOr<QueryExecutor> Function() createExecutor, void hasManyTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
Tree? appleTree; Tree? appleTree;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/has_map.dart'; import 'models/has_map.dart';
hasMapTests(FutureOr<QueryExecutor> Function() createExecutor, void hasMapTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
close ??= (_) => null; close ??= (_) => null;

View file

@ -3,7 +3,7 @@ import 'package:angel3_orm/angel3_orm.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'models/leg.dart'; import 'models/leg.dart';
hasOneTests(FutureOr<QueryExecutor> Function() createExecutor, void hasOneTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
Leg? originalLeg; Leg? originalLeg;
@ -18,7 +18,7 @@ hasOneTests(FutureOr<QueryExecutor> Function() createExecutor,
tearDown(() => close!(executor)); tearDown(() => close!(executor));
test('sets to null if no child', () async { test('sets to null if no child', () async {
print(LegQuery().compile(Set())); print(LegQuery().compile({}));
var query = LegQuery()..where!.id.equals(int.parse(originalLeg!.id!)); var query = LegQuery()..where!.id.equals(int.parse(originalLeg!.id!));
var legOpt = await (query.getOne(executor)); var legOpt = await (query.getOne(executor));
expect(legOpt.isPresent, true); expect(legOpt.isPresent, true);

View file

@ -5,7 +5,7 @@ import 'package:test/test.dart';
import 'models/user.dart'; import 'models/user.dart';
import 'util.dart'; import 'util.dart';
manyToManyTests(FutureOr<QueryExecutor> Function() createExecutor, void manyToManyTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
late QueryExecutor executor; late QueryExecutor executor;
Role? canPub, canSub; Role? canPub, canSub;

View file

@ -14,7 +14,7 @@ class _Book extends Model {
@BelongsTo(joinType: JoinType.inner) @BelongsTo(joinType: JoinType.inner)
_Author? author; _Author? author;
@BelongsTo(localKey: "partner_author_id", joinType: JoinType.inner) @BelongsTo(localKey: 'partner_author_id', joinType: JoinType.inner)
_Author? partnerAuthor; _Author? partnerAuthor;
String? name; String? name;

View file

@ -8,9 +8,9 @@ part of angel_orm3.generator.models.book;
class BookMigration extends Migration { class BookMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('books', (table) { schema.create('books', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('name'); table.varChar('name');
@ -24,24 +24,24 @@ class BookMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('books'); schema.drop('books');
} }
} }
class AuthorMigration extends Migration { class AuthorMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('authors', (table) { schema.create('authors', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('name', length: 255)..defaultsTo('Tobe Osakwe'); table.varChar('name', length: 255).defaultsTo('Tobe Osakwe');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('authors'); schema.drop('authors');
} }
} }
@ -52,7 +52,7 @@ class AuthorMigration extends Migration {
class BookQuery extends Query<Book, BookQueryWhere> { class BookQuery extends Query<Book, BookQueryWhere> {
BookQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { BookQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = BookQueryWhere(this); _where = BookQueryWhere(this);
join(_author = AuthorQuery(trampoline: trampoline, parent: this), join(_author = AuthorQuery(trampoline: trampoline, parent: this),
@ -75,17 +75,17 @@ class BookQuery extends Query<Book, BookQueryWhere> {
AuthorQuery? _partnerAuthor; AuthorQuery? _partnerAuthor;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'books'; return 'books';
} }
@override @override
get fields { List<String> get fields {
return const [ return const [
'id', 'id',
'created_at', 'created_at',
@ -167,14 +167,14 @@ class BookQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder name; final StringSqlExpressionBuilder name;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, authorId, partnerAuthorId, name]; return [id, createdAt, updatedAt, authorId, partnerAuthorId, name];
} }
} }
class BookQueryValues extends MapQueryValues { class BookQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -224,7 +224,7 @@ class BookQueryValues extends MapQueryValues {
class AuthorQuery extends Query<Author, AuthorQueryWhere> { class AuthorQuery extends Query<Author, AuthorQueryWhere> {
AuthorQuery({Query? parent, Set<String>? trampoline}) AuthorQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = AuthorQueryWhere(this); _where = AuthorQueryWhere(this);
} }
@ -235,17 +235,17 @@ class AuthorQuery extends Query<Author, AuthorQueryWhere> {
AuthorQueryWhere? _where; AuthorQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'authors'; return 'authors';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'name']; return const ['id', 'created_at', 'updated_at', 'name'];
} }
@ -293,14 +293,14 @@ class AuthorQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder name; final StringSqlExpressionBuilder name;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, name]; return [id, createdAt, updatedAt, name];
} }
} }
class AuthorQueryValues extends MapQueryValues { class AuthorQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -382,6 +382,7 @@ class Book extends _Book {
name: name ?? this.name); name: name ?? this.name);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Book && return other is _Book &&
other.id == id && other.id == id &&
@ -399,7 +400,7 @@ class Book extends _Book {
@override @override
String toString() { String toString() {
return "Book(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, author=$author, partnerAuthor=$partnerAuthor, name=$name)"; return 'Book(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, author=$author, partnerAuthor=$partnerAuthor, name=$name)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -435,6 +436,7 @@ class Author extends _Author {
name: name ?? this.name); name: name ?? this.name);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Author && return other is _Author &&
other.id == id && other.id == id &&
@ -450,7 +452,7 @@ class Author extends _Author {
@override @override
String toString() { String toString() {
return "Author(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, name=$name)"; return 'Author(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, name=$name)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -482,9 +484,9 @@ class BookSerializer extends Codec<Book, Map> {
const BookSerializer(); const BookSerializer();
@override @override
get encoder => const BookEncoder(); BookEncoder get encoder => const BookEncoder();
@override @override
get decoder => const BookDecoder(); BookDecoder get decoder => const BookDecoder();
static Book fromMap(Map map) { static Book fromMap(Map map) {
return Book( return Book(
id: map['id'] as String?, id: map['id'] as String?,
@ -562,9 +564,9 @@ class AuthorSerializer extends Codec<Author, Map?> {
const AuthorSerializer(); const AuthorSerializer();
@override @override
get encoder => const AuthorEncoder(); AuthorEncoder get encoder => const AuthorEncoder();
@override @override
get decoder => const AuthorDecoder(); AuthorDecoder get decoder => const AuthorDecoder();
static Author fromMap(Map map) { static Author fromMap(Map map) {
return Author( return Author(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -8,9 +8,9 @@ part of angel_orm3.generator.models.car;
class CarMigration extends Migration { class CarMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('cars', (table) { schema.create('cars', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('make'); table.varChar('make');
@ -21,7 +21,7 @@ class CarMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('cars'); schema.drop('cars');
} }
} }
@ -32,7 +32,7 @@ class CarMigration extends Migration {
class CarQuery extends Query<Car, CarQueryWhere> { class CarQuery extends Query<Car, CarQueryWhere> {
CarQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { CarQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = CarQueryWhere(this); _where = CarQueryWhere(this);
} }
@ -43,17 +43,17 @@ class CarQuery extends Query<Car, CarQueryWhere> {
CarQueryWhere? _where; CarQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'cars'; return 'cars';
} }
@override @override
get fields { List<String> get fields {
return const [ return const [
'id', 'id',
'created_at', 'created_at',
@ -121,7 +121,7 @@ class CarQueryWhere extends QueryWhere {
final DateTimeSqlExpressionBuilder recalledAt; final DateTimeSqlExpressionBuilder recalledAt;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [ return [
id, id,
createdAt, createdAt,
@ -136,7 +136,7 @@ class CarQueryWhere extends QueryWhere {
class CarQueryValues extends MapQueryValues { class CarQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -242,6 +242,7 @@ class Car extends _Car {
recalledAt: recalledAt ?? this.recalledAt); recalledAt: recalledAt ?? this.recalledAt);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Car && return other is _Car &&
other.id == id && other.id == id &&
@ -268,7 +269,7 @@ class Car extends _Car {
@override @override
String toString() { String toString() {
return "Car(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, make=$make, description=$description, familyFriendly=$familyFriendly, recalledAt=$recalledAt)"; return 'Car(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, make=$make, description=$description, familyFriendly=$familyFriendly, recalledAt=$recalledAt)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -300,9 +301,9 @@ class CarSerializer extends Codec<Car, Map> {
const CarSerializer(); const CarSerializer();
@override @override
get encoder => const CarEncoder(); CarEncoder get encoder => const CarEncoder();
@override @override
get decoder => const CarDecoder(); CarDecoder get decoder => const CarDecoder();
static Car fromMap(Map map) { static Car fromMap(Map map) {
return Car( return Car(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -8,25 +8,25 @@ part of 'custom_expr.dart';
class NumbersMigration extends Migration { class NumbersMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('numbers', (table) { schema.create('numbers', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('numbers'); schema.drop('numbers');
} }
} }
class AlphabetMigration extends Migration { class AlphabetMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('alphabets', (table) { schema.create('alphabets', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('value'); table.varChar('value');
@ -37,7 +37,7 @@ class AlphabetMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('alphabets'); schema.drop('alphabets');
} }
} }
@ -49,7 +49,7 @@ class AlphabetMigration extends Migration {
class NumbersQuery extends Query<Numbers, NumbersQueryWhere> { class NumbersQuery extends Query<Numbers, NumbersQueryWhere> {
NumbersQuery({Query? parent, Set<String>? trampoline}) NumbersQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
expressions['two'] = 'SELECT 2'; expressions['two'] = 'SELECT 2';
_where = NumbersQueryWhere(this); _where = NumbersQueryWhere(this);
@ -61,17 +61,17 @@ class NumbersQuery extends Query<Numbers, NumbersQueryWhere> {
NumbersQueryWhere? _where; NumbersQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'numbers'; return 'numbers';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'two']; return const ['id', 'created_at', 'updated_at', 'two'];
} }
@ -116,14 +116,14 @@ class NumbersQueryWhere extends QueryWhere {
final DateTimeSqlExpressionBuilder updatedAt; final DateTimeSqlExpressionBuilder updatedAt;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt]; return [id, createdAt, updatedAt];
} }
} }
class NumbersQueryValues extends MapQueryValues { class NumbersQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -151,7 +151,7 @@ class NumbersQueryValues extends MapQueryValues {
class AlphabetQuery extends Query<Alphabet, AlphabetQueryWhere> { class AlphabetQuery extends Query<Alphabet, AlphabetQueryWhere> {
AlphabetQuery({Query? parent, Set<String>? trampoline}) AlphabetQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = AlphabetQueryWhere(this); _where = AlphabetQueryWhere(this);
leftJoin(_numbers = NumbersQuery(trampoline: trampoline, parent: this), leftJoin(_numbers = NumbersQuery(trampoline: trampoline, parent: this),
@ -168,17 +168,17 @@ class AlphabetQuery extends Query<Alphabet, AlphabetQueryWhere> {
NumbersQuery? _numbers; NumbersQuery? _numbers;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'alphabets'; return 'alphabets';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'value', 'numbers_id']; return const ['id', 'created_at', 'updated_at', 'value', 'numbers_id'];
} }
@ -239,14 +239,14 @@ class AlphabetQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<int> numbersId; final NumericSqlExpressionBuilder<int> numbersId;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, value, numbersId]; return [id, createdAt, updatedAt, value, numbersId];
} }
} }
class AlphabetQueryValues extends MapQueryValues { class AlphabetQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -317,6 +317,7 @@ class Numbers extends _Numbers {
two: two ?? this.two); two: two ?? this.two);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Numbers && return other is _Numbers &&
other.id == id && other.id == id &&
@ -332,7 +333,7 @@ class Numbers extends _Numbers {
@override @override
String toString() { String toString() {
return "Numbers(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, two=$two)"; return 'Numbers(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, two=$two)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -376,6 +377,7 @@ class Alphabet extends _Alphabet {
numbers: numbers ?? this.numbers); numbers: numbers ?? this.numbers);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Alphabet && return other is _Alphabet &&
other.id == id && other.id == id &&
@ -392,7 +394,7 @@ class Alphabet extends _Alphabet {
@override @override
String toString() { String toString() {
return "Alphabet(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, value=$value, numbers=$numbers)"; return 'Alphabet(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, value=$value, numbers=$numbers)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -424,9 +426,9 @@ class NumbersSerializer extends Codec<Numbers, Map?> {
const NumbersSerializer(); const NumbersSerializer();
@override @override
get encoder => const NumbersEncoder(); NumbersEncoder get encoder => const NumbersEncoder();
@override @override
get decoder => const NumbersDecoder(); NumbersDecoder get decoder => const NumbersDecoder();
static Numbers fromMap(Map map) { static Numbers fromMap(Map map) {
return Numbers( return Numbers(
id: map['id'] as String?, id: map['id'] as String?,
@ -488,9 +490,9 @@ class AlphabetSerializer extends Codec<Alphabet, Map> {
const AlphabetSerializer(); const AlphabetSerializer();
@override @override
get encoder => const AlphabetEncoder(); AlphabetEncoder get encoder => const AlphabetEncoder();
@override @override
get decoder => const AlphabetDecoder(); AlphabetDecoder get decoder => const AlphabetDecoder();
static Alphabet fromMap(Map map) { static Alphabet fromMap(Map map) {
return Alphabet( return Alphabet(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -8,21 +8,21 @@ part of 'email_indexed.dart';
class RoleMigration extends Migration { class RoleMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('roles', (table) { schema.create('roles', (table) {
table.declare('role', ColumnType('varchar'))..primaryKey(); table.declare('role', ColumnType('varchar')).primaryKey();
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('roles', cascade: true); schema.drop('roles', cascade: true);
} }
} }
class RoleUserMigration extends Migration { class RoleUserMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('role_users', (table) { schema.create('role_users', (table) {
table table
.declare('role_role', ColumnType('varchar')) .declare('role_role', ColumnType('varchar'))
@ -34,23 +34,23 @@ class RoleUserMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('role_users'); schema.drop('role_users');
} }
} }
class UserMigration extends Migration { class UserMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('users', (table) { schema.create('users', (table) {
table.varChar('email')..primaryKey(); table.varChar('email').primaryKey();
table.varChar('name'); table.varChar('name');
table.varChar('password'); table.varChar('password');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('users', cascade: true); schema.drop('users', cascade: true);
} }
} }
@ -61,7 +61,7 @@ class UserMigration extends Migration {
class RoleQuery extends Query<Role, RoleQueryWhere> { class RoleQuery extends Query<Role, RoleQueryWhere> {
RoleQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { RoleQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = RoleQueryWhere(this); _where = RoleQueryWhere(this);
leftJoin( leftJoin(
@ -78,17 +78,17 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
late RoleQueryWhere _where; late RoleQueryWhere _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'roles'; return 'roles';
} }
@override @override
get fields { List<String> get fields {
return const ['role']; return const ['role'];
} }
@ -128,7 +128,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<Role>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.role == model.role); var idx = out.indexWhere((m) => m.role == model.role);
@ -146,7 +146,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<Role>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.role == model.role); var idx = out.indexWhere((m) => m.role == model.role);
@ -164,7 +164,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<Role>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.role == model.role); var idx = out.indexWhere((m) => m.role == model.role);
@ -189,14 +189,14 @@ class RoleQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder role; final StringSqlExpressionBuilder role;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [role]; return [role];
} }
} }
class RoleQueryValues extends MapQueryValues { class RoleQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -213,7 +213,7 @@ class RoleQueryValues extends MapQueryValues {
class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> { class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> {
RoleUserQuery({Query? parent, Set<String>? trampoline}) RoleUserQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = RoleUserQueryWhere(this); _where = RoleUserQueryWhere(this);
leftJoin(_role = RoleQuery(trampoline: trampoline, parent: this), leftJoin(_role = RoleQuery(trampoline: trampoline, parent: this),
@ -235,17 +235,17 @@ class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> {
UserQuery? _user; UserQuery? _user;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'role_users'; return 'role_users';
} }
@override @override
get fields { List<String> get fields {
return const ['role_role', 'user_email']; return const ['role_role', 'user_email'];
} }
@ -303,14 +303,14 @@ class RoleUserQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder userEmail; final StringSqlExpressionBuilder userEmail;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [roleRole, userEmail]; return [roleRole, userEmail];
} }
} }
class RoleUserQueryValues extends MapQueryValues { class RoleUserQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -336,7 +336,7 @@ class RoleUserQueryValues extends MapQueryValues {
class UserQuery extends Query<User, UserQueryWhere> { class UserQuery extends Query<User, UserQueryWhere> {
UserQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { UserQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = UserQueryWhere(this); _where = UserQueryWhere(this);
leftJoin( leftJoin(
@ -353,17 +353,17 @@ class UserQuery extends Query<User, UserQueryWhere> {
UserQueryWhere? _where; UserQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'users'; return 'users';
} }
@override @override
get fields { List<String> get fields {
return const ['email', 'name', 'password']; return const ['email', 'name', 'password'];
} }
@ -410,7 +410,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<User>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.email == model.email); var idx = out.indexWhere((m) => m.email == model.email);
@ -428,7 +428,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<User>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.email == model.email); var idx = out.indexWhere((m) => m.email == model.email);
@ -446,7 +446,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<User>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.email == model.email); var idx = out.indexWhere((m) => m.email == model.email);
@ -477,14 +477,14 @@ class UserQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder password; final StringSqlExpressionBuilder password;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [email, name, password]; return [email, name, password];
} }
} }
class UserQueryValues extends MapQueryValues { class UserQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -528,6 +528,7 @@ class Role implements _Role {
return Role(role: role ?? this.role, users: users); return Role(role: role ?? this.role, users: users);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Role && return other is _Role &&
other.role == role && other.role == role &&
@ -542,7 +543,7 @@ class Role implements _Role {
@override @override
String toString() { String toString() {
return "Role(role=$role, users=$users)"; return 'Role(role=$role, users=$users)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -564,6 +565,7 @@ class RoleUser implements _RoleUser {
return RoleUser(role: role ?? this.role, user: user ?? this.user); return RoleUser(role: role ?? this.role, user: user ?? this.user);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _RoleUser && other.role == role && other.user == user; return other is _RoleUser && other.role == role && other.user == user;
} }
@ -575,7 +577,7 @@ class RoleUser implements _RoleUser {
@override @override
String toString() { String toString() {
return "RoleUser(role=$role, user=$user)"; return 'RoleUser(role=$role, user=$user)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -608,6 +610,7 @@ class User implements _User {
roles: roles ?? []); roles: roles ?? []);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _User && return other is _User &&
other.email == email && other.email == email &&
@ -624,7 +627,7 @@ class User implements _User {
@override @override
String toString() { String toString() {
return "User(email=$email, name=$name, password=$password, roles=$roles)"; return 'User(email=$email, name=$name, password=$password, roles=$roles)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -656,9 +659,9 @@ class RoleSerializer extends Codec<Role, Map?> {
const RoleSerializer(); const RoleSerializer();
@override @override
get encoder => const RoleEncoder(); RoleEncoder get encoder => const RoleEncoder();
@override @override
get decoder => const RoleDecoder(); RoleDecoder get decoder => const RoleDecoder();
static Role fromMap(Map map) { static Role fromMap(Map map) {
return Role( return Role(
role: map['role'] as String?, role: map['role'] as String?,
@ -704,9 +707,9 @@ class RoleUserSerializer extends Codec<RoleUser, Map> {
const RoleUserSerializer(); const RoleUserSerializer();
@override @override
get encoder => const RoleUserEncoder(); RoleUserEncoder get encoder => const RoleUserEncoder();
@override @override
get decoder => const RoleUserDecoder(); RoleUserDecoder get decoder => const RoleUserDecoder();
static RoleUser fromMap(Map map) { static RoleUser fromMap(Map map) {
return RoleUser( return RoleUser(
role: map['role'] != null role: map['role'] != null
@ -753,9 +756,9 @@ class UserSerializer extends Codec<User, Map?> {
const UserSerializer(); const UserSerializer();
@override @override
get encoder => const UserEncoder(); UserEncoder get encoder => const UserEncoder();
@override @override
get decoder => const UserDecoder(); UserDecoder get decoder => const UserDecoder();
static User fromMap(Map map) { static User fromMap(Map map) {
return User( return User(
email: map['email'] as String?, email: map['email'] as String?,

View file

@ -8,9 +8,9 @@ part of 'has_car.dart';
class HasCarMigration extends Migration { class HasCarMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('has_cars', (table) { schema.create('has_cars', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.integer('type'); table.integer('type');
@ -18,7 +18,7 @@ class HasCarMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('has_cars'); schema.drop('has_cars');
} }
} }
@ -30,7 +30,7 @@ class HasCarMigration extends Migration {
class HasCarQuery extends Query<HasCar, HasCarQueryWhere> { class HasCarQuery extends Query<HasCar, HasCarQueryWhere> {
HasCarQuery({Query? parent, Set<String>? trampoline}) HasCarQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = HasCarQueryWhere(this); _where = HasCarQueryWhere(this);
} }
@ -41,17 +41,17 @@ class HasCarQuery extends Query<HasCar, HasCarQueryWhere> {
HasCarQueryWhere? _where; HasCarQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'has_cars'; return 'has_cars';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'type']; return const ['id', 'created_at', 'updated_at', 'type'];
} }
@ -100,14 +100,14 @@ class HasCarQueryWhere extends QueryWhere {
final EnumSqlExpressionBuilder<CarType?> type; final EnumSqlExpressionBuilder<CarType?> type;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, type]; return [id, createdAt, updatedAt, type];
} }
} }
class HasCarQueryValues extends MapQueryValues { class HasCarQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -170,6 +170,7 @@ class HasCar extends _HasCar {
type: type ?? this.type); type: type ?? this.type);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _HasCar && return other is _HasCar &&
other.id == id && other.id == id &&
@ -185,7 +186,7 @@ class HasCar extends _HasCar {
@override @override
String toString() { String toString() {
return "HasCar(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, type=$type)"; return 'HasCar(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, type=$type)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -217,9 +218,9 @@ class HasCarSerializer extends Codec<HasCar, Map> {
const HasCarSerializer(); const HasCarSerializer();
@override @override
get encoder => const HasCarEncoder(); HasCarEncoder get encoder => const HasCarEncoder();
@override @override
get decoder => const HasCarDecoder(); HasCarDecoder get decoder => const HasCarDecoder();
static HasCar fromMap(Map map) { static HasCar fromMap(Map map) {
if (map['type'] == null) { if (map['type'] == null) {
throw FormatException("Missing required field 'type' on HasCar."); throw FormatException("Missing required field 'type' on HasCar.");

View file

@ -8,7 +8,7 @@ part of 'has_map.dart';
class HasMapMigration extends Migration { class HasMapMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('has_maps', (table) { schema.create('has_maps', (table) {
table.declare('value', ColumnType('jsonb')); table.declare('value', ColumnType('jsonb'));
table.declare('list', ColumnType('jsonb')); table.declare('list', ColumnType('jsonb'));
@ -16,7 +16,7 @@ class HasMapMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('has_maps'); schema.drop('has_maps');
} }
} }
@ -28,7 +28,7 @@ class HasMapMigration extends Migration {
class HasMapQuery extends Query<HasMap, HasMapQueryWhere> { class HasMapQuery extends Query<HasMap, HasMapQueryWhere> {
HasMapQuery({Query? parent, Set<String>? trampoline}) HasMapQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = HasMapQueryWhere(this); _where = HasMapQueryWhere(this);
} }
@ -39,17 +39,17 @@ class HasMapQuery extends Query<HasMap, HasMapQueryWhere> {
HasMapQueryWhere? _where; HasMapQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'has_maps'; return 'has_maps';
} }
@override @override
get fields { List<String> get fields {
return const ['value', 'list']; return const ['value', 'list'];
} }
@ -90,14 +90,14 @@ class HasMapQueryWhere extends QueryWhere {
final ListSqlExpressionBuilder list; final ListSqlExpressionBuilder list;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [value, list]; return [value, list];
} }
} }
class HasMapQueryValues extends MapQueryValues { class HasMapQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {'list': 'jsonb'}; return {'list': 'jsonb'};
} }
@ -136,6 +136,7 @@ class HasMap implements _HasMap {
return HasMap(value: value, list: list); return HasMap(value: value, list: list);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _HasMap && return other is _HasMap &&
MapEquality<dynamic, dynamic>( MapEquality<dynamic, dynamic>(
@ -183,9 +184,9 @@ class HasMapSerializer extends Codec<HasMap, Map> {
const HasMapSerializer(); const HasMapSerializer();
@override @override
get encoder => const HasMapEncoder(); HasMapEncoder get encoder => const HasMapEncoder();
@override @override
get decoder => const HasMapDecoder(); HasMapDecoder get decoder => const HasMapDecoder();
static HasMap fromMap(Map map) { static HasMap fromMap(Map map) {
return HasMap( return HasMap(
value: map['value'] is Map value: map['value'] is Map

View file

@ -8,9 +8,9 @@ part of angel3_orm_generator.test.models.leg;
class LegMigration extends Migration { class LegMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('legs', (table) { schema.create('legs', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('name'); table.varChar('name');
@ -18,16 +18,16 @@ class LegMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('legs', cascade: true); schema.drop('legs', cascade: true);
} }
} }
class FootMigration extends Migration { class FootMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('feet', (table) { schema.create('feet', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.integer('leg_id'); table.integer('leg_id');
@ -36,7 +36,7 @@ class FootMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('feet'); schema.drop('feet');
} }
} }
@ -47,7 +47,7 @@ class FootMigration extends Migration {
class LegQuery extends Query<Leg, LegQueryWhere> { class LegQuery extends Query<Leg, LegQueryWhere> {
LegQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { LegQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = LegQueryWhere(this); _where = LegQueryWhere(this);
leftJoin( leftJoin(
@ -70,17 +70,17 @@ class LegQuery extends Query<Leg, LegQueryWhere> {
FootQuery? _foot; FootQuery? _foot;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'legs'; return 'legs';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'name']; return const ['id', 'created_at', 'updated_at', 'name'];
} }
@ -138,14 +138,14 @@ class LegQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder name; final StringSqlExpressionBuilder name;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, name]; return [id, createdAt, updatedAt, name];
} }
} }
class LegQueryValues extends MapQueryValues { class LegQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -178,7 +178,7 @@ class LegQueryValues extends MapQueryValues {
class FootQuery extends Query<Foot, FootQueryWhere> { class FootQuery extends Query<Foot, FootQueryWhere> {
FootQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { FootQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = FootQueryWhere(this); _where = FootQueryWhere(this);
} }
@ -189,17 +189,17 @@ class FootQuery extends Query<Foot, FootQueryWhere> {
FootQueryWhere? _where; FootQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {'n_toes': 'text'}; return {'n_toes': 'text'};
} }
@override @override
get tableName { String get tableName {
return 'feet'; return 'feet';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'leg_id', 'n_toes']; return const ['id', 'created_at', 'updated_at', 'leg_id', 'n_toes'];
} }
@ -251,14 +251,14 @@ class FootQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<double> nToes; final NumericSqlExpressionBuilder<double> nToes;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, legId, nToes]; return [id, createdAt, updatedAt, legId, nToes];
} }
} }
class FootQueryValues extends MapQueryValues { class FootQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {'n_toes': 'decimal'}; return {'n_toes': 'decimal'};
} }
@ -335,6 +335,7 @@ class Leg extends _Leg {
name: name ?? this.name); name: name ?? this.name);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Leg && return other is _Leg &&
other.id == id && other.id == id &&
@ -351,7 +352,7 @@ class Leg extends _Leg {
@override @override
String toString() { String toString() {
return "Leg(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, foot=$foot, name=$name)"; return 'Leg(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, foot=$foot, name=$name)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -395,6 +396,7 @@ class Foot extends _Foot {
nToes: nToes ?? this.nToes); nToes: nToes ?? this.nToes);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Foot && return other is _Foot &&
other.id == id && other.id == id &&
@ -411,7 +413,7 @@ class Foot extends _Foot {
@override @override
String toString() { String toString() {
return "Foot(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, legId=$legId, nToes=$nToes)"; return 'Foot(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, legId=$legId, nToes=$nToes)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -443,9 +445,9 @@ class LegSerializer extends Codec<Leg, Map> {
const LegSerializer(); const LegSerializer();
@override @override
get encoder => const LegEncoder(); LegEncoder get encoder => const LegEncoder();
@override @override
get decoder => const LegDecoder(); LegDecoder get decoder => const LegDecoder();
static Leg fromMap(Map map) { static Leg fromMap(Map map) {
return Leg( return Leg(
id: map['id'] as String?, id: map['id'] as String?,
@ -516,9 +518,9 @@ class FootSerializer extends Codec<Foot, Map?> {
const FootSerializer(); const FootSerializer();
@override @override
get encoder => const FootEncoder(); FootEncoder get encoder => const FootEncoder();
@override @override
get decoder => const FootDecoder(); FootDecoder get decoder => const FootDecoder();
static Foot fromMap(Map map) { static Foot fromMap(Map map) {
return Foot( return Foot(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -8,9 +8,9 @@ part of angel3_orm_generator.test.models.order;
class OrderMigration extends Migration { class OrderMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('orders', (table) { schema.create('orders', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.integer('employee_id'); table.integer('employee_id');
@ -23,23 +23,23 @@ class OrderMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('orders'); schema.drop('orders');
} }
} }
class CustomerMigration extends Migration { class CustomerMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('customers', (table) { schema.create('customers', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('customers'); schema.drop('customers');
} }
} }
@ -50,7 +50,7 @@ class CustomerMigration extends Migration {
class OrderQuery extends Query<Order, OrderQueryWhere> { class OrderQuery extends Query<Order, OrderQueryWhere> {
OrderQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { OrderQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = OrderQueryWhere(this); _where = OrderQueryWhere(this);
leftJoin(_customer = CustomerQuery(trampoline: trampoline, parent: this), leftJoin(_customer = CustomerQuery(trampoline: trampoline, parent: this),
@ -67,17 +67,17 @@ class OrderQuery extends Query<Order, OrderQueryWhere> {
CustomerQuery? _customer; CustomerQuery? _customer;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'orders'; return 'orders';
} }
@override @override
get fields { List<String> get fields {
return const [ return const [
'id', 'id',
'created_at', 'created_at',
@ -154,7 +154,7 @@ class OrderQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<int> shipperId; final NumericSqlExpressionBuilder<int> shipperId;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [ return [
id, id,
createdAt, createdAt,
@ -169,7 +169,7 @@ class OrderQueryWhere extends QueryWhere {
class OrderQueryValues extends MapQueryValues { class OrderQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -223,7 +223,7 @@ class OrderQueryValues extends MapQueryValues {
class CustomerQuery extends Query<Customer, CustomerQueryWhere> { class CustomerQuery extends Query<Customer, CustomerQueryWhere> {
CustomerQuery({Query? parent, Set<String>? trampoline}) CustomerQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = CustomerQueryWhere(this); _where = CustomerQueryWhere(this);
} }
@ -234,17 +234,17 @@ class CustomerQuery extends Query<Customer, CustomerQueryWhere> {
CustomerQueryWhere? _where; CustomerQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'customers'; return 'customers';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at']; return const ['id', 'created_at', 'updated_at'];
} }
@ -288,14 +288,14 @@ class CustomerQueryWhere extends QueryWhere {
final DateTimeSqlExpressionBuilder updatedAt; final DateTimeSqlExpressionBuilder updatedAt;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt]; return [id, createdAt, updatedAt];
} }
} }
class CustomerQueryValues extends MapQueryValues { class CustomerQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -377,6 +377,7 @@ class Order extends _Order {
shipperId: shipperId ?? this.shipperId); shipperId: shipperId ?? this.shipperId);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Order && return other is _Order &&
other.id == id && other.id == id &&
@ -396,7 +397,7 @@ class Order extends _Order {
@override @override
String toString() { String toString() {
return "Order(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, customer=$customer, employeeId=$employeeId, orderDate=$orderDate, shipperId=$shipperId)"; return 'Order(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, customer=$customer, employeeId=$employeeId, orderDate=$orderDate, shipperId=$shipperId)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -427,6 +428,7 @@ class Customer extends _Customer {
updatedAt: updatedAt ?? this.updatedAt); updatedAt: updatedAt ?? this.updatedAt);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Customer && return other is _Customer &&
other.id == id && other.id == id &&
@ -441,7 +443,7 @@ class Customer extends _Customer {
@override @override
String toString() { String toString() {
return "Customer(id=$id, createdAt=$createdAt, updatedAt=$updatedAt)"; return 'Customer(id=$id, createdAt=$createdAt, updatedAt=$updatedAt)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -473,9 +475,9 @@ class OrderSerializer extends Codec<Order, Map> {
const OrderSerializer(); const OrderSerializer();
@override @override
get encoder => const OrderEncoder(); OrderEncoder get encoder => const OrderEncoder();
@override @override
get decoder => const OrderDecoder(); OrderDecoder get decoder => const OrderDecoder();
static Order fromMap(Map map) { static Order fromMap(Map map) {
return Order( return Order(
id: map['id'] as String?, id: map['id'] as String?,
@ -560,9 +562,9 @@ class CustomerSerializer extends Codec<Customer, Map?> {
const CustomerSerializer(); const CustomerSerializer();
@override @override
get encoder => const CustomerEncoder(); CustomerEncoder get encoder => const CustomerEncoder();
@override @override
get decoder => const CustomerDecoder(); CustomerDecoder get decoder => const CustomerDecoder();
static Customer fromMap(Map map) { static Customer fromMap(Map map) {
return Customer( return Customer(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -8,9 +8,9 @@ part of angel3_orm_generator.test.models.tree;
class TreeMigration extends Migration { class TreeMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('trees', (table) { schema.create('trees', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.declare('rings', ColumnType('smallint')); table.declare('rings', ColumnType('smallint'));
@ -18,16 +18,16 @@ class TreeMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('trees', cascade: true); schema.drop('trees', cascade: true);
} }
} }
class FruitMigration extends Migration { class FruitMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('fruits', (table) { schema.create('fruits', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.integer('tree_id'); table.integer('tree_id');
@ -36,7 +36,7 @@ class FruitMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('fruits'); schema.drop('fruits');
} }
} }
@ -47,7 +47,7 @@ class FruitMigration extends Migration {
class TreeQuery extends Query<Tree, TreeQueryWhere> { class TreeQuery extends Query<Tree, TreeQueryWhere> {
TreeQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { TreeQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = TreeQueryWhere(this); _where = TreeQueryWhere(this);
leftJoin(_fruits = FruitQuery(trampoline: trampoline, parent: this), 'id', leftJoin(_fruits = FruitQuery(trampoline: trampoline, parent: this), 'id',
@ -70,17 +70,17 @@ class TreeQuery extends Query<Tree, TreeQueryWhere> {
FruitQuery? _fruits; FruitQuery? _fruits;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'trees'; return 'trees';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'rings']; return const ['id', 'created_at', 'updated_at', 'rings'];
} }
@ -122,7 +122,7 @@ class TreeQuery extends Query<Tree, TreeQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<Tree>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<Tree>>([], (out, model) { return result.fold<List<Tree>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -141,7 +141,7 @@ class TreeQuery extends Query<Tree, TreeQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<Tree>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<Tree>>([], (out, model) { return result.fold<List<Tree>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -160,7 +160,7 @@ class TreeQuery extends Query<Tree, TreeQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<Tree>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<Tree>>([], (out, model) { return result.fold<List<Tree>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -195,14 +195,14 @@ class TreeQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<int> rings; final NumericSqlExpressionBuilder<int> rings;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, rings]; return [id, createdAt, updatedAt, rings];
} }
} }
class TreeQueryValues extends MapQueryValues { class TreeQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -235,7 +235,7 @@ class TreeQueryValues extends MapQueryValues {
class FruitQuery extends Query<Fruit, FruitQueryWhere> { class FruitQuery extends Query<Fruit, FruitQueryWhere> {
FruitQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { FruitQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = FruitQueryWhere(this); _where = FruitQueryWhere(this);
} }
@ -246,17 +246,17 @@ class FruitQuery extends Query<Fruit, FruitQueryWhere> {
FruitQueryWhere? _where; FruitQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'fruits'; return 'fruits';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'tree_id', 'common_name']; return const ['id', 'created_at', 'updated_at', 'tree_id', 'common_name'];
} }
@ -308,14 +308,14 @@ class FruitQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder commonName; final StringSqlExpressionBuilder commonName;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, treeId, commonName]; return [id, createdAt, updatedAt, treeId, commonName];
} }
} }
class FruitQueryValues extends MapQueryValues { class FruitQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -364,7 +364,7 @@ class Tree extends _Tree {
this.updatedAt, this.updatedAt,
this.rings, this.rings,
List<_Fruit> fruits = const []}) List<_Fruit> fruits = const []})
: this.fruits = List.unmodifiable(fruits); : fruits = List.unmodifiable(fruits);
/// A unique identifier corresponding to this item. /// A unique identifier corresponding to this item.
@override @override
@ -398,6 +398,7 @@ class Tree extends _Tree {
fruits: fruits); fruits: fruits);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Tree && return other is _Tree &&
other.id == id && other.id == id &&
@ -415,7 +416,7 @@ class Tree extends _Tree {
@override @override
String toString() { String toString() {
return "Tree(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, rings=$rings, fruits=$fruits)"; return 'Tree(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, rings=$rings, fruits=$fruits)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -460,6 +461,7 @@ class Fruit extends _Fruit {
commonName: commonName ?? this.commonName); commonName: commonName ?? this.commonName);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Fruit && return other is _Fruit &&
other.id == id && other.id == id &&
@ -476,7 +478,7 @@ class Fruit extends _Fruit {
@override @override
String toString() { String toString() {
return "Fruit(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, treeId=$treeId, commonName=$commonName)"; return 'Fruit(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, treeId=$treeId, commonName=$commonName)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -508,9 +510,9 @@ class TreeSerializer extends Codec<Tree, Map> {
const TreeSerializer(); const TreeSerializer();
@override @override
get encoder => const TreeEncoder(); TreeEncoder get encoder => const TreeEncoder();
@override @override
get decoder => const TreeDecoder(); TreeDecoder get decoder => const TreeDecoder();
static Tree fromMap(Map map) { static Tree fromMap(Map map) {
return Tree( return Tree(
id: map['id'] as String?, id: map['id'] as String?,
@ -582,9 +584,9 @@ class FruitSerializer extends Codec<Fruit, Map> {
const FruitSerializer(); const FruitSerializer();
@override @override
get encoder => const FruitEncoder(); FruitEncoder get encoder => const FruitEncoder();
@override @override
get decoder => const FruitDecoder(); FruitDecoder get decoder => const FruitDecoder();
static Fruit fromMap(Map map) { static Fruit fromMap(Map map) {
return Fruit( return Fruit(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -48,6 +48,7 @@ class _Numba implements Comparable<_Numba> {
int? parent; int? parent;
@override
int compareTo(_Numba other) => i!.compareTo(other.i!); int compareTo(_Numba other) => i!.compareTo(other.i!);
} }

View file

@ -8,23 +8,23 @@ part of 'unorthodox.dart';
class UnorthodoxMigration extends Migration { class UnorthodoxMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('unorthodoxes', (table) { schema.create('unorthodoxes', (table) {
table.varChar('name'); table.varChar('name');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('unorthodoxes'); schema.drop('unorthodoxes');
} }
} }
class WeirdJoinMigration extends Migration { class WeirdJoinMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('weird_joins', (table) { schema.create('weird_joins', (table) {
table.integer('id')..primaryKey(); table.integer('id').primaryKey();
table table
.declare('join_name', ColumnType('varchar')) .declare('join_name', ColumnType('varchar'))
.references('unorthodoxes', 'name'); .references('unorthodoxes', 'name');
@ -32,16 +32,16 @@ class WeirdJoinMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('weird_joins', cascade: true); schema.drop('weird_joins', cascade: true);
} }
} }
class SongMigration extends Migration { class SongMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('songs', (table) { schema.create('songs', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.integer('weird_join_id'); table.integer('weird_join_id');
@ -50,43 +50,43 @@ class SongMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('songs'); schema.drop('songs');
} }
} }
class NumbaMigration extends Migration { class NumbaMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('numbas', (table) { schema.create('numbas', (table) {
table.integer('i')..primaryKey(); table.integer('i').primaryKey();
table.integer('parent'); table.integer('parent');
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('numbas'); schema.drop('numbas');
} }
} }
class FooMigration extends Migration { class FooMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('foos', (table) { schema.create('foos', (table) {
table.varChar('bar')..primaryKey(); table.varChar('bar').primaryKey();
}); });
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('foos', cascade: true); schema.drop('foos', cascade: true);
} }
} }
class FooPivotMigration extends Migration { class FooPivotMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('foo_pivots', (table) { schema.create('foo_pivots', (table) {
table table
.declare('weird_join_id', ColumnType('int')) .declare('weird_join_id', ColumnType('int'))
@ -96,7 +96,7 @@ class FooPivotMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('foo_pivots'); schema.drop('foo_pivots');
} }
} }
@ -108,7 +108,7 @@ class FooPivotMigration extends Migration {
class UnorthodoxQuery extends Query<Unorthodox, UnorthodoxQueryWhere> { class UnorthodoxQuery extends Query<Unorthodox, UnorthodoxQueryWhere> {
UnorthodoxQuery({Query? parent, Set<String>? trampoline}) UnorthodoxQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = UnorthodoxQueryWhere(this); _where = UnorthodoxQueryWhere(this);
} }
@ -119,17 +119,17 @@ class UnorthodoxQuery extends Query<Unorthodox, UnorthodoxQueryWhere> {
UnorthodoxQueryWhere? _where; UnorthodoxQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'unorthodoxes'; return 'unorthodoxes';
} }
@override @override
get fields { List<String> get fields {
return const ['name']; return const ['name'];
} }
@ -164,14 +164,14 @@ class UnorthodoxQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder name; final StringSqlExpressionBuilder name;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [name]; return [name];
} }
} }
class UnorthodoxQueryValues extends MapQueryValues { class UnorthodoxQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -188,7 +188,7 @@ class UnorthodoxQueryValues extends MapQueryValues {
class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> { class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> {
WeirdJoinQuery({Query? parent, Set<String>? trampoline}) WeirdJoinQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = WeirdJoinQueryWhere(this); _where = WeirdJoinQueryWhere(this);
leftJoin( leftJoin(
@ -230,17 +230,17 @@ class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> {
NumbaQuery? _numbas; NumbaQuery? _numbas;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'weird_joins'; return 'weird_joins';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'join_name']; return const ['id', 'join_name'];
} }
@ -310,7 +310,7 @@ class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<WeirdJoin>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<WeirdJoin>>([], (out, model) { return result.fold<List<WeirdJoin>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -330,7 +330,7 @@ class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<WeirdJoin>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<WeirdJoin>>([], (out, model) { return result.fold<List<WeirdJoin>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -350,7 +350,7 @@ class WeirdJoinQuery extends Query<WeirdJoin, WeirdJoinQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<WeirdJoin>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<WeirdJoin>>([], (out, model) { return result.fold<List<WeirdJoin>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -380,14 +380,14 @@ class WeirdJoinQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder joinName; final StringSqlExpressionBuilder joinName;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, joinName]; return [id, joinName];
} }
} }
class WeirdJoinQueryValues extends MapQueryValues { class WeirdJoinQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -411,7 +411,7 @@ class WeirdJoinQueryValues extends MapQueryValues {
class SongQuery extends Query<Song, SongQueryWhere> { class SongQuery extends Query<Song, SongQueryWhere> {
SongQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { SongQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = SongQueryWhere(this); _where = SongQueryWhere(this);
} }
@ -422,17 +422,17 @@ class SongQuery extends Query<Song, SongQueryWhere> {
SongQueryWhere? _where; SongQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'songs'; return 'songs';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'weird_join_id', 'title']; return const ['id', 'created_at', 'updated_at', 'weird_join_id', 'title'];
} }
@ -484,14 +484,14 @@ class SongQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder title; final StringSqlExpressionBuilder title;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, weirdJoinId, title]; return [id, createdAt, updatedAt, weirdJoinId, title];
} }
} }
class SongQueryValues extends MapQueryValues { class SongQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -530,7 +530,7 @@ class SongQueryValues extends MapQueryValues {
class NumbaQuery extends Query<Numba, NumbaQueryWhere> { class NumbaQuery extends Query<Numba, NumbaQueryWhere> {
NumbaQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { NumbaQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = NumbaQueryWhere(this); _where = NumbaQueryWhere(this);
} }
@ -541,17 +541,17 @@ class NumbaQuery extends Query<Numba, NumbaQueryWhere> {
NumbaQueryWhere? _where; NumbaQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'numbas'; return 'numbas';
} }
@override @override
get fields { List<String> get fields {
return const ['i', 'parent']; return const ['i', 'parent'];
} }
@ -589,14 +589,14 @@ class NumbaQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<int> parent; final NumericSqlExpressionBuilder<int> parent;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [i, parent]; return [i, parent];
} }
} }
class NumbaQueryValues extends MapQueryValues { class NumbaQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -618,7 +618,7 @@ class NumbaQueryValues extends MapQueryValues {
class FooQuery extends Query<Foo, FooQueryWhere> { class FooQuery extends Query<Foo, FooQueryWhere> {
FooQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { FooQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = FooQueryWhere(this); _where = FooQueryWhere(this);
leftJoin( leftJoin(
@ -635,17 +635,17 @@ class FooQuery extends Query<Foo, FooQueryWhere> {
FooQueryWhere? _where; FooQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'foos'; return 'foos';
} }
@override @override
get fields { List<String> get fields {
return const ['bar']; return const ['bar'];
} }
@ -685,7 +685,7 @@ class FooQuery extends Query<Foo, FooQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<Foo>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<Foo>>([], (out, model) { return result.fold<List<Foo>>([], (out, model) {
var idx = out.indexWhere((m) => m.bar == model.bar); var idx = out.indexWhere((m) => m.bar == model.bar);
@ -704,7 +704,7 @@ class FooQuery extends Query<Foo, FooQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<Foo>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<Foo>>([], (out, model) { return result.fold<List<Foo>>([], (out, model) {
var idx = out.indexWhere((m) => m.bar == model.bar); var idx = out.indexWhere((m) => m.bar == model.bar);
@ -723,7 +723,7 @@ class FooQuery extends Query<Foo, FooQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<Foo>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<Foo>>([], (out, model) { return result.fold<List<Foo>>([], (out, model) {
var idx = out.indexWhere((m) => m.bar == model.bar); var idx = out.indexWhere((m) => m.bar == model.bar);
@ -749,14 +749,14 @@ class FooQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder bar; final StringSqlExpressionBuilder bar;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [bar]; return [bar];
} }
} }
class FooQueryValues extends MapQueryValues { class FooQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -773,7 +773,7 @@ class FooQueryValues extends MapQueryValues {
class FooPivotQuery extends Query<FooPivot, FooPivotQueryWhere> { class FooPivotQuery extends Query<FooPivot, FooPivotQueryWhere> {
FooPivotQuery({Query? parent, Set<String>? trampoline}) FooPivotQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = FooPivotQueryWhere(this); _where = FooPivotQueryWhere(this);
leftJoin(_weirdJoin = WeirdJoinQuery(trampoline: trampoline, parent: this), leftJoin(_weirdJoin = WeirdJoinQuery(trampoline: trampoline, parent: this),
@ -794,17 +794,17 @@ class FooPivotQuery extends Query<FooPivot, FooPivotQueryWhere> {
FooQuery? _foo; FooQuery? _foo;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'foo_pivots'; return 'foo_pivots';
} }
@override @override
get fields { List<String> get fields {
return const ['weird_join_id', 'foo_bar']; return const ['weird_join_id', 'foo_bar'];
} }
@ -862,14 +862,14 @@ class FooPivotQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder fooBar; final StringSqlExpressionBuilder fooBar;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [weirdJoinId, fooBar]; return [weirdJoinId, fooBar];
} }
} }
class FooPivotQueryValues extends MapQueryValues { class FooPivotQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -908,6 +908,7 @@ class Unorthodox implements _Unorthodox {
return Unorthodox(name: name ?? this.name); return Unorthodox(name: name ?? this.name);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Unorthodox && other.name == name; return other is _Unorthodox && other.name == name;
} }
@ -919,7 +920,7 @@ class Unorthodox implements _Unorthodox {
@override @override
String toString() { String toString() {
return "Unorthodox(name=$name)"; return 'Unorthodox(name=$name)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -961,6 +962,7 @@ class WeirdJoin implements _WeirdJoin {
foos: foos ?? this.foos); foos: foos ?? this.foos);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _WeirdJoin && return other is _WeirdJoin &&
other.id == id && other.id == id &&
@ -978,7 +980,7 @@ class WeirdJoin implements _WeirdJoin {
@override @override
String toString() { String toString() {
return "WeirdJoin(id=$id, unorthodox=$unorthodox, song=$song, numbas=$numbas, foos=$foos)"; return 'WeirdJoin(id=$id, unorthodox=$unorthodox, song=$song, numbas=$numbas, foos=$foos)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -1022,6 +1024,7 @@ class Song extends _Song {
title: title ?? this.title); title: title ?? this.title);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Song && return other is _Song &&
other.id == id && other.id == id &&
@ -1038,7 +1041,7 @@ class Song extends _Song {
@override @override
String toString() { String toString() {
return "Song(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, weirdJoinId=$weirdJoinId, title=$title)"; return 'Song(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, weirdJoinId=$weirdJoinId, title=$title)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -1060,6 +1063,7 @@ class Numba extends _Numba {
return Numba(i: i ?? this.i, parent: parent ?? this.parent); return Numba(i: i ?? this.i, parent: parent ?? this.parent);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Numba && other.i == i && other.parent == parent; return other is _Numba && other.i == i && other.parent == parent;
} }
@ -1071,7 +1075,7 @@ class Numba extends _Numba {
@override @override
String toString() { String toString() {
return "Numba(i=$i, parent=$parent)"; return 'Numba(i=$i, parent=$parent)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -1093,6 +1097,7 @@ class Foo implements _Foo {
return Foo(bar: bar ?? this.bar, weirdJoins: weirdJoins ?? this.weirdJoins); return Foo(bar: bar ?? this.bar, weirdJoins: weirdJoins ?? this.weirdJoins);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Foo && return other is _Foo &&
other.bar == bar && other.bar == bar &&
@ -1107,7 +1112,7 @@ class Foo implements _Foo {
@override @override
String toString() { String toString() {
return "Foo(bar=$bar, weirdJoins=$weirdJoins)"; return 'Foo(bar=$bar, weirdJoins=$weirdJoins)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -1130,6 +1135,7 @@ class FooPivot implements _FooPivot {
weirdJoin: weirdJoin ?? this.weirdJoin, foo: foo ?? this.foo); weirdJoin: weirdJoin ?? this.weirdJoin, foo: foo ?? this.foo);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _FooPivot && return other is _FooPivot &&
other.weirdJoin == weirdJoin && other.weirdJoin == weirdJoin &&
@ -1143,7 +1149,7 @@ class FooPivot implements _FooPivot {
@override @override
String toString() { String toString() {
return "FooPivot(weirdJoin=$weirdJoin, foo=$foo)"; return 'FooPivot(weirdJoin=$weirdJoin, foo=$foo)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -1175,9 +1181,9 @@ class UnorthodoxSerializer extends Codec<Unorthodox, Map?> {
const UnorthodoxSerializer(); const UnorthodoxSerializer();
@override @override
get encoder => const UnorthodoxEncoder(); UnorthodoxEncoder get encoder => const UnorthodoxEncoder();
@override @override
get decoder => const UnorthodoxDecoder(); UnorthodoxDecoder get decoder => const UnorthodoxDecoder();
static Unorthodox fromMap(Map map) { static Unorthodox fromMap(Map map) {
return Unorthodox(name: map['name'] as String?); return Unorthodox(name: map['name'] as String?);
} }
@ -1216,9 +1222,9 @@ class WeirdJoinSerializer extends Codec<WeirdJoin, Map?> {
const WeirdJoinSerializer(); const WeirdJoinSerializer();
@override @override
get encoder => const WeirdJoinEncoder(); WeirdJoinEncoder get encoder => const WeirdJoinEncoder();
@override @override
get decoder => const WeirdJoinDecoder(); WeirdJoinDecoder get decoder => const WeirdJoinDecoder();
static WeirdJoin fromMap(Map map) { static WeirdJoin fromMap(Map map) {
return WeirdJoin( return WeirdJoin(
id: map['id'] as int?, id: map['id'] as int?,
@ -1292,9 +1298,9 @@ class SongSerializer extends Codec<Song, Map?> {
const SongSerializer(); const SongSerializer();
@override @override
get encoder => const SongEncoder(); SongEncoder get encoder => const SongEncoder();
@override @override
get decoder => const SongDecoder(); SongDecoder get decoder => const SongDecoder();
static Song fromMap(Map map) { static Song fromMap(Map map) {
return Song( return Song(
id: map['id'] as String?, id: map['id'] as String?,
@ -1366,9 +1372,9 @@ class NumbaSerializer extends Codec<Numba, Map?> {
const NumbaSerializer(); const NumbaSerializer();
@override @override
get encoder => const NumbaEncoder(); NumbaEncoder get encoder => const NumbaEncoder();
@override @override
get decoder => const NumbaDecoder(); NumbaDecoder get decoder => const NumbaDecoder();
static Numba fromMap(Map map) { static Numba fromMap(Map map) {
return Numba(i: map['i'] as int?, parent: map['parent'] as int?); return Numba(i: map['i'] as int?, parent: map['parent'] as int?);
} }
@ -1409,9 +1415,9 @@ class FooSerializer extends Codec<Foo, Map?> {
const FooSerializer(); const FooSerializer();
@override @override
get encoder => const FooEncoder(); FooEncoder get encoder => const FooEncoder();
@override @override
get decoder => const FooDecoder(); FooDecoder get decoder => const FooDecoder();
static Foo fromMap(Map map) { static Foo fromMap(Map map) {
return Foo( return Foo(
bar: map['bar'] as String?, bar: map['bar'] as String?,
@ -1462,9 +1468,9 @@ class FooPivotSerializer extends Codec<FooPivot, Map> {
const FooPivotSerializer(); const FooPivotSerializer();
@override @override
get encoder => const FooPivotEncoder(); FooPivotEncoder get encoder => const FooPivotEncoder();
@override @override
get decoder => const FooPivotDecoder(); FooPivotDecoder get decoder => const FooPivotDecoder();
static FooPivot fromMap(Map map) { static FooPivot fromMap(Map map) {
return FooPivot( return FooPivot(
weirdJoin: map['weird_join'] != null weirdJoin: map['weird_join'] != null

View file

@ -8,9 +8,9 @@ part of angel3_orm_generator.test.models.user;
class UserMigration extends Migration { class UserMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('users', (table) { schema.create('users', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('username'); table.varChar('username');
@ -20,14 +20,14 @@ class UserMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('users', cascade: true); schema.drop('users', cascade: true);
} }
} }
class RoleUserMigration extends Migration { class RoleUserMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('role_users', (table) { schema.create('role_users', (table) {
table.declare('role_id', ColumnType('serial')).references('roles', 'id'); table.declare('role_id', ColumnType('serial')).references('roles', 'id');
table.declare('user_id', ColumnType('serial')).references('users', 'id'); table.declare('user_id', ColumnType('serial')).references('users', 'id');
@ -35,16 +35,16 @@ class RoleUserMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('role_users'); schema.drop('role_users');
} }
} }
class RoleMigration extends Migration { class RoleMigration extends Migration {
@override @override
up(Schema schema) { void up(Schema schema) {
schema.create('roles', (table) { schema.create('roles', (table) {
table.serial('id')..primaryKey(); table.serial('id').primaryKey();
table.timeStamp('created_at'); table.timeStamp('created_at');
table.timeStamp('updated_at'); table.timeStamp('updated_at');
table.varChar('name'); table.varChar('name');
@ -52,7 +52,7 @@ class RoleMigration extends Migration {
} }
@override @override
down(Schema schema) { void down(Schema schema) {
schema.drop('roles', cascade: true); schema.drop('roles', cascade: true);
} }
} }
@ -63,7 +63,7 @@ class RoleMigration extends Migration {
class UserQuery extends Query<User, UserQueryWhere> { class UserQuery extends Query<User, UserQueryWhere> {
UserQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { UserQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = UserQueryWhere(this); _where = UserQueryWhere(this);
leftJoin( leftJoin(
@ -80,17 +80,17 @@ class UserQuery extends Query<User, UserQueryWhere> {
UserQueryWhere? _where; UserQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'users'; return 'users';
} }
@override @override
get fields { List<String> get fields {
return const [ return const [
'id', 'id',
'created_at', 'created_at',
@ -143,7 +143,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<User>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -161,7 +161,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<User>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -179,7 +179,7 @@ class UserQuery extends Query<User, UserQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<User>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<User>>([], (out, model) { return result.fold<List<User>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -219,14 +219,14 @@ class UserQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder email; final StringSqlExpressionBuilder email;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, username, password, email]; return [id, createdAt, updatedAt, username, password, email];
} }
} }
class UserQueryValues extends MapQueryValues { class UserQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -272,7 +272,7 @@ class UserQueryValues extends MapQueryValues {
class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> { class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> {
RoleUserQuery({Query? parent, Set<String>? trampoline}) RoleUserQuery({Query? parent, Set<String>? trampoline})
: super(parent: parent) { : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = RoleUserQueryWhere(this); _where = RoleUserQueryWhere(this);
leftJoin(_role = RoleQuery(trampoline: trampoline, parent: this), 'role_id', leftJoin(_role = RoleQuery(trampoline: trampoline, parent: this), 'role_id',
@ -302,17 +302,17 @@ class RoleUserQuery extends Query<RoleUser, RoleUserQueryWhere> {
UserQuery? _user; UserQuery? _user;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'role_users'; return 'role_users';
} }
@override @override
get fields { List<String> get fields {
return const ['role_id', 'user_id']; return const ['role_id', 'user_id'];
} }
@ -370,14 +370,14 @@ class RoleUserQueryWhere extends QueryWhere {
final NumericSqlExpressionBuilder<int> userId; final NumericSqlExpressionBuilder<int> userId;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [roleId, userId]; return [roleId, userId];
} }
} }
class RoleUserQueryValues extends MapQueryValues { class RoleUserQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -403,7 +403,7 @@ class RoleUserQueryValues extends MapQueryValues {
class RoleQuery extends Query<Role, RoleQueryWhere> { class RoleQuery extends Query<Role, RoleQueryWhere> {
RoleQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) { RoleQuery({Query? parent, Set<String>? trampoline}) : super(parent: parent) {
trampoline ??= Set(); trampoline ??= <String>{};
trampoline.add(tableName); trampoline.add(tableName);
_where = RoleQueryWhere(this); _where = RoleQueryWhere(this);
leftJoin( leftJoin(
@ -427,17 +427,17 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
RoleQueryWhere? _where; RoleQueryWhere? _where;
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@override @override
get tableName { String get tableName {
return 'roles'; return 'roles';
} }
@override @override
get fields { List<String> get fields {
return const ['id', 'created_at', 'updated_at', 'name']; return const ['id', 'created_at', 'updated_at', 'name'];
} }
@ -481,7 +481,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
get(QueryExecutor executor) { Future<List<Role>> get(QueryExecutor executor) {
return super.get(executor).then((result) { return super.get(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -499,7 +499,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
update(QueryExecutor executor) { Future<List<Role>> update(QueryExecutor executor) {
return super.update(executor).then((result) { return super.update(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -517,7 +517,7 @@ class RoleQuery extends Query<Role, RoleQueryWhere> {
} }
@override @override
delete(QueryExecutor executor) { Future<List<Role>> delete(QueryExecutor executor) {
return super.delete(executor).then((result) { return super.delete(executor).then((result) {
return result.fold<List<Role>>([], (out, model) { return result.fold<List<Role>>([], (out, model) {
var idx = out.indexWhere((m) => m.id == model.id); var idx = out.indexWhere((m) => m.id == model.id);
@ -551,14 +551,14 @@ class RoleQueryWhere extends QueryWhere {
final StringSqlExpressionBuilder name; final StringSqlExpressionBuilder name;
@override @override
get expressionBuilders { List<SqlExpressionBuilder> get expressionBuilders {
return [id, createdAt, updatedAt, name]; return [id, createdAt, updatedAt, name];
} }
} }
class RoleQueryValues extends MapQueryValues { class RoleQueryValues extends MapQueryValues {
@override @override
get casts { Map<String, String> get casts {
return {}; return {};
} }
@ -603,7 +603,7 @@ class User extends _User {
this.password, this.password,
this.email, this.email,
List<_Role> roles = const []}) List<_Role> roles = const []})
: this.roles = List.unmodifiable(roles); : roles = List.unmodifiable(roles);
/// A unique identifier corresponding to this item. /// A unique identifier corresponding to this item.
@override @override
@ -647,6 +647,7 @@ class User extends _User {
roles: roles); roles: roles);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _User && return other is _User &&
other.id == id && other.id == id &&
@ -667,7 +668,7 @@ class User extends _User {
@override @override
String toString() { String toString() {
return "User(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, username=$username, password=$password, email=$email, roles=$roles)"; return 'User(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, username=$username, password=$password, email=$email, roles=$roles)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -689,6 +690,7 @@ class RoleUser implements _RoleUser {
return RoleUser(role: role ?? this.role, user: user ?? this.user); return RoleUser(role: role ?? this.role, user: user ?? this.user);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _RoleUser && other.role == role && other.user == user; return other is _RoleUser && other.role == role && other.user == user;
} }
@ -700,7 +702,7 @@ class RoleUser implements _RoleUser {
@override @override
String toString() { String toString() {
return "RoleUser(role=$role, user=$user)"; return 'RoleUser(role=$role, user=$user)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -712,7 +714,7 @@ class RoleUser implements _RoleUser {
class Role extends _Role { class Role extends _Role {
Role( Role(
{this.id, this.createdAt, this.updatedAt, this.name, List<_User?>? users}) {this.id, this.createdAt, this.updatedAt, this.name, List<_User?>? users})
: this.users = List.unmodifiable(users ?? []); : users = List.unmodifiable(users ?? []);
/// A unique identifier corresponding to this item. /// A unique identifier corresponding to this item.
@override @override
@ -746,6 +748,7 @@ class Role extends _Role {
users: users ?? this.users); users: users ?? this.users);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Role && return other is _Role &&
other.id == id && other.id == id &&
@ -763,7 +766,7 @@ class Role extends _Role {
@override @override
String toString() { String toString() {
return "Role(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, name=$name, users=$users)"; return 'Role(id=$id, createdAt=$createdAt, updatedAt=$updatedAt, name=$name, users=$users)';
} }
Map<String, dynamic>? toJson() { Map<String, dynamic>? toJson() {
@ -795,9 +798,9 @@ class UserSerializer extends Codec<User, Map?> {
const UserSerializer(); const UserSerializer();
@override @override
get encoder => const UserEncoder(); UserEncoder get encoder => const UserEncoder();
@override @override
get decoder => const UserDecoder(); UserDecoder get decoder => const UserDecoder();
static User fromMap(Map map) { static User fromMap(Map map) {
return User( return User(
id: map['id'] as String?, id: map['id'] as String?,
@ -882,9 +885,9 @@ class RoleUserSerializer extends Codec<RoleUser, Map> {
const RoleUserSerializer(); const RoleUserSerializer();
@override @override
get encoder => const RoleUserEncoder(); RoleUserEncoder get encoder => const RoleUserEncoder();
@override @override
get decoder => const RoleUserDecoder(); RoleUserDecoder get decoder => const RoleUserDecoder();
static RoleUser fromMap(Map map) { static RoleUser fromMap(Map map) {
return RoleUser( return RoleUser(
role: map['role'] != null role: map['role'] != null
@ -931,9 +934,9 @@ class RoleSerializer extends Codec<Role, Map?> {
const RoleSerializer(); const RoleSerializer();
@override @override
get encoder => const RoleEncoder(); RoleEncoder get encoder => const RoleEncoder();
@override @override
get decoder => const RoleDecoder(); RoleDecoder get decoder => const RoleDecoder();
static Role fromMap(Map map) { static Role fromMap(Map map) {
return Role( return Role(
id: map['id'] as String?, id: map['id'] as String?,

View file

@ -5,7 +5,7 @@ import 'models/car.dart';
final DateTime y2k = DateTime.utc(2000, 1, 1); final DateTime y2k = DateTime.utc(2000, 1, 1);
standaloneTests(FutureOr<QueryExecutor> Function() createExecutor, void standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
{FutureOr<void> Function(QueryExecutor)? close}) { {FutureOr<void> Function(QueryExecutor)? close}) {
close ??= (_) => null; close ??= (_) => null;
test('to where', () { test('to where', () {
@ -52,7 +52,7 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
group('selects', () { group('selects', () {
test('select all', () async { test('select all', () async {
List<Car> cars = await CarQuery().get(executor); var cars = await CarQuery().get(executor);
expect(cars, []); expect(cars, []);
}); });
@ -70,7 +70,7 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
test('where clause is applied', () async { test('where clause is applied', () async {
var query = CarQuery()..where!.familyFriendly.isTrue; var query = CarQuery()..where!.familyFriendly.isTrue;
List<Car> cars = await query.get(executor); var cars = await query.get(executor);
expect(cars, isEmpty); expect(cars, isEmpty);
var sportsCars = CarQuery()..where!.familyFriendly.isFalse; var sportsCars = CarQuery()..where!.familyFriendly.isFalse;
@ -88,8 +88,8 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
var query1 = CarQuery()..where?.make.like('%Fer%'); var query1 = CarQuery()..where?.make.like('%Fer%');
var query2 = CarQuery()..where?.familyFriendly.isTrue; var query2 = CarQuery()..where?.familyFriendly.isTrue;
var query3 = CarQuery()..where?.description.equals('Submarine'); var query3 = CarQuery()..where?.description.equals('Submarine');
Union<Car> union = query1.union(query2).unionAll(query3); var union = query1.union(query2).unionAll(query3);
print(union.compile(Set())); print(union.compile({}));
var cars = await union.get(executor); var cars = await union.get(executor);
expect(cars, hasLength(1)); expect(cars, hasLength(1));
}); });
@ -100,15 +100,15 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
..orWhere((where) => where ..orWhere((where) => where
..familyFriendly.isTrue ..familyFriendly.isTrue
..make.equals('Honda')); ..make.equals('Honda'));
print(query.compile(Set())); print(query.compile({}));
List<Car> cars = await query.get(executor); var cars = await query.get(executor);
expect(cars, hasLength(1)); expect(cars, hasLength(1));
}); });
test('limit obeyed', () async { test('limit obeyed', () async {
var query = CarQuery()..limit(0); var query = CarQuery()..limit(0);
print(query.compile(Set())); print(query.compile({}));
List<Car> cars = await query.get(executor); var cars = await query.get(executor);
expect(cars, isEmpty); expect(cars, isEmpty);
}); });
@ -132,7 +132,7 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
expect(car.toJson(), ferrari!.toJson()); expect(car.toJson(), ferrari!.toJson());
}); });
List<Car> cars = await CarQuery().get(executor); var cars = await CarQuery().get(executor);
expect(cars, isEmpty); expect(cars, isEmpty);
}); });
@ -140,9 +140,9 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
var query = CarQuery() var query = CarQuery()
..where!.make.equals('Ferrari東') ..where!.make.equals('Ferrari東')
..orWhere((w) => w.familyFriendly.isTrue); ..orWhere((w) => w.familyFriendly.isTrue);
print(query.compile(Set(), preamble: 'DELETE FROM "cars"')); print(query.compile({}, preamble: 'DELETE FROM "cars"'));
List<Car> cars = await query.delete(executor); var cars = await query.delete(executor);
expect(cars, hasLength(1)); expect(cars, hasLength(1));
expect(cars.first.toJson(), ferrari!.toJson()); expect(cars.first.toJson(), ferrari!.toJson());
}); });
@ -151,7 +151,7 @@ standaloneTests(FutureOr<QueryExecutor> Function() createExecutor,
var query = CarQuery() var query = CarQuery()
..where!.id.equals(int.parse(ferrari!.id!)) ..where!.id.equals(int.parse(ferrari!.id!))
..values.make = 'Hyundai'; ..values.make = 'Hyundai';
List<Car> cars = await query.update(executor); var cars = await query.update(executor);
expect(cars, hasLength(1)); expect(cars, hasLength(1));
expect(cars.first.make, 'Hyundai'); expect(cars.first.make, 'Hyundai');
}); });

View file

@ -3,10 +3,10 @@ import 'package:io/ansi.dart';
void printSeparator(String title) { void printSeparator(String title) {
var b = StringBuffer('===' + title.toUpperCase()); var b = StringBuffer('===' + title.toUpperCase());
for (int i = b.length; i < stdout.terminalColumns - 3; i++) { for (var i = b.length; i < stdout.terminalColumns - 3; i++) {
b.write('='); b.write('=');
} }
for (int i = 0; i < 3; i++) { for (var i = 0; i < 3; i++) {
print(magenta.wrap(b.toString())); print(magenta.wrap(b.toString()));
} }
} }

View file

@ -56,7 +56,7 @@ HookedServiceEventListener belongsTo(Pattern servicePath,
'query': {foreignKey ?? 'id': id} 'query': {foreignKey ?? 'id': id}
}); });
if (indexed == null || indexed is! List || indexed.isNotEmpty != true) { if (indexed is! List || indexed.isNotEmpty != true) {
await _assignForeignObject(null, obj); await _assignForeignObject(null, obj);
} else { } else {
var child = indexed.first; var child = indexed.first;

View file

@ -56,7 +56,7 @@ HookedServiceEventListener belongsToMany(Pattern servicePath,
'query': {foreignKey ?? 'id': id} 'query': {foreignKey ?? 'id': id}
}); });
if (indexed == null || indexed is! List || indexed.isNotEmpty != true) { if (indexed is! List || indexed.isNotEmpty != true) {
await _assignForeignObject(null, obj); await _assignForeignObject(null, obj);
} else { } else {
var child = indexed is Iterable ? indexed.toList() : [indexed]; var child = indexed is Iterable ? indexed.toList() : [indexed];

View file

@ -1,5 +1,4 @@
import 'package:angel_framework/angel_framework.dart'; import 'package:angel_framework/angel_framework.dart';
import 'package:angel_relations/angel_relations.dart' as relations;
import 'package:angel_seeder/angel_seeder.dart'; import 'package:angel_seeder/angel_seeder.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'common.dart'; import 'common.dart';

View file

@ -11,7 +11,7 @@ class CustomMapService extends Service {
var r = items; var r = items;
if (params != null && params['query'] is Map) { if (params['query'] is Map) {
var query = params['query'] as Map; var query = params['query'] as Map;
for (var key in query.keys) { for (var key in query.keys) {
@ -28,7 +28,7 @@ class CustomMapService extends Service {
@override @override
Future<Map> read(id, [Map? params]) async { Future<Map> read(id, [Map? params]) async {
return tailor(_items, params).firstWhere((m) => m['id'] == id, return tailor(_items, params).firstWhere((m) => m['id'] == id,
orElse: (() => throw AngelHttpException.notFound()) as Map<dynamic, dynamic> Function()?); orElse: (() => throw AngelHttpException.notFound()));
} }
@override @override

View file

@ -1,5 +1,4 @@
import 'package:angel_framework/angel_framework.dart'; import 'package:angel_framework/angel_framework.dart';
import 'package:angel_relations/angel_relations.dart' as relations;
import 'package:angel_seeder/angel_seeder.dart'; import 'package:angel_seeder/angel_seeder.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'common.dart'; import 'common.dart';
@ -36,7 +35,7 @@ void main() {
expect(authors, allOf(isList, isNotEmpty)); expect(authors, allOf(isList, isNotEmpty));
for (Map author in authors.whereType<Map>()) { for (var author in authors.whereType<Map>()) {
expect(author.keys, contains('book')); expect(author.keys, contains('book'));
var book = author['book'] as Map; var book = author['book'] as Map;

View file

@ -1,9 +1,9 @@
import 'dart:io'; import 'dart:io';
import 'package:rethinkdb_dart/rethinkdb_dart.dart'; import 'package:rethinkdb_dart/rethinkdb_dart.dart';
main() async { void main() async {
var r = new Rethinkdb(); var r = Rethinkdb();
r.connect().then((conn) { await r.connect().then((conn) {
r.tableCreate('todos').run(conn); r.tableCreate('todos').run(conn);
print('Done'); print('Done');
exit(0); exit(0);

View file

@ -2,7 +2,7 @@ class Todo {
String title; String title;
bool completed; bool completed;
Todo({this.title, this.completed: false}); Todo({this.title, this.completed = false});
Map toJson() { Map toJson() {
return {'title': title, 'completed': completed == true}; return {'title': title, 'completed': completed == true};

View file

@ -7,7 +7,7 @@ import 'package:rethinkdb_dart/rethinkdb_dart.dart';
import 'package:test/test.dart'; import 'package:test/test.dart';
import 'common.dart'; import 'common.dart';
main() { void main() {
Angel app; Angel app;
TestClient client; TestClient client;
Rethinkdb r; Rethinkdb r;

View file

@ -23,7 +23,7 @@ abstract class BrowserRouter<T> extends Router<T> {
: _PushStateRouter<T>(listen: listen); : _PushStateRouter<T>(listen: listen);
} }
BrowserRouter._() : super(); //BrowserRouter._() : super();
void _goTo(String path); void _goTo(String path);

View file

@ -31,7 +31,7 @@ class MiddlewarePipeline<T> {
} }
MiddlewarePipeline(Iterable<RoutingResult<T>> routingResults) MiddlewarePipeline(Iterable<RoutingResult<T>> routingResults)
: this.routingResults = routingResults.toList(); : routingResults = routingResults.toList();
} }
/// Iterates through a [MiddlewarePipeline]. /// Iterates through a [MiddlewarePipeline].

View file

@ -182,7 +182,7 @@ void main() {
}); });
group('404', () { group('404', () {
expect404(r) => r.then((res) { dynamic expect404(r) => r.then((res) {
print('Response (${res.statusCode}): ${res.body}'); print('Response (${res.statusCode}): ${res.body}');
expect(res.statusCode, equals(404)); expect(res.statusCode, equals(404));
}); });

View file

@ -23,9 +23,7 @@ class ServiceRateLimiter<Id> extends RateLimiter<Id> {
var id = await getId(req, res); var id = await getId(req, res);
try { try {
var data = await service.read(id); var data = await service.read(id);
if (data != null) { return RateLimitingWindow.fromJson(data);
return RateLimitingWindow.fromJson(data);
}
} catch (e) { } catch (e) {
if (e is AngelHttpException) { if (e is AngelHttpException) {
if (e.statusCode == 404) { if (e.statusCode == 404) {

View file

@ -55,7 +55,7 @@ class Todo extends Model {
final String? text; final String? text;
final bool? completed; final bool? completed;
Todo({String? id, this.text, this.completed: false}) { Todo({String? id, this.text, this.completed = false}) {
this.id = id; this.id = id;
} }

View file

@ -3,7 +3,6 @@ library angel_serialize.test.models.book;
import 'package:angel3_model/angel3_model.dart'; import 'package:angel3_model/angel3_model.dart';
import 'package:angel3_serialize/angel3_serialize.dart'; import 'package:angel3_serialize/angel3_serialize.dart';
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'package:meta/meta.dart';
part 'book.g.dart'; part 'book.g.dart';
@Serializable( @Serializable(

View file

@ -20,7 +20,7 @@ class Book extends _Book {
this.pageCount, this.pageCount,
List<double>? notModels, List<double>? notModels,
this.camelCaseString}) this.camelCaseString})
: this.notModels = List.unmodifiable(notModels ?? []); : notModels = List.unmodifiable(notModels ?? []);
/// A unique identifier corresponding to this item. /// A unique identifier corresponding to this item.
@override @override
@ -75,6 +75,7 @@ class Book extends _Book {
camelCaseString: camelCaseString ?? this.camelCaseString); camelCaseString: camelCaseString ?? this.camelCaseString);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Book && return other is _Book &&
other.id == id && other.id == id &&
@ -126,7 +127,7 @@ class Author extends _Author {
this.newestBook, this.newestBook,
this.secret, this.secret,
this.obscured}) this.obscured})
: this.books = List.unmodifiable(books ?? []); : books = List.unmodifiable(books ?? []);
/// A unique identifier corresponding to this item. /// A unique identifier corresponding to this item.
@override @override
@ -181,6 +182,7 @@ class Author extends _Author {
obscured: obscured ?? this.obscured); obscured: obscured ?? this.obscured);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Author && return other is _Author &&
other.id == id && other.id == id &&
@ -253,6 +255,7 @@ class Library extends _Library {
collection: collection ?? this.collection); collection: collection ?? this.collection);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Library && return other is _Library &&
other.id == id && other.id == id &&
@ -328,6 +331,7 @@ class Bookmark extends _Bookmark {
comment: comment ?? this.comment); comment: comment ?? this.comment);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Bookmark && return other is _Bookmark &&
other.id == id && other.id == id &&

View file

@ -21,6 +21,7 @@ class GamepadButton implements _GamepadButton {
name: name ?? this.name, radius: radius ?? this.radius); name: name ?? this.name, radius: radius ?? this.radius);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _GamepadButton && return other is _GamepadButton &&
other.name == name && other.name == name &&
@ -34,7 +35,7 @@ class GamepadButton implements _GamepadButton {
@override @override
String toString() { String toString() {
return "GamepadButton(name=$name, radius=$radius)"; return 'GamepadButton(name=$name, radius=$radius)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -45,8 +46,8 @@ class GamepadButton implements _GamepadButton {
@generatedSerializable @generatedSerializable
class Gamepad extends _Gamepad { class Gamepad extends _Gamepad {
Gamepad({List<_GamepadButton>? buttons, Map<String, dynamic>? dynamicMap}) Gamepad({List<_GamepadButton>? buttons, Map<String, dynamic>? dynamicMap})
: this.buttons = List.unmodifiable(buttons ?? []), : buttons = List.unmodifiable(buttons ?? []),
this.dynamicMap = Map.unmodifiable(dynamicMap ?? {}); dynamicMap = Map.unmodifiable(dynamicMap ?? {});
@override @override
List<_GamepadButton>? buttons; List<_GamepadButton>? buttons;
@ -61,6 +62,7 @@ class Gamepad extends _Gamepad {
dynamicMap: dynamicMap ?? this.dynamicMap); dynamicMap: dynamicMap ?? this.dynamicMap);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Gamepad && return other is _Gamepad &&
ListEquality<_GamepadButton>(DefaultEquality<_GamepadButton>()) ListEquality<_GamepadButton>(DefaultEquality<_GamepadButton>())
@ -77,7 +79,7 @@ class Gamepad extends _Gamepad {
@override @override
String toString() { String toString() {
return "Gamepad(buttons=$buttons, dynamicMap=$dynamicMap)"; return 'Gamepad(buttons=$buttons, dynamicMap=$dynamicMap)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -110,9 +112,9 @@ class GamepadButtonSerializer extends Codec<GamepadButton, Map> {
const GamepadButtonSerializer(); const GamepadButtonSerializer();
@override @override
get encoder => const GamepadButtonEncoder(); GamepadButtonEncoder get encoder => const GamepadButtonEncoder();
@override @override
get decoder => const GamepadButtonDecoder(); GamepadButtonDecoder get decoder => const GamepadButtonDecoder();
static GamepadButton fromMap(Map map) { static GamepadButton fromMap(Map map) {
return GamepadButton( return GamepadButton(
name: map['name'] as String?, radius: map['radius'] as int?); name: map['name'] as String?, radius: map['radius'] as int?);
@ -151,9 +153,9 @@ class GamepadSerializer extends Codec<Gamepad, Map> {
const GamepadSerializer(); const GamepadSerializer();
@override @override
get encoder => const GamepadEncoder(); GamepadEncoder get encoder => const GamepadEncoder();
@override @override
get decoder => const GamepadDecoder(); GamepadDecoder get decoder => const GamepadDecoder();
static Gamepad fromMap(Map map) { static Gamepad fromMap(Map map) {
return Gamepad( return Gamepad(
buttons: map['buttons'] is Iterable buttons: map['buttons'] is Iterable

View file

@ -20,6 +20,7 @@ class Goat implements _Goat {
return Goat(integer: integer ?? this.integer, list: list ?? this.list); return Goat(integer: integer ?? this.integer, list: list ?? this.list);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Goat && return other is _Goat &&
other.integer == integer && other.integer == integer &&
@ -33,7 +34,7 @@ class Goat implements _Goat {
@override @override
String toString() { String toString() {
return "Goat(integer=$integer, list=$list)"; return 'Goat(integer=$integer, list=$list)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -65,9 +66,9 @@ class GoatSerializer extends Codec<Goat, Map> {
const GoatSerializer(); const GoatSerializer();
@override @override
get encoder => const GoatEncoder(); GoatEncoder get encoder => const GoatEncoder();
@override @override
get decoder => const GoatDecoder(); GoatDecoder get decoder => const GoatDecoder();
static Goat fromMap(Map map) { static Goat fromMap(Map map) {
return Goat( return Goat(
integer: map['integer'] as int? ?? 34, integer: map['integer'] as int? ?? 34,

View file

@ -17,6 +17,7 @@ class HasMap implements _HasMap {
return HasMap(value: value ?? this.value); return HasMap(value: value ?? this.value);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _HasMap && return other is _HasMap &&
MapEquality<dynamic, dynamic>( MapEquality<dynamic, dynamic>(
@ -31,7 +32,7 @@ class HasMap implements _HasMap {
@override @override
String toString() { String toString() {
return "HasMap(value=$value)"; return 'HasMap(value=$value)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -63,9 +64,9 @@ class HasMapSerializer extends Codec<HasMap, Map> {
const HasMapSerializer(); const HasMapSerializer();
@override @override
get encoder => const HasMapEncoder(); HasMapEncoder get encoder => const HasMapEncoder();
@override @override
get decoder => const HasMapDecoder(); HasMapDecoder get decoder => const HasMapDecoder();
static HasMap fromMap(Map map) { static HasMap fromMap(Map map) {
if (map['value'] == null) { if (map['value'] == null) {
throw FormatException("Missing required field 'value' on HasMap."); throw FormatException("Missing required field 'value' on HasMap.");

View file

@ -20,6 +20,7 @@ class Animal extends _Animal {
return Animal(genus: genus ?? this.genus, species: species ?? this.species); return Animal(genus: genus ?? this.genus, species: species ?? this.species);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Animal && other.genus == genus && other.species == species; return other is _Animal && other.genus == genus && other.species == species;
} }
@ -31,7 +32,7 @@ class Animal extends _Animal {
@override @override
String toString() { String toString() {
return "Animal(genus=$genus, species=$species)"; return 'Animal(genus=$genus, species=$species)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -59,6 +60,7 @@ class Bird extends _Bird {
isSparrow: isSparrow ?? this.isSparrow); isSparrow: isSparrow ?? this.isSparrow);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _Bird && return other is _Bird &&
other.genus == genus && other.genus == genus &&
@ -73,7 +75,7 @@ class Bird extends _Bird {
@override @override
String toString() { String toString() {
return "Bird(genus=$genus, species=$species, isSparrow=$isSparrow)"; return 'Bird(genus=$genus, species=$species, isSparrow=$isSparrow)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -105,9 +107,9 @@ class AnimalSerializer extends Codec<Animal, Map> {
const AnimalSerializer(); const AnimalSerializer();
@override @override
get encoder => const AnimalEncoder(); AnimalEncoder get encoder => const AnimalEncoder();
@override @override
get decoder => const AnimalDecoder(); AnimalDecoder get decoder => const AnimalDecoder();
static Animal fromMap(Map map) { static Animal fromMap(Map map) {
if (map['genus'] == null) { if (map['genus'] == null) {
throw FormatException("Missing required field 'genus' on Animal."); throw FormatException("Missing required field 'genus' on Animal.");
@ -162,9 +164,9 @@ class BirdSerializer extends Codec<Bird, Map> {
const BirdSerializer(); const BirdSerializer();
@override @override
get encoder => const BirdEncoder(); BirdEncoder get encoder => const BirdEncoder();
@override @override
get decoder => const BirdDecoder(); BirdDecoder get decoder => const BirdDecoder();
static Bird fromMap(Map map) { static Bird fromMap(Map map) {
if (map['genus'] == null) { if (map['genus'] == null) {
throw FormatException("Missing required field 'genus' on Bird."); throw FormatException("Missing required field 'genus' on Bird.");

View file

@ -27,6 +27,7 @@ class WithEnum implements _WithEnum {
imageBytes: imageBytes ?? this.imageBytes); imageBytes: imageBytes ?? this.imageBytes);
} }
@override
bool operator ==(other) { bool operator ==(other) {
return other is _WithEnum && return other is _WithEnum &&
other.type == type && other.type == type &&
@ -42,7 +43,7 @@ class WithEnum implements _WithEnum {
@override @override
String toString() { String toString() {
return "WithEnum(type=$type, finalList=$finalList, imageBytes=$imageBytes)"; return 'WithEnum(type=$type, finalList=$finalList, imageBytes=$imageBytes)';
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -74,9 +75,9 @@ class WithEnumSerializer extends Codec<WithEnum, Map> {
const WithEnumSerializer(); const WithEnumSerializer();
@override @override
get encoder => const WithEnumEncoder(); WithEnumEncoder get encoder => const WithEnumEncoder();
@override @override
get decoder => const WithEnumDecoder(); WithEnumDecoder get decoder => const WithEnumDecoder();
static WithEnum fromMap(Map map) { static WithEnum fromMap(Map map) {
return WithEnum( return WithEnum(
type: map['type'] is WithEnumType type: map['type'] is WithEnumType

View file

@ -6,7 +6,7 @@ import 'package:logging/logging.dart';
import 'package:pretty_logging/pretty_logging.dart'; import 'package:pretty_logging/pretty_logging.dart';
import 'package:shelf_static/shelf_static.dart'; import 'package:shelf_static/shelf_static.dart';
main() async { void main() async {
Logger.root Logger.root
..level = Level.ALL ..level = Level.ALL
..onRecord.listen(prettyLog); ..onRecord.listen(prettyLog);

View file

@ -19,8 +19,8 @@ RequestHandler embedShelf(shelf.Handler handler,
handlerPath: handlerPath, context: context); handlerPath: handlerPath, context: context);
try { try {
var result = await handler(shelfRequest); var result = await handler(shelfRequest);
if (result is! shelf.Response && result != null) return result; if (result is! shelf.Response) return result;
if (result == null && throwOnNullResponse == true) { if (throwOnNullResponse == true) {
throw AngelHttpException('Internal Server Error'); throw AngelHttpException('Internal Server Error');
} }
await mergeShelfResponse(result, res); await mergeShelfResponse(result, res);

View file

@ -1,7 +1,7 @@
import 'package:angel3_symbol_table/angel3_symbol_table.dart'; import 'package:angel3_symbol_table/angel3_symbol_table.dart';
void main(List<String> args) { void main(List<String> args) {
var mySymbolTable = SymbolTable<int>(); //var mySymbolTable = SymbolTable<int>();
var doubles = var doubles =
SymbolTable<double>(values: {'hydrogen': 1.0, 'avogadro': 6.022e23}); SymbolTable<double>(values: {'hydrogen': 1.0, 'avogadro': 6.022e23});
@ -17,10 +17,10 @@ void main(List<String> args) {
doubles.remove('two'); doubles.remove('two');
// Find a symbol, either in this symbol table or an ancestor. // Find a symbol, either in this symbol table or an ancestor.
var symbol1 = doubles.resolve('one'); //var symbol1 = doubles.resolve('one');
// Find OR create a symbol. // Find OR create a symbol.
var symbol2 = doubles.resolveOrCreate('one'); //var symbol2 = doubles.resolveOrCreate('one');
var symbol3 = doubles.resolveOrCreate('one', value: 1.0); //var symbol3 = doubles.resolveOrCreate('one', value: 1.0);
var symbol4 = doubles.resolveOrCreate('one', value: 1.0, constant: true); //var symbol4 = doubles.resolveOrCreate('one', value: 1.0, constant: true);
} }

View file

@ -13,7 +13,7 @@ final Validator todoSchema = Validator({
'completed': false 'completed': false
}); });
main() { void main() {
test('custom error message', () { test('custom error message', () {
var result = emailSchema.check({'to': 2}); var result = emailSchema.check({'to': 2});

View file

@ -75,6 +75,7 @@ Future<void> runBenchmarks(Iterable<AngelBenchmark> benchmarks,
exit(0); exit(0);
} }
/*
void _httpIsolate(AngelBenchmark benchmark) { void _httpIsolate(AngelBenchmark benchmark) {
Future(() async { Future(() async {
var raw = await HttpServer.bind(InternetAddress.loopbackIPv4, testPort, var raw = await HttpServer.bind(InternetAddress.loopbackIPv4, testPort,
@ -82,6 +83,7 @@ void _httpIsolate(AngelBenchmark benchmark) {
raw.listen((r) => benchmark.rawHandler(r, r.response)); raw.listen((r) => benchmark.rawHandler(r, r.response));
}); });
} }
*/
void _angelIsolate(Tuple2<AngelBenchmark, String> args) { void _angelIsolate(Tuple2<AngelBenchmark, String> args) {
Future(() async { Future(() async {

View file

@ -7,7 +7,7 @@ import 'package:angel_framework/angel_framework.dart';
import 'package:mock_request/mock_request.dart'; import 'package:mock_request/mock_request.dart';
import 'wings_socket.dart'; import 'wings_socket.dart';
enum _ParseState { method, url, headerField, headerValue, body } //enum _ParseState { method, url, headerField, headerValue, body }
final RegExp _straySlashes = RegExp(r'(^/+)|(/+$)'); final RegExp _straySlashes = RegExp(r'(^/+)|(/+$)');

View file

@ -57,9 +57,7 @@ class WingsResponseContext extends ResponseContext<int?> {
} }
} }
if (contentType != null) { outHeaders['content-type'] = contentType.toString();
outHeaders['content-type'] = contentType.toString();
}
if (encoders.isNotEmpty && correspondingRequest != null) { if (encoders.isNotEmpty && correspondingRequest != null) {
if (_allowedEncodings != null) { if (_allowedEncodings != null) {