onecore 0.0.23 → 0.0.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +2 -2
- package/src/index.ts +18 -14
- package/src/model.ts +1 -0
- package/src/repository/GenericSearchRepository.ts +2 -2
- package/src/repository/SearchRepository.ts +2 -2
- package/src/repository/ViewSearchRepository.ts +2 -2
- package/src/service/GenericSearchDiffApprService.ts +1 -1
- package/src/service/GenericSearchService.ts +6 -3
- package/src/service/SearchService.ts +2 -2
- package/src/service/ViewSearchService.ts +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "onecore",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.27",
|
|
4
4
|
"description": "onecore",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"types": "./src/index.ts",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"repository": {
|
|
19
19
|
"type": "git",
|
|
20
|
-
"url": "git@github.com/core-ts/
|
|
20
|
+
"url": "git@github.com/core-ts/core"
|
|
21
21
|
},
|
|
22
22
|
"keywords": [
|
|
23
23
|
"one",
|
package/src/index.ts
CHANGED
|
@@ -37,9 +37,6 @@ export * from './repository/SearchRepository';
|
|
|
37
37
|
export * from './repository/ViewSearchRepository';
|
|
38
38
|
export * from './repository/GenericSearchRepository';
|
|
39
39
|
|
|
40
|
-
import {GenericSearchService} from './service/GenericSearchService';
|
|
41
|
-
export {GenericSearchService as Service};
|
|
42
|
-
|
|
43
40
|
export * from './service/ViewService';
|
|
44
41
|
export * from './service/GenericService';
|
|
45
42
|
export * from './service/SearchService';
|
|
@@ -66,16 +63,23 @@ export * from './video';
|
|
|
66
63
|
export * from './health';
|
|
67
64
|
export * from './logger';
|
|
68
65
|
|
|
66
|
+
export type Log = (msg: string) => void;
|
|
67
|
+
export type LogFunc = Log;
|
|
68
|
+
|
|
69
69
|
import { Attributes } from './metadata';
|
|
70
70
|
import { Filter, SearchResult } from './model';
|
|
71
71
|
// import { GenericRepository } from './repository/GenericRepository';
|
|
72
72
|
import { ViewRepository } from './repository/ViewRepository';
|
|
73
|
+
import { GenericSearchService } from './service/GenericSearchService';
|
|
73
74
|
// import { GenericSearchService } from './service/GenericSearchService';
|
|
74
75
|
import { GenericService } from './service/GenericService';
|
|
75
76
|
import { ViewService } from './service/ViewService';
|
|
76
77
|
|
|
78
|
+
export type Search<T, F> = (s: F, limit?: number, offset?: number | string, fields?: string[]) => Promise<SearchResult<T>>;
|
|
79
|
+
export type SearchFunc<T, F> = Search<T, F>;
|
|
80
|
+
|
|
77
81
|
export class ViewManager<T, ID> implements ViewService<T, ID> {
|
|
78
|
-
constructor(private
|
|
82
|
+
constructor(private r: ViewRepository<T, ID>) {
|
|
79
83
|
this.metadata = this.metadata.bind(this);
|
|
80
84
|
this.keys = this.keys.bind(this);
|
|
81
85
|
this.all = this.all.bind(this);
|
|
@@ -83,19 +87,19 @@ export class ViewManager<T, ID> implements ViewService<T, ID> {
|
|
|
83
87
|
this.exist = this.exist.bind(this);
|
|
84
88
|
}
|
|
85
89
|
metadata(): Attributes|undefined {
|
|
86
|
-
return (this.
|
|
90
|
+
return (this.r.metadata ? this.r.metadata() : undefined);
|
|
87
91
|
}
|
|
88
92
|
keys(): string[] {
|
|
89
|
-
return (this.
|
|
93
|
+
return (this.r.keys ? this.r.keys() : []);
|
|
90
94
|
}
|
|
91
95
|
all(ctx?: any): Promise<T[]> {
|
|
92
|
-
return (this.
|
|
96
|
+
return (this.r.all ? this.r.all() : Promise.resolve([]));
|
|
93
97
|
}
|
|
94
98
|
load(id: ID, ctx?: any): Promise<T | null> {
|
|
95
|
-
return this.
|
|
99
|
+
return this.r.load(id, ctx);
|
|
96
100
|
}
|
|
97
101
|
exist(id: ID, ctx?: any): Promise<boolean> {
|
|
98
|
-
return (this.
|
|
102
|
+
return (this.r.exist ? this.r.exist(id, ctx) : Promise.resolve(false));
|
|
99
103
|
}
|
|
100
104
|
}
|
|
101
105
|
export class GenericManager<T, ID> extends ViewManager<T, ID> implements GenericService<T, ID, number> {
|
|
@@ -108,10 +112,10 @@ export class GenericManager<T, ID> extends ViewManager<T, ID> implements Generic
|
|
|
108
112
|
this.delete = this.delete.bind(this);
|
|
109
113
|
}
|
|
110
114
|
insert(obj: T, ctx?: any): Promise<number> {
|
|
111
|
-
return this.repository.insert(obj, ctx)
|
|
115
|
+
return this.repository.insert(obj, ctx);
|
|
112
116
|
}
|
|
113
117
|
update(obj: T, ctx?: any): Promise<number> {
|
|
114
|
-
return this.repository.update(obj, ctx)
|
|
118
|
+
return this.repository.update(obj, ctx);
|
|
115
119
|
}
|
|
116
120
|
patch(obj: T, ctx?: any): Promise<number> {
|
|
117
121
|
return (this.repository.patch ? this.repository.patch(obj, ctx) : Promise.resolve(-1));
|
|
@@ -123,12 +127,12 @@ export class GenericManager<T, ID> extends ViewManager<T, ID> implements Generic
|
|
|
123
127
|
return (this.repository.delete ? this.repository.delete(id, ctx) : Promise.resolve(-1));
|
|
124
128
|
}
|
|
125
129
|
}
|
|
126
|
-
export class Manager<T, ID,
|
|
127
|
-
constructor(public find:
|
|
130
|
+
export class Manager<T, ID, F extends Filter> extends GenericManager<T, ID> implements GenericSearchService<T, ID, number, F> {
|
|
131
|
+
constructor(public find: Search<T, F>, repo: GenericRepository<T, ID>) {
|
|
128
132
|
super(repo);
|
|
129
133
|
this.search = this.search.bind(this);
|
|
130
134
|
}
|
|
131
|
-
search(s:
|
|
135
|
+
search(s: F, limit?: number, offset?: number|string, fields?: string[]): Promise<SearchResult<T>> {
|
|
132
136
|
return this.find(s, limit, offset, fields);
|
|
133
137
|
}
|
|
134
138
|
}
|
package/src/model.ts
CHANGED
|
@@ -2,6 +2,6 @@ import {Filter} from '../model';
|
|
|
2
2
|
import {GenericRepository} from './GenericRepository';
|
|
3
3
|
import {SearchRepository} from './SearchRepository';
|
|
4
4
|
|
|
5
|
-
export interface GenericSearchRepository<T, ID,
|
|
6
|
-
extends GenericRepository<T, ID>, SearchRepository<T,
|
|
5
|
+
export interface GenericSearchRepository<T, ID, F extends Filter>
|
|
6
|
+
extends GenericRepository<T, ID>, SearchRepository<T, F> {
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {Filter} from '../model';
|
|
2
2
|
import {SearchResult} from '../model';
|
|
3
3
|
|
|
4
|
-
export interface SearchRepository<T,
|
|
5
|
-
search(s:
|
|
4
|
+
export interface SearchRepository<T, F extends Filter> {
|
|
5
|
+
search(s: F, limit?: number, offset?: number|string, fields?: string[], ctx?: any): Promise<SearchResult<T>>;
|
|
6
6
|
}
|
|
@@ -2,6 +2,6 @@ import {Filter} from '../model';
|
|
|
2
2
|
import {SearchRepository} from './SearchRepository';
|
|
3
3
|
import {ViewRepository} from './ViewRepository';
|
|
4
4
|
|
|
5
|
-
export interface ViewSearchRepository<T, ID,
|
|
6
|
-
extends ViewRepository<T, ID>, SearchRepository<T,
|
|
5
|
+
export interface ViewSearchRepository<T, ID, F extends Filter>
|
|
6
|
+
extends ViewRepository<T, ID>, SearchRepository<T, F> {
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@ import {Filter} from '../model';
|
|
|
2
2
|
import {DiffApprService} from './DiffApprService';
|
|
3
3
|
import {GenericSearchService} from './GenericSearchService';
|
|
4
4
|
|
|
5
|
-
export interface GenericSearchDiffApprService<T, ID, R,
|
|
5
|
+
export interface GenericSearchDiffApprService<T, ID, R, F extends Filter> extends GenericSearchService<T, ID, R, F>, DiffApprService<T, ID> {
|
|
6
6
|
|
|
7
7
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
import {Filter} from '../model';
|
|
1
|
+
import {Filter, Result} from '../model';
|
|
2
2
|
import {GenericService} from './GenericService';
|
|
3
3
|
import {SearchService} from './SearchService';
|
|
4
4
|
|
|
5
|
-
export interface GenericSearchService<T, ID, R,
|
|
6
|
-
extends GenericService<T, ID, R>, SearchService<T,
|
|
5
|
+
export interface GenericSearchService<T, ID, R, F extends Filter>
|
|
6
|
+
extends GenericService<T, ID, R>, SearchService<T, F> {
|
|
7
|
+
}
|
|
8
|
+
export interface Service<T, ID, F extends Filter> extends GenericSearchService<T, ID, Result<T>, F> {
|
|
9
|
+
|
|
7
10
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {Filter} from '../model';
|
|
2
2
|
import {SearchResult} from '../model';
|
|
3
3
|
|
|
4
|
-
export interface SearchService<T,
|
|
4
|
+
export interface SearchService<T, F extends Filter> {
|
|
5
5
|
keys?(): string[];
|
|
6
|
-
search(s:
|
|
6
|
+
search(s: F, limit?: number, offset?: number|string, fields?: string[], ctx?: any): Promise<SearchResult<T>>;
|
|
7
7
|
}
|
|
@@ -2,6 +2,6 @@ import {Filter} from '../model';
|
|
|
2
2
|
import {SearchService} from './SearchService';
|
|
3
3
|
import {ViewService} from './ViewService';
|
|
4
4
|
|
|
5
|
-
export interface ViewSearchService<T, ID,
|
|
6
|
-
extends ViewService<T, ID>, SearchService<T,
|
|
5
|
+
export interface ViewSearchService<T, ID, F extends Filter>
|
|
6
|
+
extends ViewService<T, ID>, SearchService<T, F> {
|
|
7
7
|
}
|