diff --git a/CHANGELOG.md b/CHANGELOG.md index bbd5cf5..b7eee03 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,17 @@ All notable changes to this project will be documented in this file. Dates are d Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +#### [v0.3.0](https://github.com/valtiojs/valtio-history/compare/v0.2.1...v0.3.0) + +- feat: add getters for history util values [`#11`](https://github.com/valtiojs/valtio-history/pull/11) +- chore: format docs [`d266acc`](https://github.com/valtiojs/valtio-history/commit/d266acc36ed3efb9bb08a6071574b50901114c87) + #### [v0.2.1](https://github.com/valtiojs/valtio-history/compare/v0.2.0...v0.2.1) +> 6 February 2024 + - refactor: remove barrel export for history utility [`#8`](https://github.com/valtiojs/valtio-history/pull/8) +- chore: release v0.2.1 [`0e57f94`](https://github.com/valtiojs/valtio-history/commit/0e57f947f4a9b1e35114018a7afc1bc8d5823e59) #### [v0.2.0](https://github.com/valtiojs/valtio-history/compare/v0.1.0...v0.2.0) diff --git a/package.json b/package.json index a9e24c2..3bfc248 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "valtio-history", - "version": "0.2.1", + "version": "0.3.0", "license": "MIT", "author": "Daishi Kato", "repository": { diff --git a/packages/history-utility/docs/modules.md b/packages/history-utility/docs/modules.md index df494b8..cc5ef31 100644 --- a/packages/history-utility/docs/modules.md +++ b/packages/history-utility/docs/modules.md @@ -23,22 +23,22 @@ #### Type parameters | Name | -| :--- | -| `T` | +| :------ | +| `T` | #### Type declaration -| Name | Type | Description | -| :------ | :----------------------------------------------- | :-------------------------------------------------------------- | -| `index` | `number` | the history index of the current snapshot | -| `nodes` | [`HistoryNode`](modules.md#historynode)\<`T`\>[] | the nodes of the history for each change | -| `wip?` | `Snapshot`\<`T`\> | field for holding sandbox changes; used to avoid infinite loops | +| Name | Type | Description | +| :------ | :------ | :------ | +| `index` | `number` | the history index of the current snapshot | +| `nodes` | [`HistoryNode`](modules.md#historynode)\<`T`\>[] | the nodes of the history for each change | +| `wip?` | `Snapshot`\<`T`\> | field for holding sandbox changes; used to avoid infinite loops | #### Defined in -[packages/history-utility/src/index.ts:26](https://github.com/valtiojs/valtio-history/blob/8b7f8fc/packages/history-utility/src/index.ts#L26) +[packages/history-utility/src/index.ts:26](https://github.com/valtiojs/valtio-history/blob/d5b7a92/packages/history-utility/src/index.ts#L26) ---- +___ ### HistoryNode @@ -47,22 +47,22 @@ #### Type parameters | Name | -| :--- | -| `T` | +| :------ | +| `T` | #### Type declaration -| Name | Type | Description | -| :----------- | :---------------- | :----------------------------------------------------------------------------------- | -| `createdAt` | `Date` | The date when the node was created | -| `snapshot` | `Snapshot`\<`T`\> | The snapshot being tracked | -| `updatedAt?` | `Date` | The date when the node was updated. Will be undefined if the node was never updated. | +| Name | Type | Description | +| :------ | :------ | :------ | +| `createdAt` | `Date` | The date when the node was created | +| `snapshot` | `Snapshot`\<`T`\> | The snapshot being tracked | +| `updatedAt?` | `Date` | The date when the node was updated. Will be undefined if the node was never updated. | #### Defined in -[packages/history-utility/src/index.ts:10](https://github.com/valtiojs/valtio-history/blob/8b7f8fc/packages/history-utility/src/index.ts#L10) +[packages/history-utility/src/index.ts:10](https://github.com/valtiojs/valtio-history/blob/d5b7a92/packages/history-utility/src/index.ts#L10) ---- +___ ### HistoryOptions @@ -70,13 +70,13 @@ #### Type declaration -| Name | Type | Description | -| :--------------- | :-------- | :---------------------------------------------------------------- | +| Name | Type | Description | +| :------ | :------ | :------ | | `skipSubscribe?` | `boolean` | determines if the internal subscribe behaviour should be skipped. | #### Defined in -[packages/history-utility/src/index.ts:43](https://github.com/valtiojs/valtio-history/blob/8b7f8fc/packages/history-utility/src/index.ts#L43) +[packages/history-utility/src/index.ts:43](https://github.com/valtiojs/valtio-history/blob/d5b7a92/packages/history-utility/src/index.ts#L43) ## Functions @@ -86,7 +86,6 @@ This creates a new proxy with history support (ProxyHistoryObject). It includes following main properties:
- - value: any value (does not have to be an object)
- history: an object holding the history of snapshots and other metadata
- history.index: the history index of the current snapshot
@@ -109,15 +108,15 @@ Notes:
#### Type parameters | Name | -| :--- | -| `V` | +| :------ | +| `V` | #### Parameters -| Name | Type | Description | -| :------------- | :--------------------------------------------------------- | :--------------------------------------------- | -| `initialValue` | `V` | any value to be tracked | -| `options?` | `boolean` \| [`HistoryOptions`](modules.md#historyoptions) | use to configure the proxyWithHistory utility. | +| Name | Type | Description | +| :------ | :------ | :------ | +| `initialValue` | `V` | any value to be tracked | +| `options?` | `boolean` \| [`HistoryOptions`](modules.md#historyoptions) | use to configure the proxyWithHistory utility. | #### Returns @@ -125,38 +124,38 @@ Notes:
proxyObject -| Name | Type | Description | -| :------------------------ | :-------------------------------------------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `canRedo` | () => `boolean` | a function to return true if redo is available **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | -| `canUndo` | () => `boolean` | a function to return true if undo is available **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | -| `clone` | \(`value`: `T`) => `T` | utility to clone a snapshot | -| `getCurrentChangeDate` | () => `undefined` \| `Date` | get the date when a node was entered into history. **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | -| `getNode` | (`index`: `number`) => `undefined` \| \{ `createdAt`: `Date` ; `snapshot`: `Snapshot`\<`V`\> ; `updatedAt?`: `Date` } | utility method to get a history node. The snapshot within this node is already cloned and will not affect the original value if updated. | -| `goTo` | (`index`: `number`) => `void` | a function to go to a specific index in history | -| `history` | [`History`](modules.md#history)\<`V`\> & `AsRef` | an object holding the history of snapshots and other metadata
- history.index: the history index to the current snapshot
- history.nodes: the nodes of the history for each change
- history.wip: field for holding sandbox changes; used to avoid infinite loops
| -| `redo` | () => `void` | a function to go forward in history | -| `remove` | (`index`: `number`) => `undefined` \| [`HistoryNode`](modules.md#historynode)\<`V`\> | The remove method is only invoked when there are more than one nodes and when a valid index is provided. If the current index is removed, An index greater than the current index will be preferred as the next value. | -| `replace` | (`index`: `number`, `value`: `INTERNAL_Snapshot`\<`V`\>) => `void` | utility to replace a value in history. The history changes will not be affected, only the value to be replaced. If a base value is needed to operate on, the `getNode` utility can be used to retrieve a cloned historyNode.

Notes:
- No operations are done on the value provided to this utility.
- This is an advanced method, please ensure the value provided is a snapshot of the same type of the value being tracked.
| -| `saveHistory` | () => `void` | a function to execute saving history when changes are made to `value` | -| `shouldSaveHistory` | (`ops`: `Op`[]) => `boolean` | a function that returns true when the history should be updated | -| `subscribe` | () => () => `void` | a function to subscribe to changes made to `value` | -| `undo` | () => `void` | a function to go back in history | -| `value` | `V` | any value to be tracked (does not have to be an object) | -| `get currentChangeDate()` | `undefined` \| `Date` | - | -| `get currentIndex()` | `number` | - | -| `get historyNodeCount()` | `number` | - | -| `get isRedoEnabled()` | `boolean` | - | -| `get isUndoEnabled()` | `boolean` | - | +| Name | Type | Description | +| :------ | :------ | :------ | +| `canRedo` | () => `boolean` | a function to return true if redo is available **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | +| `canUndo` | () => `boolean` | a function to return true if undo is available **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | +| `clone` | \(`value`: `T`) => `T` | utility to clone a snapshot | +| `getCurrentChangeDate` | () => `undefined` \| `Date` | get the date when a node was entered into history. **`Deprecated`** **`See`** [https://github.com/valtiojs/valtio-history/issues/10](https://github.com/valtiojs/valtio-history/issues/10) | +| `getNode` | (`index`: `number`) => `undefined` \| \{ `createdAt`: `Date` ; `snapshot`: `Snapshot`\<`V`\> ; `updatedAt?`: `Date` } | utility method to get a history node. The snapshot within this node is already cloned and will not affect the original value if updated. | +| `goTo` | (`index`: `number`) => `void` | a function to go to a specific index in history | +| `history` | [`History`](modules.md#history)\<`V`\> & `AsRef` | an object holding the history of snapshots and other metadata
- history.index: the history index to the current snapshot
- history.nodes: the nodes of the history for each change
- history.wip: field for holding sandbox changes; used to avoid infinite loops
| +| `redo` | () => `void` | a function to go forward in history | +| `remove` | (`index`: `number`) => `undefined` \| [`HistoryNode`](modules.md#historynode)\<`V`\> | The remove method is only invoked when there are more than one nodes and when a valid index is provided. If the current index is removed, An index greater than the current index will be preferred as the next value. | +| `replace` | (`index`: `number`, `value`: `INTERNAL_Snapshot`\<`V`\>) => `void` | utility to replace a value in history. The history changes will not be affected, only the value to be replaced. If a base value is needed to operate on, the `getNode` utility can be used to retrieve a cloned historyNode.

Notes:
- No operations are done on the value provided to this utility.
- This is an advanced method, please ensure the value provided is a snapshot of the same type of the value being tracked.
| +| `saveHistory` | () => `void` | a function to execute saving history when changes are made to `value` | +| `shouldSaveHistory` | (`ops`: `Op`[]) => `boolean` | a function that returns true when the history should be updated | +| `subscribe` | () => () => `void` | a function to subscribe to changes made to `value` | +| `undo` | () => `void` | a function to go back in history | +| `value` | `V` | any value to be tracked (does not have to be an object) | +| `get currentChangeDate()` | `undefined` \| `Date` | - | +| `get currentIndex()` | `number` | - | +| `get historyNodeCount()` | `number` | - | +| `get isRedoEnabled()` | `boolean` | - | +| `get isUndoEnabled()` | `boolean` | - | **`Example`** ```ts -import { proxyWithHistory } from 'valtio-history'; +import { proxyWithHistory } from 'valtio-history' const state = proxyWithHistory({ count: 1, -}); +}) ``` #### Defined in -[packages/history-utility/src/index.ts:129](https://github.com/valtiojs/valtio-history/blob/8b7f8fc/packages/history-utility/src/index.ts#L129) +[packages/history-utility/src/index.ts:129](https://github.com/valtiojs/valtio-history/blob/d5b7a92/packages/history-utility/src/index.ts#L129) diff --git a/packages/history-utility/package.json b/packages/history-utility/package.json index be19c40..5d7f68e 100644 --- a/packages/history-utility/package.json +++ b/packages/history-utility/package.json @@ -1,6 +1,6 @@ { "name": "valtio-history", - "version": "0.2.1", + "version": "0.3.0", "author": "Daishi Kato", "repository": { "type": "git",