mirror of
https://github.com/gristlabs/grist-core.git
synced 2026-03-02 04:09:24 +00:00
(core) move home server into core
Summary: This moves enough server material into core to run a home server. The data engine is not yet incorporated (though in manual testing it works when ported). Test Plan: existing tests pass Reviewers: dsagal Reviewed By: dsagal Differential Revision: https://phab.getgrist.com/D2552
This commit is contained in:
52
app/plugin/FileParserAPI.ts
Normal file
52
app/plugin/FileParserAPI.ts
Normal file
@@ -0,0 +1,52 @@
|
||||
/**
|
||||
* API definitions for FileParser plugins.
|
||||
*/
|
||||
|
||||
import {GristTables} from './GristTable';
|
||||
|
||||
export interface EditOptionsAPI {
|
||||
getParseOptions(parseOptions?: ParseOptions): Promise<ParseOptions>;
|
||||
}
|
||||
|
||||
export interface ParseFileAPI {
|
||||
parseFile(file: FileSource, parseOptions?: ParseOptions): Promise<ParseFileResult>;
|
||||
}
|
||||
|
||||
/**
|
||||
* ParseOptions contains parse options depending on plugin,
|
||||
* number of rows, which is special option that can be used for any plugin
|
||||
* and schema for generating parse options UI
|
||||
*/
|
||||
export interface ParseOptions {
|
||||
NUM_ROWS?: number;
|
||||
SCHEMA?: ParseOptionSchema[];
|
||||
}
|
||||
|
||||
/**
|
||||
* ParseOptionSchema contains information for generaing parse options UI
|
||||
*/
|
||||
export interface ParseOptionSchema {
|
||||
name: string;
|
||||
label: string;
|
||||
type: string;
|
||||
visible: boolean;
|
||||
}
|
||||
|
||||
export interface FileSource {
|
||||
/**
|
||||
* The path is often a temporary file, so its name is meaningless. Access to the file depends on
|
||||
* the type of plugin. For instance, for `safePython` plugins file is directly available at
|
||||
* `/importDir/path`.
|
||||
*/
|
||||
path: string;
|
||||
|
||||
/**
|
||||
* Plugins that want to know the original filename should use origName. Depending on the source
|
||||
* of the data, it may or may not be meaningful.
|
||||
*/
|
||||
origName: string;
|
||||
}
|
||||
|
||||
export interface ParseFileResult extends GristTables {
|
||||
parseOptions: ParseOptions;
|
||||
}
|
||||
Reference in New Issue
Block a user