@altostra/core
Version:
Core library for shared types and logic
31 lines (30 loc) • 1.25 kB
TypeScript
import type { ISODate } from "../../../common/CustomTypes/ISODate";
import type { NonEmptyString } from "../../../common/CustomTypes/NonEmptyString";
/**
* Feedback provided by a user
*/
export interface UserFeedback {
rating: Rating;
message?: string;
}
export declare type Rating = 1 | 2 | 3 | 4 | 5;
export interface FeedbackMetadata {
source: Source;
}
export interface FeedbackRequest extends UserFeedback, FeedbackMetadata {
}
/**
* Feedback that is stored in the server
*/
export interface Feedback extends FeedbackRequest {
id: NonEmptyString;
creationDate: ISODate;
isRead: boolean;
reporter: string;
}
export declare type Source = 'other' | 'vscode' | 'web-console-designer' | 'web-console';
export declare const isRating: import("@altostra/type-validations").TypeValidation<Rating>;
export declare const isSource: import("@altostra/type-validations").TypeValidation<Source>;
export declare const isUserFeedback: import("@altostra/type-validations").ObjectOfTypeValidation<UserFeedback>;
export declare const isFeedbackRequest: import("@altostra/type-validations").ObjectOfTypeValidation<FeedbackRequest>;
export declare const isFeedback: import("@altostra/type-validations").ObjectOfTypeValidation<Feedback>;