@unito/integration-api 4.1.6 → 4.2.1

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.
@@ -0,0 +1,345 @@
1
+ import * as Api from './types.js';
2
+ const dateToStringlikeConfiguration = {
3
+ locale: {
4
+ type: 'enum',
5
+ default: 'en-CA',
6
+ values: ['en-CA'],
7
+ description: 'The locale to use for formatting the date.',
8
+ },
9
+ timezone: {
10
+ type: 'enum',
11
+ default: 'UTC',
12
+ values: ['UTC'],
13
+ description: 'The timezone to use for formatting the date.',
14
+ },
15
+ };
16
+ const htmlToRichTextConfiguration = {
17
+ decorator: {
18
+ type: 'boolean',
19
+ description: 'Decorate the content with author information and optional date.',
20
+ default: false,
21
+ hidden: true,
22
+ },
23
+ decoratorTemplate: {
24
+ type: 'string',
25
+ description: 'Template for the decorator. Use {author} and {date} placeholders.',
26
+ default: 'On <strong>{semantic:createdAt}</strong>, <em>{semantic:user.semantic:displayName}</em> commented:',
27
+ hidden: true,
28
+ },
29
+ decoratorPrefix: {
30
+ type: 'string',
31
+ description: `Prefix for the decorator. Defaults to "➤".`,
32
+ default: '➤',
33
+ hidden: true,
34
+ },
35
+ };
36
+ const markdownToRichTextConfiguration = {
37
+ decorator: {
38
+ type: 'boolean',
39
+ description: 'Decorate the content with author information and optional date.',
40
+ default: false,
41
+ hidden: true,
42
+ },
43
+ decoratorTemplate: {
44
+ type: 'string',
45
+ description: 'Template for the decorator. Use {author} and {date} placeholders.',
46
+ default: 'On **{semantic:createdAt}**, __{semantic:user.semantic:displayName}__ commented:',
47
+ hidden: true,
48
+ },
49
+ decoratorPrefix: {
50
+ type: 'string',
51
+ description: `Prefix for the decorator. Defaults to "➤".`,
52
+ default: '➤',
53
+ hidden: true,
54
+ },
55
+ };
56
+ export const fieldTypeCompatibilityMatrix = {
57
+ [Api.FieldValueTypes.BLOB]: {
58
+ [Api.FieldValueTypes.BLOB]: {},
59
+ [Api.FieldValueTypes.BOOLEAN]: null,
60
+ [Api.FieldValueTypes.DATE]: null,
61
+ [Api.FieldValueTypes.DATE_RANGE]: null,
62
+ [Api.FieldValueTypes.DATETIME]: null,
63
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
64
+ [Api.FieldValueTypes.DURATION]: null,
65
+ [Api.FieldValueTypes.EMAIL]: null,
66
+ [Api.FieldValueTypes.INTEGER]: null,
67
+ [Api.FieldValueTypes.NUMBER]: null,
68
+ [Api.FieldValueTypes.OBJECT]: null,
69
+ [Api.FieldValueTypes.REFERENCE]: null,
70
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: null,
71
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: null,
72
+ [Api.FieldValueTypes.STRING]: null,
73
+ [Api.FieldValueTypes.URL]: null,
74
+ },
75
+ [Api.FieldValueTypes.BOOLEAN]: {
76
+ [Api.FieldValueTypes.BLOB]: null,
77
+ [Api.FieldValueTypes.BOOLEAN]: {},
78
+ [Api.FieldValueTypes.DATE]: null,
79
+ [Api.FieldValueTypes.DATE_RANGE]: null,
80
+ [Api.FieldValueTypes.DATETIME]: null,
81
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
82
+ [Api.FieldValueTypes.DURATION]: null,
83
+ [Api.FieldValueTypes.EMAIL]: null,
84
+ [Api.FieldValueTypes.INTEGER]: {},
85
+ [Api.FieldValueTypes.NUMBER]: {},
86
+ [Api.FieldValueTypes.OBJECT]: null,
87
+ [Api.FieldValueTypes.REFERENCE]: null,
88
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
89
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
90
+ [Api.FieldValueTypes.STRING]: {},
91
+ [Api.FieldValueTypes.URL]: null,
92
+ },
93
+ [Api.FieldValueTypes.DATE]: {
94
+ [Api.FieldValueTypes.BLOB]: null,
95
+ [Api.FieldValueTypes.BOOLEAN]: null,
96
+ [Api.FieldValueTypes.DATE]: {},
97
+ [Api.FieldValueTypes.DATE_RANGE]: null,
98
+ [Api.FieldValueTypes.DATETIME]: {},
99
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
100
+ [Api.FieldValueTypes.DURATION]: null,
101
+ [Api.FieldValueTypes.EMAIL]: null,
102
+ [Api.FieldValueTypes.INTEGER]: {},
103
+ [Api.FieldValueTypes.NUMBER]: {},
104
+ [Api.FieldValueTypes.OBJECT]: null,
105
+ [Api.FieldValueTypes.REFERENCE]: null,
106
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: dateToStringlikeConfiguration,
107
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: dateToStringlikeConfiguration,
108
+ [Api.FieldValueTypes.STRING]: dateToStringlikeConfiguration,
109
+ [Api.FieldValueTypes.URL]: null,
110
+ },
111
+ [Api.FieldValueTypes.DATE_RANGE]: {
112
+ [Api.FieldValueTypes.BLOB]: null,
113
+ [Api.FieldValueTypes.BOOLEAN]: null,
114
+ [Api.FieldValueTypes.DATE]: null,
115
+ [Api.FieldValueTypes.DATE_RANGE]: null,
116
+ [Api.FieldValueTypes.DATETIME]: null,
117
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
118
+ [Api.FieldValueTypes.DURATION]: null,
119
+ [Api.FieldValueTypes.EMAIL]: null,
120
+ [Api.FieldValueTypes.INTEGER]: null,
121
+ [Api.FieldValueTypes.NUMBER]: null,
122
+ [Api.FieldValueTypes.OBJECT]: null,
123
+ [Api.FieldValueTypes.REFERENCE]: null,
124
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: null,
125
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: null,
126
+ [Api.FieldValueTypes.STRING]: null,
127
+ [Api.FieldValueTypes.URL]: null,
128
+ },
129
+ [Api.FieldValueTypes.DATETIME]: {
130
+ [Api.FieldValueTypes.BLOB]: null,
131
+ [Api.FieldValueTypes.BOOLEAN]: null,
132
+ [Api.FieldValueTypes.DATE]: {},
133
+ [Api.FieldValueTypes.DATE_RANGE]: null,
134
+ [Api.FieldValueTypes.DATETIME]: {},
135
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
136
+ [Api.FieldValueTypes.DURATION]: null,
137
+ [Api.FieldValueTypes.EMAIL]: null,
138
+ [Api.FieldValueTypes.INTEGER]: {},
139
+ [Api.FieldValueTypes.NUMBER]: {},
140
+ [Api.FieldValueTypes.OBJECT]: null,
141
+ [Api.FieldValueTypes.REFERENCE]: null,
142
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: dateToStringlikeConfiguration,
143
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: dateToStringlikeConfiguration,
144
+ [Api.FieldValueTypes.STRING]: dateToStringlikeConfiguration,
145
+ [Api.FieldValueTypes.URL]: null,
146
+ },
147
+ [Api.FieldValueTypes.DATETIME_RANGE]: {
148
+ [Api.FieldValueTypes.BLOB]: null,
149
+ [Api.FieldValueTypes.BOOLEAN]: null,
150
+ [Api.FieldValueTypes.DATE]: null,
151
+ [Api.FieldValueTypes.DATE_RANGE]: null,
152
+ [Api.FieldValueTypes.DATETIME]: null,
153
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
154
+ [Api.FieldValueTypes.DURATION]: null,
155
+ [Api.FieldValueTypes.EMAIL]: null,
156
+ [Api.FieldValueTypes.INTEGER]: null,
157
+ [Api.FieldValueTypes.NUMBER]: null,
158
+ [Api.FieldValueTypes.OBJECT]: null,
159
+ [Api.FieldValueTypes.REFERENCE]: null,
160
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: null,
161
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: null,
162
+ [Api.FieldValueTypes.STRING]: null,
163
+ [Api.FieldValueTypes.URL]: null,
164
+ },
165
+ [Api.FieldValueTypes.DURATION]: {
166
+ [Api.FieldValueTypes.BLOB]: null,
167
+ [Api.FieldValueTypes.BOOLEAN]: null,
168
+ [Api.FieldValueTypes.DATE]: null,
169
+ [Api.FieldValueTypes.DATE_RANGE]: null,
170
+ [Api.FieldValueTypes.DATETIME]: null,
171
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
172
+ [Api.FieldValueTypes.DURATION]: {},
173
+ [Api.FieldValueTypes.EMAIL]: null,
174
+ [Api.FieldValueTypes.INTEGER]: {},
175
+ [Api.FieldValueTypes.NUMBER]: {},
176
+ [Api.FieldValueTypes.OBJECT]: null,
177
+ [Api.FieldValueTypes.REFERENCE]: null,
178
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
179
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
180
+ [Api.FieldValueTypes.STRING]: {},
181
+ [Api.FieldValueTypes.URL]: null,
182
+ },
183
+ [Api.FieldValueTypes.EMAIL]: {
184
+ [Api.FieldValueTypes.BLOB]: null,
185
+ [Api.FieldValueTypes.BOOLEAN]: null,
186
+ [Api.FieldValueTypes.DATE]: null,
187
+ [Api.FieldValueTypes.DATE_RANGE]: null,
188
+ [Api.FieldValueTypes.DATETIME]: null,
189
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
190
+ [Api.FieldValueTypes.DURATION]: null,
191
+ [Api.FieldValueTypes.EMAIL]: {},
192
+ [Api.FieldValueTypes.INTEGER]: null,
193
+ [Api.FieldValueTypes.NUMBER]: null,
194
+ [Api.FieldValueTypes.OBJECT]: null,
195
+ [Api.FieldValueTypes.REFERENCE]: null,
196
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
197
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
198
+ [Api.FieldValueTypes.STRING]: {},
199
+ [Api.FieldValueTypes.URL]: null,
200
+ },
201
+ [Api.FieldValueTypes.INTEGER]: {
202
+ [Api.FieldValueTypes.BLOB]: null,
203
+ [Api.FieldValueTypes.BOOLEAN]: {},
204
+ [Api.FieldValueTypes.DATE]: {},
205
+ [Api.FieldValueTypes.DATE_RANGE]: null,
206
+ [Api.FieldValueTypes.DATETIME]: {},
207
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
208
+ [Api.FieldValueTypes.DURATION]: null,
209
+ [Api.FieldValueTypes.EMAIL]: null,
210
+ [Api.FieldValueTypes.INTEGER]: {},
211
+ [Api.FieldValueTypes.NUMBER]: {},
212
+ [Api.FieldValueTypes.OBJECT]: null,
213
+ [Api.FieldValueTypes.REFERENCE]: null,
214
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
215
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
216
+ [Api.FieldValueTypes.STRING]: {},
217
+ [Api.FieldValueTypes.URL]: null,
218
+ },
219
+ [Api.FieldValueTypes.NUMBER]: {
220
+ [Api.FieldValueTypes.BLOB]: null,
221
+ [Api.FieldValueTypes.BOOLEAN]: {},
222
+ [Api.FieldValueTypes.DATE]: {},
223
+ [Api.FieldValueTypes.DATE_RANGE]: null,
224
+ [Api.FieldValueTypes.DATETIME]: {},
225
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
226
+ [Api.FieldValueTypes.DURATION]: null,
227
+ [Api.FieldValueTypes.EMAIL]: null,
228
+ [Api.FieldValueTypes.INTEGER]: {},
229
+ [Api.FieldValueTypes.NUMBER]: {},
230
+ [Api.FieldValueTypes.OBJECT]: null,
231
+ [Api.FieldValueTypes.REFERENCE]: null,
232
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
233
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
234
+ [Api.FieldValueTypes.STRING]: {},
235
+ [Api.FieldValueTypes.URL]: null,
236
+ },
237
+ [Api.FieldValueTypes.OBJECT]: {
238
+ [Api.FieldValueTypes.BLOB]: null,
239
+ [Api.FieldValueTypes.BOOLEAN]: null,
240
+ [Api.FieldValueTypes.DATE]: null,
241
+ [Api.FieldValueTypes.DATE_RANGE]: null,
242
+ [Api.FieldValueTypes.DATETIME]: null,
243
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
244
+ [Api.FieldValueTypes.DURATION]: null,
245
+ [Api.FieldValueTypes.EMAIL]: null,
246
+ [Api.FieldValueTypes.INTEGER]: null,
247
+ [Api.FieldValueTypes.NUMBER]: null,
248
+ [Api.FieldValueTypes.OBJECT]: null,
249
+ [Api.FieldValueTypes.REFERENCE]: null,
250
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: null,
251
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: null,
252
+ [Api.FieldValueTypes.STRING]: null,
253
+ [Api.FieldValueTypes.URL]: null,
254
+ },
255
+ [Api.FieldValueTypes.REFERENCE]: {
256
+ [Api.FieldValueTypes.BLOB]: null,
257
+ [Api.FieldValueTypes.BOOLEAN]: null,
258
+ [Api.FieldValueTypes.DATE]: null,
259
+ [Api.FieldValueTypes.DATE_RANGE]: null,
260
+ [Api.FieldValueTypes.DATETIME]: null,
261
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
262
+ [Api.FieldValueTypes.DURATION]: null,
263
+ [Api.FieldValueTypes.EMAIL]: null,
264
+ [Api.FieldValueTypes.INTEGER]: null,
265
+ [Api.FieldValueTypes.NUMBER]: null,
266
+ [Api.FieldValueTypes.OBJECT]: null,
267
+ [Api.FieldValueTypes.REFERENCE]: {},
268
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: null,
269
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: null,
270
+ [Api.FieldValueTypes.STRING]: null,
271
+ [Api.FieldValueTypes.URL]: null,
272
+ },
273
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {
274
+ [Api.FieldValueTypes.BLOB]: null,
275
+ [Api.FieldValueTypes.BOOLEAN]: null,
276
+ [Api.FieldValueTypes.DATE]: null,
277
+ [Api.FieldValueTypes.DATE_RANGE]: null,
278
+ [Api.FieldValueTypes.DATETIME]: null,
279
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
280
+ [Api.FieldValueTypes.DURATION]: null,
281
+ [Api.FieldValueTypes.EMAIL]: null,
282
+ [Api.FieldValueTypes.INTEGER]: null,
283
+ [Api.FieldValueTypes.NUMBER]: null,
284
+ [Api.FieldValueTypes.OBJECT]: null,
285
+ [Api.FieldValueTypes.REFERENCE]: null,
286
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: htmlToRichTextConfiguration,
287
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: htmlToRichTextConfiguration,
288
+ [Api.FieldValueTypes.STRING]: {},
289
+ [Api.FieldValueTypes.URL]: null,
290
+ },
291
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {
292
+ [Api.FieldValueTypes.BLOB]: null,
293
+ [Api.FieldValueTypes.BOOLEAN]: null,
294
+ [Api.FieldValueTypes.DATE]: null,
295
+ [Api.FieldValueTypes.DATE_RANGE]: null,
296
+ [Api.FieldValueTypes.DATETIME]: null,
297
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
298
+ [Api.FieldValueTypes.DURATION]: null,
299
+ [Api.FieldValueTypes.EMAIL]: null,
300
+ [Api.FieldValueTypes.INTEGER]: null,
301
+ [Api.FieldValueTypes.NUMBER]: null,
302
+ [Api.FieldValueTypes.OBJECT]: null,
303
+ [Api.FieldValueTypes.REFERENCE]: null,
304
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: markdownToRichTextConfiguration,
305
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: markdownToRichTextConfiguration,
306
+ [Api.FieldValueTypes.STRING]: {},
307
+ [Api.FieldValueTypes.URL]: null,
308
+ },
309
+ [Api.FieldValueTypes.STRING]: {
310
+ [Api.FieldValueTypes.BLOB]: null,
311
+ [Api.FieldValueTypes.BOOLEAN]: {},
312
+ [Api.FieldValueTypes.DATE]: {},
313
+ [Api.FieldValueTypes.DATE_RANGE]: null,
314
+ [Api.FieldValueTypes.DATETIME]: {},
315
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
316
+ [Api.FieldValueTypes.DURATION]: null,
317
+ [Api.FieldValueTypes.EMAIL]: null,
318
+ [Api.FieldValueTypes.INTEGER]: {},
319
+ [Api.FieldValueTypes.NUMBER]: {},
320
+ [Api.FieldValueTypes.OBJECT]: null,
321
+ [Api.FieldValueTypes.REFERENCE]: null,
322
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
323
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
324
+ [Api.FieldValueTypes.STRING]: {},
325
+ [Api.FieldValueTypes.URL]: null,
326
+ },
327
+ [Api.FieldValueTypes.URL]: {
328
+ [Api.FieldValueTypes.BLOB]: null,
329
+ [Api.FieldValueTypes.BOOLEAN]: null,
330
+ [Api.FieldValueTypes.DATE]: null,
331
+ [Api.FieldValueTypes.DATE_RANGE]: null,
332
+ [Api.FieldValueTypes.DATETIME]: null,
333
+ [Api.FieldValueTypes.DATETIME_RANGE]: null,
334
+ [Api.FieldValueTypes.DURATION]: null,
335
+ [Api.FieldValueTypes.EMAIL]: null,
336
+ [Api.FieldValueTypes.INTEGER]: null,
337
+ [Api.FieldValueTypes.NUMBER]: null,
338
+ [Api.FieldValueTypes.OBJECT]: null,
339
+ [Api.FieldValueTypes.REFERENCE]: null,
340
+ [Api.FieldValueTypes.RICH_TEXT_HTML]: {},
341
+ [Api.FieldValueTypes.RICH_TEXT_MARKDOWN]: {},
342
+ [Api.FieldValueTypes.STRING]: {},
343
+ [Api.FieldValueTypes.URL]: {},
344
+ },
345
+ };
@@ -1,4 +1,22 @@
1
1
  import * as Api from './types.js';
