Skip to content

Commit

Permalink
Simpler typings than DefinitelyTyped#16416 to catch some errors again
Browse files Browse the repository at this point in the history
  • Loading branch information
AJamesPhillips committed May 11, 2017
1 parent 1557cef commit dee8894
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 19 deletions.
16 changes: 7 additions & 9 deletions types/hapi/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -826,25 +826,23 @@ export interface RouteAuthAccessConfiguationObject {
/**
* For context see RouteAdditionalConfigurationOptions > cache
*/
export type RouteCacheOptions = {
export interface RouteCacheOptions {
/**
* determines the privacy flag included in client-side caching using the 'Cache-Control' header. Values are:
* * 'default' - no privacy flag. This is the default setting.
* * 'public' - mark the response as suitable for public caching.
* * 'private' - mark the response as suitable only for private caching.
*/
privacy?: 'default' | 'public' | 'private';
/** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */
expiresIn?: number;
/** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */
expiresAt?: string;
/** an array of HTTP response status codes (e.g. 200) which are allowed to include a valid caching directive. Defaults to [200]. */
statuses?: number[];
/** a string with the value of the 'Cache-Control' header when caching is disabled. Defaults to 'no-cache'. */
otherwise?: string;
} & ({
/** relative expiration expressed in the number of milliseconds since the item was saved in the cache. Cannot be used together with expiresAt. */
expiresIn: number;
} | {
/** time of day expressed in 24h notation using the 'HH:MM' format, at which point all cache records for the route expire. Cannot be used together with expiresIn. */
expiresAt: string;
} | {}
);
}

/**
* For context see RouteAdditionalConfigurationOptions > cors
Expand Down
12 changes: 2 additions & 10 deletions types/hapi/test/route/additional-options.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,17 +30,9 @@ cache = {
expiresAt: '22:44',
};

cache = {
privacy: 'default',
statuses: [200, 201],
/* typings should cause this to error, but currently does not
expiresAt: 5000,
*/
};

/* typings should cause this to error, but currently does not
// /* typings should cause this to error, but currently does not
var cache: Hapi.RouteCacheOptions = {
expiresIn: 5000,
expiresAt: '22:44',
};
*/
// */

0 comments on commit dee8894

Please sign in to comment.