@strapi/utils 4.10.1 → 4.10.2

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 (35) hide show
  1. package/index.d.ts +5 -3
  2. package/package.json +2 -2
  3. package/coverage/clover.xml +0 -638
  4. package/coverage/coverage-final.json +0 -24
  5. package/coverage/lcov-report/base.css +0 -224
  6. package/coverage/lcov-report/block-navigation.js +0 -87
  7. package/coverage/lcov-report/favicon.png +0 -0
  8. package/coverage/lcov-report/index.html +0 -146
  9. package/coverage/lcov-report/lib/async.js.html +0 -223
  10. package/coverage/lcov-report/lib/content-types.js.html +0 -643
  11. package/coverage/lcov-report/lib/env-helper.js.html +0 -319
  12. package/coverage/lcov-report/lib/errors.js.html +0 -397
  13. package/coverage/lcov-report/lib/format-yup-error.js.html +0 -145
  14. package/coverage/lcov-report/lib/hooks.js.html +0 -415
  15. package/coverage/lcov-report/lib/import-default.js.html +0 -115
  16. package/coverage/lcov-report/lib/index.html +0 -326
  17. package/coverage/lcov-report/lib/pagination.js.html +0 -382
  18. package/coverage/lcov-report/lib/parse-type.js.html +0 -385
  19. package/coverage/lcov-report/lib/policy.js.html +0 -472
  20. package/coverage/lcov-report/lib/print-value.js.html +0 -241
  21. package/coverage/lcov-report/lib/provider-factory.js.html +0 -433
  22. package/coverage/lcov-report/lib/relations.js.html +0 -178
  23. package/coverage/lcov-report/lib/sanitize/visitors/allowed-fields.js.html +0 -367
  24. package/coverage/lcov-report/lib/sanitize/visitors/index.html +0 -191
  25. package/coverage/lcov-report/lib/sanitize/visitors/index.js.html +0 -112
  26. package/coverage/lcov-report/lib/sanitize/visitors/remove-password.js.html +0 -106
  27. package/coverage/lcov-report/lib/sanitize/visitors/remove-private.js.html +0 -118
  28. package/coverage/lcov-report/lib/sanitize/visitors/remove-restricted-relations.js.html +0 -316
  29. package/coverage/lcov-report/lib/sanitize/visitors/restricted-fields.js.html +0 -181
  30. package/coverage/lcov-report/lib/string-formatting.js.html +0 -322
  31. package/coverage/lcov-report/lib/validators.js.html +0 -445
  32. package/coverage/lcov-report/prettify.css +0 -1
  33. package/coverage/lcov-report/prettify.js +0 -2
  34. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  35. package/coverage/lcov-report/sorter.js +0 -196
