Compare commits

..

2 Commits

Author SHA1 Message Date
Nikita Dezzpil Orlov
50261ac29e chore(release): 1.3.0 2021-10-05 14:30:26 +03:00
Nikita Dezzpil Orlov
017f735613 feat: добавил управление трансформацией данных для репозитория 2021-10-05 14:30:18 +03:00
4 changed files with 25 additions and 13 deletions

View File

@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## [1.3.0](https://git.archive.systems/Dezzpil/ivanovna.orm/compare/v1.2.0...v1.3.0) (2021-10-05)
### Features
* добавил управление трансформацией данных для репозитория ([017f735](https://git.archive.systems/Dezzpil/ivanovna.orm/commit/017f7356134c306c9ba46b19385c3e96444c613b))
## [1.2.0](https://git.archive.systems/Dezzpil/ivanovna.orm/compare/v1.1.3...v1.2.0) (2021-10-04)

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "ivna-orm",
"version": "1.2.0",
"version": "1.3.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "ivna-orm",
"version": "1.2.0",
"version": "1.3.0",
"license": "ISC",
"devDependencies": {
"@jest/test-sequencer": "^27.2.3",

View File

@ -1,6 +1,6 @@
{
"name": "ivna-orm",
"version": "1.2.0",
"version": "1.3.0",
"description": "Mini ORM for convenience",
"main": "dist/index.js",
"files": [

View File

@ -15,6 +15,8 @@ export abstract class Repo<T extends Entity<any>> {
protected _limit = 0
protected _offset = 0
private _transformer: (obj: any) => any
/**
* Возвращает объект соотв. сущности, например new App()
*/
@ -25,21 +27,24 @@ export abstract class Repo<T extends Entity<any>> {
*/
abstract Name(): string
_transformer: (object: any) => any
constructor(storage: Storage) {
constructor(storage: Storage, transformer?: (obj: any) => any) {
this._storage = storage
this._entity = this.Entity()
this.resetTransformer()
this.setTransformer(transformer)
}
resetTransformer() {
this._transformer = function (object: any): any {
const entity = this.Entity()
entity.data.fromObject(object)
entity._id = object._id
return entity
setTransformer(transformer?: (obj: any) => any): this {
if (transformer) {
this._transformer = transformer
} else {
this._transformer = function (object: any): any {
const entity = this.Entity()
entity.data.fromObject(object)
entity._id = object._id
return entity
}
}
return this
}
get storage(): Storage {