2
+ /**
3
+ * Checks if the input is a record<unknown, unknown>
4
+ * @param potentialObject - The value to check.
5
+ * @returns True if the value is a record, false otherwise.
6
+ */
7
+ export declare function isObject(potentialObject: unknown): potentialObject is Record<string, unknown>;
8
+ /**
9
+ * Checks if the input is a string.
10
+ * @param potentialString - The value to check.
11
+ * @returns True if the value is a string, false otherwise.
12
+ */
13
+ export declare function isString(potentialString: unknown): potentialString is string;
14
+ /**
15
+ * Checks if the input is undefined.
16
+ * @param potentialUndefined - The value to check.
17
+ * @returns True if the value is undefined, false otherwise.
18
+ */
19
+ export declare function isUndefined(potentialUndefined: unknown): potentialUndefined is undefined;
2
20
  /**
3
21
  * Checks if the input is an Api.ItemSummary object.
4
22
  * @param potentialItemSummary - The value to check.
@@ -4,7 +4,7 @@ import * as Api from './types.js';
4
4
  * @param potentialObject - The value to check.
5
5
  * @returns True if the value is a record, false otherwise.
6
6
  */
7
- function isObject(potentialObject) {
7
+ export function isObject(potentialObject) {
8
8
  return typeof potentialObject === 'object' && potentialObject !== null && !Array.isArray(potentialObject);
9
9
  }
10
10
  /**
@@ -12,7 +12,7 @@ function isObject(potentialObject) {
12
12
  * @param potentialString - The value to check.
13
13
  * @returns True if the value is a string, false otherwise.
14
14
  */
15
- function isString(potentialString) {
15
+ export function isString(potentialString) {
16
16
  return typeof potentialString === 'string';
17
17
  }
18
18
  /**
@@ -20,7 +20,7 @@ function isString(potentialString) {
20
20
  * @param potentialUndefined - The value to check.
21
21
  * @returns True if the value is undefined, false otherwise.
22
22
  */
23
- function isUndefined(potentialUndefined) {
23
+ export function isUndefined(potentialUndefined) {
24
24
  return potentialUndefined === undefined;
25
25
  }
26
26
  /**