@onkernel/sdk 0.61.0 → 0.63.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 (134) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/client.d.mts +10 -13
  3. package/client.d.mts.map +1 -1
  4. package/client.d.ts +10 -13
  5. package/client.d.ts.map +1 -1
  6. package/client.js +0 -3
  7. package/client.js.map +1 -1
  8. package/client.mjs +0 -3
  9. package/client.mjs.map +1 -1
  10. package/internal/qs/formats.d.mts +7 -0
  11. package/internal/qs/formats.d.mts.map +1 -0
  12. package/internal/qs/formats.d.ts +7 -0
  13. package/internal/qs/formats.d.ts.map +1 -0
  14. package/internal/qs/formats.js +13 -0
  15. package/internal/qs/formats.js.map +1 -0
  16. package/internal/qs/formats.mjs +9 -0
  17. package/internal/qs/formats.mjs.map +1 -0
  18. package/internal/qs/index.d.mts +10 -0
  19. package/internal/qs/index.d.mts.map +1 -0
  20. package/internal/qs/index.d.ts +10 -0
  21. package/internal/qs/index.d.ts.map +1 -0
  22. package/internal/qs/index.js +14 -0
  23. package/internal/qs/index.js.map +1 -0
  24. package/internal/qs/index.mjs +10 -0
  25. package/internal/qs/index.mjs.map +1 -0
  26. package/internal/qs/stringify.d.mts +3 -0
  27. package/internal/qs/stringify.d.mts.map +1 -0
  28. package/internal/qs/stringify.d.ts +3 -0
  29. package/internal/qs/stringify.d.ts.map +1 -0
  30. package/internal/qs/stringify.js +277 -0
  31. package/internal/qs/stringify.js.map +1 -0
  32. package/internal/qs/stringify.mjs +274 -0
  33. package/internal/qs/stringify.mjs.map +1 -0
  34. package/internal/qs/types.d.mts +57 -0
  35. package/internal/qs/types.d.mts.map +1 -0
  36. package/internal/qs/types.d.ts +57 -0
  37. package/internal/qs/types.d.ts.map +1 -0
  38. package/internal/qs/types.js +3 -0
  39. package/internal/qs/types.js.map +1 -0
  40. package/internal/qs/types.mjs +2 -0
  41. package/internal/qs/types.mjs.map +1 -0
  42. package/internal/qs/utils.d.mts +15 -0
  43. package/internal/qs/utils.d.mts.map +1 -0
  44. package/internal/qs/utils.d.ts +15 -0
  45. package/internal/qs/utils.d.ts.map +1 -0
  46. package/internal/qs/utils.js +230 -0
  47. package/internal/qs/utils.js.map +1 -0
  48. package/internal/qs/utils.mjs +217 -0
  49. package/internal/qs/utils.mjs.map +1 -0
  50. package/internal/utils/query.d.mts +0 -3
  51. package/internal/utils/query.d.mts.map +1 -1
  52. package/internal/utils/query.d.ts +0 -3
  53. package/internal/utils/query.d.ts.map +1 -1
  54. package/internal/utils/query.js +3 -16
  55. package/internal/utils/query.js.map +1 -1
  56. package/internal/utils/query.mjs +2 -16
  57. package/internal/utils/query.mjs.map +1 -1
  58. package/package.json +1 -1
  59. package/resources/browser-pools.d.mts +19 -4
  60. package/resources/browser-pools.d.mts.map +1 -1
  61. package/resources/browser-pools.d.ts +19 -4
  62. package/resources/browser-pools.d.ts.map +1 -1
  63. package/resources/browser-pools.js +7 -3
  64. package/resources/browser-pools.js.map +1 -1
  65. package/resources/browser-pools.mjs +7 -3
  66. package/resources/browser-pools.mjs.map +1 -1
  67. package/resources/browsers/browsers.d.mts +63 -2
  68. package/resources/browsers/browsers.d.mts.map +1 -1
  69. package/resources/browsers/browsers.d.ts +63 -2
  70. package/resources/browsers/browsers.d.ts.map +1 -1
  71. package/resources/browsers/browsers.js.map +1 -1
  72. package/resources/browsers/browsers.mjs.map +1 -1
  73. package/resources/browsers/index.d.mts +1 -1
  74. package/resources/browsers/index.d.mts.map +1 -1
  75. package/resources/browsers/index.d.ts +1 -1
  76. package/resources/browsers/index.d.ts.map +1 -1
  77. package/resources/browsers/index.js.map +1 -1
  78. package/resources/browsers/index.mjs.map +1 -1
  79. package/resources/credential-providers.d.mts +10 -5
  80. package/resources/credential-providers.d.mts.map +1 -1
  81. package/resources/credential-providers.d.ts +10 -5
  82. package/resources/credential-providers.d.ts.map +1 -1
  83. package/resources/credential-providers.js +10 -4
  84. package/resources/credential-providers.js.map +1 -1
  85. package/resources/credential-providers.mjs +10 -4
  86. package/resources/credential-providers.mjs.map +1 -1
  87. package/resources/extensions.d.mts +35 -31
  88. package/resources/extensions.d.mts.map +1 -1
  89. package/resources/extensions.d.ts +35 -31
  90. package/resources/extensions.d.ts.map +1 -1
  91. package/resources/extensions.js +10 -3
  92. package/resources/extensions.js.map +1 -1
  93. package/resources/extensions.mjs +10 -3
  94. package/resources/extensions.mjs.map +1 -1
  95. package/resources/index.d.mts +5 -5
  96. package/resources/index.d.mts.map +1 -1
  97. package/resources/index.d.ts +5 -5
  98. package/resources/index.d.ts.map +1 -1
  99. package/resources/index.js.map +1 -1
  100. package/resources/index.mjs.map +1 -1
  101. package/resources/invocations.d.mts +9 -0
  102. package/resources/invocations.d.mts.map +1 -1
  103. package/resources/invocations.d.ts +9 -0
  104. package/resources/invocations.d.ts.map +1 -1
  105. package/resources/proxies.d.mts +111 -110
  106. package/resources/proxies.d.mts.map +1 -1
  107. package/resources/proxies.d.ts +111 -110
  108. package/resources/proxies.d.ts.map +1 -1
  109. package/resources/proxies.js +3 -2
  110. package/resources/proxies.js.map +1 -1
  111. package/resources/proxies.mjs +3 -2
  112. package/resources/proxies.mjs.map +1 -1
  113. package/src/client.ts +18 -7
  114. package/src/internal/qs/LICENSE.md +13 -0
  115. package/src/internal/qs/README.md +3 -0
  116. package/src/internal/qs/formats.ts +10 -0
  117. package/src/internal/qs/index.ts +13 -0
  118. package/src/internal/qs/stringify.ts +385 -0
  119. package/src/internal/qs/types.ts +71 -0
  120. package/src/internal/qs/utils.ts +265 -0
  121. package/src/internal/utils/query.ts +2 -18
  122. package/src/resources/browser-pools.ts +27 -6
  123. package/src/resources/browsers/browsers.ts +71 -1
  124. package/src/resources/browsers/index.ts +1 -0
  125. package/src/resources/credential-providers.ts +19 -7
  126. package/src/resources/extensions.ts +41 -29
  127. package/src/resources/index.ts +9 -2
  128. package/src/resources/invocations.ts +11 -0
  129. package/src/resources/proxies.ts +120 -114
  130. package/src/version.ts +1 -1
  131. package/version.d.mts +1 -1
  132. package/version.d.ts +1 -1
  133. package/version.js +1 -1
  134. package/version.mjs +1 -1
