joist-core 2.1.0-next.5 → 2.1.0-next.50

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 (138) hide show
  1. package/build/ConditionBuilder.d.ts +1 -22
  2. package/build/ConditionBuilder.d.ts.map +1 -1
  3. package/build/ConditionBuilder.js +6 -72
  4. package/build/ConditionBuilder.js.map +1 -1
  5. package/build/EntityFilter.d.ts +2 -0
  6. package/build/EntityFilter.d.ts.map +1 -1
  7. package/build/EntityGraphQLFilter.d.ts +2 -0
  8. package/build/EntityGraphQLFilter.d.ts.map +1 -1
  9. package/build/EntityGraphQLFilter.js.map +1 -1
  10. package/build/EntityManager.d.ts +5 -0
  11. package/build/EntityManager.d.ts.map +1 -1
  12. package/build/EntityManager.js +51 -26
  13. package/build/EntityManager.js.map +1 -1
  14. package/build/EntityMetadata.d.ts +2 -0
  15. package/build/EntityMetadata.d.ts.map +1 -1
  16. package/build/EntityMetadata.js.map +1 -1
  17. package/build/InstanceData.d.ts +1 -1
  18. package/build/InstanceData.js +2 -2
  19. package/build/JoinRows.d.ts +1 -1
  20. package/build/JoinRows.js +6 -1
  21. package/build/JoinRows.js.map +1 -1
  22. package/build/PluginManager.d.ts +12 -0
  23. package/build/PluginManager.d.ts.map +1 -1
  24. package/build/PluginManager.js +18 -2
  25. package/build/PluginManager.js.map +1 -1
  26. package/build/QueryParser.collectionJoins.d.ts +27 -0
  27. package/build/QueryParser.collectionJoins.d.ts.map +1 -0
  28. package/build/QueryParser.collectionJoins.js +460 -0
  29. package/build/QueryParser.collectionJoins.js.map +1 -0
  30. package/build/QueryParser.collectionJoins.test.d.ts +2 -0
  31. package/build/QueryParser.collectionJoins.test.d.ts.map +1 -0
  32. package/build/QueryParser.collectionJoins.test.js +772 -0
  33. package/build/QueryParser.collectionJoins.test.js.map +1 -0
  34. package/build/QueryParser.d.ts +62 -9
  35. package/build/QueryParser.d.ts.map +1 -1
  36. package/build/QueryParser.js +39 -33
  37. package/build/QueryParser.js.map +1 -1
  38. package/build/QueryParser.pruning.d.ts +4 -2
  39. package/build/QueryParser.pruning.d.ts.map +1 -1
  40. package/build/QueryParser.pruning.js +80 -10
  41. package/build/QueryParser.pruning.js.map +1 -1
  42. package/build/QueryParser.pruning.test.d.ts +2 -0
  43. package/build/QueryParser.pruning.test.d.ts.map +1 -0
  44. package/build/QueryParser.pruning.test.js +106 -0
  45. package/build/QueryParser.pruning.test.js.map +1 -0
  46. package/build/QueryVisitor.d.ts.map +1 -1
  47. package/build/QueryVisitor.js +22 -0
  48. package/build/QueryVisitor.js.map +1 -1
  49. package/build/ReactionsManager.js +2 -2
  50. package/build/batchloaders/BatchLoader.d.ts.map +1 -1
  51. package/build/batchloaders/BatchLoader.js +4 -1
  52. package/build/batchloaders/BatchLoader.js.map +1 -1
  53. package/build/config.d.ts.map +1 -1
  54. package/build/config.js +18 -10
  55. package/build/config.js.map +1 -1
  56. package/build/configure.js +2 -2
  57. package/build/dataloaders/findCountDataLoader.js +2 -2
  58. package/build/dataloaders/findCountDataLoader.js.map +1 -1
  59. package/build/dataloaders/findIdsDataLoader.js +2 -2
  60. package/build/dataloaders/findIdsDataLoader.js.map +1 -1
  61. package/build/dataloaders/findOrCreateDataLoader.d.ts.map +1 -1
  62. package/build/dataloaders/findOrCreateDataLoader.js +6 -1
  63. package/build/dataloaders/findOrCreateDataLoader.js.map +1 -1
  64. package/build/defaults.d.ts.map +1 -1
  65. package/build/defaults.js +49 -42
  66. package/build/defaults.js.map +1 -1
  67. package/build/drivers/buildRawQuery.d.ts.map +1 -1
  68. package/build/drivers/buildRawQuery.js +3 -2
  69. package/build/drivers/buildRawQuery.js.map +1 -1
  70. package/build/drivers/buildUtils.d.ts +7 -2
  71. package/build/drivers/buildUtils.d.ts.map +1 -1
  72. package/build/drivers/buildUtils.js +14 -5
  73. package/build/drivers/buildUtils.js.map +1 -1
  74. package/build/fields.js +1 -1
  75. package/build/index.d.ts +2 -1
  76. package/build/index.d.ts.map +1 -1
  77. package/build/index.js +7 -5
  78. package/build/index.js.map +1 -1
  79. package/build/json.d.ts +3 -3
  80. package/build/json.d.ts.map +1 -1
  81. package/build/json.js +4 -4
  82. package/build/json.js.map +1 -1
  83. package/build/loadHints.d.ts +4 -4
  84. package/build/loadHints.d.ts.map +1 -1
  85. package/build/loadLens.js +1 -1
  86. package/build/loadLens.js.map +1 -1
  87. package/build/preloading/JsonAggregatePreloader.js +6 -2
  88. package/build/preloading/JsonAggregatePreloader.js.map +1 -1
  89. package/build/reactiveHints.d.ts +11 -4
  90. package/build/reactiveHints.d.ts.map +1 -1
  91. package/build/reactiveHints.js +13 -17
  92. package/build/reactiveHints.js.map +1 -1
  93. package/build/relations/AsyncProperty.d.ts +36 -0
  94. package/build/relations/AsyncProperty.d.ts.map +1 -0
  95. package/build/relations/AsyncProperty.js +80 -0
  96. package/build/relations/AsyncProperty.js.map +1 -0
  97. package/build/relations/{ReactiveQueryField.d.ts → AsyncReactiveField.d.ts} +10 -10
  98. package/build/relations/AsyncReactiveField.d.ts.map +1 -0
  99. package/build/relations/{ReactiveQueryField.js → AsyncReactiveField.js} +19 -19
  100. package/build/relations/{ReactiveQueryField.js.map → AsyncReactiveField.js.map} +1 -1
  101. package/build/relations/ReactiveField.d.ts +7 -9
  102. package/build/relations/ReactiveField.d.ts.map +1 -1
  103. package/build/relations/ReactiveField.js +5 -10
  104. package/build/relations/ReactiveField.js.map +1 -1
  105. package/build/relations/ReactiveGetter.d.ts +5 -5
  106. package/build/relations/ReactiveGetter.d.ts.map +1 -1
  107. package/build/relations/ReactiveGetter.js +3 -3
  108. package/build/relations/ReactiveGetter.js.map +1 -1
  109. package/build/relations/ReactiveReference.d.ts +2 -2
  110. package/build/relations/ReactiveReference.d.ts.map +1 -1
  111. package/build/relations/ReactiveReference.js +95 -35
  112. package/build/relations/ReactiveReference.js.map +1 -1
  113. package/build/relations/{hasAsyncProperty.d.ts → hasProperty.d.ts} +12 -12
  114. package/build/relations/hasProperty.d.ts.map +1 -0
  115. package/build/relations/{hasAsyncProperty.js → hasProperty.js} +20 -20
  116. package/build/relations/hasProperty.js.map +1 -0
  117. package/build/relations/index.d.ts +3 -2
  118. package/build/relations/index.d.ts.map +1 -1
  119. package/build/relations/index.js +16 -11
  120. package/build/relations/index.js.map +1 -1
  121. package/build/resurrection.d.ts +10 -0
  122. package/build/resurrection.d.ts.map +1 -0
  123. package/build/resurrection.js +93 -0
  124. package/build/resurrection.js.map +1 -0
  125. package/build/rules.js +3 -3
  126. package/build/trusted.d.ts +1 -1
  127. package/build/trusted.d.ts.map +1 -1
  128. package/build/trusted.js +1 -1
  129. package/build/trusted.js.map +1 -1
  130. package/build/upsert.d.ts.map +1 -1
  131. package/build/upsert.js +26 -10
  132. package/build/upsert.js.map +1 -1
  133. package/build/withLoaded.js +5 -5
  134. package/build/withLoaded.js.map +1 -1
  135. package/package.json +2 -2
  136. package/build/relations/ReactiveQueryField.d.ts.map +0 -1
  137. package/build/relations/hasAsyncProperty.d.ts.map +0 -1
  138. package/build/relations/hasAsyncProperty.js.map +0 -1
