4 Commits
5 changed files with 30 additions and 11 deletions

No files matched your search

+14
View File
@@ -2,6 +2,20 @@
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. 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.1](https://git.archive.systems/Dezzpil/ivanovna.orm/compare/v1.3.0...v1.3.1) (2021-10-05)
### Bug Fixes
* обновил API типов ([ead279c](https://git.archive.systems/Dezzpil/ivanovna.orm/commit/ead279ca5dbcc391aa30b224195295a4d1f81684))
## [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) ## [1.2.0](https://git.archive.systems/Dezzpil/ivanovna.orm/compare/v1.1.3...v1.2.0) (2021-10-04)
Vendored
+3 -3
View File
@@ -66,6 +66,7 @@ export declare abstract class Repo<T extends Entity<any>> {
protected _entity: T; protected _entity: T;
protected _limit: number; protected _limit: number;
protected _offset: number; protected _offset: number;
private _transformer;
/** /**
* Возвращает объект соотв. сущности, например new App() * Возвращает объект соотв. сущности, например new App()
*/ */
@@ -74,9 +75,8 @@ export declare abstract class Repo<T extends Entity<any>> {
* Возвращает название коллекции/таблицы/... хранящей записи соотв. сущностей * Возвращает название коллекции/таблицы/... хранящей записи соотв. сущностей
*/ */
abstract Name(): string; abstract Name(): string;
_transformer: (object: any) => any; constructor(storage: Storage_2, transformer?: (obj: any) => any);
constructor(storage: Storage_2); setTransformer(transformer?: (obj: any) => any): this;
resetTransformer(): void;
get storage(): Storage_2; get storage(): Storage_2;
save(entity: T): Promise<this>; save(entity: T): Promise<this>;
findById(id: string): Promise<T | null>; findById(id: string): Promise<T | null>;
+2 -2
View File
@@ -1,12 +1,12 @@
{ {
"name": "ivna-orm", "name": "ivna-orm",
"version": "1.2.0", "version": "1.3.1",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "ivna-orm", "name": "ivna-orm",
"version": "1.2.0", "version": "1.3.1",
"license": "ISC", "license": "ISC",
"devDependencies": { "devDependencies": {
"@jest/test-sequencer": "^27.2.3", "@jest/test-sequencer": "^27.2.3",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "ivna-orm", "name": "ivna-orm",
"version": "1.2.0", "version": "1.3.1",
"description": "Mini ORM for convenience", "description": "Mini ORM for convenience",
"main": "dist/index.js", "main": "dist/index.js",
"files": [ "files": [
+10 -5
View File
@@ -15,6 +15,8 @@ export abstract class Repo<T extends Entity<any>> {
protected _limit = 0 protected _limit = 0
protected _offset = 0 protected _offset = 0
private _transformer: (obj: any) => any
/** /**
* Возвращает объект соотв. сущности, например new App() * Возвращает объект соотв. сущности, например new App()
*/ */
@@ -25,15 +27,16 @@ export abstract class Repo<T extends Entity<any>> {
*/ */
abstract Name(): string abstract Name(): string
_transformer: (object: any) => any constructor(storage: Storage, transformer?: (obj: any) => any) {
constructor(storage: Storage) {
this._storage = storage this._storage = storage
this._entity = this.Entity() this._entity = this.Entity()
this.resetTransformer() this.setTransformer(transformer)
} }
resetTransformer() { setTransformer(transformer?: (obj: any) => any): this {
if (transformer) {
this._transformer = transformer
} else {
this._transformer = function (object: any): any { this._transformer = function (object: any): any {
const entity = this.Entity() const entity = this.Entity()
entity.data.fromObject(object) entity.data.fromObject(object)
@@ -41,6 +44,8 @@ export abstract class Repo<T extends Entity<any>> {
return entity return entity
} }
} }
return this
}
get storage(): Storage { get storage(): Storage {
return this._storage return this._storage