-
Notifications
You must be signed in to change notification settings - Fork 532
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
tree: Import / Export APIs and demo #22566
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Joshua Smithrud <[email protected]>
…to independentView
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.
A few minor comments, but docs look good!
const args = process.argv.slice(2); | ||
|
||
console.log(`Requires arguments: [<source>] [<destination>] [<edit>]`); | ||
console.log(`Example arguments: default data/large.concise.json string:10,item:100`); |
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.
the example for edit is a bit confusing to me, maybe expand on its expected format or how this particular example affects the document?
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.
should be better now.
}, | ||
...options, | ||
}; | ||
const schemalessConfig = applySchemaToParserOptions(schema, config); |
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.
why is this considered schemaless?
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.
comment added.
const codec = makeFieldBatchCodec({ jsonValidator: noopValidator }, format); | ||
const cursor = borrowFieldCursorFromTreeNodeOrValue(node); | ||
const batch: FieldBatch = [cursor]; | ||
// If none provided, create a compressor which will not compress anything (TODO: is this the right way to do that?). |
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.
this seems like a todo that should prob be addressed before merging
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.
@taylorsw04 Can you provide some inside here and on the TODO below?
@@ -0,0 +1 @@ | |||
{"type":"com.fluidframework.example.cli.List","fields":[]} |
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.
is the verbose version supposed to not have any fields?
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.
the default tree does not have any children under this node, so yes. I have however changed the default tree to be a bit bigger so its a better example.
@@ -67,6 +67,13 @@ export interface ViewableTree { | |||
viewWith<TRoot extends ImplicitFieldSchema>( | |||
config: TreeViewConfiguration<TRoot>, | |||
): TreeView<TRoot>; | |||
|
|||
// TODO: | |||
// Add stored key versions of Tree.exportVerbose, Tree.exportConcise and Tree.exportCompressed here so tree content can be accessed without a view schema. |
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.
link here for context would be good I think
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.
I have moved these comments to the interface doc comment so they can use the link syntax. They are in privateRemarks though, so I don't think there is any way to click them, and they don't render as links in intelisense.
🔗 Found some broken links! 💔 Run a link check locally to find them. See linkcheck output
|
Description
Added import/export options for tree content and schema, and example script using them.
Reviewer Guidance
The review process is outlined on this wiki page.