@taylordb/shared 0.4.1 → 0.4.2

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.
@@ -84,6 +84,8 @@ type TextFilters = {
84
84
  startsWith: string;
85
85
  endsWith: string;
86
86
  doesNotContain: string;
87
+ isEmpty: never;
88
+ isNotEmpty: never;
87
89
  };
88
90
  type LinkFilters = {
89
91
  hasAnyOf: number[];
@@ -91,6 +93,21 @@ type LinkFilters = {
91
93
  isExactly: number[];
92
94
  '=': number;
93
95
  hasNoneOf: number[];
96
+ contains: string;
97
+ doesNotContain: string;
98
+ isEmpty: never;
99
+ isNotEmpty: never;
100
+ };
101
+ type SelectFilters<O extends readonly string[]> = {
102
+ hasAnyOf: O[number][];
103
+ hasAllOf: O[number][];
104
+ isExactly: O[number][];
105
+ '=': O[number];
106
+ hasNoneOf: O[number][];
107
+ contains: string;
108
+ doesNotContain: string;
109
+ isEmpty: never;
110
+ isNotEmpty: never;
94
111
  };
95
112
  type LinkAggregations = {
96
113
  empty: number;
@@ -99,12 +116,16 @@ type LinkAggregations = {
99
116
  percentFilled: number;
100
117
  };
101
118
  type NumberFilters = {
119
+ '=': number;
120
+ '!=': number;
102
121
  '>': number;
103
122
  '>=': number;
104
123
  '<': number;
105
124
  '<=': number;
106
125
  hasAnyOf: number[];
107
126
  hasNoneOf: number[];
127
+ isEmpty: never;
128
+ isNotEmpty: never;
108
129
  };
109
130
  type NumberAggregations = {
110
131
  sum: number;
@@ -144,7 +165,9 @@ export type ColumnType<S, U, I, R extends boolean, F extends {
144
165
  };
145
166
  export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
146
167
  export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
147
- export type ALinkColumnType<T extends string, S, U, I, R extends boolean> = ColumnType<S, U, I, R, LinkFilters, LinkAggregations> & {
168
+ export type ALinkColumnType<T extends string, S, U, I, R extends boolean, F extends {
169
+ [key: string]: any;
170
+ } = LinkFilters, A extends LinkAggregations = LinkAggregations> = ColumnType<S, U, I, R, F, A> & {
148
171
  linkedTo: T;
149
172
  };
150
173
  export type LinkColumnType<T extends string, R extends boolean> = ALinkColumnType<T, object, number | number[] | {
@@ -155,6 +178,7 @@ export type AttachmentColumnType<R extends boolean> = ALinkColumnType<'attachmen
155
178
  newIds: number[];
156
179
  deletedIds: number[];
157
180
  } | number[], Attachment[] | number[], R>;
181
+ export type SingleSelectColumnType<O extends readonly string[], R extends boolean> = ALinkColumnType<'selectTable', O[number], O[number] | O[number][], O[number] | O[number][], R, SelectFilters<O>>;
158
182
  export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
159
183
  export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
160
184
  export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;
@@ -84,6 +84,8 @@ type TextFilters = {
84
84
  startsWith: string;
85
85
  endsWith: string;
86
86
  doesNotContain: string;
87
+ isEmpty: never;
88
+ isNotEmpty: never;
87
89
  };
88
90
  type LinkFilters = {
89
91
  hasAnyOf: number[];
@@ -91,6 +93,21 @@ type LinkFilters = {
91
93
  isExactly: number[];
92
94
  '=': number;
93
95
  hasNoneOf: number[];
96
+ contains: string;
97
+ doesNotContain: string;
98
+ isEmpty: never;
99
+ isNotEmpty: never;
100
+ };
101
+ type SelectFilters<O extends readonly string[]> = {
102
+ hasAnyOf: O[number][];
103
+ hasAllOf: O[number][];
104
+ isExactly: O[number][];
105
+ '=': O[number];
106
+ hasNoneOf: O[number][];
107
+ contains: string;
108
+ doesNotContain: string;
109
+ isEmpty: never;
110
+ isNotEmpty: never;
94
111
  };
95
112
  type LinkAggregations = {
96
113
  empty: number;
@@ -99,12 +116,16 @@ type LinkAggregations = {
99
116
  percentFilled: number;
100
117
  };
101
118
  type NumberFilters = {
119
+ '=': number;
120
+ '!=': number;
102
121
  '>': number;
103
122
  '>=': number;
104
123
  '<': number;
105
124
  '<=': number;
106
125
  hasAnyOf: number[];
107
126
  hasNoneOf: number[];
127
+ isEmpty: never;
128
+ isNotEmpty: never;
108
129
  };
109
130
  type NumberAggregations = {
110
131
  sum: number;
@@ -144,7 +165,9 @@ export type ColumnType<S, U, I, R extends boolean, F extends {
144
165
  };
145
166
  export type DateColumnType<R extends boolean> = ColumnType<string, string, string, R, DateFilters, DateAggregations>;
146
167
  export type TextColumnType<R extends boolean> = ColumnType<string, string, string, R, TextFilters>;
147
- export type ALinkColumnType<T extends string, S, U, I, R extends boolean> = ColumnType<S, U, I, R, LinkFilters, LinkAggregations> & {
168
+ export type ALinkColumnType<T extends string, S, U, I, R extends boolean, F extends {
169
+ [key: string]: any;
170
+ } = LinkFilters, A extends LinkAggregations = LinkAggregations> = ColumnType<S, U, I, R, F, A> & {
148
171
  linkedTo: T;
149
172
  };
150
173
  export type LinkColumnType<T extends string, R extends boolean> = ALinkColumnType<T, object, number | number[] | {
@@ -155,6 +178,7 @@ export type AttachmentColumnType<R extends boolean> = ALinkColumnType<'attachmen
155
178
  newIds: number[];
156
179
  deletedIds: number[];
157
180
  } | number[], Attachment[] | number[], R>;
181
+ export type SingleSelectColumnType<O extends readonly string[], R extends boolean> = ALinkColumnType<'selectTable', O[number], O[number] | O[number][], O[number] | O[number][], R, SelectFilters<O>>;
158
182
  export type NumberColumnType<R extends boolean> = ColumnType<number, number, number, R, NumberFilters, NumberAggregations>;
159
183
  export type CheckboxColumnType<R extends boolean> = ColumnType<boolean, boolean, boolean, R, CheckboxFilters>;
160
184
  export type AutoGeneratedNumberColumnType = ColumnType<number, never, never, false, NumberFilters, NumberAggregations>;