Automated wiki update
parent
f2729e287a
commit
0e90b2537c
103
Home.md
103
Home.md
@ -1 +1,102 @@
|
||||
Welcome to the Wiki.
|
||||
persist
|
||||
|
||||
# persist
|
||||
|
||||
## Table of contents
|
||||
|
||||
### Classes
|
||||
|
||||
- [Persist](classes/Persist.md)
|
||||
|
||||
### Decorators
|
||||
|
||||
- [persist](Home.md#persist)
|
||||
|
||||
### Options
|
||||
|
||||
- [PersistOptions](Home.md#persistoptions)
|
||||
|
||||
## Decorators
|
||||
|
||||
### persist
|
||||
|
||||
▸ **persist**\<`T`\>(`options?`): (`target`: `any`, `prop`: `any`) => `void`
|
||||
|
||||
Sync class property with persistent storage (LocalStorage by default)
|
||||
|
||||
#### Type parameters
|
||||
|
||||
| Name |
|
||||
| :------ |
|
||||
| `T` |
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Description |
|
||||
| :------ | :------ | :------ |
|
||||
| `options?` | [`PersistOptions`](Home.md#persistoptions)\<`T`\> & \{ `key?`: `string` } | Configure using [PersistOptions](Home.md#persistoptions) |
|
||||
|
||||
#### Returns
|
||||
|
||||
`fn`
|
||||
|
||||
Decorator function
|
||||
|
||||
▸ (`target`, `prop`): `void`
|
||||
|
||||
##### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :------ | :------ |
|
||||
| `target` | `any` |
|
||||
| `prop` | `any` |
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
**`Example`**
|
||||
|
||||
```ts
|
||||
class ThemeEngine {
|
||||
@persist({default: 'os'}) current!: string;
|
||||
}
|
||||
|
||||
const theme = new ThemeEngine();
|
||||
console.log(theme.current) // Output: os
|
||||
|
||||
theme.current = 'light'; //Any changes will be automatically saved to localStorage
|
||||
|
||||
location.reload(); // Simulate refresh
|
||||
console.log(theme.current) // Output: light
|
||||
```
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:135
|
||||
|
||||
## Options
|
||||
|
||||
### PersistOptions
|
||||
|
||||
Ƭ **PersistOptions**\<`T`\>: `Object`
|
||||
|
||||
Configurations persistence behaviour
|
||||
|
||||
#### Type parameters
|
||||
|
||||
| Name |
|
||||
| :------ |
|
||||
| `T` |
|
||||
|
||||
#### Type declaration
|
||||
|
||||
| Name | Type | Description |
|
||||
| :------ | :------ | :------ |
|
||||
| `default?` | `T` | Default/Initial value if undefined |
|
||||
| `storage?` | `Storage` | Storage implementation, defaults to LocalStorage |
|
||||
| `type?` | `any` | Force value to have prototype |
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:6
|
||||
|
308
classes/Persist.md
Normal file
308
classes/Persist.md
Normal file
@ -0,0 +1,308 @@
|
||||
[persist](../Home.md) / Persist
|
||||
|
||||
# Class: Persist\<T\>
|
||||
|
||||
Sync variable's value with persistent storage (LocalStorage by default)
|
||||
|
||||
**`Example`**
|
||||
|
||||
```ts
|
||||
const theme = new Persist('theme.current', {default: 'os'});
|
||||
console.log(theme.value); // Output: os
|
||||
|
||||
theme.value = 'light'; // Any changes to `.value` will automatically sync with localStorage
|
||||
|
||||
location.reload(); // Simulate refresh
|
||||
console.log(theme.value); // Output: light
|
||||
```
|
||||
|
||||
## Type parameters
|
||||
|
||||
| Name |
|
||||
| :------ |
|
||||
| `T` |
|
||||
|
||||
## Table of contents
|
||||
|
||||
### Constructors
|
||||
|
||||
- [constructor](Persist.md#constructor)
|
||||
|
||||
### Properties
|
||||
|
||||
- [\_value](Persist.md#_value)
|
||||
- [key](Persist.md#key)
|
||||
- [options](Persist.md#options)
|
||||
- [storage](Persist.md#storage)
|
||||
- [watches](Persist.md#watches)
|
||||
|
||||
### Accessors
|
||||
|
||||
- [value](Persist.md#value)
|
||||
|
||||
### Methods
|
||||
|
||||
- [clear](Persist.md#clear)
|
||||
- [load](Persist.md#load)
|
||||
- [notify](Persist.md#notify)
|
||||
- [save](Persist.md#save)
|
||||
- [toString](Persist.md#tostring)
|
||||
- [valueOf](Persist.md#valueof)
|
||||
- [watch](Persist.md#watch)
|
||||
|
||||
## Constructors
|
||||
|
||||
### constructor
|
||||
|
||||
• **new Persist**\<`T`\>(`key`, `options?`): [`Persist`](Persist.md)\<`T`\>
|
||||
|
||||
#### Type parameters
|
||||
|
||||
| Name |
|
||||
| :------ |
|
||||
| `T` |
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type | Description |
|
||||
| :------ | :------ | :------ |
|
||||
| `key` | `string` | Unique key value will be stored under |
|
||||
| `options` | [`PersistOptions`](../Home.md#persistoptions)\<`T`\> | Configure using [PersistOptions](../Home.md#persistoptions) |
|
||||
|
||||
#### Returns
|
||||
|
||||
[`Persist`](Persist.md)\<`T`\>
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:68
|
||||
|
||||
## Properties
|
||||
|
||||
### \_value
|
||||
|
||||
• `Private` **\_value**: `T`
|
||||
|
||||
Private value field
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:31
|
||||
|
||||
___
|
||||
|
||||
### key
|
||||
|
||||
• `Readonly` **key**: `string`
|
||||
|
||||
Unique key value will be stored under
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:68
|
||||
|
||||
___
|
||||
|
||||
### options
|
||||
|
||||
• **options**: [`PersistOptions`](../Home.md#persistoptions)\<`T`\> = `{}`
|
||||
|
||||
Configure using [PersistOptions](../Home.md#persistoptions)
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:68
|
||||
|
||||
___
|
||||
|
||||
### storage
|
||||
|
||||
• `Private` `Readonly` **storage**: `Storage`
|
||||
|
||||
Where data gets physically stored
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:60
|
||||
|
||||
___
|
||||
|
||||
### watches
|
||||
|
||||
• `Private` **watches**: `Object` = `{}`
|
||||
|
||||
Listeners which should be notified on changes
|
||||
|
||||
#### Index signature
|
||||
|
||||
▪ [key: `string`]: `Function`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:62
|
||||
|
||||
## Accessors
|
||||
|
||||
### value
|
||||
|
||||
• `get` **value**(): `T`
|
||||
|
||||
Current value or default if undefined
|
||||
|
||||
#### Returns
|
||||
|
||||
`T`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:34
|
||||
|
||||
• `set` **value**(`v`): `void`
|
||||
|
||||
Set value with proxy object wrapper to sync future changes
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :------ | :------ |
|
||||
| `v` | `undefined` \| `T` |
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:37
|
||||
|
||||
## Methods
|
||||
|
||||
### clear
|
||||
|
||||
▸ **clear**(): `void`
|
||||
|
||||
Delete value from storage
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:74
|
||||
|
||||
___
|
||||
|
||||
### load
|
||||
|
||||
▸ **load**(): `void`
|
||||
|
||||
Load value from storage
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:86
|
||||
|
||||
___
|
||||
|
||||
### notify
|
||||
|
||||
▸ **notify**(`value`): `void`
|
||||
|
||||
Notify listeners of change
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :------ | :------ |
|
||||
| `value` | `T` |
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:108
|
||||
|
||||
___
|
||||
|
||||
### save
|
||||
|
||||
▸ **save**(): `void`
|
||||
|
||||
Save current value to storage
|
||||
|
||||
#### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:79
|
||||
|
||||
___
|
||||
|
||||
### toString
|
||||
|
||||
▸ **toString**(): `string`
|
||||
|
||||
Return value as JSON string
|
||||
|
||||
#### Returns
|
||||
|
||||
`string`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:102
|
||||
|
||||
___
|
||||
|
||||
### valueOf
|
||||
|
||||
▸ **valueOf**(): `undefined` \| `Object`
|
||||
|
||||
Return raw value
|
||||
|
||||
#### Returns
|
||||
|
||||
`undefined` \| `Object`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:105
|
||||
|
||||
___
|
||||
|
||||
### watch
|
||||
|
||||
▸ **watch**(`fn`): () => `void`
|
||||
|
||||
Callback to listen for changes
|
||||
|
||||
#### Parameters
|
||||
|
||||
| Name | Type |
|
||||
| :------ | :------ |
|
||||
| `fn` | (`value`: `T`) => `any` |
|
||||
|
||||
#### Returns
|
||||
|
||||
`fn`
|
||||
|
||||
▸ (): `void`
|
||||
|
||||
Callback to listen for changes
|
||||
|
||||
##### Returns
|
||||
|
||||
`void`
|
||||
|
||||
#### Defined in
|
||||
|
||||
persist.ts:95
|
Loading…
Reference in New Issue
Block a user