@@ -0,0 +1,10 @@
1
+ declare const formats: {
2
+ formatters: Record<import("./types.js").Format, (str: PropertyKey) => string>;
3
+ RFC1738: string;
4
+ RFC3986: string;
5
+ default: import("./types.js").Format;
6
+ };
7
+ export { stringify } from "./stringify.js";
8
+ export { formats };
9
+ export type { DefaultDecoder, DefaultEncoder, Format, ParseOptions, StringifyOptions } from "./types.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/internal/qs/index.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,OAAO;;;;;CAKZ,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,uBAAoB;AACxC,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAgB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formats = exports.stringify = void 0;
4
+ const formats_1 = require("./formats.js");
5
+ const formats = {
6
+ formatters: formats_1.formatters,
7
+ RFC1738: formats_1.RFC1738,
8
+ RFC3986: formats_1.RFC3986,
9
+ default: formats_1.default_format,
10
+ };
11
+ exports.formats = formats;
12
+ var stringify_1 = require("./stringify.js");
13
+ Object.defineProperty(exports, "stringify", { enumerable: true, get: function () { return stringify_1.stringify; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/internal/qs/index.ts"],"names":[],"mappings":";;;AAAA,0CAAyE;AAEzE,MAAM,OAAO,GAAG;IACd,UAAU,EAAV,oBAAU;IACV,OAAO,EAAP,iBAAO;IACP,OAAO,EAAP,iBAAO;IACP,OAAO,EAAE,wBAAc;CACxB,CAAC;AAGO,0BAAO;AADhB,4CAAwC;AAA/B,sGAAA,SAAS,OAAA"}
@@ -0,0 +1,10 @@
1
+ import { default_format, formatters, RFC1738, RFC3986 } from "./formats.mjs";
2
+ const formats = {
3
+ formatters,
4
+ RFC1738,
5
+ RFC3986,
6
+ default: default_format,
7
+ };
8
+ export { stringify } from "./stringify.mjs";
9
+ export { formats };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../../src/internal/qs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAkB;AAEzE,MAAM,OAAO,GAAG;IACd,UAAU;IACV,OAAO;IACP,OAAO;IACP,OAAO,EAAE,cAAc;CACxB,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,wBAAoB;AACxC,OAAO,EAAE,OAAO,EAAE,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { StringifyOptions } from "./types.mjs";
2
+ export declare function stringify(object: any, opts?: StringifyOptions): string;
3
+ //# sourceMappingURL=stringify.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify.d.mts","sourceRoot":"","sources":["../../src/internal/qs/stringify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyB,gBAAgB,EAAE,oBAAgB;AA+SvE,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,gBAAqB,UA+EjE"}
@@ -0,0 +1,3 @@
1
+ import type { StringifyOptions } from "./types.js";
2
+ export declare function stringify(object: any, opts?: StringifyOptions): string;
3
+ //# sourceMappingURL=stringify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify.d.ts","sourceRoot":"","sources":["../../src/internal/qs/stringify.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAyB,gBAAgB,EAAE,mBAAgB;AA+SvE,wBAAgB,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,GAAE,gBAAqB,UA+EjE"}
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stringify = stringify;
4
+ const utils_1 = require("./utils.js");
5
+ const formats_1 = require("./formats.js");
6
+ const values_1 = require("../utils/values.js");
7
+ const array_prefix_generators = {
8
+ brackets(prefix) {
9
+ return String(prefix) + '[]';
10
+ },
11
+ comma: 'comma',
12
+ indices(prefix, key) {
13
+ return String(prefix) + '[' + key + ']';
14
+ },
15
+ repeat(prefix) {
16
+ return String(prefix);
17
+ },
18
+ };
19
+ const push_to_array = function (arr, value_or_array) {
20
+ Array.prototype.push.apply(arr, (0, values_1.isArray)(value_or_array) ? value_or_array : [value_or_array]);
21
+ };
22
+ let toISOString;
23
+ const defaults = {
24
+ addQueryPrefix: false,
25
+ allowDots: false,
26
+ allowEmptyArrays: false,
27
+ arrayFormat: 'indices',
28
+ charset: 'utf-8',
29
+ charsetSentinel: false,
30
+ delimiter: '&',
31
+ encode: true,
32
+ encodeDotInKeys: false,
33
+ encoder: utils_1.encode,
34
+ encodeValuesOnly: false,
35
+ format: formats_1.default_format,
36
+ formatter: formats_1.default_formatter,
37
+ /** @deprecated */
38
+ indices: false,
39
+ serializeDate(date) {
40
+ return (toISOString ?? (toISOString = Function.prototype.call.bind(Date.prototype.toISOString)))(date);
41
+ },
42
+ skipNulls: false,
43
+ strictNullHandling: false,
44
+ };
45
+ function is_non_nullish_primitive(v) {
46
+ return (typeof v === 'string' ||
47
+ typeof v === 'number' ||
48
+ typeof v === 'boolean' ||
49
+ typeof v === 'symbol' ||
50
+ typeof v === 'bigint');
51
+ }
52
+ const sentinel = {};
53
+ function inner_stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
54
+ let obj = object;
55
+ let tmp_sc = sideChannel;
56
+ let step = 0;
57
+ let find_flag = false;
58
+ while ((tmp_sc = tmp_sc.get(sentinel)) !== void undefined && !find_flag) {
59
+ // Where object last appeared in the ref tree
60
+ const pos = tmp_sc.get(object);
61
+ step += 1;
62
+ if (typeof pos !== 'undefined') {
63
+ if (pos === step) {
64
+ throw new RangeError('Cyclic object value');
65
+ }
66
+ else {
67
+ find_flag = true; // Break while
68
+ }
69
+ }
70
+ if (typeof tmp_sc.get(sentinel) === 'undefined') {
71
+ step = 0;
72
+ }
73
+ }
74
+ if (typeof filter === 'function') {
75
+ obj = filter(prefix, obj);
76
+ }
77
+ else if (obj instanceof Date) {
78
+ obj = serializeDate?.(obj);
79
+ }
80
+ else if (generateArrayPrefix === 'comma' && (0, values_1.isArray)(obj)) {
81
+ obj = (0, utils_1.maybe_map)(obj, function (value) {
82
+ if (value instanceof Date) {
83
+ return serializeDate?.(value);
84
+ }
85
+ return value;
86
+ });
87
+ }
88
+ if (obj === null) {
89
+ if (strictNullHandling) {
90
+ return encoder && !encodeValuesOnly ?
91
+ // @ts-expect-error
92
+ encoder(prefix, defaults.encoder, charset, 'key', format)
93
+ : prefix;
94
+ }
95
+ obj = '';
96
+ }
97
+ if (is_non_nullish_primitive(obj) || (0, utils_1.is_buffer)(obj)) {
98
+ if (encoder) {
99
+ const key_value = encodeValuesOnly ? prefix
100
+ // @ts-expect-error
101
+ : encoder(prefix, defaults.encoder, charset, 'key', format);
102
+ return [
103
+ formatter?.(key_value) +
104
+ '=' +
105
+ // @ts-expect-error
106
+ formatter?.(encoder(obj, defaults.encoder, charset, 'value', format)),
107
+ ];
108
+ }
109
+ return [formatter?.(prefix) + '=' + formatter?.(String(obj))];
110
+ }
111
+ const values = [];
112
+ if (typeof obj === 'undefined') {
113
+ return values;
114
+ }
115
+ let obj_keys;
116
+ if (generateArrayPrefix === 'comma' && (0, values_1.isArray)(obj)) {
117
+ // we need to join elements in
118
+ if (encodeValuesOnly && encoder) {
119
+ // @ts-expect-error values only
120
+ obj = (0, utils_1.maybe_map)(obj, encoder);
121
+ }
122
+ obj_keys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];
123
+ }
124
+ else if ((0, values_1.isArray)(filter)) {
125
+ obj_keys = filter;
126
+ }
127
+ else {
128
+ const keys = Object.keys(obj);
129
+ obj_keys = sort ? keys.sort(sort) : keys;
130
+ }
131
+ const encoded_prefix = encodeDotInKeys ? String(prefix).replace(/\./g, '%2E') : String(prefix);
132
+ const adjusted_prefix = commaRoundTrip && (0, values_1.isArray)(obj) && obj.length === 1 ? encoded_prefix + '[]' : encoded_prefix;
133
+ if (allowEmptyArrays && (0, values_1.isArray)(obj) && obj.length === 0) {
134
+ return adjusted_prefix + '[]';
135
+ }
136
+ for (let j = 0; j < obj_keys.length; ++j) {
137
+ const key = obj_keys[j];
138
+ const value =
139
+ // @ts-ignore
140
+ typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];
141
+ if (skipNulls && value === null) {
142
+ continue;
143
+ }
144
+ // @ts-ignore
145
+ const encoded_key = allowDots && encodeDotInKeys ? key.replace(/\./g, '%2E') : key;
146
+ const key_prefix = (0, values_1.isArray)(obj) ?
147
+ typeof generateArrayPrefix === 'function' ?
148
+ generateArrayPrefix(adjusted_prefix, encoded_key)
149
+ : adjusted_prefix
150
+ : adjusted_prefix + (allowDots ? '.' + encoded_key : '[' + encoded_key + ']');
151
+ sideChannel.set(object, step);
152
+ const valueSideChannel = new WeakMap();
153
+ valueSideChannel.set(sentinel, sideChannel);
154
+ push_to_array(values, inner_stringify(value, key_prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys,
155
+ // @ts-ignore
156
+ generateArrayPrefix === 'comma' && encodeValuesOnly && (0, values_1.isArray)(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
157
+ }
158
+ return values;
159
+ }
160
+ function normalize_stringify_options(opts = defaults) {
161
+ if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {
162
+ throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');
163
+ }
164
+ if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {
165
+ throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');
166
+ }
167
+ if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
168
+ throw new TypeError('Encoder has to be a function.');
169
+ }
170
+ const charset = opts.charset || defaults.charset;
171
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
172
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
173
+ }
174
+ let format = formats_1.default_format;
175
+ if (typeof opts.format !== 'undefined') {
176
+ if (!(0, utils_1.has)(formats_1.formatters, opts.format)) {
177
+ throw new TypeError('Unknown format option provided.');
178
+ }
179
+ format = opts.format;
180
+ }
181
+ const formatter = formats_1.formatters[format];
182
+ let filter = defaults.filter;
183
+ if (typeof opts.filter === 'function' || (0, values_1.isArray)(opts.filter)) {
184
+ filter = opts.filter;
185
+ }
186
+ let arrayFormat;
187
+ if (opts.arrayFormat && opts.arrayFormat in array_prefix_generators) {
188
+ arrayFormat = opts.arrayFormat;
189
+ }
190
+ else if ('indices' in opts) {
191
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
192
+ }
193
+ else {
194
+ arrayFormat = defaults.arrayFormat;
195
+ }
196
+ if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
197
+ throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
198
+ }
199
+ const allowDots = typeof opts.allowDots === 'undefined' ?
200
+ !!opts.encodeDotInKeys === true ?
201
+ true
202
+ : defaults.allowDots
203
+ : !!opts.allowDots;
204
+ return {
205
+ addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
206
+ // @ts-ignore
207
+ allowDots: allowDots,
208
+ allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
209
+ arrayFormat: arrayFormat,
210
+ charset: charset,
211
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
212
+ commaRoundTrip: !!opts.commaRoundTrip,
213
+ delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
214
+ encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
215
+ encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
216
+ encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
217
+ encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
218
+ filter: filter,
219
+ format: format,
220
+ formatter: formatter,
221
+ serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
222
+ skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
223
+ // @ts-ignore
224
+ sort: typeof opts.sort === 'function' ? opts.sort : null,
225
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,
226
+ };
227
+ }
228
+ function stringify(object, opts = {}) {
229
+ let obj = object;
230
+ const options = normalize_stringify_options(opts);
231
+ let obj_keys;
232
+ let filter;
233
+ if (typeof options.filter === 'function') {
234
+ filter = options.filter;
235
+ obj = filter('', obj);
236
+ }
237
+ else if ((0, values_1.isArray)(options.filter)) {
238
+ filter = options.filter;
239
+ obj_keys = filter;
240
+ }
241
+ const keys = [];
242
+ if (typeof obj !== 'object' || obj === null) {
243
+ return '';
244
+ }
245
+ const generateArrayPrefix = array_prefix_generators[options.arrayFormat];
246
+ const commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;
247
+ if (!obj_keys) {
248
+ obj_keys = Object.keys(obj);
249
+ }
250
+ if (options.sort) {
251
+ obj_keys.sort(options.sort);
252
+ }
253
+ const sideChannel = new WeakMap();
254
+ for (let i = 0; i < obj_keys.length; ++i) {
255
+ const key = obj_keys[i];
256
+ if (options.skipNulls && obj[key] === null) {
257
+ continue;
258
+ }
259
+ push_to_array(keys, inner_stringify(obj[key], key,
260
+ // @ts-expect-error
261
+ generateArrayPrefix, commaRoundTrip, options.allowEmptyArrays, options.strictNullHandling, options.skipNulls, options.encodeDotInKeys, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
262
+ }
263
+ const joined = keys.join(options.delimiter);
264
+ let prefix = options.addQueryPrefix === true ? '?' : '';
265
+ if (options.charsetSentinel) {
266
+ if (options.charset === 'iso-8859-1') {
267
+ // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
268
+ prefix += 'utf8=%26%2310003%3B&';
269
+ }
270
+ else {
271
+ // encodeURIComponent('✓')
272
+ prefix += 'utf8=%E2%9C%93&';
273
+ }
274
+ }
275
+ return joined.length > 0 ? prefix + joined : '';
276
+ }
277
+ //# sourceMappingURL=stringify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stringify.js","sourceRoot":"","sources":["../../src/internal/qs/stringify.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,274 @@
1
+ import { encode, is_buffer, maybe_map, has } from "./utils.mjs";
2
+ import { default_format, default_formatter, formatters } from "./formats.mjs";
3
+ import { isArray } from "../utils/values.mjs";
4
+ const array_prefix_generators = {
5
+ brackets(prefix) {
6
+ return String(prefix) + '[]';
7
+ },
8
+ comma: 'comma',
9
+ indices(prefix, key) {
10
+ return String(prefix) + '[' + key + ']';
11
+ },
12
+ repeat(prefix) {
13
+ return String(prefix);
14
+ },
15
+ };
16
+ const push_to_array = function (arr, value_or_array) {
17
+ Array.prototype.push.apply(arr, isArray(value_or_array) ? value_or_array : [value_or_array]);
18
+ };
19
+ let toISOString;
20
+ const defaults = {
21
+ addQueryPrefix: false,
22
+ allowDots: false,
23
+ allowEmptyArrays: false,
24
+ arrayFormat: 'indices',
25
+ charset: 'utf-8',
26
+ charsetSentinel: false,
27
+ delimiter: '&',
28
+ encode: true,
29
+ encodeDotInKeys: false,
30
+ encoder: encode,
31
+ encodeValuesOnly: false,
32
+ format: default_format,
33
+ formatter: default_formatter,
34
+ /** @deprecated */
35
+ indices: false,
36
+ serializeDate(date) {
37
+ return (toISOString ?? (toISOString = Function.prototype.call.bind(Date.prototype.toISOString)))(date);
38
+ },
39
+ skipNulls: false,
40
+ strictNullHandling: false,
41
+ };
42
+ function is_non_nullish_primitive(v) {
43
+ return (typeof v === 'string' ||
44
+ typeof v === 'number' ||
45
+ typeof v === 'boolean' ||
46
+ typeof v === 'symbol' ||
47
+ typeof v === 'bigint');
48
+ }
49
+ const sentinel = {};
50
+ function inner_stringify(object, prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys, encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, sideChannel) {
51
+ let obj = object;
52
+ let tmp_sc = sideChannel;
53
+ let step = 0;
54
+ let find_flag = false;
55
+ while ((tmp_sc = tmp_sc.get(sentinel)) !== void undefined && !find_flag) {
56
+ // Where object last appeared in the ref tree
57
+ const pos = tmp_sc.get(object);
58
+ step += 1;
59
+ if (typeof pos !== 'undefined') {
60
+ if (pos === step) {
61
+ throw new RangeError('Cyclic object value');
62
+ }
63
+ else {
64
+ find_flag = true; // Break while
65
+ }
66
+ }
67
+ if (typeof tmp_sc.get(sentinel) === 'undefined') {
68
+ step = 0;
69
+ }
70
+ }
71
+ if (typeof filter === 'function') {
72
+ obj = filter(prefix, obj);
73
+ }
74
+ else if (obj instanceof Date) {
75
+ obj = serializeDate?.(obj);
76
+ }
77
+ else if (generateArrayPrefix === 'comma' && isArray(obj)) {
78
+ obj = maybe_map(obj, function (value) {
79
+ if (value instanceof Date) {
80
+ return serializeDate?.(value);
81
+ }
82
+ return value;
83
+ });
84
+ }
85
+ if (obj === null) {
86
+ if (strictNullHandling) {
87
+ return encoder && !encodeValuesOnly ?
88
+ // @ts-expect-error
89
+ encoder(prefix, defaults.encoder, charset, 'key', format)
90
+ : prefix;
91
+ }
92
+ obj = '';
93
+ }
94
+ if (is_non_nullish_primitive(obj) || is_buffer(obj)) {
95
+ if (encoder) {
96
+ const key_value = encodeValuesOnly ? prefix
97
+ // @ts-expect-error
98
+ : encoder(prefix, defaults.encoder, charset, 'key', format);
99
+ return [
100
+ formatter?.(key_value) +
101
+ '=' +
102
+ // @ts-expect-error
103
+ formatter?.(encoder(obj, defaults.encoder, charset, 'value', format)),
104
+ ];
105
+ }
106
+ return [formatter?.(prefix) + '=' + formatter?.(String(obj))];
107
+ }
108
+ const values = [];
109
+ if (typeof obj === 'undefined') {
110
+ return values;
111
+ }
112
+ let obj_keys;
113
+ if (generateArrayPrefix === 'comma' && isArray(obj)) {
114
+ // we need to join elements in
115
+ if (encodeValuesOnly && encoder) {
116
+ // @ts-expect-error values only
117
+ obj = maybe_map(obj, encoder);
118
+ }
119
+ obj_keys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];
120
+ }
121
+ else if (isArray(filter)) {
122
+ obj_keys = filter;
123
+ }
124
+ else {
125
+ const keys = Object.keys(obj);
126
+ obj_keys = sort ? keys.sort(sort) : keys;
127
+ }
128
+ const encoded_prefix = encodeDotInKeys ? String(prefix).replace(/\./g, '%2E') : String(prefix);
129
+ const adjusted_prefix = commaRoundTrip && isArray(obj) && obj.length === 1 ? encoded_prefix + '[]' : encoded_prefix;
130
+ if (allowEmptyArrays && isArray(obj) && obj.length === 0) {
131
+ return adjusted_prefix + '[]';
132
+ }
133
+ for (let j = 0; j < obj_keys.length; ++j) {
134
+ const key = obj_keys[j];
135
+ const value =
136
+ // @ts-ignore
137
+ typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];
138
+ if (skipNulls && value === null) {
139
+ continue;
140
+ }
141
+ // @ts-ignore
142
+ const encoded_key = allowDots && encodeDotInKeys ? key.replace(/\./g, '%2E') : key;
143
+ const key_prefix = isArray(obj) ?
144
+ typeof generateArrayPrefix === 'function' ?
145
+ generateArrayPrefix(adjusted_prefix, encoded_key)
146
+ : adjusted_prefix
147
+ : adjusted_prefix + (allowDots ? '.' + encoded_key : '[' + encoded_key + ']');
148
+ sideChannel.set(object, step);
149
+ const valueSideChannel = new WeakMap();
150
+ valueSideChannel.set(sentinel, sideChannel);
151
+ push_to_array(values, inner_stringify(value, key_prefix, generateArrayPrefix, commaRoundTrip, allowEmptyArrays, strictNullHandling, skipNulls, encodeDotInKeys,
152
+ // @ts-ignore
153
+ generateArrayPrefix === 'comma' && encodeValuesOnly && isArray(obj) ? null : encoder, filter, sort, allowDots, serializeDate, format, formatter, encodeValuesOnly, charset, valueSideChannel));
154
+ }
155
+ return values;
156
+ }
157
+ function normalize_stringify_options(opts = defaults) {
158
+ if (typeof opts.allowEmptyArrays !== 'undefined' && typeof opts.allowEmptyArrays !== 'boolean') {
159
+ throw new TypeError('`allowEmptyArrays` option can only be `true` or `false`, when provided');
160
+ }
161
+ if (typeof opts.encodeDotInKeys !== 'undefined' && typeof opts.encodeDotInKeys !== 'boolean') {
162
+ throw new TypeError('`encodeDotInKeys` option can only be `true` or `false`, when provided');
163
+ }
164
+ if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {
165
+ throw new TypeError('Encoder has to be a function.');
166
+ }
167
+ const charset = opts.charset || defaults.charset;
168
+ if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {
169
+ throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');
170
+ }
171
+ let format = default_format;
172
+ if (typeof opts.format !== 'undefined') {
173
+ if (!has(formatters, opts.format)) {
174
+ throw new TypeError('Unknown format option provided.');
175
+ }
176
+ format = opts.format;
177
+ }
178
+ const formatter = formatters[format];
179
+ let filter = defaults.filter;
180
+ if (typeof opts.filter === 'function' || isArray(opts.filter)) {
181
+ filter = opts.filter;
182
+ }
183
+ let arrayFormat;
184
+ if (opts.arrayFormat && opts.arrayFormat in array_prefix_generators) {
185
+ arrayFormat = opts.arrayFormat;
186
+ }
187
+ else if ('indices' in opts) {
188
+ arrayFormat = opts.indices ? 'indices' : 'repeat';
189
+ }
190
+ else {
191
+ arrayFormat = defaults.arrayFormat;
192
+ }
193
+ if ('commaRoundTrip' in opts && typeof opts.commaRoundTrip !== 'boolean') {
194
+ throw new TypeError('`commaRoundTrip` must be a boolean, or absent');
195
+ }
196
+ const allowDots = typeof opts.allowDots === 'undefined' ?
197
+ !!opts.encodeDotInKeys === true ?
198
+ true
199
+ : defaults.allowDots
200
+ : !!opts.allowDots;
201
+ return {
202
+ addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,
203
+ // @ts-ignore
204
+ allowDots: allowDots,
205
+ allowEmptyArrays: typeof opts.allowEmptyArrays === 'boolean' ? !!opts.allowEmptyArrays : defaults.allowEmptyArrays,
206
+ arrayFormat: arrayFormat,
207
+ charset: charset,
208
+ charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,
209
+ commaRoundTrip: !!opts.commaRoundTrip,
210
+ delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,
211
+ encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,
212
+ encodeDotInKeys: typeof opts.encodeDotInKeys === 'boolean' ? opts.encodeDotInKeys : defaults.encodeDotInKeys,
213
+ encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,
214
+ encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,
215
+ filter: filter,
216
+ format: format,
217
+ formatter: formatter,
218
+ serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,
219
+ skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,
220
+ // @ts-ignore
221
+ sort: typeof opts.sort === 'function' ? opts.sort : null,
222
+ strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling,
223
+ };
224
+ }
225
+ export function stringify(object, opts = {}) {
226
+ let obj = object;
227
+ const options = normalize_stringify_options(opts);
228
+ let obj_keys;
229
+ let filter;
230
+ if (typeof options.filter === 'function') {
231
+ filter = options.filter;
232
+ obj = filter('', obj);
233
+ }
234
+ else if (isArray(options.filter)) {
235
+ filter = options.filter;
236
+ obj_keys = filter;
237
+ }
238
+ const keys = [];
239
+ if (typeof obj !== 'object' || obj === null) {
240
+ return '';
241
+ }
242
+ const generateArrayPrefix = array_prefix_generators[options.arrayFormat];
243
+ const commaRoundTrip = generateArrayPrefix === 'comma' && options.commaRoundTrip;
244
+ if (!obj_keys) {
245
+ obj_keys = Object.keys(obj);
246
+ }
247
+ if (options.sort) {
248
+ obj_keys.sort(options.sort);
249
+ }
250
+ const sideChannel = new WeakMap();
251
+ for (let i = 0; i < obj_keys.length; ++i) {
252
+ const key = obj_keys[i];
253
+ if (options.skipNulls && obj[key] === null) {
254
+ continue;
255
+ }
256
+ push_to_array(keys, inner_stringify(obj[key], key,
257
+ // @ts-expect-error
258
+ generateArrayPrefix, commaRoundTrip, options.allowEmptyArrays, options.strictNullHandling, options.skipNulls, options.encodeDotInKeys, options.encode ? options.encoder : null, options.filter, options.sort, options.allowDots, options.serializeDate, options.format, options.formatter, options.encodeValuesOnly, options.charset, sideChannel));
259
+ }
260
+ const joined = keys.join(options.delimiter);
261
+ let prefix = options.addQueryPrefix === true ? '?' : '';
262
+ if (options.charsetSentinel) {
263
+ if (options.charset === 'iso-8859-1') {
264
+ // encodeURIComponent('&#10003;'), the "numeric entity" representation of a checkmark
265
+ prefix += 'utf8=%26%2310003%3B&';
266
+ }
267
+ else {
268
+ // encodeURIComponent('✓')
269
+ prefix += 'utf8=%E2%9C%93&';
270
+ }
271
+ }
272
+ return joined.length > 0 ? prefix + joined : '';
273
+ }
274
+ //# sourceMappingURL=stringify.mjs.map