@@ -22,29 +22,8 @@ export declare class ConditionBuilder {
22
22
  * Unless it's something like `in: [a1, null]`, in which case we split it into two `is-null` and `in` conditions.
23
23
  */
24
24
  addValueFilter(alias: string, column: Column, filter: ParsedValueFilter<any>): void;
25
- /** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
25
+ /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */
26
26
  toExpressionFilter(): ParsedExpressionFilter | undefined;
27
- /**
28
- * Finds `child.column.eq(...)` complex conditions that need pushed down into each lateral join.
29
- *
30
- * Once we find something like `{ column: "first_name", cond: { eq: "a1" } }`, we return it to the
31
- * caller (for injection into the lateral join's `SELECT` clause), and replace it with a boolean
32
- * expression that is basically "did any of my children match this condition?".
33
- *
34
- * We also assume that `findAndRewrite` is only called on the top-level/user-facing `ParsedFindQuery`,
35
- * and not any intermediate `CteJoinTable` queries (which are allowed to have their own
36
- * `ConditionBuilder`s for building their internal query, but it's not exposed to the user,
37
- * so won't have any truly-complex conditions that should need rewritten).
38
- *
39
- * @param topLevelLateralJoin the outermost lateral join alias, as that will be the only alias
40
- * that is visible to the rewritten condition, i.e. `_alias._whatever_condition_`.
41
- * @param alias the alias being "hidden" in a lateral join, and so its columns/data won't be
42
- * available for the top-level condition to directly AND/OR against.
43
- */
44
- findAndRewrite(topLevelLateralJoin: string, alias: string): {
45
- cond: ColumnCondition;
46
- as: string;
47
- }[];
48
27
  }
