Skip to content

Commit

Permalink
Rename save function to patch to be less confusing (it doesn't actual…
Browse files Browse the repository at this point in the history
…ly save anything).
  • Loading branch information
Madeorsk committed Oct 5, 2024
1 parent 8f8dafe commit 6eee1b7
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 11 deletions.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,15 @@
</p>

<p align="center">
<img alt="Version 3.2.2" src="https://img.shields.io/badge/version-3.2.2-blue" />
<img alt="Version 3.3.0" src="https://img.shields.io/badge/version-3.3.0-blue" />
</p>

## Introduction

Sharkitek is a Javascript / TypeScript library designed to ease development of client-side models.

With Sharkitek, you define the architecture of your models by specifying their properties and their types.
Then, you can use the defined methods like `serialize`, `deserialize`, `save` or `serializeDiff`.
Then, you can use the defined methods like `serialize`, `deserialize`, `patch` or `serializeDiff`.

```typescript
class Example extends s.model({
Expand Down Expand Up @@ -227,7 +227,7 @@ const result = model.serializeDiff();
// result = {}
```

#### `save()`
#### `patch()`

Get difference between original values and current ones, then reset it.
Similar to call `serializeDiff()` then `resetDiff()`.
Expand All @@ -246,7 +246,7 @@ const model = (new TestModel()).deserialize({

model.title = "A new title for a new world";

const result = model.save();
const result = model.patch();
// if `id` is defined as the model identifier:
// result = { id: 5, title: "A new title for a new world" }
// if `id` is not defined as the model identifier:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sharkitek/core",
"version": "3.2.2",
"version": "3.3.0",
"description": "TypeScript library for well-designed model architectures.",
"keywords": [
"deserialization",
Expand Down
4 changes: 2 additions & 2 deletions src/Model/Model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ export interface ModelDefinition<Shape extends ModelShape, IdentifierType, Model
* Get difference between original values and current ones, then reset it.
* Similar to call `serializeDiff()` then `resetDiff()`.
*/
save(): Partial<SerializedModel<Shape>>;
patch(): Partial<SerializedModel<Shape>>;
}

/**
Expand Down Expand Up @@ -248,7 +248,7 @@ export function model<ModelType extends Model<Shape, IdentifierType<Shape, Ident
});
}

save(): Partial<SerializedModel<Shape>>
patch(): Partial<SerializedModel<Shape>>
{
// Get the difference.
const diff = this.serializeDiff();
Expand Down
8 changes: 4 additions & 4 deletions tests/Model.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ it("create and check state then serialize", () => {
});


it("deserialize then save", () => {
it("deserialize then patch", () => {
const article = (new Article()).deserialize({
id: 1,
title: "this is a test",
Expand All @@ -130,13 +130,13 @@ it("deserialize then save", () => {

expect(article.isDirty()).toBeTruthy();

expect(article.save()).toStrictEqual({
expect(article.patch()).toStrictEqual({
id: 1,
text: "Modified text.",
});
});

it("save with modified submodels", () => {
it("patch with modified submodels", () => {
const article = (new Article()).deserialize({
id: 1,
title: "this is a test",
Expand All @@ -152,7 +152,7 @@ it("save with modified submodels", () => {
article.authors[0].name = "TEST";
article.authors[1].createdAt.setMonth(9);

expect(article.save()).toStrictEqual({
expect(article.patch()).toStrictEqual({
id: 1,
authors: [
{ name: "TEST" },
Expand Down

0 comments on commit 6eee1b7

Please sign in to comment.