@expo/entity 0.16.0 → 0.20.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.
Files changed (210) hide show
  1. package/build/EnforcingEntityLoader.js +2 -2
  2. package/build/EnforcingEntityLoader.js.map +1 -1
  3. package/build/Entity.js +8 -2
  4. package/build/Entity.js.map +1 -1
  5. package/build/EntityAssociationLoader.js +3 -3
  6. package/build/EntityAssociationLoader.js.map +1 -1
  7. package/build/EntityCompanion.d.ts +5 -0
  8. package/build/EntityCompanion.js +8 -1
  9. package/build/EntityCompanion.js.map +1 -1
  10. package/build/EntityCompanionProvider.d.ts +1 -1
  11. package/build/EntityCompanionProvider.js +5 -5
  12. package/build/EntityCompanionProvider.js.map +1 -1
  13. package/build/EntityConfiguration.d.ts +1 -1
  14. package/build/EntityConfiguration.js +3 -3
  15. package/build/EntityConfiguration.js.map +1 -1
  16. package/build/EntityDatabaseAdapter.d.ts +4 -4
  17. package/build/EntityDatabaseAdapter.js +13 -13
  18. package/build/EntityDatabaseAdapter.js.map +1 -1
  19. package/build/EntityFieldDefinition.d.ts +77 -0
  20. package/build/EntityFieldDefinition.js +53 -0
  21. package/build/EntityFieldDefinition.js.map +1 -0
  22. package/build/EntityFields.d.ts +5 -78
  23. package/build/EntityFields.js +19 -61
  24. package/build/EntityFields.js.map +1 -1
  25. package/build/EntityLoader.d.ts +3 -1
  26. package/build/EntityLoader.js +19 -15
  27. package/build/EntityLoader.js.map +1 -1
  28. package/build/EntityLoaderFactory.d.ts +3 -1
  29. package/build/EntityLoaderFactory.js +3 -2
  30. package/build/EntityLoaderFactory.js.map +1 -1
  31. package/build/EntityMutationInfo.d.ts +26 -0
  32. package/build/EntityMutationInfo.js +10 -0
  33. package/build/EntityMutationInfo.js.map +1 -0
  34. package/build/EntityMutationTriggerConfiguration.d.ts +4 -4
  35. package/build/EntityMutationValidator.d.ts +3 -3
  36. package/build/EntityMutationValidator.js.map +1 -1
  37. package/build/EntityMutator.d.ts +5 -16
  38. package/build/EntityMutator.js +62 -58
  39. package/build/EntityMutator.js.map +1 -1
  40. package/build/EntityPrivacyPolicy.d.ts +5 -4
  41. package/build/EntityPrivacyPolicy.js +60 -12
  42. package/build/EntityPrivacyPolicy.js.map +1 -1
  43. package/build/EntityQueryContext.d.ts +13 -0
  44. package/build/EntityQueryContext.js +18 -0
  45. package/build/EntityQueryContext.js.map +1 -1
  46. package/build/EntitySecondaryCacheLoader.js +2 -2
  47. package/build/EntitySecondaryCacheLoader.js.map +1 -1
  48. package/build/ReadonlyEntity.js +3 -4
  49. package/build/ReadonlyEntity.js.map +1 -1
  50. package/build/ViewerScopedEntityCompanion.d.ts +5 -0
  51. package/build/ViewerScopedEntityCompanion.js +6 -0
  52. package/build/ViewerScopedEntityCompanion.js.map +1 -1
  53. package/build/__tests__/EnforcingEntityLoader-test.js +82 -82
  54. package/build/__tests__/EnforcingEntityLoader-test.js.map +1 -1
  55. package/build/__tests__/Entity-test.js +6 -6
  56. package/build/__tests__/Entity-test.js.map +1 -1
  57. package/build/__tests__/EntityAssociationLoader-test.js +40 -40
  58. package/build/__tests__/EntityAssociationLoader-test.js.map +1 -1
  59. package/build/__tests__/EntityCommonUseCases-test.js +11 -11
  60. package/build/__tests__/EntityCommonUseCases-test.js.map +1 -1
  61. package/build/__tests__/EntityCompanion-test.js +3 -3
  62. package/build/__tests__/EntityCompanion-test.js.map +1 -1
  63. package/build/__tests__/EntityCompanionProvider-test.js +1 -1
  64. package/build/__tests__/EntityCompanionProvider-test.js.map +1 -1
  65. package/build/__tests__/EntityDatabaseAdapter-test.js +12 -12
  66. package/build/__tests__/EntityDatabaseAdapter-test.js.map +1 -1
  67. package/build/__tests__/EntityEdges-test.js +103 -6
  68. package/build/__tests__/EntityEdges-test.js.map +1 -1
  69. package/build/__tests__/EntityFields-test.js +18 -26
  70. package/build/__tests__/EntityFields-test.js.map +1 -1
  71. package/build/__tests__/EntityLoader-constructor-test.d.ts +22 -0
  72. package/build/__tests__/EntityLoader-constructor-test.js +111 -0
  73. package/build/__tests__/EntityLoader-constructor-test.js.map +1 -0
  74. package/build/__tests__/EntityLoader-test.js +81 -73
  75. package/build/__tests__/EntityLoader-test.js.map +1 -1
  76. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.d.ts +1 -0
  77. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js +81 -0
  78. package/build/__tests__/EntityMutator-MutationCacheConsistency-test.js.map +1 -0
  79. package/build/__tests__/EntityMutator-test.js +138 -136
  80. package/build/__tests__/EntityMutator-test.js.map +1 -1
  81. package/build/__tests__/EntityPrivacyPolicy-test.js +143 -67
  82. package/build/__tests__/EntityPrivacyPolicy-test.js.map +1 -1
  83. package/build/__tests__/EntitySecondaryCacheLoader-test.js +15 -15
  84. package/build/__tests__/EntitySecondaryCacheLoader-test.js.map +1 -1
  85. package/build/__tests__/EntitySelfReferentialEdges-test.js +13 -12
  86. package/build/__tests__/EntitySelfReferentialEdges-test.js.map +1 -1
  87. package/build/__tests__/ReadonlyEntity-test.js +12 -12
  88. package/build/__tests__/ReadonlyEntity-test.js.map +1 -1
  89. package/build/__tests__/ViewerContext-test.js +2 -2
  90. package/build/__tests__/ViewerContext-test.js.map +1 -1
  91. package/build/__tests__/ViewerScopedEntityCompanion-test.js +2 -2
  92. package/build/__tests__/ViewerScopedEntityCompanion-test.js.map +1 -1
  93. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js +2 -2
  94. package/build/__tests__/ViewerScopedEntityCompanionProvider-test.js.map +1 -1
  95. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js +5 -5
  96. package/build/__tests__/ViewerScopedEntityLoaderFactory-test.js.map +1 -1
  97. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js +5 -5
  98. package/build/__tests__/ViewerScopedEntityMutatorFactory-test.js.map +1 -1
  99. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js +5 -5
  100. package/build/__tests__/cases/TwoEntitySameTableDisjointRows-test.js.map +1 -1
  101. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js +2 -2
  102. package/build/__tests__/cases/TwoEntitySameTableOverlappingRows-test.js.map +1 -1
  103. package/build/__tests__/entityUtils-test.js +21 -21
  104. package/build/__tests__/entityUtils-test.js.map +1 -1
  105. package/build/index.d.ts +3 -0
  106. package/build/index.js +5 -1
  107. package/build/index.js.map +1 -1
  108. package/build/internal/EntityDataManager.js +8 -7
  109. package/build/internal/EntityDataManager.js.map +1 -1
  110. package/build/internal/EntityFieldTransformationUtils.js +2 -2
  111. package/build/internal/EntityFieldTransformationUtils.js.map +1 -1
  112. package/build/internal/ReadThroughEntityCache.js +4 -4
  113. package/build/internal/ReadThroughEntityCache.js.map +1 -1
  114. package/build/internal/__tests__/EntityDataManager-test.js +21 -21
  115. package/build/internal/__tests__/EntityDataManager-test.js.map +1 -1
  116. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js +8 -8
  117. package/build/internal/__tests__/EntityFieldTransformationUtils-test.js.map +1 -1
  118. package/build/internal/__tests__/ReadThroughEntityCache-test.js +48 -48
  119. package/build/internal/__tests__/ReadThroughEntityCache-test.js.map +1 -1
  120. package/build/metrics/EntityMetricsUtils.js +1 -1
  121. package/build/metrics/EntityMetricsUtils.js.map +1 -1
  122. package/build/metrics/IEntityMetricsAdapter.d.ts +16 -0
  123. package/build/metrics/IEntityMetricsAdapter.js +6 -1
  124. package/build/metrics/IEntityMetricsAdapter.js.map +1 -1
  125. package/build/metrics/NoOpEntityMetricsAdapter.d.ts +2 -1
  126. package/build/metrics/NoOpEntityMetricsAdapter.js +1 -0
  127. package/build/metrics/NoOpEntityMetricsAdapter.js.map +1 -1
  128. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js +4 -4
  129. package/build/rules/__tests__/AlwaysAllowPrivacyPolicyRule-test.js.map +1 -1
  130. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js +4 -4
  131. package/build/rules/__tests__/AlwaysDenyPrivacyPolicyRule-test.js.map +1 -1
  132. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js +4 -4
  133. package/build/rules/__tests__/AlwaysSkipPrivacyPolicyRule-test.js.map +1 -1
  134. package/build/testfixtures/DateIDTestEntity.js.map +1 -1
  135. package/build/testfixtures/SimpleTestEntity.js.map +1 -1
  136. package/build/testfixtures/TestEntity.d.ts +6 -6
  137. package/build/testfixtures/TestEntity.js +4 -4
  138. package/build/testfixtures/TestEntity.js.map +1 -1
  139. package/build/testfixtures/TestEntity2.d.ts +5 -5
  140. package/build/testfixtures/TestEntity2.js.map +1 -1
  141. package/build/testfixtures/TestEntityNumberKey.js +1 -1
  142. package/build/testfixtures/TestEntityNumberKey.js.map +1 -1
  143. package/build/utils/collections/__tests__/maps-test.js +13 -13
  144. package/build/utils/collections/__tests__/maps-test.js.map +1 -1
  145. package/build/utils/collections/maps.js +1 -1
  146. package/build/utils/collections/maps.js.map +1 -1
  147. package/build/utils/testing/PrivacyPolicyRuleTestUtils.d.ts +6 -6
  148. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js +1 -1
  149. package/build/utils/testing/PrivacyPolicyRuleTestUtils.js.map +1 -1
  150. package/build/utils/testing/StubCacheAdapter.js +1 -1
  151. package/build/utils/testing/StubCacheAdapter.js.map +1 -1
  152. package/build/utils/testing/StubDatabaseAdapter.js +7 -7
  153. package/build/utils/testing/StubDatabaseAdapter.js.map +1 -1
  154. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js +26 -26
  155. package/build/utils/testing/__tests__/StubDatabaseAdapter-test.js.map +1 -1
  156. package/build/utils/testing/describeFieldTestCase.d.ts +2 -0
  157. package/build/utils/testing/describeFieldTestCase.js +18 -0
  158. package/build/utils/testing/describeFieldTestCase.js.map +1 -0
  159. package/package.json +2 -1
  160. package/src/Entity.ts +10 -2
  161. package/src/EntityAssociationLoader.ts +1 -1
  162. package/src/EntityCompanion.ts +10 -2
  163. package/src/EntityCompanionProvider.ts +5 -9
  164. package/src/EntityConfiguration.ts +1 -1
  165. package/src/EntityDatabaseAdapter.ts +10 -8
  166. package/src/EntityFieldDefinition.ts +124 -0
  167. package/src/EntityFields.ts +11 -126
  168. package/src/EntityLoader.ts +12 -4
  169. package/src/EntityLoaderFactory.ts +5 -2
  170. package/src/EntityMutationInfo.ts +47 -0
  171. package/src/EntityMutationTriggerConfiguration.ts +5 -5
  172. package/src/EntityMutationValidator.ts +10 -4
  173. package/src/EntityMutator.ts +98 -76
  174. package/src/EntityPrivacyPolicy.ts +77 -19
  175. package/src/EntityQueryContext.ts +20 -0
  176. package/src/ReadonlyEntity.ts +3 -2
  177. package/src/ViewerScopedEntityCompanion.ts +8 -0
  178. package/src/__tests__/Entity-test.ts +8 -8
  179. package/src/__tests__/EntityCommonUseCases-test.ts +4 -4
  180. package/src/__tests__/EntityEdges-test.ts +169 -14
  181. package/src/__tests__/EntityFields-test.ts +6 -23
  182. package/src/__tests__/EntityLoader-constructor-test.ts +177 -0
  183. package/src/__tests__/EntityLoader-test.ts +48 -20
  184. package/src/__tests__/EntityMutator-MutationCacheConsistency-test.ts +105 -0
  185. package/src/__tests__/EntityMutator-test.ts +153 -146
  186. package/src/__tests__/EntityPrivacyPolicy-test.ts +215 -78
  187. package/src/__tests__/EntitySecondaryCacheLoader-test.ts +7 -9
  188. package/src/__tests__/EntitySelfReferentialEdges-test.ts +6 -5
  189. package/src/__tests__/ReadonlyEntity-test.ts +1 -1
  190. package/src/__tests__/ViewerContext-test.ts +7 -6
  191. package/src/__tests__/ViewerScopedEntityCompanion-test.ts +11 -10
  192. package/src/__tests__/ViewerScopedEntityMutatorFactory-test.ts +4 -3
  193. package/src/__tests__/cases/TwoEntitySameTableDisjointRows-test.ts +6 -6
  194. package/src/__tests__/cases/TwoEntitySameTableOverlappingRows-test.ts +4 -4
  195. package/src/index.ts +3 -0
  196. package/src/internal/EntityDataManager.ts +2 -1
  197. package/src/internal/__tests__/EntityDataManager-test.ts +6 -6
  198. package/src/internal/__tests__/ReadThroughEntityCache-test.ts +15 -13
  199. package/src/metrics/EntityMetricsUtils.ts +56 -50
  200. package/src/metrics/IEntityMetricsAdapter.ts +23 -0
  201. package/src/metrics/NoOpEntityMetricsAdapter.ts +2 -0
  202. package/src/testfixtures/DateIDTestEntity.ts +4 -4
  203. package/src/testfixtures/SimpleTestEntity.ts +4 -4
  204. package/src/testfixtures/TestEntity.ts +8 -8
  205. package/src/testfixtures/TestEntity2.ts +4 -4
  206. package/src/testfixtures/TestEntityNumberKey.ts +6 -6
  207. package/src/utils/testing/StubDatabaseAdapter.ts +4 -4
  208. package/src/utils/testing/__tests__/StubDatabaseAdapter-test.ts +18 -18
  209. package/src/utils/testing/describeFieldTestCase.ts +21 -0
  210. package/CHANGELOG.md +0 -241
