@innet/server 2.0.0-beta.27 → 2.0.0-beta.29

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@innet/server",
3
- "version": "2.0.0-beta.27",
3
+ "version": "2.0.0-beta.29",
4
4
  "description": "Create server-side application with innet",
5
5
  "main": "index.js",
6
6
  "module": "index.es6.js",
@@ -13,6 +13,7 @@ import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
13
13
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
14
14
  import { arrayOf } from '../../../utils/rules/arrayOf/arrayOf.es6.js';
15
15
  import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
16
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
16
17
  import { useEffect } from '../../../hooks/useEffect/useEffect.es6.js';
17
18
 
18
19
  const array = () => {
@@ -52,13 +53,14 @@ const array = () => {
52
53
  }
53
54
  else {
54
55
  oneOfRulesMap = [rule];
55
- setRule(rootRule(oneOf(oneOfRulesMap)));
56
+ const mainRule = rootRule(oneOf(oneOfRulesMap));
57
+ setRule(props.nullable ? oneOf([nullable, mainRule]) : mainRule);
56
58
  }
57
59
  });
58
60
  innet(children, handler);
59
61
  useEffect(() => {
60
- if (!oneOfRulesMap && setRule) {
61
- setRule(rootRule(e => e));
62
+ if (!oneOfRulesMap) {
63
+ setRule(props.nullable ? oneOf([nullable, rootRule(e => e)]) : rootRule(e => e));
62
64
  }
63
65
  });
64
66
  return;
@@ -17,6 +17,7 @@ var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
17
17
  var pipe = require('../../../utils/rules/pipe/pipe.js');
18
18
  var arrayOf = require('../../../utils/rules/arrayOf/arrayOf.js');
19
19
  var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
20
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
20
21
  var useEffect = require('../../../hooks/useEffect/useEffect.js');
21
22
 
22
23
  const array = () => {
@@ -56,13 +57,14 @@ const array = () => {
56
57
  }
57
58
  else {
58
59
  oneOfRulesMap = [rule];
59
- setRule(rootRule(oneOf.oneOf(oneOfRulesMap)));
60
+ const mainRule = rootRule(oneOf.oneOf(oneOfRulesMap));
61
+ setRule(props.nullable ? oneOf.oneOf([nullable.nullable, mainRule]) : mainRule);
60
62
  }
61
63
  });
62
64
  innet.innet(children, handler);
