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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "onecore",
3
- "version": "0.0.23",
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/onecore"
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 repo: ViewRepository<T, ID>) {
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.repo.metadata ? this.repo.metadata() : undefined);
90
+ return (this.r.metadata ? this.r.metadata() : undefined);
87
91
  }
88
92
  keys(): string[] {
89
- return (this.repo.keys ? this.repo.keys() : []);
93
+ return (this.r.keys ? this.r.keys() : []);
90
94
  }
91
95
  all(ctx?: any): Promise<T[]> {
92
- return (this.repo.all ? this.repo.all() : Promise.resolve([]));
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.repo.load(id, ctx);;
99
+ return this.r.load(id, ctx);
96
100
  }
97
101
  exist(id: ID, ctx?: any): Promise<boolean> {
98
- return (this.repo.exist ? this.repo.exist(id, ctx) : Promise.resolve(false));
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, S extends Filter> extends GenericManager<T, ID> implements GenericSearchService<T, ID, number, S> {
127
- constructor(public find: (s: S, offset?: number, skip?: number|string, fields?: string[]) => Promise<SearchResult<T>>, repo: GenericRepository<T, ID>) {
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: S, limit?: number, offset?: number|string, fields?: string[]): Promise<SearchResult<T>> {
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
@@ -117,6 +117,7 @@ export interface ResultInfo<T> {
117
117
  value?: T;
118
118
  message?: string;
119
119
  }
120
+ export type Result<T> = number | ResultInfo<T>;
120
121
 
121
122
  export interface DiffModel<T, ID> {
122
123
  id?: ID;
@@ -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, S extends Filter>
6
- extends GenericRepository<T, ID>, SearchRepository<T, S> {
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, S extends Filter> {
5
- search(s: S, limit?: number, offset?: number|string, fields?: string[], ctx?: any): Promise<SearchResult<T>>;
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, S extends Filter>
6
- extends ViewRepository<T, ID>, SearchRepository<T, S> {
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, S extends Filter> extends GenericSearchService<T, ID, R, S>, DiffApprService<T, ID> {
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, S extends Filter>
6
- extends GenericService<T, ID, R>, SearchService<T, S> {
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, S extends Filter> {
4
+ export interface SearchService<T, F extends Filter> {
5
5
  keys?(): string[];
6
- search(s: S, limit?: number, offset?: number|string, fields?: string[], ctx?: any): Promise<SearchResult<T>>;
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, S extends Filter>
6
- extends ViewService<T, ID>, SearchService<T, S> {
5
+ export interface ViewSearchService<T, ID, F extends Filter>
6
+ extends ViewService<T, ID>, SearchService<T, F> {
7
7
  }