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