( planFeatures: readonly IPlanFeatureRow[], overrides: readonly IFeatureOverrideRow[], now: Date = new Date(nowMs()) )
| 113 | }; |
| 114 | |
| 115 | export function resolveFeatures( |
| 116 | planFeatures: readonly IPlanFeatureRow[], |
| 117 | overrides: readonly IFeatureOverrideRow[], |
| 118 | now: Date = new Date(nowMs()) |
| 119 | ): ResolvedFeatures { |
| 120 | return { |
| 121 | can_export: resolveBooleanFeature( |
| 122 | "can_export", |
| 123 | FEATURES.can_export.default, |
| 124 | planFeatures, |
| 125 | overrides, |
| 126 | now |
| 127 | ), |
| 128 | can_invite_team: resolveBooleanFeature( |
| 129 | "can_invite_team", |
| 130 | FEATURES.can_invite_team.default, |
| 131 | planFeatures, |
| 132 | overrides, |
| 133 | now |
| 134 | ), |
| 135 | max_seats: resolveLimitFeature( |
| 136 | "max_seats", |
| 137 | FEATURES.max_seats.default, |
| 138 | planFeatures, |
| 139 | overrides, |
| 140 | now |
| 141 | ), |
| 142 | }; |
| 143 | } |
no test coverage detected