UNPKG

2.74 kBJavaScriptView Raw
1import {
2 junkValuesNotNull,
3 genericValues,
4 invalidValuesNotUndefined,
5 invalidValues,
6 genericStrings,
7 genericPositiveIntegers,
8 genericPositiveIntegersIncludingZero,
9 genericNegativeIntegers,
10 genericDecimals,
11 positiveDimensionValues,
12 genericResolutionValues,
13 negativeResolutionValuesIncludingZero,
14 genericNegativeDecimalsIncludingZero,
15 positiveResolutionValues,
16 genericAspectRatioValues,
17 invalidAspectRatioValues,
18 genericNegativeNumbers,
19 genericNumbers,
20} from './data';
21
22const dimensionsValues = {
23 invalidNonExplicitValues: [...genericValues, ...positiveDimensionValues],
24 invalidExplicitValues: [
25 ...invalidValues,
26 ...genericStrings,
27 ...genericNegativeDecimalsIncludingZero,
28 ...genericNegativeIntegers,
29 ],
30 validExplicitValues: [...genericPositiveIntegers, ...positiveDimensionValues],
31};
32
33const colorAndMonochromeValues = {
34 invalidNonExplicitValues: [...genericValues],
35 invalidExplicitValues: [
36 ...junkValuesNotNull,
37 ...genericStrings,
38 ...genericNegativeIntegers,
39 ...genericDecimals,
40 ],
41 validExplicitValues: [null, ...genericPositiveIntegersIncludingZero],
42};
43
44const featureValues = {
45 // Linear
46 orientation: {
47 invalidValues: genericValues,
48 },
49 scan: {
50 invalidValues: genericValues,
51 },
52 grid: {
53 invalidValues: [
54 ...invalidValuesNotUndefined,
55 ...genericStrings,
56 ...genericNegativeNumbers,
57 2,
58 ],
59 },
60 update: {
61 invalidValues: [
62 ...invalidValuesNotUndefined,
63 ...genericStrings,
64 ...genericNumbers,
65 ],
66 },
67 overflowBlock: {
68 invalidValues: genericValues,
69 },
70 overflowInline: {
71 invalidValues: genericValues,
72 },
73 colorGamut: {
74 invalidValues: genericValues,
75 },
76 displayMode: {
77 invalidValues: genericValues,
78 },
79 // Ranged
80 width: {
81 ...dimensionsValues,
82 },
83 height: {
84 ...dimensionsValues,
85 },
86 resolution: {
87 invalidNonExplicitValues: [...genericValues, ...genericResolutionValues],
88 invalidExplicitValues: [
89 ...invalidValues,
90 ...genericStrings,
91 ...negativeResolutionValuesIncludingZero,
92 ],
93 validExplicitValues: [
94 ...positiveResolutionValues,
95 ...genericPositiveIntegersIncludingZero,
96 ],
97 },
98 aspectRatio: {
99 invalidNonExplicitValues: [
100 ...genericValues,
101 ...genericAspectRatioValues,
102 ...invalidAspectRatioValues,
103 ],
104 invalidExplicitValues: [...genericValues, ...invalidAspectRatioValues],
105 validExplicitValues: [...genericAspectRatioValues],
106 },
107 color: {
108 ...colorAndMonochromeValues,
109 },
110 colorIndex: {
111 ...colorAndMonochromeValues,
112 },
113 monochrome: {
114 ...colorAndMonochromeValues,
115 },
116};
117
118export default featureName => featureValues[featureName];