@aws-amplify/datastore 3.14.5-unstable.2 → 3.14.5
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/CHANGELOG.md +19 -0
- package/build.js +5 -0
- package/dist/aws-amplify-datastore.js +92853 -0
- package/dist/aws-amplify-datastore.js.map +1 -0
- package/dist/aws-amplify-datastore.min.js +65 -0
- package/dist/aws-amplify-datastore.min.js.map +1 -0
- package/index.js +7 -0
- package/lib/authModeStrategies/multiAuthStrategy.js +64 -6
- package/lib/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib/datastore/datastore.js +297 -703
- package/lib/datastore/datastore.js.map +1 -1
- package/lib/index.js +4 -6
- package/lib/index.js.map +1 -1
- package/lib/predicates/index.js +6 -127
- package/lib/predicates/index.js.map +1 -1
- package/lib/predicates/sort.js +4 -10
- package/lib/predicates/sort.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageAdapter.js +381 -138
- package/lib/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib/storage/adapter/AsyncStorageDatabase.js +98 -37
- package/lib/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.js +67 -16
- package/lib/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib/storage/adapter/InMemoryStore.native.js +4 -2
- package/lib/storage/adapter/InMemoryStore.native.js.map +1 -1
- package/lib/storage/adapter/IndexedDBAdapter.js +420 -272
- package/lib/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.js +5 -3
- package/lib/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib/storage/adapter/getDefaultAdapter/index.native.js +4 -2
- package/lib/storage/adapter/getDefaultAdapter/index.native.js.map +1 -1
- package/lib/storage/storage.js +143 -72
- package/lib/storage/storage.js.map +1 -1
- package/lib/sync/datastoreConnectivity.js +55 -6
- package/lib/sync/datastoreConnectivity.js.map +1 -1
- package/lib/sync/datastoreReachability/index.native.js +4 -2
- package/lib/sync/datastoreReachability/index.native.js.map +1 -1
- package/lib/sync/index.js +124 -49
- package/lib/sync/index.js.map +1 -1
- package/lib/sync/merger.js +74 -8
- package/lib/sync/merger.js.map +1 -1
- package/lib/sync/outbox.js +97 -24
- package/lib/sync/outbox.js.map +1 -1
- package/lib/sync/processors/errorMaps.js +35 -5
- package/lib/sync/processors/errorMaps.js.map +1 -1
- package/lib/sync/processors/mutation.js +131 -47
- package/lib/sync/processors/mutation.js.map +1 -1
- package/lib/sync/processors/subscription.js +102 -29
- package/lib/sync/processors/subscription.js.map +1 -1
- package/lib/sync/processors/sync.js +102 -26
- package/lib/sync/processors/sync.js.map +1 -1
- package/lib/sync/utils.js +103 -40
- package/lib/sync/utils.js.map +1 -1
- package/lib/types.js +39 -9
- package/lib/types.js.map +1 -1
- package/lib/util.js +188 -192
- package/lib/util.js.map +1 -1
- package/lib-esm/authModeStrategies/multiAuthStrategy.js +57 -2
- package/lib-esm/authModeStrategies/multiAuthStrategy.js.map +1 -1
- package/lib-esm/datastore/datastore.d.ts +8 -59
- package/lib-esm/datastore/datastore.js +234 -642
- package/lib-esm/datastore/datastore.js.map +1 -1
- package/lib-esm/index.d.ts +2 -3
- package/lib-esm/index.js +1 -2
- package/lib-esm/index.js.map +1 -1
- package/lib-esm/predicates/index.d.ts +2 -16
- package/lib-esm/predicates/index.js +7 -128
- package/lib-esm/predicates/index.js.map +1 -1
- package/lib-esm/predicates/sort.js +4 -10
- package/lib-esm/predicates/sort.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageAdapter.d.ts +1 -2
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js +349 -109
- package/lib-esm/storage/adapter/AsyncStorageAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js +68 -7
- package/lib-esm/storage/adapter/AsyncStorageDatabase.js.map +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.d.ts +1 -1
- package/lib-esm/storage/adapter/InMemoryStore.js +52 -1
- package/lib-esm/storage/adapter/InMemoryStore.js.map +1 -1
- package/lib-esm/storage/adapter/IndexedDBAdapter.d.ts +2 -4
- package/lib-esm/storage/adapter/IndexedDBAdapter.js +368 -227
- package/lib-esm/storage/adapter/IndexedDBAdapter.js.map +1 -1
- package/lib-esm/storage/adapter/getDefaultAdapter/index.js.map +1 -1
- package/lib-esm/storage/storage.d.ts +6 -7
- package/lib-esm/storage/storage.js +101 -33
- package/lib-esm/storage/storage.js.map +1 -1
- package/lib-esm/sync/datastoreConnectivity.js +47 -1
- package/lib-esm/sync/datastoreConnectivity.js.map +1 -1
- package/lib-esm/sync/index.js +76 -4
- package/lib-esm/sync/index.js.map +1 -1
- package/lib-esm/sync/merger.js +67 -1
- package/lib-esm/sync/merger.js.map +1 -1
- package/lib-esm/sync/outbox.js +74 -1
- package/lib-esm/sync/outbox.js.map +1 -1
- package/lib-esm/sync/processors/errorMaps.js +32 -2
- package/lib-esm/sync/processors/errorMaps.js.map +1 -1
- package/lib-esm/sync/processors/mutation.js +93 -12
- package/lib-esm/sync/processors/mutation.js.map +1 -1
- package/lib-esm/sync/processors/subscription.js +69 -6
- package/lib-esm/sync/processors/subscription.js.map +1 -1
- package/lib-esm/sync/processors/sync.js +75 -2
- package/lib-esm/sync/processors/sync.js.map +1 -1
- package/lib-esm/sync/utils.d.ts +1 -1
- package/lib-esm/sync/utils.js +95 -32
- package/lib-esm/sync/utils.js.map +1 -1
- package/lib-esm/types.d.ts +10 -63
- package/lib-esm/types.js +38 -7
- package/lib-esm/types.js.map +1 -1
- package/lib-esm/util.d.ts +6 -39
- package/lib-esm/util.js +171 -171
- package/lib-esm/util.js.map +1 -1
- package/package.json +14 -21
- package/src/authModeStrategies/multiAuthStrategy.ts +2 -2
- package/src/datastore/datastore.ts +206 -699
- package/src/index.ts +0 -4
- package/src/predicates/index.ts +17 -143
- package/src/predicates/sort.ts +2 -8
- package/src/storage/adapter/AsyncStorageAdapter.ts +178 -56
- package/src/storage/adapter/AsyncStorageDatabase.ts +15 -16
- package/src/storage/adapter/InMemoryStore.ts +2 -5
- package/src/storage/adapter/IndexedDBAdapter.ts +191 -166
- package/src/storage/adapter/getDefaultAdapter/index.ts +2 -2
- package/src/storage/storage.ts +37 -56
- package/src/sync/datastoreConnectivity.ts +4 -4
- package/src/sync/index.ts +28 -22
- package/src/sync/merger.ts +1 -1
- package/src/sync/outbox.ts +6 -6
- package/src/sync/processors/errorMaps.ts +1 -1
- package/src/sync/processors/mutation.ts +19 -23
- package/src/sync/processors/subscription.ts +16 -20
- package/src/sync/processors/sync.ts +17 -17
- package/src/sync/utils.ts +48 -42
- package/src/types.ts +16 -128
- package/src/util.ts +150 -108
- package/webpack.config.dev.js +6 -0
- package/lib/authModeStrategies/defaultAuthStrategy.d.ts +0 -2
- package/lib/authModeStrategies/index.d.ts +0 -2
- package/lib/authModeStrategies/multiAuthStrategy.d.ts +0 -13
- package/lib/datastore/datastore.d.ts +0 -207
- package/lib/index.d.ts +0 -16
- package/lib/predicates/index.d.ts +0 -30
- package/lib/predicates/next.d.ts +0 -301
- package/lib/predicates/next.js +0 -816
- package/lib/predicates/next.js.map +0 -1
- package/lib/predicates/sort.d.ts +0 -8
- package/lib/ssr/index.d.ts +0 -3
- package/lib/storage/adapter/AsyncStorageAdapter.d.ts +0 -42
- package/lib/storage/adapter/AsyncStorageDatabase.d.ts +0 -39
- package/lib/storage/adapter/InMemoryStore.d.ts +0 -11
- package/lib/storage/adapter/InMemoryStore.native.d.ts +0 -1
- package/lib/storage/adapter/IndexedDBAdapter.d.ts +0 -61
- package/lib/storage/adapter/getDefaultAdapter/index.d.ts +0 -3
- package/lib/storage/adapter/getDefaultAdapter/index.native.d.ts +0 -3
- package/lib/storage/adapter/index.d.ts +0 -9
- package/lib/storage/relationship.d.ts +0 -140
- package/lib/storage/relationship.js +0 -335
- package/lib/storage/relationship.js.map +0 -1
- package/lib/storage/storage.d.ts +0 -50
- package/lib/sync/datastoreConnectivity.d.ts +0 -16
- package/lib/sync/datastoreReachability/index.d.ts +0 -3
- package/lib/sync/datastoreReachability/index.native.d.ts +0 -3
- package/lib/sync/index.d.ts +0 -89
- package/lib/sync/merger.d.ts +0 -17
- package/lib/sync/outbox.d.ts +0 -27
- package/lib/sync/processors/errorMaps.d.ts +0 -17
- package/lib/sync/processors/mutation.d.ts +0 -58
- package/lib/sync/processors/subscription.d.ts +0 -33
- package/lib/sync/processors/sync.d.ts +0 -28
- package/lib/sync/utils.d.ts +0 -42
- package/lib/types.d.ts +0 -554
- package/lib/util.d.ts +0 -189
- package/lib-esm/predicates/next.d.ts +0 -301
- package/lib-esm/predicates/next.js +0 -812
- package/lib-esm/predicates/next.js.map +0 -1
- package/lib-esm/storage/relationship.d.ts +0 -140
- package/lib-esm/storage/relationship.js +0 -333
- package/lib-esm/storage/relationship.js.map +0 -1
- package/src/predicates/next.ts +0 -967
- package/src/storage/relationship.ts +0 -272
package/src/index.ts
CHANGED
|
@@ -3,8 +3,6 @@ export {
|
|
|
3
3
|
DataStoreClass,
|
|
4
4
|
initSchema,
|
|
5
5
|
ModelInstanceCreator,
|
|
6
|
-
AsyncCollection,
|
|
7
|
-
AsyncItem,
|
|
8
6
|
} from './datastore/datastore';
|
|
9
7
|
|
|
10
8
|
export {
|
|
@@ -22,8 +20,6 @@ import {
|
|
|
22
20
|
isModelConstructor,
|
|
23
21
|
} from './util';
|
|
24
22
|
|
|
25
|
-
export { NAMESPACES } from './util';
|
|
26
|
-
|
|
27
23
|
export const utils = {
|
|
28
24
|
USER,
|
|
29
25
|
traverseModel,
|
package/src/predicates/index.ts
CHANGED
|
@@ -8,7 +8,11 @@ import {
|
|
|
8
8
|
ProducerModelPredicate,
|
|
9
9
|
SchemaModel,
|
|
10
10
|
} from '../types';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
exhaustiveCheck,
|
|
13
|
+
extractPrimaryKeyFieldNames,
|
|
14
|
+
extractPrimaryKeyValues,
|
|
15
|
+
} from '../util';
|
|
12
16
|
|
|
13
17
|
export { ModelSortPredicateCreator } from './sort';
|
|
14
18
|
|
|
@@ -20,37 +24,6 @@ export function isPredicatesAll(
|
|
|
20
24
|
return predicatesAllSet.has(predicate);
|
|
21
25
|
}
|
|
22
26
|
|
|
23
|
-
const groupKeys = new Set(['and', 'or', 'not']);
|
|
24
|
-
const isGroup = o => {
|
|
25
|
-
const keys = [...Object.keys(o)];
|
|
26
|
-
return keys.length === 1 && groupKeys.has(keys[0]);
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const comparisonKeys = new Set([
|
|
30
|
-
'eq',
|
|
31
|
-
'ne',
|
|
32
|
-
'gt',
|
|
33
|
-
'lt',
|
|
34
|
-
'ge',
|
|
35
|
-
'le',
|
|
36
|
-
'contains',
|
|
37
|
-
'notContains',
|
|
38
|
-
'beginsWith',
|
|
39
|
-
'between',
|
|
40
|
-
]);
|
|
41
|
-
const isComparison = o => {
|
|
42
|
-
const keys = [...Object.keys(o)];
|
|
43
|
-
return !Array.isArray(o) && keys.length === 1 && comparisonKeys.has(keys[0]);
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
const isValid = o => {
|
|
47
|
-
if (Array.isArray(o)) {
|
|
48
|
-
return o.every(v => isValid(v));
|
|
49
|
-
} else {
|
|
50
|
-
return Object.keys(o).length === 1;
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
|
|
54
27
|
// This symbol is not used at runtime, only its type (unique symbol)
|
|
55
28
|
export const PredicateAll = Symbol('A predicate that matches all records');
|
|
56
29
|
|
|
@@ -70,21 +43,20 @@ export class ModelPredicateCreator {
|
|
|
70
43
|
PredicatesGroup<any>
|
|
71
44
|
>();
|
|
72
45
|
|
|
73
|
-
static createPredicateBuilder<T extends PersistentModel>(
|
|
46
|
+
private static createPredicateBuilder<T extends PersistentModel>(
|
|
74
47
|
modelDefinition: SchemaModel
|
|
75
48
|
) {
|
|
76
49
|
const { name: modelName } = modelDefinition;
|
|
77
50
|
const fieldNames = new Set<keyof T>(Object.keys(modelDefinition.fields));
|
|
78
51
|
|
|
79
52
|
let handler: ProxyHandler<ModelPredicate<T>>;
|
|
80
|
-
|
|
81
53
|
const predicate = new Proxy(
|
|
82
54
|
{} as ModelPredicate<T>,
|
|
83
55
|
(handler = {
|
|
84
56
|
get(
|
|
85
|
-
|
|
57
|
+
_target,
|
|
86
58
|
propertyKey,
|
|
87
|
-
|
|
59
|
+
receiver: ModelPredicate<T>
|
|
88
60
|
): PredicateExpression<T, any> {
|
|
89
61
|
const groupType = propertyKey as keyof PredicateGroups<T>;
|
|
90
62
|
|
|
@@ -108,7 +80,7 @@ export class ModelPredicateCreator {
|
|
|
108
80
|
|
|
109
81
|
// Set the recorder group
|
|
110
82
|
ModelPredicateCreator.predicateGroupsMap.set(
|
|
111
|
-
tmpPredicateRecorder
|
|
83
|
+
tmpPredicateRecorder,
|
|
112
84
|
group
|
|
113
85
|
);
|
|
114
86
|
|
|
@@ -117,15 +89,15 @@ export class ModelPredicateCreator {
|
|
|
117
89
|
|
|
118
90
|
// Push the group to the top-level recorder
|
|
119
91
|
ModelPredicateCreator.predicateGroupsMap
|
|
120
|
-
.get(
|
|
92
|
+
.get(receiver)!
|
|
121
93
|
.predicates.push(group);
|
|
122
94
|
|
|
123
|
-
return
|
|
95
|
+
return receiver;
|
|
124
96
|
};
|
|
125
97
|
|
|
126
98
|
return result;
|
|
127
99
|
default:
|
|
128
|
-
|
|
100
|
+
exhaustiveCheck(groupType, false);
|
|
129
101
|
}
|
|
130
102
|
|
|
131
103
|
const field = propertyKey as keyof T;
|
|
@@ -141,9 +113,9 @@ export class ModelPredicateCreator {
|
|
|
141
113
|
operand: any
|
|
142
114
|
) => {
|
|
143
115
|
ModelPredicateCreator.predicateGroupsMap
|
|
144
|
-
.get(
|
|
116
|
+
.get(receiver)!
|
|
145
117
|
.predicates.push({ field, operator, operand });
|
|
146
|
-
return
|
|
118
|
+
return receiver;
|
|
147
119
|
};
|
|
148
120
|
return result;
|
|
149
121
|
},
|
|
@@ -154,7 +126,7 @@ export class ModelPredicateCreator {
|
|
|
154
126
|
type: 'and',
|
|
155
127
|
predicates: [],
|
|
156
128
|
};
|
|
157
|
-
ModelPredicateCreator.predicateGroupsMap.set(predicate
|
|
129
|
+
ModelPredicateCreator.predicateGroupsMap.set(predicate, group);
|
|
158
130
|
|
|
159
131
|
return predicate;
|
|
160
132
|
}
|
|
@@ -173,12 +145,12 @@ export class ModelPredicateCreator {
|
|
|
173
145
|
throw new Error('The predicate is not valid');
|
|
174
146
|
}
|
|
175
147
|
|
|
176
|
-
return ModelPredicateCreator.predicateGroupsMap.get(predicate
|
|
148
|
+
return ModelPredicateCreator.predicateGroupsMap.get(predicate);
|
|
177
149
|
}
|
|
178
150
|
|
|
179
151
|
// transforms cb-style predicate into Proxy
|
|
180
152
|
static createFromExisting<T extends PersistentModel>(
|
|
181
|
-
modelDefinition
|
|
153
|
+
modelDefinition: SchemaModel,
|
|
182
154
|
existing?: ProducerModelPredicate<T>
|
|
183
155
|
) {
|
|
184
156
|
if (!existing || !modelDefinition) {
|
|
@@ -217,102 +189,4 @@ export class ModelPredicateCreator {
|
|
|
217
189
|
|
|
218
190
|
return modelPredicate;
|
|
219
191
|
}
|
|
220
|
-
|
|
221
|
-
/**
|
|
222
|
-
* Searches a `Model` table for records matching the given equalities object.
|
|
223
|
-
*
|
|
224
|
-
* This only matches against fields given in the equalities object. No other
|
|
225
|
-
* fields are tested by the predicate.
|
|
226
|
-
*
|
|
227
|
-
* @param modelDefinition The model we need a predicate for.
|
|
228
|
-
* @param flatEqualities An object holding field equalities to search for.
|
|
229
|
-
*/
|
|
230
|
-
static createFromFlatEqualities<T extends PersistentModel>(
|
|
231
|
-
modelDefinition: SchemaModel,
|
|
232
|
-
flatEqualities: Record<string, any>
|
|
233
|
-
) {
|
|
234
|
-
let predicate =
|
|
235
|
-
ModelPredicateCreator.createPredicateBuilder<T>(modelDefinition);
|
|
236
|
-
|
|
237
|
-
for (const [field, value] of Object.entries(flatEqualities)) {
|
|
238
|
-
predicate = predicate[field]('eq' as any, value);
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
return predicate;
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
static createGroupFromExisting<T extends PersistentModel>(
|
|
245
|
-
modelDefinition: SchemaModel,
|
|
246
|
-
group: 'and' | 'or' | 'not',
|
|
247
|
-
existingPredicates: (ProducerModelPredicate<T> | ModelPredicate<T>)[]
|
|
248
|
-
) {
|
|
249
|
-
let outer =
|
|
250
|
-
ModelPredicateCreator.createPredicateBuilder<T>(modelDefinition);
|
|
251
|
-
|
|
252
|
-
outer = outer[group](seed => {
|
|
253
|
-
let inner = seed;
|
|
254
|
-
for (const existing of existingPredicates) {
|
|
255
|
-
if (typeof existing === 'function') {
|
|
256
|
-
inner = existing(inner);
|
|
257
|
-
} else {
|
|
258
|
-
ModelPredicateCreator.predicateGroupsMap
|
|
259
|
-
.get(inner)
|
|
260
|
-
?.predicates.push(
|
|
261
|
-
ModelPredicateCreator.predicateGroupsMap.get(
|
|
262
|
-
existing as ModelPredicate<T>
|
|
263
|
-
)!
|
|
264
|
-
);
|
|
265
|
-
}
|
|
266
|
-
}
|
|
267
|
-
return inner;
|
|
268
|
-
});
|
|
269
|
-
|
|
270
|
-
return outer;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
static transformGraphQLtoPredicateAST(gql: any) {
|
|
274
|
-
if (!isValid(gql)) {
|
|
275
|
-
throw new Error('Invalid QGL AST: ' + gql);
|
|
276
|
-
}
|
|
277
|
-
|
|
278
|
-
if (isGroup(gql)) {
|
|
279
|
-
const groupkey = Object.keys(gql)[0];
|
|
280
|
-
const children = this.transformGraphQLtoPredicateAST(gql[groupkey]);
|
|
281
|
-
return {
|
|
282
|
-
type: groupkey,
|
|
283
|
-
predicates: Array.isArray(children) ? children : [children],
|
|
284
|
-
};
|
|
285
|
-
} else if (isComparison(gql)) {
|
|
286
|
-
const operatorKey = Object.keys(gql)[0];
|
|
287
|
-
return {
|
|
288
|
-
operator: operatorKey,
|
|
289
|
-
operand: gql[operatorKey],
|
|
290
|
-
};
|
|
291
|
-
} else {
|
|
292
|
-
if (Array.isArray(gql)) {
|
|
293
|
-
return gql.map(o => this.transformGraphQLtoPredicateAST(o));
|
|
294
|
-
} else {
|
|
295
|
-
const fieldKey = Object.keys(gql)[0];
|
|
296
|
-
return {
|
|
297
|
-
field: fieldKey,
|
|
298
|
-
...this.transformGraphQLtoPredicateAST(gql[fieldKey]),
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
|
|
304
|
-
static createFromAST(
|
|
305
|
-
modelDefinition: SchemaModel,
|
|
306
|
-
ast: any
|
|
307
|
-
): ModelPredicate<any> {
|
|
308
|
-
const predicate =
|
|
309
|
-
ModelPredicateCreator.createPredicateBuilder(modelDefinition);
|
|
310
|
-
|
|
311
|
-
ModelPredicateCreator.predicateGroupsMap.set(
|
|
312
|
-
predicate,
|
|
313
|
-
this.transformGraphQLtoPredicateAST(ast)
|
|
314
|
-
);
|
|
315
|
-
|
|
316
|
-
return predicate;
|
|
317
|
-
}
|
|
318
192
|
}
|
package/src/predicates/sort.ts
CHANGED
|
@@ -35,7 +35,7 @@ export class ModelSortPredicateCreator {
|
|
|
35
35
|
const result = (sortDirection: SortDirection) => {
|
|
36
36
|
ModelSortPredicateCreator.sortPredicateGroupsMap
|
|
37
37
|
.get(receiver)
|
|
38
|
-
|
|
38
|
+
.push({ field, sortDirection });
|
|
39
39
|
|
|
40
40
|
return receiver;
|
|
41
41
|
};
|
|
@@ -66,13 +66,7 @@ export class ModelSortPredicateCreator {
|
|
|
66
66
|
throw new Error('The predicate is not valid');
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
ModelSortPredicateCreator.sortPredicateGroupsMap.get(predicate);
|
|
71
|
-
if (predicateGroup) {
|
|
72
|
-
return predicateGroup;
|
|
73
|
-
} else {
|
|
74
|
-
throw new Error('Predicate group not found');
|
|
75
|
-
}
|
|
69
|
+
return ModelSortPredicateCreator.sortPredicateGroupsMap.get(predicate);
|
|
76
70
|
}
|
|
77
71
|
|
|
78
72
|
// transforms cb-style predicate into Proxy
|