namirasoft-node 1.3.63 → 1.3.64

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.
@@ -1,105 +1,71 @@
1
1
  import { FilterItem } from "namirasoft-core";
2
- export interface IFilterableDatabase {
2
+ export interface IFilterableDatabase<WhereOptions> {
3
3
  getIn: (filter: FilterItem, values: string[]) => {
4
- condition: {
5
- [table: string]: string[];
6
- };
4
+ condition: WhereOptions;
7
5
  partial: boolean;
8
6
  };
9
7
  getNotIn: (filter: FilterItem, values: string[]) => {
10
- condition: {
11
- [table: string]: string[];
12
- };
8
+ condition: WhereOptions;
13
9
  partial: boolean;
14
10
  };
15
11
  getLike: (filter: FilterItem, value: string) => {
16
- condition: {
17
- [table: string]: string[];
18
- };
12
+ condition: WhereOptions;
19
13
  partial: boolean;
20
14
  };
21
15
  getNotLike: (filter: FilterItem, value: string) => {
22
- condition: {
23
- [table: string]: string[];
24
- };
16
+ condition: WhereOptions;
25
17
  partial: boolean;
26
18
  };
27
19
  getRegex: (filter: FilterItem, value: string) => {
28
- condition: {
29
- [table: string]: string[];
30
- };
20
+ condition: WhereOptions;
31
21
  partial: boolean;
32
22
  };
33
23
  getNotRegex: (filter: FilterItem, value: string) => {
34
- condition: {
35
- [table: string]: string[];
36
- };
24
+ condition: WhereOptions;
37
25
  partial: boolean;
38
26
  };
39
27
  getEmpty: (filter: FilterItem) => {
40
- condition: {
41
- [table: string]: string[];
42
- };
28
+ condition: WhereOptions;
43
29
  partial: boolean;
44
30
  };
45
31
  getNotEmpty: (filter: FilterItem) => {
46
- condition: {
47
- [table: string]: string[];
48
- };
32
+ condition: WhereOptions;
49
33
  partial: boolean;
50
34
  };
51
35
  getExists: (filter: FilterItem, not: boolean) => {
52
- condition: {
53
- [table: string]: string[];
54
- };
36
+ condition: WhereOptions;
55
37
  partial: boolean;
56
38
  };
57
39
  getStartsWith: (filter: FilterItem, value: string) => {
58
- condition: {
59
- [table: string]: string[];
60
- };
40
+ condition: WhereOptions;
61
41
  partial: boolean;
62
42
  };
63
43
  getNotStartsWith: (filter: FilterItem, value: string) => {
64
- condition: {
65
- [table: string]: string[];
66
- };
44
+ condition: WhereOptions;
67
45
  partial: boolean;
68
46
  };
69
47
  getEndsWith: (filter: FilterItem, value: string) => {
70
- condition: {
71
- [table: string]: string[];
72
- };
48
+ condition: WhereOptions;
73
49
  partial: boolean;
74
50
  };
75
51
  getNotEndsWith: (filter: FilterItem, value: string) => {
76
- condition: {
77
- [table: string]: string[];
78
- };
52
+ condition: WhereOptions;
79
53
  partial: boolean;
80
54
  };
81
55
  getLT: (filter: FilterItem, value: any) => {
82
- condition: {
83
- [table: string]: string[];
84
- };
56
+ condition: WhereOptions;
85
57
  partial: boolean;
86
58
  };
87
59
  getLTE: (filter: FilterItem, value: any) => {
88
- condition: {
89
- [table: string]: string[];
90
- };
60
+ condition: WhereOptions;
91
61
  partial: boolean;
92
62
  };
93
63
  getGT: (filter: FilterItem, value: any) => {
94
- condition: {
95
- [table: string]: string[];
96
- };
64
+ condition: WhereOptions;
97
65
  partial: boolean;
98
66
  };
99
67
  getGTE: (filter: FilterItem, value: any) => {
100
- condition: {
101
- [table: string]: string[];
102
- };
68
+ condition: WhereOptions;
103
69
  partial: boolean;
104
70
  };
105
71
  }
@@ -114,11 +80,9 @@ export declare abstract class BaseDatabase {
114
80
  offset: number;
115
81
  limit: number;
116
82
  };
117
- protected _getFiltersConditions(tables: {
83
+ protected _getFiltersConditions<WhereOptions>(tables: {
118
84
  [table: string]: string[];
119
- }, idatabase: IFilterableDatabase, filters?: FilterItem[] | undefined): {
120
- [table: string]: {
121
- [name: string]: any;
122
- }[];
85
+ }, idatabase: IFilterableDatabase<WhereOptions>, filters?: FilterItem[] | undefined): {
86
+ [table: string]: WhereOptions[];
123
87
  };
124
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BaseDatabase.js","sourceRoot":"","sources":["../src/BaseDatabase.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.3.63",
11
+ "version": "1.3.64",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/index.js",
@@ -1,24 +1,24 @@
1
1
  import { ErrorOperation, FilterItem, FilterItemOperator } from "namirasoft-core";
2
2
 
3
- export interface IFilterableDatabase
3
+ export interface IFilterableDatabase<WhereOptions>
4
4
  {
5
- getIn: (filter: FilterItem, values: string[]) => { condition: { [table: string]: string[] }, partial: boolean };
6
- getNotIn: (filter: FilterItem, values: string[]) => { condition: { [table: string]: string[] }, partial: boolean };
7
- getLike: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
8
- getNotLike: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
9
- getRegex: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
10
- getNotRegex: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
11
- getEmpty: (filter: FilterItem) => { condition: { [table: string]: string[] }, partial: boolean };
12
- getNotEmpty: (filter: FilterItem) => { condition: { [table: string]: string[] }, partial: boolean };
13
- getExists: (filter: FilterItem, not: boolean) => { condition: { [table: string]: string[] }, partial: boolean };
14
- getStartsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
15
- getNotStartsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
16
- getEndsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
17
- getNotEndsWith: (filter: FilterItem, value: string) => { condition: { [table: string]: string[] }, partial: boolean };
18
- getLT: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
19
- getLTE: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
20
- getGT: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
21
- getGTE: (filter: FilterItem, value: any) => { condition: { [table: string]: string[] }, partial: boolean };
5
+ getIn: (filter: FilterItem, values: string[]) => { condition: WhereOptions, partial: boolean };
6
+ getNotIn: (filter: FilterItem, values: string[]) => { condition: WhereOptions, partial: boolean };
7
+ getLike: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
8
+ getNotLike: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
9
+ getRegex: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
10
+ getNotRegex: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
11
+ getEmpty: (filter: FilterItem) => { condition: WhereOptions, partial: boolean };
12
+ getNotEmpty: (filter: FilterItem) => { condition: WhereOptions, partial: boolean };
13
+ getExists: (filter: FilterItem, not: boolean) => { condition: WhereOptions, partial: boolean };
14
+ getStartsWith: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
15
+ getNotStartsWith: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
16
+ getEndsWith: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
17
+ getNotEndsWith: (filter: FilterItem, value: string) => { condition: WhereOptions, partial: boolean };
18
+ getLT: (filter: FilterItem, value: any) => { condition: WhereOptions, partial: boolean };
19
+ getLTE: (filter: FilterItem, value: any) => { condition: WhereOptions, partial: boolean };
20
+ getGT: (filter: FilterItem, value: any) => { condition: WhereOptions, partial: boolean };
21
+ getGTE: (filter: FilterItem, value: any) => { condition: WhereOptions, partial: boolean };
22
22
  }
23
23
 
24
24
  export abstract class BaseDatabase
@@ -54,9 +54,9 @@ export abstract class BaseDatabase
54
54
  let limit = page_size;
55
55
  return { offset, limit };
56
56
  }
57
- protected _getFiltersConditions(tables: { [table: string]: string[] }, idatabase: IFilterableDatabase, filters?: FilterItem[] | undefined): { [table: string]: { [name: string]: any }[] }
57
+ protected _getFiltersConditions<WhereOptions>(tables: { [table: string]: string[] }, idatabase: IFilterableDatabase<WhereOptions>, filters?: FilterItem[] | undefined): { [table: string]: WhereOptions[] }
58
58
  {
59
- let ans: { [table: string]: { [name: string]: any }[] } = {};
59
+ let ans: { [table: string]: WhereOptions[] } = {};
60
60
  Object.keys(tables).forEach(table => ans[table] = []);
61
61
  if (filters)
62
62
  {
@@ -89,11 +89,11 @@ export abstract class BaseDatabase
89
89
  ErrorOperation.throwHTTP(400, `Invalid number values for: '${values.join(",")}'`);
90
90
  return nums;
91
91
  };
92
- let addCondition = (res: { condition: { [table: string]: string[] }, partial: boolean }) =>
92
+ let addCondition = (res: { condition: WhereOptions, partial: boolean }) =>
93
93
  {
94
94
  if (res.partial)
95
95
  {
96
- let wh: { [name: string]: any } = {};
96
+ let wh: any = {};
97
97
  wh[filter.column.name] = res.condition;
98
98
  ans[filter.table.name].push(wh);
99
99
  }