@@ -1,433 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for lib/provider-factory.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">lib</a> provider-factory.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">100% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>37/37</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">100% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>11/11</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">100% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>13/13</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">100% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>35/35</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line high'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-yes">1x</span>
185
- <span class="cline-any cline-yes">1x</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span>
193
- <span class="cline-any cline-neutral">&nbsp;</span>
194
- <span class="cline-any cline-neutral">&nbsp;</span>
195
- <span class="cline-any cline-neutral">&nbsp;</span>
196
- <span class="cline-any cline-neutral">&nbsp;</span>
197
- <span class="cline-any cline-neutral">&nbsp;</span>
198
- <span class="cline-any cline-neutral">&nbsp;</span>
199
- <span class="cline-any cline-yes">26x</span>
200
- <span class="cline-any cline-neutral">&nbsp;</span>
201
- <span class="cline-any cline-neutral">&nbsp;</span>
202
- <span class="cline-any cline-neutral">&nbsp;</span>
203
- <span class="cline-any cline-neutral">&nbsp;</span>
204
- <span class="cline-any cline-neutral">&nbsp;</span>
205
- <span class="cline-any cline-neutral">&nbsp;</span>
206
- <span class="cline-any cline-neutral">&nbsp;</span>
207
- <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-neutral">&nbsp;</span>
209
- <span class="cline-any cline-neutral">&nbsp;</span>
210
- <span class="cline-any cline-neutral">&nbsp;</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-yes">1x</span>
214
- <span class="cline-any cline-yes">26x</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
- <span class="cline-any cline-yes">26x</span>
217
- <span class="cline-any cline-neutral">&nbsp;</span>
218
- <span class="cline-any cline-neutral">&nbsp;</span>
219
- <span class="cline-any cline-neutral">&nbsp;</span>
220
- <span class="cline-any cline-neutral">&nbsp;</span>
221
- <span class="cline-any cline-yes">26x</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-neutral">&nbsp;</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">33x</span>
226
- <span class="cline-any cline-yes">1x</span>
227
- <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-neutral">&nbsp;</span>
229
- <span class="cline-any cline-yes">32x</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-yes">32x</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
- <span class="cline-any cline-yes">32x</span>
234
- <span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-yes">32x</span>
236
- <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-neutral">&nbsp;</span>
238
- <span class="cline-any cline-neutral">&nbsp;</span>
239
- <span class="cline-any cline-yes">10x</span>
240
- <span class="cline-any cline-yes">8x</span>
241
- <span class="cline-any cline-neutral">&nbsp;</span>
242
- <span class="cline-any cline-yes">8x</span>
243
- <span class="cline-any cline-neutral">&nbsp;</span>
244
- <span class="cline-any cline-yes">8x</span>
245
- <span class="cline-any cline-neutral">&nbsp;</span>
246
- <span class="cline-any cline-yes">8x</span>
247
- <span class="cline-any cline-neutral">&nbsp;</span>
248
- <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-yes">10x</span>
250
- <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-neutral">&nbsp;</span>
252
- <span class="cline-any cline-neutral">&nbsp;</span>
253
- <span class="cline-any cline-yes">19x</span>
254
- <span class="cline-any cline-neutral">&nbsp;</span>
255
- <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-yes">8x</span>
258
- <span class="cline-any cline-yes">8x</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-yes">8x</span>
261
- <span class="cline-any cline-yes">2x</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&nbsp;</span>
264
- <span class="cline-any cline-yes">6x</span>
265
- <span class="cline-any cline-yes">26x</span>
266
- <span class="cline-any cline-neutral">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-neutral">&nbsp;</span>
270
- <span class="cline-any cline-yes">10x</span>
271
- <span class="cline-any cline-neutral">&nbsp;</span>
272
- <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-neutral">&nbsp;</span>
274
- <span class="cline-any cline-yes">5x</span>
275
- <span class="cline-any cline-neutral">&nbsp;</span>
276
- <span class="cline-any cline-neutral">&nbsp;</span>
277
- <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">43x</span>
279
- <span class="cline-any cline-neutral">&nbsp;</span>
280
- <span class="cline-any cline-neutral">&nbsp;</span>
281
- <span class="cline-any cline-neutral">&nbsp;</span>
282
- <span class="cline-any cline-yes">9x</span>
283
- <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-neutral">&nbsp;</span>
285
- <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-yes">3x</span>
287
- <span class="cline-any cline-neutral">&nbsp;</span>
288
- <span class="cline-any cline-yes">3x</span>
289
- <span class="cline-any cline-yes">6x</span>
290
- <span class="cline-any cline-neutral">&nbsp;</span>
291
- <span class="cline-any cline-neutral">&nbsp;</span>
292
- <span class="cline-any cline-yes">3x</span>
293
- <span class="cline-any cline-neutral">&nbsp;</span>
294
- <span class="cline-any cline-neutral">&nbsp;</span>
295
- <span class="cline-any cline-neutral">&nbsp;</span>
296
- <span class="cline-any cline-neutral">&nbsp;</span>
297
- <span class="cline-any cline-yes">1x</span>
298
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
299
- &nbsp;
300
- const { cloneDeep } = require('lodash/fp');
301
- const { createAsyncSeriesHook, createAsyncParallelHook } = require('./hooks');
302
- &nbsp;
303
- /**
304
- * @typedef ProviderHooksMap
305
- * @property willRegister
306
- * @property didRegister
307
- * @property willDelete
308
- * @property didDelete
309
- */
310
- &nbsp;
311
- /**
312
- * Creates a new object containing various hooks used by the providers
313
- * @return {ProviderHooksMap}
314
- */
315
- const createProviderHooksMap = () =&gt; ({
316
- // Register events
317
- willRegister: createAsyncSeriesHook(),
318
- didRegister: createAsyncParallelHook(),
319
- // Delete events
320
- willDelete: createAsyncParallelHook(),
321
- didDelete: createAsyncParallelHook(),
322
- });
323
- &nbsp;
324
- /**
325
- * A Provider factory
326
- * @param {Object} [options] - The factory options
327
- * @param {boolean = true} options.throwOnDuplicates - Specify the wanted behaviour when encountering a duplicate key on register
328
- */
329
- const providerFactory = (options = {}) =&gt; {
330
- const { throwOnDuplicates = true } = options;
331
- &nbsp;
332
- const state = {
333
- hooks: createProviderHooksMap(),
334
- registry: new Map(),
335
- };
336
- &nbsp;
337
- return {
338
- hooks: state.hooks,
339
- &nbsp;
340
- async register(key, item) {
341
- if (throwOnDuplicates &amp;&amp; this.has(key)) {
342
- throw new Error(`Duplicated item key: ${key}`);
343
- }
344
- &nbsp;
345
- await state.hooks.willRegister.call({ key, value: item });
346
- &nbsp;
347
- state.registry.set(key, item);
348
- &nbsp;
349
- await state.hooks.didRegister.call({ key, value: cloneDeep(item) });
350
- &nbsp;
351
- return this;
352
- },
353
- &nbsp;
354
- async delete(key) {
355
- if (this.has(key)) {
356
- const item = this.get(key);
357
- &nbsp;
358
- await state.hooks.willDelete.call({ key, value: cloneDeep(item) });
359
- &nbsp;
360
- state.registry.delete(key);
361
- &nbsp;
362
- await state.hooks.didDelete.call({ key, value: cloneDeep(item) });
363
- }
364
- &nbsp;
365
- return this;
366
- },
367
- &nbsp;
368
- get(key) {
369
- return state.registry.get(key);
370
- },
371
- &nbsp;
372
- getWhere(filters = {}) {
373
- const items = this.values();
374
- const filtersEntries = Object.entries(filters);
375
- &nbsp;
376
- if (filtersEntries.length === 0) {
377
- return items;
378
- }
379
- &nbsp;
380
- return items.filter((item) =&gt; {
381
- return filtersEntries.every(([key, value]) =&gt; item[key] === value);
382
- });
383
- },
384
- &nbsp;
385
- values() {
386
- return Array.from(state.registry.values());
387
- },
388
- &nbsp;
389
- keys() {
390
- return Array.from(state.registry.keys());
391
- },
392
- &nbsp;
393
- has(key) {
394
- return state.registry.has(key);
395
- },
396
- &nbsp;
397
- size() {
398
- return state.registry.size;
399
- },
400
- &nbsp;
401
- async clear() {
402
- const keys = this.keys();
403
- &nbsp;
404
- for (const key of keys) {
405
- await this.delete(key);
406
- }
407
- &nbsp;
408
- return this;
409
- },
410
- };
411
- };
412
- &nbsp;
413
- module.exports = providerFactory;
414
- &nbsp;</pre></td></tr></table></pre>
415
-
416
- <div class='push'></div><!-- for sticky footer -->
417
- </div><!-- /wrapper -->
418
- <div class='footer quiet pad2 space-top1 center small'>
419
- Code coverage generated by
420
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
421
- at 2023-03-15T08:52:41.153Z
422
- </div>
423
- <script src="../prettify.js"></script>
424
- <script>
425
- window.onload = function () {
426
- prettyPrint();
427
- };
428
- </script>
429
- <script src="../sorter.js"></script>
430
- <script src="../block-navigation.js"></script>
431
- </body>
432
- </html>
433
-
@@ -1,178 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for lib/relations.js</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">lib</a> relations.js</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">71.42% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>10/14</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/8</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">33.33% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/6</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">71.42% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>10/14</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line medium'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">1x</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-yes">1x</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-yes">1x</span>
104
- <span class="cline-any cline-yes">1x</span>
105
- <span class="cline-any cline-yes">2x</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-yes">1x</span>
110
- <span class="cline-any cline-no">&nbsp;</span>
111
- <span class="cline-any cline-yes">1x</span>
112
- <span class="cline-any cline-no">&nbsp;</span>
113
- <span class="cline-any cline-yes">1x</span>
114
- <span class="cline-any cline-no">&nbsp;</span>
115
- <span class="cline-any cline-yes">1x</span>
116
- <span class="cline-any cline-no">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-yes">1x</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-neutral">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">'use strict';
129
- &nbsp;
130
- const { isRelationalAttribute } = require('./content-types');
131
- &nbsp;
132
- const MANY_RELATIONS = ['oneToMany', 'manyToMany'];
133
- &nbsp;
134
- const getRelationalFields = (contentType) =&gt; {
135
- return Object.keys(contentType.attributes).filter((attributeName) =&gt; {
136
- return contentType.attributes[attributeName].type === 'relation';
137
- });
138
- };
139
- &nbsp;
140
- const isOneToAny = <span class="fstat-no" title="function not covered" >(a</span>ttribute) =&gt;
141
- <span class="cstat-no" title="statement not covered" > isRelationalAttribute(attribute) &amp;&amp; ['oneToOne', 'oneToMany'].includes(attribute.relation);</span>
142
- const isManyToAny = <span class="fstat-no" title="function not covered" >(a</span>ttribute) =&gt;
143
- <span class="cstat-no" title="statement not covered" > isRelationalAttribute(attribute) &amp;&amp; ['manyToMany', 'manyToOne'].includes(attribute.relation);</span>
144
- const isAnyToOne = <span class="fstat-no" title="function not covered" >(a</span>ttribute) =&gt;
145
- <span class="cstat-no" title="statement not covered" > isRelationalAttribute(attribute) &amp;&amp; ['oneToOne', 'manyToOne'].includes(attribute.relation);</span>
146
- const isAnyToMany = <span class="fstat-no" title="function not covered" >(a</span>ttribute) =&gt;
147
- <span class="cstat-no" title="statement not covered" > isRelationalAttribute(attribute) &amp;&amp; ['oneToMany', 'manyToMany'].includes(attribute.relation);</span>
148
- &nbsp;
149
- module.exports = {
150
- getRelationalFields,
151
- isOneToAny,
152
- isManyToAny,
153
- isAnyToOne,
154
- isAnyToMany,
155
- constants: {
156
- MANY_RELATIONS,
157
- },
158
- };
159
- &nbsp;</pre></td></tr></table></pre>
160
-
161
- <div class='push'></div><!-- for sticky footer -->
162
- </div><!-- /wrapper -->
163
- <div class='footer quiet pad2 space-top1 center small'>
164
- Code coverage generated by
165
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
166
- at 2023-03-15T08:52:41.153Z
167
- </div>
168
- <script src="../prettify.js"></script>
169
- <script>
170
- window.onload = function () {
171
- prettyPrint();
172
- };
173
- </script>
174
- <script src="../sorter.js"></script>
175
- <script src="../block-navigation.js"></script>
176
- </body>
177
- </html>
178
-