@@ -38,10 +38,11 @@ describe(EntityLoader_1.default, () => {
38
38
  it('loads entities', async () => {
39
39
  var _a;
40
40
  const dateToInsert = new Date();
41
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
41
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
42
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
42
43
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
43
- const id1 = uuid_1.v4();
44
- const id2 = uuid_1.v4();
44
+ const id1 = (0, uuid_1.v4)();
45
+ const id2 = (0, uuid_1.v4)();
45
46
  const databaseAdapter = new StubDatabaseAdapter_1.default(TestEntity_1.testEntityConfiguration, StubDatabaseAdapter_1.default.convertFieldObjectsToDataStore(TestEntity_1.testEntityConfiguration, new Map([
46
47
  [
47
48
  TestEntity_1.testEntityConfiguration.tableName,
@@ -49,7 +50,7 @@ describe(EntityLoader_1.default, () => {
49
50
  {
50
51
  customIdField: id1,
51
52
  testIndexedField: 'h1',
52
- numberField: 5,
53
+ intField: 5,
53
54
  stringField: 'huh',
54
55
  dateField: dateToInsert,
55
56
  nullableField: null,
@@ -57,7 +58,7 @@ describe(EntityLoader_1.default, () => {
57
58
  {
58
59
  customIdField: id2,
59
60
  testIndexedField: 'h2',
60
- numberField: 3,
61
+ intField: 3,
61
62
  stringField: 'huh',
62
63
  dateField: dateToInsert,
63
64
  nullableField: null,
@@ -69,17 +70,17 @@ describe(EntityLoader_1.default, () => {
69
70
  const cacheAdapterProvider = new StubCacheAdapter_1.NoCacheStubCacheAdapterProvider();
70
71
  const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
71
72
  const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
72
- const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, ts_mockito_1.instance(ts_mockito_1.mock()), TestEntity_1.default.name);
73
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager);
74
- const entity = await results_1.enforceAsyncResult(entityLoader.loadByIDAsync(id1));
73
+ const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
74
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
75
+ const entity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(id1));
75
76
  expect(entity.getID()).toEqual(id1);
76
77
  expect(entity.getField('dateField')).toEqual(dateToInsert);
77
- const entities = await entityUtils_1.enforceResultsAsync(entityLoader.loadManyByFieldEqualingAsync('stringField', 'huh'));
78
+ const entities = await (0, entityUtils_1.enforceResultsAsync)(entityLoader.loadManyByFieldEqualingAsync('stringField', 'huh'));
78
79
  expect(entities.map((m) => m.getID())).toEqual([id1, id2]);
79
- const entityResultNumber3 = await entityLoader.loadByFieldEqualingAsync('numberField', 3);
80
+ const entityResultNumber3 = await entityLoader.loadByFieldEqualingAsync('intField', 3);
80
81
  expect(entityResultNumber3).not.toBeNull();
81
82
  expect(entityResultNumber3.enforceValue().getID()).toEqual(id2);
82
- const entityResultNumber4 = await entityLoader.loadByFieldEqualingAsync('numberField', 4);
83
+ const entityResultNumber4 = await entityLoader.loadByFieldEqualingAsync('intField', 4);
83
84
  expect(entityResultNumber4).toBeNull();
84
85
  const entityResultDuplicateValues = await entityLoader
85
86
  .enforcing()
@@ -87,18 +88,19 @@ describe(EntityLoader_1.default, () => {
87
88
  expect(entityResultDuplicateValues.size).toBe(1);
88
89
  expect((_a = entityResultDuplicateValues.get('huh')) === null || _a === void 0 ? void 0 : _a.map((m) => m.getID())).toEqual([id1, id2]);
89
90
  await expect(entityLoader.loadByFieldEqualingAsync('stringField', 'huh')).rejects.toThrowError('loadByFieldEqualing: Multiple entities of type TestEntity found for stringField=huh');
90
- await expect(entityLoader.loadByIDNullableAsync(uuid_1.v4())).resolves.toBeNull();
91
+ await expect(entityLoader.loadByIDNullableAsync((0, uuid_1.v4)())).resolves.toBeNull();
91
92
  await expect(entityLoader.loadByIDNullableAsync(id1)).resolves.not.toBeNull();
92
93
  await expect(entityLoader.loadByIDAsync('not-a-uuid')).rejects.toThrowError('Entity field not valid: TestEntity (customIdField = not-a-uuid)');
93
94
  });
94
95
  it('loads entities with loadManyByFieldEqualityConjunction', async () => {
95
96
  const privacyPolicy = new TestEntity_1.TestEntityPrivacyPolicy();
96
- const spiedPrivacyPolicy = ts_mockito_1.spy(privacyPolicy);
97
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
97
+ const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
98
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
99
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
98
100
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
99
- const id1 = uuid_1.v4();
100
- const id2 = uuid_1.v4();
101
- const id3 = uuid_1.v4();
101
+ const id1 = (0, uuid_1.v4)();
102
+ const id2 = (0, uuid_1.v4)();
103
+ const id3 = (0, uuid_1.v4)();
102
104
  const databaseAdapter = new StubDatabaseAdapter_1.default(TestEntity_1.testEntityConfiguration, StubDatabaseAdapter_1.default.convertFieldObjectsToDataStore(TestEntity_1.testEntityConfiguration, new Map([
103
105
  [
104
106
  TestEntity_1.testEntityConfiguration.tableName,
@@ -106,7 +108,7 @@ describe(EntityLoader_1.default, () => {
106
108
  {
107
109
  customIdField: id1,
108
110
  stringField: 'huh',
109
- numberField: 4,
111
+ intField: 4,
110
112
  testIndexedField: '4',
111
113
  dateField: new Date(),
112
114
  nullableField: null,
@@ -114,7 +116,7 @@ describe(EntityLoader_1.default, () => {
114
116
  {
115
117
  customIdField: id2,
116
118
  stringField: 'huh',
117
- numberField: 4,
119
+ intField: 4,
118
120
  testIndexedField: '5',
119
121
  dateField: new Date(),
120
122
  nullableField: null,
@@ -122,7 +124,7 @@ describe(EntityLoader_1.default, () => {
122
124
  {
123
125
  customIdField: id3,
124
126
  stringField: 'huh2',
125
- numberField: 4,
127
+ intField: 4,
126
128
  testIndexedField: '6',
127
129
  dateField: new Date(),
128
130
  nullableField: null,
@@ -133,30 +135,31 @@ describe(EntityLoader_1.default, () => {
133
135
  const cacheAdapterProvider = new StubCacheAdapter_1.NoCacheStubCacheAdapterProvider();
134
136
  const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
135
137
  const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
136
- const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, ts_mockito_1.instance(ts_mockito_1.mock()), TestEntity_1.default.name);
137
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager);
138
- const entities = await entityUtils_1.enforceResultsAsync(entityLoader.loadManyByFieldEqualityConjunctionAsync([
138
+ const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
139
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
140
+ const entities = await (0, entityUtils_1.enforceResultsAsync)(entityLoader.loadManyByFieldEqualityConjunctionAsync([
139
141
  {
140
142
  fieldName: 'stringField',
141
143
  fieldValue: 'huh',
142
144
  },
143
145
  {
144
- fieldName: 'numberField',
146
+ fieldName: 'intField',
145
147
  fieldValue: 4,
146
148
  },
147
149
  ]));
148
150
  expect(entities).toHaveLength(2);
149
- ts_mockito_1.verify(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, ts_mockito_1.anyOfClass(TestEntity_1.default))).twice();
151
+ (0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).twice();
150
152
  await expect(entityLoader.loadManyByFieldEqualityConjunctionAsync([
151
153
  { fieldName: 'customIdField', fieldValue: 'not-a-uuid' },
152
154
  ])).rejects.toThrowError('Entity field not valid: TestEntity (customIdField = not-a-uuid)');
153
155
  });
154
156
  it('authorizes loaded entities', async () => {
155
157
  const privacyPolicy = new TestEntity_1.TestEntityPrivacyPolicy();
156
- const spiedPrivacyPolicy = ts_mockito_1.spy(privacyPolicy);
157
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
158
+ const spiedPrivacyPolicy = (0, ts_mockito_1.spy)(privacyPolicy);
159
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
160
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
158
161
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
159
- const id1 = uuid_1.v4();
162
+ const id1 = (0, uuid_1.v4)();
160
163
  const databaseAdapter = new StubDatabaseAdapter_1.default(TestEntity_1.testEntityConfiguration, StubDatabaseAdapter_1.default.convertFieldObjectsToDataStore(TestEntity_1.testEntityConfiguration, new Map([
161
164
  [
162
165
  TestEntity_1.testEntityConfiguration.tableName,
@@ -165,7 +168,7 @@ describe(EntityLoader_1.default, () => {
165
168
  customIdField: id1,
166
169
  stringField: 'huh',
167
170
  testIndexedField: '1',
168
- numberField: 3,
171
+ intField: 3,
169
172
  dateField: new Date(),
170
173
  nullableField: null,
171
174
  },
@@ -175,74 +178,79 @@ describe(EntityLoader_1.default, () => {
175
178
  const cacheAdapterProvider = new StubCacheAdapter_1.NoCacheStubCacheAdapterProvider();
176
179
  const cacheAdapter = cacheAdapterProvider.getCacheAdapter(TestEntity_1.testEntityConfiguration);
177
180
  const entityCache = new ReadThroughEntityCache_1.default(TestEntity_1.testEntityConfiguration, cacheAdapter);
178
- const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, ts_mockito_1.instance(ts_mockito_1.mock()), TestEntity_1.default.name);
179
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager);
180
- const entity = await results_1.enforceAsyncResult(entityLoader.loadByIDAsync(id1));
181
- ts_mockito_1.verify(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, entity)).once();
181
+ const dataManager = new EntityDataManager_1.default(databaseAdapter, entityCache, StubQueryContextProvider_1.default, (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)()), TestEntity_1.default.name);
182
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManager, metricsAdapter);
183
+ const entity = await (0, results_1.enforceAsyncResult)(entityLoader.loadByIDAsync(id1));
184
+ (0, ts_mockito_1.verify)(spiedPrivacyPolicy.authorizeReadAsync(viewerContext, queryContext, entity, (0, ts_mockito_1.anything)())).once();
182
185
  });
183
186
  it('invalidates upon invalidate one', async () => {
184
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
187
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
188
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
185
189
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
186
- const privacyPolicy = ts_mockito_1.instance(ts_mockito_1.mock(TestEntity_1.TestEntityPrivacyPolicy));
187
- const dataManagerMock = ts_mockito_1.mock();
188
- const dataManagerInstance = ts_mockito_1.instance(dataManagerMock);
189
- const id1 = uuid_1.v4();
190
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance);
190
+ const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
191
+ const dataManagerMock = (0, ts_mockito_1.mock)();
192
+ const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
193
+ const id1 = (0, uuid_1.v4)();
194
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
191
195
  await entityLoader.invalidateFieldsAsync({ customIdField: id1 });
192
- ts_mockito_1.verify(dataManagerMock.invalidateObjectFieldsAsync(ts_mockito_1.deepEqual({ customIdField: id1 }))).once();
196
+ (0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
193
197
  });
194
198
  it('invalidates upon invalidate by field', async () => {
195
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
199
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
200
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
196
201
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
197
- const privacyPolicy = ts_mockito_1.instance(ts_mockito_1.mock(TestEntity_1.TestEntityPrivacyPolicy));
198
- const dataManagerMock = ts_mockito_1.mock();
199
- const dataManagerInstance = ts_mockito_1.instance(dataManagerMock);
200
- const id1 = uuid_1.v4();
201
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance);
202
+ const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
203
+ const dataManagerMock = (0, ts_mockito_1.mock)();
204
+ const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
205
+ const id1 = (0, uuid_1.v4)();
206
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
202
207
  await entityLoader.invalidateFieldsAsync({ customIdField: id1 });
203
- ts_mockito_1.verify(dataManagerMock.invalidateObjectFieldsAsync(ts_mockito_1.deepEqual({ customIdField: id1 }))).once();
208
+ (0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
204
209
  });
205
210
  it('invalidates upon invalidate by entity', async () => {
206
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
211
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
212
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
207
213
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
208
- const privacyPolicy = ts_mockito_1.instance(ts_mockito_1.mock(TestEntity_1.TestEntityPrivacyPolicy));
209
- const dataManagerMock = ts_mockito_1.mock();
210
- const dataManagerInstance = ts_mockito_1.instance(dataManagerMock);
211
- const id1 = uuid_1.v4();
212
- const entityMock = ts_mockito_1.mock(TestEntity_1.default);
213
- ts_mockito_1.when(entityMock.getAllDatabaseFields()).thenReturn({ customIdField: id1 });
214
- const entityInstance = ts_mockito_1.instance(entityMock);
215
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance);
214
+ const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
215
+ const dataManagerMock = (0, ts_mockito_1.mock)();
216
+ const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
217
+ const id1 = (0, uuid_1.v4)();
218
+ const entityMock = (0, ts_mockito_1.mock)(TestEntity_1.default);
219
+ (0, ts_mockito_1.when)(entityMock.getAllDatabaseFields()).thenReturn({ customIdField: id1 });
220
+ const entityInstance = (0, ts_mockito_1.instance)(entityMock);
221
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
216
222
  await entityLoader.invalidateEntityAsync(entityInstance);
217
- ts_mockito_1.verify(dataManagerMock.invalidateObjectFieldsAsync(ts_mockito_1.deepEqual({ customIdField: id1 }))).once();
223
+ (0, ts_mockito_1.verify)(dataManagerMock.invalidateObjectFieldsAsync((0, ts_mockito_1.deepEqual)({ customIdField: id1 }))).once();
218
224
  });
219
225
  it('returns error result when not allowed', async () => {
220
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
226
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
227
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
221
228
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
222
- const privacyPolicyMock = ts_mockito_1.mock(TestEntity_1.TestEntityPrivacyPolicy);
223
- const dataManagerMock = ts_mockito_1.mock();
224
- const id1 = uuid_1.v4();
225
- ts_mockito_1.when(dataManagerMock.loadManyByFieldEqualingAsync(ts_mockito_1.anything(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenResolve(new Map().set(id1, [{ customIdField: id1 }]));
229
+ const privacyPolicyMock = (0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy);
230
+ const dataManagerMock = (0, ts_mockito_1.mock)();
231
+ const id1 = (0, uuid_1.v4)();
232
+ (0, ts_mockito_1.when)(dataManagerMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenResolve(new Map().set(id1, [{ customIdField: id1 }]));
226
233
  const rejectionError = new Error();
227
- ts_mockito_1.when(privacyPolicyMock.authorizeReadAsync(viewerContext, queryContext, ts_mockito_1.anyOfClass(TestEntity_1.default))).thenReject(rejectionError);
228
- const privacyPolicy = ts_mockito_1.instance(privacyPolicyMock);
229
- const dataManagerInstance = ts_mockito_1.instance(dataManagerMock);
230
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance);
234
+ (0, ts_mockito_1.when)(privacyPolicyMock.authorizeReadAsync(viewerContext, queryContext, (0, ts_mockito_1.anyOfClass)(TestEntity_1.default), (0, ts_mockito_1.anything)())).thenReject(rejectionError);
235
+ const privacyPolicy = (0, ts_mockito_1.instance)(privacyPolicyMock);
236
+ const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
237
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
231
238
  const entityResult = await entityLoader.loadByIDAsync(id1);
232
239
  expect(entityResult.ok).toBe(false);
233
240
  expect(entityResult.reason).toEqual(rejectionError);
234
241
  expect(entityResult.value).toBe(undefined);
235
242
  });
236
243
  it('throws upon database adapter error', async () => {
237
- const viewerContext = ts_mockito_1.instance(ts_mockito_1.mock(ViewerContext_1.default));
244
+ const viewerContext = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(ViewerContext_1.default));
245
+ const metricsAdapter = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)());
238
246
  const queryContext = StubQueryContextProvider_1.default.getQueryContext();
239
- const privacyPolicy = ts_mockito_1.instance(ts_mockito_1.mock(TestEntity_1.TestEntityPrivacyPolicy));
240
- const dataManagerMock = ts_mockito_1.mock();
247
+ const privacyPolicy = (0, ts_mockito_1.instance)((0, ts_mockito_1.mock)(TestEntity_1.TestEntityPrivacyPolicy));
248
+ const dataManagerMock = (0, ts_mockito_1.mock)();
241
249
  const error = new Error();
242
- ts_mockito_1.when(dataManagerMock.loadManyByFieldEqualingAsync(ts_mockito_1.anything(), ts_mockito_1.anything(), ts_mockito_1.anything())).thenReject(error);
243
- const dataManagerInstance = ts_mockito_1.instance(dataManagerMock);
244
- const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance);
245
- const loadByValue = uuid_1.v4();
250
+ (0, ts_mockito_1.when)(dataManagerMock.loadManyByFieldEqualingAsync((0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)(), (0, ts_mockito_1.anything)())).thenReject(error);
251
+ const dataManagerInstance = (0, ts_mockito_1.instance)(dataManagerMock);
252
+ const entityLoader = new EntityLoader_1.default(viewerContext, queryContext, TestEntity_1.testEntityConfiguration, TestEntity_1.default, privacyPolicy, dataManagerInstance, metricsAdapter);
253
+ const loadByValue = (0, uuid_1.v4)();
246
254
  await expect(entityLoader.loadByIDAsync(loadByValue)).rejects.toEqual(error);
247
255
  await expect(entityLoader.enforcing().loadByIDAsync(loadByValue)).rejects.toEqual(error);
248
256
  await expect(entityLoader.loadManyByIDsAsync([loadByValue])).rejects.toEqual(error);
@@ -1 +1 @@
1
- {"version":3,"file":"EntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityLoader-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityLoader-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityLoader-test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Entity_1 = __importDefault(require("../Entity"));
7
+ const EntityCompanionProvider_1 = require("../EntityCompanionProvider");
8
+ const EntityConfiguration_1 = __importDefault(require("../EntityConfiguration"));
9
+ const EntityFields_1 = require("../EntityFields");
10
+ const EntityMutationInfo_1 = require("../EntityMutationInfo");
11
+ const EntityMutationTriggerConfiguration_1 = require("../EntityMutationTriggerConfiguration");
12
+ const EntityPrivacyPolicy_1 = __importDefault(require("../EntityPrivacyPolicy"));
13
+ const ViewerContext_1 = __importDefault(require("../ViewerContext"));
14
+ const AlwaysAllowPrivacyPolicyRule_1 = __importDefault(require("../rules/AlwaysAllowPrivacyPolicyRule"));
15
+ const createUnitTestEntityCompanionProvider_1 = require("../utils/testing/createUnitTestEntityCompanionProvider");
16
+ class BlahEntityPrivacyPolicy extends EntityPrivacyPolicy_1.default {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.createRules = [
20
+ new AlwaysAllowPrivacyPolicyRule_1.default(),
21
+ ];
22
+ this.readRules = [
23
+ new AlwaysAllowPrivacyPolicyRule_1.default(),
24
+ ];
25
+ this.updateRules = [
26
+ new AlwaysAllowPrivacyPolicyRule_1.default(),
27
+ ];
28
+ this.deleteRules = [
29
+ new AlwaysAllowPrivacyPolicyRule_1.default(),
30
+ ];
31
+ }
32
+ }
33
+ class BlahEntity extends Entity_1.default {
34
+ static getCompanionDefinition() {
35
+ return blahCompanion;
36
+ }
37
+ }
38
+ const blahCompanion = new EntityCompanionProvider_1.EntityCompanionDefinition({
39
+ entityClass: BlahEntity,
40
+ entityConfiguration: new EntityConfiguration_1.default({
41
+ idField: 'id',
42
+ tableName: 'blah_table',
43
+ schema: {
44
+ id: new EntityFields_1.UUIDField({
45
+ columnName: 'id',
46
+ cache: true,
47
+ }),
48
+ },
49
+ databaseAdapterFlavor: 'postgres',
50
+ cacheAdapterFlavor: 'redis',
51
+ }),
52
+ privacyPolicyClass: BlahEntityPrivacyPolicy,
53
+ mutationTriggers: () => ({
54
+ afterCommit: [new TestNonTransactionalMutationTrigger()],
55
+ }),
56
+ });
57
+ class TestNonTransactionalMutationTrigger extends EntityMutationTriggerConfiguration_1.EntityNonTransactionalMutationTrigger {
58
+ async executeAsync(viewerContext, entity, mutationInfo) {
59
+ if (mutationInfo.type === EntityMutationInfo_1.EntityMutationType.DELETE) {
60
+ const entityLoaded = await BlahEntity.loader(viewerContext)
61
+ .enforcing()
62
+ .loadByIDNullableAsync(entity.getID());
63
+ if (entityLoaded) {
64
+ throw new Error('should not have been able to re-load the entity after delete. this means the cache has not been cleared');
65
+ }
66
+ }
67
+ }
68
+ }
69
+ describe('EntityMutator', () => {
70
+ test('cache consistency with post-commit callbacks', async () => {
71
+ const companionProvider = (0, createUnitTestEntityCompanionProvider_1.createUnitTestEntityCompanionProvider)();
72
+ const viewerContext = new ViewerContext_1.default(companionProvider);
73
+ // put it in cache
74
+ const entity = await BlahEntity.creator(viewerContext).enforceCreateAsync();
75
+ const entityLoaded = await BlahEntity.loader(viewerContext)
76
+ .enforcing()
77
+ .loadByIDAsync(entity.getID());
78
+ await BlahEntity.enforceDeleteAsync(entityLoaded);
79
+ });
80
+ });
81
+ //# sourceMappingURL=EntityMutator-MutationCacheConsistency-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntityMutator-MutationCacheConsistency-test.js","sourceRoot":"","sources":["../../src/__tests__/EntityMutator-MutationCacheConsistency-test.ts"],"names":[],"mappings":";;;;;AAAA,uDAA+B;AAC/B,wEAAuE;AACvE,iFAAyD;AACzD,kDAA4C;AAC5C,8DAAsF;AACtF,8FAA8F;AAC9F,iFAAyD;AACzD,qEAA6C;AAC7C,yGAAiF;AACjF,kHAA+G;AAM/G,MAAM,uBAAwB,SAAQ,6BAKrC;IALD;;QAM8B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,cAAS,GAAG;YACtC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;QAC0B,gBAAW,GAAG;YACxC,IAAI,sCAA4B,EAAiD;SAClF,CAAC;IACJ,CAAC;CAAA;AAED,MAAM,UAAW,SAAQ,gBAAyC;IAChE,MAAM,CAAC,sBAAsB;QAO3B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAED,MAAM,aAAa,GAAG,IAAI,mDAAyB,CAAC;IAClD,WAAW,EAAE,UAAU;IACvB,mBAAmB,EAAE,IAAI,6BAAmB,CAAa;QACvD,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,YAAY;QACvB,MAAM,EAAE;YACN,EAAE,EAAE,IAAI,wBAAS,CAAC;gBAChB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI;aACZ,CAAC;SACH;QACD,qBAAqB,EAAE,UAAU;QACjC,kBAAkB,EAAE,OAAO;KAC5B,CAAC;IACF,kBAAkB,EAAE,uBAAuB;IAC3C,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC,IAAI,mCAAmC,EAAE,CAAC;KACzD,CAAC;CACH,CAAC,CAAC;AAEH,MAAM,mCAAoC,SAAQ,0EAKjD;IACC,KAAK,CAAC,YAAY,CAChB,aAA4B,EAC5B,MAAkB,EAClB,YAAsF;QAEtF,IAAI,YAAY,CAAC,IAAI,KAAK,uCAAkB,CAAC,MAAM,EAAE;YACnD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;iBACxD,SAAS,EAAE;iBACX,qBAAqB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACzC,IAAI,YAAY,EAAE;gBAChB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAC;aACH;SACF;IACH,CAAC;CACF;AAED,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,iBAAiB,GAAG,IAAA,6EAAqC,GAAE,CAAC;QAClE,MAAM,aAAa,GAAG,IAAI,uBAAa,CAAC,iBAAiB,CAAC,CAAC;QAE3D,kBAAkB;QAClB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,kBAAkB,EAAE,CAAC;QAC5E,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,aAAa,CAAC;aACxD,SAAS,EAAE;aACX,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAEjC,MAAM,UAAU,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}