49
28
  export {};
50
29
  //# sourceMappingURL=ConditionBuilder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACL,eAAe,EAGf,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,mFAAmF;AACnF,qBAAa,gBAAgB;IAC3B,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAA0C;IAC5D,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAgC;IAEnD,2FAA2F;IAC3F,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAKtD,wEAAwE;IACxE,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAIpD,wEAAwE;IACxE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI;IAQhF,mEAAmE;IACnE,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIzD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI;IAoCnF,kGAAkG;IAClG,kBAAkB,IAAI,sBAAsB,GAAG,SAAS;IAexD;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,eAAe,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,EAAE;CA4CpG"}
1
+ {"version":3,"file":"ConditionBuilder.d.ts","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EACL,eAAe,EAGf,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EAEb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAGjC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1E,mFAAmF;AACnF,qBAAa,gBAAgB;IAC3B,sEAAsE;IACtE,OAAO,CAAC,UAAU,CAA0C;IAC5D,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAgC;IAEnD,2FAA2F;IAC3F,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,GAAG,IAAI;IAKtD,wEAAwE;IACxE,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAIpD,wEAAwE;IACxE,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG,IAAI;IAQhF,mEAAmE;IACnE,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAIzD;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,CAAC,GAAG,CAAC,GAAG,IAAI;IAoCnF,oGAAoG;IACpG,kBAAkB,IAAI,sBAAsB,GAAG,SAAS;CAezD"}
@@ -73,90 +73,24 @@ class ConditionBuilder {
73
73
  this.conditions.push(cond);
74
74
  }
75
75
  }
