@taylordb/shared 0.3.0 → 0.4.0
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/dist/cjs/column-types.d.ts +100 -7
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js +0 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/column-types.d.ts +100 -7
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/cjs/table-types.d.ts +0 -26
- package/dist/cjs/table-types.js +0 -9
- package/dist/cjs/table-types.js.map +0 -1
- package/dist/esm/table-types.d.ts +0 -26
- package/dist/esm/table-types.js +0 -8
- package/dist/esm/table-types.js.map +0 -1
|
@@ -4,18 +4,111 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
type IsWithinOperatorValue = 'pastWeek' | 'pastMonth' | 'pastYear' | 'nextWeek' | 'nextMonth' | 'nextYear' | 'daysFromNow' | 'daysAgo' | 'currentWeek' | 'currentMonth' | 'currentYear';
|
|
8
|
+
type DefaultDateFilterValue = ('today' | 'tomorrow' | 'yesterday' | 'oneWeekAgo' | 'oneWeekFromNow' | 'oneMonthAgo' | 'oneMonthFromNow') | ['exactDay' | 'exactTimestamp', string] | ['daysAgo' | 'daysFromNow', number];
|
|
9
|
+
type DateFilters = {
|
|
10
|
+
'=': DefaultDateFilterValue;
|
|
11
|
+
'!=': DefaultDateFilterValue;
|
|
12
|
+
'<': DefaultDateFilterValue;
|
|
13
|
+
'>': DefaultDateFilterValue;
|
|
14
|
+
'<=': DefaultDateFilterValue;
|
|
15
|
+
'>=': DefaultDateFilterValue;
|
|
16
|
+
isWithIn: IsWithinOperatorValue | {
|
|
17
|
+
value: 'daysAgo' | 'daysFromNow';
|
|
18
|
+
date: number;
|
|
19
|
+
};
|
|
20
|
+
isEmpty: boolean;
|
|
21
|
+
isNotEmpty: boolean;
|
|
22
|
+
};
|
|
23
|
+
type DateAggregations = {
|
|
24
|
+
empty: number;
|
|
25
|
+
filled: number;
|
|
26
|
+
unique: number;
|
|
27
|
+
percentEmpty: number;
|
|
28
|
+
percentFilled: number;
|
|
29
|
+
percentUnique: number;
|
|
30
|
+
min: number | null;
|
|
31
|
+
max: number | null;
|
|
32
|
+
daysRange: number | null;
|
|
33
|
+
monthRange: number | null;
|
|
34
|
+
};
|
|
35
|
+
type TextFilters = {
|
|
36
|
+
'=': string;
|
|
37
|
+
'!=': string;
|
|
38
|
+
caseEqual: string;
|
|
39
|
+
hasAnyOf: string[];
|
|
40
|
+
contains: string;
|
|
41
|
+
startsWith: string;
|
|
42
|
+
endsWith: string;
|
|
43
|
+
doesNotContain: string;
|
|
44
|
+
};
|
|
45
|
+
type LinkFilters = {
|
|
46
|
+
hasAnyOf: number[];
|
|
47
|
+
hasAllOf: number[];
|
|
48
|
+
isExactly: number[];
|
|
49
|
+
'=': number;
|
|
50
|
+
hasNoneOf: number[];
|
|
51
|
+
};
|
|
52
|
+
type LinkAggregations = {
|
|
53
|
+
empty: number;
|
|
54
|
+
filled: number;
|
|
55
|
+
percentEmpty: number;
|
|
56
|
+
percentFilled: number;
|
|
57
|
+
};
|
|
58
|
+
type NumberFilters = {
|
|
59
|
+
'>': number;
|
|
60
|
+
'>=': number;
|
|
61
|
+
'<': number;
|
|
62
|
+
'<=': number;
|
|
63
|
+
hasAnyOf: number[];
|
|
64
|
+
hasNoneOf: number[];
|
|
65
|
+
};
|
|
66
|
+
type NumberAggregations = {
|
|
67
|
+
sum: number;
|
|
68
|
+
average: number;
|
|
69
|
+
median: number;
|
|
70
|
+
min: number | null;
|
|
71
|
+
max: number | null;
|
|
72
|
+
range: number;
|
|
73
|
+
standardDeviation: number;
|
|
74
|
+
histogram: Record<string, number>;
|
|
75
|
+
empty: number;
|
|
76
|
+
filled: number;
|
|
77
|
+
unique: number;
|
|
78
|
+
percentEmpty: number;
|
|
79
|
+
percentFilled: number;
|
|
80
|
+
percentUnique: number;
|
|
81
|
+
};
|
|
82
|
+
type CheckboxFilters = {
|
|
83
|
+
'=': number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* Column types
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
export type ColumnType<S, U, I, R extends boolean, F extends {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
} = object, A extends {
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
} = object> = {
|
|
8
95
|
raw: S;
|
|
9
96
|
insert: I;
|
|
10
97
|
update: U;
|
|
11
|
-
|
|
98
|
+
filters: F;
|
|
99
|
+
aggregations: A;
|
|
100
|
+
isRequired: R;
|
|
12
101
|
};
|
|
13
|
-
export type
|
|
14
|
-
export type
|
|
102
|
+
export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
|
|
103
|
+
export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
|
|
104
|
+
export type LinkColumnType<T extends string, R extends boolean> = ColumnType<object, number | number[] | {
|
|
15
105
|
newIds: number[];
|
|
16
106
|
deletedIds: number[];
|
|
17
|
-
} |
|
|
107
|
+
}, number | number[], R, LinkFilters, LinkAggregations> & {
|
|
18
108
|
linkedTo: T;
|
|
19
109
|
};
|
|
20
|
-
export type NumberColumnType = ColumnType<number
|
|
21
|
-
export type CheckboxColumnType = ColumnType<boolean
|
|
110
|
+
export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
|
|
111
|
+
export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
|
|
112
|
+
export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;
|
|
113
|
+
export type AutoGeneratedDateColumnType = ColumnType<string, never, never, false, DateFilters, DateAggregations>;
|
|
114
|
+
export {};
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
|
@@ -17,6 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./@types/index.js"), exports);
|
|
18
18
|
__exportStar(require("./column-types.js"), exports);
|
|
19
19
|
__exportStar(require("./constants/index.js"), exports);
|
|
20
|
-
__exportStar(require("./table-types.js"), exports);
|
|
21
20
|
__exportStar(require("./utilities/index.js"), exports);
|
|
22
21
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC;AAClC,uDAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,oDAAkC;AAClC,uDAAqC;AACrC,uDAAqC"}
|
|
@@ -4,18 +4,111 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
|
|
7
|
+
type IsWithinOperatorValue = 'pastWeek' | 'pastMonth' | 'pastYear' | 'nextWeek' | 'nextMonth' | 'nextYear' | 'daysFromNow' | 'daysAgo' | 'currentWeek' | 'currentMonth' | 'currentYear';
|
|
8
|
+
type DefaultDateFilterValue = ('today' | 'tomorrow' | 'yesterday' | 'oneWeekAgo' | 'oneWeekFromNow' | 'oneMonthAgo' | 'oneMonthFromNow') | ['exactDay' | 'exactTimestamp', string] | ['daysAgo' | 'daysFromNow', number];
|
|
9
|
+
type DateFilters = {
|
|
10
|
+
'=': DefaultDateFilterValue;
|
|
11
|
+
'!=': DefaultDateFilterValue;
|
|
12
|
+
'<': DefaultDateFilterValue;
|
|
13
|
+
'>': DefaultDateFilterValue;
|
|
14
|
+
'<=': DefaultDateFilterValue;
|
|
15
|
+
'>=': DefaultDateFilterValue;
|
|
16
|
+
isWithIn: IsWithinOperatorValue | {
|
|
17
|
+
value: 'daysAgo' | 'daysFromNow';
|
|
18
|
+
date: number;
|
|
19
|
+
};
|
|
20
|
+
isEmpty: boolean;
|
|
21
|
+
isNotEmpty: boolean;
|
|
22
|
+
};
|
|
23
|
+
type DateAggregations = {
|
|
24
|
+
empty: number;
|
|
25
|
+
filled: number;
|
|
26
|
+
unique: number;
|
|
27
|
+
percentEmpty: number;
|
|
28
|
+
percentFilled: number;
|
|
29
|
+
percentUnique: number;
|
|
30
|
+
min: number | null;
|
|
31
|
+
max: number | null;
|
|
32
|
+
daysRange: number | null;
|
|
33
|
+
monthRange: number | null;
|
|
34
|
+
};
|
|
35
|
+
type TextFilters = {
|
|
36
|
+
'=': string;
|
|
37
|
+
'!=': string;
|
|
38
|
+
caseEqual: string;
|
|
39
|
+
hasAnyOf: string[];
|
|
40
|
+
contains: string;
|
|
41
|
+
startsWith: string;
|
|
42
|
+
endsWith: string;
|
|
43
|
+
doesNotContain: string;
|
|
44
|
+
};
|
|
45
|
+
type LinkFilters = {
|
|
46
|
+
hasAnyOf: number[];
|
|
47
|
+
hasAllOf: number[];
|
|
48
|
+
isExactly: number[];
|
|
49
|
+
'=': number;
|
|
50
|
+
hasNoneOf: number[];
|
|
51
|
+
};
|
|
52
|
+
type LinkAggregations = {
|
|
53
|
+
empty: number;
|
|
54
|
+
filled: number;
|
|
55
|
+
percentEmpty: number;
|
|
56
|
+
percentFilled: number;
|
|
57
|
+
};
|
|
58
|
+
type NumberFilters = {
|
|
59
|
+
'>': number;
|
|
60
|
+
'>=': number;
|
|
61
|
+
'<': number;
|
|
62
|
+
'<=': number;
|
|
63
|
+
hasAnyOf: number[];
|
|
64
|
+
hasNoneOf: number[];
|
|
65
|
+
};
|
|
66
|
+
type NumberAggregations = {
|
|
67
|
+
sum: number;
|
|
68
|
+
average: number;
|
|
69
|
+
median: number;
|
|
70
|
+
min: number | null;
|
|
71
|
+
max: number | null;
|
|
72
|
+
range: number;
|
|
73
|
+
standardDeviation: number;
|
|
74
|
+
histogram: Record<string, number>;
|
|
75
|
+
empty: number;
|
|
76
|
+
filled: number;
|
|
77
|
+
unique: number;
|
|
78
|
+
percentEmpty: number;
|
|
79
|
+
percentFilled: number;
|
|
80
|
+
percentUnique: number;
|
|
81
|
+
};
|
|
82
|
+
type CheckboxFilters = {
|
|
83
|
+
'=': number;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
*
|
|
87
|
+
* Column types
|
|
88
|
+
*
|
|
89
|
+
*/
|
|
90
|
+
export type ColumnType<S, U, I, R extends boolean, F extends {
|
|
91
|
+
[key: string]: any;
|
|
92
|
+
} = object, A extends {
|
|
93
|
+
[key: string]: any;
|
|
94
|
+
} = object> = {
|
|
8
95
|
raw: S;
|
|
9
96
|
insert: I;
|
|
10
97
|
update: U;
|
|
11
|
-
|
|
98
|
+
filters: F;
|
|
99
|
+
aggregations: A;
|
|
100
|
+
isRequired: R;
|
|
12
101
|
};
|
|
13
|
-
export type
|
|
14
|
-
export type
|
|
102
|
+
export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
|
|
103
|
+
export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
|
|
104
|
+
export type LinkColumnType<T extends string, R extends boolean> = ColumnType<object, number | number[] | {
|
|
15
105
|
newIds: number[];
|
|
16
106
|
deletedIds: number[];
|
|
17
|
-
} |
|
|
107
|
+
}, number | number[], R, LinkFilters, LinkAggregations> & {
|
|
18
108
|
linkedTo: T;
|
|
19
109
|
};
|
|
20
|
-
export type NumberColumnType = ColumnType<number
|
|
21
|
-
export type CheckboxColumnType = ColumnType<boolean
|
|
110
|
+
export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
|
|
111
|
+
export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
|
|
112
|
+
export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;
|
|
113
|
+
export type AutoGeneratedDateColumnType = ColumnType<string, never, never, false, DateFilters, DateAggregations>;
|
|
114
|
+
export {};
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC"}
|