support createPaste

Summary:
Added support for `createPaste` in Sandy plugins

Nice minimalistic example of how to expose a Flipper api to Sandy.

Note that some indirection could be removed by having an interface that is shared directly between `BasePluginClient` and `FlipperLib` (e.g. `PublicFlipperLib`). In contrast to `addMenuEntries` from the previous diff, `createPaste` is basically exposed verbatim to Sandy without additional wrapping, so those cases could be made simpler. Maybe will do that later.

Reviewed By: passy

Differential Revision: D22815873

fbshipit-source-id: e6d0773a35341edfe5de0898317eaadf88de79d0
This commit is contained in:
Michel Weststrate
2020-08-04 07:44:56 -07:00
committed by Facebook GitHub Bot
parent 9c202a4a10
commit 7c6065889d
6 changed files with 37 additions and 2 deletions

View File

@@ -59,8 +59,14 @@ export function plugin(client: FlipperClient<Events, {}>) {
},
{
action: 'createPaste',
handler: () => {
console.log('creating paste');
handler: async () => {
const selection = selectedID.get();
if (selection) {
const url = await client.createPaste(
JSON.stringify(rows.get()[selection], null, 2),
);
alert(url); // TODO: use notifications T69990351
}
},
},
);