ExtensionPreferenceService
Call
typescript
import { PLExtAPI } from "paperlib-api/api";
PLExtAPI.extensionPreferenceService.methodname(...);
Avaliable Methods
register
typescript
/**
* Register a preference store.
* @param extensionID - extension ID
* @param defaultPreference - default preference
*/
register<T extends {
[key: string]: any;
}>(extensionID: string, defaultPreference: T): Promise<void>;
unregister
typescript
/**
* Unregister a preference store.
* @param extensionID - extension ID
*/
unregister(extensionID: string): Promise<void>;
get
typescript
/**
* Get the value of the preference
* @param extensionID - extension ID
* @param key - key of the preference
* @returns value of the preference or null
*/
get(extensionID: string, key: any): Promise<any>;
getAll
typescript
/**
* Get the value of all preferences
* @param extensionID - extension ID
* @returns value of all preferences
*/
getAll(extensionID: string): Promise<Map<string, any>>;
getMetadata
typescript
/**
* Get the metadata of the preference
* @param extensionID - extension ID
* @param key - key of the preference
* @returns metadata of the preference or null
*/
getMetadata(extensionID: string, key: any): Promise<any>;
getAllMetadata
typescript
/**
* Get the metadata of all preferences
* @param extensionID - extension ID
* @returns metadata of all preferences
*/
getAllMetadata(extensionID: string): Promise<Map<string, any>>;
set
typescript
/**
* Set the value of the preference
* @param extensionID - extension ID
* @param patch - patch object
* @returns
*/
set(extensionID: string, patch: any): Promise<void>;
getPassword
typescript
/**
* Get the password
* @param extensionID - extension ID
* @param key - key of the password
* @returns - password
*/
getPassword(extensionID: string, key: string): Promise<string | null>;
setPassword
typescript
/**
* Set the password
* @param extensionID - extension ID
* @param key - key of the password
* @param pwd - password
*/
setPassword(extensionID: string, key: string, pwd: string): Promise<void>;
Events
Event ID | Callback Value | Description |
---|---|---|
extensionID:prefKey | {key: 'extensionID:prefKey', value: prefValue} | When the preference is changed |
Example
typescript
import { PLExtAPI } from "paperlib-api/api";
PLExtAPI.extensionPreferenceService.onChanged(
'extensionID:prefKey',
(newValue: {key: string, value: any}) => {
console.log(newValue.value);
});