-
Notifications
You must be signed in to change notification settings - Fork 9
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
Harden views #3845
Harden views #3845
Conversation
} | ||
|
||
constructor(info: ViewInfo, value: Partial<T>) { | ||
constructor(info: ViewInfo, value: Partial<T>, model: ViewManagerModel) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Believe this should be model: ViewManagerModel<T>
, but also curious why the backpointer to the model. Looks like just for the type
and typedName
.
} | ||
|
||
static createDefault<T>(): View<T> { | ||
return new View(null, {}); | ||
static createDefault<T>(model: ViewManagerModel): View<T> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment in constructor re: generic ViewManagerModel
type
get token(): string { | ||
return this.info?.token ?? null; | ||
get typedName(): string { | ||
return `${this.model.typeDisplayName} '${this.name}'`; | ||
} | ||
|
||
static fromBlob<T>(blob: JsonBlob, model: ViewManagerModel): View<T> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
See comment in constructor re: generic ViewManagerModel type
@@ -33,24 +47,25 @@ export class View<T extends PlainObject = PlainObject> { | |||
return this.info?.lastUpdated ?? null; | |||
} | |||
|
|||
get token(): string { | |||
return this.info?.token ?? null; | |||
get typedName(): string { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wonder if it would make sense to have a getTypedName helper that takes a view and a model or view and a type rather than having it be a top-level property on view itself
Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.
develop
branch as of last change.breaking-change
label + CHANGELOG if so.If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.