Skip to content

Health suggestions applied to improve plugin overall score #68

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 33 additions & 33 deletions lib/firebase_functions_interop.dart
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,12 @@ class EventContext {
this.params, this.resource, this.timestamp);

factory EventContext(js.EventContext data) {
return new EventContext._(
return EventContext._(
data.auth,
data.authType,
data.eventId,
data.eventType,
new Map<String, String>.from(dartify(data.params)),
Map<String, String>.from(dartify(data.params)),
data.resource,
DateTime.parse(data.timestamp),
);
Expand Down Expand Up @@ -224,7 +224,7 @@ class DatabaseFunctions {

/// Returns reference builder for specified [path] in Realtime Database.
RefBuilder ref(String path) =>
new RefBuilder._(_functions.database.ref(path));
RefBuilder._(_functions.database.ref(path));
}

/// The Firebase Realtime Database reference builder.
Expand Down Expand Up @@ -267,8 +267,8 @@ class RefBuilder {

dynamic _handleDataEvent<T>(js.DataSnapshot data, js.EventContext jsContext,
FutureOr<void> handler(DataSnapshot<T> data, EventContext context)) {
var snapshot = new DataSnapshot<T>(data);
var context = new EventContext(jsContext);
var snapshot = DataSnapshot<T>(data);
var context = EventContext(jsContext);
var result = handler(snapshot, context);
if (result is Future) {
return futureToPromise(result);
Expand All @@ -279,10 +279,10 @@ class RefBuilder {

dynamic _handleChangeEvent<T>(js.Change<js.DataSnapshot> data,
js.EventContext jsContext, ChangeEventHandler<DataSnapshot<T>> handler) {
var after = new DataSnapshot<T>(data.after);
var before = new DataSnapshot<T>(data.before);
var context = new EventContext(jsContext);
var result = handler(new Change<DataSnapshot<T>>(after, before), context);
var after = DataSnapshot<T>(data.after);
var before = DataSnapshot<T>(data.before);
var context = EventContext(jsContext);
var result = handler(Change<DataSnapshot<T>>(after, before), context);
if (result is Future) {
return futureToPromise(result);
}
Expand All @@ -297,7 +297,7 @@ class FirestoreFunctions {
FirestoreFunctions._(this._functions);

DocumentBuilder document(String path) =>
new DocumentBuilder._(_functions.firestore.document(path));
DocumentBuilder._(_functions.firestore.document(path));
}

class DocumentBuilder {
Expand Down Expand Up @@ -339,9 +339,9 @@ class DocumentBuilder {

dynamic _handleEvent(js.DocumentSnapshot data, js.EventContext jsContext,
DataEventHandler<DocumentSnapshot> handler) {
final firestore = new Firestore(data.ref.firestore);
final snapshot = new DocumentSnapshot(data, firestore);
final context = new EventContext(jsContext);
final firestore = Firestore(data.ref.firestore);
final snapshot = DocumentSnapshot(data, firestore);
final context = EventContext(jsContext);
var result = handler(snapshot, context);
if (result is Future) {
return futureToPromise(result);
Expand All @@ -352,11 +352,11 @@ class DocumentBuilder {

dynamic _handleChangeEvent(js.Change<js.DocumentSnapshot> data,
js.EventContext jsContext, ChangeEventHandler<DocumentSnapshot> handler) {
final firestore = new Firestore(data.after.ref.firestore);
var after = new DocumentSnapshot(data.after, firestore);
var before = new DocumentSnapshot(data.before, firestore);
var context = new EventContext(jsContext);
var result = handler(new Change<DocumentSnapshot>(after, before), context);
final firestore = Firestore(data.after.ref.firestore);
var after = DocumentSnapshot(data.after, firestore);
var before = DocumentSnapshot(data.before, firestore);
var context = EventContext(jsContext);
var result = handler(Change<DocumentSnapshot>(after, before), context);
if (result is Future) {
return futureToPromise(result);
}
Expand All @@ -371,10 +371,10 @@ class PubsubFunctions {
PubsubFunctions._(this._functions);

TopicBuilder topic(String path) =>
new TopicBuilder._(_functions.pubsub.topic(path));
TopicBuilder._(_functions.pubsub.topic(path));

ScheduleBuilder schedule(String expression) =>
new ScheduleBuilder._(_functions.pubsub.schedule(expression));
ScheduleBuilder._(_functions.pubsub.schedule(expression));
}

class TopicBuilder {
Expand All @@ -392,8 +392,8 @@ class TopicBuilder {

dynamic _handleEvent(js.Message jsData, js.EventContext jsContext,
DataEventHandler<Message> handler) {
final message = new Message(jsData);
final context = new EventContext(jsContext);
final message = Message(jsData);
final context = EventContext(jsContext);
var result = handler(message, context);
if (result is Future) {
return futureToPromise(result);
Expand All @@ -418,7 +418,7 @@ class ScheduleBuilder {

dynamic _handleEvent(js.EventContext jsContext,
DataEventHandler<Null> handler) {
final context = new EventContext(jsContext);
final context = EventContext(jsContext);
var result = handler(null, context);
if (result is Future) {
return futureToPromise(result);
Expand All @@ -436,7 +436,7 @@ class Message {

/// User-defined attributes published with the message, if any.
Map<String, String> get attributes =>
new Map<String, String>.from(dartify(nativeInstance.attributes));
Map<String, String>.from(dartify(nativeInstance.attributes));

/// The data payload of this message object as a base64-encoded string.
String get data => nativeInstance.data;
Expand All @@ -454,10 +454,10 @@ class StorageFunctions {

/// Registers a Cloud Function scoped to a specific storage [bucket].
BucketBuilder bucket(String path) =>
new BucketBuilder._(_functions.storage.bucket(path));
BucketBuilder._(_functions.storage.bucket(path));

/// Registers a Cloud Function scoped to the default storage bucket for the project.
ObjectBuilder object() => new ObjectBuilder._(_functions.storage.object());
ObjectBuilder object() => ObjectBuilder._(_functions.storage.object());
}

class BucketBuilder {
Expand All @@ -467,7 +467,7 @@ class BucketBuilder {
BucketBuilder._(this.nativeInstance);

/// Storage object builder interface scoped to the specified storage bucket.
ObjectBuilder object() => new ObjectBuilder._(nativeInstance.object());
ObjectBuilder object() => ObjectBuilder._(nativeInstance.object());
}

class ObjectBuilder {
Expand Down Expand Up @@ -523,8 +523,8 @@ class ObjectBuilder {

dynamic _handleEvent(js.ObjectMetadata jsData, js.EventContext jsContext,
DataEventHandler<ObjectMetadata> handler) {
final data = new ObjectMetadata(jsData);
final context = new EventContext(jsContext);
final data = ObjectMetadata(jsData);
final context = EventContext(jsContext);
var result = handler(data, context);
if (result is Future) {
return futureToPromise(result);
Expand Down Expand Up @@ -574,7 +574,7 @@ class ObjectMetadata {
CustomerEncryption get customerEncryption {
final dartified = dartify(nativeInstance.customerEncryption);
if (dartified == null) return null;
return new CustomerEncryption(
return CustomerEncryption(
encryptionAlgorithm: dartified['encryptionAlgorithm'],
keySha256: dartified['keySha256'],
);
Expand Down Expand Up @@ -655,7 +655,7 @@ class AuthFunctions {
AuthFunctions._(this._functions);

/// Registers a Cloud Function to handle user authentication events.
UserBuilder user() => new UserBuilder._(_functions.auth.user());
UserBuilder user() => UserBuilder._(_functions.auth.user());
}

/// The Firebase Authentication user builder interface.
Expand All @@ -681,8 +681,8 @@ class UserBuilder {

dynamic _handleEvent(js.UserRecord jsData, js.EventContext jsContext,
DataEventHandler<UserRecord> handler) {
final data = new UserRecord(jsData);
final context = new EventContext(jsContext);
final data = UserRecord(jsData);
final context = EventContext(jsContext);
var result = handler(data, context);
if (result is Future) {
return futureToPromise(result);
Expand Down
17 changes: 11 additions & 6 deletions lib/src/bindings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ export 'package:firebase_admin_interop/js.dart';
abstract class RuntimeOptions {
/// Timeout for the function in seconds.
external int get timeoutSeconds;

/// Amount of memory to allocate to the function.
///
/// Valid values are: '128MB', '256MB', '512MB', '1GB', and '2GB'.
Expand Down Expand Up @@ -87,6 +88,7 @@ abstract class Change<T> {
@anonymous
abstract class EventContextResource {
external String get service;

external String get name;
}

Expand Down Expand Up @@ -135,6 +137,7 @@ abstract class EventContext {
@anonymous
abstract class EventAuthInfo {
external String get uid;

external String get token;
}

Expand All @@ -158,6 +161,7 @@ abstract class HttpsFunctions {
/// The event handler is called with Express Request and Response objects as its
/// only arguments.
external HttpsFunction onRequest(HttpRequestListener handler);

external HttpsFunction onCall(
dynamic handler(dynamic data, CallableContext context));
}
Expand All @@ -166,13 +170,15 @@ abstract class HttpsFunctions {
@anonymous
abstract class CallableContext {
external CallableAuth get auth;

external String get instanceIdToken;
}

@JS()
@anonymous
abstract class CallableAuth {
external String get uid;

external admin.DecodedIdToken get token;
}

Expand Down Expand Up @@ -236,14 +242,14 @@ abstract class DocumentBuilder {

/// Event handler that fires every time data is updated in Cloud Firestore.
external CloudFunction onUpdate(
dynamic handler(
Change<admin.DocumentSnapshot> data, EventContext context));
dynamic handler(Change<admin.DocumentSnapshot> data,
EventContext context));

/// Event handler that fires every time a Cloud Firestore write of any kind
/// (creation, update, or delete) occurs.
external CloudFunction onWrite(
dynamic handler(
Change<admin.DocumentSnapshot> data, EventContext context));
dynamic handler(Change<admin.DocumentSnapshot> data,
EventContext context));
}

@JS()
Expand Down Expand Up @@ -271,8 +277,7 @@ abstract class TopicBuilder {
@anonymous
abstract class ScheduleBuilder {
/// Event handler that fires every time a schedule occurs.
external CloudFunction onRun(
dynamic handler(EventContext context));
external CloudFunction onRun(dynamic handler(EventContext context));
}

/// Interface representing a Google Cloud Pub/Sub message.
Expand Down
7 changes: 4 additions & 3 deletions lib/src/https.dart
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class HttpsFunctions {
/// proxy to JavaScript request and response objects.
js.HttpsFunction onRequest(void handler(ExpressHttpRequest request)) {
void jsHandler(IncomingMessage request, ServerResponse response) {
var requestProxy = new ExpressHttpRequest(request, response);
var requestProxy = ExpressHttpRequest(request, response);
handler(requestProxy);
}

Expand All @@ -148,7 +148,7 @@ class HttpsFunctions {
FutureOr<dynamic> handler(dynamic data, CallableContext context)) {
dynamic jsHandler(data, js.CallableContext context) {
var auth = context.auth;
var ctx = new CallableContext(
var ctx = CallableContext(
auth?.uid,
auth?.token,
context.instanceIdToken,
Expand All @@ -160,8 +160,9 @@ class HttpsFunctions {
final future = result.then(_tryJsify).catchError((error) {
if (error is HttpsError) {
throw error._toJsHttpsError();
} else
} else {
throw error;
}
});
return futureToPromise(future);
} else {
Expand Down