63
65
  useEffect.useEffect(() => {
64
- if (!oneOfRulesMap && setRule) {
65
- setRule(rootRule(e => e));
66
+ if (!oneOfRulesMap) {
67
+ setRule(props.nullable ? oneOf.oneOf([nullable.nullable, rootRule(e => e)]) : rootRule(e => e));
66
68
  }
67
69
  });
68
70
  return;
@@ -1,13 +1,8 @@
1
1
  import { type HandlerPlugin } from 'innet';
2
- export interface BinaryProps {
2
+ import type { SchemaProps } from '../../../types';
3
+ export type BinaryProps = SchemaProps<string> & {
3
4
  accept?: string;
4
- deprecated: boolean;
5
- description?: string;
6
5
  max?: number;
7
6
  min?: number;
8
- readOnly: boolean;
9
- ref?: string;
10
- title?: string;
11
- writeOnly: boolean;
12
- }
7
+ };
13
8
  export declare const binary: HandlerPlugin;
@@ -10,8 +10,10 @@ import { minBin } from '../../../utils/rules/minBin/minBin.es6.js';
10
10
  import { maxBin } from '../../../utils/rules/maxBin/maxBin.es6.js';
11
11
  import { binaryAccept } from '../../../utils/rules/binaryAccept/binaryAccept.es6.js';
12
12
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
13
- import { useRule } from '../../../hooks/useRule/useRule.es6.js';
13
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
14
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
14
15
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
16
+ import { useRule } from '../../../hooks/useRule/useRule.es6.js';
15
17
 
16
18
  const binary = () => {
17
19
  useBlock('path');
@@ -37,7 +39,8 @@ const binary = () => {
37
39
  rules.push(binaryAccept(props.accept));
38
40
  }
39
41
  const parentRule = useParentRule();
40
- useRule(parentRule(pipe(...rules)));
42
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
43
+ useRule(parentRule(rule));
41
44
  };
42
45
 
43
46
  export { binary };
@@ -14,8 +14,10 @@ var minBin = require('../../../utils/rules/minBin/minBin.js');
14
14
  var maxBin = require('../../../utils/rules/maxBin/maxBin.js');
15
15
  var binaryAccept = require('../../../utils/rules/binaryAccept/binaryAccept.js');
16
16
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
17
- var useRule = require('../../../hooks/useRule/useRule.js');
17
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
18
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
18
19
  var pipe = require('../../../utils/rules/pipe/pipe.js');
20
+ var useRule = require('../../../hooks/useRule/useRule.js');
19
21
 
20
22
  const binary = () => {
21
23
  useBlock.useBlock('path');
@@ -41,7 +43,8 @@ const binary = () => {
41
43
  rules.push(binaryAccept.binaryAccept(props.accept));
42
44
  }
43
45
  const parentRule = useParentRule.useParentRule();
44
- useRule.useRule(parentRule(pipe.pipe(...rules)));
46
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
47
+ useRule.useRule(parentRule(rule));
45
48
  };
46
49
 
47
50
  exports.binary = binary;
@@ -6,9 +6,11 @@ import { useBlock } from '../../../hooks/useBlock/useBlock.es6.js';
6
6
  import { useSchemaType } from '../../../hooks/useSchemaType/useSchemaType.es6.js';
7
7
  import { bodyContext } from '../../../hooks/useBodyContext/useBodyContext.es6.js';
8
8
  import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
9
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
10
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
11
+ import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
9
12
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
10
13
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
11
- import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
12
14
 
13
15
  const boolean = () => {
14
16
  useBlock('path');
@@ -23,12 +25,13 @@ const boolean = () => {
23
25
  rules.push(defaultTo(props.default));
24
26
  }
25
27
  rules.push(val => val === 'true' || (val === 'false' ? false : Boolean(val)));
26
- if ((props === null || props === void 0 ? void 0 : props.default) === undefined) {
28
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
29
+ if (props.default === undefined) {
27
30
  const parentRule = useParentRule();
28
- useRule(parentRule(pipe(...rules)));
31
+ useRule(parentRule(rule));
29
32
  }
30
33
  else {
31
- useRule(pipe(...rules));
34
+ useRule(rule);
32
35
  }
33
36
  };
34
37
 
@@ -10,9 +10,11 @@ var useBlock = require('../../../hooks/useBlock/useBlock.js');
10
10
  var useSchemaType = require('../../../hooks/useSchemaType/useSchemaType.js');
11
11
  var useBodyContext = require('../../../hooks/useBodyContext/useBodyContext.js');
12
12
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
13
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
14
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
15
+ var pipe = require('../../../utils/rules/pipe/pipe.js');
13
16
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
14
17
  var useRule = require('../../../hooks/useRule/useRule.js');
15
- var pipe = require('../../../utils/rules/pipe/pipe.js');
16
18
 
17
19
  const boolean = () => {
18
20
  useBlock.useBlock('path');
@@ -27,12 +29,13 @@ const boolean = () => {
27
29
  rules.push(defaultTo.defaultTo(props.default));
28
30
  }
29
31
  rules.push(val => val === 'true' || (val === 'false' ? false : Boolean(val)));
30
- if ((props === null || props === void 0 ? void 0 : props.default) === undefined) {
32
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
33
+ if (props.default === undefined) {
31
34
  const parentRule = useParentRule.useParentRule();
32
- useRule.useRule(parentRule(pipe.pipe(...rules)));
35
+ useRule.useRule(parentRule(rule));
33
36
  }
34
37
  else {
35
- useRule.useRule(pipe.pipe(...rules));
38
+ useRule.useRule(rule);
36
39
  }
37
40
  };
38
41
 
@@ -11,9 +11,11 @@ import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
11
11
  import { dateTo } from '../../../utils/rules/dateTo/dateTo.es6.js';
12
12
  import { minDate } from '../../../utils/rules/minDate/minDate.es6.js';
13
13
  import { maxDate } from '../../../utils/rules/maxDate/maxDate.es6.js';
14
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
15
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
16
+ import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
14
17
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
15
18
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
16
- import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
17
19
 
18
20
  const date = () => {
19
21
  const { default: defaultValue, example, examples, max, min, value, values: values$1, ...props } = useProps() || {};
@@ -63,12 +65,13 @@ const date = () => {
63
65
  }
64
66
  if (!hasRules)
65
67
  return;
68
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
66
69
  if (defaultValue === undefined) {
67
70
  const parentRule = useParentRule();
68
- useRule(parentRule(pipe(...rules)));
71
+ useRule(parentRule(rule));
69
72
  }
70
73
  else {
71
- useRule(pipe(...rules));
74
+ useRule(rule);
72
75
  }
73
76
  };
74
77
 
@@ -15,9 +15,11 @@ var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
15
15
  var dateTo = require('../../../utils/rules/dateTo/dateTo.js');
16
16
  var minDate = require('../../../utils/rules/minDate/minDate.js');
17
17
  var maxDate = require('../../../utils/rules/maxDate/maxDate.js');
18
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
19
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
20
+ var pipe = require('../../../utils/rules/pipe/pipe.js');
18
21
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
19
22
  var useRule = require('../../../hooks/useRule/useRule.js');
20
- var pipe = require('../../../utils/rules/pipe/pipe.js');
21
23
 
22
24
  const date = () => {
23
25
  const { default: defaultValue, example, examples, max, min, value, values: values$1, ...props } = jsx.useProps() || {};
@@ -67,12 +69,13 @@ const date = () => {
67
69
  }
68
70
  if (!hasRules)
69
71
  return;
72
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
70
73
  if (defaultValue === undefined) {
71
74
  const parentRule = useParentRule.useParentRule();
72
- useRule.useRule(parentRule(pipe.pipe(...rules)));
75
+ useRule.useRule(parentRule(rule));
73
76
  }
74
77
  else {
75
- useRule.useRule(pipe.pipe(...rules));
78
+ useRule.useRule(rule);
76
79
  }
77
80
  };
78
81
 
@@ -8,9 +8,11 @@ import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
8
8
  import { int } from '../../../utils/rules/int/int.es6.js';
9
9
  import { min } from '../../../utils/rules/min/min.es6.js';
10
10
  import { max } from '../../../utils/rules/max/max.es6.js';
11
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
12
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
13
+ import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
11
14
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
12
15
  import { optional } from '../../../utils/rules/optional/optional.es6.js';
13
- import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
14
16
 
15
17
  const integer = () => {
16
18
  const { default: defaultValue, example, examples, exclusiveMaximum, exclusiveMinimum, format = 'int32', max: max$1, min: min$1, multipleOf, values: values$1, ...props } = useProps() || {};
@@ -60,11 +62,12 @@ const integer = () => {
60
62
  if (max$1 !== undefined) {
61
63
  rules.push(max(max$1));
62
64
  }
65
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
63
66
  if (defaultValue === undefined) {
64
- useRule(optional(pipe(...rules)));
67
+ useRule(optional(rule));
65
68
  }
66
69
  else {
67
- useRule(pipe(...rules));
70
+ useRule(rule);
68
71
  }
69
72
  };
70
73
 
@@ -12,9 +12,11 @@ var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
12
12
  var int = require('../../../utils/rules/int/int.js');
13
13
  var min = require('../../../utils/rules/min/min.js');
14
14
  var max = require('../../../utils/rules/max/max.js');
15
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
16
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
17
+ var pipe = require('../../../utils/rules/pipe/pipe.js');
15
18
  var useRule = require('../../../hooks/useRule/useRule.js');
16
19
  var optional = require('../../../utils/rules/optional/optional.js');
17
- var pipe = require('../../../utils/rules/pipe/pipe.js');
18
20
 
19
21
  const integer = () => {
20
22
  const { default: defaultValue, example, examples, exclusiveMaximum, exclusiveMinimum, format = 'int32', max: max$1, min: min$1, multipleOf, values: values$1, ...props } = jsx.useProps() || {};
@@ -64,11 +66,12 @@ const integer = () => {
64
66
  if (max$1 !== undefined) {
65
67
  rules.push(max.max(max$1));
66
68
  }
69
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
67
70
  if (defaultValue === undefined) {
68
- useRule.useRule(optional.optional(pipe.pipe(...rules)));
71
+ useRule.useRule(optional.optional(rule));
69
72
  }
70
73
  else {
71
- useRule.useRule(pipe.pipe(...rules));
74
+ useRule.useRule(rule);
72
75
  }
73
76
  };
74
77
 
@@ -9,9 +9,11 @@ import { num } from '../../../utils/rules/num/num.es6.js';
9
9
  import { values, getArrayValues } from '../../../utils/rules/values/values.es6.js';
10
10
  import { min } from '../../../utils/rules/min/min.es6.js';
11
11
  import { max } from '../../../utils/rules/max/max.es6.js';
12
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
13
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
14
+ import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
12
15
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
13
16
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
14
- import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
15
17
 
16
18
  const number = () => {
17
19
  const { exclusiveMaximum, exclusiveMinimum, format, max: max$1, min: min$1, multipleOf, ...props } = useProps() || {};
@@ -54,12 +56,13 @@ const number = () => {
54
56
  if (max$1 !== undefined) {
55
57
  rules.push(max(max$1));
56
58
  }
59
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
57
60
  if (props.default === undefined) {
58
61
  const rootRule = useParentRule();
59
- useRule(rootRule(pipe(...rules)));
62
+ useRule(rootRule(rule));
60
63
  }
61
64
  else {
62
- useRule(pipe(...rules));
65
+ useRule(rule);
63
66
  }
64
67
  };
65
68
 
@@ -13,9 +13,11 @@ var num = require('../../../utils/rules/num/num.js');
13
13
  var values = require('../../../utils/rules/values/values.js');
14
14
  var min = require('../../../utils/rules/min/min.js');
15
15
  var max = require('../../../utils/rules/max/max.js');
16
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
17
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
18
+ var pipe = require('../../../utils/rules/pipe/pipe.js');
16
19
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
17
20
  var useRule = require('../../../hooks/useRule/useRule.js');
18
- var pipe = require('../../../utils/rules/pipe/pipe.js');
19
21
 
20
22
  const number = () => {
21
23
  const { exclusiveMaximum, exclusiveMinimum, format, max: max$1, min: min$1, multipleOf, ...props } = jsx.useProps() || {};
@@ -58,12 +60,13 @@ const number = () => {
58
60
  if (max$1 !== undefined) {
59
61
  rules.push(max.max(max$1));
60
62
  }
63
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
61
64
  if (props.default === undefined) {
62
65
  const rootRule = useParentRule.useParentRule();
63
- useRule.useRule(rootRule(pipe.pipe(...rules)));
66
+ useRule.useRule(rootRule(rule));
64
67
  }
65
68
  else {
66
- useRule.useRule(pipe.pipe(...rules));
69
+ useRule.useRule(rule);
67
70
  }
68
71
  };
69
72
 
@@ -14,6 +14,8 @@ import { useEffect } from '../../../hooks/useEffect/useEffect.es6.js';
14
14
  import { getSafeSchema } from '../../../utils/getSafeSchema/getSafeSchema.es6.js';
15
15
  import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
16
16
  import { objectOf } from '../../../utils/rules/objectOf/objectOf.es6.js';
17
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
18
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
17
19
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
18
20
  import { useRule, ruleContext } from '../../../hooks/useRule/useRule.es6.js';
19
21
  import { objectRuleContext } from '../../../hooks/useObjectRule/useObjectRule.es6.js';
@@ -52,7 +54,7 @@ const object = () => {
52
54
  const parentRule = useParentRule();
53
55
  rules.push(parentRule(objectOf(rulesMap, restRule)));
54
56
  }
55
- const rule = pipe(...rules);
57
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
56
58
  if (props.ref) {
57
59
  refRules[props.ref] = rule;
58
60
  }
@@ -18,6 +18,8 @@ var useEffect = require('../../../hooks/useEffect/useEffect.js');
18
18
  var getSafeSchema = require('../../../utils/getSafeSchema/getSafeSchema.js');
19
19
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
20
20
  var objectOf = require('../../../utils/rules/objectOf/objectOf.js');
21
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
22
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
21
23
  var pipe = require('../../../utils/rules/pipe/pipe.js');
22
24
  var useRule = require('../../../hooks/useRule/useRule.js');
23
25
  var useObjectRule = require('../../../hooks/useObjectRule/useObjectRule.js');
@@ -56,7 +58,7 @@ const object = () => {
56
58
  const parentRule = useParentRule.useParentRule();
57
59
  rules.push(parentRule(objectOf.objectOf(rulesMap, restRule)));
58
60
  }
59
- const rule = pipe.pipe(...rules);
61
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
60
62
  if (props.ref) {
61
63
  refRules[props.ref] = rule;
62
64
  }
@@ -10,6 +10,8 @@ import { values, getArrayValues } from '../../../utils/rules/values/values.es6.j
10
10
  import { minLength } from '../../../utils/rules/minLength/minLength.es6.js';
11
11
  import { maxLength } from '../../../utils/rules/maxLength/maxLength.es6.js';
12
12
  import { pattern } from '../../../utils/rules/pattern/pattern.es6.js';
13
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
14
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
13
15
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
14
16
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
15
17
  import { useParentRule } from '../../../hooks/useParentRule/useParentRule.es6.js';
@@ -49,7 +51,7 @@ const string = () => {
49
51
  }
50
52
  if (!hasRules)
51
53
  return;
52
- const rule = pipe(...rules);
54
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
53
55
  if (props.ref) {
54
56
  refRules[props.ref] = rule;
55
57
  }
@@ -14,6 +14,8 @@ var values = require('../../../utils/rules/values/values.js');
14
14
  var minLength = require('../../../utils/rules/minLength/minLength.js');
15
15
  var maxLength = require('../../../utils/rules/maxLength/maxLength.js');
16
16
  var pattern = require('../../../utils/rules/pattern/pattern.js');
17
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
18
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
17
19
  var pipe = require('../../../utils/rules/pipe/pipe.js');
18
20
  var useRule = require('../../../hooks/useRule/useRule.js');
19
21
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
@@ -53,7 +55,7 @@ const string = () => {
53
55
  }
54
56
  if (!hasRules)
55
57
  return;
56
- const rule = pipe.pipe(...rules);
58
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
57
59
  if (props.ref) {
58
60
  refRules[props.ref] = rule;
59
61
  }
@@ -10,8 +10,10 @@ import { schemaContext } from '../../../hooks/useSchemaContext/useSchemaContext.
10
10
  import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
11
11
  import { tupleOf } from '../../../utils/rules/tupleOf/tupleOf.es6.js';
12
12
  import { useParentRule, parentRuleContext } from '../../../hooks/useParentRule/useParentRule.es6.js';
13
- import { useRule, ruleContext } from '../../../hooks/useRule/useRule.es6.js';
13
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
14
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
14
15
  import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
16
+ import { useRule, ruleContext } from '../../../hooks/useRule/useRule.es6.js';
15
17
  import { required } from '../../../utils/rules/required/required.es6.js';
16
18
  import { useEffect } from '../../../hooks/useEffect/useEffect.es6.js';
17
19
 
@@ -32,15 +34,14 @@ const tuple = () => {
32
34
  const rules = [];
33
35
  if (props.default !== undefined) {
34
36
  rules.push(defaultTo(props.default));
35
- }
36
- if (props.default !== undefined) {
37
37
  rules.push(tupleOf(rulesMap));
38
38
  }
39
39
  else {
40
40
  const parentRule = useParentRule();
41
41
  rules.push(parentRule(tupleOf(rulesMap)));
42
42
  }
43
- useRule(pipe(...rules));
43
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
44
+ useRule(rule);
44
45
  parentRuleContext.set(handler, rule => required(rule));
45
46
  ruleContext.set(handler, rule => {
46
47
  rulesMap.push(rule);
@@ -14,8 +14,10 @@ var useSchemaContext = require('../../../hooks/useSchemaContext/useSchemaContext
14
14
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
15
15
  var tupleOf = require('../../../utils/rules/tupleOf/tupleOf.js');
16
16
  var useParentRule = require('../../../hooks/useParentRule/useParentRule.js');
17
- var useRule = require('../../../hooks/useRule/useRule.js');
17
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
18
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
18
19
  var pipe = require('../../../utils/rules/pipe/pipe.js');
20
+ var useRule = require('../../../hooks/useRule/useRule.js');
19
21
  var required = require('../../../utils/rules/required/required.js');
20
22
  var useEffect = require('../../../hooks/useEffect/useEffect.js');
21
23
 
@@ -36,15 +38,14 @@ const tuple = () => {
36
38
  const rules = [];
37
39
  if (props.default !== undefined) {
38
40
  rules.push(defaultTo.defaultTo(props.default));
39
- }
40
- if (props.default !== undefined) {
41
41
  rules.push(tupleOf.tupleOf(rulesMap));
42
42
  }
43
43
  else {
44
44
  const parentRule = useParentRule.useParentRule();
45
45
  rules.push(parentRule(tupleOf.tupleOf(rulesMap)));
46
46
  }
47
- useRule.useRule(pipe.pipe(...rules));
47
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
48
+ useRule.useRule(rule);
48
49
  useParentRule.parentRuleContext.set(handler, rule => required.required(rule));
49
50
  useRule.ruleContext.set(handler, rule => {
50
51
  rulesMap.push(rule);
@@ -7,9 +7,11 @@ import { useSchemaType } from '../../../hooks/useSchemaType/useSchemaType.es6.js
7
7
  import { defaultTo } from '../../../utils/rules/defaultTo/defaultTo.es6.js';
8
8
  import { uuidTo } from '../../../utils/rules/uuidTo/uuidTo.es6.js';
9
9
  import { values, getArrayValues } from '../../../utils/rules/values/values.es6.js';
10
+ import { oneOf } from '../../../utils/rules/oneOf/oneOf.es6.js';
11
+ import { nullable } from '../../../utils/rules/nullable/nullable.es6.js';
12
+ import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
10
13
  import { useRule } from '../../../hooks/useRule/useRule.es6.js';
11
14
  import { optional } from '../../../utils/rules/optional/optional.es6.js';
12
- import { pipe } from '../../../utils/rules/pipe/pipe.es6.js';
13
15
 
14
16
  const uuid = () => {
15
17
  const { default: defaultValue, ...props } = useProps();
@@ -38,11 +40,12 @@ const uuid = () => {
38
40
  if (props.values) {
39
41
  rules.push(values(getArrayValues(props.values)));
40
42
  }
43
+ const rule = props.nullable ? oneOf([nullable, pipe(...rules)]) : pipe(...rules);
41
44
  if (defaultValue === undefined) {
42
- useRule(optional(pipe(...rules)));
45
+ useRule(optional(rule));
43
46
  }
44
47
  else {
45
- useRule(pipe(...rules));
48
+ useRule(rule);
46
49
  }
47
50
  };
48
51
 
@@ -11,9 +11,11 @@ var useSchemaType = require('../../../hooks/useSchemaType/useSchemaType.js');
11
11
  var defaultTo = require('../../../utils/rules/defaultTo/defaultTo.js');
12
12
  var uuidTo = require('../../../utils/rules/uuidTo/uuidTo.js');
13
13
  var values = require('../../../utils/rules/values/values.js');
14
+ var oneOf = require('../../../utils/rules/oneOf/oneOf.js');
15
+ var nullable = require('../../../utils/rules/nullable/nullable.js');
16
+ var pipe = require('../../../utils/rules/pipe/pipe.js');
14
17
  var useRule = require('../../../hooks/useRule/useRule.js');
15
18
  var optional = require('../../../utils/rules/optional/optional.js');
16
- var pipe = require('../../../utils/rules/pipe/pipe.js');
17
19
 
18
20
  const uuid = () => {
19
21
  const { default: defaultValue, ...props } = jsx.useProps();
@@ -42,11 +44,12 @@ const uuid = () => {
42
44
  if (props.values) {
43
45
  rules.push(values.values(values.getArrayValues(props.values)));
44
46
  }
47
+ const rule = props.nullable ? oneOf.oneOf([nullable.nullable, pipe.pipe(...rules)]) : pipe.pipe(...rules);
45
48
  if (defaultValue === undefined) {
46
- useRule.useRule(optional.optional(pipe.pipe(...rules)));
49
+ useRule.useRule(optional.optional(rule));
47
50
  }
48
51
  else {
49
- useRule.useRule(pipe.pipe(...rules));
52
+ useRule.useRule(rule);
50
53
  }
51
54
  };
52
55
 
@@ -13,7 +13,7 @@ function hasDefault(target) {
13
13
  function generateSchemaTypes(schema, spaces = 2, lastChar = '\n') {
14
14
  const space = [...new Array(spaces)].map(() => ' ').join('');
15
15
  if ('$ref' in schema) {
16
- return `Schemas.${schema.$ref.slice(21)}${lastChar}`;
16
+ return `Schemas['${schema.$ref.slice(21)}']${lastChar}`;
17
17
  }
18
18
  const types = Array.isArray(schema.type) ? schema.type : [schema.type];
19
19
  let scope = '';
@@ -17,7 +17,7 @@ function hasDefault(target) {
17
17
  function generateSchemaTypes(schema, spaces = 2, lastChar = '\n') {
18
18
  const space = [...new Array(spaces)].map(() => ' ').join('');
19
19
  if ('$ref' in schema) {
20
- return `Schemas.${schema.$ref.slice(21)}${lastChar}`;
20
+ return `Schemas['${schema.$ref.slice(21)}']${lastChar}`;
21
21
  }
22
22
  const types = Array.isArray(schema.type) ? schema.type : [schema.type];
23
23
  let scope = '';