UNPKG

@mismith/firebase-tools

Version:

Various helpers and utilities for dealing with Firebase in both the browser and server-side within cloud functions.

83 lines (82 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var FirebaseInvitesBase = /** @class */ (function () { function FirebaseInvitesBase() { } FirebaseInvitesBase.getDate = function (source) { if (source === void 0) { source = undefined; } return source ? new Date(source) : new Date(); }; FirebaseInvitesBase.getDateString = function (date) { if (date === void 0) { date = new Date(); } return date.toISOString(); }; FirebaseInvitesBase.isAfter = function (timestamp) { if (timestamp) { var date = this.getDate(timestamp); return this.getDate().getTime() >= date.getTime(); } return false; }; FirebaseInvitesBase.isCreated = function (invite) { return this.isAfter(invite[this.keys.created]); }; FirebaseInvitesBase.isCancelled = function (invite) { return this.isAfter(invite[this.keys.cancelled]); }; FirebaseInvitesBase.isExpired = function (invite) { return this.isAfter(invite[this.keys.expires]); }; FirebaseInvitesBase.isAccepted = function (invite) { return this.isAfter(invite[this.keys.accepted]); }; FirebaseInvitesBase.isDeleted = function (invite) { return !invite; }; FirebaseInvitesBase.getStatus = function (invite) { if (this.isDeleted(invite)) { return this.status.DELETED; } else if (this.isAccepted(invite)) { return this.status.ACCEPTED; } else if (this.isExpired(invite)) { return this.status.EXPIRED; } else if (this.isCancelled(invite)) { return this.status.CANCELLED; } else if (this.isCreated(invite)) { return this.status.CREATED; } else { return this.status.UNKNOWN; } }; FirebaseInvitesBase.is = function (invite) { var statuses = []; for (var _i = 1; _i < arguments.length; _i++) { statuses[_i - 1] = arguments[_i]; } return statuses.indexOf(this.getStatus(invite)) >= 0; }; FirebaseInvitesBase.keys = { payload: 'payload', created: 'created', createdBy: 'createdBy', cancelled: 'cancelled', expires: 'expires', accepted: 'accepted', acceptedBy: 'acceptedBy', }; FirebaseInvitesBase.status = { CREATED: 'created', CANCELLED: 'cancelled', EXPIRED: 'expired', ACCEPTED: 'accepted', DELETED: 'deleted', UNKNOWN: 'unknown', }; return FirebaseInvitesBase; }()); exports.default = FirebaseInvitesBase;