@caidrive/shared
Version:
caidrive.shared.components
59 lines (58 loc) • 1.7 kB
JavaScript
;
/**
*
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ReservationRequestStatus = void 0;
const core_1 = require("../../../core");
class ReservationRequestStatus extends core_1.Enum {
/**
*
*/
constructor(name, value) {
super(name, value);
ReservationRequestStatus.items.push(this);
}
/**
*
*/
equals(other) {
return this.value === other.value && this.name === other.name;
}
/**
*
*/
static find(criteria) {
let found = ReservationRequestStatus.items.find((v) => v._value === criteria);
if (!found) {
found = ReservationRequestStatus.items.find((v) => v.name === criteria);
}
if (found) {
return core_1.Result.ok(found);
}
return core_1.Result.fail("Not found");
}
/**
*
*/
static contains(criteria) {
const status = ReservationRequestStatus.find(criteria);
return !!status;
}
/**
*
*/
static get(criteria) {
const found = ReservationRequestStatus.find(criteria);
if (found.isFailure) {
return ReservationRequestStatus.UNSPECIFIED;
}
return found.value;
}
}
exports.ReservationRequestStatus = ReservationRequestStatus;
ReservationRequestStatus.items = new Array();
ReservationRequestStatus.UNSPECIFIED = new ReservationRequestStatus("UNSPECIFIED", -1);
ReservationRequestStatus.CREATED = new ReservationRequestStatus("CREATED", 1);
ReservationRequestStatus.EXPIRED = new ReservationRequestStatus("EXPIRED", 2);
ReservationRequestStatus.FAILED = new ReservationRequestStatus("FAILED", 9);