mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2025-10-16 12:05:41 +00:00
[http-link-header] Prefer Module-Class Declaration Style (#37422)
- Change declaration style to reflect export style of js source, allow instantiation of module - Fix incorrect return type on set method - Update tests to ensure correctness of changes
This commit is contained in:
parent
44d88ebf9a
commit
db177da108
@ -1,4 +1,8 @@
|
||||
import * as LinkHeader from 'http-link-header';
|
||||
import LinkHeader = require('http-link-header');
|
||||
|
||||
function isLinkHeader(l: LinkHeader): null {
|
||||
return null;
|
||||
}
|
||||
|
||||
function isBool(bool: boolean): null {
|
||||
return null;
|
||||
@ -17,6 +21,9 @@ const link = LinkHeader.parse(
|
||||
'<example-twice.com>; rel="example"; title="Example Website Twice", ' +
|
||||
'<example-01.com>; rel="alternate"; title="Alternate Example Domain"'
|
||||
);
|
||||
isReferenceArray(link.refs);
|
||||
|
||||
const offsetLink = LinkHeader.parse(' <example.com>; rel="example"', 1);
|
||||
|
||||
const has = link.has('rel', 'alternate');
|
||||
isBool(has);
|
||||
@ -28,8 +35,9 @@ const rel = link.rel('alternate');
|
||||
rel[0]['title'] !== 'bar';
|
||||
isReferenceArray(rel);
|
||||
|
||||
const set = link.set({ rel: 'next', uri: 'http://example.com/next' });
|
||||
isReferenceArray(set);
|
||||
isLinkHeader(link.set({ rel: 'next', uri: 'http://example.com/next' }));
|
||||
|
||||
const str = link.toString();
|
||||
isString(str);
|
||||
|
||||
const constructedLink = new LinkHeader();
|
||||
|
||||
57
types/http-link-header/index.d.ts
vendored
57
types/http-link-header/index.d.ts
vendored
@ -2,20 +2,53 @@
|
||||
// Project: https://github.com/jhermsmeier/node-http-link-header
|
||||
// Definitions by: Christian Rackerseder <https://github.com/screendriver>
|
||||
// Noah Loomans <https://github.com/nloomans>
|
||||
// Harris Lummis <https://github.com/lummish>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
export = Link;
|
||||
|
||||
export interface Reference {
|
||||
uri: string;
|
||||
rel: string;
|
||||
[index: string]: string;
|
||||
}
|
||||
|
||||
export interface Link {
|
||||
refs: Reference[];
|
||||
declare class Link {
|
||||
/**
|
||||
* Creates a new Link by parsing a link header beginning at the provided
|
||||
* offset
|
||||
* @param value The header to parse
|
||||
* @param offset The offset to start at. Defaults to 0.
|
||||
* @return A new Link
|
||||
*/
|
||||
static parse(value: string, offset?: number): Link;
|
||||
/**
|
||||
* Link
|
||||
* @param value Link header to parse
|
||||
*/
|
||||
constructor(value?: string);
|
||||
refs: Link.Reference[];
|
||||
has(attribute: string, value: string): boolean;
|
||||
get(attribute: string, value: string): Reference[];
|
||||
rel(value: string): Reference[];
|
||||
set(ref: Reference): Reference[];
|
||||
/**
|
||||
* Get refs where the given attribute has a given value
|
||||
* @param attribute Attribute name
|
||||
* @param value Value to match
|
||||
* @return An array of references
|
||||
*/
|
||||
get(attribute: string, value: string): Link.Reference[];
|
||||
/**
|
||||
* Get refs with given relation type
|
||||
* @param value The rel value
|
||||
* @return An array of references
|
||||
*/
|
||||
rel(value: string): Link.Reference[];
|
||||
set(ref: Link.Reference): Link;
|
||||
/**
|
||||
* Parse a link header beginning at the provided offset
|
||||
* @param value The header to parse
|
||||
* @param offset The offset to start at. Defaults to 0.
|
||||
* @return The calling instance
|
||||
*/
|
||||
parse(value: string, offset?: number): Link;
|
||||
}
|
||||
|
||||
export function parse(header: string): Link;
|
||||
declare namespace Link {
|
||||
interface Reference {
|
||||
uri: string;
|
||||
rel: string;
|
||||
[index: string]: string;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user