76
- /** Combines our collected `conditions` & `expressions` into a single `ParsedExpressionFilter`. */
76
+ /** Combines our collected `conditions` and `expressions` into a single `ParsedExpressionFilter`. */
77
77
  toExpressionFilter() {
78
78
  const { expressions, conditions } = this;
79
- if (conditions.length === 0 && expressions.length === 1) {
79
+ const allSimple = [...conditions];
80
+ if (allSimple.length === 0 && expressions.length === 1) {
80
81
  // If no inline conditions, and just 1 opt expression, just use that
81
82
  return expressions[0];
82
83
  }
83
84
  else if (expressions.length === 1 && expressions[0].op === "and") {
84
85
  // Merge the 1 `AND` expression with the other simple conditions
85
- return { kind: "exp", op: "and", conditions: [...conditions, ...expressions[0].conditions] };
86
+ return { kind: "exp", op: "and", conditions: [...allSimple, ...expressions[0].conditions] };
86
87
  }
87
- else if (conditions.length > 0 || expressions.length > 0) {
88
+ else if (allSimple.length > 0 || expressions.length > 0) {
88
89
  // Combine the conditions within the `em.find` join literal & the `conditions` as ANDs
89
- return { kind: "exp", op: "and", conditions: [...conditions, ...expressions] };
90
+ return { kind: "exp", op: "and", conditions: [...allSimple, ...expressions] };
90
91
  }
91
92
  return undefined;
92
93
  }
93
- /**
94
- * Finds `child.column.eq(...)` complex conditions that need pushed down into each lateral join.
95
- *
96
- * Once we find something like `{ column: "first_name", cond: { eq: "a1" } }`, we return it to the
97
- * caller (for injection into the lateral join's `SELECT` clause), and replace it with a boolean
98
- * expression that is basically "did any of my children match this condition?".
99
- *
100
- * We also assume that `findAndRewrite` is only called on the top-level/user-facing `ParsedFindQuery`,
101
- * and not any intermediate `CteJoinTable` queries (which are allowed to have their own
102
- * `ConditionBuilder`s for building their internal query, but it's not exposed to the user,
103
- * so won't have any truly-complex conditions that should need rewritten).
104
- *
105
- * @param topLevelLateralJoin the outermost lateral join alias, as that will be the only alias
106
- * that is visible to the rewritten condition, i.e. `_alias._whatever_condition_`.
107
- * @param alias the alias being "hidden" in a lateral join, and so its columns/data won't be
108
- * available for the top-level condition to directly AND/OR against.
109
- */
110
- findAndRewrite(topLevelLateralJoin, alias) {
111
- let j = 0;
112
- const found = [];
113
- const todo = [this.conditions];
114
- for (const exp of this.expressions)
115
- todo.push(exp.conditions);
116
- while (todo.length > 0) {
117
- const array = todo.pop();
118
- array.forEach((cond, i) => {
119
- if (cond.kind === "column") {
120
- // Use startsWith to look for `_b0` / `_s0` base/subtype conditions
121
- if (cond.alias === alias || cond.alias.startsWith(`${alias}_`)) {
122
- if (cond.column === "_")
123
- return; // Hack to skip rewriting `alias._ > 0`
124
- const as = `_${alias}_${cond.column}_${j++}`;
125
- array[i] = {
126
- kind: "raw",
127
- aliases: [topLevelLateralJoin],
128
- condition: `${topLevelLateralJoin}.${as}`,
129
- bindings: [],
130
- pruneable: false,
131
- ...{ rewritten: true },
132
- };
133
- found.push({ cond, as });
134
- }
135
- }
136
- else if (cond.kind === "exp") {
137
- todo.push(cond.conditions);
138
- }
139
- else if (cond.kind === "raw") {
140
- // what would we do here?
141
- if (cond.aliases.includes(alias)) {
142
- // Look for a hacky hint that this is our own already-rewritten query; this is likely
143
- // because `findAndRewrite` is mutating condition expressions that get passed into
144
- // `parseFindQuery` multiple times, i.e. while batching/dataloading.
145
- //
146
- // ...although in theory parseExpression should already be making a copy of any user-facing
147
- // `em.find` conditions. :thinking:
148
- if ("rewritten" in cond)
149
- return;
150
- throw new Error("Joist doesn't support raw conditions in lateral joins yet");
151
- }
152
- }
153
- else {
154
- (0, utils_1.assertNever)(cond);
155
- }
156
- });
157
- }
158
- return found;
159
- }
160
94
  }
161
95
  exports.ConditionBuilder = ConditionBuilder;
162
96
  /** Parses user-facing `{ and: ... }` or `{ or: ... }` into a `ParsedExpressionFilter`. */
@@ -1 +1 @@
1
- {"version":3,"file":"ConditionBuilder.js","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConditionBuilder.js","sourceRoot":"","sources":["../src/ConditionBuilder.ts"],"names":[],"mappings":";;;AACA,mDAA4C;AAC5C,+CAQuB;AAEvB,mCAAoC;AAIpC,mFAAmF;AACnF,MAAa,gBAAgB;IAC3B,sEAAsE;IAC9D,UAAU,GAAuC,EAAE,CAAC;IAC5D,gFAAgF;IACxE,WAAW,GAA6B,EAAE,CAAC;IAEnD,2FAA2F;IAC3F,kBAAkB,CAAC,UAA4B;QAC7C,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,wEAAwE;IACxE,kBAAkB,CAAC,SAA0B;QAC3C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAED,wEAAwE;IACxE,eAAe,CAAC,SAAyD;QACvE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YACnB,IAAI,EAAE,KAAK;YACX,QAAQ,EAAE,EAAE;YACZ,GAAG,SAAS;SACb,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,mBAAmB,CAAC,MAA8B;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,MAA8B;QAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,0FAA0F;YAC1F,MAAM,MAAM,GAAG;gBACb,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,UAAU;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;aACA,CAAC;YAC5B,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,UAAU;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE;oBACJ,IAAI,EAAE,IAAI;oBACV,6CAA6C;oBAC7C,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;iBAC5E;aACwB,CAAC;YAC5B,4BAA4B;YAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG;gBACX,IAAI,EAAE,QAAQ;gBACd,KAAK;gBACL,MAAM,EAAE,MAAM,CAAC,UAAU;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,qDAAqD;gBACrD,IAAI,EAAE,IAAA,qBAAO,EAAC,MAAM,EAAE,MAAM,CAAC;aACJ,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,oGAAoG;IACpG,kBAAkB;QAChB,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACzC,MAAM,SAAS,GAAgC,CAAC,GAAG,UAAU,CAAC,CAAC;QAC/D,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvD,oEAAoE;YACpE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;YACnE,gEAAgE;YAChE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9F,CAAC;aAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,sFAAsF;YACtF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,EAAE,CAAC;QAChF,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAxFD,4CAwFC;AAED,0FAA0F;AAC1F,SAAS,eAAe,CAAC,UAA4B;IACnD,+CAA+C;IAC/C,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,GACrB,KAAK,IAAI,UAAU,IAAI,UAAU,CAAC,GAAG;QACnC,CAAC,CAAC,CAAC,KAAc,EAAE,UAAU,CAAC,GAAG,CAAC;QAClC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,UAAU,CAAC,EAAE;YACnC,CAAC,CAAC,CAAC,IAAa,EAAE,UAAU,CAAC,EAAE,CAAC;YAChC,CAAC,CAAC,IAAI,CAAC,sBAAsB,UAAU,EAAE,CAAC,CAAC;IACjD,8CAA8C;IAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjH,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,IAAA,iBAAS,EAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,2BAAa,CAAC,CAAC;IACpG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,gBAAgB,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,yBAAS,CAAC,EAAE,CAAC;AAClE,CAAC"}
@@ -11,6 +11,8 @@ export type FilterAndSettings<T extends Entity> = {
11
11
  limit?: number;
12
12
  offset?: number;
13
13
  softDeletes?: "exclude" | "include";
14
+ allowMultipleLeftJoins?: boolean;
15
+ optimizeJoinsToExists?: boolean;
14
16
  };
15
17
  export type OrderBy = "ASC" | "DESC";
16
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"EntityFilter.d.ts","sourceRoot":"","sources":["../src/EntityFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityFilter.d.ts","sourceRoot":"","sources":["../src/EntityFilter.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,8 @@ export type GraphQLFilterAndSettings<T extends Entity> = {
13
13
  limit?: number | null;
14
14
  offset?: number | null;
15
15
  softDeletes?: "exclude" | "include";
16
+ allowMultipleLeftJoins?: boolean;
17
+ optimizeJoinsToExists?: boolean;
16
18
  };
17
19
  /**
18
20
  * This essentially matches the ValueFilter but with looser types to placate GraphQL.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityGraphQLFilter.d.ts","sourceRoot":"","sources":["../src/EntityGraphQLFilter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityGraphQLFilter.d.ts","sourceRoot":"","sources":["../src/EntityGraphQLFilter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"EntityGraphQLFilter.js","sourceRoot":"","sources":["../src/EntityGraphQLFilter.ts"],"names":[],"mappings":";;;AAkDa,QAAA,SAAS,GAAG;IACvB,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,+BAA+B;IAC/B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,KAAK;IACL,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AAIE,QAAA,MAAM,GAAgE;IACjF,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,WAAW;IACnB,+BAA+B;IAC/B,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK;IACd,uBAAuB;IACvB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,yBAAyB;IACzB,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
1
+ {"version":3,"file":"EntityGraphQLFilter.js","sourceRoot":"","sources":["../src/EntityGraphQLFilter.ts"],"names":[],"mappings":";;;AAoDa,QAAA,SAAS,GAAG;IACvB,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,+BAA+B;IAC/B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,IAAI;IACJ,KAAK;IACL,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AAIE,QAAA,MAAM,GAAgE;IACjF,EAAE,EAAE,GAAG;IACP,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,GAAG;IACP,GAAG,EAAE,IAAI;IACT,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,UAAU;IACjB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,WAAW;IACnB,+BAA+B;IAC/B,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,IAAI;IACZ,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE,KAAK;IACd,uBAAuB;IACvB,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,IAAI;IACjB,yBAAyB;IACzB,QAAQ,EAAE,IAAI;IACd,cAAc,EAAE,IAAI;IACpB,iBAAiB,EAAE,IAAI;CACxB,CAAC"}
@@ -48,6 +48,8 @@ export interface FindFilterOptions<T extends Entity> {
48
48
  conditions?: ExpressionFilter;
49
49
  orderBy?: OrderOf<T> | OrderOf<T>[];
50
50
  softDeletes?: "include" | "exclude";
51
+ allowMultipleLeftJoins?: boolean;
52
+ optimizeJoinsToExists?: boolean;
51
53
  }
52
54
  /**
53
55
  * Options for the non-batchable `em.findPaginated` queries, i.e. limit & offset are allowed.
@@ -67,6 +69,8 @@ export interface FindGqlPaginatedFilterOptions<T extends Entity> extends FindFil
67
69
  export interface FindCountFilterOptions<T extends Entity> {
68
70
  conditions?: ExpressionFilter;
69
71
  softDeletes?: "include" | "exclude";
72
+ allowMultipleLeftJoins?: boolean;
73
+ optimizeJoinsToExists?: boolean;
70
74
  }
71
75
  /**
72
76
  * Constructors for either concrete or abstract entity types.
@@ -183,6 +187,7 @@ export declare class EntityManager<C = unknown, Entity extends EntityW = EntityW
183
187
  findPaginated<T extends EntityW, const H extends LoadHint<T>>(type: MaybeAbstractEntityConstructor<T>, where: FilterWithAlias<T>, options: FindPaginatedFilterOptions<T> & {
184
188
  populate: H;
185
189
  }): Promise<Loaded<T, H>[]>;
190
+ /** Runs the post-parse find pipeline: plugins mutate the logical AST, then Joist optimizes/prunes before SQL. */
186
191
  private executeFind;
187
192
  /**
188
193
  * Works exactly like `find` but accepts "less than greatly typed" GraphQL filters.
@@ -1 +1 @@
1
- {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityManager.d.ts","sourceRoot":"","sources":["../src/EntityManager.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ const ReactionsManager_1 = require("./ReactionsManager");
49
49
  const reactiveHints_1 = require("./reactiveHints");
50
50
  const relations_1 = require("./relations");
51
51
  const hasAsyncMethod_1 = require("./relations/hasAsyncMethod");
52
+ const AsyncProperty_1 = require("./relations/AsyncProperty");
52
53
  const RecursiveCollection_1 = require("./relations/RecursiveCollection");
53
54
  const Todo_1 = require("./Todo");
54
55
  const trusted_1 = require("./trusted");
@@ -260,17 +261,19 @@ class EntityManager {
260
261
  const { populate, limit, offset, ...rest } = options || {};
261
262
  const meta = (0, index_1.getMetadata)(type);
262
263
  const query = (0, index_1.parseFindQuery)(meta, where, rest);
263
- const rows = await this.executeFind(meta, "findPaginated", query, { limit, offset, checkLimit: false });
264
+ const rows = await this.executeFind(meta, "findPaginated", query, { ...rest, limit, offset, checkLimit: false });
264
265
  const result = this.hydrate(type, rows);
265
266
  if (populate) {
266
267
  await this.populate(result, populate);
267
268
  }
268
269
  return result;
269
270
  }
271
+ /** Runs the post-parse find pipeline: plugins mutate the logical AST, then Joist optimizes/prunes before SQL. */
270
272
  async executeFind(meta, operation, parsed, settings) {
271
273
  const { checkLimit, ...driverSettings } = settings;
272
274
  const { pluginManager } = getEmInternalApi(this);
273
275
  pluginManager.beforeFind(meta, operation, parsed, driverSettings);
276
+ (0, index_1.optimizeCollectionJoins)(parsed, settings);
274
277
  const rows = await this.driver.executeFind(this, parsed, driverSettings);
275
278
  // Check by default unless explicitly disabled or the caller removed the LIMIT via `limit: undefined`
276
279
  const shouldCheck = checkLimit ?? !("limit" in settings && settings.limit === undefined);
@@ -883,11 +886,11 @@ class EntityManager {
883
886
  const createdThenDeleted = new Set();
884
887
  // We'll only invoke hooks once/entity (the 1st time that entity goes through runHooksOnPendingEntities)
885
888
  const hooksInvoked = new Set();
886
- // Make sure two ReactiveQueryFields don't ping-pong each other forever
889
+ // Make sure two AsyncReactiveFields don't ping-pong each other forever
887
890
  let hookLoops = 0;
888
891
  let now = getNow();
889
892
  const suppressedDefaultTypeErrors = [];
890
- // Make a lambda that we can invoke multiple times, if we loop for ReactiveQueryFields
893
+ // Make a lambda that we can invoke multiple times, if we loop for AsyncReactiveFields
891
894
  const runHooksOnPendingEntities = async () => {
892
895
  if (hookLoops++ >= 10)
893
896
  throw new Error("runHooksOnPendingEntities has ran 10 iterations, aborting");
@@ -904,18 +907,18 @@ class EntityManager {
904
907
  // Subset of pendingFlush entities that had hooks invoked in a prior `runHooksOnPendingEntities`
905
908
  const alreadyRanHooks = new Set();
906
909
  findPendingFlushEntities(this.entities, hooksInvoked, pendingFlush, pendingHooks, alreadyRanHooks);
907
- // If we're re-looping for ReactiveQueryField, make sure to bump updatedAt
910
+ // If we're re-looping for AsyncReactiveField, make sure to bump updatedAt
908
911
  // each time, so that for an INSERT-then-UPDATE the triggers don't think the
909
912
  // UPDATE forgot to self-bump updatedAt, and then "helpfully" bump it for us.
910
913
  if (alreadyRanHooks.size > 0) {
911
- maybeBumpUpdatedAt((0, Todo_1.createTodos)([...alreadyRanHooks]), now);
914
+ maybeBumpUpdatedAt(this.#rm, (0, Todo_1.createTodos)([...alreadyRanHooks]), now);
912
915
  }
913
916
  // Run hooks in a series of loops until things "settle down"
914
917
  while (pendingHooks.size > 0) {
915
918
  await this.#fl.allowWrites(async () => {
916
919
  let todos = (0, Todo_1.createTodos)([...pendingHooks]);
917
920
  await (0, defaults_1.setAsyncDefaults)(suppressedDefaultTypeErrors, this.ctx, Todo_1.Todo.groupInsertsByTypeAndSubType(todos));
918
- maybeBumpUpdatedAt(todos, now);
921
+ maybeBumpUpdatedAt(this.#rm, todos, now);
919
922
  // Run our hooks
920
923
  for (const group of maybeSetupHookOrdering(todos)) {
921
924
  await beforeCreate(this.ctx, group);
@@ -960,24 +963,30 @@ class EntityManager {
960
963
  return !createThenDelete;
961
964
  });
962
965
  };
963
- const runValidation = async (entityTodos, joinRowTodos) => {
966
+ const { pluginManager } = getEmInternalApi(this);
967
+ const runValidation = async (entityTodos, joinRowTodos, validate) => {
968
+ const changedEntities = entitiesFromTodos(entityTodos, joinRowTodos);
964
969
  try {
965
970
  this.#isValidating = true;
966
- // Run simple rules first b/c it includes not-null/required rules, so that then when we run
967
- // `validateReactiveRules` next, the app's lambdas won't see fundamentally invalid entities & NPE.
968
- await validateSimpleRules(entityTodos);
969
- // After we've let any "author is not set" simple rules fail before prematurely throwing
970
- // the "of course that caused an NPE" `TypeError`s, if all the authors *were* valid/set,
971
- // and we still have TypeErrors (from derived valeus), they were real, unrelated errors
972
- // that the user should see.
973
- if (suppressedDefaultTypeErrors.length > 0)
974
- throw suppressedDefaultTypeErrors[0];
975
- await validateReactiveRules(this, this.#rm.logger, entityTodos, joinRowTodos);
971
+ await pluginManager.beforeValidate(changedEntities);
972
+ if (validate) {
973
+ // Run simple rules first b/c it includes not-null/required rules, so that then when we run
974
+ // `validateReactiveRules` next, the app's lambdas won't see fundamentally invalid entities & NPE.
975
+ await validateSimpleRules(entityTodos);
976
+ // After we've let any "author is not set" simple rules fail before prematurely throwing
977
+ // the "of course that caused an NPE" `TypeError`s, if all the authors *were* valid/set,
978
+ // and we still have TypeErrors (from derived valeus), they were real, unrelated errors
979
+ // that the user should see.
980
+ if (suppressedDefaultTypeErrors.length > 0)
981
+ throw suppressedDefaultTypeErrors[0];
982
+ await validateReactiveRules(this, this.#rm.logger, entityTodos, joinRowTodos);
983
+ await afterValidation(this.ctx, entityTodos);
984
+ }
985
+ await pluginManager.afterValidate(changedEntities);
976
986
  }
977
987
  finally {
978
988
  this.#isValidating = false;
979
989
  }
980
- await afterValidation(this.ctx, entityTodos);
981
990
  };
982
991
  // Run hooks (in iterative loops if hooks mutate new entities) on pending entities
983
992
  let entitiesToFlush = await runHooksOnPendingEntities();
@@ -987,13 +996,10 @@ class EntityManager {
987
996
  // the full set of entities that will be INSERT/UPDATE/DELETE-d in the database.
988
997
  let entityTodos = (0, Todo_1.createTodos)(entitiesToFlush);
989
998
  let joinRowTodos = (0, Todo_1.combineJoinRows)(this.#joinRows);
990
- if (!skipValidation) {
991
- await runValidation(entityTodos, joinRowTodos);
992
- }
999
+ await runValidation(entityTodos, joinRowTodos, !skipValidation);
993
1000
  this.#rm.throwIfAnySuppressedTypeErrors();
994
1001
  if (suppressedDefaultTypeErrors.length > 0)
995
1002
  throw suppressedDefaultTypeErrors[0];
996
- const { pluginManager } = getEmInternalApi(this);
997
1003
  if (Object.keys(entityTodos).length > 0 || Object.keys(joinRowTodos).length > 0) {
998
1004
  // The driver will handle the right thing if we're already in an existing transaction.
999
1005
  await this.driver.transaction(this, async () => {
@@ -1014,7 +1020,7 @@ class EntityManager {
1014
1020
  // Actually do the recalc
1015
1021
  await this.#fl.allowWrites(async () => {
1016
1022
  await this.#rm.recalcPendingReactables("reactiveQueries");
1017
- // If any ReactiveFields depended on ReactiveQueryFields, go ahead and calc those now
1023
+ // If any ReactiveFields depended on AsyncReactiveFields, go ahead and calc those now
1018
1024
  await this.#rm.recalcPendingReactables("reactables");
1019
1025
  });
1020
1026
  // Advance `now` so that our triggers don't think our UPDATEs are forgetting to self-bump
@@ -1027,7 +1033,7 @@ class EntityManager {
1027
1033
  // Recreate `entityTodos` against the only-the-just-changed entities
1028
1034
  entityTodos = (0, Todo_1.createTodos)(entitiesToFlush);
1029
1035
  joinRowTodos = (0, Todo_1.combineJoinRows)(this.#joinRows);
1030
- await runValidation(entityTodos, joinRowTodos);
1036
+ await runValidation(entityTodos, joinRowTodos, true);
1031
1037
  this.#rm.throwIfAnySuppressedTypeErrors();
1032
1038
  }
1033
1039
  else {
@@ -1049,6 +1055,11 @@ class EntityManager {
1049
1055
  if (e.isNewEntity && !e.isDeletedEntity)
1050
1056
  this.#entitiesById.set(e.idTagged, e);
1051
1057
  (0, BaseEntity_1.getInstanceData)(e).resetAfterFlushed();
1058
+ // Reset AsyncQueryProperties since DB state may have changed
1059
+ for (const rel of Object.values((0, BaseEntity_1.getInstanceData)(e).relations)) {
1060
+ if (rel instanceof AsyncProperty_1.AsyncPropertyImpl)
1061
+ rel.resetAfterFlush();
1062
+ }
1052
1063
  }
1053
1064
  // Update the joinRows refs to reflect the new state
1054
1065
  for (const joinRow of Object.values(joinRowTodos)) {
@@ -1256,7 +1267,7 @@ class EntityManager {
1256
1267
  (0, fields_1.setField)(entity, field.fieldName, entity[field.fieldName]);
1257
1268
  }));
1258
1269
  // `.load()` recalculated the immediate relations, go ahead and recalc any downstream reactables.
1259
- // We'll still defer ReactiveQueryFields to the em.flush loop.
1270
+ // We'll still defer AsyncReactiveFields to the em.flush loop.
1260
1271
  await this.#rm.recalcPendingReactables("reactables");
1261
1272
  }
1262
1273
  beforeBegin(fn) {
@@ -1864,6 +1875,19 @@ function beforeUpdate(ctx, todos) {
1864
1875
  function afterValidation(ctx, todos) {
1865
1876
  return runHookOnTodos(ctx, "afterValidation", todos, ["inserts", "updates"]);
1866
1877
  }
1878
+ /** Collects changed entities from flush todos, i.e. m2m endpoint entities. */
1879
+ function entitiesFromTodos(entityTodos, joinRowTodos) {
1880
+ const entities = new Set();
1881
+ for (const todo of Object.values(entityTodos)) {
1882
+ [...todo.inserts, ...todo.updates, ...todo.deletes].forEach((entity) => entities.add(entity));
1883
+ }
1884
+ for (const todo of Object.values(joinRowTodos)) {
1885
+ [...todo.newRows, ...todo.deletedRows].forEach((row) => {
1886
+ Object.values(row.columns).forEach((entity) => entities.add(entity));
1887
+ });
1888
+ }
1889
+ return [...entities];
1890
+ }
1867
1891
  function beforeCommit(ctx, entities) {
1868
1892
  return runHook(ctx, "beforeCommit", [...entities]);
1869
1893
  }
@@ -1991,7 +2015,7 @@ function getCascadeDeleteRelations(entity) {
1991
2015
  function isCustomRelation(r) {
1992
2016
  return r instanceof index_1.CustomCollection || r instanceof index_1.CustomReference || r instanceof relations_1.ReactiveReferenceImpl;
1993
2017
  }
1994
- function maybeBumpUpdatedAt(todos, now) {
2018
+ function maybeBumpUpdatedAt(rm, todos, now) {
1995
2019
  for (const todo of Object.values(todos)) {
1996
2020
  const { updatedAt } = todo.metadata.timestampFields ?? {};
1997
2021
  if (updatedAt) {
@@ -2004,6 +2028,7 @@ function maybeBumpUpdatedAt(todos, now) {
2004
2028
  orm.originalData[updatedAt] = (0, fields_1.getField)(e, updatedAt);
2005
2029
  const serde = todo.metadata.fields[updatedAt].serde;
2006
2030
  orm.data[updatedAt] = serde.mapFromNow(now);
2031
+ rm.queueDownstreamReactables(e, updatedAt);
2007
2032
  }
2008
2033
  }
2009
2034
  }