@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.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +222 -0
  3. package/dist/auth.d.ts +139 -0
  4. package/dist/auth.d.ts.map +1 -0
  5. package/dist/auth.js +991 -0
  6. package/dist/auth.js.map +1 -0
  7. package/dist/cache-status.d.ts +15 -0
  8. package/dist/cache-status.d.ts.map +1 -0
  9. package/dist/cache-status.js +152 -0
  10. package/dist/cache-status.js.map +1 -0
  11. package/dist/cache.d.ts +94 -0
  12. package/dist/cache.d.ts.map +1 -0
  13. package/dist/cache.js +244 -0
  14. package/dist/cache.js.map +1 -0
  15. package/dist/client-hints.d.ts +23 -0
  16. package/dist/client-hints.d.ts.map +1 -0
  17. package/dist/client-hints.js +81 -0
  18. package/dist/client-hints.js.map +1 -0
  19. package/dist/conditional.d.ts +97 -0
  20. package/dist/conditional.d.ts.map +1 -0
  21. package/dist/conditional.js +300 -0
  22. package/dist/conditional.js.map +1 -0
  23. package/dist/content-disposition.d.ts +23 -0
  24. package/dist/content-disposition.d.ts.map +1 -0
  25. package/dist/content-disposition.js +122 -0
  26. package/dist/content-disposition.js.map +1 -0
  27. package/dist/cookie.d.ts +43 -0
  28. package/dist/cookie.d.ts.map +1 -0
  29. package/dist/cookie.js +472 -0
  30. package/dist/cookie.js.map +1 -0
  31. package/dist/cors.d.ts +53 -0
  32. package/dist/cors.d.ts.map +1 -0
  33. package/dist/cors.js +170 -0
  34. package/dist/cors.js.map +1 -0
  35. package/dist/datetime.d.ts +53 -0
  36. package/dist/datetime.d.ts.map +1 -0
  37. package/dist/datetime.js +205 -0
  38. package/dist/datetime.js.map +1 -0
  39. package/dist/digest.d.ts +220 -0
  40. package/dist/digest.d.ts.map +1 -0
  41. package/dist/digest.js +355 -0
  42. package/dist/digest.js.map +1 -0
  43. package/dist/encoding.d.ts +14 -0
  44. package/dist/encoding.d.ts.map +1 -0
  45. package/dist/encoding.js +86 -0
  46. package/dist/encoding.js.map +1 -0
  47. package/dist/etag.d.ts +55 -0
  48. package/dist/etag.d.ts.map +1 -0
  49. package/dist/etag.js +182 -0
  50. package/dist/etag.js.map +1 -0
  51. package/dist/ext-value.d.ts +40 -0
  52. package/dist/ext-value.d.ts.map +1 -0
  53. package/dist/ext-value.js +119 -0
  54. package/dist/ext-value.js.map +1 -0
  55. package/dist/forwarded.d.ts +14 -0
  56. package/dist/forwarded.d.ts.map +1 -0
  57. package/dist/forwarded.js +93 -0
  58. package/dist/forwarded.js.map +1 -0
  59. package/dist/header-utils.d.ts +71 -0
  60. package/dist/header-utils.d.ts.map +1 -0
  61. package/dist/header-utils.js +143 -0
  62. package/dist/header-utils.js.map +1 -0
  63. package/dist/headers.d.ts +71 -0
  64. package/dist/headers.d.ts.map +1 -0
  65. package/dist/headers.js +134 -0
  66. package/dist/headers.js.map +1 -0
  67. package/dist/hsts.d.ts +15 -0
  68. package/dist/hsts.d.ts.map +1 -0
  69. package/dist/hsts.js +106 -0
  70. package/dist/hsts.js.map +1 -0
  71. package/dist/http-signatures.d.ts +202 -0
  72. package/dist/http-signatures.d.ts.map +1 -0
  73. package/dist/http-signatures.js +720 -0
  74. package/dist/http-signatures.js.map +1 -0
  75. package/dist/index.d.ts +41 -0
  76. package/dist/index.d.ts.map +1 -0
  77. package/dist/index.js +125 -0
  78. package/dist/index.js.map +1 -0
  79. package/dist/json-pointer.d.ts +97 -0
  80. package/dist/json-pointer.d.ts.map +1 -0
  81. package/dist/json-pointer.js +278 -0
  82. package/dist/json-pointer.js.map +1 -0
  83. package/dist/jsonpath.d.ts +98 -0
  84. package/dist/jsonpath.d.ts.map +1 -0
  85. package/dist/jsonpath.js +1470 -0
  86. package/dist/jsonpath.js.map +1 -0
  87. package/dist/language.d.ts +14 -0
  88. package/dist/language.d.ts.map +1 -0
  89. package/dist/language.js +95 -0
  90. package/dist/language.js.map +1 -0
  91. package/dist/link.d.ts +102 -0
  92. package/dist/link.d.ts.map +1 -0
  93. package/dist/link.js +437 -0
  94. package/dist/link.js.map +1 -0
  95. package/dist/linkset.d.ts +111 -0
  96. package/dist/linkset.d.ts.map +1 -0
  97. package/dist/linkset.js +501 -0
  98. package/dist/linkset.js.map +1 -0
  99. package/dist/negotiate.d.ts +71 -0
  100. package/dist/negotiate.d.ts.map +1 -0
  101. package/dist/negotiate.js +357 -0
  102. package/dist/negotiate.js.map +1 -0
  103. package/dist/pagination.d.ts +80 -0
  104. package/dist/pagination.d.ts.map +1 -0
  105. package/dist/pagination.js +188 -0
  106. package/dist/pagination.js.map +1 -0
  107. package/dist/prefer.d.ts +18 -0
  108. package/dist/prefer.d.ts.map +1 -0
  109. package/dist/prefer.js +93 -0
  110. package/dist/prefer.js.map +1 -0
  111. package/dist/problem.d.ts +54 -0
  112. package/dist/problem.d.ts.map +1 -0
  113. package/dist/problem.js +104 -0
  114. package/dist/problem.js.map +1 -0
  115. package/dist/proxy-status.d.ts +28 -0
  116. package/dist/proxy-status.d.ts.map +1 -0
  117. package/dist/proxy-status.js +220 -0
  118. package/dist/proxy-status.js.map +1 -0
  119. package/dist/range.d.ts +28 -0
  120. package/dist/range.d.ts.map +1 -0
  121. package/dist/range.js +243 -0
  122. package/dist/range.js.map +1 -0
  123. package/dist/response.d.ts +101 -0
  124. package/dist/response.d.ts.map +1 -0
  125. package/dist/response.js +200 -0
  126. package/dist/response.js.map +1 -0
  127. package/dist/sorting.d.ts +66 -0
  128. package/dist/sorting.d.ts.map +1 -0
  129. package/dist/sorting.js +168 -0
  130. package/dist/sorting.js.map +1 -0
  131. package/dist/structured-fields.d.ts +30 -0
  132. package/dist/structured-fields.d.ts.map +1 -0
  133. package/dist/structured-fields.js +468 -0
  134. package/dist/structured-fields.js.map +1 -0
  135. package/dist/types.d.ts +772 -0
  136. package/dist/types.d.ts.map +1 -0
  137. package/dist/types.js +8 -0
  138. package/dist/types.js.map +1 -0
  139. package/dist/uri-template.d.ts +48 -0
  140. package/dist/uri-template.d.ts.map +1 -0
  141. package/dist/uri-template.js +483 -0
  142. package/dist/uri-template.js.map +1 -0
  143. package/dist/uri.d.ts +80 -0
  144. package/dist/uri.d.ts.map +1 -0
  145. package/dist/uri.js +423 -0
  146. package/dist/uri.js.map +1 -0
  147. 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,8 @@
1
+ // Type guards
2
+ export function isPaginationError(result) {
3
+ return 'error' in result;
4
+ }
5
+ export function isPaginationParams(result) {
6
+ return 'limit' in result && 'offset' in result;
7
+ }
8
+ //# sourceMappingURL=types.js.map
@@ -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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"}