IDataProvider types for each data provider supported by PAPI. Extensions can add more data providers with corresponding data provider IDs by adding details to their .d.ts file and registering a data provider engine in their activate function with papi.dataProviders.registerEngine.

Note: Data Provider names must consist of two strings separated by at least one period. We recommend one period and lower camel case in case we expand the api in the future to allow dot notation.

An extension can extend this interface to add types for the data provider it registers by adding the following to its .d.ts file (in this example, we are adding the 'helloSomeone.people' data provider types):

declare module 'papi-shared-types' {
export type PeopleDataTypes = {
Greeting: DataProviderDataType<string, string | undefined, string>;
Age: DataProviderDataType<string, number | undefined, number>;
People: DataProviderDataType<undefined, PeopleData, never>;
};

export type PeopleDataMethods = {
deletePerson(name: string): Promise<boolean>;
testRandomMethod(things: string): Promise<string>;
};

export type PeopleDataProvider = IDataProvider<PeopleDataTypes> & PeopleDataMethods;

export interface DataProviders {
'helloSomeone.people': PeopleDataProvider;
}
}

Properties

"platform.placeholder": default<PlaceholderDataTypes>
"platform.stuff": default<StuffDataTypes>