@irvinebroque/http-rfc-utils 0.1.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.
- package/LICENSE +21 -0
- package/README.md +222 -0
- package/dist/auth.d.ts +139 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +991 -0
- package/dist/auth.js.map +1 -0
- package/dist/cache-status.d.ts +15 -0
- package/dist/cache-status.d.ts.map +1 -0
- package/dist/cache-status.js +152 -0
- package/dist/cache-status.js.map +1 -0
- package/dist/cache.d.ts +94 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +244 -0
- package/dist/cache.js.map +1 -0
- package/dist/client-hints.d.ts +23 -0
- package/dist/client-hints.d.ts.map +1 -0
- package/dist/client-hints.js +81 -0
- package/dist/client-hints.js.map +1 -0
- package/dist/conditional.d.ts +97 -0
- package/dist/conditional.d.ts.map +1 -0
- package/dist/conditional.js +300 -0
- package/dist/conditional.js.map +1 -0
- package/dist/content-disposition.d.ts +23 -0
- package/dist/content-disposition.d.ts.map +1 -0
- package/dist/content-disposition.js +122 -0
- package/dist/content-disposition.js.map +1 -0
- package/dist/cookie.d.ts +43 -0
- package/dist/cookie.d.ts.map +1 -0
- package/dist/cookie.js +472 -0
- package/dist/cookie.js.map +1 -0
- package/dist/cors.d.ts +53 -0
- package/dist/cors.d.ts.map +1 -0
- package/dist/cors.js +170 -0
- package/dist/cors.js.map +1 -0
- package/dist/datetime.d.ts +53 -0
- package/dist/datetime.d.ts.map +1 -0
- package/dist/datetime.js +205 -0
- package/dist/datetime.js.map +1 -0
- package/dist/digest.d.ts +220 -0
- package/dist/digest.d.ts.map +1 -0
- package/dist/digest.js +355 -0
- package/dist/digest.js.map +1 -0
- package/dist/encoding.d.ts +14 -0
- package/dist/encoding.d.ts.map +1 -0
- package/dist/encoding.js +86 -0
- package/dist/encoding.js.map +1 -0
- package/dist/etag.d.ts +55 -0
- package/dist/etag.d.ts.map +1 -0
- package/dist/etag.js +182 -0
- package/dist/etag.js.map +1 -0
- package/dist/ext-value.d.ts +40 -0
- package/dist/ext-value.d.ts.map +1 -0
- package/dist/ext-value.js +119 -0
- package/dist/ext-value.js.map +1 -0
- package/dist/forwarded.d.ts +14 -0
- package/dist/forwarded.d.ts.map +1 -0
- package/dist/forwarded.js +93 -0
- package/dist/forwarded.js.map +1 -0
- package/dist/header-utils.d.ts +71 -0
- package/dist/header-utils.d.ts.map +1 -0
- package/dist/header-utils.js +143 -0
- package/dist/header-utils.js.map +1 -0
- package/dist/headers.d.ts +71 -0
- package/dist/headers.d.ts.map +1 -0
- package/dist/headers.js +134 -0
- package/dist/headers.js.map +1 -0
- package/dist/hsts.d.ts +15 -0
- package/dist/hsts.d.ts.map +1 -0
- package/dist/hsts.js +106 -0
- package/dist/hsts.js.map +1 -0
- package/dist/http-signatures.d.ts +202 -0
- package/dist/http-signatures.d.ts.map +1 -0
- package/dist/http-signatures.js +720 -0
- package/dist/http-signatures.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +125 -0
- package/dist/index.js.map +1 -0
- package/dist/json-pointer.d.ts +97 -0
- package/dist/json-pointer.d.ts.map +1 -0
- package/dist/json-pointer.js +278 -0
- package/dist/json-pointer.js.map +1 -0
- package/dist/jsonpath.d.ts +98 -0
- package/dist/jsonpath.d.ts.map +1 -0
- package/dist/jsonpath.js +1470 -0
- package/dist/jsonpath.js.map +1 -0
- package/dist/language.d.ts +14 -0
- package/dist/language.d.ts.map +1 -0
- package/dist/language.js +95 -0
- package/dist/language.js.map +1 -0
- package/dist/link.d.ts +102 -0
- package/dist/link.d.ts.map +1 -0
- package/dist/link.js +437 -0
- package/dist/link.js.map +1 -0
- package/dist/linkset.d.ts +111 -0
- package/dist/linkset.d.ts.map +1 -0
- package/dist/linkset.js +501 -0
- package/dist/linkset.js.map +1 -0
- package/dist/negotiate.d.ts +71 -0
- package/dist/negotiate.d.ts.map +1 -0
- package/dist/negotiate.js +357 -0
- package/dist/negotiate.js.map +1 -0
- package/dist/pagination.d.ts +80 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +188 -0
- package/dist/pagination.js.map +1 -0
- package/dist/prefer.d.ts +18 -0
- package/dist/prefer.d.ts.map +1 -0
- package/dist/prefer.js +93 -0
- package/dist/prefer.js.map +1 -0
- package/dist/problem.d.ts +54 -0
- package/dist/problem.d.ts.map +1 -0
- package/dist/problem.js +104 -0
- package/dist/problem.js.map +1 -0
- package/dist/proxy-status.d.ts +28 -0
- package/dist/proxy-status.d.ts.map +1 -0
- package/dist/proxy-status.js +220 -0
- package/dist/proxy-status.js.map +1 -0
- package/dist/range.d.ts +28 -0
- package/dist/range.d.ts.map +1 -0
- package/dist/range.js +243 -0
- package/dist/range.js.map +1 -0
- package/dist/response.d.ts +101 -0
- package/dist/response.d.ts.map +1 -0
- package/dist/response.js +200 -0
- package/dist/response.js.map +1 -0
- package/dist/sorting.d.ts +66 -0
- package/dist/sorting.d.ts.map +1 -0
- package/dist/sorting.js +168 -0
- package/dist/sorting.js.map +1 -0
- package/dist/structured-fields.d.ts +30 -0
- package/dist/structured-fields.d.ts.map +1 -0
- package/dist/structured-fields.js +468 -0
- package/dist/structured-fields.js.map +1 -0
- package/dist/types.d.ts +772 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- package/dist/uri-template.d.ts +48 -0
- package/dist/uri-template.d.ts.map +1 -0
- package/dist/uri-template.js +483 -0
- package/dist/uri-template.js.map +1 -0
- package/dist/uri.d.ts +80 -0
- package/dist/uri.d.ts.map +1 -0
- package/dist/uri.js +423 -0
- package/dist/uri.js.map +1 -0
- package/package.json +66 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AA09BA,cAAc;AACd,MAAM,UAAU,iBAAiB,CAAC,MAAwB;IACtD,OAAO,OAAO,IAAI,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAwB;IACvD,OAAO,OAAO,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,CAAC;AACnD,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URI Template expansion per RFC 6570.
|
|
3
|
+
* RFC 6570 §1.2-§1.6, §2, §3.
|
|
4
|
+
* @see https://www.rfc-editor.org/rfc/rfc6570.html
|
|
5
|
+
*/
|
|
6
|
+
import type { UriTemplateValue, UriTemplateVariables, UriTemplateOperator, UriTemplateVarSpec, UriTemplateExpression, UriTemplatePart, UriTemplate, CompiledUriTemplate } from './types.js';
|
|
7
|
+
export type { UriTemplateValue, UriTemplateVariables, UriTemplateOperator, UriTemplateVarSpec, UriTemplateExpression, UriTemplatePart, UriTemplate, CompiledUriTemplate, };
|
|
8
|
+
/**
|
|
9
|
+
* Parse a URI Template string.
|
|
10
|
+
* RFC 6570 §2.
|
|
11
|
+
*
|
|
12
|
+
* @param template - URI Template string
|
|
13
|
+
* @returns Parsed template or null if invalid
|
|
14
|
+
*/
|
|
15
|
+
export declare function parseUriTemplate(template: string): UriTemplate | null;
|
|
16
|
+
/**
|
|
17
|
+
* Expand a URI Template with the given variables.
|
|
18
|
+
* RFC 6570 §3.
|
|
19
|
+
*
|
|
20
|
+
* @param template - URI Template string or parsed template
|
|
21
|
+
* @param variables - Variable values
|
|
22
|
+
* @returns Expanded URI string
|
|
23
|
+
*/
|
|
24
|
+
export declare function expandUriTemplate(template: string | UriTemplate, variables: UriTemplateVariables): string;
|
|
25
|
+
/**
|
|
26
|
+
* Check if a string is a valid URI Template.
|
|
27
|
+
* RFC 6570 §2.
|
|
28
|
+
*
|
|
29
|
+
* @param template - String to validate
|
|
30
|
+
* @returns true if valid URI Template
|
|
31
|
+
*/
|
|
32
|
+
export declare function isValidUriTemplate(template: string): boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Get the variable names from a URI Template.
|
|
35
|
+
* RFC 6570 §2.3.
|
|
36
|
+
*
|
|
37
|
+
* @param template - URI Template string or parsed template
|
|
38
|
+
* @returns Array of variable names
|
|
39
|
+
*/
|
|
40
|
+
export declare function getTemplateVariables(template: string | UriTemplate): string[];
|
|
41
|
+
/**
|
|
42
|
+
* Compile a URI Template for efficient repeated expansion.
|
|
43
|
+
*
|
|
44
|
+
* @param template - URI Template string
|
|
45
|
+
* @returns Compiled template with expand function and variables list, or null if invalid
|
|
46
|
+
*/
|
|
47
|
+
export declare function compileUriTemplate(template: string): CompiledUriTemplate | null;
|
|
48
|
+
//# sourceMappingURL=uri-template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri-template.d.ts","sourceRoot":"","sources":["../src/uri-template.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACR,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,mBAAmB,EACtB,MAAM,YAAY,CAAC;AAGpB,YAAY,EACR,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,WAAW,EACX,mBAAmB,GACtB,CAAC;AAiRF;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAqDrE;AAyJD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC7B,QAAQ,EAAE,MAAM,GAAG,WAAW,EAC9B,SAAS,EAAE,oBAAoB,GAChC,MAAM,CAsBR;AAMD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,EAAE,CAM7E;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAU/E"}
|
|
@@ -0,0 +1,483 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* URI Template expansion per RFC 6570.
|
|
3
|
+
* RFC 6570 §1.2-§1.6, §2, §3.
|
|
4
|
+
* @see https://www.rfc-editor.org/rfc/rfc6570.html
|
|
5
|
+
*/
|
|
6
|
+
const OPERATOR_CONFIG = {
|
|
7
|
+
'': { prefix: '', separator: ',', named: false, ifEmpty: '', allowReserved: false },
|
|
8
|
+
'+': { prefix: '', separator: ',', named: false, ifEmpty: '', allowReserved: true },
|
|
9
|
+
'#': { prefix: '#', separator: ',', named: false, ifEmpty: '', allowReserved: true },
|
|
10
|
+
'.': { prefix: '.', separator: '.', named: false, ifEmpty: '', allowReserved: false },
|
|
11
|
+
'/': { prefix: '/', separator: '/', named: false, ifEmpty: '', allowReserved: false },
|
|
12
|
+
';': { prefix: ';', separator: ';', named: true, ifEmpty: '', allowReserved: false },
|
|
13
|
+
'?': { prefix: '?', separator: '&', named: true, ifEmpty: '=', allowReserved: false },
|
|
14
|
+
'&': { prefix: '&', separator: '&', named: true, ifEmpty: '=', allowReserved: false },
|
|
15
|
+
};
|
|
16
|
+
// RFC 3986 §2.3: Unreserved characters
|
|
17
|
+
const UNRESERVED = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';
|
|
18
|
+
// RFC 3986 §2.2: Reserved characters
|
|
19
|
+
const RESERVED = ':/?#[]@!$&\'()*+,;=';
|
|
20
|
+
// =============================================================================
|
|
21
|
+
// Character validation (RFC 6570 §2.3)
|
|
22
|
+
// =============================================================================
|
|
23
|
+
/**
|
|
24
|
+
* Check if character is valid for variable names (varchar).
|
|
25
|
+
* RFC 6570 §2.3: varchar = ALPHA / DIGIT / "_" / pct-encoded
|
|
26
|
+
*/
|
|
27
|
+
function isVarChar(char) {
|
|
28
|
+
const code = char.charCodeAt(0);
|
|
29
|
+
// ALPHA
|
|
30
|
+
if ((code >= 0x41 && code <= 0x5A) || (code >= 0x61 && code <= 0x7A)) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
// DIGIT
|
|
34
|
+
if (code >= 0x30 && code <= 0x39) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
// "_"
|
|
38
|
+
if (char === '_') {
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Check if a string is a valid operator.
|
|
45
|
+
*/
|
|
46
|
+
function isOperator(char) {
|
|
47
|
+
return char === '+' || char === '#' || char === '.' ||
|
|
48
|
+
char === '/' || char === ';' || char === '?' || char === '&';
|
|
49
|
+
}
|
|
50
|
+
// =============================================================================
|
|
51
|
+
// Percent-encoding (RFC 6570 §1.6, §3.2.1)
|
|
52
|
+
// =============================================================================
|
|
53
|
+
/**
|
|
54
|
+
* Percent-encode a string for URI Template expansion.
|
|
55
|
+
* RFC 6570 §1.6: Non-ASCII MUST be encoded as UTF-8 before percent-encoding.
|
|
56
|
+
*
|
|
57
|
+
* @param str - String to encode
|
|
58
|
+
* @param allowReserved - Whether to preserve reserved characters
|
|
59
|
+
* @returns Percent-encoded string
|
|
60
|
+
*/
|
|
61
|
+
function encodeValue(str, allowReserved) {
|
|
62
|
+
const result = [];
|
|
63
|
+
const encoder = new TextEncoder();
|
|
64
|
+
const bytes = encoder.encode(str);
|
|
65
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
66
|
+
const byte = bytes[i];
|
|
67
|
+
if (byte < 128) {
|
|
68
|
+
const char = String.fromCharCode(byte);
|
|
69
|
+
// Always allow unreserved
|
|
70
|
+
if (UNRESERVED.includes(char)) {
|
|
71
|
+
result.push(char);
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
// Allow reserved if operator permits
|
|
75
|
+
if (allowReserved && RESERVED.includes(char)) {
|
|
76
|
+
result.push(char);
|
|
77
|
+
continue;
|
|
78
|
+
}
|
|
79
|
+
// Allow already percent-encoded sequences if allowReserved
|
|
80
|
+
if (allowReserved && char === '%' && i + 2 < bytes.length) {
|
|
81
|
+
const hex1 = String.fromCharCode(bytes[i + 1]);
|
|
82
|
+
const hex2 = String.fromCharCode(bytes[i + 2]);
|
|
83
|
+
if (isHexDigit(hex1) && isHexDigit(hex2)) {
|
|
84
|
+
result.push('%', hex1.toUpperCase(), hex2.toUpperCase());
|
|
85
|
+
i += 2;
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
// Percent-encode the byte with uppercase hex
|
|
91
|
+
result.push('%', byte.toString(16).toUpperCase().padStart(2, '0'));
|
|
92
|
+
}
|
|
93
|
+
return result.join('');
|
|
94
|
+
}
|
|
95
|
+
function isHexDigit(char) {
|
|
96
|
+
return /^[0-9A-Fa-f]$/.test(char);
|
|
97
|
+
}
|
|
98
|
+
// =============================================================================
|
|
99
|
+
// Template parsing (RFC 6570 §2)
|
|
100
|
+
// =============================================================================
|
|
101
|
+
/**
|
|
102
|
+
* Parse a variable specification (varname with optional modifiers).
|
|
103
|
+
* RFC 6570 §2.3, §2.4.
|
|
104
|
+
*
|
|
105
|
+
* @param spec - Variable specification string
|
|
106
|
+
* @returns Parsed varspec or null if invalid
|
|
107
|
+
*/
|
|
108
|
+
function parseVarSpec(spec) {
|
|
109
|
+
if (!spec) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
let name = spec;
|
|
113
|
+
let prefix;
|
|
114
|
+
let explode = false;
|
|
115
|
+
// RFC 6570 §2.4.2: Check for explode modifier
|
|
116
|
+
if (name.endsWith('*')) {
|
|
117
|
+
explode = true;
|
|
118
|
+
name = name.slice(0, -1);
|
|
119
|
+
}
|
|
120
|
+
// RFC 6570 §2.4.1: Check for prefix modifier
|
|
121
|
+
const colonIndex = name.indexOf(':');
|
|
122
|
+
if (colonIndex !== -1) {
|
|
123
|
+
const prefixStr = name.slice(colonIndex + 1);
|
|
124
|
+
name = name.slice(0, colonIndex);
|
|
125
|
+
// RFC 6570 §2.4.1: max-length = %x31-39 0*3DIGIT (1-9999)
|
|
126
|
+
if (!/^[1-9]\d{0,3}$/.test(prefixStr)) {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
prefix = parseInt(prefixStr, 10);
|
|
130
|
+
// Cannot have both prefix and explode
|
|
131
|
+
if (explode) {
|
|
132
|
+
return null;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// RFC 6570 §2.3: Validate variable name
|
|
136
|
+
// varname = varchar *( ["."] varchar )
|
|
137
|
+
if (!isValidVarName(name)) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
return { name, prefix, explode };
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Validate a variable name per RFC 6570 §2.3.
|
|
144
|
+
* varname = varchar *( ["."] varchar )
|
|
145
|
+
* varchar = ALPHA / DIGIT / "_" / pct-encoded
|
|
146
|
+
*/
|
|
147
|
+
function isValidVarName(name) {
|
|
148
|
+
if (!name) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
let i = 0;
|
|
152
|
+
let expectVarChar = true;
|
|
153
|
+
while (i < name.length) {
|
|
154
|
+
const char = name[i];
|
|
155
|
+
if (char === '%') {
|
|
156
|
+
// pct-encoded
|
|
157
|
+
if (i + 2 >= name.length) {
|
|
158
|
+
return false;
|
|
159
|
+
}
|
|
160
|
+
if (!isHexDigit(name[i + 1]) || !isHexDigit(name[i + 2])) {
|
|
161
|
+
return false;
|
|
162
|
+
}
|
|
163
|
+
i += 3;
|
|
164
|
+
expectVarChar = false;
|
|
165
|
+
}
|
|
166
|
+
else if (char === '.') {
|
|
167
|
+
// "." can only appear between varchars
|
|
168
|
+
if (expectVarChar) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
// Cannot end with "."
|
|
172
|
+
if (i === name.length - 1) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
i++;
|
|
176
|
+
expectVarChar = true;
|
|
177
|
+
}
|
|
178
|
+
else if (isVarChar(char)) {
|
|
179
|
+
i++;
|
|
180
|
+
expectVarChar = false;
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
return false;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return !expectVarChar;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Parse an expression (content between braces).
|
|
190
|
+
* RFC 6570 §2.2.
|
|
191
|
+
*
|
|
192
|
+
* @param content - Expression content (without braces)
|
|
193
|
+
* @returns Parsed expression or null if invalid
|
|
194
|
+
*/
|
|
195
|
+
function parseExpression(content) {
|
|
196
|
+
if (!content) {
|
|
197
|
+
return null;
|
|
198
|
+
}
|
|
199
|
+
let operator = '';
|
|
200
|
+
let variableList = content;
|
|
201
|
+
// RFC 6570 §2.2: Check for operator
|
|
202
|
+
const firstChar = content[0];
|
|
203
|
+
if (isOperator(firstChar)) {
|
|
204
|
+
operator = firstChar;
|
|
205
|
+
variableList = content.slice(1);
|
|
206
|
+
}
|
|
207
|
+
else if (firstChar === '=' || firstChar === ',' || firstChar === '!' ||
|
|
208
|
+
firstChar === '@' || firstChar === '|') {
|
|
209
|
+
// RFC 6570 §2.2: Reserved operators - treat as invalid
|
|
210
|
+
return null;
|
|
211
|
+
}
|
|
212
|
+
if (!variableList) {
|
|
213
|
+
return null;
|
|
214
|
+
}
|
|
215
|
+
// Parse variable list
|
|
216
|
+
const varSpecs = variableList.split(',');
|
|
217
|
+
const variables = [];
|
|
218
|
+
for (const spec of varSpecs) {
|
|
219
|
+
const parsed = parseVarSpec(spec);
|
|
220
|
+
if (!parsed) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
variables.push(parsed);
|
|
224
|
+
}
|
|
225
|
+
if (variables.length === 0) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
return { operator, variables };
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Parse a URI Template string.
|
|
232
|
+
* RFC 6570 §2.
|
|
233
|
+
*
|
|
234
|
+
* @param template - URI Template string
|
|
235
|
+
* @returns Parsed template or null if invalid
|
|
236
|
+
*/
|
|
237
|
+
export function parseUriTemplate(template) {
|
|
238
|
+
const parts = [];
|
|
239
|
+
const variableNames = new Set();
|
|
240
|
+
let i = 0;
|
|
241
|
+
let literalStart = 0;
|
|
242
|
+
while (i < template.length) {
|
|
243
|
+
if (template[i] === '{') {
|
|
244
|
+
// Save any preceding literal
|
|
245
|
+
if (i > literalStart) {
|
|
246
|
+
parts.push(template.slice(literalStart, i));
|
|
247
|
+
}
|
|
248
|
+
// Find matching closing brace
|
|
249
|
+
const closeIndex = template.indexOf('}', i + 1);
|
|
250
|
+
if (closeIndex === -1) {
|
|
251
|
+
// Unclosed expression
|
|
252
|
+
return null;
|
|
253
|
+
}
|
|
254
|
+
// Parse expression
|
|
255
|
+
const content = template.slice(i + 1, closeIndex);
|
|
256
|
+
const expr = parseExpression(content);
|
|
257
|
+
if (!expr) {
|
|
258
|
+
return null;
|
|
259
|
+
}
|
|
260
|
+
parts.push(expr);
|
|
261
|
+
// Collect variable names
|
|
262
|
+
for (const varSpec of expr.variables) {
|
|
263
|
+
variableNames.add(varSpec.name);
|
|
264
|
+
}
|
|
265
|
+
i = closeIndex + 1;
|
|
266
|
+
literalStart = i;
|
|
267
|
+
}
|
|
268
|
+
else if (template[i] === '}') {
|
|
269
|
+
// Unmatched closing brace
|
|
270
|
+
return null;
|
|
271
|
+
}
|
|
272
|
+
else {
|
|
273
|
+
i++;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
// Save any trailing literal
|
|
277
|
+
if (i > literalStart) {
|
|
278
|
+
parts.push(template.slice(literalStart, i));
|
|
279
|
+
}
|
|
280
|
+
return {
|
|
281
|
+
parts,
|
|
282
|
+
variables: Array.from(variableNames),
|
|
283
|
+
};
|
|
284
|
+
}
|
|
285
|
+
// =============================================================================
|
|
286
|
+
// Template expansion (RFC 6570 §3)
|
|
287
|
+
// =============================================================================
|
|
288
|
+
/**
|
|
289
|
+
* Expand a single variable value.
|
|
290
|
+
* RFC 6570 §3.2.1.
|
|
291
|
+
*
|
|
292
|
+
* @param varSpec - Variable specification
|
|
293
|
+
* @param value - Variable value
|
|
294
|
+
* @param config - Operator configuration
|
|
295
|
+
* @returns Expanded string or null if undefined
|
|
296
|
+
*/
|
|
297
|
+
function expandVariable(varSpec, value, config) {
|
|
298
|
+
// RFC 6570 §3.2.1: Undefined variables are ignored
|
|
299
|
+
if (value === undefined || value === null) {
|
|
300
|
+
return null;
|
|
301
|
+
}
|
|
302
|
+
const { name, prefix, explode } = varSpec;
|
|
303
|
+
const { named, ifEmpty, allowReserved } = config;
|
|
304
|
+
// String value
|
|
305
|
+
if (typeof value === 'string') {
|
|
306
|
+
let str = value;
|
|
307
|
+
// RFC 6570 §2.4.1: Apply prefix modifier
|
|
308
|
+
if (prefix !== undefined && prefix < str.length) {
|
|
309
|
+
str = str.slice(0, prefix);
|
|
310
|
+
}
|
|
311
|
+
const encoded = encodeValue(str, allowReserved);
|
|
312
|
+
if (named) {
|
|
313
|
+
// RFC 6570 §3.2.7-3.2.9: Named expansion
|
|
314
|
+
if (value === '') {
|
|
315
|
+
return `${encodeValue(name, false)}${ifEmpty}`;
|
|
316
|
+
}
|
|
317
|
+
return `${encodeValue(name, false)}=${encoded}`;
|
|
318
|
+
}
|
|
319
|
+
return encoded;
|
|
320
|
+
}
|
|
321
|
+
// Array value
|
|
322
|
+
if (Array.isArray(value)) {
|
|
323
|
+
// RFC 6570 §2.3: Empty list is considered undefined
|
|
324
|
+
if (value.length === 0) {
|
|
325
|
+
return null;
|
|
326
|
+
}
|
|
327
|
+
if (explode) {
|
|
328
|
+
// RFC 6570 §2.4.2: Explode array
|
|
329
|
+
const parts = value.map(v => {
|
|
330
|
+
const encoded = encodeValue(v, allowReserved);
|
|
331
|
+
if (named) {
|
|
332
|
+
if (v === '') {
|
|
333
|
+
return `${encodeValue(name, false)}${ifEmpty}`;
|
|
334
|
+
}
|
|
335
|
+
return `${encodeValue(name, false)}=${encoded}`;
|
|
336
|
+
}
|
|
337
|
+
return encoded;
|
|
338
|
+
});
|
|
339
|
+
return parts.join(config.separator);
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
// Non-exploded: join with comma
|
|
343
|
+
const encoded = value.map(v => encodeValue(v, allowReserved)).join(',');
|
|
344
|
+
if (named) {
|
|
345
|
+
return `${encodeValue(name, false)}=${encoded}`;
|
|
346
|
+
}
|
|
347
|
+
return encoded;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// Associative array (object) value
|
|
351
|
+
if (typeof value === 'object') {
|
|
352
|
+
const entries = Object.entries(value);
|
|
353
|
+
// RFC 6570 §2.3: Empty object or all undefined values is undefined
|
|
354
|
+
if (entries.length === 0) {
|
|
355
|
+
return null;
|
|
356
|
+
}
|
|
357
|
+
// RFC 6570 §2.4.1: Prefix on composite is undefined behavior
|
|
358
|
+
// We ignore prefix for objects as per spec
|
|
359
|
+
if (prefix !== undefined) {
|
|
360
|
+
// Prefix modifier on composite - undefined behavior, ignore prefix
|
|
361
|
+
}
|
|
362
|
+
if (explode) {
|
|
363
|
+
// RFC 6570 §2.4.2: Explode object as name=value pairs
|
|
364
|
+
const parts = entries.map(([k, v]) => {
|
|
365
|
+
const encodedKey = encodeValue(k, allowReserved);
|
|
366
|
+
const encodedVal = encodeValue(v, allowReserved);
|
|
367
|
+
return `${encodedKey}=${encodedVal}`;
|
|
368
|
+
});
|
|
369
|
+
return parts.join(config.separator);
|
|
370
|
+
}
|
|
371
|
+
else {
|
|
372
|
+
// Non-exploded: key,value,key,value format
|
|
373
|
+
const parts = [];
|
|
374
|
+
for (const [k, v] of entries) {
|
|
375
|
+
parts.push(encodeValue(k, allowReserved));
|
|
376
|
+
parts.push(encodeValue(v, allowReserved));
|
|
377
|
+
}
|
|
378
|
+
const encoded = parts.join(',');
|
|
379
|
+
if (named) {
|
|
380
|
+
return `${encodeValue(name, false)}=${encoded}`;
|
|
381
|
+
}
|
|
382
|
+
return encoded;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return null;
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Expand an expression.
|
|
389
|
+
* RFC 6570 §3.2.
|
|
390
|
+
*
|
|
391
|
+
* @param expr - Parsed expression
|
|
392
|
+
* @param variables - Variable values
|
|
393
|
+
* @returns Expanded string
|
|
394
|
+
*/
|
|
395
|
+
function expandExpression(expr, variables) {
|
|
396
|
+
const config = OPERATOR_CONFIG[expr.operator];
|
|
397
|
+
const expanded = [];
|
|
398
|
+
for (const varSpec of expr.variables) {
|
|
399
|
+
const value = variables[varSpec.name];
|
|
400
|
+
const result = expandVariable(varSpec, value, config);
|
|
401
|
+
if (result !== null) {
|
|
402
|
+
expanded.push(result);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
// RFC 6570 §3.2.1: If all undefined, return empty string
|
|
406
|
+
if (expanded.length === 0) {
|
|
407
|
+
return '';
|
|
408
|
+
}
|
|
409
|
+
// Apply prefix and join
|
|
410
|
+
return config.prefix + expanded.join(config.separator);
|
|
411
|
+
}
|
|
412
|
+
/**
|
|
413
|
+
* Expand a URI Template with the given variables.
|
|
414
|
+
* RFC 6570 §3.
|
|
415
|
+
*
|
|
416
|
+
* @param template - URI Template string or parsed template
|
|
417
|
+
* @param variables - Variable values
|
|
418
|
+
* @returns Expanded URI string
|
|
419
|
+
*/
|
|
420
|
+
export function expandUriTemplate(template, variables) {
|
|
421
|
+
const parsed = typeof template === 'string' ? parseUriTemplate(template) : template;
|
|
422
|
+
if (!parsed) {
|
|
423
|
+
// Return original template if parsing fails
|
|
424
|
+
return typeof template === 'string' ? template : '';
|
|
425
|
+
}
|
|
426
|
+
const result = [];
|
|
427
|
+
for (const part of parsed.parts) {
|
|
428
|
+
if (typeof part === 'string') {
|
|
429
|
+
// RFC 6570 §3.1: Literal expansion
|
|
430
|
+
// Literals are copied directly; non-URI characters should already be encoded
|
|
431
|
+
result.push(part);
|
|
432
|
+
}
|
|
433
|
+
else {
|
|
434
|
+
// Expression expansion
|
|
435
|
+
result.push(expandExpression(part, variables));
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
return result.join('');
|
|
439
|
+
}
|
|
440
|
+
// =============================================================================
|
|
441
|
+
// Utility functions
|
|
442
|
+
// =============================================================================
|
|
443
|
+
/**
|
|
444
|
+
* Check if a string is a valid URI Template.
|
|
445
|
+
* RFC 6570 §2.
|
|
446
|
+
*
|
|
447
|
+
* @param template - String to validate
|
|
448
|
+
* @returns true if valid URI Template
|
|
449
|
+
*/
|
|
450
|
+
export function isValidUriTemplate(template) {
|
|
451
|
+
return parseUriTemplate(template) !== null;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Get the variable names from a URI Template.
|
|
455
|
+
* RFC 6570 §2.3.
|
|
456
|
+
*
|
|
457
|
+
* @param template - URI Template string or parsed template
|
|
458
|
+
* @returns Array of variable names
|
|
459
|
+
*/
|
|
460
|
+
export function getTemplateVariables(template) {
|
|
461
|
+
if (typeof template === 'string') {
|
|
462
|
+
const parsed = parseUriTemplate(template);
|
|
463
|
+
return parsed ? parsed.variables : [];
|
|
464
|
+
}
|
|
465
|
+
return template.variables;
|
|
466
|
+
}
|
|
467
|
+
/**
|
|
468
|
+
* Compile a URI Template for efficient repeated expansion.
|
|
469
|
+
*
|
|
470
|
+
* @param template - URI Template string
|
|
471
|
+
* @returns Compiled template with expand function and variables list, or null if invalid
|
|
472
|
+
*/
|
|
473
|
+
export function compileUriTemplate(template) {
|
|
474
|
+
const parsed = parseUriTemplate(template);
|
|
475
|
+
if (!parsed) {
|
|
476
|
+
return null;
|
|
477
|
+
}
|
|
478
|
+
return {
|
|
479
|
+
expand: (variables) => expandUriTemplate(parsed, variables),
|
|
480
|
+
variables: parsed.variables,
|
|
481
|
+
};
|
|
482
|
+
}
|
|
483
|
+
//# sourceMappingURL=uri-template.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri-template.js","sourceRoot":"","sources":["../src/uri-template.ts"],"names":[],"mappings":"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"}
|