ketting 8.1.0 → 8.2.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/dist/field.d.ts CHANGED
@@ -18,10 +18,6 @@ interface BaseField<T> {
18
18
  * This is similar to the HTML5 "type" attribute on forms.
19
19
  */
20
20
  type: string;
21
- /**
22
- * The current (pre-filed) value on the form.
23
- */
24
- value?: T;
25
21
  /**
26
22
  * This could be used to describe a sample value.
27
23
  */
@@ -39,12 +35,18 @@ interface BaseField<T> {
39
35
  */
40
36
  label?: string;
41
37
  }
38
+ interface SingleValueField<T> extends BaseField<T> {
39
+ /**
40
+ * The current (pre-filed) value on the form.
41
+ */
42
+ value?: T;
43
+ }
42
44
  /**
43
45
  * The base type for things that are range-like.
44
46
  *
45
47
  * This includes numbers, dates and time fields.
46
48
  */
47
- export interface RangeField<T> extends BaseField<T> {
49
+ export interface RangeField<T> extends SingleValueField<T> {
48
50
  max?: number;
49
51
  min?: number;
50
52
  step?: number;
@@ -52,14 +54,14 @@ export interface RangeField<T> extends BaseField<T> {
52
54
  /**
53
55
  * Toggles/checkboxes
54
56
  */
55
- export interface BooleanField extends BaseField<boolean> {
57
+ export interface BooleanField extends SingleValueField<boolean> {
56
58
  type: 'checkbox' | 'radio';
57
59
  }
58
60
  /**
59
61
  * Any field that encodes itself as a string but with no
60
62
  * special features.
61
63
  */
62
- export interface BasicStringField extends BaseField<string> {
64
+ export interface BasicStringField extends SingleValueField<string> {
63
65
  type: 'color' | 'email' | 'password' | 'search' | 'tel' | 'url';
64
66
  minLength?: number;
65
67
  maxLength?: number;
@@ -70,10 +72,10 @@ export interface RangeStringField extends RangeField<string> {
70
72
  export interface DateTimeField extends RangeField<Date> {
71
73
  type: 'datetime' | 'datetime-local';
72
74
  }
73
- export interface HiddenField extends BaseField<string | number | null | boolean> {
75
+ export interface HiddenField extends SingleValueField<string | number | null | boolean> {
74
76
  type: 'hidden';
75
77
  }
76
- export interface FileField extends BaseField<never> {
78
+ export interface FileField extends SingleValueField<never> {
77
79
  type: 'file';
78
80
  }
79
81
  export interface NumberField extends RangeField<number> {
@@ -138,6 +140,15 @@ export type SelectFieldSingle = BaseField<string> & {
138
140
  type: 'select';
139
141
  renderAs?: 'radio' | 'dropdown';
140
142
  multiple?: false;
143
+ /**
144
+ * The current (pre-filed) value on the form.
145
+ */
146
+ selectedValue?: string;
147
+ /**
148
+ * The current (pre-filed) value on the form.
149
+ * @deprecated Use selectedValue instead
150
+ */
151
+ value?: string;
141
152
  } & OptionsDataSource;
142
153
  /**
143
154
  * An options field where users can select more than 1 item
@@ -146,14 +157,23 @@ export type SelectFieldMulti = BaseField<string> & {
146
157
  type: 'select';
147
158
  renderAs?: 'checkbox' | 'dropdown';
148
159
  multiple: true;
160
+ /**
161
+ * The current (pre-filed) values on the form.
162
+ */
163
+ selectedValues?: string[];
164
+ /**
165
+ * The current (pre-filed) value on the form.
166
+ * @deprecated Use selectedValues instead
167
+ */
168
+ value?: string;
149
169
  } & OptionsDataSource;
150
- export interface TextField extends BaseField<string> {
170
+ export interface TextField extends SingleValueField<string> {
151
171
  type: 'text';
152
172
  minLength?: number;
153
173
  maxLength?: number;
154
174
  pattern?: RegExp;
155
175
  }
156
- export interface TextAreaField extends BaseField<string> {
176
+ export interface TextAreaField extends SingleValueField<string> {
157
177
  type: 'textarea';
158
178
  minLength?: number;
159
179
  maxLength?: number;
@@ -152,8 +152,8 @@ class BaseState extends BaseHeadState {
152
152
  * JSON.serialize().
153
153
  */
154
154
  serializeBody() {
155
- if ((global.Buffer && this.data instanceof Buffer) ||
156
- (global.Blob && this.data instanceof Blob) ||
155
+ if ((globalThis.Buffer && this.data instanceof Buffer) ||
156
+ (globalThis.Blob && this.data instanceof Blob) ||
157
157
  typeof this.data === 'string') {
158
158
  return this.data;
159
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"base-state.js","sourceRoot":"","sources":["../../src/state/base-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-state.js","sourceRoot":"","sources":["../../src/state/base-state.ts"],"names":[],"mappings":"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"}
package/dist/state/hal.js CHANGED
@@ -160,7 +160,6 @@ function parseHalEmbedded(client, context, body, headers) {
160
160
  }
161
161
  for (const embeddedItem of embeddedList) {
162
162
  if (embeddedItem._links?.self?.href === undefined) {
163
- // eslint-disable-next-line no-console
164
163
  console.warn('An item in _embedded was ignored. Each item must have a single "self" link');
165
164
  continue;
166
165
  }
@@ -207,41 +206,40 @@ function parseHalField(halField) {
207
206
  case 'url':
208
207
  case 'email':
209
208
  if (halField.options) {
209
+ const multiple = !('maxItems' in halField.options) || !halField.options.maxItems || halField.options.maxItems > 1;
210
210
  const baseField = {
211
211
  name: halField.name,
212
212
  type: 'select',
213
213
  label: halField.prompt,
214
214
  required: halField.required || false,
215
215
  readOnly: halField.readOnly || false,
216
- multiple: !('maxItems' in halField.options) || !halField.options.maxItems || halField.options.maxItems > 1,
217
- value: (halField.options.selectedValues || halField.value)
216
+ value: (halField.options.selectedValues || halField.value),
218
217
  };
219
- const labelField = halField.options.promptField || 'prompt';
220
- const valueField = halField.options.valueField || 'value';
221
- if (isInlineOptions(halField.options)) {
222
- const options = {};
223
- for (const entry of halField.options.inline) {
224
- if (typeof entry === 'string') {
225
- options[entry] = entry;
226
- }
227
- else {
228
- options[entry[valueField]] = entry[labelField];
229
- }
230
- }
218
+ const optionsDataSource = toOptionsDataSource(halField.options);
219
+ if (multiple) {
231
220
  return {
221
+ multiple: true,
222
+ selectedValues: halField.options.selectedValues,
232
223
  ...baseField,
233
- options
224
+ ...optionsDataSource
234
225
  };
235
226
  }
236
227
  else {
228
+ const selectedValues = halField.options.selectedValues;
229
+ let selectedValue;
230
+ if (selectedValues) {
231
+ if (selectedValues.length === 1) {
232
+ selectedValue = selectedValues[0];
233
+ }
234
+ else if (selectedValues.length > 1) {
235
+ console.warn(`More than 1 selected value received for single select field ${baseField.name}. Ignoring all selected values for this field.`);
236
+ }
237
+ }
237
238
  return {
239
+ multiple,
240
+ selectedValue,
238
241
  ...baseField,
239
- dataSource: {
240
- href: halField.options.link.href,
241
- type: halField.options.link.type,
242
- labelField,
243
- valueField,
244
- }
242
+ ...optionsDataSource
245
243
  };
246
244
  }
247
245
  }
@@ -357,6 +355,32 @@ function parseHalField(halField) {
357
355
  return undefined;
358
356
  }
359
357
  }
358
+ function toOptionsDataSource(halFieldOptions) {
359
+ const labelField = halFieldOptions.promptField || 'prompt';
360
+ const valueField = halFieldOptions.valueField || 'value';
361
+ if (isInlineOptions(halFieldOptions)) {
362
+ const options = {};
363
+ for (const entry of halFieldOptions.inline) {
364
+ if (typeof entry === 'string') {
365
+ options[entry] = entry;
366
+ }
367
+ else {
368
+ options[entry[valueField]] = entry[labelField];
369
+ }
370
+ }
371
+ return { options };
372
+ }
373
+ else {
374
+ return {
375
+ dataSource: {
376
+ href: halFieldOptions.link.href,
377
+ type: halFieldOptions.link.type,
378
+ labelField,
379
+ valueField,
380
+ }
381
+ };
382
+ }
383
+ }
360
384
  function isInlineOptions(options) {
361
385
  return options.inline !== undefined;
362
386
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hal.js","sourceRoot":"","sources":["../../src/state/hal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hal.js","sourceRoot":"","sources":["../../src/state/hal.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ function needsJsonStringify(input) {
5
5
  if (typeof input === 'string') {
6
6
  return false;
7
7
  }
8
- if (global.Buffer && input instanceof Buffer) {
8
+ if (globalThis.Buffer && input instanceof Buffer) {
9
9
  return false;
10
10
  }
11
11
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-body-helper.js","sourceRoot":"","sources":["../../src/util/fetch-body-helper.ts"],"names":[],"mappings":";;AAAA,gDAYC;AAZD,SAAgB,kBAAkB,CAAC,KAAU;IAE3C,IAAI,OAAO,KAAK,KAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAK,MAAc,CAAC,MAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAEd,CAAC"}
1
+ {"version":3,"file":"fetch-body-helper.js","sourceRoot":"","sources":["../../src/util/fetch-body-helper.ts"],"names":[],"mappings":";;AAAA,gDAYC;AAZD,SAAgB,kBAAkB,CAAC,KAAU;IAE3C,IAAI,OAAO,KAAK,KAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,IAAI,KAAK,YAAY,MAAM,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAEd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ketting",
3
- "version": "8.1.0",
3
+ "version": "8.2.0",
4
4
  "description": "Opiniated HATEAOS / Rest client.",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -39,7 +39,7 @@
39
39
  "types": "dist/index.d.ts",
40
40
  "dependencies": {
41
41
  "@badgateway/oauth2-client": "^2.0.17",
42
- "hal-types": "^2.0.0",
42
+ "hal-types": "^3.0.0",
43
43
  "http-link-header": "^1.0.3",
44
44
  "querystring-browser": "^1.0.4",
45
45
  "sax": "^1.2.4",
package/src/field.ts CHANGED
@@ -32,11 +32,6 @@ interface BaseField<T> {
32
32
  */
33
33
  type: string;
34
34
 
35
- /**
36
- * The current (pre-filed) value on the form.
37
- */
38
- value?: T;
39
-
40
35
  /**
41
36
  * This could be used to describe a sample value.
42
37
  */
@@ -58,12 +53,19 @@ interface BaseField<T> {
58
53
  label?: string;
59
54
  }
60
55
 
56
+ interface SingleValueField<T> extends BaseField<T> {
57
+ /**
58
+ * The current (pre-filed) value on the form.
59
+ */
60
+ value?: T;
61
+ }
62
+
61
63
  /**
62
64
  * The base type for things that are range-like.
63
65
  *
64
66
  * This includes numbers, dates and time fields.
65
67
  */
66
- export interface RangeField<T> extends BaseField<T> {
68
+ export interface RangeField<T> extends SingleValueField<T> {
67
69
  max?: number;
68
70
  min?: number;
69
71
  step?: number;
@@ -72,7 +74,7 @@ export interface RangeField<T> extends BaseField<T> {
72
74
  /**
73
75
  * Toggles/checkboxes
74
76
  */
75
- export interface BooleanField extends BaseField<boolean> {
77
+ export interface BooleanField extends SingleValueField<boolean> {
76
78
  type: 'checkbox' | 'radio';
77
79
  }
78
80
 
@@ -80,7 +82,7 @@ export interface BooleanField extends BaseField<boolean> {
80
82
  * Any field that encodes itself as a string but with no
81
83
  * special features.
82
84
  */
83
- export interface BasicStringField extends BaseField<string> {
85
+ export interface BasicStringField extends SingleValueField<string> {
84
86
  type: 'color' | 'email' | 'password' | 'search' | 'tel' | 'url';
85
87
  minLength?: number;
86
88
  maxLength?: number;
@@ -94,11 +96,11 @@ export interface DateTimeField extends RangeField<Date> {
94
96
  type: 'datetime' | 'datetime-local';
95
97
  }
96
98
 
97
- export interface HiddenField extends BaseField<string | number | null | boolean> {
99
+ export interface HiddenField extends SingleValueField<string | number | null | boolean> {
98
100
  type: 'hidden';
99
101
  }
100
102
 
101
- export interface FileField extends BaseField<never> {
103
+ export interface FileField extends SingleValueField<never> {
102
104
  type: 'file';
103
105
  }
104
106
 
@@ -170,6 +172,15 @@ export type SelectFieldSingle = BaseField<string> & {
170
172
  type: 'select';
171
173
  renderAs?: 'radio' | 'dropdown';
172
174
  multiple?: false;
175
+ /**
176
+ * The current (pre-filed) value on the form.
177
+ */
178
+ selectedValue?: string;
179
+ /**
180
+ * The current (pre-filed) value on the form.
181
+ * @deprecated Use selectedValue instead
182
+ */
183
+ value?: string;
173
184
  } & OptionsDataSource;
174
185
 
175
186
  /**
@@ -179,17 +190,26 @@ export type SelectFieldMulti = BaseField<string> & {
179
190
  type: 'select';
180
191
  renderAs?: 'checkbox' | 'dropdown';
181
192
  multiple: true;
193
+ /**
194
+ * The current (pre-filed) values on the form.
195
+ */
196
+ selectedValues?: string[];
197
+ /**
198
+ * The current (pre-filed) value on the form.
199
+ * @deprecated Use selectedValues instead
200
+ */
201
+ value?: string;
182
202
  } & OptionsDataSource;
183
203
 
184
204
 
185
- export interface TextField extends BaseField<string> {
205
+ export interface TextField extends SingleValueField<string> {
186
206
  type: 'text';
187
207
  minLength?: number;
188
208
  maxLength?: number;
189
209
  pattern?: RegExp;
190
210
  }
191
211
 
192
- export interface TextAreaField extends BaseField<string> {
212
+ export interface TextAreaField extends SingleValueField<string> {
193
213
  type: 'textarea';
194
214
  minLength?: number;
195
215
  maxLength?: number;
@@ -237,8 +237,8 @@ export class BaseState<T> extends BaseHeadState implements State<T> {
237
237
  serializeBody(): Buffer|Blob|string {
238
238
 
239
239
  if (
240
- ((global as any).Buffer && this.data instanceof Buffer) ||
241
- ((global as any).Blob && this.data instanceof Blob) ||
240
+ (globalThis.Buffer && this.data instanceof Buffer) ||
241
+ (globalThis.Blob && this.data instanceof Blob) ||
242
242
  typeof this.data === 'string')
243
243
  {
244
244
  return this.data;
package/src/state/hal.ts CHANGED
@@ -3,7 +3,7 @@ import { parseLink } from '../http/util';
3
3
  import { Link, Links } from '../link';
4
4
  import { resolve } from '../util/uri';
5
5
  import { ActionInfo } from '../action';
6
- import { Field } from '../field';
6
+ import {Field, OptionsDataSource} from '../field';
7
7
  import { StateFactory } from './interface';
8
8
  import Client from '../client';
9
9
  import * as hal from 'hal-types';
@@ -219,7 +219,7 @@ function parseHalEmbedded(client: Client, context: string, body: hal.HalResource
219
219
  for (const embeddedItem of embeddedList) {
220
220
 
221
221
  if ((embeddedItem._links?.self as hal.HalLink)?.href === undefined) {
222
- // eslint-disable-next-line no-console
222
+
223
223
  console.warn('An item in _embedded was ignored. Each item must have a single "self" link');
224
224
  continue;
225
225
  }
@@ -281,44 +281,41 @@ function parseHalField(halField: hal.HalFormsProperty): Field | undefined {
281
281
  case 'email' :
282
282
 
283
283
  if (halField.options) {
284
+ const multiple: boolean | undefined = !('maxItems' in halField.options) || !halField.options.maxItems || halField.options.maxItems > 1;
285
+
284
286
  const baseField = {
285
287
  name: halField.name,
286
288
  type: 'select' as const,
287
289
  label: halField.prompt,
288
290
  required: halField.required || false,
289
291
  readOnly: halField.readOnly || false,
290
- multiple: !('maxItems' in halField.options) || !halField.options.maxItems || halField.options.maxItems > 1 as any,
291
- value: (halField.options.selectedValues || halField.value) as any
292
+ value: (halField.options.selectedValues || halField.value) as any,
292
293
  };
293
294
 
294
- const labelField = halField.options.promptField || 'prompt';
295
- const valueField = halField.options.valueField || 'value';
296
- if (isInlineOptions(halField.options)) {
297
-
298
- const options: Record<string, string> = {};
299
-
300
- for(const entry of halField.options.inline) {
301
-
302
- if (typeof entry === 'string') {
303
- options[entry] = entry;
304
- } else {
305
- options[entry[valueField]] = entry[labelField];
306
- }
307
- }
295
+ const optionsDataSource = toOptionsDataSource(halField.options);
308
296
 
297
+ if (multiple) {
309
298
  return {
299
+ multiple: true,
300
+ selectedValues: halField.options.selectedValues,
310
301
  ...baseField,
311
- options
302
+ ...optionsDataSource
312
303
  };
313
304
  } else {
305
+ const selectedValues = halField.options.selectedValues;
306
+ let selectedValue: string | undefined;
307
+ if (selectedValues) {
308
+ if (selectedValues.length === 1) {
309
+ selectedValue = selectedValues[0];
310
+ } else if (selectedValues.length > 1) {
311
+ console.warn(`More than 1 selected value received for single select field ${baseField.name}. Ignoring all selected values for this field.`);
312
+ }
313
+ }
314
314
  return {
315
+ multiple,
316
+ selectedValue,
315
317
  ...baseField,
316
- dataSource: {
317
- href: halField.options.link.href,
318
- type: halField.options.link.type,
319
- labelField,
320
- valueField,
321
- }
318
+ ...optionsDataSource
322
319
  };
323
320
  }
324
321
  } else {
@@ -435,6 +432,35 @@ function parseHalField(halField: hal.HalFormsProperty): Field | undefined {
435
432
 
436
433
  }
437
434
 
435
+ function toOptionsDataSource(halFieldOptions: NonNullable<hal.HalFormsSimpleProperty['options']>): OptionsDataSource {
436
+ const labelField = halFieldOptions.promptField || 'prompt';
437
+ const valueField = halFieldOptions.valueField || 'value';
438
+ if (isInlineOptions(halFieldOptions)) {
439
+
440
+ const options: Record<string, string> = {};
441
+
442
+ for (const entry of halFieldOptions.inline) {
443
+
444
+ if (typeof entry === 'string') {
445
+ options[entry] = entry;
446
+ } else {
447
+ options[entry[valueField]] = entry[labelField];
448
+ }
449
+ }
450
+
451
+ return {options};
452
+ } else {
453
+ return {
454
+ dataSource: {
455
+ href: halFieldOptions.link.href,
456
+ type: halFieldOptions.link.type,
457
+ labelField,
458
+ valueField,
459
+ }
460
+ };
461
+ }
462
+ }
463
+
438
464
  function isInlineOptions(options: hal.HalFormsSimpleProperty['options']): options is hal.HalFormsOptionsInline {
439
465
 
440
466
  return (options as any).inline !== undefined;
@@ -4,7 +4,7 @@ export function needsJsonStringify(input: any): boolean {
4
4
  return false;
5
5
  }
6
6
 
7
- if ((global as any).Buffer && input instanceof Buffer) {
7
+ if (globalThis.Buffer && input instanceof Buffer) {
8
8
  return false;
9
9
  }
10
10