Generated-output differences

quicktype output changed between the PR base and tested PR merge revisions.
← Back to the pull request
211test cases
215files differ
213modified
2new
0deleted
15,051changed lines
+7,548 −7,503insertions / deletions
Base 3df8d2010453809da42f3a516d959c56eb8ebe37 · PR merge 476fc8452359d52679402cd1e19b43ef57020516 · Head ea70809caf164b9f2cb5f08886efd0b587526d28 · raw patch
Test case

test/inputs/json/misc/00c36.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,24 +15,24 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Country;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['us', 'nyGdpMktpCD']);
19-const _Value = PropTypes.oneOfType(['unitedStates', 'gdpCurrentUS']);
18+const _ID = PropTypes.oneOf(["US", "NY.GDP.MKTP.CD"]);
19+const _Value = PropTypes.oneOf(["United States", "GDP (current US$)"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Country = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "country": _Country,
32- "date": PropTypes.string,
33- "decimal": PropTypes.string,
34- "indicator": _Country,
35- "value": PropTypes.string,
31+ "country": (...args) => _Country.isRequired(...args),
32+ "date": PropTypes.string.isRequired,
33+ "decimal": PropTypes.string.isRequired,
34+ "indicator": (...args) => _Country.isRequired(...args),
35+ "value": PropTypes.string.isRequired,
3636 });
3737
38-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
38+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/00ec5.json

1 generated file · +33 −33
Mjavascript-prop-typesdefault / toplevel.js+33 −33
@@ -24,62 +24,62 @@ let _Parameter;
2424 let _Responses;
2525 let _The200;
2626 let _Schema;
27-const _Type = PropTypes.oneOfType(['string']);
27+const _Type = PropTypes.oneOf(["string"]);
2828 _Schema = PropTypes.shape({
29- "$ref": PropTypes.string,
29+ "$ref": PropTypes.string.isRequired,
3030 });
3131 _The200 = PropTypes.shape({
32- "description": PropTypes.string,
33- "schema": _Schema,
32+ "description": PropTypes.string.isRequired,
33+ "schema": (...args) => _Schema.isRequired(...args),
3434 });
3535 _Responses = PropTypes.shape({
36- "200": _The200,
36+ "200": (...args) => _The200.isRequired(...args),
3737 });
3838 _Parameter = PropTypes.shape({
39- "description": PropTypes.string,
40- "format": _Type,
41- "in": PropTypes.string,
42- "name": PropTypes.string,
43- "required": PropTypes.bool,
44- "type": _Type,
39+ "description": PropTypes.string.isRequired,
40+ "format": _Type.isRequired,
41+ "in": PropTypes.string.isRequired,
42+ "name": PropTypes.string.isRequired,
43+ "required": PropTypes.bool.isRequired,
44+ "type": _Type.isRequired,
4545 });
4646 _Get = PropTypes.shape({
47- "description": PropTypes.string,
48- "parameters": PropTypes.arrayOf(_Parameter),
49- "responses": _Responses,
50- "summary": PropTypes.string,
51- "tags": PropTypes.arrayOf(PropTypes.string),
47+ "description": PropTypes.string.isRequired,
48+ "parameters": PropTypes.arrayOf((...args) => _Parameter(...args)).isRequired,
49+ "responses": (...args) => _Responses.isRequired(...args),
50+ "summary": PropTypes.string.isRequired,
51+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
5252 });
5353 _BusinessServiceProvidersSearch = PropTypes.shape({
54- "get": _Get,
54+ "get": (...args) => _Get.isRequired(...args),
5555 });
5656 _Paths = PropTypes.shape({
57- "/business_service_providers/search": _BusinessServiceProvidersSearch,
57+ "/business_service_providers/search": (...args) => _BusinessServiceProvidersSearch.isRequired(...args),
5858 });
5959 _Info = PropTypes.shape({
60- "description": PropTypes.string,
61- "title": PropTypes.string,
62- "version": PropTypes.string,
60+ "description": PropTypes.string.isRequired,
61+ "title": PropTypes.string.isRequired,
62+ "version": PropTypes.string.isRequired,
6363 });
6464 _Property = PropTypes.shape({
65- "description": PropTypes.string,
66- "type": _Type,
65+ "description": PropTypes.string.isRequired,
66+ "type": _Type.isRequired,
6767 });
6868 _Provider = PropTypes.shape({
69- "properties": PropTypes.object,
69+ "properties": PropTypes.object.isRequired,
7070 });
7171 _Definitions = PropTypes.shape({
72- "Provider": _Provider,
72+ "Provider": (...args) => _Provider.isRequired(...args),
7373 });
7474 _TopLevel = PropTypes.shape({
75- "basePath": PropTypes.string,
76- "definitions": _Definitions,
77- "host": PropTypes.string,
78- "info": _Info,
79- "paths": _Paths,
80- "produces": PropTypes.arrayOf(PropTypes.string),
81- "schemes": PropTypes.arrayOf(PropTypes.string),
82- "swagger": PropTypes.string,
75+ "basePath": PropTypes.string.isRequired,
76+ "definitions": (...args) => _Definitions.isRequired(...args),
77+ "host": PropTypes.string.isRequired,
78+ "info": (...args) => _Info.isRequired(...args),
79+ "paths": (...args) => _Paths.isRequired(...args),
80+ "produces": PropTypes.arrayOf(PropTypes.string).isRequired,
81+ "schemes": PropTypes.arrayOf(PropTypes.string).isRequired,
82+ "swagger": PropTypes.string.isRequired,
8383 });
8484
8585 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/010b1.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/016af.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/033b1.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/050b0.json

1 generated file · +21 −21
Mjavascript-prop-typesdefault / toplevel.js+21 −21
@@ -17,37 +17,37 @@ let _Identifier;
1717 let _Link;
1818 let _OtherName;
1919 let _Text;
20-const _Scheme = PropTypes.oneOfType(['dep5', 'spdx', 'trove']);
21-const _Keyword = PropTypes.oneOfType(['osiApproved', 'popular', 'permissive', 'copyleft']);
22-const _Note = PropTypes.oneOfType(['tlDRLegal', 'wikipediaPage', 'osiPage', 'noteWikipediaPage', 'mozillaPage']);
23-const _MediaType = PropTypes.oneOfType(['textHTML', 'textPlain']);
24-const _Title = PropTypes.oneOfType(['html', 'plainText']);
20+const _Scheme = PropTypes.oneOf(["DEP5", "SPDX", "Trove"]);
21+const _Keyword = PropTypes.oneOf(["osi-approved", "popular", "permissive", "copyleft"]);
22+const _Note = PropTypes.oneOf(["tl;dr legal", "Wikipedia page", "OSI Page", "Wikipedia Page", "Mozilla Page"]);
23+const _MediaType = PropTypes.oneOf(["text/html", "text/plain"]);
24+const _Title = PropTypes.oneOf(["HTML", "Plain Text"]);
2525 _Text = PropTypes.shape({
26- "media_type": _MediaType,
27- "title": _Title,
28- "url": PropTypes.string,
26+ "media_type": _MediaType.isRequired,
27+ "title": _Title.isRequired,
28+ "url": PropTypes.string.isRequired,
2929 });
3030 _OtherName = PropTypes.shape({
31- "name": PropTypes.string,
31+ "name": PropTypes.string.isRequired,
3232 "note": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3333 });
3434 _Link = PropTypes.shape({
35- "note": _Note,
36- "url": PropTypes.string,
35+ "note": _Note.isRequired,
36+ "url": PropTypes.string.isRequired,
3737 });
3838 _Identifier = PropTypes.shape({
39- "identifier": PropTypes.string,
40- "scheme": _Scheme,
39+ "identifier": PropTypes.string.isRequired,
40+ "scheme": _Scheme.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "id": PropTypes.string,
44- "identifiers": PropTypes.arrayOf(_Identifier),
45- "keywords": PropTypes.arrayOf(_Keyword),
46- "links": PropTypes.arrayOf(_Link),
47- "name": PropTypes.string,
48- "other_names": PropTypes.arrayOf(_OtherName),
43+ "id": PropTypes.string.isRequired,
44+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
45+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
46+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "other_names": PropTypes.arrayOf((...args) => _OtherName(...args)).isRequired,
4949 "superseded_by": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
50- "text": PropTypes.arrayOf(_Text),
50+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
5151 });
5252
53-export const TopLevel = PropTypes.arrayOf(_TopLevel);
53+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/06bee.json

1 generated file · +20 −20
Mjavascript-prop-typesdefault / toplevel.js+20 −20
@@ -16,33 +16,33 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Scheme = PropTypes.oneOfType(['spdx', 'trove', 'dep5']);
20-const _Keyword = PropTypes.oneOfType(['discouraged', 'nonReusable', 'osiApproved']);
21-const _Note = PropTypes.oneOfType(['osiPage']);
22-const _MediaType = PropTypes.oneOfType(['textHTML']);
23-const _Title = PropTypes.oneOfType(['html']);
19+const _Scheme = PropTypes.oneOf(["SPDX", "Trove", "DEP5"]);
20+const _Keyword = PropTypes.oneOf(["discouraged", "non-reusable", "osi-approved"]);
21+const _Note = PropTypes.oneOf(["OSI Page"]);
22+const _MediaType = PropTypes.oneOf(["text/html"]);
23+const _Title = PropTypes.oneOf(["HTML"]);
2424 _Text = PropTypes.shape({
25- "media_type": _MediaType,
26- "title": _Title,
27- "url": PropTypes.string,
25+ "media_type": _MediaType.isRequired,
26+ "title": _Title.isRequired,
27+ "url": PropTypes.string.isRequired,
2828 });
2929 _Link = PropTypes.shape({
30- "note": _Note,
31- "url": PropTypes.string,
30+ "note": _Note.isRequired,
31+ "url": PropTypes.string.isRequired,
3232 });
3333 _Identifier = PropTypes.shape({
34- "identifier": PropTypes.string,
35- "scheme": _Scheme,
34+ "identifier": PropTypes.string.isRequired,
35+ "scheme": _Scheme.isRequired,
3636 });
3737 _TopLevel = PropTypes.shape({
38- "id": PropTypes.string,
39- "identifiers": PropTypes.arrayOf(_Identifier),
40- "keywords": PropTypes.arrayOf(_Keyword),
41- "links": PropTypes.arrayOf(_Link),
42- "name": PropTypes.string,
43- "other_names": PropTypes.arrayOf(PropTypes.any),
38+ "id": PropTypes.string.isRequired,
39+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
40+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
41+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
42+ "name": PropTypes.string.isRequired,
43+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
4444 "superseded_by": PropTypes.any,
45- "text": PropTypes.arrayOf(_Text),
45+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4646 });
4747
48-export const TopLevel = PropTypes.arrayOf(_TopLevel);
48+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/07540.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -17,7 +17,7 @@ let _Cookies;
1717 _Cookies = PropTypes.shape({
1818 });
1919 _TopLevel = PropTypes.shape({
20- "cookies": _Cookies,
20+ "cookies": (...args) => _Cookies.isRequired(...args),
2121 });
2222
2323 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0779f.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/07c75.json

1 generated file · +15 −15
Mjavascript-prop-typesdefault / toplevel.js+15 −15
@@ -17,27 +17,27 @@ let _Identifier;
1717 let _Link;
1818 let _Text;
1919 _Text = PropTypes.shape({
20- "media_type": PropTypes.string,
21- "title": PropTypes.string,
22- "url": PropTypes.string,
20+ "media_type": PropTypes.string.isRequired,
21+ "title": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Link = PropTypes.shape({
25- "note": PropTypes.string,
26- "url": PropTypes.string,
25+ "note": PropTypes.string.isRequired,
26+ "url": PropTypes.string.isRequired,
2727 });
2828 _Identifier = PropTypes.shape({
29- "identifier": PropTypes.string,
30- "scheme": PropTypes.string,
29+ "identifier": PropTypes.string.isRequired,
30+ "scheme": PropTypes.string.isRequired,
3131 });
3232 _TopLevel = PropTypes.shape({
33- "id": PropTypes.string,
34- "identifiers": PropTypes.arrayOf(_Identifier),
35- "keywords": PropTypes.arrayOf(PropTypes.string),
36- "links": PropTypes.arrayOf(_Link),
37- "name": PropTypes.string,
38- "other_names": PropTypes.arrayOf(PropTypes.any),
33+ "id": PropTypes.string.isRequired,
34+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
35+ "keywords": PropTypes.arrayOf(PropTypes.string).isRequired,
36+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
37+ "name": PropTypes.string.isRequired,
38+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
3939 "superseded_by": PropTypes.any,
40- "text": PropTypes.arrayOf(_Text),
40+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4141 });
4242
43-export const TopLevel = PropTypes.arrayOf(_TopLevel);
43+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/09f54.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Datum;
1717 let _Description;
1818 _Description = PropTypes.shape({
19- "base_period": PropTypes.string,
20- "missing": PropTypes.number,
21- "title": PropTypes.string,
22- "units": PropTypes.string,
19+ "base_period": PropTypes.string.isRequired,
20+ "missing": PropTypes.number.isRequired,
21+ "title": PropTypes.string.isRequired,
22+ "units": PropTypes.string.isRequired,
2323 });
2424 _Datum = PropTypes.shape({
25- "anomaly": PropTypes.string,
26- "value": PropTypes.string,
25+ "anomaly": PropTypes.string.isRequired,
26+ "value": PropTypes.string.isRequired,
2727 });
2828 _TopLevel = PropTypes.shape({
29- "data": PropTypes.object,
30- "description": _Description,
29+ "data": PropTypes.object.isRequired,
30+ "description": (...args) => _Description.isRequired(...args),
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0a358.json

1 generated file · +13 −13
Mjavascript-prop-typesdefault / toplevel.js+13 −13
@@ -16,23 +16,23 @@ let _TopLevel;
1616 let _Facets;
1717 let _Result;
1818 _Result = PropTypes.shape({
19- "code": PropTypes.string,
20- "created_at": PropTypes.string,
21- "id": PropTypes.number,
22- "name": PropTypes.string,
23- "updated_at": PropTypes.string,
24- "uri": PropTypes.string,
19+ "code": PropTypes.string.isRequired,
20+ "created_at": PropTypes.string.isRequired,
21+ "id": PropTypes.number.isRequired,
22+ "name": PropTypes.string.isRequired,
23+ "updated_at": PropTypes.string.isRequired,
24+ "uri": PropTypes.string.isRequired,
2525 });
2626 _Facets = PropTypes.shape({
2727 });
2828 _TopLevel = PropTypes.shape({
29- "count": PropTypes.number,
30- "facets": _Facets,
31- "limit": PropTypes.number,
32- "next": PropTypes.string,
33- "offset": PropTypes.number,
34- "previous": PropTypes.bool,
35- "results": PropTypes.arrayOf(_Result),
29+ "count": PropTypes.number.isRequired,
30+ "facets": (...args) => _Facets.isRequired(...args),
31+ "limit": PropTypes.number.isRequired,
32+ "next": PropTypes.string.isRequired,
33+ "offset": PropTypes.number.isRequired,
34+ "previous": PropTypes.bool.isRequired,
35+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
3636 });
3737
3838 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0a91a.json

1 generated file · +161 −161
Mjavascript-prop-typesdefault / toplevel.js+161 −161
@@ -24,186 +24,186 @@ let _Base;
2424 let _BaseRepo;
2525 let _MergedBy;
2626 let _TopLevelRepo;
27-const _Type = PropTypes.oneOfType(['pushEvent', 'createEvent', 'watchEvent', 'pullRequestEvent', 'deleteEvent']);
27+const _Type = PropTypes.oneOf(["PushEvent", "CreateEvent", "WatchEvent", "PullRequestEvent", "DeleteEvent"]);
2828 _TopLevelRepo = PropTypes.shape({
29- "id": PropTypes.number,
30- "name": PropTypes.string,
31- "url": PropTypes.string,
29+ "id": PropTypes.number.isRequired,
30+ "name": PropTypes.string.isRequired,
31+ "url": PropTypes.string.isRequired,
3232 });
3333 _MergedBy = PropTypes.shape({
34- "avatar_url": PropTypes.string,
35- "events_url": PropTypes.string,
36- "followers_url": PropTypes.string,
37- "following_url": PropTypes.string,
38- "gists_url": PropTypes.string,
39- "gravatar_id": PropTypes.string,
40- "html_url": PropTypes.string,
41- "id": PropTypes.number,
42- "login": PropTypes.string,
43- "organizations_url": PropTypes.string,
44- "received_events_url": PropTypes.string,
45- "repos_url": PropTypes.string,
46- "site_admin": PropTypes.bool,
47- "starred_url": PropTypes.string,
48- "subscriptions_url": PropTypes.string,
49- "type": PropTypes.string,
50- "url": PropTypes.string,
34+ "avatar_url": PropTypes.string.isRequired,
35+ "events_url": PropTypes.string.isRequired,
36+ "followers_url": PropTypes.string.isRequired,
37+ "following_url": PropTypes.string.isRequired,
38+ "gists_url": PropTypes.string.isRequired,
39+ "gravatar_id": PropTypes.string.isRequired,
40+ "html_url": PropTypes.string.isRequired,
41+ "id": PropTypes.number.isRequired,
42+ "login": PropTypes.string.isRequired,
43+ "organizations_url": PropTypes.string.isRequired,
44+ "received_events_url": PropTypes.string.isRequired,
45+ "repos_url": PropTypes.string.isRequired,
46+ "site_admin": PropTypes.bool.isRequired,
47+ "starred_url": PropTypes.string.isRequired,
48+ "subscriptions_url": PropTypes.string.isRequired,
49+ "type": PropTypes.string.isRequired,
50+ "url": PropTypes.string.isRequired,
5151 });
5252 _BaseRepo = PropTypes.shape({
53- "archive_url": PropTypes.string,
54- "assignees_url": PropTypes.string,
55- "blobs_url": PropTypes.string,
56- "branches_url": PropTypes.string,
57- "clone_url": PropTypes.string,
58- "collaborators_url": PropTypes.string,
59- "comments_url": PropTypes.string,
60- "commits_url": PropTypes.string,
61- "compare_url": PropTypes.string,
62- "contents_url": PropTypes.string,
63- "contributors_url": PropTypes.string,
64- "created_at": PropTypes.string,
65- "default_branch": PropTypes.string,
66- "deployments_url": PropTypes.string,
53+ "archive_url": PropTypes.string.isRequired,
54+ "assignees_url": PropTypes.string.isRequired,
55+ "blobs_url": PropTypes.string.isRequired,
56+ "branches_url": PropTypes.string.isRequired,
57+ "clone_url": PropTypes.string.isRequired,
58+ "collaborators_url": PropTypes.string.isRequired,
59+ "comments_url": PropTypes.string.isRequired,
60+ "commits_url": PropTypes.string.isRequired,
61+ "compare_url": PropTypes.string.isRequired,
62+ "contents_url": PropTypes.string.isRequired,
63+ "contributors_url": PropTypes.string.isRequired,
64+ "created_at": PropTypes.string.isRequired,
65+ "default_branch": PropTypes.string.isRequired,
66+ "deployments_url": PropTypes.string.isRequired,
6767 "description": PropTypes.any,
68- "downloads_url": PropTypes.string,
69- "events_url": PropTypes.string,
70- "fork": PropTypes.bool,
71- "forks": PropTypes.number,
72- "forks_count": PropTypes.number,
73- "forks_url": PropTypes.string,
74- "full_name": PropTypes.string,
75- "git_commits_url": PropTypes.string,
76- "git_refs_url": PropTypes.string,
77- "git_tags_url": PropTypes.string,
78- "git_url": PropTypes.string,
79- "has_downloads": PropTypes.bool,
80- "has_issues": PropTypes.bool,
81- "has_pages": PropTypes.bool,
82- "has_projects": PropTypes.bool,
83- "has_wiki": PropTypes.bool,
68+ "downloads_url": PropTypes.string.isRequired,
69+ "events_url": PropTypes.string.isRequired,
70+ "fork": PropTypes.bool.isRequired,
71+ "forks": PropTypes.number.isRequired,
72+ "forks_count": PropTypes.number.isRequired,
73+ "forks_url": PropTypes.string.isRequired,
74+ "full_name": PropTypes.string.isRequired,
75+ "git_commits_url": PropTypes.string.isRequired,
76+ "git_refs_url": PropTypes.string.isRequired,
77+ "git_tags_url": PropTypes.string.isRequired,
78+ "git_url": PropTypes.string.isRequired,
79+ "has_downloads": PropTypes.bool.isRequired,
80+ "has_issues": PropTypes.bool.isRequired,
81+ "has_pages": PropTypes.bool.isRequired,
82+ "has_projects": PropTypes.bool.isRequired,
83+ "has_wiki": PropTypes.bool.isRequired,
8484 "homepage": PropTypes.any,
85- "hooks_url": PropTypes.string,
86- "html_url": PropTypes.string,
87- "id": PropTypes.number,
88- "issue_comment_url": PropTypes.string,
89- "issue_events_url": PropTypes.string,
90- "issues_url": PropTypes.string,
91- "keys_url": PropTypes.string,
92- "labels_url": PropTypes.string,
93- "language": PropTypes.string,
94- "languages_url": PropTypes.string,
95- "merges_url": PropTypes.string,
96- "milestones_url": PropTypes.string,
85+ "hooks_url": PropTypes.string.isRequired,
86+ "html_url": PropTypes.string.isRequired,
87+ "id": PropTypes.number.isRequired,
88+ "issue_comment_url": PropTypes.string.isRequired,
89+ "issue_events_url": PropTypes.string.isRequired,
90+ "issues_url": PropTypes.string.isRequired,
91+ "keys_url": PropTypes.string.isRequired,
92+ "labels_url": PropTypes.string.isRequired,
93+ "language": PropTypes.string.isRequired,
94+ "languages_url": PropTypes.string.isRequired,
95+ "merges_url": PropTypes.string.isRequired,
96+ "milestones_url": PropTypes.string.isRequired,
9797 "mirror_url": PropTypes.any,
98- "name": PropTypes.string,
99- "notifications_url": PropTypes.string,
100- "open_issues": PropTypes.number,
101- "open_issues_count": PropTypes.number,
102- "owner": _MergedBy,
103- "private": PropTypes.bool,
104- "pulls_url": PropTypes.string,
105- "pushed_at": PropTypes.string,
106- "releases_url": PropTypes.string,
107- "size": PropTypes.number,
108- "ssh_url": PropTypes.string,
109- "stargazers_count": PropTypes.number,
110- "stargazers_url": PropTypes.string,
111- "statuses_url": PropTypes.string,
112- "subscribers_url": PropTypes.string,
113- "subscription_url": PropTypes.string,
114- "svn_url": PropTypes.string,
115- "tags_url": PropTypes.string,
116- "teams_url": PropTypes.string,
117- "trees_url": PropTypes.string,
118- "updated_at": PropTypes.string,
119- "url": PropTypes.string,
120- "watchers": PropTypes.number,
121- "watchers_count": PropTypes.number,
98+ "name": PropTypes.string.isRequired,
99+ "notifications_url": PropTypes.string.isRequired,
100+ "open_issues": PropTypes.number.isRequired,
101+ "open_issues_count": PropTypes.number.isRequired,
102+ "owner": (...args) => _MergedBy.isRequired(...args),
103+ "private": PropTypes.bool.isRequired,
104+ "pulls_url": PropTypes.string.isRequired,
105+ "pushed_at": PropTypes.string.isRequired,
106+ "releases_url": PropTypes.string.isRequired,
107+ "size": PropTypes.number.isRequired,
108+ "ssh_url": PropTypes.string.isRequired,
109+ "stargazers_count": PropTypes.number.isRequired,
110+ "stargazers_url": PropTypes.string.isRequired,
111+ "statuses_url": PropTypes.string.isRequired,
112+ "subscribers_url": PropTypes.string.isRequired,
113+ "subscription_url": PropTypes.string.isRequired,
114+ "svn_url": PropTypes.string.isRequired,
115+ "tags_url": PropTypes.string.isRequired,
116+ "teams_url": PropTypes.string.isRequired,
117+ "trees_url": PropTypes.string.isRequired,
118+ "updated_at": PropTypes.string.isRequired,
119+ "url": PropTypes.string.isRequired,
120+ "watchers": PropTypes.number.isRequired,
121+ "watchers_count": PropTypes.number.isRequired,
122122 });
123123 _Base = PropTypes.shape({
124- "label": PropTypes.string,
125- "ref": PropTypes.string,
126- "repo": _BaseRepo,
127- "sha": PropTypes.string,
128- "user": _MergedBy,
124+ "label": PropTypes.string.isRequired,
125+ "ref": PropTypes.string.isRequired,
126+ "repo": (...args) => _BaseRepo.isRequired(...args),
127+ "sha": PropTypes.string.isRequired,
128+ "user": (...args) => _MergedBy.isRequired(...args),
129129 });
130130 _Comments = PropTypes.shape({
131- "href": PropTypes.string,
131+ "href": PropTypes.string.isRequired,
132132 });
133133 _Links = PropTypes.shape({
134- "comments": _Comments,
135- "commits": _Comments,
136- "html": _Comments,
137- "issue": _Comments,
138- "review_comment": _Comments,
139- "review_comments": _Comments,
140- "self": _Comments,
141- "statuses": _Comments,
134+ "comments": (...args) => _Comments.isRequired(...args),
135+ "commits": (...args) => _Comments.isRequired(...args),
136+ "html": (...args) => _Comments.isRequired(...args),
137+ "issue": (...args) => _Comments.isRequired(...args),
138+ "review_comment": (...args) => _Comments.isRequired(...args),
139+ "review_comments": (...args) => _Comments.isRequired(...args),
140+ "self": (...args) => _Comments.isRequired(...args),
141+ "statuses": (...args) => _Comments.isRequired(...args),
142142 });
143143 _PullRequest = PropTypes.shape({
144- "_links": _Links,
145- "additions": PropTypes.number,
144+ "_links": (...args) => _Links.isRequired(...args),
145+ "additions": PropTypes.number.isRequired,
146146 "assignee": PropTypes.any,
147- "assignees": PropTypes.arrayOf(PropTypes.any),
148- "base": _Base,
149- "body": PropTypes.string,
150- "changed_files": PropTypes.number,
151- "closed_at": PropTypes.string,
152- "comments": PropTypes.number,
153- "comments_url": PropTypes.string,
154- "commits": PropTypes.number,
155- "commits_url": PropTypes.string,
156- "created_at": PropTypes.string,
157- "deletions": PropTypes.number,
158- "diff_url": PropTypes.string,
159- "head": _Base,
160- "html_url": PropTypes.string,
161- "id": PropTypes.number,
162- "issue_url": PropTypes.string,
163- "locked": PropTypes.bool,
164- "maintainer_can_modify": PropTypes.bool,
165- "merge_commit_sha": PropTypes.string,
147+ "assignees": PropTypes.arrayOf(PropTypes.any).isRequired,
148+ "base": (...args) => _Base.isRequired(...args),
149+ "body": PropTypes.string.isRequired,
150+ "changed_files": PropTypes.number.isRequired,
151+ "closed_at": PropTypes.string.isRequired,
152+ "comments": PropTypes.number.isRequired,
153+ "comments_url": PropTypes.string.isRequired,
154+ "commits": PropTypes.number.isRequired,
155+ "commits_url": PropTypes.string.isRequired,
156+ "created_at": PropTypes.string.isRequired,
157+ "deletions": PropTypes.number.isRequired,
158+ "diff_url": PropTypes.string.isRequired,
159+ "head": (...args) => _Base.isRequired(...args),
160+ "html_url": PropTypes.string.isRequired,
161+ "id": PropTypes.number.isRequired,
162+ "issue_url": PropTypes.string.isRequired,
163+ "locked": PropTypes.bool.isRequired,
164+ "maintainer_can_modify": PropTypes.bool.isRequired,
165+ "merge_commit_sha": PropTypes.string.isRequired,
166166 "mergeable": PropTypes.any,
167- "mergeable_state": PropTypes.string,
168- "merged": PropTypes.bool,
169- "merged_at": PropTypes.string,
170- "merged_by": _MergedBy,
167+ "mergeable_state": PropTypes.string.isRequired,
168+ "merged": PropTypes.bool.isRequired,
169+ "merged_at": PropTypes.string.isRequired,
170+ "merged_by": (...args) => _MergedBy.isRequired(...args),
171171 "milestone": PropTypes.any,
172- "number": PropTypes.number,
173- "patch_url": PropTypes.string,
172+ "number": PropTypes.number.isRequired,
173+ "patch_url": PropTypes.string.isRequired,
174174 "rebaseable": PropTypes.any,
175- "requested_reviewers": PropTypes.arrayOf(PropTypes.any),
176- "review_comment_url": PropTypes.string,
177- "review_comments": PropTypes.number,
178- "review_comments_url": PropTypes.string,
179- "state": PropTypes.string,
180- "statuses_url": PropTypes.string,
181- "title": PropTypes.string,
182- "updated_at": PropTypes.string,
183- "url": PropTypes.string,
184- "user": _MergedBy,
175+ "requested_reviewers": PropTypes.arrayOf(PropTypes.any).isRequired,
176+ "review_comment_url": PropTypes.string.isRequired,
177+ "review_comments": PropTypes.number.isRequired,
178+ "review_comments_url": PropTypes.string.isRequired,
179+ "state": PropTypes.string.isRequired,
180+ "statuses_url": PropTypes.string.isRequired,
181+ "title": PropTypes.string.isRequired,
182+ "updated_at": PropTypes.string.isRequired,
183+ "url": PropTypes.string.isRequired,
184+ "user": (...args) => _MergedBy.isRequired(...args),
185185 });
186186 _Author = PropTypes.shape({
187- "email": PropTypes.string,
188- "name": PropTypes.string,
187+ "email": PropTypes.string.isRequired,
188+ "name": PropTypes.string.isRequired,
189189 });
190190 _Commit = PropTypes.shape({
191- "author": _Author,
192- "distinct": PropTypes.bool,
193- "message": PropTypes.string,
194- "sha": PropTypes.string,
195- "url": PropTypes.string,
191+ "author": (...args) => _Author.isRequired(...args),
192+ "distinct": PropTypes.bool.isRequired,
193+ "message": PropTypes.string.isRequired,
194+ "sha": PropTypes.string.isRequired,
195+ "url": PropTypes.string.isRequired,
196196 });
197197 _Payload = PropTypes.shape({
198198 "action": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
199199 "before": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
200- "commits": PropTypes.oneOfType([PropTypes.arrayOf(_Commit), PropTypes.any]),
200+ "commits": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Commit(...args)), PropTypes.any]),
201201 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
202202 "distinct_size": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
203203 "head": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
204204 "master_branch": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
205205 "number": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
206- "pull_request": PropTypes.oneOfType([_PullRequest, PropTypes.any]),
206+ "pull_request": PropTypes.oneOfType([(...args) => _PullRequest(...args), PropTypes.any]),
207207 "push_id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
208208 "pusher_type": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
209209 "ref": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -211,22 +211,22 @@ _Payload = PropTypes.shape({
211211 "size": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
212212 });
213213 _Actor = PropTypes.shape({
214- "avatar_url": PropTypes.string,
214+ "avatar_url": PropTypes.string.isRequired,
215215 "display_login": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
216- "gravatar_id": PropTypes.string,
217- "id": PropTypes.number,
218- "login": PropTypes.string,
219- "url": PropTypes.string,
216+ "gravatar_id": PropTypes.string.isRequired,
217+ "id": PropTypes.number.isRequired,
218+ "login": PropTypes.string.isRequired,
219+ "url": PropTypes.string.isRequired,
220220 });
221221 _TopLevel = PropTypes.shape({
222- "actor": _Actor,
223- "created_at": PropTypes.string,
224- "id": PropTypes.string,
225- "org": PropTypes.oneOfType([_Actor, PropTypes.any]),
226- "payload": _Payload,
227- "public": PropTypes.bool,
228- "repo": _TopLevelRepo,
229- "type": _Type,
222+ "actor": (...args) => _Actor.isRequired(...args),
223+ "created_at": PropTypes.string.isRequired,
224+ "id": PropTypes.string.isRequired,
225+ "org": PropTypes.oneOfType([(...args) => _Actor(...args), PropTypes.any]),
226+ "payload": (...args) => _Payload.isRequired(...args),
227+ "public": PropTypes.bool.isRequired,
228+ "repo": (...args) => _TopLevelRepo.isRequired(...args),
229+ "type": _Type.isRequired,
230230 });
231231
232-export const TopLevel = PropTypes.arrayOf(_TopLevel);
232+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/0b91a.json

1 generated file · +24 −24
Mjavascript-prop-typesdefault / toplevel.js+24 −24
@@ -19,42 +19,42 @@ let _Resultset;
1919 let _Result;
2020 let _Component;
2121 _Component = PropTypes.shape({
22- "name": PropTypes.string,
23- "uuid": PropTypes.string,
22+ "name": PropTypes.string.isRequired,
23+ "uuid": PropTypes.string.isRequired,
2424 });
2525 _Result = PropTypes.shape({
26- "attachment": PropTypes.arrayOf(PropTypes.any),
27- "body": PropTypes.string,
28- "changed": PropTypes.string,
29- "component": PropTypes.arrayOf(_Component),
30- "created": PropTypes.string,
31- "date": PropTypes.string,
32- "image": PropTypes.arrayOf(PropTypes.any),
26+ "attachment": PropTypes.arrayOf(PropTypes.any).isRequired,
27+ "body": PropTypes.string.isRequired,
28+ "changed": PropTypes.string.isRequired,
29+ "component": PropTypes.arrayOf((...args) => _Component(...args)).isRequired,
30+ "created": PropTypes.string.isRequired,
31+ "date": PropTypes.string.isRequired,
32+ "image": PropTypes.arrayOf(PropTypes.any).isRequired,
3333 "number": PropTypes.any,
3434 "teaser": PropTypes.any,
35- "title": PropTypes.string,
36- "topic": PropTypes.arrayOf(PropTypes.any),
37- "url": PropTypes.string,
38- "uuid": PropTypes.string,
39- "vuuid": PropTypes.string,
35+ "title": PropTypes.string.isRequired,
36+ "topic": PropTypes.arrayOf(PropTypes.any).isRequired,
37+ "url": PropTypes.string.isRequired,
38+ "uuid": PropTypes.string.isRequired,
39+ "vuuid": PropTypes.string.isRequired,
4040 });
4141 _Resultset = PropTypes.shape({
42- "count": PropTypes.number,
43- "page": PropTypes.number,
44- "pagesize": PropTypes.number,
42+ "count": PropTypes.number.isRequired,
43+ "page": PropTypes.number.isRequired,
44+ "pagesize": PropTypes.number.isRequired,
4545 });
4646 _ResponseInfo = PropTypes.shape({
47- "developerMessage": PropTypes.string,
48- "status": PropTypes.number,
47+ "developerMessage": PropTypes.string.isRequired,
48+ "status": PropTypes.number.isRequired,
4949 });
5050 _Metadata = PropTypes.shape({
51- "executionTime": PropTypes.number,
52- "responseInfo": _ResponseInfo,
53- "resultset": _Resultset,
51+ "executionTime": PropTypes.number.isRequired,
52+ "responseInfo": (...args) => _ResponseInfo.isRequired(...args),
53+ "resultset": (...args) => _Resultset.isRequired(...args),
5454 });
5555 _TopLevel = PropTypes.shape({
56- "metadata": _Metadata,
57- "results": PropTypes.arrayOf(_Result),
56+ "metadata": (...args) => _Metadata.isRequired(...args),
57+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
5858 });
5959
6060 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0cffa.json

1 generated file · +74 −74
Mjavascript-prop-typesdefault / toplevel.js+74 −74
@@ -22,104 +22,104 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g', 'pg']);
26-const _Type = PropTypes.oneOfType(['gif']);
27-const _Username = PropTypes.oneOfType(['cheezburger', 'empty', 'natgeowild', 'nowthis']);
25+const _Rating = PropTypes.oneOf(["g", "pg"]);
26+const _Type = PropTypes.oneOf(["gif"]);
27+const _Username = PropTypes.oneOf(["cheezburger", "", "natgeowild", "nowthis"]);
2828 _Pagination = PropTypes.shape({
29- "count": PropTypes.number,
30- "offset": PropTypes.number,
31- "total_count": PropTypes.number,
29+ "count": PropTypes.number.isRequired,
30+ "offset": PropTypes.number.isRequired,
31+ "total_count": PropTypes.number.isRequired,
3232 });
3333 _Meta = PropTypes.shape({
34- "msg": PropTypes.string,
35- "response_id": PropTypes.string,
36- "status": PropTypes.number,
34+ "msg": PropTypes.string.isRequired,
35+ "response_id": PropTypes.string.isRequired,
36+ "status": PropTypes.number.isRequired,
3737 });
3838 _User = PropTypes.shape({
39- "avatar_url": PropTypes.string,
40- "banner_url": PropTypes.string,
41- "display_name": PropTypes.string,
42- "profile_url": PropTypes.string,
43- "twitter": PropTypes.string,
44- "username": _Username,
39+ "avatar_url": PropTypes.string.isRequired,
40+ "banner_url": PropTypes.string.isRequired,
41+ "display_name": PropTypes.string.isRequired,
42+ "profile_url": PropTypes.string.isRequired,
43+ "twitter": PropTypes.string.isRequired,
44+ "username": _Username.isRequired,
4545 });
4646 _Looping = PropTypes.shape({
47- "mp4": PropTypes.string,
48- "mp4_size": PropTypes.string,
47+ "mp4": PropTypes.string.isRequired,
48+ "mp4_size": PropTypes.string.isRequired,
4949 });
5050 _FixedHeight = PropTypes.shape({
5151 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5252 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "height": PropTypes.string,
53+ "height": PropTypes.string.isRequired,
5454 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5555 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
56- "size": PropTypes.string,
57- "url": PropTypes.string,
58- "webp": PropTypes.string,
59- "webp_size": PropTypes.string,
60- "width": PropTypes.string,
56+ "size": PropTypes.string.isRequired,
57+ "url": PropTypes.string.isRequired,
58+ "webp": PropTypes.string.isRequired,
59+ "webp_size": PropTypes.string.isRequired,
60+ "width": PropTypes.string.isRequired,
6161 });
6262 _DownsizedSmall = PropTypes.shape({
63- "height": PropTypes.string,
64- "mp4": PropTypes.string,
65- "mp4_size": PropTypes.string,
66- "width": PropTypes.string,
63+ "height": PropTypes.string.isRequired,
64+ "mp4": PropTypes.string.isRequired,
65+ "mp4_size": PropTypes.string.isRequired,
66+ "width": PropTypes.string.isRequired,
6767 });
6868 _Downsized = PropTypes.shape({
69- "height": PropTypes.string,
69+ "height": PropTypes.string.isRequired,
7070 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
71- "url": PropTypes.string,
72- "width": PropTypes.string,
71+ "url": PropTypes.string.isRequired,
72+ "width": PropTypes.string.isRequired,
7373 });
7474 _Images = PropTypes.shape({
75- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
76- "downsized": _Downsized,
77- "downsized_large": _Downsized,
78- "downsized_medium": _Downsized,
79- "downsized_small": _DownsizedSmall,
80- "downsized_still": _Downsized,
81- "fixed_height": _FixedHeight,
82- "fixed_height_downsampled": _FixedHeight,
83- "fixed_height_small": _FixedHeight,
84- "fixed_height_small_still": _Downsized,
85- "fixed_height_still": _Downsized,
86- "fixed_width": _FixedHeight,
87- "fixed_width_downsampled": _FixedHeight,
88- "fixed_width_small": _FixedHeight,
89- "fixed_width_small_still": _Downsized,
90- "fixed_width_still": _Downsized,
91- "looping": _Looping,
92- "original": _FixedHeight,
93- "original_mp4": _DownsizedSmall,
94- "original_still": _Downsized,
95- "preview": _DownsizedSmall,
96- "preview_gif": _Downsized,
97- "preview_webp": _Downsized,
75+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
76+ "downsized": (...args) => _Downsized.isRequired(...args),
77+ "downsized_large": (...args) => _Downsized.isRequired(...args),
78+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
79+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
80+ "downsized_still": (...args) => _Downsized.isRequired(...args),
81+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
84+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
86+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
89+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
90+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
91+ "looping": (...args) => _Looping.isRequired(...args),
92+ "original": (...args) => _FixedHeight.isRequired(...args),
93+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
94+ "original_still": (...args) => _Downsized.isRequired(...args),
95+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
96+ "preview_gif": (...args) => _Downsized.isRequired(...args),
97+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9898 });
9999 _Datum = PropTypes.shape({
100- "bitly_gif_url": PropTypes.string,
101- "bitly_url": PropTypes.string,
102- "content_url": PropTypes.string,
103- "embed_url": PropTypes.string,
104- "id": PropTypes.string,
105- "images": _Images,
106- "import_datetime": PropTypes.string,
107- "is_indexable": PropTypes.number,
108- "rating": _Rating,
109- "slug": PropTypes.string,
110- "source": PropTypes.string,
111- "source_post_url": PropTypes.string,
112- "source_tld": PropTypes.string,
113- "trending_datetime": PropTypes.string,
114- "type": _Type,
115- "url": PropTypes.string,
116- "user": PropTypes.oneOfType([_User, PropTypes.any]),
117- "username": _Username,
100+ "bitly_gif_url": PropTypes.string.isRequired,
101+ "bitly_url": PropTypes.string.isRequired,
102+ "content_url": PropTypes.string.isRequired,
103+ "embed_url": PropTypes.string.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "images": (...args) => _Images.isRequired(...args),
106+ "import_datetime": PropTypes.string.isRequired,
107+ "is_indexable": PropTypes.number.isRequired,
108+ "rating": _Rating.isRequired,
109+ "slug": PropTypes.string.isRequired,
110+ "source": PropTypes.string.isRequired,
111+ "source_post_url": PropTypes.string.isRequired,
112+ "source_tld": PropTypes.string.isRequired,
113+ "trending_datetime": PropTypes.string.isRequired,
114+ "type": _Type.isRequired,
115+ "url": PropTypes.string.isRequired,
116+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
117+ "username": _Username.isRequired,
118118 });
119119 _TopLevel = PropTypes.shape({
120- "data": PropTypes.arrayOf(_Datum),
121- "meta": _Meta,
122- "pagination": _Pagination,
120+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
121+ "meta": (...args) => _Meta.isRequired(...args),
122+ "pagination": (...args) => _Pagination.isRequired(...args),
123123 });
124124
125125 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0e0c2.json

1 generated file · +46 −46
Mjavascript-prop-typesdefault / toplevel.js+46 −46
@@ -20,69 +20,69 @@ let _FavMovie;
2020 let _Image;
2121 let _Video;
2222 let _VoteScore;
23-const _DetailLanguage = PropTypes.oneOfType(['en', 'th']);
24-const _Type = PropTypes.oneOfType(['poster', 'backdrop']);
25-const _ResultLanguage = PropTypes.oneOfType(['en', 'empty']);
23+const _DetailLanguage = PropTypes.oneOf(["en", "th"]);
24+const _Type = PropTypes.oneOf(["Poster", "Backdrop"]);
25+const _ResultLanguage = PropTypes.oneOf(["en", "-"]);
2626 _VoteScore = PropTypes.shape({
27- "avg": PropTypes.number,
28- "score": PropTypes.number,
29- "total": PropTypes.number,
27+ "avg": PropTypes.number.isRequired,
28+ "score": PropTypes.number.isRequired,
29+ "total": PropTypes.number.isRequired,
3030 });
3131 _Video = PropTypes.shape({
32- "kind": PropTypes.string,
33- "language": _ResultLanguage,
34- "source": PropTypes.string,
35- "url": PropTypes.string,
32+ "kind": PropTypes.string.isRequired,
33+ "language": _ResultLanguage.isRequired,
34+ "source": PropTypes.string.isRequired,
35+ "url": PropTypes.string.isRequired,
3636 });
3737 _Image = PropTypes.shape({
38- "favs": PropTypes.number,
39- "id": PropTypes.number,
40- "thumbnail": PropTypes.string,
41- "type": _Type,
42- "url": PropTypes.string,
38+ "favs": PropTypes.number.isRequired,
39+ "id": PropTypes.number.isRequired,
40+ "thumbnail": PropTypes.string.isRequired,
41+ "type": _Type.isRequired,
42+ "url": PropTypes.string.isRequired,
4343 });
4444 _FavMovie = PropTypes.shape({
45- "follow": PropTypes.bool,
46- "star": PropTypes.bool,
47- "watched": PropTypes.bool,
45+ "follow": PropTypes.bool.isRequired,
46+ "star": PropTypes.bool.isRequired,
47+ "watched": PropTypes.bool.isRequired,
4848 });
4949 _Detail = PropTypes.shape({
50- "cast": PropTypes.string,
51- "director": PropTypes.string,
52- "id": PropTypes.number,
53- "language": _DetailLanguage,
54- "storyline": PropTypes.string,
55- "tagline": PropTypes.string,
56- "title": PropTypes.string,
50+ "cast": PropTypes.string.isRequired,
51+ "director": PropTypes.string.isRequired,
52+ "id": PropTypes.number.isRequired,
53+ "language": _DetailLanguage.isRequired,
54+ "storyline": PropTypes.string.isRequired,
55+ "tagline": PropTypes.string.isRequired,
56+ "title": PropTypes.string.isRequired,
5757 });
5858 _Collection = PropTypes.shape({
59- "id": PropTypes.number,
60- "movies": PropTypes.arrayOf(PropTypes.number),
61- "name": PropTypes.string,
62- "slug": PropTypes.string,
59+ "id": PropTypes.number.isRequired,
60+ "movies": PropTypes.arrayOf(PropTypes.number).isRequired,
61+ "name": PropTypes.string.isRequired,
62+ "slug": PropTypes.string.isRequired,
6363 });
6464 _Result = PropTypes.shape({
65- "active_screens": PropTypes.number,
66- "collections": PropTypes.arrayOf(_Collection),
67- "details": PropTypes.arrayOf(_Detail),
68- "duration": PropTypes.number,
69- "fav_movie": _FavMovie,
70- "id": PropTypes.number,
71- "images": PropTypes.arrayOf(_Image),
72- "language": _ResultLanguage,
73- "release_date": PropTypes.string,
74- "stars": PropTypes.number,
65+ "active_screens": PropTypes.number.isRequired,
66+ "collections": PropTypes.arrayOf((...args) => _Collection(...args)).isRequired,
67+ "details": PropTypes.arrayOf((...args) => _Detail(...args)).isRequired,
68+ "duration": PropTypes.number.isRequired,
69+ "fav_movie": (...args) => _FavMovie.isRequired(...args),
70+ "id": PropTypes.number.isRequired,
71+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
72+ "language": _ResultLanguage.isRequired,
73+ "release_date": PropTypes.string.isRequired,
74+ "stars": PropTypes.number.isRequired,
7575 "tags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any]),
76- "title": PropTypes.string,
77- "videos": PropTypes.arrayOf(_Video),
78- "vote_score": _VoteScore,
79- "watches": PropTypes.number,
76+ "title": PropTypes.string.isRequired,
77+ "videos": PropTypes.arrayOf((...args) => _Video(...args)).isRequired,
78+ "vote_score": (...args) => _VoteScore.isRequired(...args),
79+ "watches": PropTypes.number.isRequired,
8080 });
8181 _TopLevel = PropTypes.shape({
82- "count": PropTypes.number,
83- "next": PropTypes.string,
82+ "count": PropTypes.number.isRequired,
83+ "next": PropTypes.string.isRequired,
8484 "previous": PropTypes.any,
85- "results": PropTypes.arrayOf(_Result),
85+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
8686 });
8787
8888 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/0fecf.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -14,7 +14,7 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "countries": PropTypes.arrayOf(PropTypes.string),
17+ "countries": PropTypes.arrayOf(PropTypes.string).isRequired,
1818 });
1919
2020 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/10be4.json

1 generated file · +21 −21
Mjavascript-prop-typesdefault / toplevel.js+21 −21
@@ -17,37 +17,37 @@ let _Identifier;
1717 let _Link;
1818 let _OtherName;
1919 let _Text;
20-const _Scheme = PropTypes.oneOfType(['spdx', 'trove', 'dep5']);
21-const _Keyword = PropTypes.oneOfType(['osiApproved', 'discouraged', 'redundant', 'miscellaneous', 'nonReusable', 'obsolete', 'popular', 'permissive', 'retired', 'specialPurpose', 'copyleft', 'international']);
22-const _Note = PropTypes.oneOfType(['osiPage', 'tlDRLegal', 'wikipediaPage', 'noteWikipediaPage', 'mozillaPage', 'osetFoundationPage']);
23-const _MediaType = PropTypes.oneOfType(['textHTML', 'textPlain', 'applicationPDF']);
24-const _Title = PropTypes.oneOfType(['html', 'plainText', 'pdf']);
20+const _Scheme = PropTypes.oneOf(["SPDX", "Trove", "DEP5"]);
21+const _Keyword = PropTypes.oneOf(["osi-approved", "discouraged", "redundant", "miscellaneous", "non-reusable", "obsolete", "popular", "permissive", "retired", "special-purpose", "copyleft", "international"]);
22+const _Note = PropTypes.oneOf(["OSI Page", "tl;dr legal", "Wikipedia page", "Wikipedia Page", "Mozilla Page", "OSET Foundation Page"]);
23+const _MediaType = PropTypes.oneOf(["text/html", "text/plain", "application/pdf"]);
24+const _Title = PropTypes.oneOf(["HTML", "Plain Text", "PDF"]);
2525 _Text = PropTypes.shape({
26- "media_type": _MediaType,
27- "title": _Title,
28- "url": PropTypes.string,
26+ "media_type": _MediaType.isRequired,
27+ "title": _Title.isRequired,
28+ "url": PropTypes.string.isRequired,
2929 });
3030 _OtherName = PropTypes.shape({
31- "name": PropTypes.string,
31+ "name": PropTypes.string.isRequired,
3232 "note": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3333 });
3434 _Link = PropTypes.shape({
35- "note": _Note,
36- "url": PropTypes.string,
35+ "note": _Note.isRequired,
36+ "url": PropTypes.string.isRequired,
3737 });
3838 _Identifier = PropTypes.shape({
39- "identifier": PropTypes.string,
40- "scheme": _Scheme,
39+ "identifier": PropTypes.string.isRequired,
40+ "scheme": _Scheme.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "id": PropTypes.string,
44- "identifiers": PropTypes.arrayOf(_Identifier),
45- "keywords": PropTypes.arrayOf(_Keyword),
46- "links": PropTypes.arrayOf(_Link),
47- "name": PropTypes.string,
48- "other_names": PropTypes.arrayOf(_OtherName),
43+ "id": PropTypes.string.isRequired,
44+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
45+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
46+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "other_names": PropTypes.arrayOf((...args) => _OtherName(...args)).isRequired,
4949 "superseded_by": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
50- "text": PropTypes.arrayOf(_Text),
50+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
5151 });
5252
53-export const TopLevel = PropTypes.arrayOf(_TopLevel);
53+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/112b5.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Args;
1717 let _Headers;
1818 _Headers = PropTypes.shape({
19- "Accept-Encoding": PropTypes.string,
20- "Connection": PropTypes.string,
21- "Host": PropTypes.string,
22- "User-Agent": PropTypes.string,
19+ "Accept-Encoding": PropTypes.string.isRequired,
20+ "Connection": PropTypes.string.isRequired,
21+ "Host": PropTypes.string.isRequired,
22+ "User-Agent": PropTypes.string.isRequired,
2323 });
2424 _Args = PropTypes.shape({
2525 });
2626 _TopLevel = PropTypes.shape({
27- "args": _Args,
28- "headers": _Headers,
29- "origin": PropTypes.string,
30- "url": PropTypes.string,
27+ "args": (...args) => _Args.isRequired(...args),
28+ "headers": (...args) => _Headers.isRequired(...args),
29+ "origin": PropTypes.string.isRequired,
30+ "url": PropTypes.string.isRequired,
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/127a1.json

1 generated file · +73 −73
Mjavascript-prop-typesdefault / toplevel.js+73 −73
@@ -22,104 +22,104 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g']);
26-const _Type = PropTypes.oneOfType(['gif']);
27-const _Username = PropTypes.oneOfType(['empty', 'thedailyshow', 'studiosoriginals', 'disneyzootopia']);
25+const _Rating = PropTypes.oneOf(["g"]);
26+const _Type = PropTypes.oneOf(["gif"]);
27+const _Username = PropTypes.oneOf(["", "thedailyshow", "studiosoriginals", "disneyzootopia"]);
2828 _Pagination = PropTypes.shape({
29- "count": PropTypes.number,
30- "offset": PropTypes.number,
31- "total_count": PropTypes.number,
29+ "count": PropTypes.number.isRequired,
30+ "offset": PropTypes.number.isRequired,
31+ "total_count": PropTypes.number.isRequired,
3232 });
3333 _Meta = PropTypes.shape({
34- "msg": PropTypes.string,
35- "response_id": PropTypes.string,
36- "status": PropTypes.number,
34+ "msg": PropTypes.string.isRequired,
35+ "response_id": PropTypes.string.isRequired,
36+ "status": PropTypes.number.isRequired,
3737 });
3838 _User = PropTypes.shape({
39- "avatar_url": PropTypes.string,
40- "banner_url": PropTypes.string,
41- "display_name": PropTypes.string,
42- "profile_url": PropTypes.string,
39+ "avatar_url": PropTypes.string.isRequired,
40+ "banner_url": PropTypes.string.isRequired,
41+ "display_name": PropTypes.string.isRequired,
42+ "profile_url": PropTypes.string.isRequired,
4343 "twitter": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
44- "username": _Username,
44+ "username": _Username.isRequired,
4545 });
4646 _Looping = PropTypes.shape({
47- "mp4": PropTypes.string,
48- "mp4_size": PropTypes.string,
47+ "mp4": PropTypes.string.isRequired,
48+ "mp4_size": PropTypes.string.isRequired,
4949 });
5050 _FixedHeight = PropTypes.shape({
5151 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5252 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "height": PropTypes.string,
53+ "height": PropTypes.string.isRequired,
5454 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5555 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
56- "size": PropTypes.string,
57- "url": PropTypes.string,
58- "webp": PropTypes.string,
59- "webp_size": PropTypes.string,
60- "width": PropTypes.string,
56+ "size": PropTypes.string.isRequired,
57+ "url": PropTypes.string.isRequired,
58+ "webp": PropTypes.string.isRequired,
59+ "webp_size": PropTypes.string.isRequired,
60+ "width": PropTypes.string.isRequired,
6161 });
6262 _DownsizedSmall = PropTypes.shape({
63- "height": PropTypes.string,
64- "mp4": PropTypes.string,
65- "mp4_size": PropTypes.string,
66- "width": PropTypes.string,
63+ "height": PropTypes.string.isRequired,
64+ "mp4": PropTypes.string.isRequired,
65+ "mp4_size": PropTypes.string.isRequired,
66+ "width": PropTypes.string.isRequired,
6767 });
6868 _Downsized = PropTypes.shape({
69- "height": PropTypes.string,
69+ "height": PropTypes.string.isRequired,
7070 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
71- "url": PropTypes.string,
72- "width": PropTypes.string,
71+ "url": PropTypes.string.isRequired,
72+ "width": PropTypes.string.isRequired,
7373 });
7474 _Images = PropTypes.shape({
75- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
76- "downsized": _Downsized,
77- "downsized_large": _Downsized,
78- "downsized_medium": _Downsized,
79- "downsized_small": _DownsizedSmall,
80- "downsized_still": _Downsized,
81- "fixed_height": _FixedHeight,
82- "fixed_height_downsampled": _FixedHeight,
83- "fixed_height_small": _FixedHeight,
84- "fixed_height_small_still": _Downsized,
85- "fixed_height_still": _Downsized,
86- "fixed_width": _FixedHeight,
87- "fixed_width_downsampled": _FixedHeight,
88- "fixed_width_small": _FixedHeight,
89- "fixed_width_small_still": _Downsized,
90- "fixed_width_still": _Downsized,
91- "looping": _Looping,
92- "original": _FixedHeight,
93- "original_mp4": _DownsizedSmall,
94- "original_still": _Downsized,
95- "preview": _DownsizedSmall,
96- "preview_gif": _Downsized,
97- "preview_webp": _Downsized,
75+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
76+ "downsized": (...args) => _Downsized.isRequired(...args),
77+ "downsized_large": (...args) => _Downsized.isRequired(...args),
78+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
79+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
80+ "downsized_still": (...args) => _Downsized.isRequired(...args),
81+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
84+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
86+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
89+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
90+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
91+ "looping": (...args) => _Looping.isRequired(...args),
92+ "original": (...args) => _FixedHeight.isRequired(...args),
93+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
94+ "original_still": (...args) => _Downsized.isRequired(...args),
95+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
96+ "preview_gif": (...args) => _Downsized.isRequired(...args),
97+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9898 });
9999 _Datum = PropTypes.shape({
100- "bitly_gif_url": PropTypes.string,
101- "bitly_url": PropTypes.string,
102- "content_url": PropTypes.string,
103- "embed_url": PropTypes.string,
104- "id": PropTypes.string,
105- "images": _Images,
106- "import_datetime": PropTypes.string,
107- "is_indexable": PropTypes.number,
108- "rating": _Rating,
109- "slug": PropTypes.string,
110- "source": PropTypes.string,
111- "source_post_url": PropTypes.string,
112- "source_tld": PropTypes.string,
113- "trending_datetime": PropTypes.string,
114- "type": _Type,
115- "url": PropTypes.string,
116- "user": PropTypes.oneOfType([_User, PropTypes.any]),
117- "username": _Username,
100+ "bitly_gif_url": PropTypes.string.isRequired,
101+ "bitly_url": PropTypes.string.isRequired,
102+ "content_url": PropTypes.string.isRequired,
103+ "embed_url": PropTypes.string.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "images": (...args) => _Images.isRequired(...args),
106+ "import_datetime": PropTypes.string.isRequired,
107+ "is_indexable": PropTypes.number.isRequired,
108+ "rating": _Rating.isRequired,
109+ "slug": PropTypes.string.isRequired,
110+ "source": PropTypes.string.isRequired,
111+ "source_post_url": PropTypes.string.isRequired,
112+ "source_tld": PropTypes.string.isRequired,
113+ "trending_datetime": PropTypes.string.isRequired,
114+ "type": _Type.isRequired,
115+ "url": PropTypes.string.isRequired,
116+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
117+ "username": _Username.isRequired,
118118 });
119119 _TopLevel = PropTypes.shape({
120- "data": PropTypes.arrayOf(_Datum),
121- "meta": _Meta,
122- "pagination": _Pagination,
120+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
121+ "meta": (...args) => _Meta.isRequired(...args),
122+ "pagination": (...args) => _Pagination.isRequired(...args),
123123 });
124124
125125 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/13d8d.json

1 generated file · +17 −17
Mjavascript-prop-typesdefault / toplevel.js+17 −17
@@ -17,28 +17,28 @@ let _Location;
1717 let _Street;
1818 let _OutcomeStatus;
1919 _OutcomeStatus = PropTypes.shape({
20- "category": PropTypes.string,
21- "date": PropTypes.string,
20+ "category": PropTypes.string.isRequired,
21+ "date": PropTypes.string.isRequired,
2222 });
2323 _Street = PropTypes.shape({
24- "id": PropTypes.number,
25- "name": PropTypes.string,
24+ "id": PropTypes.number.isRequired,
25+ "name": PropTypes.string.isRequired,
2626 });
2727 _Location = PropTypes.shape({
28- "latitude": PropTypes.string,
29- "longitude": PropTypes.string,
30- "street": _Street,
28+ "latitude": PropTypes.string.isRequired,
29+ "longitude": PropTypes.string.isRequired,
30+ "street": (...args) => _Street.isRequired(...args),
3131 });
3232 _TopLevel = PropTypes.shape({
33- "category": PropTypes.string,
34- "context": PropTypes.string,
35- "id": PropTypes.number,
36- "location": _Location,
37- "location_subtype": PropTypes.string,
38- "location_type": PropTypes.string,
39- "month": PropTypes.string,
40- "outcome_status": _OutcomeStatus,
41- "persistent_id": PropTypes.string,
33+ "category": PropTypes.string.isRequired,
34+ "context": PropTypes.string.isRequired,
35+ "id": PropTypes.number.isRequired,
36+ "location": (...args) => _Location.isRequired(...args),
37+ "location_subtype": PropTypes.string.isRequired,
38+ "location_type": PropTypes.string.isRequired,
39+ "month": PropTypes.string.isRequired,
40+ "outcome_status": (...args) => _OutcomeStatus.isRequired(...args),
41+ "persistent_id": PropTypes.string.isRequired,
4242 });
4343
44-export const TopLevel = PropTypes.arrayOf(_TopLevel);
44+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/14d38.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -15,13 +15,13 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Headers;
1717 _Headers = PropTypes.shape({
18- "Accept-Encoding": PropTypes.string,
19- "Connection": PropTypes.string,
20- "Host": PropTypes.string,
21- "User-Agent": PropTypes.string,
18+ "Accept-Encoding": PropTypes.string.isRequired,
19+ "Connection": PropTypes.string.isRequired,
20+ "Host": PropTypes.string.isRequired,
21+ "User-Agent": PropTypes.string.isRequired,
2222 });
2323 _TopLevel = PropTypes.shape({
24- "headers": _Headers,
24+ "headers": (...args) => _Headers.isRequired(...args),
2525 });
2626
2727 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/167d6.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/16bc5.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/176f1.json

1 generated file · +12 −12
Mjavascript-prop-typesdefault / toplevel.js+12 −12
@@ -22,24 +22,24 @@ _Footnote = PropTypes.shape({
2222 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2323 });
2424 _Datum = PropTypes.shape({
25- "footnotes": PropTypes.arrayOf(_Footnote),
26- "period": PropTypes.string,
27- "periodName": PropTypes.string,
28- "value": PropTypes.string,
29- "year": PropTypes.string,
25+ "footnotes": PropTypes.arrayOf((...args) => _Footnote(...args)).isRequired,
26+ "period": PropTypes.string.isRequired,
27+ "periodName": PropTypes.string.isRequired,
28+ "value": PropTypes.string.isRequired,
29+ "year": PropTypes.string.isRequired,
3030 });
3131 _Series = PropTypes.shape({
32- "data": PropTypes.arrayOf(_Datum),
33- "seriesID": PropTypes.string,
32+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
33+ "seriesID": PropTypes.string.isRequired,
3434 });
3535 _Results = PropTypes.shape({
36- "series": PropTypes.arrayOf(_Series),
36+ "series": PropTypes.arrayOf((...args) => _Series(...args)).isRequired,
3737 });
3838 _TopLevel = PropTypes.shape({
39- "Results": _Results,
40- "message": PropTypes.arrayOf(PropTypes.any),
41- "responseTime": PropTypes.number,
42- "status": PropTypes.string,
39+ "Results": (...args) => _Results.isRequired(...args),
40+ "message": PropTypes.arrayOf(PropTypes.any).isRequired,
41+ "responseTime": PropTypes.number.isRequired,
42+ "status": PropTypes.string.isRequired,
4343 });
4444
4545 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/1a7f5.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/1b28c.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/1b409.json

1 generated file · +46 −46
Mjavascript-prop-typesdefault / toplevel.js+46 −46
@@ -17,71 +17,71 @@ let _Meta;
1717 let _Object;
1818 let _Extra;
1919 let _Person;
20-const _Party = PropTypes.oneOfType(['republican', 'democrat']);
21-const _Gender = PropTypes.oneOfType(['male', 'female']);
22-const _GenderLabel = PropTypes.oneOfType(['male', 'female']);
23-const _Namemod = PropTypes.oneOfType(['empty', 'jr', 'ii', 'iii', 'iv']);
24-const _RoleType = PropTypes.oneOfType(['representative']);
25-const _RoleTypeLabel = PropTypes.oneOfType(['representative', 'delegate', 'residentCommissioner']);
26-const _Title = PropTypes.oneOfType(['rep', 'commish']);
20+const _Party = PropTypes.oneOf(["Republican", "Democrat"]);
21+const _Gender = PropTypes.oneOf(["male", "female"]);
22+const _GenderLabel = PropTypes.oneOf(["Male", "Female"]);
23+const _Namemod = PropTypes.oneOf(["", "Jr.", "II", "III", "IV"]);
24+const _RoleType = PropTypes.oneOf(["representative"]);
25+const _RoleTypeLabel = PropTypes.oneOf(["Representative", "Delegate", "Resident Commissioner"]);
26+const _Title = PropTypes.oneOf(["Rep.", "Commish."]);
2727 _Person = PropTypes.shape({
28- "bioguideid": PropTypes.string,
29- "birthday": PropTypes.string,
30- "cspanid": PropTypes.number,
31- "firstname": PropTypes.string,
32- "gender": _Gender,
33- "gender_label": _GenderLabel,
34- "id": PropTypes.number,
35- "lastname": PropTypes.string,
36- "link": PropTypes.string,
37- "middlename": PropTypes.string,
38- "name": PropTypes.string,
39- "namemod": _Namemod,
40- "nickname": PropTypes.string,
41- "osid": PropTypes.string,
28+ "bioguideid": PropTypes.string.isRequired,
29+ "birthday": PropTypes.string.isRequired,
30+ "cspanid": PropTypes.number.isRequired,
31+ "firstname": PropTypes.string.isRequired,
32+ "gender": _Gender.isRequired,
33+ "gender_label": _GenderLabel.isRequired,
34+ "id": PropTypes.number.isRequired,
35+ "lastname": PropTypes.string.isRequired,
36+ "link": PropTypes.string.isRequired,
37+ "middlename": PropTypes.string.isRequired,
38+ "name": PropTypes.string.isRequired,
39+ "namemod": _Namemod.isRequired,
40+ "nickname": PropTypes.string.isRequired,
41+ "osid": PropTypes.string.isRequired,
4242 "pvsid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
43- "sortname": PropTypes.string,
43+ "sortname": PropTypes.string.isRequired,
4444 "twitterid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4545 "youtubeid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4646 });
4747 _Extra = PropTypes.shape({
48- "address": PropTypes.string,
48+ "address": PropTypes.string.isRequired,
4949 "contact_form": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5050 "fax": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
51- "office": PropTypes.string,
51+ "office": PropTypes.string.isRequired,
5252 "rss_url": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5353 });
5454 _Object = PropTypes.shape({
5555 "caucus": PropTypes.any,
56- "congress_numbers": PropTypes.arrayOf(PropTypes.number),
57- "current": PropTypes.bool,
58- "description": PropTypes.string,
59- "district": PropTypes.number,
60- "enddate": PropTypes.string,
61- "extra": _Extra,
62- "id": PropTypes.number,
56+ "congress_numbers": PropTypes.arrayOf(PropTypes.number).isRequired,
57+ "current": PropTypes.bool.isRequired,
58+ "description": PropTypes.string.isRequired,
59+ "district": PropTypes.number.isRequired,
60+ "enddate": PropTypes.string.isRequired,
61+ "extra": (...args) => _Extra.isRequired(...args),
62+ "id": PropTypes.number.isRequired,
6363 "leadership_title": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
64- "party": _Party,
65- "person": _Person,
66- "phone": PropTypes.string,
67- "role_type": _RoleType,
68- "role_type_label": _RoleTypeLabel,
64+ "party": _Party.isRequired,
65+ "person": (...args) => _Person.isRequired(...args),
66+ "phone": PropTypes.string.isRequired,
67+ "role_type": _RoleType.isRequired,
68+ "role_type_label": _RoleTypeLabel.isRequired,
6969 "senator_class": PropTypes.any,
7070 "senator_rank": PropTypes.any,
71- "startdate": PropTypes.string,
72- "state": PropTypes.string,
73- "title": _Title,
74- "title_long": _RoleTypeLabel,
75- "website": PropTypes.string,
71+ "startdate": PropTypes.string.isRequired,
72+ "state": PropTypes.string.isRequired,
73+ "title": _Title.isRequired,
74+ "title_long": _RoleTypeLabel.isRequired,
75+ "website": PropTypes.string.isRequired,
7676 });
7777 _Meta = PropTypes.shape({
78- "limit": PropTypes.number,
79- "offset": PropTypes.number,
80- "total_count": PropTypes.number,
78+ "limit": PropTypes.number.isRequired,
79+ "offset": PropTypes.number.isRequired,
80+ "total_count": PropTypes.number.isRequired,
8181 });
8282 _TopLevel = PropTypes.shape({
83- "meta": _Meta,
84- "objects": PropTypes.arrayOf(_Object),
83+ "meta": (...args) => _Meta.isRequired(...args),
84+ "objects": PropTypes.arrayOf((...args) => _Object(...args)).isRequired,
8585 });
8686
8787 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/2465e.json

1 generated file · +38 −38
Mjavascript-prop-typesdefault / toplevel.js+38 −38
@@ -26,68 +26,68 @@ let _Responses;
2626 let _The200;
2727 let _Schema;
2828 _Schema = PropTypes.shape({
29- "$ref": PropTypes.string,
29+ "$ref": PropTypes.string.isRequired,
3030 });
3131 _The200 = PropTypes.shape({
32- "description": PropTypes.string,
33- "schema": _Schema,
32+ "description": PropTypes.string.isRequired,
33+ "schema": (...args) => _Schema.isRequired(...args),
3434 });
3535 _Responses = PropTypes.shape({
36- "200": _The200,
36+ "200": (...args) => _The200.isRequired(...args),
3737 });
3838 _Parameter = PropTypes.shape({
39- "description": PropTypes.string,
40- "format": PropTypes.string,
41- "in": PropTypes.string,
42- "name": PropTypes.string,
43- "required": PropTypes.bool,
44- "type": PropTypes.string,
39+ "description": PropTypes.string.isRequired,
40+ "format": PropTypes.string.isRequired,
41+ "in": PropTypes.string.isRequired,
42+ "name": PropTypes.string.isRequired,
43+ "required": PropTypes.bool.isRequired,
44+ "type": PropTypes.string.isRequired,
4545 });
4646 _Get = PropTypes.shape({
47- "description": PropTypes.string,
48- "parameters": PropTypes.arrayOf(_Parameter),
49- "responses": _Responses,
50- "summary": PropTypes.string,
51- "tags": PropTypes.arrayOf(PropTypes.string),
47+ "description": PropTypes.string.isRequired,
48+ "parameters": PropTypes.arrayOf((...args) => _Parameter(...args)).isRequired,
49+ "responses": (...args) => _Responses.isRequired(...args),
50+ "summary": PropTypes.string.isRequired,
51+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
5252 });
5353 _ItaTaxonomiesSearch = PropTypes.shape({
54- "get": _Get,
54+ "get": (...args) => _Get.isRequired(...args),
5555 });
5656 _Paths = PropTypes.shape({
57- "/ita_taxonomies/search": _ItaTaxonomiesSearch,
57+ "/ita_taxonomies/search": (...args) => _ItaTaxonomiesSearch.isRequired(...args),
5858 });
5959 _Info = PropTypes.shape({
60- "description": PropTypes.string,
61- "title": PropTypes.string,
62- "version": PropTypes.string,
60+ "description": PropTypes.string.isRequired,
61+ "title": PropTypes.string.isRequired,
62+ "version": PropTypes.string.isRequired,
6363 });
6464 _Annotations = PropTypes.shape({
65- "description": PropTypes.string,
66- "type": PropTypes.string,
65+ "description": PropTypes.string.isRequired,
66+ "type": PropTypes.string.isRequired,
6767 });
6868 _Properties = PropTypes.shape({
69- "annotations": _Annotations,
70- "datatype_properties": _Annotations,
71- "id": _Annotations,
72- "label": _Annotations,
73- "sub_class_of": _Annotations,
74- "type": _Annotations,
69+ "annotations": (...args) => _Annotations.isRequired(...args),
70+ "datatype_properties": (...args) => _Annotations.isRequired(...args),
71+ "id": (...args) => _Annotations.isRequired(...args),
72+ "label": (...args) => _Annotations.isRequired(...args),
73+ "sub_class_of": (...args) => _Annotations.isRequired(...args),
74+ "type": (...args) => _Annotations.isRequired(...args),
7575 });
7676 _Taxonomy = PropTypes.shape({
77- "properties": _Properties,
77+ "properties": (...args) => _Properties.isRequired(...args),
7878 });
7979 _Definitions = PropTypes.shape({
80- "Taxonomy": _Taxonomy,
80+ "Taxonomy": (...args) => _Taxonomy.isRequired(...args),
8181 });
8282 _TopLevel = PropTypes.shape({
83- "basePath": PropTypes.string,
84- "definitions": _Definitions,
85- "host": PropTypes.string,
86- "info": _Info,
87- "paths": _Paths,
88- "produces": PropTypes.arrayOf(PropTypes.string),
89- "schemes": PropTypes.arrayOf(PropTypes.string),
90- "swagger": PropTypes.string,
83+ "basePath": PropTypes.string.isRequired,
84+ "definitions": (...args) => _Definitions.isRequired(...args),
85+ "host": PropTypes.string.isRequired,
86+ "info": (...args) => _Info.isRequired(...args),
87+ "paths": (...args) => _Paths.isRequired(...args),
88+ "produces": PropTypes.arrayOf(PropTypes.string).isRequired,
89+ "schemes": PropTypes.arrayOf(PropTypes.string).isRequired,
90+ "swagger": PropTypes.string.isRequired,
9191 });
9292
9393 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/24f52.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/262f0.json

1 generated file · +61 −61
Mjavascript-prop-typesdefault / toplevel.js+61 −61
@@ -26,94 +26,94 @@ let _GUID;
2626 let _Location;
2727 let _Units;
2828 let _Wind;
29-const _Text = PropTypes.oneOfType(['mostlyCloudy', 'rain', 'partlyCloudy']);
29+const _Text = PropTypes.oneOf(["Mostly Cloudy", "Rain", "Partly Cloudy"]);
3030 _Wind = PropTypes.shape({
31- "chill": PropTypes.string,
32- "direction": PropTypes.string,
33- "speed": PropTypes.string,
31+ "chill": PropTypes.string.isRequired,
32+ "direction": PropTypes.string.isRequired,
33+ "speed": PropTypes.string.isRequired,
3434 });
3535 _Units = PropTypes.shape({
36- "distance": PropTypes.string,
37- "pressure": PropTypes.string,
38- "speed": PropTypes.string,
39- "temperature": PropTypes.string,
36+ "distance": PropTypes.string.isRequired,
37+ "pressure": PropTypes.string.isRequired,
38+ "speed": PropTypes.string.isRequired,
39+ "temperature": PropTypes.string.isRequired,
4040 });
4141 _Location = PropTypes.shape({
42- "city": PropTypes.string,
43- "country": PropTypes.string,
44- "region": PropTypes.string,
42+ "city": PropTypes.string.isRequired,
43+ "country": PropTypes.string.isRequired,
44+ "region": PropTypes.string.isRequired,
4545 });
4646 _GUID = PropTypes.shape({
47- "isPermaLink": PropTypes.string,
47+ "isPermaLink": PropTypes.string.isRequired,
4848 });
4949 _Forecast = PropTypes.shape({
50- "code": PropTypes.string,
51- "date": PropTypes.string,
52- "day": PropTypes.string,
53- "high": PropTypes.string,
54- "low": PropTypes.string,
55- "text": _Text,
50+ "code": PropTypes.string.isRequired,
51+ "date": PropTypes.string.isRequired,
52+ "day": PropTypes.string.isRequired,
53+ "high": PropTypes.string.isRequired,
54+ "low": PropTypes.string.isRequired,
55+ "text": _Text.isRequired,
5656 });
5757 _Condition = PropTypes.shape({
58- "code": PropTypes.string,
59- "date": PropTypes.string,
60- "temp": PropTypes.string,
61- "text": _Text,
58+ "code": PropTypes.string.isRequired,
59+ "date": PropTypes.string.isRequired,
60+ "temp": PropTypes.string.isRequired,
61+ "text": _Text.isRequired,
6262 });
6363 _Item = PropTypes.shape({
64- "condition": _Condition,
65- "description": PropTypes.string,
66- "forecast": PropTypes.arrayOf(_Forecast),
67- "guid": _GUID,
68- "lat": PropTypes.string,
69- "link": PropTypes.string,
70- "long": PropTypes.string,
71- "pubDate": PropTypes.string,
72- "title": PropTypes.string,
64+ "condition": (...args) => _Condition.isRequired(...args),
65+ "description": PropTypes.string.isRequired,
66+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
67+ "guid": (...args) => _GUID.isRequired(...args),
68+ "lat": PropTypes.string.isRequired,
69+ "link": PropTypes.string.isRequired,
70+ "long": PropTypes.string.isRequired,
71+ "pubDate": PropTypes.string.isRequired,
72+ "title": PropTypes.string.isRequired,
7373 });
7474 _Image = PropTypes.shape({
75- "height": PropTypes.string,
76- "link": PropTypes.string,
77- "title": PropTypes.string,
78- "url": PropTypes.string,
79- "width": PropTypes.string,
75+ "height": PropTypes.string.isRequired,
76+ "link": PropTypes.string.isRequired,
77+ "title": PropTypes.string.isRequired,
78+ "url": PropTypes.string.isRequired,
79+ "width": PropTypes.string.isRequired,
8080 });
8181 _Atmosphere = PropTypes.shape({
82- "humidity": PropTypes.string,
83- "pressure": PropTypes.string,
84- "rising": PropTypes.string,
85- "visibility": PropTypes.string,
82+ "humidity": PropTypes.string.isRequired,
83+ "pressure": PropTypes.string.isRequired,
84+ "rising": PropTypes.string.isRequired,
85+ "visibility": PropTypes.string.isRequired,
8686 });
8787 _Astronomy = PropTypes.shape({
88- "sunrise": PropTypes.string,
89- "sunset": PropTypes.string,
88+ "sunrise": PropTypes.string.isRequired,
89+ "sunset": PropTypes.string.isRequired,
9090 });
9191 _Channel = PropTypes.shape({
92- "astronomy": _Astronomy,
93- "atmosphere": _Atmosphere,
94- "description": PropTypes.string,
95- "image": _Image,
96- "item": _Item,
97- "language": PropTypes.string,
98- "lastBuildDate": PropTypes.string,
99- "link": PropTypes.string,
100- "location": _Location,
101- "title": PropTypes.string,
102- "ttl": PropTypes.string,
103- "units": _Units,
104- "wind": _Wind,
92+ "astronomy": (...args) => _Astronomy.isRequired(...args),
93+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
94+ "description": PropTypes.string.isRequired,
95+ "image": (...args) => _Image.isRequired(...args),
96+ "item": (...args) => _Item.isRequired(...args),
97+ "language": PropTypes.string.isRequired,
98+ "lastBuildDate": PropTypes.string.isRequired,
99+ "link": PropTypes.string.isRequired,
100+ "location": (...args) => _Location.isRequired(...args),
101+ "title": PropTypes.string.isRequired,
102+ "ttl": PropTypes.string.isRequired,
103+ "units": (...args) => _Units.isRequired(...args),
104+ "wind": (...args) => _Wind.isRequired(...args),
105105 });
106106 _Results = PropTypes.shape({
107- "channel": _Channel,
107+ "channel": (...args) => _Channel.isRequired(...args),
108108 });
109109 _Query = PropTypes.shape({
110- "count": PropTypes.number,
111- "created": PropTypes.string,
112- "lang": PropTypes.string,
113- "results": _Results,
110+ "count": PropTypes.number.isRequired,
111+ "created": PropTypes.string.isRequired,
112+ "lang": PropTypes.string.isRequired,
113+ "results": (...args) => _Results.isRequired(...args),
114114 });
115115 _TopLevel = PropTypes.shape({
116- "query": _Query,
116+ "query": (...args) => _Query.isRequired(...args),
117117 });
118118
119119 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/26b49.json

1 generated file · +73 −73
Mjavascript-prop-typesdefault / toplevel.js+73 −73
@@ -22,104 +22,104 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['pg', 'g', 'pg13', 'y']);
26-const _Type = PropTypes.oneOfType(['gif']);
25+const _Rating = PropTypes.oneOf(["pg", "g", "pg-13", "y"]);
26+const _Type = PropTypes.oneOf(["gif"]);
2727 _Pagination = PropTypes.shape({
28- "count": PropTypes.number,
29- "offset": PropTypes.number,
30- "total_count": PropTypes.number,
28+ "count": PropTypes.number.isRequired,
29+ "offset": PropTypes.number.isRequired,
30+ "total_count": PropTypes.number.isRequired,
3131 });
3232 _Meta = PropTypes.shape({
33- "msg": PropTypes.string,
34- "response_id": PropTypes.string,
35- "status": PropTypes.number,
33+ "msg": PropTypes.string.isRequired,
34+ "response_id": PropTypes.string.isRequired,
35+ "status": PropTypes.number.isRequired,
3636 });
3737 _User = PropTypes.shape({
38- "avatar_url": PropTypes.string,
39- "banner_url": PropTypes.string,
40- "display_name": PropTypes.string,
41- "profile_url": PropTypes.string,
38+ "avatar_url": PropTypes.string.isRequired,
39+ "banner_url": PropTypes.string.isRequired,
40+ "display_name": PropTypes.string.isRequired,
41+ "profile_url": PropTypes.string.isRequired,
4242 "twitter": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
43- "username": PropTypes.string,
43+ "username": PropTypes.string.isRequired,
4444 });
4545 _Looping = PropTypes.shape({
46- "mp4": PropTypes.string,
47- "mp4_size": PropTypes.string,
46+ "mp4": PropTypes.string.isRequired,
47+ "mp4_size": PropTypes.string.isRequired,
4848 });
4949 _FixedHeight = PropTypes.shape({
5050 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5151 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
52- "height": PropTypes.string,
52+ "height": PropTypes.string.isRequired,
5353 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5454 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
55- "size": PropTypes.string,
56- "url": PropTypes.string,
57- "webp": PropTypes.string,
58- "webp_size": PropTypes.string,
59- "width": PropTypes.string,
55+ "size": PropTypes.string.isRequired,
56+ "url": PropTypes.string.isRequired,
57+ "webp": PropTypes.string.isRequired,
58+ "webp_size": PropTypes.string.isRequired,
59+ "width": PropTypes.string.isRequired,
6060 });
6161 _DownsizedSmall = PropTypes.shape({
62- "height": PropTypes.string,
63- "mp4": PropTypes.string,
64- "mp4_size": PropTypes.string,
65- "width": PropTypes.string,
62+ "height": PropTypes.string.isRequired,
63+ "mp4": PropTypes.string.isRequired,
64+ "mp4_size": PropTypes.string.isRequired,
65+ "width": PropTypes.string.isRequired,
6666 });
6767 _Downsized = PropTypes.shape({
68- "height": PropTypes.string,
68+ "height": PropTypes.string.isRequired,
6969 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
70- "url": PropTypes.string,
71- "width": PropTypes.string,
70+ "url": PropTypes.string.isRequired,
71+ "width": PropTypes.string.isRequired,
7272 });
7373 _Images = PropTypes.shape({
74- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
75- "downsized": _Downsized,
76- "downsized_large": _Downsized,
77- "downsized_medium": _Downsized,
78- "downsized_small": _DownsizedSmall,
79- "downsized_still": _Downsized,
80- "fixed_height": _FixedHeight,
81- "fixed_height_downsampled": _FixedHeight,
82- "fixed_height_small": _FixedHeight,
83- "fixed_height_small_still": _Downsized,
84- "fixed_height_still": _Downsized,
85- "fixed_width": _FixedHeight,
86- "fixed_width_downsampled": _FixedHeight,
87- "fixed_width_small": _FixedHeight,
88- "fixed_width_small_still": _Downsized,
89- "fixed_width_still": _Downsized,
90- "hd": PropTypes.oneOfType([_DownsizedSmall, PropTypes.any]),
91- "looping": _Looping,
92- "original": _FixedHeight,
93- "original_mp4": _DownsizedSmall,
94- "original_still": _Downsized,
95- "preview": _DownsizedSmall,
96- "preview_gif": _Downsized,
97- "preview_webp": _Downsized,
74+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
75+ "downsized": (...args) => _Downsized.isRequired(...args),
76+ "downsized_large": (...args) => _Downsized.isRequired(...args),
77+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
78+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
79+ "downsized_still": (...args) => _Downsized.isRequired(...args),
80+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
81+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
84+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
86+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
89+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
90+ "hd": PropTypes.oneOfType([(...args) => _DownsizedSmall(...args), PropTypes.any]),
91+ "looping": (...args) => _Looping.isRequired(...args),
92+ "original": (...args) => _FixedHeight.isRequired(...args),
93+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
94+ "original_still": (...args) => _Downsized.isRequired(...args),
95+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
96+ "preview_gif": (...args) => _Downsized.isRequired(...args),
97+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9898 });
9999 _Datum = PropTypes.shape({
100- "bitly_gif_url": PropTypes.string,
101- "bitly_url": PropTypes.string,
102- "content_url": PropTypes.string,
103- "embed_url": PropTypes.string,
104- "id": PropTypes.string,
105- "images": _Images,
106- "import_datetime": PropTypes.string,
107- "is_indexable": PropTypes.number,
108- "rating": _Rating,
109- "slug": PropTypes.string,
110- "source": PropTypes.string,
111- "source_post_url": PropTypes.string,
112- "source_tld": PropTypes.string,
113- "trending_datetime": PropTypes.string,
114- "type": _Type,
115- "url": PropTypes.string,
116- "user": PropTypes.oneOfType([_User, PropTypes.any]),
117- "username": PropTypes.string,
100+ "bitly_gif_url": PropTypes.string.isRequired,
101+ "bitly_url": PropTypes.string.isRequired,
102+ "content_url": PropTypes.string.isRequired,
103+ "embed_url": PropTypes.string.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "images": (...args) => _Images.isRequired(...args),
106+ "import_datetime": PropTypes.string.isRequired,
107+ "is_indexable": PropTypes.number.isRequired,
108+ "rating": _Rating.isRequired,
109+ "slug": PropTypes.string.isRequired,
110+ "source": PropTypes.string.isRequired,
111+ "source_post_url": PropTypes.string.isRequired,
112+ "source_tld": PropTypes.string.isRequired,
113+ "trending_datetime": PropTypes.string.isRequired,
114+ "type": _Type.isRequired,
115+ "url": PropTypes.string.isRequired,
116+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
117+ "username": PropTypes.string.isRequired,
118118 });
119119 _TopLevel = PropTypes.shape({
120- "data": PropTypes.arrayOf(_Datum),
121- "meta": _Meta,
122- "pagination": _Pagination,
120+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
121+ "meta": (...args) => _Meta.isRequired(...args),
122+ "pagination": (...args) => _Pagination.isRequired(...args),
123123 });
124124
125125 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/26c9c.json

1 generated file · +108 −108
Mjavascript-prop-typesdefault / toplevel.js+108 −108
@@ -37,90 +37,90 @@ let _Query;
3737 let _OrderBy;
3838 let _Expression;
3939 _Expression = PropTypes.shape({
40- "columnId": PropTypes.number,
41- "type": PropTypes.string,
40+ "columnId": PropTypes.number.isRequired,
41+ "type": PropTypes.string.isRequired,
4242 });
4343 _OrderBy = PropTypes.shape({
44- "ascending": PropTypes.bool,
45- "expression": _Expression,
44+ "ascending": PropTypes.bool.isRequired,
45+ "expression": (...args) => _Expression.isRequired(...args),
4646 });
4747 _Query = PropTypes.shape({
48- "orderBys": PropTypes.arrayOf(_OrderBy),
48+ "orderBys": PropTypes.arrayOf((...args) => _OrderBy(...args)).isRequired,
4949 });
5050 _Owner = PropTypes.shape({
51- "displayName": PropTypes.string,
52- "id": PropTypes.string,
53- "profileImageUrlLarge": PropTypes.string,
54- "profileImageUrlMedium": PropTypes.string,
55- "profileImageUrlSmall": PropTypes.string,
56- "rights": PropTypes.arrayOf(PropTypes.string),
57- "roleName": PropTypes.string,
58- "screenName": PropTypes.string,
51+ "displayName": PropTypes.string.isRequired,
52+ "id": PropTypes.string.isRequired,
53+ "profileImageUrlLarge": PropTypes.string.isRequired,
54+ "profileImageUrlMedium": PropTypes.string.isRequired,
55+ "profileImageUrlSmall": PropTypes.string.isRequired,
56+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
57+ "roleName": PropTypes.string.isRequired,
58+ "screenName": PropTypes.string.isRequired,
5959 });
6060 _Visible = PropTypes.shape({
61- "table": PropTypes.bool,
61+ "table": PropTypes.bool.isRequired,
6262 });
6363 _RenderTypeConfig = PropTypes.shape({
64- "visible": _Visible,
64+ "visible": (...args) => _Visible.isRequired(...args),
6565 });
6666 _Order = PropTypes.shape({
67- "ascending": PropTypes.bool,
68- "columnFieldName": PropTypes.string,
67+ "ascending": PropTypes.bool.isRequired,
68+ "columnFieldName": PropTypes.string.isRequired,
6969 });
7070 _JSONQuery = PropTypes.shape({
71- "order": PropTypes.arrayOf(_Order),
71+ "order": PropTypes.arrayOf((...args) => _Order(...args)).isRequired,
7272 });
7373 _Notes = PropTypes.shape({
74- "Notes": PropTypes.string,
74+ "Notes": PropTypes.string.isRequired,
7575 });
7676 _DatasetSummary = PropTypes.shape({
77- "Contact Information": PropTypes.string,
78- "Coverage": PropTypes.string,
79- "Data Frequency": PropTypes.string,
80- "Dataset Owner": PropTypes.string,
81- "Granularity": PropTypes.string,
82- "Organization": PropTypes.string,
83- "Posting Frequency": PropTypes.string,
84- "Time Period": PropTypes.string,
85- "Units": PropTypes.string,
77+ "Contact Information": PropTypes.string.isRequired,
78+ "Coverage": PropTypes.string.isRequired,
79+ "Data Frequency": PropTypes.string.isRequired,
80+ "Dataset Owner": PropTypes.string.isRequired,
81+ "Granularity": PropTypes.string.isRequired,
82+ "Organization": PropTypes.string.isRequired,
83+ "Posting Frequency": PropTypes.string.isRequired,
84+ "Time Period": PropTypes.string.isRequired,
85+ "Units": PropTypes.string.isRequired,
8686 });
8787 _DatasetInformation = PropTypes.shape({
88- "Agency": PropTypes.string,
88+ "Agency": PropTypes.string.isRequired,
8989 });
9090 _CommonCore = PropTypes.shape({
91- "Contact Email": PropTypes.string,
92- "Contact Name": PropTypes.string,
93- "Publisher": PropTypes.string,
91+ "Contact Email": PropTypes.string.isRequired,
92+ "Contact Name": PropTypes.string.isRequired,
93+ "Publisher": PropTypes.string.isRequired,
9494 });
9595 _AdditionalResources = PropTypes.shape({
96- "See Also": PropTypes.string,
97- "See Also ": PropTypes.string,
96+ "See Also": PropTypes.string.isRequired,
97+ "See Also ": PropTypes.string.isRequired,
9898 });
9999 _CustomFields = PropTypes.shape({
100- "Additional Resources": _AdditionalResources,
101- "Common Core": _CommonCore,
102- "Dataset Information": _DatasetInformation,
103- "Dataset Summary": _DatasetSummary,
104- "Notes": _Notes,
100+ "Additional Resources": (...args) => _AdditionalResources.isRequired(...args),
101+ "Common Core": (...args) => _CommonCore.isRequired(...args),
102+ "Dataset Information": (...args) => _DatasetInformation.isRequired(...args),
103+ "Dataset Summary": (...args) => _DatasetSummary.isRequired(...args),
104+ "Notes": (...args) => _Notes.isRequired(...args),
105105 });
106106 _Attachment = PropTypes.shape({
107- "assetId": PropTypes.string,
108- "blobId": PropTypes.string,
109- "filename": PropTypes.string,
110- "name": PropTypes.string,
107+ "assetId": PropTypes.string.isRequired,
108+ "blobId": PropTypes.string.isRequired,
109+ "filename": PropTypes.string.isRequired,
110+ "name": PropTypes.string.isRequired,
111111 });
112112 _Metadata = PropTypes.shape({
113- "attachments": PropTypes.arrayOf(_Attachment),
114- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
115- "custom_fields": _CustomFields,
116- "jsonQuery": _JSONQuery,
117- "rdfSubject": PropTypes.string,
118- "renderTypeConfig": _RenderTypeConfig,
113+ "attachments": PropTypes.arrayOf((...args) => _Attachment(...args)).isRequired,
114+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
115+ "custom_fields": (...args) => _CustomFields.isRequired(...args),
116+ "jsonQuery": (...args) => _JSONQuery.isRequired(...args),
117+ "rdfSubject": PropTypes.string.isRequired,
118+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
119119 });
120120 _Grant = PropTypes.shape({
121- "flags": PropTypes.arrayOf(PropTypes.string),
122- "inherited": PropTypes.bool,
123- "type": PropTypes.string,
121+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
122+ "inherited": PropTypes.bool.isRequired,
123+ "type": PropTypes.string.isRequired,
124124 });
125125 _Format = PropTypes.shape({
126126 "align": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -129,77 +129,77 @@ _Format = PropTypes.shape({
129129 "view": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
130130 });
131131 _Top = PropTypes.shape({
132- "count": PropTypes.number,
133- "item": PropTypes.string,
132+ "count": PropTypes.number.isRequired,
133+ "item": PropTypes.string.isRequired,
134134 });
135135 _CachedContents = PropTypes.shape({
136136 "average": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
137- "largest": PropTypes.string,
138- "non_null": PropTypes.number,
139- "null": PropTypes.number,
140- "smallest": PropTypes.string,
137+ "largest": PropTypes.string.isRequired,
138+ "non_null": PropTypes.number.isRequired,
139+ "null": PropTypes.number.isRequired,
140+ "smallest": PropTypes.string.isRequired,
141141 "sum": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
142- "top": PropTypes.arrayOf(_Top),
142+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
143143 });
144144 _Column = PropTypes.shape({
145- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
146- "dataTypeName": PropTypes.string,
147- "fieldName": PropTypes.string,
145+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
146+ "dataTypeName": PropTypes.string.isRequired,
147+ "fieldName": PropTypes.string.isRequired,
148148 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
149- "format": _Format,
150- "id": PropTypes.number,
151- "name": PropTypes.string,
152- "position": PropTypes.number,
153- "renderTypeName": PropTypes.string,
149+ "format": (...args) => _Format.isRequired(...args),
150+ "id": PropTypes.number.isRequired,
151+ "name": PropTypes.string.isRequired,
152+ "position": PropTypes.number.isRequired,
153+ "renderTypeName": PropTypes.string.isRequired,
154154 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
155155 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
156156 });
157157 _View = PropTypes.shape({
158- "attribution": PropTypes.string,
159- "attributionLink": PropTypes.string,
160- "averageRating": PropTypes.number,
161- "category": PropTypes.string,
162- "columns": PropTypes.arrayOf(_Column),
163- "createdAt": PropTypes.number,
164- "description": PropTypes.string,
165- "displayType": PropTypes.string,
166- "downloadCount": PropTypes.number,
167- "flags": PropTypes.arrayOf(PropTypes.string),
168- "grants": PropTypes.arrayOf(_Grant),
169- "hideFromCatalog": PropTypes.bool,
170- "hideFromDataJson": PropTypes.bool,
171- "id": PropTypes.string,
172- "indexUpdatedAt": PropTypes.number,
173- "locale": PropTypes.string,
174- "metadata": _Metadata,
175- "name": PropTypes.string,
176- "newBackend": PropTypes.bool,
177- "numberOfComments": PropTypes.number,
178- "oid": PropTypes.number,
179- "owner": _Owner,
180- "provenance": PropTypes.string,
181- "publicationAppendEnabled": PropTypes.bool,
182- "publicationDate": PropTypes.number,
183- "publicationGroup": PropTypes.number,
184- "publicationStage": PropTypes.string,
185- "query": _Query,
186- "rights": PropTypes.arrayOf(PropTypes.string),
187- "rowsUpdatedAt": PropTypes.number,
188- "rowsUpdatedBy": PropTypes.string,
189- "tableAuthor": _Owner,
190- "tableId": PropTypes.number,
191- "tags": PropTypes.arrayOf(PropTypes.string),
192- "totalTimesRated": PropTypes.number,
193- "viewCount": PropTypes.number,
194- "viewLastModified": PropTypes.number,
195- "viewType": PropTypes.string,
158+ "attribution": PropTypes.string.isRequired,
159+ "attributionLink": PropTypes.string.isRequired,
160+ "averageRating": PropTypes.number.isRequired,
161+ "category": PropTypes.string.isRequired,
162+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
163+ "createdAt": PropTypes.number.isRequired,
164+ "description": PropTypes.string.isRequired,
165+ "displayType": PropTypes.string.isRequired,
166+ "downloadCount": PropTypes.number.isRequired,
167+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
168+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
169+ "hideFromCatalog": PropTypes.bool.isRequired,
170+ "hideFromDataJson": PropTypes.bool.isRequired,
171+ "id": PropTypes.string.isRequired,
172+ "indexUpdatedAt": PropTypes.number.isRequired,
173+ "locale": PropTypes.string.isRequired,
174+ "metadata": (...args) => _Metadata.isRequired(...args),
175+ "name": PropTypes.string.isRequired,
176+ "newBackend": PropTypes.bool.isRequired,
177+ "numberOfComments": PropTypes.number.isRequired,
178+ "oid": PropTypes.number.isRequired,
179+ "owner": (...args) => _Owner.isRequired(...args),
180+ "provenance": PropTypes.string.isRequired,
181+ "publicationAppendEnabled": PropTypes.bool.isRequired,
182+ "publicationDate": PropTypes.number.isRequired,
183+ "publicationGroup": PropTypes.number.isRequired,
184+ "publicationStage": PropTypes.string.isRequired,
185+ "query": (...args) => _Query.isRequired(...args),
186+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
187+ "rowsUpdatedAt": PropTypes.number.isRequired,
188+ "rowsUpdatedBy": PropTypes.string.isRequired,
189+ "tableAuthor": (...args) => _Owner.isRequired(...args),
190+ "tableId": PropTypes.number.isRequired,
191+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
192+ "totalTimesRated": PropTypes.number.isRequired,
193+ "viewCount": PropTypes.number.isRequired,
194+ "viewLastModified": PropTypes.number.isRequired,
195+ "viewType": PropTypes.string.isRequired,
196196 });
197197 _Meta = PropTypes.shape({
198- "view": _View,
198+ "view": (...args) => _View.isRequired(...args),
199199 });
200200 _TopLevel = PropTypes.shape({
201- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
202- "meta": _Meta,
201+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
202+ "meta": (...args) => _Meta.isRequired(...args),
203203 });
204204
205205 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/27332.json

1 generated file · +82 −82
Mjavascript-prop-typesdefault / toplevel.js+82 −82
@@ -23,29 +23,29 @@ let _Preview;
2323 let _Image;
2424 let _Source;
2525 let _Variants;
26-const _Domain = PropTypes.oneOfType(['selfPics', 'imgurCOM', 'iImgurCOM', 'iReddIt']);
27-const _PostHint = PropTypes.oneOfType(['link', 'image']);
28-const _Subreddit = PropTypes.oneOfType(['pics']);
29-const _SubredditID = PropTypes.oneOfType(['t52Qh0U']);
30-const _SubredditNamePrefixed = PropTypes.oneOfType(['rPics']);
31-const _SubredditType = PropTypes.oneOfType(['public']);
32-const _Kind = PropTypes.oneOfType(['t3']);
26+const _Domain = PropTypes.oneOf(["self.pics", "imgur.com", "i.imgur.com", "i.redd.it"]);
27+const _PostHint = PropTypes.oneOf(["link", "image"]);
28+const _Subreddit = PropTypes.oneOf(["pics"]);
29+const _SubredditID = PropTypes.oneOf(["t5_2qh0u"]);
30+const _SubredditNamePrefixed = PropTypes.oneOf(["r/pics"]);
31+const _SubredditType = PropTypes.oneOf(["public"]);
32+const _Kind = PropTypes.oneOf(["t3"]);
3333 _Variants = PropTypes.shape({
3434 });
3535 _Source = PropTypes.shape({
36- "height": PropTypes.number,
37- "url": PropTypes.string,
38- "width": PropTypes.number,
36+ "height": PropTypes.number.isRequired,
37+ "url": PropTypes.string.isRequired,
38+ "width": PropTypes.number.isRequired,
3939 });
4040 _Image = PropTypes.shape({
41- "id": PropTypes.string,
42- "resolutions": PropTypes.arrayOf(_Source),
43- "source": _Source,
44- "variants": _Variants,
41+ "id": PropTypes.string.isRequired,
42+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
43+ "source": (...args) => _Source.isRequired(...args),
44+ "variants": (...args) => _Variants.isRequired(...args),
4545 });
4646 _Preview = PropTypes.shape({
47- "enabled": PropTypes.bool,
48- "images": PropTypes.arrayOf(_Image),
47+ "enabled": PropTypes.bool.isRequired,
48+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
4949 });
5050 _MediaEmbed = PropTypes.shape({
5151 "content": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -54,102 +54,102 @@ _MediaEmbed = PropTypes.shape({
5454 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
5555 });
5656 _Oembed = PropTypes.shape({
57- "description": PropTypes.string,
58- "height": PropTypes.number,
59- "html": PropTypes.string,
60- "provider_name": PropTypes.string,
61- "provider_url": PropTypes.string,
62- "thumbnail_height": PropTypes.number,
63- "thumbnail_url": PropTypes.string,
64- "thumbnail_width": PropTypes.number,
65- "title": PropTypes.string,
66- "type": PropTypes.string,
67- "version": PropTypes.string,
68- "width": PropTypes.number,
57+ "description": PropTypes.string.isRequired,
58+ "height": PropTypes.number.isRequired,
59+ "html": PropTypes.string.isRequired,
60+ "provider_name": PropTypes.string.isRequired,
61+ "provider_url": PropTypes.string.isRequired,
62+ "thumbnail_height": PropTypes.number.isRequired,
63+ "thumbnail_url": PropTypes.string.isRequired,
64+ "thumbnail_width": PropTypes.number.isRequired,
65+ "title": PropTypes.string.isRequired,
66+ "type": PropTypes.string.isRequired,
67+ "version": PropTypes.string.isRequired,
68+ "width": PropTypes.number.isRequired,
6969 });
7070 _Media = PropTypes.shape({
71- "oembed": _Oembed,
72- "type": _Domain,
71+ "oembed": (...args) => _Oembed.isRequired(...args),
72+ "type": _Domain.isRequired,
7373 });
7474 _ChildData = PropTypes.shape({
7575 "approved_at_utc": PropTypes.any,
7676 "approved_by": PropTypes.any,
77- "archived": PropTypes.bool,
78- "author": PropTypes.string,
77+ "archived": PropTypes.bool.isRequired,
78+ "author": PropTypes.string.isRequired,
7979 "author_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8080 "author_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8181 "banned_at_utc": PropTypes.any,
8282 "banned_by": PropTypes.any,
83- "brand_safe": PropTypes.bool,
84- "can_gild": PropTypes.bool,
85- "can_mod_post": PropTypes.bool,
86- "clicked": PropTypes.bool,
87- "contest_mode": PropTypes.bool,
88- "created": PropTypes.number,
89- "created_utc": PropTypes.number,
83+ "brand_safe": PropTypes.bool.isRequired,
84+ "can_gild": PropTypes.bool.isRequired,
85+ "can_mod_post": PropTypes.bool.isRequired,
86+ "clicked": PropTypes.bool.isRequired,
87+ "contest_mode": PropTypes.bool.isRequired,
88+ "created": PropTypes.number.isRequired,
89+ "created_utc": PropTypes.number.isRequired,
9090 "distinguished": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
91- "domain": _Domain,
92- "downs": PropTypes.number,
93- "edited": PropTypes.bool,
94- "gilded": PropTypes.number,
95- "hidden": PropTypes.bool,
96- "hide_score": PropTypes.bool,
97- "id": PropTypes.string,
98- "is_self": PropTypes.bool,
99- "is_video": PropTypes.bool,
91+ "domain": _Domain.isRequired,
92+ "downs": PropTypes.number.isRequired,
93+ "edited": PropTypes.bool.isRequired,
94+ "gilded": PropTypes.number.isRequired,
95+ "hidden": PropTypes.bool.isRequired,
96+ "hide_score": PropTypes.bool.isRequired,
97+ "id": PropTypes.string.isRequired,
98+ "is_self": PropTypes.bool.isRequired,
99+ "is_video": PropTypes.bool.isRequired,
100100 "likes": PropTypes.any,
101101 "link_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
102102 "link_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
103- "locked": PropTypes.bool,
104- "media": PropTypes.oneOfType([_Media, PropTypes.any]),
105- "media_embed": _MediaEmbed,
106- "mod_reports": PropTypes.arrayOf(PropTypes.any),
107- "name": PropTypes.string,
108- "num_comments": PropTypes.number,
103+ "locked": PropTypes.bool.isRequired,
104+ "media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
105+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
106+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
107+ "name": PropTypes.string.isRequired,
108+ "num_comments": PropTypes.number.isRequired,
109109 "num_reports": PropTypes.any,
110- "over_18": PropTypes.bool,
111- "permalink": PropTypes.string,
110+ "over_18": PropTypes.bool.isRequired,
111+ "permalink": PropTypes.string.isRequired,
112112 "post_hint": PropTypes.oneOfType([_PostHint, PropTypes.any]),
113- "preview": PropTypes.oneOfType([_Preview, PropTypes.any]),
114- "quarantine": PropTypes.bool,
113+ "preview": PropTypes.oneOfType([(...args) => _Preview(...args), PropTypes.any]),
114+ "quarantine": PropTypes.bool.isRequired,
115115 "removal_reason": PropTypes.any,
116116 "report_reasons": PropTypes.any,
117- "saved": PropTypes.bool,
118- "score": PropTypes.number,
119- "secure_media": PropTypes.oneOfType([_Media, PropTypes.any]),
120- "secure_media_embed": _MediaEmbed,
121- "selftext": PropTypes.string,
117+ "saved": PropTypes.bool.isRequired,
118+ "score": PropTypes.number.isRequired,
119+ "secure_media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
120+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
121+ "selftext": PropTypes.string.isRequired,
122122 "selftext_html": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
123- "spoiler": PropTypes.bool,
124- "stickied": PropTypes.bool,
125- "subreddit": _Subreddit,
126- "subreddit_id": _SubredditID,
127- "subreddit_name_prefixed": _SubredditNamePrefixed,
128- "subreddit_type": _SubredditType,
123+ "spoiler": PropTypes.bool.isRequired,
124+ "stickied": PropTypes.bool.isRequired,
125+ "subreddit": _Subreddit.isRequired,
126+ "subreddit_id": _SubredditID.isRequired,
127+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
128+ "subreddit_type": _SubredditType.isRequired,
129129 "suggested_sort": PropTypes.any,
130- "thumbnail": PropTypes.string,
130+ "thumbnail": PropTypes.string.isRequired,
131131 "thumbnail_height": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
132132 "thumbnail_width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
133- "title": PropTypes.string,
134- "ups": PropTypes.number,
135- "url": PropTypes.string,
136- "user_reports": PropTypes.arrayOf(PropTypes.any),
133+ "title": PropTypes.string.isRequired,
134+ "ups": PropTypes.number.isRequired,
135+ "url": PropTypes.string.isRequired,
136+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
137137 "view_count": PropTypes.any,
138- "visited": PropTypes.bool,
138+ "visited": PropTypes.bool.isRequired,
139139 });
140140 _Child = PropTypes.shape({
141- "data": _ChildData,
142- "kind": _Kind,
141+ "data": (...args) => _ChildData.isRequired(...args),
142+ "kind": _Kind.isRequired,
143143 });
144144 _TopLevelData = PropTypes.shape({
145- "after": PropTypes.string,
145+ "after": PropTypes.string.isRequired,
146146 "before": PropTypes.any,
147- "children": PropTypes.arrayOf(_Child),
148- "modhash": PropTypes.string,
147+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
148+ "modhash": PropTypes.string.isRequired,
149149 });
150150 _TopLevel = PropTypes.shape({
151- "data": _TopLevelData,
152- "kind": PropTypes.string,
151+ "data": (...args) => _TopLevelData.isRequired(...args),
152+ "kind": PropTypes.string.isRequired,
153153 });
154154
155155 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/29f47.json

1 generated file · +72 −72
Mjavascript-prop-typesdefault / toplevel.js+72 −72
@@ -22,118 +22,118 @@ let _Image;
2222 let _Source;
2323 let _Variants;
2424 let _GIF;
25-const _Distinguished = PropTypes.oneOfType(['admin']);
26-const _Domain = PropTypes.oneOfType(['selfAnnouncements', 'iReddIt']);
27-const _PostHint = PropTypes.oneOfType(['self', 'image']);
28-const _Subreddit = PropTypes.oneOfType(['announcements']);
29-const _SubredditID = PropTypes.oneOfType(['t52R0Ij']);
30-const _SubredditNamePrefixed = PropTypes.oneOfType(['rAnnouncements']);
31-const _SubredditType = PropTypes.oneOfType(['restricted']);
32-const _Kind = PropTypes.oneOfType(['t3']);
25+const _Distinguished = PropTypes.oneOf(["admin"]);
26+const _Domain = PropTypes.oneOf(["self.announcements", "i.redd.it"]);
27+const _PostHint = PropTypes.oneOf(["self", "image"]);
28+const _Subreddit = PropTypes.oneOf(["announcements"]);
29+const _SubredditID = PropTypes.oneOf(["t5_2r0ij"]);
30+const _SubredditNamePrefixed = PropTypes.oneOf(["r/announcements"]);
31+const _SubredditType = PropTypes.oneOf(["restricted"]);
32+const _Kind = PropTypes.oneOf(["t3"]);
3333 _GIF = PropTypes.shape({
34- "resolutions": PropTypes.arrayOf(_Source),
35- "source": _Source,
34+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
35+ "source": (...args) => _Source.isRequired(...args),
3636 });
3737 _Variants = PropTypes.shape({
38- "gif": PropTypes.oneOfType([_GIF, PropTypes.any]),
39- "mp4": PropTypes.oneOfType([_GIF, PropTypes.any]),
38+ "gif": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
39+ "mp4": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
4040 });
4141 _Source = PropTypes.shape({
42- "height": PropTypes.number,
43- "url": PropTypes.string,
44- "width": PropTypes.number,
42+ "height": PropTypes.number.isRequired,
43+ "url": PropTypes.string.isRequired,
44+ "width": PropTypes.number.isRequired,
4545 });
4646 _Image = PropTypes.shape({
47- "id": PropTypes.string,
48- "resolutions": PropTypes.arrayOf(_Source),
49- "source": _Source,
50- "variants": _Variants,
47+ "id": PropTypes.string.isRequired,
48+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
49+ "source": (...args) => _Source.isRequired(...args),
50+ "variants": (...args) => _Variants.isRequired(...args),
5151 });
5252 _Preview = PropTypes.shape({
53- "enabled": PropTypes.bool,
54- "images": PropTypes.arrayOf(_Image),
53+ "enabled": PropTypes.bool.isRequired,
54+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
5555 });
5656 _MediaEmbed = PropTypes.shape({
5757 });
5858 _ChildData = PropTypes.shape({
5959 "approved_at_utc": PropTypes.any,
6060 "approved_by": PropTypes.any,
61- "archived": PropTypes.bool,
62- "author": PropTypes.string,
61+ "archived": PropTypes.bool.isRequired,
62+ "author": PropTypes.string.isRequired,
6363 "author_flair_css_class": PropTypes.any,
6464 "author_flair_text": PropTypes.any,
6565 "banned_at_utc": PropTypes.any,
6666 "banned_by": PropTypes.any,
67- "brand_safe": PropTypes.bool,
68- "can_gild": PropTypes.bool,
69- "can_mod_post": PropTypes.bool,
70- "clicked": PropTypes.bool,
71- "contest_mode": PropTypes.bool,
72- "created": PropTypes.number,
73- "created_utc": PropTypes.number,
74- "distinguished": _Distinguished,
75- "domain": _Domain,
76- "downs": PropTypes.number,
77- "edited": PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),
78- "gilded": PropTypes.number,
79- "hidden": PropTypes.bool,
80- "hide_score": PropTypes.bool,
81- "id": PropTypes.string,
82- "is_self": PropTypes.bool,
83- "is_video": PropTypes.bool,
67+ "brand_safe": PropTypes.bool.isRequired,
68+ "can_gild": PropTypes.bool.isRequired,
69+ "can_mod_post": PropTypes.bool.isRequired,
70+ "clicked": PropTypes.bool.isRequired,
71+ "contest_mode": PropTypes.bool.isRequired,
72+ "created": PropTypes.number.isRequired,
73+ "created_utc": PropTypes.number.isRequired,
74+ "distinguished": _Distinguished.isRequired,
75+ "domain": _Domain.isRequired,
76+ "downs": PropTypes.number.isRequired,
77+ "edited": PropTypes.oneOfType([PropTypes.bool, PropTypes.number]).isRequired,
78+ "gilded": PropTypes.number.isRequired,
79+ "hidden": PropTypes.bool.isRequired,
80+ "hide_score": PropTypes.bool.isRequired,
81+ "id": PropTypes.string.isRequired,
82+ "is_self": PropTypes.bool.isRequired,
83+ "is_video": PropTypes.bool.isRequired,
8484 "likes": PropTypes.any,
8585 "link_flair_css_class": PropTypes.any,
8686 "link_flair_text": PropTypes.any,
87- "locked": PropTypes.bool,
87+ "locked": PropTypes.bool.isRequired,
8888 "media": PropTypes.any,
89- "media_embed": _MediaEmbed,
90- "mod_reports": PropTypes.arrayOf(PropTypes.any),
91- "name": PropTypes.string,
92- "num_comments": PropTypes.number,
89+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
90+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
91+ "name": PropTypes.string.isRequired,
92+ "num_comments": PropTypes.number.isRequired,
9393 "num_reports": PropTypes.any,
94- "over_18": PropTypes.bool,
95- "permalink": PropTypes.string,
94+ "over_18": PropTypes.bool.isRequired,
95+ "permalink": PropTypes.string.isRequired,
9696 "post_hint": PropTypes.oneOfType([_PostHint, PropTypes.any]),
97- "preview": PropTypes.oneOfType([_Preview, PropTypes.any]),
98- "quarantine": PropTypes.bool,
97+ "preview": PropTypes.oneOfType([(...args) => _Preview(...args), PropTypes.any]),
98+ "quarantine": PropTypes.bool.isRequired,
9999 "removal_reason": PropTypes.any,
100100 "report_reasons": PropTypes.any,
101- "saved": PropTypes.bool,
102- "score": PropTypes.number,
101+ "saved": PropTypes.bool.isRequired,
102+ "score": PropTypes.number.isRequired,
103103 "secure_media": PropTypes.any,
104- "secure_media_embed": _MediaEmbed,
105- "selftext": PropTypes.string,
104+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
105+ "selftext": PropTypes.string.isRequired,
106106 "selftext_html": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
107- "spoiler": PropTypes.bool,
108- "stickied": PropTypes.bool,
109- "subreddit": _Subreddit,
110- "subreddit_id": _SubredditID,
111- "subreddit_name_prefixed": _SubredditNamePrefixed,
112- "subreddit_type": _SubredditType,
107+ "spoiler": PropTypes.bool.isRequired,
108+ "stickied": PropTypes.bool.isRequired,
109+ "subreddit": _Subreddit.isRequired,
110+ "subreddit_id": _SubredditID.isRequired,
111+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
112+ "subreddit_type": _SubredditType.isRequired,
113113 "suggested_sort": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
114- "thumbnail": PropTypes.string,
114+ "thumbnail": PropTypes.string.isRequired,
115115 "thumbnail_height": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
116116 "thumbnail_width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
117- "title": PropTypes.string,
118- "ups": PropTypes.number,
119- "url": PropTypes.string,
120- "user_reports": PropTypes.arrayOf(PropTypes.any),
117+ "title": PropTypes.string.isRequired,
118+ "ups": PropTypes.number.isRequired,
119+ "url": PropTypes.string.isRequired,
120+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
121121 "view_count": PropTypes.any,
122- "visited": PropTypes.bool,
122+ "visited": PropTypes.bool.isRequired,
123123 });
124124 _Child = PropTypes.shape({
125- "data": _ChildData,
126- "kind": _Kind,
125+ "data": (...args) => _ChildData.isRequired(...args),
126+ "kind": _Kind.isRequired,
127127 });
128128 _TopLevelData = PropTypes.shape({
129- "after": PropTypes.string,
129+ "after": PropTypes.string.isRequired,
130130 "before": PropTypes.any,
131- "children": PropTypes.arrayOf(_Child),
132- "modhash": PropTypes.string,
131+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
132+ "modhash": PropTypes.string.isRequired,
133133 });
134134 _TopLevel = PropTypes.shape({
135- "data": _TopLevelData,
136- "kind": PropTypes.string,
135+ "data": (...args) => _TopLevelData.isRequired(...args),
136+ "kind": PropTypes.string.isRequired,
137137 });
138138
139139 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/2d4e2.json

1 generated file · +55 −55
Mjavascript-prop-typesdefault / toplevel.js+55 −55
@@ -17,77 +17,77 @@ let _Meta;
1717 let _Object;
1818 let _Extra;
1919 let _Person;
20-const _Party = PropTypes.oneOfType(['republican', 'democrat', 'independent']);
21-const _Gender = PropTypes.oneOfType(['male', 'female']);
22-const _GenderLabel = PropTypes.oneOfType(['male', 'female']);
23-const _Namemod = PropTypes.oneOfType(['empty', 'iii', 'jr']);
24-const _RoleType = PropTypes.oneOfType(['senator']);
25-const _RoleTypeLabel = PropTypes.oneOfType(['senator']);
26-const _SenatorClass = PropTypes.oneOfType(['class2', 'class1', 'class3']);
27-const _SenatorClassLabel = PropTypes.oneOfType(['class2', 'class1', 'class3']);
28-const _SenatorRank = PropTypes.oneOfType(['senior', 'junior']);
29-const _SenatorRankLabel = PropTypes.oneOfType(['senior', 'junior']);
30-const _Title = PropTypes.oneOfType(['sen']);
20+const _Party = PropTypes.oneOf(["Republican", "Democrat", "Independent"]);
21+const _Gender = PropTypes.oneOf(["male", "female"]);
22+const _GenderLabel = PropTypes.oneOf(["Male", "Female"]);
23+const _Namemod = PropTypes.oneOf(["", "III", "Jr."]);
24+const _RoleType = PropTypes.oneOf(["senator"]);
25+const _RoleTypeLabel = PropTypes.oneOf(["Senator"]);
26+const _SenatorClass = PropTypes.oneOf(["class2", "class1", "class3"]);
27+const _SenatorClassLabel = PropTypes.oneOf(["Class 2", "Class 1", "Class 3"]);
28+const _SenatorRank = PropTypes.oneOf(["senior", "junior"]);
29+const _SenatorRankLabel = PropTypes.oneOf(["Senior", "Junior"]);
30+const _Title = PropTypes.oneOf(["Sen."]);
3131 _Person = PropTypes.shape({
32- "bioguideid": PropTypes.string,
33- "birthday": PropTypes.string,
34- "cspanid": PropTypes.number,
35- "firstname": PropTypes.string,
36- "gender": _Gender,
37- "gender_label": _GenderLabel,
38- "id": PropTypes.number,
39- "lastname": PropTypes.string,
40- "link": PropTypes.string,
41- "middlename": PropTypes.string,
42- "name": PropTypes.string,
43- "namemod": _Namemod,
44- "nickname": PropTypes.string,
45- "osid": PropTypes.string,
46- "pvsid": PropTypes.string,
47- "sortname": PropTypes.string,
32+ "bioguideid": PropTypes.string.isRequired,
33+ "birthday": PropTypes.string.isRequired,
34+ "cspanid": PropTypes.number.isRequired,
35+ "firstname": PropTypes.string.isRequired,
36+ "gender": _Gender.isRequired,
37+ "gender_label": _GenderLabel.isRequired,
38+ "id": PropTypes.number.isRequired,
39+ "lastname": PropTypes.string.isRequired,
40+ "link": PropTypes.string.isRequired,
41+ "middlename": PropTypes.string.isRequired,
42+ "name": PropTypes.string.isRequired,
43+ "namemod": _Namemod.isRequired,
44+ "nickname": PropTypes.string.isRequired,
45+ "osid": PropTypes.string.isRequired,
46+ "pvsid": PropTypes.string.isRequired,
47+ "sortname": PropTypes.string.isRequired,
4848 "twitterid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4949 "youtubeid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5050 });
5151 _Extra = PropTypes.shape({
52- "address": PropTypes.string,
53- "contact_form": PropTypes.string,
52+ "address": PropTypes.string.isRequired,
53+ "contact_form": PropTypes.string.isRequired,
5454 "fax": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
55- "office": PropTypes.string,
55+ "office": PropTypes.string.isRequired,
5656 "rss_url": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5757 });
5858 _Object = PropTypes.shape({
5959 "caucus": PropTypes.oneOfType([_Party, PropTypes.any]),
60- "congress_numbers": PropTypes.arrayOf(PropTypes.number),
61- "current": PropTypes.bool,
62- "description": PropTypes.string,
60+ "congress_numbers": PropTypes.arrayOf(PropTypes.number).isRequired,
61+ "current": PropTypes.bool.isRequired,
62+ "description": PropTypes.string.isRequired,
6363 "district": PropTypes.any,
64- "enddate": PropTypes.string,
65- "extra": _Extra,
66- "id": PropTypes.number,
64+ "enddate": PropTypes.string.isRequired,
65+ "extra": (...args) => _Extra.isRequired(...args),
66+ "id": PropTypes.number.isRequired,
6767 "leadership_title": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
68- "party": _Party,
69- "person": _Person,
70- "phone": PropTypes.string,
71- "role_type": _RoleType,
72- "role_type_label": _RoleTypeLabel,
73- "senator_class": _SenatorClass,
74- "senator_class_label": _SenatorClassLabel,
75- "senator_rank": _SenatorRank,
76- "senator_rank_label": _SenatorRankLabel,
77- "startdate": PropTypes.string,
78- "state": PropTypes.string,
79- "title": _Title,
80- "title_long": _RoleTypeLabel,
81- "website": PropTypes.string,
68+ "party": _Party.isRequired,
69+ "person": (...args) => _Person.isRequired(...args),
70+ "phone": PropTypes.string.isRequired,
71+ "role_type": _RoleType.isRequired,
72+ "role_type_label": _RoleTypeLabel.isRequired,
73+ "senator_class": _SenatorClass.isRequired,
74+ "senator_class_label": _SenatorClassLabel.isRequired,
75+ "senator_rank": _SenatorRank.isRequired,
76+ "senator_rank_label": _SenatorRankLabel.isRequired,
77+ "startdate": PropTypes.string.isRequired,
78+ "state": PropTypes.string.isRequired,
79+ "title": _Title.isRequired,
80+ "title_long": _RoleTypeLabel.isRequired,
81+ "website": PropTypes.string.isRequired,
8282 });
8383 _Meta = PropTypes.shape({
84- "limit": PropTypes.number,
85- "offset": PropTypes.number,
86- "total_count": PropTypes.number,
84+ "limit": PropTypes.number.isRequired,
85+ "offset": PropTypes.number.isRequired,
86+ "total_count": PropTypes.number.isRequired,
8787 });
8888 _TopLevel = PropTypes.shape({
89- "meta": _Meta,
90- "objects": PropTypes.arrayOf(_Object),
89+ "meta": (...args) => _Meta.isRequired(...args),
90+ "objects": PropTypes.arrayOf((...args) => _Object(...args)).isRequired,
9191 });
9292
9393 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/2df80.json

1 generated file · +19 −19
Mjavascript-prop-typesdefault / toplevel.js+19 −19
@@ -15,29 +15,29 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Adminregion;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['empty', 'sas', 'ssa', 'eca', 'lac', 'eap', 'mna', 'hic', 'lic', 'na', 'lmc', 'umc', 'lnx', 'idx', 'ibd', 'idb', 'lcn', 'ssf', 'ecs', 'mea', 'eas', 'nac']);
19-const _Value = PropTypes.oneOfType(['empty', 'southAsia', 'subSaharanAfricaExcludingHighIncome', 'europeCentralAsiaExcludingHighIncome', 'latinAmericaCaribbeanExcludingHighIncome', 'eastAsiaPacificExcludingHighIncome', 'middleEastNorthAfricaExcludingHighIncome', 'highIncome', 'lowIncome', 'aggregates', 'lowerMiddleIncome', 'upperMiddleIncome', 'notClassified', 'ida', 'ibrd', 'blend', 'latinAmericaCaribbean', 'subSaharanAfrica', 'europeCentralAsia', 'middleEastNorthAfrica', 'eastAsiaPacific', 'northAmerica']);
18+const _ID = PropTypes.oneOf(["", "SAS", "SSA", "ECA", "LAC", "EAP", "MNA", "HIC", "LIC", "NA", "LMC", "UMC", "LNX", "IDX", "IBD", "IDB", "LCN", "SSF", "ECS", "MEA", "EAS", "NAC"]);
19+const _Value = PropTypes.oneOf(["", "South Asia", "Sub-Saharan Africa (excluding high income)", "Europe & Central Asia (excluding high income)", "Latin America & Caribbean (excluding high income)", "East Asia & Pacific (excluding high income)", "Middle East & North Africa (excluding high income)", "High income", "Low income", "Aggregates", "Lower middle income", "Upper middle income", "Not classified", "IDA", "IBRD", "Blend", "Latin America & Caribbean ", "Sub-Saharan Africa ", "Europe & Central Asia", "Middle East & North Africa", "East Asia & Pacific", "North America"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Adminregion = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "adminregion": _Adminregion,
32- "capitalCity": PropTypes.string,
33- "id": PropTypes.string,
34- "incomeLevel": _Adminregion,
35- "iso2Code": PropTypes.string,
36- "latitude": PropTypes.string,
37- "lendingType": _Adminregion,
38- "longitude": PropTypes.string,
39- "name": PropTypes.string,
40- "region": _Adminregion,
31+ "adminregion": (...args) => _Adminregion.isRequired(...args),
32+ "capitalCity": PropTypes.string.isRequired,
33+ "id": PropTypes.string.isRequired,
34+ "incomeLevel": (...args) => _Adminregion.isRequired(...args),
35+ "iso2Code": PropTypes.string.isRequired,
36+ "latitude": PropTypes.string.isRequired,
37+ "lendingType": (...args) => _Adminregion.isRequired(...args),
38+ "longitude": PropTypes.string.isRequired,
39+ "name": PropTypes.string.isRequired,
40+ "region": (...args) => _Adminregion.isRequired(...args),
4141 });
4242
43-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
43+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/31189.json

1 generated file · +9 −9
Mjavascript-prop-typesdefault / toplevel.js+9 −9
@@ -21,22 +21,22 @@ _Rates = PropTypes.shape({
2121 "reduced": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
2222 "reduced1": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
2323 "reduced2": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
24- "standard": PropTypes.number,
24+ "standard": PropTypes.number.isRequired,
2525 "super_reduced": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
2626 });
2727 _Period = PropTypes.shape({
28- "effective_from": PropTypes.string,
29- "rates": _Rates,
28+ "effective_from": PropTypes.string.isRequired,
29+ "rates": (...args) => _Rates.isRequired(...args),
3030 });
3131 _Rate = PropTypes.shape({
32- "code": PropTypes.string,
33- "country_code": PropTypes.string,
34- "name": PropTypes.string,
35- "periods": PropTypes.arrayOf(_Period),
32+ "code": PropTypes.string.isRequired,
33+ "country_code": PropTypes.string.isRequired,
34+ "name": PropTypes.string.isRequired,
35+ "periods": PropTypes.arrayOf((...args) => _Period(...args)).isRequired,
3636 });
3737 _TopLevel = PropTypes.shape({
38- "details": PropTypes.string,
39- "rates": PropTypes.arrayOf(_Rate),
38+ "details": PropTypes.string.isRequired,
39+ "rates": PropTypes.arrayOf((...args) => _Rate(...args)).isRequired,
4040 "version": PropTypes.any,
4141 });
Test case

test/inputs/json/misc/32431.json

1 generated file · +40 −40
Mjavascript-prop-typesdefault / toplevel.js+40 −40
@@ -17,62 +17,62 @@ let _Feature;
1717 let _Geometry;
1818 let _Properties;
1919 let _Metadata;
20-const _GeometryType = PropTypes.oneOfType(['point']);
21-const _MagType = PropTypes.oneOfType(['md', 'ml', 'mb']);
22-const _Status = PropTypes.oneOfType(['automatic', 'reviewed']);
23-const _PropertiesType = PropTypes.oneOfType(['earthquake']);
24-const _FeatureType = PropTypes.oneOfType(['feature']);
20+const _GeometryType = PropTypes.oneOf(["Point"]);
21+const _MagType = PropTypes.oneOf(["md", "ml", "mb"]);
22+const _Status = PropTypes.oneOf(["automatic", "reviewed"]);
23+const _PropertiesType = PropTypes.oneOf(["earthquake"]);
24+const _FeatureType = PropTypes.oneOf(["Feature"]);
2525 _Metadata = PropTypes.shape({
26- "api": PropTypes.string,
27- "count": PropTypes.number,
28- "generated": PropTypes.number,
29- "status": PropTypes.number,
30- "title": PropTypes.string,
31- "url": PropTypes.string,
26+ "api": PropTypes.string.isRequired,
27+ "count": PropTypes.number.isRequired,
28+ "generated": PropTypes.number.isRequired,
29+ "status": PropTypes.number.isRequired,
30+ "title": PropTypes.string.isRequired,
31+ "url": PropTypes.string.isRequired,
3232 });
3333 _Properties = PropTypes.shape({
3434 "alert": PropTypes.any,
3535 "cdi": PropTypes.any,
36- "code": PropTypes.string,
37- "detail": PropTypes.string,
36+ "code": PropTypes.string.isRequired,
37+ "detail": PropTypes.string.isRequired,
3838 "dmin": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
3939 "felt": PropTypes.any,
4040 "gap": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
41- "ids": PropTypes.string,
42- "mag": PropTypes.number,
43- "magType": _MagType,
41+ "ids": PropTypes.string.isRequired,
42+ "mag": PropTypes.number.isRequired,
43+ "magType": _MagType.isRequired,
4444 "mmi": PropTypes.any,
45- "net": PropTypes.string,
45+ "net": PropTypes.string.isRequired,
4646 "nst": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
47- "place": PropTypes.string,
48- "rms": PropTypes.number,
49- "sig": PropTypes.number,
50- "sources": PropTypes.string,
51- "status": _Status,
52- "time": PropTypes.number,
53- "title": PropTypes.string,
54- "tsunami": PropTypes.number,
55- "type": _PropertiesType,
56- "types": PropTypes.string,
57- "tz": PropTypes.number,
58- "updated": PropTypes.number,
59- "url": PropTypes.string,
47+ "place": PropTypes.string.isRequired,
48+ "rms": PropTypes.number.isRequired,
49+ "sig": PropTypes.number.isRequired,
50+ "sources": PropTypes.string.isRequired,
51+ "status": _Status.isRequired,
52+ "time": PropTypes.number.isRequired,
53+ "title": PropTypes.string.isRequired,
54+ "tsunami": PropTypes.number.isRequired,
55+ "type": _PropertiesType.isRequired,
56+ "types": PropTypes.string.isRequired,
57+ "tz": PropTypes.number.isRequired,
58+ "updated": PropTypes.number.isRequired,
59+ "url": PropTypes.string.isRequired,
6060 });
6161 _Geometry = PropTypes.shape({
62- "coordinates": PropTypes.arrayOf(PropTypes.number),
63- "type": _GeometryType,
62+ "coordinates": PropTypes.arrayOf(PropTypes.number).isRequired,
63+ "type": _GeometryType.isRequired,
6464 });
6565 _Feature = PropTypes.shape({
66- "geometry": _Geometry,
67- "id": PropTypes.string,
68- "properties": _Properties,
69- "type": _FeatureType,
66+ "geometry": (...args) => _Geometry.isRequired(...args),
67+ "id": PropTypes.string.isRequired,
68+ "properties": (...args) => _Properties.isRequired(...args),
69+ "type": _FeatureType.isRequired,
7070 });
7171 _TopLevel = PropTypes.shape({
72- "bbox": PropTypes.arrayOf(PropTypes.number),
73- "features": PropTypes.arrayOf(_Feature),
74- "metadata": _Metadata,
75- "type": PropTypes.string,
72+ "bbox": PropTypes.arrayOf(PropTypes.number).isRequired,
73+ "features": PropTypes.arrayOf((...args) => _Feature(...args)).isRequired,
74+ "metadata": (...args) => _Metadata.isRequired(...args),
75+ "type": PropTypes.string.isRequired,
7676 });
7777
7878 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/32d5c.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -15,13 +15,13 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
1717 "BirthDate": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
18- "BirthDateIsProtected": PropTypes.bool,
19- "GenderTypeID": PropTypes.number,
20- "Notes": PropTypes.string,
21- "ParliamentaryName": PropTypes.string,
22- "PersonID": PropTypes.number,
23- "PhotoURL": PropTypes.string,
24- "PreferredName": PropTypes.string,
18+ "BirthDateIsProtected": PropTypes.bool.isRequired,
19+ "GenderTypeID": PropTypes.number.isRequired,
20+ "Notes": PropTypes.string.isRequired,
21+ "ParliamentaryName": PropTypes.string.isRequired,
22+ "PersonID": PropTypes.number.isRequired,
23+ "PhotoURL": PropTypes.string.isRequired,
24+ "PreferredName": PropTypes.string.isRequired,
2525 });
2626
27-export const TopLevel = PropTypes.arrayOf(_TopLevel);
27+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/337ed.json

1 generated file · +30 −30
Mjavascript-prop-typesdefault / toplevel.js+30 −30
@@ -16,33 +16,33 @@ let _TopLevel;
1616 let _Facets;
1717 let _Result;
1818 let _CustomIncome;
19-const _Status = PropTypes.oneOfType(['active', 'inactive']);
20-const _CustomIncomeType = PropTypes.oneOfType(['public', 'other']);
21-const _ResultType = PropTypes.oneOfType(['financialDataNGO', 'financialDataLawyer', 'financialDataTradeAssociation']);
19+const _Status = PropTypes.oneOf(["active", "inactive"]);
20+const _CustomIncomeType = PropTypes.oneOf(["public", "other"]);
21+const _ResultType = PropTypes.oneOf(["FinancialDataNGO", "FinancialDataLawyer", "FinancialDataTradeAssociation"]);
2222 _CustomIncome = PropTypes.shape({
23- "amount": PropTypes.number,
24- "created_at": PropTypes.string,
25- "id": PropTypes.string,
26- "name": PropTypes.string,
27- "status": _Status,
28- "type": _CustomIncomeType,
29- "updated_at": PropTypes.string,
30- "uri": PropTypes.string,
23+ "amount": PropTypes.number.isRequired,
24+ "created_at": PropTypes.string.isRequired,
25+ "id": PropTypes.string.isRequired,
26+ "name": PropTypes.string.isRequired,
27+ "status": _Status.isRequired,
28+ "type": _CustomIncomeType.isRequired,
29+ "updated_at": PropTypes.string.isRequired,
30+ "uri": PropTypes.string.isRequired,
3131 });
3232 _Result = PropTypes.shape({
3333 "cost_absolute": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
3434 "cost_max": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
3535 "cost_min": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
36- "created_at": PropTypes.string,
37- "customIncomes": PropTypes.arrayOf(_CustomIncome),
36+ "created_at": PropTypes.string.isRequired,
37+ "customIncomes": PropTypes.arrayOf((...args) => _CustomIncome(...args)).isRequired,
3838 "direct_rep_costs_max": PropTypes.any,
3939 "direct_rep_costs_min": PropTypes.any,
40- "end_date": PropTypes.string,
41- "eur_sources_grants": PropTypes.number,
40+ "end_date": PropTypes.string.isRequired,
41+ "eur_sources_grants": PropTypes.number.isRequired,
4242 "eur_sources_grants_src": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
43- "eur_sources_procurement": PropTypes.number,
43+ "eur_sources_procurement": PropTypes.number.isRequired,
4444 "eur_sources_procurement_src": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
45- "id": PropTypes.string,
45+ "id": PropTypes.string.isRequired,
4646 "new_organisation": PropTypes.any,
4747 "no_clients": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4848 "other_financial_information": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -52,27 +52,27 @@ _Result = PropTypes.shape({
5252 "public_financing_infranational": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
5353 "public_financing_national": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
5454 "public_financing_total": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
55- "representative": PropTypes.string,
56- "start_date": PropTypes.string,
57- "status": _Status,
55+ "representative": PropTypes.string.isRequired,
56+ "start_date": PropTypes.string.isRequired,
57+ "status": _Status.isRequired,
5858 "total_budget": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
5959 "turnover_absolute": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6060 "turnover_max": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6161 "turnover_min": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
62- "type": _ResultType,
63- "updated_at": PropTypes.string,
64- "uri": PropTypes.string,
62+ "type": _ResultType.isRequired,
63+ "updated_at": PropTypes.string.isRequired,
64+ "uri": PropTypes.string.isRequired,
6565 });
6666 _Facets = PropTypes.shape({
6767 });
6868 _TopLevel = PropTypes.shape({
69- "count": PropTypes.number,
70- "facets": _Facets,
71- "limit": PropTypes.number,
72- "next": PropTypes.string,
73- "offset": PropTypes.number,
74- "previous": PropTypes.bool,
75- "results": PropTypes.arrayOf(_Result),
69+ "count": PropTypes.number.isRequired,
70+ "facets": (...args) => _Facets.isRequired(...args),
71+ "limit": PropTypes.number.isRequired,
72+ "next": PropTypes.string.isRequired,
73+ "offset": PropTypes.number.isRequired,
74+ "previous": PropTypes.bool.isRequired,
75+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
7676 });
7777
7878 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/33d2e.json

1 generated file · +9 −9
Mjavascript-prop-typesdefault / toplevel.js+9 −9
@@ -16,15 +16,15 @@ let _TopLevel;
1616 let _Laureate;
1717 let _Prize;
1818 let _AffiliationClass;
19-const _Gender = PropTypes.oneOfType(['male', 'female', 'org']);
20-const _Category = PropTypes.oneOfType(['physics', 'chemistry', 'peace', 'medicine', 'literature', 'economics']);
19+const _Gender = PropTypes.oneOf(["male", "female", "org"]);
20+const _Category = PropTypes.oneOf(["physics", "chemistry", "peace", "medicine", "literature", "economics"]);
2121 _AffiliationClass = PropTypes.shape({
2222 "city": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2323 "country": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2424 "name": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2525 });
2626 _Prize = PropTypes.shape({
27- "affiliations": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _AffiliationClass])),
27+ "affiliations": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _AffiliationClass(...args)])).isRequired,
2828 "category": PropTypes.oneOfType([_Category, PropTypes.any]),
2929 "motivation": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3030 "overallMotivation": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -32,22 +32,22 @@ _Prize = PropTypes.shape({
3232 "year": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3333 });
3434 _Laureate = PropTypes.shape({
35- "born": PropTypes.string,
35+ "born": PropTypes.string.isRequired,
3636 "bornCity": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3737 "bornCountry": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3838 "bornCountryCode": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
39- "died": PropTypes.string,
39+ "died": PropTypes.string.isRequired,
4040 "diedCity": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4141 "diedCountry": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4242 "diedCountryCode": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4343 "firstname": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
44- "gender": _Gender,
45- "id": PropTypes.string,
46- "prizes": PropTypes.arrayOf(_Prize),
44+ "gender": _Gender.isRequired,
45+ "id": PropTypes.string.isRequired,
46+ "prizes": PropTypes.arrayOf((...args) => _Prize(...args)).isRequired,
4747 "surname": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4848 });
4949 _TopLevel = PropTypes.shape({
50- "laureates": PropTypes.arrayOf(_Laureate),
50+ "laureates": PropTypes.arrayOf((...args) => _Laureate(...args)).isRequired,
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/34702.json

1 generated file · +32 −32
Mjavascript-prop-typesdefault / toplevel.js+32 −32
@@ -18,52 +18,52 @@ let _CRSProperties;
1818 let _Feature;
1919 let _Geometry;
2020 let _FeatureProperties;
21-const _GeometryType = PropTypes.oneOfType(['point']);
22-const _GeometryName = PropTypes.oneOfType(['geom']);
23-const _FireBanR = PropTypes.oneOfType(['northCentral', 'central', 'southWest', 'wimmera', 'northernCountry', 'eastGippsland', 'northEast', 'mallee', 'westSouthGippsland', 'ballarat']);
24-const _Region = PropTypes.oneOfType(['eastern', 'northernMetro', 'western', 'southernMetro']);
25-const _PropertiesType = PropTypes.oneOfType(['street', 'avenue', 'road', 'highway', 'boulevard', 'court', 'way', 'drive', 'south', 'hill', 'lane', 'close', 'parade', 'typeRoad', 'place', 'rd']);
26-const _FeatureType = PropTypes.oneOfType(['feature']);
21+const _GeometryType = PropTypes.oneOf(["Point"]);
22+const _GeometryName = PropTypes.oneOf(["geom"]);
23+const _FireBanR = PropTypes.oneOf(["North Central", "Central", "South West", "Wimmera", "Northern Country", "East Gippsland", "North East", "Mallee", "West &South Gippsland", "Ballarat"]);
24+const _Region = PropTypes.oneOf(["Eastern", "Northern Metro", "Western", "Southern Metro"]);
25+const _PropertiesType = PropTypes.oneOf(["STREET", "AVENUE", "ROAD", "HIGHWAY", "BOULEVARD", "COURT", "WAY", "DRIVE", "SOUTH", "HILL", "LANE", "CLOSE", "PARADE", "Road", "PLACE", "RD"]);
26+const _FeatureType = PropTypes.oneOf(["Feature"]);
2727 _FeatureProperties = PropTypes.shape({
28- "division": PropTypes.string,
29- "fax": PropTypes.number,
28+ "division": PropTypes.string.isRequired,
29+ "fax": PropTypes.number.isRequired,
3030 "fire_ban_r": PropTypes.oneOfType([_FireBanR, PropTypes.any]),
31- "latitude": PropTypes.number,
32- "local_govt": PropTypes.string,
33- "longitude": PropTypes.number,
31+ "latitude": PropTypes.number.isRequired,
32+ "local_govt": PropTypes.string.isRequired,
33+ "longitude": PropTypes.number.isRequired,
3434 "no": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
35- "phone": PropTypes.number,
36- "postcode": PropTypes.number,
37- "psa": PropTypes.string,
38- "region": _Region,
39- "station": PropTypes.string,
40- "street": PropTypes.string,
41- "suburb": PropTypes.string,
35+ "phone": PropTypes.number.isRequired,
36+ "postcode": PropTypes.number.isRequired,
37+ "psa": PropTypes.string.isRequired,
38+ "region": _Region.isRequired,
39+ "station": PropTypes.string.isRequired,
40+ "street": PropTypes.string.isRequired,
41+ "suburb": PropTypes.string.isRequired,
4242 "type": PropTypes.oneOfType([_PropertiesType, PropTypes.any]),
4343 });
4444 _Geometry = PropTypes.shape({
45- "coordinates": PropTypes.arrayOf(PropTypes.number),
46- "type": _GeometryType,
45+ "coordinates": PropTypes.arrayOf(PropTypes.number).isRequired,
46+ "type": _GeometryType.isRequired,
4747 });
4848 _Feature = PropTypes.shape({
49- "geometry": _Geometry,
50- "geometry_name": _GeometryName,
51- "id": PropTypes.string,
52- "properties": _FeatureProperties,
53- "type": _FeatureType,
49+ "geometry": (...args) => _Geometry.isRequired(...args),
50+ "geometry_name": _GeometryName.isRequired,
51+ "id": PropTypes.string.isRequired,
52+ "properties": (...args) => _FeatureProperties.isRequired(...args),
53+ "type": _FeatureType.isRequired,
5454 });
5555 _CRSProperties = PropTypes.shape({
56- "name": PropTypes.string,
56+ "name": PropTypes.string.isRequired,
5757 });
5858 _CRS = PropTypes.shape({
59- "properties": _CRSProperties,
60- "type": PropTypes.string,
59+ "properties": (...args) => _CRSProperties.isRequired(...args),
60+ "type": PropTypes.string.isRequired,
6161 });
6262 _TopLevel = PropTypes.shape({
63- "crs": _CRS,
64- "features": PropTypes.arrayOf(_Feature),
65- "totalFeatures": PropTypes.number,
66- "type": PropTypes.string,
63+ "crs": (...args) => _CRS.isRequired(...args),
64+ "features": PropTypes.arrayOf((...args) => _Feature(...args)).isRequired,
65+ "totalFeatures": PropTypes.number.isRequired,
66+ "type": PropTypes.string.isRequired,
6767 });
6868
6969 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/3536b.json

1 generated file · +18 −18
Mjavascript-prop-typesdefault / toplevel.js+18 −18
@@ -16,30 +16,30 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Scheme = PropTypes.oneOfType(['spdx', 'dep5', 'trove']);
20-const _Keyword = PropTypes.oneOfType(['discouraged', 'obsolete', 'osiApproved']);
19+const _Scheme = PropTypes.oneOf(["SPDX", "DEP5", "Trove"]);
20+const _Keyword = PropTypes.oneOf(["discouraged", "obsolete", "osi-approved"]);
2121 _Text = PropTypes.shape({
22- "media_type": PropTypes.string,
23- "title": PropTypes.string,
24- "url": PropTypes.string,
22+ "media_type": PropTypes.string.isRequired,
23+ "title": PropTypes.string.isRequired,
24+ "url": PropTypes.string.isRequired,
2525 });
2626 _Link = PropTypes.shape({
27- "note": PropTypes.string,
28- "url": PropTypes.string,
27+ "note": PropTypes.string.isRequired,
28+ "url": PropTypes.string.isRequired,
2929 });
3030 _Identifier = PropTypes.shape({
31- "identifier": PropTypes.string,
32- "scheme": _Scheme,
31+ "identifier": PropTypes.string.isRequired,
32+ "scheme": _Scheme.isRequired,
3333 });
3434 _TopLevel = PropTypes.shape({
35- "id": PropTypes.string,
36- "identifiers": PropTypes.arrayOf(_Identifier),
37- "keywords": PropTypes.arrayOf(_Keyword),
38- "links": PropTypes.arrayOf(_Link),
39- "name": PropTypes.string,
40- "other_names": PropTypes.arrayOf(PropTypes.any),
41- "superseded_by": PropTypes.string,
42- "text": PropTypes.arrayOf(_Text),
35+ "id": PropTypes.string.isRequired,
36+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
37+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
38+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
39+ "name": PropTypes.string.isRequired,
40+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
41+ "superseded_by": PropTypes.string.isRequired,
42+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4343 });
4444
45-export const TopLevel = PropTypes.arrayOf(_TopLevel);
45+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/3659d.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/36d5d.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/3a6b3.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/3e9a3.json

1 generated file · +12 −12
Mjavascript-prop-typesdefault / toplevel.js+12 −12
@@ -22,24 +22,24 @@ _Footnote = PropTypes.shape({
2222 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2323 });
2424 _Datum = PropTypes.shape({
25- "footnotes": PropTypes.arrayOf(_Footnote),
26- "period": PropTypes.string,
27- "periodName": PropTypes.string,
28- "value": PropTypes.string,
29- "year": PropTypes.string,
25+ "footnotes": PropTypes.arrayOf((...args) => _Footnote(...args)).isRequired,
26+ "period": PropTypes.string.isRequired,
27+ "periodName": PropTypes.string.isRequired,
28+ "value": PropTypes.string.isRequired,
29+ "year": PropTypes.string.isRequired,
3030 });
3131 _Series = PropTypes.shape({
32- "data": PropTypes.arrayOf(_Datum),
33- "seriesID": PropTypes.string,
32+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
33+ "seriesID": PropTypes.string.isRequired,
3434 });
3535 _Results = PropTypes.shape({
36- "series": PropTypes.arrayOf(_Series),
36+ "series": PropTypes.arrayOf((...args) => _Series(...args)).isRequired,
3737 });
3838 _TopLevel = PropTypes.shape({
39- "Results": _Results,
40- "message": PropTypes.arrayOf(PropTypes.any),
41- "responseTime": PropTypes.number,
42- "status": PropTypes.string,
39+ "Results": (...args) => _Results.isRequired(...args),
40+ "message": PropTypes.arrayOf(PropTypes.any).isRequired,
41+ "responseTime": PropTypes.number.isRequired,
42+ "status": PropTypes.string.isRequired,
4343 });
4444
4545 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/3f1ce.json

1 generated file · +61 −61
Mjavascript-prop-typesdefault / toplevel.js+61 −61
@@ -26,94 +26,94 @@ let _GUID;
2626 let _Location;
2727 let _Units;
2828 let _Wind;
29-const _Text = PropTypes.oneOfType(['thunderstorms']);
29+const _Text = PropTypes.oneOf(["Thunderstorms"]);
3030 _Wind = PropTypes.shape({
31- "chill": PropTypes.string,
32- "direction": PropTypes.string,
33- "speed": PropTypes.string,
31+ "chill": PropTypes.string.isRequired,
32+ "direction": PropTypes.string.isRequired,
33+ "speed": PropTypes.string.isRequired,
3434 });
3535 _Units = PropTypes.shape({
36- "distance": PropTypes.string,
37- "pressure": PropTypes.string,
38- "speed": PropTypes.string,
39- "temperature": PropTypes.string,
36+ "distance": PropTypes.string.isRequired,
37+ "pressure": PropTypes.string.isRequired,
38+ "speed": PropTypes.string.isRequired,
39+ "temperature": PropTypes.string.isRequired,
4040 });
4141 _Location = PropTypes.shape({
42- "city": PropTypes.string,
43- "country": PropTypes.string,
44- "region": PropTypes.string,
42+ "city": PropTypes.string.isRequired,
43+ "country": PropTypes.string.isRequired,
44+ "region": PropTypes.string.isRequired,
4545 });
4646 _GUID = PropTypes.shape({
47- "isPermaLink": PropTypes.string,
47+ "isPermaLink": PropTypes.string.isRequired,
4848 });
4949 _Forecast = PropTypes.shape({
50- "code": PropTypes.string,
51- "date": PropTypes.string,
52- "day": PropTypes.string,
53- "high": PropTypes.string,
54- "low": PropTypes.string,
55- "text": _Text,
50+ "code": PropTypes.string.isRequired,
51+ "date": PropTypes.string.isRequired,
52+ "day": PropTypes.string.isRequired,
53+ "high": PropTypes.string.isRequired,
54+ "low": PropTypes.string.isRequired,
55+ "text": _Text.isRequired,
5656 });
5757 _Condition = PropTypes.shape({
58- "code": PropTypes.string,
59- "date": PropTypes.string,
60- "temp": PropTypes.string,
61- "text": PropTypes.string,
58+ "code": PropTypes.string.isRequired,
59+ "date": PropTypes.string.isRequired,
60+ "temp": PropTypes.string.isRequired,
61+ "text": PropTypes.string.isRequired,
6262 });
6363 _Item = PropTypes.shape({
64- "condition": _Condition,
65- "description": PropTypes.string,
66- "forecast": PropTypes.arrayOf(_Forecast),
67- "guid": _GUID,
68- "lat": PropTypes.string,
69- "link": PropTypes.string,
70- "long": PropTypes.string,
71- "pubDate": PropTypes.string,
72- "title": PropTypes.string,
64+ "condition": (...args) => _Condition.isRequired(...args),
65+ "description": PropTypes.string.isRequired,
66+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
67+ "guid": (...args) => _GUID.isRequired(...args),
68+ "lat": PropTypes.string.isRequired,
69+ "link": PropTypes.string.isRequired,
70+ "long": PropTypes.string.isRequired,
71+ "pubDate": PropTypes.string.isRequired,
72+ "title": PropTypes.string.isRequired,
7373 });
7474 _Image = PropTypes.shape({
75- "height": PropTypes.string,
76- "link": PropTypes.string,
77- "title": PropTypes.string,
78- "url": PropTypes.string,
79- "width": PropTypes.string,
75+ "height": PropTypes.string.isRequired,
76+ "link": PropTypes.string.isRequired,
77+ "title": PropTypes.string.isRequired,
78+ "url": PropTypes.string.isRequired,
79+ "width": PropTypes.string.isRequired,
8080 });
8181 _Atmosphere = PropTypes.shape({
82- "humidity": PropTypes.string,
83- "pressure": PropTypes.string,
84- "rising": PropTypes.string,
85- "visibility": PropTypes.string,
82+ "humidity": PropTypes.string.isRequired,
83+ "pressure": PropTypes.string.isRequired,
84+ "rising": PropTypes.string.isRequired,
85+ "visibility": PropTypes.string.isRequired,
8686 });
8787 _Astronomy = PropTypes.shape({
88- "sunrise": PropTypes.string,
89- "sunset": PropTypes.string,
88+ "sunrise": PropTypes.string.isRequired,
89+ "sunset": PropTypes.string.isRequired,
9090 });
9191 _Channel = PropTypes.shape({
92- "astronomy": _Astronomy,
93- "atmosphere": _Atmosphere,
94- "description": PropTypes.string,
95- "image": _Image,
96- "item": _Item,
97- "language": PropTypes.string,
98- "lastBuildDate": PropTypes.string,
99- "link": PropTypes.string,
100- "location": _Location,
101- "title": PropTypes.string,
102- "ttl": PropTypes.string,
103- "units": _Units,
104- "wind": _Wind,
92+ "astronomy": (...args) => _Astronomy.isRequired(...args),
93+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
94+ "description": PropTypes.string.isRequired,
95+ "image": (...args) => _Image.isRequired(...args),
96+ "item": (...args) => _Item.isRequired(...args),
97+ "language": PropTypes.string.isRequired,
98+ "lastBuildDate": PropTypes.string.isRequired,
99+ "link": PropTypes.string.isRequired,
100+ "location": (...args) => _Location.isRequired(...args),
101+ "title": PropTypes.string.isRequired,
102+ "ttl": PropTypes.string.isRequired,
103+ "units": (...args) => _Units.isRequired(...args),
104+ "wind": (...args) => _Wind.isRequired(...args),
105105 });
106106 _Results = PropTypes.shape({
107- "channel": _Channel,
107+ "channel": (...args) => _Channel.isRequired(...args),
108108 });
109109 _Query = PropTypes.shape({
110- "count": PropTypes.number,
111- "created": PropTypes.string,
112- "lang": PropTypes.string,
113- "results": _Results,
110+ "count": PropTypes.number.isRequired,
111+ "created": PropTypes.string.isRequired,
112+ "lang": PropTypes.string.isRequired,
113+ "results": (...args) => _Results.isRequired(...args),
114114 });
115115 _TopLevel = PropTypes.shape({
116- "query": _Query,
116+ "query": (...args) => _Query.isRequired(...args),
117117 });
118118
119119 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/421d4.json

1 generated file · +70 −70
Mjavascript-prop-typesdefault / toplevel.js+70 −70
@@ -26,107 +26,107 @@ let _RenderTypeConfig;
2626 let _Visible;
2727 let _Owner;
2828 _Owner = PropTypes.shape({
29- "displayName": PropTypes.string,
30- "id": PropTypes.string,
31- "screenName": PropTypes.string,
29+ "displayName": PropTypes.string.isRequired,
30+ "id": PropTypes.string.isRequired,
31+ "screenName": PropTypes.string.isRequired,
3232 });
3333 _Visible = PropTypes.shape({
34- "table": PropTypes.bool,
34+ "table": PropTypes.bool.isRequired,
3535 });
3636 _RenderTypeConfig = PropTypes.shape({
37- "visible": _Visible,
37+ "visible": (...args) => _Visible.isRequired(...args),
3838 });
3939 _Metadata = PropTypes.shape({
40- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
41- "rdfClass": PropTypes.string,
42- "rdfSubject": PropTypes.string,
43- "renderTypeConfig": _RenderTypeConfig,
44- "rowIdentifier": PropTypes.string,
40+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
41+ "rdfClass": PropTypes.string.isRequired,
42+ "rdfSubject": PropTypes.string.isRequired,
43+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
44+ "rowIdentifier": PropTypes.string.isRequired,
4545 });
4646 _License = PropTypes.shape({
47- "name": PropTypes.string,
47+ "name": PropTypes.string.isRequired,
4848 });
4949 _Grant = PropTypes.shape({
50- "flags": PropTypes.arrayOf(PropTypes.string),
51- "inherited": PropTypes.bool,
52- "type": PropTypes.string,
50+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
51+ "inherited": PropTypes.bool.isRequired,
52+ "type": PropTypes.string.isRequired,
5353 });
5454 _Query = PropTypes.shape({
5555 });
5656 _Top = PropTypes.shape({
57- "count": PropTypes.number,
58- "item": PropTypes.string,
57+ "count": PropTypes.number.isRequired,
58+ "item": PropTypes.string.isRequired,
5959 });
6060 _CachedContents = PropTypes.shape({
6161 "average": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6262 "largest": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
63- "non_null": PropTypes.number,
64- "null": PropTypes.number,
63+ "non_null": PropTypes.number.isRequired,
64+ "null": PropTypes.number.isRequired,
6565 "smallest": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6666 "sum": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
67- "top": PropTypes.oneOfType([PropTypes.arrayOf(_Top), PropTypes.any]),
67+ "top": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Top(...args)), PropTypes.any]),
6868 });
6969 _Column = PropTypes.shape({
70- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
71- "dataTypeName": PropTypes.string,
72- "fieldName": PropTypes.string,
70+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
71+ "dataTypeName": PropTypes.string.isRequired,
72+ "fieldName": PropTypes.string.isRequired,
7373 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
74- "format": _Query,
75- "id": PropTypes.number,
76- "name": PropTypes.string,
77- "position": PropTypes.number,
78- "renderTypeName": PropTypes.string,
74+ "format": (...args) => _Query.isRequired(...args),
75+ "id": PropTypes.number.isRequired,
76+ "name": PropTypes.string.isRequired,
77+ "position": PropTypes.number.isRequired,
78+ "renderTypeName": PropTypes.string.isRequired,
7979 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8080 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8181 });
8282 _View = PropTypes.shape({
83- "attribution": PropTypes.string,
84- "averageRating": PropTypes.number,
85- "category": PropTypes.string,
86- "columns": PropTypes.arrayOf(_Column),
87- "createdAt": PropTypes.number,
88- "description": PropTypes.string,
89- "displayType": PropTypes.string,
90- "downloadCount": PropTypes.number,
91- "flags": PropTypes.arrayOf(PropTypes.string),
92- "grants": PropTypes.arrayOf(_Grant),
93- "hideFromCatalog": PropTypes.bool,
94- "hideFromDataJson": PropTypes.bool,
95- "id": PropTypes.string,
96- "indexUpdatedAt": PropTypes.number,
97- "license": _License,
98- "licenseId": PropTypes.string,
99- "locale": PropTypes.string,
100- "metadata": _Metadata,
101- "name": PropTypes.string,
102- "newBackend": PropTypes.bool,
103- "numberOfComments": PropTypes.number,
104- "oid": PropTypes.number,
105- "owner": _Owner,
106- "provenance": PropTypes.string,
107- "publicationAppendEnabled": PropTypes.bool,
108- "publicationDate": PropTypes.number,
109- "publicationGroup": PropTypes.number,
110- "publicationStage": PropTypes.string,
111- "query": _Query,
112- "rights": PropTypes.arrayOf(PropTypes.string),
113- "rowClass": PropTypes.string,
114- "rowsUpdatedAt": PropTypes.number,
115- "rowsUpdatedBy": PropTypes.string,
116- "tableAuthor": _Owner,
117- "tableId": PropTypes.number,
118- "tags": PropTypes.arrayOf(PropTypes.string),
119- "totalTimesRated": PropTypes.number,
120- "viewCount": PropTypes.number,
121- "viewLastModified": PropTypes.number,
122- "viewType": PropTypes.string,
83+ "attribution": PropTypes.string.isRequired,
84+ "averageRating": PropTypes.number.isRequired,
85+ "category": PropTypes.string.isRequired,
86+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
87+ "createdAt": PropTypes.number.isRequired,
88+ "description": PropTypes.string.isRequired,
89+ "displayType": PropTypes.string.isRequired,
90+ "downloadCount": PropTypes.number.isRequired,
91+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
92+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
93+ "hideFromCatalog": PropTypes.bool.isRequired,
94+ "hideFromDataJson": PropTypes.bool.isRequired,
95+ "id": PropTypes.string.isRequired,
96+ "indexUpdatedAt": PropTypes.number.isRequired,
97+ "license": (...args) => _License.isRequired(...args),
98+ "licenseId": PropTypes.string.isRequired,
99+ "locale": PropTypes.string.isRequired,
100+ "metadata": (...args) => _Metadata.isRequired(...args),
101+ "name": PropTypes.string.isRequired,
102+ "newBackend": PropTypes.bool.isRequired,
103+ "numberOfComments": PropTypes.number.isRequired,
104+ "oid": PropTypes.number.isRequired,
105+ "owner": (...args) => _Owner.isRequired(...args),
106+ "provenance": PropTypes.string.isRequired,
107+ "publicationAppendEnabled": PropTypes.bool.isRequired,
108+ "publicationDate": PropTypes.number.isRequired,
109+ "publicationGroup": PropTypes.number.isRequired,
110+ "publicationStage": PropTypes.string.isRequired,
111+ "query": (...args) => _Query.isRequired(...args),
112+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
113+ "rowClass": PropTypes.string.isRequired,
114+ "rowsUpdatedAt": PropTypes.number.isRequired,
115+ "rowsUpdatedBy": PropTypes.string.isRequired,
116+ "tableAuthor": (...args) => _Owner.isRequired(...args),
117+ "tableId": PropTypes.number.isRequired,
118+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
119+ "totalTimesRated": PropTypes.number.isRequired,
120+ "viewCount": PropTypes.number.isRequired,
121+ "viewLastModified": PropTypes.number.isRequired,
122+ "viewType": PropTypes.string.isRequired,
123123 });
124124 _Meta = PropTypes.shape({
125- "view": _View,
125+ "view": (...args) => _View.isRequired(...args),
126126 });
127127 _TopLevel = PropTypes.shape({
128- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
129- "meta": _Meta,
128+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
129+ "meta": (...args) => _Meta.isRequired(...args),
130130 });
131131
132132 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/437e7.json

1 generated file · +72 −72
Mjavascript-prop-typesdefault / toplevel.js+72 −72
@@ -22,101 +22,101 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g', 'pg', 'y', 'pg13']);
26-const _Type = PropTypes.oneOfType(['gif']);
25+const _Rating = PropTypes.oneOf(["g", "pg", "y", "pg-13"]);
26+const _Type = PropTypes.oneOf(["gif"]);
2727 _Pagination = PropTypes.shape({
28- "count": PropTypes.number,
29- "offset": PropTypes.number,
30- "total_count": PropTypes.number,
28+ "count": PropTypes.number.isRequired,
29+ "offset": PropTypes.number.isRequired,
30+ "total_count": PropTypes.number.isRequired,
3131 });
3232 _Meta = PropTypes.shape({
33- "msg": PropTypes.string,
34- "response_id": PropTypes.string,
35- "status": PropTypes.number,
33+ "msg": PropTypes.string.isRequired,
34+ "response_id": PropTypes.string.isRequired,
35+ "status": PropTypes.number.isRequired,
3636 });
3737 _User = PropTypes.shape({
38- "avatar_url": PropTypes.string,
39- "banner_url": PropTypes.string,
40- "display_name": PropTypes.string,
41- "profile_url": PropTypes.string,
42- "twitter": PropTypes.string,
43- "username": PropTypes.string,
38+ "avatar_url": PropTypes.string.isRequired,
39+ "banner_url": PropTypes.string.isRequired,
40+ "display_name": PropTypes.string.isRequired,
41+ "profile_url": PropTypes.string.isRequired,
42+ "twitter": PropTypes.string.isRequired,
43+ "username": PropTypes.string.isRequired,
4444 });
4545 _Looping = PropTypes.shape({
46- "mp4": PropTypes.string,
47- "mp4_size": PropTypes.string,
46+ "mp4": PropTypes.string.isRequired,
47+ "mp4_size": PropTypes.string.isRequired,
4848 });
4949 _FixedHeight = PropTypes.shape({
5050 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
51- "height": PropTypes.string,
51+ "height": PropTypes.string.isRequired,
5252 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5353 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
54- "size": PropTypes.string,
55- "url": PropTypes.string,
56- "webp": PropTypes.string,
57- "webp_size": PropTypes.string,
58- "width": PropTypes.string,
54+ "size": PropTypes.string.isRequired,
55+ "url": PropTypes.string.isRequired,
56+ "webp": PropTypes.string.isRequired,
57+ "webp_size": PropTypes.string.isRequired,
58+ "width": PropTypes.string.isRequired,
5959 });
6060 _DownsizedSmall = PropTypes.shape({
61- "height": PropTypes.string,
62- "mp4": PropTypes.string,
63- "mp4_size": PropTypes.string,
64- "width": PropTypes.string,
61+ "height": PropTypes.string.isRequired,
62+ "mp4": PropTypes.string.isRequired,
63+ "mp4_size": PropTypes.string.isRequired,
64+ "width": PropTypes.string.isRequired,
6565 });
6666 _Downsized = PropTypes.shape({
67- "height": PropTypes.string,
67+ "height": PropTypes.string.isRequired,
6868 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
69- "url": PropTypes.string,
70- "width": PropTypes.string,
69+ "url": PropTypes.string.isRequired,
70+ "width": PropTypes.string.isRequired,
7171 });
7272 _Images = PropTypes.shape({
73- "downsized": _Downsized,
74- "downsized_large": _Downsized,
75- "downsized_medium": _Downsized,
76- "downsized_small": _DownsizedSmall,
77- "downsized_still": _Downsized,
78- "fixed_height": _FixedHeight,
79- "fixed_height_downsampled": _FixedHeight,
80- "fixed_height_small": _FixedHeight,
81- "fixed_height_small_still": _Downsized,
82- "fixed_height_still": _Downsized,
83- "fixed_width": _FixedHeight,
84- "fixed_width_downsampled": _FixedHeight,
85- "fixed_width_small": _FixedHeight,
86- "fixed_width_small_still": _Downsized,
87- "fixed_width_still": _Downsized,
88- "looping": _Looping,
89- "original": _FixedHeight,
90- "original_mp4": _DownsizedSmall,
91- "original_still": _Downsized,
92- "preview": _DownsizedSmall,
93- "preview_gif": _Downsized,
94- "preview_webp": _Downsized,
73+ "downsized": (...args) => _Downsized.isRequired(...args),
74+ "downsized_large": (...args) => _Downsized.isRequired(...args),
75+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
76+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
77+ "downsized_still": (...args) => _Downsized.isRequired(...args),
78+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
79+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
80+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
81+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
82+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
83+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
84+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
85+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
86+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
87+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
88+ "looping": (...args) => _Looping.isRequired(...args),
89+ "original": (...args) => _FixedHeight.isRequired(...args),
90+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
91+ "original_still": (...args) => _Downsized.isRequired(...args),
92+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
93+ "preview_gif": (...args) => _Downsized.isRequired(...args),
94+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9595 });
9696 _Datum = PropTypes.shape({
97- "bitly_gif_url": PropTypes.string,
98- "bitly_url": PropTypes.string,
99- "content_url": PropTypes.string,
100- "embed_url": PropTypes.string,
101- "id": PropTypes.string,
102- "images": _Images,
103- "import_datetime": PropTypes.string,
104- "is_indexable": PropTypes.number,
105- "rating": _Rating,
106- "slug": PropTypes.string,
107- "source": PropTypes.string,
108- "source_post_url": PropTypes.string,
109- "source_tld": PropTypes.string,
110- "trending_datetime": PropTypes.string,
111- "type": _Type,
112- "url": PropTypes.string,
113- "user": PropTypes.oneOfType([_User, PropTypes.any]),
114- "username": PropTypes.string,
97+ "bitly_gif_url": PropTypes.string.isRequired,
98+ "bitly_url": PropTypes.string.isRequired,
99+ "content_url": PropTypes.string.isRequired,
100+ "embed_url": PropTypes.string.isRequired,
101+ "id": PropTypes.string.isRequired,
102+ "images": (...args) => _Images.isRequired(...args),
103+ "import_datetime": PropTypes.string.isRequired,
104+ "is_indexable": PropTypes.number.isRequired,
105+ "rating": _Rating.isRequired,
106+ "slug": PropTypes.string.isRequired,
107+ "source": PropTypes.string.isRequired,
108+ "source_post_url": PropTypes.string.isRequired,
109+ "source_tld": PropTypes.string.isRequired,
110+ "trending_datetime": PropTypes.string.isRequired,
111+ "type": _Type.isRequired,
112+ "url": PropTypes.string.isRequired,
113+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
114+ "username": PropTypes.string.isRequired,
115115 });
116116 _TopLevel = PropTypes.shape({
117- "data": PropTypes.arrayOf(_Datum),
118- "meta": _Meta,
119- "pagination": _Pagination,
117+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
118+ "meta": (...args) => _Meta.isRequired(...args),
119+ "pagination": (...args) => _Pagination.isRequired(...args),
120120 });
121121
122122 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/43970.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "ID": PropTypes.number,
18- "Name": PropTypes.string,
19- "Notes": PropTypes.string,
17+ "ID": PropTypes.number.isRequired,
18+ "Name": PropTypes.string.isRequired,
19+ "Notes": PropTypes.string.isRequired,
2020 });
2121
22-export const TopLevel = PropTypes.arrayOf(_TopLevel);
22+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/43eaf.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/458db.json

1 generated file · +26 −26
Mjavascript-prop-typesdefault / toplevel.js+26 −26
@@ -18,43 +18,43 @@ let _ResponseInfo;
1818 let _Resultset;
1919 let _Result;
2020 let _Component;
21-const _Name = PropTypes.oneOfType(['officeOnViolenceAgainstWomen']);
21+const _Name = PropTypes.oneOf(["Office on Violence Against Women"]);
2222 _Component = PropTypes.shape({
23- "name": _Name,
24- "uuid": PropTypes.string,
23+ "name": _Name.isRequired,
24+ "uuid": PropTypes.string.isRequired,
2525 });
2626 _Result = PropTypes.shape({
27- "attachments": PropTypes.arrayOf(PropTypes.any),
28- "body": PropTypes.string,
29- "changed": PropTypes.string,
30- "component": PropTypes.arrayOf(_Component),
31- "created": PropTypes.string,
32- "date": PropTypes.string,
33- "image": PropTypes.arrayOf(PropTypes.any),
34- "teaser": PropTypes.arrayOf(PropTypes.any),
35- "title": PropTypes.string,
36- "topic": PropTypes.arrayOf(PropTypes.any),
37- "url": PropTypes.string,
38- "uuid": PropTypes.string,
39- "vuuid": PropTypes.string,
27+ "attachments": PropTypes.arrayOf(PropTypes.any).isRequired,
28+ "body": PropTypes.string.isRequired,
29+ "changed": PropTypes.string.isRequired,
30+ "component": PropTypes.arrayOf((...args) => _Component(...args)).isRequired,
31+ "created": PropTypes.string.isRequired,
32+ "date": PropTypes.string.isRequired,
33+ "image": PropTypes.arrayOf(PropTypes.any).isRequired,
34+ "teaser": PropTypes.arrayOf(PropTypes.any).isRequired,
35+ "title": PropTypes.string.isRequired,
36+ "topic": PropTypes.arrayOf(PropTypes.any).isRequired,
37+ "url": PropTypes.string.isRequired,
38+ "uuid": PropTypes.string.isRequired,
39+ "vuuid": PropTypes.string.isRequired,
4040 });
4141 _Resultset = PropTypes.shape({
42- "count": PropTypes.number,
43- "page": PropTypes.number,
44- "pagesize": PropTypes.number,
42+ "count": PropTypes.number.isRequired,
43+ "page": PropTypes.number.isRequired,
44+ "pagesize": PropTypes.number.isRequired,
4545 });
4646 _ResponseInfo = PropTypes.shape({
47- "developerMessage": PropTypes.string,
48- "status": PropTypes.number,
47+ "developerMessage": PropTypes.string.isRequired,
48+ "status": PropTypes.number.isRequired,
4949 });
5050 _Metadata = PropTypes.shape({
51- "executionTime": PropTypes.number,
52- "responseInfo": _ResponseInfo,
53- "resultset": _Resultset,
51+ "executionTime": PropTypes.number.isRequired,
52+ "responseInfo": (...args) => _ResponseInfo.isRequired(...args),
53+ "resultset": (...args) => _Resultset.isRequired(...args),
5454 });
5555 _TopLevel = PropTypes.shape({
56- "metadata": _Metadata,
57- "results": PropTypes.arrayOf(_Result),
56+ "metadata": (...args) => _Metadata.isRequired(...args),
57+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
5858 });
5959
6060 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4961a.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4a0d7.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4a455.json

1 generated file · +23 −23
Mjavascript-prop-typesdefault / toplevel.js+23 −23
@@ -18,40 +18,40 @@ let _CRSProperties;
1818 let _Feature;
1919 let _Geometry;
2020 let _FeatureProperties;
21-const _GeometryType = PropTypes.oneOfType(['multiPoint']);
22-const _GeometryName = PropTypes.oneOfType(['geom']);
23-const _FeatureType = PropTypes.oneOfType(['feature']);
21+const _GeometryType = PropTypes.oneOf(["MultiPoint"]);
22+const _GeometryName = PropTypes.oneOf(["geom"]);
23+const _FeatureType = PropTypes.oneOf(["Feature"]);
2424 _FeatureProperties = PropTypes.shape({
25- "facebookaccount": PropTypes.string,
26- "frequencyfinderurl": PropTypes.string,
27- "name": PropTypes.string,
28- "siteurl": PropTypes.string,
29- "streetaddress": PropTypes.string,
30- "twitteraccount": PropTypes.string,
25+ "facebookaccount": PropTypes.string.isRequired,
26+ "frequencyfinderurl": PropTypes.string.isRequired,
27+ "name": PropTypes.string.isRequired,
28+ "siteurl": PropTypes.string.isRequired,
29+ "streetaddress": PropTypes.string.isRequired,
30+ "twitteraccount": PropTypes.string.isRequired,
3131 });
3232 _Geometry = PropTypes.shape({
33- "coordinates": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)),
34- "type": _GeometryType,
33+ "coordinates": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)).isRequired,
34+ "type": _GeometryType.isRequired,
3535 });
3636 _Feature = PropTypes.shape({
37- "geometry": _Geometry,
38- "geometry_name": _GeometryName,
39- "id": PropTypes.string,
40- "properties": _FeatureProperties,
41- "type": _FeatureType,
37+ "geometry": (...args) => _Geometry.isRequired(...args),
38+ "geometry_name": _GeometryName.isRequired,
39+ "id": PropTypes.string.isRequired,
40+ "properties": (...args) => _FeatureProperties.isRequired(...args),
41+ "type": _FeatureType.isRequired,
4242 });
4343 _CRSProperties = PropTypes.shape({
44- "name": PropTypes.string,
44+ "name": PropTypes.string.isRequired,
4545 });
4646 _CRS = PropTypes.shape({
47- "properties": _CRSProperties,
48- "type": PropTypes.string,
47+ "properties": (...args) => _CRSProperties.isRequired(...args),
48+ "type": PropTypes.string.isRequired,
4949 });
5050 _TopLevel = PropTypes.shape({
51- "crs": _CRS,
52- "features": PropTypes.arrayOf(_Feature),
53- "totalFeatures": PropTypes.number,
54- "type": PropTypes.string,
51+ "crs": (...args) => _CRS.isRequired(...args),
52+ "features": PropTypes.arrayOf((...args) => _Feature(...args)).isRequired,
53+ "totalFeatures": PropTypes.number.isRequired,
54+ "type": PropTypes.string.isRequired,
5555 });
5656
5757 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4c547.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4d6fb.json

1 generated file · +82 −82
Mjavascript-prop-typesdefault / toplevel.js+82 −82
@@ -23,28 +23,28 @@ let _Preview;
2323 let _Image;
2424 let _Source;
2525 let _Variants;
26-const _PostHint = PropTypes.oneOfType(['richVideo', 'link']);
27-const _Subreddit = PropTypes.oneOfType(['todayilearned']);
28-const _SubredditID = PropTypes.oneOfType(['t52Qqjc']);
29-const _SubredditNamePrefixed = PropTypes.oneOfType(['rTodayilearned']);
30-const _SubredditType = PropTypes.oneOfType(['public']);
31-const _Kind = PropTypes.oneOfType(['t3']);
26+const _PostHint = PropTypes.oneOf(["rich:video", "link"]);
27+const _Subreddit = PropTypes.oneOf(["todayilearned"]);
28+const _SubredditID = PropTypes.oneOf(["t5_2qqjc"]);
29+const _SubredditNamePrefixed = PropTypes.oneOf(["r/todayilearned"]);
30+const _SubredditType = PropTypes.oneOf(["public"]);
31+const _Kind = PropTypes.oneOf(["t3"]);
3232 _Variants = PropTypes.shape({
3333 });
3434 _Source = PropTypes.shape({
35- "height": PropTypes.number,
36- "url": PropTypes.string,
37- "width": PropTypes.number,
35+ "height": PropTypes.number.isRequired,
36+ "url": PropTypes.string.isRequired,
37+ "width": PropTypes.number.isRequired,
3838 });
3939 _Image = PropTypes.shape({
40- "id": PropTypes.string,
41- "resolutions": PropTypes.arrayOf(_Source),
42- "source": _Source,
43- "variants": _Variants,
40+ "id": PropTypes.string.isRequired,
41+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
42+ "source": (...args) => _Source.isRequired(...args),
43+ "variants": (...args) => _Variants.isRequired(...args),
4444 });
4545 _Preview = PropTypes.shape({
46- "enabled": PropTypes.bool,
47- "images": PropTypes.arrayOf(_Image),
46+ "enabled": PropTypes.bool.isRequired,
47+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
4848 });
4949 _MediaEmbed = PropTypes.shape({
5050 "content": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -53,103 +53,103 @@ _MediaEmbed = PropTypes.shape({
5353 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
5454 });
5555 _Oembed = PropTypes.shape({
56- "author_name": PropTypes.string,
57- "author_url": PropTypes.string,
58- "height": PropTypes.number,
59- "html": PropTypes.string,
60- "provider_name": PropTypes.string,
61- "provider_url": PropTypes.string,
62- "thumbnail_height": PropTypes.number,
63- "thumbnail_url": PropTypes.string,
64- "thumbnail_width": PropTypes.number,
65- "title": PropTypes.string,
66- "type": PropTypes.string,
67- "version": PropTypes.string,
68- "width": PropTypes.number,
56+ "author_name": PropTypes.string.isRequired,
57+ "author_url": PropTypes.string.isRequired,
58+ "height": PropTypes.number.isRequired,
59+ "html": PropTypes.string.isRequired,
60+ "provider_name": PropTypes.string.isRequired,
61+ "provider_url": PropTypes.string.isRequired,
62+ "thumbnail_height": PropTypes.number.isRequired,
63+ "thumbnail_url": PropTypes.string.isRequired,
64+ "thumbnail_width": PropTypes.number.isRequired,
65+ "title": PropTypes.string.isRequired,
66+ "type": PropTypes.string.isRequired,
67+ "version": PropTypes.string.isRequired,
68+ "width": PropTypes.number.isRequired,
6969 });
7070 _Media = PropTypes.shape({
71- "oembed": _Oembed,
72- "type": PropTypes.string,
71+ "oembed": (...args) => _Oembed.isRequired(...args),
72+ "type": PropTypes.string.isRequired,
7373 });
7474 _ChildData = PropTypes.shape({
7575 "approved_at_utc": PropTypes.any,
7676 "approved_by": PropTypes.any,
77- "archived": PropTypes.bool,
78- "author": PropTypes.string,
77+ "archived": PropTypes.bool.isRequired,
78+ "author": PropTypes.string.isRequired,
7979 "author_flair_css_class": PropTypes.any,
8080 "author_flair_text": PropTypes.any,
8181 "banned_at_utc": PropTypes.any,
8282 "banned_by": PropTypes.any,
83- "brand_safe": PropTypes.bool,
84- "can_gild": PropTypes.bool,
85- "can_mod_post": PropTypes.bool,
86- "clicked": PropTypes.bool,
87- "contest_mode": PropTypes.bool,
88- "created": PropTypes.number,
89- "created_utc": PropTypes.number,
83+ "brand_safe": PropTypes.bool.isRequired,
84+ "can_gild": PropTypes.bool.isRequired,
85+ "can_mod_post": PropTypes.bool.isRequired,
86+ "clicked": PropTypes.bool.isRequired,
87+ "contest_mode": PropTypes.bool.isRequired,
88+ "created": PropTypes.number.isRequired,
89+ "created_utc": PropTypes.number.isRequired,
9090 "distinguished": PropTypes.any,
91- "domain": PropTypes.string,
92- "downs": PropTypes.number,
93- "edited": PropTypes.bool,
94- "gilded": PropTypes.number,
95- "hidden": PropTypes.bool,
96- "hide_score": PropTypes.bool,
97- "id": PropTypes.string,
98- "is_self": PropTypes.bool,
99- "is_video": PropTypes.bool,
91+ "domain": PropTypes.string.isRequired,
92+ "downs": PropTypes.number.isRequired,
93+ "edited": PropTypes.bool.isRequired,
94+ "gilded": PropTypes.number.isRequired,
95+ "hidden": PropTypes.bool.isRequired,
96+ "hide_score": PropTypes.bool.isRequired,
97+ "id": PropTypes.string.isRequired,
98+ "is_self": PropTypes.bool.isRequired,
99+ "is_video": PropTypes.bool.isRequired,
100100 "likes": PropTypes.any,
101101 "link_flair_css_class": PropTypes.any,
102102 "link_flair_text": PropTypes.any,
103- "locked": PropTypes.bool,
104- "media": PropTypes.oneOfType([_Media, PropTypes.any]),
105- "media_embed": _MediaEmbed,
106- "mod_reports": PropTypes.arrayOf(PropTypes.any),
107- "name": PropTypes.string,
108- "num_comments": PropTypes.number,
103+ "locked": PropTypes.bool.isRequired,
104+ "media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
105+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
106+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
107+ "name": PropTypes.string.isRequired,
108+ "num_comments": PropTypes.number.isRequired,
109109 "num_reports": PropTypes.any,
110- "over_18": PropTypes.bool,
111- "permalink": PropTypes.string,
110+ "over_18": PropTypes.bool.isRequired,
111+ "permalink": PropTypes.string.isRequired,
112112 "post_hint": PropTypes.oneOfType([_PostHint, PropTypes.any]),
113- "preview": PropTypes.oneOfType([_Preview, PropTypes.any]),
114- "quarantine": PropTypes.bool,
113+ "preview": PropTypes.oneOfType([(...args) => _Preview(...args), PropTypes.any]),
114+ "quarantine": PropTypes.bool.isRequired,
115115 "removal_reason": PropTypes.any,
116116 "report_reasons": PropTypes.any,
117- "saved": PropTypes.bool,
118- "score": PropTypes.number,
119- "secure_media": PropTypes.oneOfType([_Media, PropTypes.any]),
120- "secure_media_embed": _MediaEmbed,
121- "selftext": PropTypes.string,
117+ "saved": PropTypes.bool.isRequired,
118+ "score": PropTypes.number.isRequired,
119+ "secure_media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
120+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
121+ "selftext": PropTypes.string.isRequired,
122122 "selftext_html": PropTypes.any,
123- "spoiler": PropTypes.bool,
124- "stickied": PropTypes.bool,
125- "subreddit": _Subreddit,
126- "subreddit_id": _SubredditID,
127- "subreddit_name_prefixed": _SubredditNamePrefixed,
128- "subreddit_type": _SubredditType,
123+ "spoiler": PropTypes.bool.isRequired,
124+ "stickied": PropTypes.bool.isRequired,
125+ "subreddit": _Subreddit.isRequired,
126+ "subreddit_id": _SubredditID.isRequired,
127+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
128+ "subreddit_type": _SubredditType.isRequired,
129129 "suggested_sort": PropTypes.any,
130- "thumbnail": PropTypes.string,
130+ "thumbnail": PropTypes.string.isRequired,
131131 "thumbnail_height": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
132132 "thumbnail_width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
133- "title": PropTypes.string,
134- "ups": PropTypes.number,
135- "url": PropTypes.string,
136- "user_reports": PropTypes.arrayOf(PropTypes.any),
133+ "title": PropTypes.string.isRequired,
134+ "ups": PropTypes.number.isRequired,
135+ "url": PropTypes.string.isRequired,
136+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
137137 "view_count": PropTypes.any,
138- "visited": PropTypes.bool,
138+ "visited": PropTypes.bool.isRequired,
139139 });
140140 _Child = PropTypes.shape({
141- "data": _ChildData,
142- "kind": _Kind,
141+ "data": (...args) => _ChildData.isRequired(...args),
142+ "kind": _Kind.isRequired,
143143 });
144144 _TopLevelData = PropTypes.shape({
145- "after": PropTypes.string,
145+ "after": PropTypes.string.isRequired,
146146 "before": PropTypes.any,
147- "children": PropTypes.arrayOf(_Child),
148- "modhash": PropTypes.string,
147+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
148+ "modhash": PropTypes.string.isRequired,
149149 });
150150 _TopLevel = PropTypes.shape({
151- "data": _TopLevelData,
152- "kind": PropTypes.string,
151+ "data": (...args) => _TopLevelData.isRequired(...args),
152+ "kind": PropTypes.string.isRequired,
153153 });
154154
155155 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/4e336.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/54147.json

1 generated file · +11 −11
Mjavascript-prop-typesdefault / toplevel.js+11 −11
@@ -16,21 +16,21 @@ let _TopLevel;
1616 let _Args;
1717 let _Headers;
1818 _Headers = PropTypes.shape({
19- "Accept-Encoding": PropTypes.string,
20- "Connection": PropTypes.string,
21- "Host": PropTypes.string,
22- "User-Agent": PropTypes.string,
19+ "Accept-Encoding": PropTypes.string.isRequired,
20+ "Connection": PropTypes.string.isRequired,
21+ "Host": PropTypes.string.isRequired,
22+ "User-Agent": PropTypes.string.isRequired,
2323 });
2424 _Args = PropTypes.shape({
2525 });
2626 _TopLevel = PropTypes.shape({
27- "args": _Args,
28- "data": PropTypes.string,
29- "files": _Args,
30- "form": _Args,
31- "headers": _Headers,
32- "origin": PropTypes.string,
33- "url": PropTypes.string,
27+ "args": (...args) => _Args.isRequired(...args),
28+ "data": PropTypes.string.isRequired,
29+ "files": (...args) => _Args.isRequired(...args),
30+ "form": (...args) => _Args.isRequired(...args),
31+ "headers": (...args) => _Headers.isRequired(...args),
32+ "origin": PropTypes.string.isRequired,
33+ "url": PropTypes.string.isRequired,
3434 });
3535
3636 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/54d32.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,25 +15,25 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Facets;
1717 let _Result;
18-const _Status = PropTypes.oneOfType(['inactive', 'active']);
18+const _Status = PropTypes.oneOf(["inactive", "active"]);
1919 _Result = PropTypes.shape({
20- "created_at": PropTypes.string,
21- "id": PropTypes.string,
22- "person_id": PropTypes.string,
23- "representative_id": PropTypes.string,
24- "status": _Status,
25- "updated_at": PropTypes.string,
20+ "created_at": PropTypes.string.isRequired,
21+ "id": PropTypes.string.isRequired,
22+ "person_id": PropTypes.string.isRequired,
23+ "representative_id": PropTypes.string.isRequired,
24+ "status": _Status.isRequired,
25+ "updated_at": PropTypes.string.isRequired,
2626 });
2727 _Facets = PropTypes.shape({
2828 });
2929 _TopLevel = PropTypes.shape({
30- "count": PropTypes.number,
31- "facets": _Facets,
32- "limit": PropTypes.number,
33- "next": PropTypes.string,
34- "offset": PropTypes.number,
35- "previous": PropTypes.bool,
36- "results": PropTypes.arrayOf(_Result),
30+ "count": PropTypes.number.isRequired,
31+ "facets": (...args) => _Facets.isRequired(...args),
32+ "limit": PropTypes.number.isRequired,
33+ "next": PropTypes.string.isRequired,
34+ "offset": PropTypes.number.isRequired,
35+ "previous": PropTypes.bool.isRequired,
36+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
3737 });
3838
3939 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/570ec.json

1 generated file · +17 −17
Mjavascript-prop-typesdefault / toplevel.js+17 −17
@@ -17,33 +17,33 @@ let _Identifier;
1717 let _Link;
1818 let _OtherName;
1919 let _Text;
20-const _Scheme = PropTypes.oneOfType(['dep5', 'spdx', 'trove']);
20+const _Scheme = PropTypes.oneOf(["DEP5", "SPDX", "Trove"]);
2121 _Text = PropTypes.shape({
22- "media_type": PropTypes.string,
23- "title": PropTypes.string,
24- "url": PropTypes.string,
22+ "media_type": PropTypes.string.isRequired,
23+ "title": PropTypes.string.isRequired,
24+ "url": PropTypes.string.isRequired,
2525 });
2626 _OtherName = PropTypes.shape({
27- "name": PropTypes.string,
27+ "name": PropTypes.string.isRequired,
2828 "note": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2929 });
3030 _Link = PropTypes.shape({
31- "note": PropTypes.string,
32- "url": PropTypes.string,
31+ "note": PropTypes.string.isRequired,
32+ "url": PropTypes.string.isRequired,
3333 });
3434 _Identifier = PropTypes.shape({
35- "identifier": PropTypes.string,
36- "scheme": _Scheme,
35+ "identifier": PropTypes.string.isRequired,
36+ "scheme": _Scheme.isRequired,
3737 });
3838 _TopLevel = PropTypes.shape({
39- "id": PropTypes.string,
40- "identifiers": PropTypes.arrayOf(_Identifier),
41- "keywords": PropTypes.arrayOf(PropTypes.string),
42- "links": PropTypes.arrayOf(_Link),
43- "name": PropTypes.string,
44- "other_names": PropTypes.arrayOf(_OtherName),
39+ "id": PropTypes.string.isRequired,
40+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
41+ "keywords": PropTypes.arrayOf(PropTypes.string).isRequired,
42+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
43+ "name": PropTypes.string.isRequired,
44+ "other_names": PropTypes.arrayOf((...args) => _OtherName(...args)).isRequired,
4545 "superseded_by": PropTypes.any,
46- "text": PropTypes.arrayOf(_Text),
46+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4747 });
4848
49-export const TopLevel = PropTypes.arrayOf(_TopLevel);
49+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/5dd0d.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/5eae5.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -14,10 +14,10 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "Date": PropTypes.string,
18- "ID": PropTypes.number,
19- "Sponsor": PropTypes.string,
20- "Title": PropTypes.string,
17+ "Date": PropTypes.string.isRequired,
18+ "ID": PropTypes.number.isRequired,
19+ "Sponsor": PropTypes.string.isRequired,
20+ "Title": PropTypes.string.isRequired,
2121 });
2222
23-export const TopLevel = PropTypes.arrayOf(_TopLevel);
23+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/5eb20.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/5f3a1.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/5f7fe.json

1 generated file · +109 −109
Mjavascript-prop-typesdefault / toplevel.js+109 −109
@@ -36,167 +36,167 @@ let _Owner;
3636 let _Query;
3737 let _OrderBy;
3838 let _Expression;
39-const _TypeName = PropTypes.oneOfType(['metaData', 'calendarDate', 'text']);
39+const _TypeName = PropTypes.oneOf(["meta_data", "calendar_date", "text"]);
4040 _Expression = PropTypes.shape({
41- "columnId": PropTypes.number,
42- "type": PropTypes.string,
41+ "columnId": PropTypes.number.isRequired,
42+ "type": PropTypes.string.isRequired,
4343 });
4444 _OrderBy = PropTypes.shape({
45- "ascending": PropTypes.bool,
46- "expression": _Expression,
45+ "ascending": PropTypes.bool.isRequired,
46+ "expression": (...args) => _Expression.isRequired(...args),
4747 });
4848 _Query = PropTypes.shape({
49- "orderBys": PropTypes.arrayOf(_OrderBy),
49+ "orderBys": PropTypes.arrayOf((...args) => _OrderBy(...args)).isRequired,
5050 });
5151 _Owner = PropTypes.shape({
52- "displayName": PropTypes.string,
53- "id": PropTypes.string,
54- "profileImageUrlLarge": PropTypes.string,
55- "profileImageUrlMedium": PropTypes.string,
56- "profileImageUrlSmall": PropTypes.string,
57- "rights": PropTypes.arrayOf(PropTypes.string),
58- "roleName": PropTypes.string,
59- "screenName": PropTypes.string,
52+ "displayName": PropTypes.string.isRequired,
53+ "id": PropTypes.string.isRequired,
54+ "profileImageUrlLarge": PropTypes.string.isRequired,
55+ "profileImageUrlMedium": PropTypes.string.isRequired,
56+ "profileImageUrlSmall": PropTypes.string.isRequired,
57+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
58+ "roleName": PropTypes.string.isRequired,
59+ "screenName": PropTypes.string.isRequired,
6060 });
6161 _Visible = PropTypes.shape({
62- "table": PropTypes.bool,
62+ "table": PropTypes.bool.isRequired,
6363 });
6464 _RenderTypeConfig = PropTypes.shape({
65- "visible": _Visible,
65+ "visible": (...args) => _Visible.isRequired(...args),
6666 });
6767 _Order = PropTypes.shape({
68- "ascending": PropTypes.bool,
69- "columnFieldName": PropTypes.string,
68+ "ascending": PropTypes.bool.isRequired,
69+ "columnFieldName": PropTypes.string.isRequired,
7070 });
7171 _JSONQuery = PropTypes.shape({
72- "order": PropTypes.arrayOf(_Order),
72+ "order": PropTypes.arrayOf((...args) => _Order(...args)).isRequired,
7373 });
7474 _Notes = PropTypes.shape({
75- "Notes": PropTypes.string,
75+ "Notes": PropTypes.string.isRequired,
7676 });
7777 _DatasetSummary = PropTypes.shape({
78- "Contact Information": PropTypes.string,
79- "Coverage": PropTypes.string,
80- "Data Frequency": PropTypes.string,
81- "Dataset Owner": PropTypes.string,
82- "Granularity": PropTypes.string,
83- "Organization": PropTypes.string,
84- "Posting Frequency": PropTypes.string,
85- "Time Period": PropTypes.string,
86- "Units": PropTypes.string,
78+ "Contact Information": PropTypes.string.isRequired,
79+ "Coverage": PropTypes.string.isRequired,
80+ "Data Frequency": PropTypes.string.isRequired,
81+ "Dataset Owner": PropTypes.string.isRequired,
82+ "Granularity": PropTypes.string.isRequired,
83+ "Organization": PropTypes.string.isRequired,
84+ "Posting Frequency": PropTypes.string.isRequired,
85+ "Time Period": PropTypes.string.isRequired,
86+ "Units": PropTypes.string.isRequired,
8787 });
8888 _DatasetInformation = PropTypes.shape({
89- "Agency": PropTypes.string,
89+ "Agency": PropTypes.string.isRequired,
9090 });
9191 _CommonCore = PropTypes.shape({
92- "Contact Email": PropTypes.string,
93- "Contact Name": PropTypes.string,
94- "Publisher": PropTypes.string,
92+ "Contact Email": PropTypes.string.isRequired,
93+ "Contact Name": PropTypes.string.isRequired,
94+ "Publisher": PropTypes.string.isRequired,
9595 });
9696 _AdditionalResources = PropTypes.shape({
97- "See Also": PropTypes.string,
98- "See Also ": PropTypes.string,
97+ "See Also": PropTypes.string.isRequired,
98+ "See Also ": PropTypes.string.isRequired,
9999 });
100100 _CustomFields = PropTypes.shape({
101- "Additional Resources": _AdditionalResources,
102- "Common Core": _CommonCore,
103- "Dataset Information": _DatasetInformation,
104- "Dataset Summary": _DatasetSummary,
105- "Notes": _Notes,
101+ "Additional Resources": (...args) => _AdditionalResources.isRequired(...args),
102+ "Common Core": (...args) => _CommonCore.isRequired(...args),
103+ "Dataset Information": (...args) => _DatasetInformation.isRequired(...args),
104+ "Dataset Summary": (...args) => _DatasetSummary.isRequired(...args),
105+ "Notes": (...args) => _Notes.isRequired(...args),
106106 });
107107 _Attachment = PropTypes.shape({
108- "assetId": PropTypes.string,
109- "blobId": PropTypes.string,
110- "filename": PropTypes.string,
111- "name": PropTypes.string,
108+ "assetId": PropTypes.string.isRequired,
109+ "blobId": PropTypes.string.isRequired,
110+ "filename": PropTypes.string.isRequired,
111+ "name": PropTypes.string.isRequired,
112112 });
113113 _Metadata = PropTypes.shape({
114- "attachments": PropTypes.arrayOf(_Attachment),
115- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
116- "custom_fields": _CustomFields,
117- "jsonQuery": _JSONQuery,
118- "rdfSubject": PropTypes.string,
119- "renderTypeConfig": _RenderTypeConfig,
114+ "attachments": PropTypes.arrayOf((...args) => _Attachment(...args)).isRequired,
115+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
116+ "custom_fields": (...args) => _CustomFields.isRequired(...args),
117+ "jsonQuery": (...args) => _JSONQuery.isRequired(...args),
118+ "rdfSubject": PropTypes.string.isRequired,
119+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
120120 });
121121 _Grant = PropTypes.shape({
122- "flags": PropTypes.arrayOf(PropTypes.string),
123- "inherited": PropTypes.bool,
124- "type": PropTypes.string,
122+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
123+ "inherited": PropTypes.bool.isRequired,
124+ "type": PropTypes.string.isRequired,
125125 });
126126 _Format = PropTypes.shape({
127127 "align": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
128128 "view": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
129129 });
130130 _Top = PropTypes.shape({
131- "count": PropTypes.number,
132- "item": PropTypes.string,
131+ "count": PropTypes.number.isRequired,
132+ "item": PropTypes.string.isRequired,
133133 });
134134 _CachedContents = PropTypes.shape({
135- "largest": PropTypes.string,
136- "non_null": PropTypes.number,
137- "null": PropTypes.number,
138- "smallest": PropTypes.string,
139- "top": PropTypes.arrayOf(_Top),
135+ "largest": PropTypes.string.isRequired,
136+ "non_null": PropTypes.number.isRequired,
137+ "null": PropTypes.number.isRequired,
138+ "smallest": PropTypes.string.isRequired,
139+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
140140 });
141141 _Column = PropTypes.shape({
142- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
143- "dataTypeName": _TypeName,
144- "fieldName": PropTypes.string,
142+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
143+ "dataTypeName": _TypeName.isRequired,
144+ "fieldName": PropTypes.string.isRequired,
145145 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
146- "format": _Format,
147- "id": PropTypes.number,
148- "name": PropTypes.string,
149- "position": PropTypes.number,
150- "renderTypeName": _TypeName,
146+ "format": (...args) => _Format.isRequired(...args),
147+ "id": PropTypes.number.isRequired,
148+ "name": PropTypes.string.isRequired,
149+ "position": PropTypes.number.isRequired,
150+ "renderTypeName": _TypeName.isRequired,
151151 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
152152 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
153153 });
154154 _View = PropTypes.shape({
155- "attribution": PropTypes.string,
156- "attributionLink": PropTypes.string,
157- "averageRating": PropTypes.number,
158- "category": PropTypes.string,
159- "columns": PropTypes.arrayOf(_Column),
160- "createdAt": PropTypes.number,
161- "description": PropTypes.string,
162- "displayType": PropTypes.string,
163- "downloadCount": PropTypes.number,
164- "flags": PropTypes.arrayOf(PropTypes.string),
165- "grants": PropTypes.arrayOf(_Grant),
166- "hideFromCatalog": PropTypes.bool,
167- "hideFromDataJson": PropTypes.bool,
168- "id": PropTypes.string,
169- "indexUpdatedAt": PropTypes.number,
170- "locale": PropTypes.string,
171- "metadata": _Metadata,
172- "name": PropTypes.string,
173- "newBackend": PropTypes.bool,
174- "numberOfComments": PropTypes.number,
175- "oid": PropTypes.number,
176- "owner": _Owner,
177- "provenance": PropTypes.string,
178- "publicationAppendEnabled": PropTypes.bool,
179- "publicationDate": PropTypes.number,
180- "publicationGroup": PropTypes.number,
181- "publicationStage": PropTypes.string,
182- "query": _Query,
183- "rights": PropTypes.arrayOf(PropTypes.string),
184- "rowsUpdatedAt": PropTypes.number,
185- "rowsUpdatedBy": PropTypes.string,
186- "tableAuthor": _Owner,
187- "tableId": PropTypes.number,
188- "tags": PropTypes.arrayOf(PropTypes.string),
189- "totalTimesRated": PropTypes.number,
190- "viewCount": PropTypes.number,
191- "viewLastModified": PropTypes.number,
192- "viewType": PropTypes.string,
155+ "attribution": PropTypes.string.isRequired,
156+ "attributionLink": PropTypes.string.isRequired,
157+ "averageRating": PropTypes.number.isRequired,
158+ "category": PropTypes.string.isRequired,
159+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
160+ "createdAt": PropTypes.number.isRequired,
161+ "description": PropTypes.string.isRequired,
162+ "displayType": PropTypes.string.isRequired,
163+ "downloadCount": PropTypes.number.isRequired,
164+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
165+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
166+ "hideFromCatalog": PropTypes.bool.isRequired,
167+ "hideFromDataJson": PropTypes.bool.isRequired,
168+ "id": PropTypes.string.isRequired,
169+ "indexUpdatedAt": PropTypes.number.isRequired,
170+ "locale": PropTypes.string.isRequired,
171+ "metadata": (...args) => _Metadata.isRequired(...args),
172+ "name": PropTypes.string.isRequired,
173+ "newBackend": PropTypes.bool.isRequired,
174+ "numberOfComments": PropTypes.number.isRequired,
175+ "oid": PropTypes.number.isRequired,
176+ "owner": (...args) => _Owner.isRequired(...args),
177+ "provenance": PropTypes.string.isRequired,
178+ "publicationAppendEnabled": PropTypes.bool.isRequired,
179+ "publicationDate": PropTypes.number.isRequired,
180+ "publicationGroup": PropTypes.number.isRequired,
181+ "publicationStage": PropTypes.string.isRequired,
182+ "query": (...args) => _Query.isRequired(...args),
183+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
184+ "rowsUpdatedAt": PropTypes.number.isRequired,
185+ "rowsUpdatedBy": PropTypes.string.isRequired,
186+ "tableAuthor": (...args) => _Owner.isRequired(...args),
187+ "tableId": PropTypes.number.isRequired,
188+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
189+ "totalTimesRated": PropTypes.number.isRequired,
190+ "viewCount": PropTypes.number.isRequired,
191+ "viewLastModified": PropTypes.number.isRequired,
192+ "viewType": PropTypes.string.isRequired,
193193 });
194194 _Meta = PropTypes.shape({
195- "view": _View,
195+ "view": (...args) => _View.isRequired(...args),
196196 });
197197 _TopLevel = PropTypes.shape({
198- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
199- "meta": _Meta,
198+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
199+ "meta": (...args) => _Meta.isRequired(...args),
200200 });
201201
202202 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/617e8.json

1 generated file · +107 −107
Mjavascript-prop-typesdefault / toplevel.js+107 −107
@@ -36,166 +36,166 @@ let _Owner;
3636 let _Query;
3737 let _OrderBy;
3838 let _Expression;
39-const _TypeName = PropTypes.oneOfType(['metaData', 'calendarDate', 'text']);
39+const _TypeName = PropTypes.oneOf(["meta_data", "calendar_date", "text"]);
4040 _Expression = PropTypes.shape({
41- "columnId": PropTypes.number,
42- "type": PropTypes.string,
41+ "columnId": PropTypes.number.isRequired,
42+ "type": PropTypes.string.isRequired,
4343 });
4444 _OrderBy = PropTypes.shape({
45- "ascending": PropTypes.bool,
46- "expression": _Expression,
45+ "ascending": PropTypes.bool.isRequired,
46+ "expression": (...args) => _Expression.isRequired(...args),
4747 });
4848 _Query = PropTypes.shape({
49- "orderBys": PropTypes.arrayOf(_OrderBy),
49+ "orderBys": PropTypes.arrayOf((...args) => _OrderBy(...args)).isRequired,
5050 });
5151 _Owner = PropTypes.shape({
52- "displayName": PropTypes.string,
53- "id": PropTypes.string,
54- "profileImageUrlLarge": PropTypes.string,
55- "profileImageUrlMedium": PropTypes.string,
56- "profileImageUrlSmall": PropTypes.string,
57- "rights": PropTypes.arrayOf(PropTypes.string),
58- "roleName": PropTypes.string,
59- "screenName": PropTypes.string,
52+ "displayName": PropTypes.string.isRequired,
53+ "id": PropTypes.string.isRequired,
54+ "profileImageUrlLarge": PropTypes.string.isRequired,
55+ "profileImageUrlMedium": PropTypes.string.isRequired,
56+ "profileImageUrlSmall": PropTypes.string.isRequired,
57+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
58+ "roleName": PropTypes.string.isRequired,
59+ "screenName": PropTypes.string.isRequired,
6060 });
6161 _Visible = PropTypes.shape({
62- "table": PropTypes.bool,
62+ "table": PropTypes.bool.isRequired,
6363 });
6464 _RenderTypeConfig = PropTypes.shape({
65- "visible": _Visible,
65+ "visible": (...args) => _Visible.isRequired(...args),
6666 });
6767 _Order = PropTypes.shape({
68- "ascending": PropTypes.bool,
69- "columnFieldName": PropTypes.string,
68+ "ascending": PropTypes.bool.isRequired,
69+ "columnFieldName": PropTypes.string.isRequired,
7070 });
7171 _JSONQuery = PropTypes.shape({
72- "order": PropTypes.arrayOf(_Order),
72+ "order": PropTypes.arrayOf((...args) => _Order(...args)).isRequired,
7373 });
7474 _Notes = PropTypes.shape({
75- "Notes": PropTypes.string,
75+ "Notes": PropTypes.string.isRequired,
7676 });
7777 _DatasetSummary = PropTypes.shape({
78- "Contact Information": PropTypes.string,
79- "Coverage": PropTypes.string,
80- "Data Frequency": PropTypes.string,
81- "Dataset Owner": PropTypes.string,
82- "Granularity": PropTypes.string,
83- "Organization": PropTypes.string,
84- "Posting Frequency": PropTypes.string,
85- "Time Period": PropTypes.string,
78+ "Contact Information": PropTypes.string.isRequired,
79+ "Coverage": PropTypes.string.isRequired,
80+ "Data Frequency": PropTypes.string.isRequired,
81+ "Dataset Owner": PropTypes.string.isRequired,
82+ "Granularity": PropTypes.string.isRequired,
83+ "Organization": PropTypes.string.isRequired,
84+ "Posting Frequency": PropTypes.string.isRequired,
85+ "Time Period": PropTypes.string.isRequired,
8686 });
8787 _DatasetInformation = PropTypes.shape({
88- "Agency": PropTypes.string,
88+ "Agency": PropTypes.string.isRequired,
8989 });
9090 _CommonCore = PropTypes.shape({
91- "Contact Email": PropTypes.string,
92- "Contact Name": PropTypes.string,
93- "Publisher": PropTypes.string,
91+ "Contact Email": PropTypes.string.isRequired,
92+ "Contact Name": PropTypes.string.isRequired,
93+ "Publisher": PropTypes.string.isRequired,
9494 });
9595 _AdditionalResources = PropTypes.shape({
96- "See Also": PropTypes.string,
96+ "See Also": PropTypes.string.isRequired,
9797 });
9898 _CustomFields = PropTypes.shape({
99- "Additional Resources": _AdditionalResources,
100- "Common Core": _CommonCore,
101- "Dataset Information": _DatasetInformation,
102- "Dataset Summary": _DatasetSummary,
103- "Notes": _Notes,
99+ "Additional Resources": (...args) => _AdditionalResources.isRequired(...args),
100+ "Common Core": (...args) => _CommonCore.isRequired(...args),
101+ "Dataset Information": (...args) => _DatasetInformation.isRequired(...args),
102+ "Dataset Summary": (...args) => _DatasetSummary.isRequired(...args),
103+ "Notes": (...args) => _Notes.isRequired(...args),
104104 });
105105 _Attachment = PropTypes.shape({
106- "assetId": PropTypes.string,
107- "blobId": PropTypes.string,
108- "filename": PropTypes.string,
109- "name": PropTypes.string,
106+ "assetId": PropTypes.string.isRequired,
107+ "blobId": PropTypes.string.isRequired,
108+ "filename": PropTypes.string.isRequired,
109+ "name": PropTypes.string.isRequired,
110110 });
111111 _Metadata = PropTypes.shape({
112- "attachments": PropTypes.arrayOf(_Attachment),
113- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
114- "custom_fields": _CustomFields,
115- "jsonQuery": _JSONQuery,
116- "rdfSubject": PropTypes.string,
117- "renderTypeConfig": _RenderTypeConfig,
112+ "attachments": PropTypes.arrayOf((...args) => _Attachment(...args)).isRequired,
113+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
114+ "custom_fields": (...args) => _CustomFields.isRequired(...args),
115+ "jsonQuery": (...args) => _JSONQuery.isRequired(...args),
116+ "rdfSubject": PropTypes.string.isRequired,
117+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
118118 });
119119 _Grant = PropTypes.shape({
120- "flags": PropTypes.arrayOf(PropTypes.string),
121- "inherited": PropTypes.bool,
122- "type": PropTypes.string,
120+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
121+ "inherited": PropTypes.bool.isRequired,
122+ "type": PropTypes.string.isRequired,
123123 });
124124 _Format = PropTypes.shape({
125125 "align": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
126126 "view": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
127127 });
128128 _Top = PropTypes.shape({
129- "count": PropTypes.number,
130- "item": PropTypes.string,
129+ "count": PropTypes.number.isRequired,
130+ "item": PropTypes.string.isRequired,
131131 });
132132 _CachedContents = PropTypes.shape({
133- "largest": PropTypes.string,
134- "non_null": PropTypes.number,
135- "null": PropTypes.number,
136- "smallest": PropTypes.string,
137- "top": PropTypes.arrayOf(_Top),
133+ "largest": PropTypes.string.isRequired,
134+ "non_null": PropTypes.number.isRequired,
135+ "null": PropTypes.number.isRequired,
136+ "smallest": PropTypes.string.isRequired,
137+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
138138 });
139139 _Column = PropTypes.shape({
140- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
141- "dataTypeName": _TypeName,
140+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
141+ "dataTypeName": _TypeName.isRequired,
142142 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
143- "fieldName": PropTypes.string,
143+ "fieldName": PropTypes.string.isRequired,
144144 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
145- "format": _Format,
146- "id": PropTypes.number,
147- "name": PropTypes.string,
148- "position": PropTypes.number,
149- "renderTypeName": _TypeName,
145+ "format": (...args) => _Format.isRequired(...args),
146+ "id": PropTypes.number.isRequired,
147+ "name": PropTypes.string.isRequired,
148+ "position": PropTypes.number.isRequired,
149+ "renderTypeName": _TypeName.isRequired,
150150 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
151151 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
152152 });
153153 _View = PropTypes.shape({
154- "attribution": PropTypes.string,
155- "attributionLink": PropTypes.string,
156- "averageRating": PropTypes.number,
157- "category": PropTypes.string,
158- "columns": PropTypes.arrayOf(_Column),
159- "createdAt": PropTypes.number,
160- "description": PropTypes.string,
161- "displayType": PropTypes.string,
162- "downloadCount": PropTypes.number,
163- "flags": PropTypes.arrayOf(PropTypes.string),
164- "grants": PropTypes.arrayOf(_Grant),
165- "hideFromCatalog": PropTypes.bool,
166- "hideFromDataJson": PropTypes.bool,
167- "id": PropTypes.string,
168- "indexUpdatedAt": PropTypes.number,
169- "locale": PropTypes.string,
170- "metadata": _Metadata,
171- "name": PropTypes.string,
172- "newBackend": PropTypes.bool,
173- "numberOfComments": PropTypes.number,
174- "oid": PropTypes.number,
175- "owner": _Owner,
176- "provenance": PropTypes.string,
177- "publicationAppendEnabled": PropTypes.bool,
178- "publicationDate": PropTypes.number,
179- "publicationGroup": PropTypes.number,
180- "publicationStage": PropTypes.string,
181- "query": _Query,
182- "rights": PropTypes.arrayOf(PropTypes.string),
183- "rowsUpdatedAt": PropTypes.number,
184- "rowsUpdatedBy": PropTypes.string,
185- "tableAuthor": _Owner,
186- "tableId": PropTypes.number,
187- "tags": PropTypes.arrayOf(PropTypes.string),
188- "totalTimesRated": PropTypes.number,
189- "viewCount": PropTypes.number,
190- "viewLastModified": PropTypes.number,
191- "viewType": PropTypes.string,
154+ "attribution": PropTypes.string.isRequired,
155+ "attributionLink": PropTypes.string.isRequired,
156+ "averageRating": PropTypes.number.isRequired,
157+ "category": PropTypes.string.isRequired,
158+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
159+ "createdAt": PropTypes.number.isRequired,
160+ "description": PropTypes.string.isRequired,
161+ "displayType": PropTypes.string.isRequired,
162+ "downloadCount": PropTypes.number.isRequired,
163+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
164+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
165+ "hideFromCatalog": PropTypes.bool.isRequired,
166+ "hideFromDataJson": PropTypes.bool.isRequired,
167+ "id": PropTypes.string.isRequired,
168+ "indexUpdatedAt": PropTypes.number.isRequired,
169+ "locale": PropTypes.string.isRequired,
170+ "metadata": (...args) => _Metadata.isRequired(...args),
171+ "name": PropTypes.string.isRequired,
172+ "newBackend": PropTypes.bool.isRequired,
173+ "numberOfComments": PropTypes.number.isRequired,
174+ "oid": PropTypes.number.isRequired,
175+ "owner": (...args) => _Owner.isRequired(...args),
176+ "provenance": PropTypes.string.isRequired,
177+ "publicationAppendEnabled": PropTypes.bool.isRequired,
178+ "publicationDate": PropTypes.number.isRequired,
179+ "publicationGroup": PropTypes.number.isRequired,
180+ "publicationStage": PropTypes.string.isRequired,
181+ "query": (...args) => _Query.isRequired(...args),
182+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
183+ "rowsUpdatedAt": PropTypes.number.isRequired,
184+ "rowsUpdatedBy": PropTypes.string.isRequired,
185+ "tableAuthor": (...args) => _Owner.isRequired(...args),
186+ "tableId": PropTypes.number.isRequired,
187+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
188+ "totalTimesRated": PropTypes.number.isRequired,
189+ "viewCount": PropTypes.number.isRequired,
190+ "viewLastModified": PropTypes.number.isRequired,
191+ "viewType": PropTypes.string.isRequired,
192192 });
193193 _Meta = PropTypes.shape({
194- "view": _View,
194+ "view": (...args) => _View.isRequired(...args),
195195 });
196196 _TopLevel = PropTypes.shape({
197- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
198- "meta": _Meta,
197+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
198+ "meta": (...args) => _Meta.isRequired(...args),
199199 });
200200
201201 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/61b66.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/6260a.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/65dec.json

1 generated file · +36 −36
Mjavascript-prop-typesdefault / toplevel.js+36 −36
@@ -16,62 +16,62 @@ let _TopLevel;
1616 let _Card;
1717 let _LegalityElement;
1818 let _Ruling;
19-const _ColorIdentity = PropTypes.oneOfType(['w', 'r', 'b', 'g', 'u']);
20-const _Watermark = PropTypes.oneOfType(['white', 'red', 'black', 'green', 'blue']);
21-const _Layout = PropTypes.oneOfType(['normal']);
22-const _LegalityEnum = PropTypes.oneOfType(['legal', 'banned', 'restricted']);
23-const _Rarity = PropTypes.oneOfType(['uncommon', 'rare', 'common', 'basicLand']);
24-const _Type = PropTypes.oneOfType(['creature', 'artifact', 'instant', 'land', 'enchantment', 'sorcery']);
19+const _ColorIdentity = PropTypes.oneOf(["W", "R", "B", "G", "U"]);
20+const _Watermark = PropTypes.oneOf(["White", "Red", "Black", "Green", "Blue"]);
21+const _Layout = PropTypes.oneOf(["normal"]);
22+const _LegalityEnum = PropTypes.oneOf(["Legal", "Banned", "Restricted"]);
23+const _Rarity = PropTypes.oneOf(["Uncommon", "Rare", "Common", "Basic Land"]);
24+const _Type = PropTypes.oneOf(["Creature", "Artifact", "Instant", "Land", "Enchantment", "Sorcery"]);
2525 _Ruling = PropTypes.shape({
26- "date": PropTypes.string,
27- "text": PropTypes.string,
26+ "date": PropTypes.string.isRequired,
27+ "text": PropTypes.string.isRequired,
2828 });
2929 _LegalityElement = PropTypes.shape({
30- "format": PropTypes.string,
31- "legality": _LegalityEnum,
30+ "format": PropTypes.string.isRequired,
31+ "legality": _LegalityEnum.isRequired,
3232 });
3333 _Card = PropTypes.shape({
34- "artist": PropTypes.string,
35- "cmc": PropTypes.number,
34+ "artist": PropTypes.string.isRequired,
35+ "cmc": PropTypes.number.isRequired,
3636 "colorIdentity": PropTypes.oneOfType([PropTypes.arrayOf(_ColorIdentity), PropTypes.any]),
3737 "colors": PropTypes.oneOfType([PropTypes.arrayOf(_Watermark), PropTypes.any]),
3838 "flavor": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
39- "id": PropTypes.string,
40- "imageName": PropTypes.string,
41- "layout": _Layout,
42- "legalities": PropTypes.arrayOf(_LegalityElement),
39+ "id": PropTypes.string.isRequired,
40+ "imageName": PropTypes.string.isRequired,
41+ "layout": _Layout.isRequired,
42+ "legalities": PropTypes.arrayOf((...args) => _LegalityElement(...args)).isRequired,
4343 "manaCost": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4444 "mciNumber": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
45- "multiverseid": PropTypes.number,
46- "name": PropTypes.string,
47- "originalText": PropTypes.string,
48- "originalType": PropTypes.string,
45+ "multiverseid": PropTypes.number.isRequired,
46+ "name": PropTypes.string.isRequired,
47+ "originalText": PropTypes.string.isRequired,
48+ "originalType": PropTypes.string.isRequired,
4949 "power": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
50- "printings": PropTypes.arrayOf(PropTypes.string),
51- "rarity": _Rarity,
50+ "printings": PropTypes.arrayOf(PropTypes.string).isRequired,
51+ "rarity": _Rarity.isRequired,
5252 "reserved": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
53- "rulings": PropTypes.oneOfType([PropTypes.arrayOf(_Ruling), PropTypes.any]),
53+ "rulings": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Ruling(...args)), PropTypes.any]),
5454 "subtypes": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
5555 "supertypes": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
5656 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5757 "toughness": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
58- "type": PropTypes.string,
59- "types": PropTypes.arrayOf(_Type),
58+ "type": PropTypes.string.isRequired,
59+ "types": PropTypes.arrayOf(_Type).isRequired,
6060 "variations": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any]),
6161 "watermark": PropTypes.oneOfType([_Watermark, PropTypes.any]),
6262 });
6363 _TopLevel = PropTypes.shape({
64- "booster": PropTypes.arrayOf(PropTypes.string),
65- "border": PropTypes.string,
66- "cards": PropTypes.arrayOf(_Card),
67- "code": PropTypes.string,
68- "gathererCode": PropTypes.string,
69- "magicCardsInfoCode": PropTypes.string,
70- "mkm_id": PropTypes.number,
71- "mkm_name": PropTypes.string,
72- "name": PropTypes.string,
73- "releaseDate": PropTypes.string,
74- "type": PropTypes.string,
64+ "booster": PropTypes.arrayOf(PropTypes.string).isRequired,
65+ "border": PropTypes.string.isRequired,
66+ "cards": PropTypes.arrayOf((...args) => _Card(...args)).isRequired,
67+ "code": PropTypes.string.isRequired,
68+ "gathererCode": PropTypes.string.isRequired,
69+ "magicCardsInfoCode": PropTypes.string.isRequired,
70+ "mkm_id": PropTypes.number.isRequired,
71+ "mkm_name": PropTypes.string.isRequired,
72+ "name": PropTypes.string.isRequired,
73+ "releaseDate": PropTypes.string.isRequired,
74+ "type": PropTypes.string.isRequired,
7575 });
7676
7777 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/66121.json

1 generated file · +20 −20
Mjavascript-prop-typesdefault / toplevel.js+20 −20
@@ -16,33 +16,33 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Scheme = PropTypes.oneOfType(['spdx', 'trove', 'dep5']);
20-const _Keyword = PropTypes.oneOfType(['osiApproved', 'discouraged', 'redundant']);
21-const _Note = PropTypes.oneOfType(['osiPage']);
22-const _MediaType = PropTypes.oneOfType(['textHTML']);
23-const _Title = PropTypes.oneOfType(['html']);
19+const _Scheme = PropTypes.oneOf(["SPDX", "Trove", "DEP5"]);
20+const _Keyword = PropTypes.oneOf(["osi-approved", "discouraged", "redundant"]);
21+const _Note = PropTypes.oneOf(["OSI Page"]);
22+const _MediaType = PropTypes.oneOf(["text/html"]);
23+const _Title = PropTypes.oneOf(["HTML"]);
2424 _Text = PropTypes.shape({
25- "media_type": _MediaType,
26- "title": _Title,
27- "url": PropTypes.string,
25+ "media_type": _MediaType.isRequired,
26+ "title": _Title.isRequired,
27+ "url": PropTypes.string.isRequired,
2828 });
2929 _Link = PropTypes.shape({
30- "note": _Note,
31- "url": PropTypes.string,
30+ "note": _Note.isRequired,
31+ "url": PropTypes.string.isRequired,
3232 });
3333 _Identifier = PropTypes.shape({
34- "identifier": PropTypes.string,
35- "scheme": _Scheme,
34+ "identifier": PropTypes.string.isRequired,
35+ "scheme": _Scheme.isRequired,
3636 });
3737 _TopLevel = PropTypes.shape({
38- "id": PropTypes.string,
39- "identifiers": PropTypes.arrayOf(_Identifier),
40- "keywords": PropTypes.arrayOf(_Keyword),
41- "links": PropTypes.arrayOf(_Link),
42- "name": PropTypes.string,
43- "other_names": PropTypes.arrayOf(PropTypes.any),
38+ "id": PropTypes.string.isRequired,
39+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
40+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
41+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
42+ "name": PropTypes.string.isRequired,
43+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
4444 "superseded_by": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
45- "text": PropTypes.arrayOf(_Text),
45+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4646 });
4747
48-export const TopLevel = PropTypes.arrayOf(_TopLevel);
48+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/6617c.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -15,13 +15,13 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _IssPosition;
1717 _IssPosition = PropTypes.shape({
18- "latitude": PropTypes.string,
19- "longitude": PropTypes.string,
18+ "latitude": PropTypes.string.isRequired,
19+ "longitude": PropTypes.string.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "iss_position": _IssPosition,
23- "message": PropTypes.string,
24- "timestamp": PropTypes.number,
22+ "iss_position": (...args) => _IssPosition.isRequired(...args),
23+ "message": PropTypes.string.isRequired,
24+ "timestamp": PropTypes.number.isRequired,
2525 });
2626
2727 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/67c03.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -15,13 +15,13 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Person;
1717 _Person = PropTypes.shape({
18- "craft": PropTypes.string,
19- "name": PropTypes.string,
18+ "craft": PropTypes.string.isRequired,
19+ "name": PropTypes.string.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "message": PropTypes.string,
23- "number": PropTypes.number,
24- "people": PropTypes.arrayOf(_Person),
22+ "message": PropTypes.string.isRequired,
23+ "number": PropTypes.number.isRequired,
24+ "people": PropTypes.arrayOf((...args) => _Person(...args)).isRequired,
2525 });
2626
2727 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/68c30.json

1 generated file · +23 −23
Mjavascript-prop-typesdefault / toplevel.js+23 −23
@@ -17,35 +17,35 @@ let _Tx;
1717 let _Input;
1818 let _Out;
1919 _Out = PropTypes.shape({
20- "addr": PropTypes.string,
21- "n": PropTypes.number,
22- "script": PropTypes.string,
23- "spent": PropTypes.bool,
24- "tx_index": PropTypes.number,
25- "type": PropTypes.number,
26- "value": PropTypes.number,
20+ "addr": PropTypes.string.isRequired,
21+ "n": PropTypes.number.isRequired,
22+ "script": PropTypes.string.isRequired,
23+ "spent": PropTypes.bool.isRequired,
24+ "tx_index": PropTypes.number.isRequired,
25+ "type": PropTypes.number.isRequired,
26+ "value": PropTypes.number.isRequired,
2727 });
2828 _Input = PropTypes.shape({
29- "prev_out": _Out,
30- "script": PropTypes.string,
31- "sequence": PropTypes.number,
29+ "prev_out": (...args) => _Out.isRequired(...args),
30+ "script": PropTypes.string.isRequired,
31+ "sequence": PropTypes.number.isRequired,
3232 });
3333 _Tx = PropTypes.shape({
34- "double_spend": PropTypes.bool,
35- "hash": PropTypes.string,
36- "inputs": PropTypes.arrayOf(_Input),
37- "lock_time": PropTypes.number,
38- "out": PropTypes.arrayOf(_Out),
39- "relayed_by": PropTypes.string,
40- "size": PropTypes.number,
41- "time": PropTypes.number,
42- "tx_index": PropTypes.number,
43- "ver": PropTypes.number,
44- "vin_sz": PropTypes.number,
45- "vout_sz": PropTypes.number,
34+ "double_spend": PropTypes.bool.isRequired,
35+ "hash": PropTypes.string.isRequired,
36+ "inputs": PropTypes.arrayOf((...args) => _Input(...args)).isRequired,
37+ "lock_time": PropTypes.number.isRequired,
38+ "out": PropTypes.arrayOf((...args) => _Out(...args)).isRequired,
39+ "relayed_by": PropTypes.string.isRequired,
40+ "size": PropTypes.number.isRequired,
41+ "time": PropTypes.number.isRequired,
42+ "tx_index": PropTypes.number.isRequired,
43+ "ver": PropTypes.number.isRequired,
44+ "vin_sz": PropTypes.number.isRequired,
45+ "vout_sz": PropTypes.number.isRequired,
4646 });
4747 _TopLevel = PropTypes.shape({
48- "txs": PropTypes.arrayOf(_Tx),
48+ "txs": PropTypes.arrayOf((...args) => _Tx(...args)).isRequired,
4949 });
5050
5151 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/6c155.json

1 generated file · +34 −34
Mjavascript-prop-typesdefault / toplevel.js+34 −34
@@ -20,54 +20,54 @@ let _Result;
2020 let _Component;
2121 let _Location;
2222 _Location = PropTypes.shape({
23- "administrative_area": PropTypes.string,
24- "country": PropTypes.string,
25- "fax_number": PropTypes.string,
26- "locality": PropTypes.string,
27- "mobile_number": PropTypes.string,
28- "phone_number": PropTypes.string,
29- "phone_number_extension": PropTypes.string,
30- "postal_code": PropTypes.string,
23+ "administrative_area": PropTypes.string.isRequired,
24+ "country": PropTypes.string.isRequired,
25+ "fax_number": PropTypes.string.isRequired,
26+ "locality": PropTypes.string.isRequired,
27+ "mobile_number": PropTypes.string.isRequired,
28+ "phone_number": PropTypes.string.isRequired,
29+ "phone_number_extension": PropTypes.string.isRequired,
30+ "postal_code": PropTypes.string.isRequired,
3131 "sub_premise": PropTypes.any,
32- "thoroughfare": PropTypes.string,
32+ "thoroughfare": PropTypes.string.isRequired,
3333 });
3434 _Component = PropTypes.shape({
35- "name": PropTypes.string,
36- "uuid": PropTypes.string,
35+ "name": PropTypes.string.isRequired,
36+ "uuid": PropTypes.string.isRequired,
3737 });
3838 _Result = PropTypes.shape({
39- "attachment": PropTypes.arrayOf(PropTypes.any),
40- "body": PropTypes.string,
41- "changed": PropTypes.string,
42- "component": PropTypes.arrayOf(_Component),
43- "created": PropTypes.string,
44- "date": PropTypes.string,
45- "image": PropTypes.arrayOf(PropTypes.any),
46- "location": _Location,
39+ "attachment": PropTypes.arrayOf(PropTypes.any).isRequired,
40+ "body": PropTypes.string.isRequired,
41+ "changed": PropTypes.string.isRequired,
42+ "component": PropTypes.arrayOf((...args) => _Component(...args)).isRequired,
43+ "created": PropTypes.string.isRequired,
44+ "date": PropTypes.string.isRequired,
45+ "image": PropTypes.arrayOf(PropTypes.any).isRequired,
46+ "location": (...args) => _Location.isRequired(...args),
4747 "teaser": PropTypes.any,
48- "title": PropTypes.string,
49- "topic": PropTypes.arrayOf(PropTypes.any),
50- "url": PropTypes.string,
51- "uuid": PropTypes.string,
52- "vuuid": PropTypes.string,
48+ "title": PropTypes.string.isRequired,
49+ "topic": PropTypes.arrayOf(PropTypes.any).isRequired,
50+ "url": PropTypes.string.isRequired,
51+ "uuid": PropTypes.string.isRequired,
52+ "vuuid": PropTypes.string.isRequired,
5353 });
5454 _Resultset = PropTypes.shape({
55- "count": PropTypes.number,
56- "page": PropTypes.number,
57- "pagesize": PropTypes.number,
55+ "count": PropTypes.number.isRequired,
56+ "page": PropTypes.number.isRequired,
57+ "pagesize": PropTypes.number.isRequired,
5858 });
5959 _ResponseInfo = PropTypes.shape({
60- "developerMessage": PropTypes.string,
61- "status": PropTypes.number,
60+ "developerMessage": PropTypes.string.isRequired,
61+ "status": PropTypes.number.isRequired,
6262 });
6363 _Metadata = PropTypes.shape({
64- "executionTime": PropTypes.number,
65- "responseInfo": _ResponseInfo,
66- "resultset": _Resultset,
64+ "executionTime": PropTypes.number.isRequired,
65+ "responseInfo": (...args) => _ResponseInfo.isRequired(...args),
66+ "resultset": (...args) => _Resultset.isRequired(...args),
6767 });
6868 _TopLevel = PropTypes.shape({
69- "metadata": _Metadata,
70- "results": PropTypes.arrayOf(_Result),
69+ "metadata": (...args) => _Metadata.isRequired(...args),
70+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
7171 });
7272
7373 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/6de06.json

1 generated file · +84 −84
Mjavascript-prop-typesdefault / toplevel.js+84 −84
@@ -24,33 +24,33 @@ let _Image;
2424 let _Source;
2525 let _Variants;
2626 let _GIF;
27-const _PostHint = PropTypes.oneOfType(['link', 'image', 'richVideo']);
28-const _SubredditType = PropTypes.oneOfType(['public']);
29-const _Kind = PropTypes.oneOfType(['t3']);
27+const _PostHint = PropTypes.oneOf(["link", "image", "rich:video"]);
28+const _SubredditType = PropTypes.oneOf(["public"]);
29+const _Kind = PropTypes.oneOf(["t3"]);
3030 _GIF = PropTypes.shape({
31- "resolutions": PropTypes.arrayOf(_Source),
32- "source": _Source,
31+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
32+ "source": (...args) => _Source.isRequired(...args),
3333 });
3434 _Variants = PropTypes.shape({
35- "gif": PropTypes.oneOfType([_GIF, PropTypes.any]),
36- "mp4": PropTypes.oneOfType([_GIF, PropTypes.any]),
37- "nsfw": PropTypes.oneOfType([_GIF, PropTypes.any]),
38- "obfuscated": PropTypes.oneOfType([_GIF, PropTypes.any]),
35+ "gif": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
36+ "mp4": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
37+ "nsfw": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
38+ "obfuscated": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
3939 });
4040 _Source = PropTypes.shape({
41- "height": PropTypes.number,
42- "url": PropTypes.string,
43- "width": PropTypes.number,
41+ "height": PropTypes.number.isRequired,
42+ "url": PropTypes.string.isRequired,
43+ "width": PropTypes.number.isRequired,
4444 });
4545 _Image = PropTypes.shape({
46- "id": PropTypes.string,
47- "resolutions": PropTypes.arrayOf(_Source),
48- "source": _Source,
49- "variants": _Variants,
46+ "id": PropTypes.string.isRequired,
47+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
48+ "source": (...args) => _Source.isRequired(...args),
49+ "variants": (...args) => _Variants.isRequired(...args),
5050 });
5151 _Preview = PropTypes.shape({
52- "enabled": PropTypes.bool,
53- "images": PropTypes.arrayOf(_Image),
52+ "enabled": PropTypes.bool.isRequired,
53+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
5454 });
5555 _MediaEmbed = PropTypes.shape({
5656 "content": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -59,102 +59,102 @@ _MediaEmbed = PropTypes.shape({
5959 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6060 });
6161 _Oembed = PropTypes.shape({
62- "description": PropTypes.string,
63- "height": PropTypes.number,
64- "html": PropTypes.string,
65- "provider_name": PropTypes.string,
66- "provider_url": PropTypes.string,
67- "thumbnail_height": PropTypes.number,
68- "thumbnail_url": PropTypes.string,
69- "thumbnail_width": PropTypes.number,
70- "title": PropTypes.string,
71- "type": PropTypes.string,
72- "version": PropTypes.string,
73- "width": PropTypes.number,
62+ "description": PropTypes.string.isRequired,
63+ "height": PropTypes.number.isRequired,
64+ "html": PropTypes.string.isRequired,
65+ "provider_name": PropTypes.string.isRequired,
66+ "provider_url": PropTypes.string.isRequired,
67+ "thumbnail_height": PropTypes.number.isRequired,
68+ "thumbnail_url": PropTypes.string.isRequired,
69+ "thumbnail_width": PropTypes.number.isRequired,
70+ "title": PropTypes.string.isRequired,
71+ "type": PropTypes.string.isRequired,
72+ "version": PropTypes.string.isRequired,
73+ "width": PropTypes.number.isRequired,
7474 });
7575 _Media = PropTypes.shape({
76- "oembed": _Oembed,
77- "type": PropTypes.string,
76+ "oembed": (...args) => _Oembed.isRequired(...args),
77+ "type": PropTypes.string.isRequired,
7878 });
7979 _ChildData = PropTypes.shape({
8080 "approved_at_utc": PropTypes.any,
8181 "approved_by": PropTypes.any,
82- "archived": PropTypes.bool,
83- "author": PropTypes.string,
82+ "archived": PropTypes.bool.isRequired,
83+ "author": PropTypes.string.isRequired,
8484 "author_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8585 "author_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8686 "banned_at_utc": PropTypes.any,
8787 "banned_by": PropTypes.any,
88- "brand_safe": PropTypes.bool,
89- "can_gild": PropTypes.bool,
90- "can_mod_post": PropTypes.bool,
91- "clicked": PropTypes.bool,
92- "contest_mode": PropTypes.bool,
93- "created": PropTypes.number,
94- "created_utc": PropTypes.number,
88+ "brand_safe": PropTypes.bool.isRequired,
89+ "can_gild": PropTypes.bool.isRequired,
90+ "can_mod_post": PropTypes.bool.isRequired,
91+ "clicked": PropTypes.bool.isRequired,
92+ "contest_mode": PropTypes.bool.isRequired,
93+ "created": PropTypes.number.isRequired,
94+ "created_utc": PropTypes.number.isRequired,
9595 "distinguished": PropTypes.any,
96- "domain": PropTypes.string,
97- "downs": PropTypes.number,
98- "edited": PropTypes.bool,
99- "gilded": PropTypes.number,
100- "hidden": PropTypes.bool,
101- "hide_score": PropTypes.bool,
102- "id": PropTypes.string,
103- "is_self": PropTypes.bool,
104- "is_video": PropTypes.bool,
96+ "domain": PropTypes.string.isRequired,
97+ "downs": PropTypes.number.isRequired,
98+ "edited": PropTypes.bool.isRequired,
99+ "gilded": PropTypes.number.isRequired,
100+ "hidden": PropTypes.bool.isRequired,
101+ "hide_score": PropTypes.bool.isRequired,
102+ "id": PropTypes.string.isRequired,
103+ "is_self": PropTypes.bool.isRequired,
104+ "is_video": PropTypes.bool.isRequired,
105105 "likes": PropTypes.any,
106106 "link_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
107107 "link_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
108- "locked": PropTypes.bool,
109- "media": PropTypes.oneOfType([_Media, PropTypes.any]),
110- "media_embed": _MediaEmbed,
111- "mod_reports": PropTypes.arrayOf(PropTypes.any),
112- "name": PropTypes.string,
113- "num_comments": PropTypes.number,
108+ "locked": PropTypes.bool.isRequired,
109+ "media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
110+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
111+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
112+ "name": PropTypes.string.isRequired,
113+ "num_comments": PropTypes.number.isRequired,
114114 "num_reports": PropTypes.any,
115- "over_18": PropTypes.bool,
116- "permalink": PropTypes.string,
115+ "over_18": PropTypes.bool.isRequired,
116+ "permalink": PropTypes.string.isRequired,
117117 "post_hint": PropTypes.oneOfType([_PostHint, PropTypes.any]),
118- "preview": PropTypes.oneOfType([_Preview, PropTypes.any]),
119- "quarantine": PropTypes.bool,
118+ "preview": PropTypes.oneOfType([(...args) => _Preview(...args), PropTypes.any]),
119+ "quarantine": PropTypes.bool.isRequired,
120120 "removal_reason": PropTypes.any,
121121 "report_reasons": PropTypes.any,
122- "saved": PropTypes.bool,
123- "score": PropTypes.number,
124- "secure_media": PropTypes.oneOfType([_Media, PropTypes.any]),
125- "secure_media_embed": _MediaEmbed,
126- "selftext": PropTypes.string,
122+ "saved": PropTypes.bool.isRequired,
123+ "score": PropTypes.number.isRequired,
124+ "secure_media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
125+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
126+ "selftext": PropTypes.string.isRequired,
127127 "selftext_html": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
128- "spoiler": PropTypes.bool,
129- "stickied": PropTypes.bool,
130- "subreddit": PropTypes.string,
131- "subreddit_id": PropTypes.string,
132- "subreddit_name_prefixed": PropTypes.string,
133- "subreddit_type": _SubredditType,
128+ "spoiler": PropTypes.bool.isRequired,
129+ "stickied": PropTypes.bool.isRequired,
130+ "subreddit": PropTypes.string.isRequired,
131+ "subreddit_id": PropTypes.string.isRequired,
132+ "subreddit_name_prefixed": PropTypes.string.isRequired,
133+ "subreddit_type": _SubredditType.isRequired,
134134 "suggested_sort": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
135- "thumbnail": PropTypes.string,
135+ "thumbnail": PropTypes.string.isRequired,
136136 "thumbnail_height": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
137137 "thumbnail_width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
138- "title": PropTypes.string,
139- "ups": PropTypes.number,
140- "url": PropTypes.string,
141- "user_reports": PropTypes.arrayOf(PropTypes.any),
138+ "title": PropTypes.string.isRequired,
139+ "ups": PropTypes.number.isRequired,
140+ "url": PropTypes.string.isRequired,
141+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
142142 "view_count": PropTypes.any,
143- "visited": PropTypes.bool,
143+ "visited": PropTypes.bool.isRequired,
144144 });
145145 _Child = PropTypes.shape({
146- "data": _ChildData,
147- "kind": _Kind,
146+ "data": (...args) => _ChildData.isRequired(...args),
147+ "kind": _Kind.isRequired,
148148 });
149149 _TopLevelData = PropTypes.shape({
150- "after": PropTypes.string,
150+ "after": PropTypes.string.isRequired,
151151 "before": PropTypes.any,
152- "children": PropTypes.arrayOf(_Child),
153- "modhash": PropTypes.string,
152+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
153+ "modhash": PropTypes.string.isRequired,
154154 });
155155 _TopLevel = PropTypes.shape({
156- "data": _TopLevelData,
157- "kind": PropTypes.string,
156+ "data": (...args) => _TopLevelData.isRequired(...args),
157+ "kind": PropTypes.string.isRequired,
158158 });
159159
160160 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/6dec6.json

1 generated file · +61 −61
Mjavascript-prop-typesdefault / toplevel.js+61 −61
@@ -26,94 +26,94 @@ let _GUID;
2626 let _Location;
2727 let _Units;
2828 let _Wind;
29-const _Text = PropTypes.oneOfType(['showers', 'mostlySunny', 'partlyCloudy']);
29+const _Text = PropTypes.oneOf(["Showers", "Mostly Sunny", "Partly Cloudy"]);
3030 _Wind = PropTypes.shape({
31- "chill": PropTypes.string,
32- "direction": PropTypes.string,
33- "speed": PropTypes.string,
31+ "chill": PropTypes.string.isRequired,
32+ "direction": PropTypes.string.isRequired,
33+ "speed": PropTypes.string.isRequired,
3434 });
3535 _Units = PropTypes.shape({
36- "distance": PropTypes.string,
37- "pressure": PropTypes.string,
38- "speed": PropTypes.string,
39- "temperature": PropTypes.string,
36+ "distance": PropTypes.string.isRequired,
37+ "pressure": PropTypes.string.isRequired,
38+ "speed": PropTypes.string.isRequired,
39+ "temperature": PropTypes.string.isRequired,
4040 });
4141 _Location = PropTypes.shape({
42- "city": PropTypes.string,
43- "country": PropTypes.string,
44- "region": PropTypes.string,
42+ "city": PropTypes.string.isRequired,
43+ "country": PropTypes.string.isRequired,
44+ "region": PropTypes.string.isRequired,
4545 });
4646 _GUID = PropTypes.shape({
47- "isPermaLink": PropTypes.string,
47+ "isPermaLink": PropTypes.string.isRequired,
4848 });
4949 _Forecast = PropTypes.shape({
50- "code": PropTypes.string,
51- "date": PropTypes.string,
52- "day": PropTypes.string,
53- "high": PropTypes.string,
54- "low": PropTypes.string,
55- "text": _Text,
50+ "code": PropTypes.string.isRequired,
51+ "date": PropTypes.string.isRequired,
52+ "day": PropTypes.string.isRequired,
53+ "high": PropTypes.string.isRequired,
54+ "low": PropTypes.string.isRequired,
55+ "text": _Text.isRequired,
5656 });
5757 _Condition = PropTypes.shape({
58- "code": PropTypes.string,
59- "date": PropTypes.string,
60- "temp": PropTypes.string,
61- "text": PropTypes.string,
58+ "code": PropTypes.string.isRequired,
59+ "date": PropTypes.string.isRequired,
60+ "temp": PropTypes.string.isRequired,
61+ "text": PropTypes.string.isRequired,
6262 });
6363 _Item = PropTypes.shape({
64- "condition": _Condition,
65- "description": PropTypes.string,
66- "forecast": PropTypes.arrayOf(_Forecast),
67- "guid": _GUID,
68- "lat": PropTypes.string,
69- "link": PropTypes.string,
70- "long": PropTypes.string,
71- "pubDate": PropTypes.string,
72- "title": PropTypes.string,
64+ "condition": (...args) => _Condition.isRequired(...args),
65+ "description": PropTypes.string.isRequired,
66+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
67+ "guid": (...args) => _GUID.isRequired(...args),
68+ "lat": PropTypes.string.isRequired,
69+ "link": PropTypes.string.isRequired,
70+ "long": PropTypes.string.isRequired,
71+ "pubDate": PropTypes.string.isRequired,
72+ "title": PropTypes.string.isRequired,
7373 });
7474 _Image = PropTypes.shape({
75- "height": PropTypes.string,
76- "link": PropTypes.string,
77- "title": PropTypes.string,
78- "url": PropTypes.string,
79- "width": PropTypes.string,
75+ "height": PropTypes.string.isRequired,
76+ "link": PropTypes.string.isRequired,
77+ "title": PropTypes.string.isRequired,
78+ "url": PropTypes.string.isRequired,
79+ "width": PropTypes.string.isRequired,
8080 });
8181 _Atmosphere = PropTypes.shape({
82- "humidity": PropTypes.string,
83- "pressure": PropTypes.string,
84- "rising": PropTypes.string,
85- "visibility": PropTypes.string,
82+ "humidity": PropTypes.string.isRequired,
83+ "pressure": PropTypes.string.isRequired,
84+ "rising": PropTypes.string.isRequired,
85+ "visibility": PropTypes.string.isRequired,
8686 });
8787 _Astronomy = PropTypes.shape({
88- "sunrise": PropTypes.string,
89- "sunset": PropTypes.string,
88+ "sunrise": PropTypes.string.isRequired,
89+ "sunset": PropTypes.string.isRequired,
9090 });
9191 _Channel = PropTypes.shape({
92- "astronomy": _Astronomy,
93- "atmosphere": _Atmosphere,
94- "description": PropTypes.string,
95- "image": _Image,
96- "item": _Item,
97- "language": PropTypes.string,
98- "lastBuildDate": PropTypes.string,
99- "link": PropTypes.string,
100- "location": _Location,
101- "title": PropTypes.string,
102- "ttl": PropTypes.string,
103- "units": _Units,
104- "wind": _Wind,
92+ "astronomy": (...args) => _Astronomy.isRequired(...args),
93+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
94+ "description": PropTypes.string.isRequired,
95+ "image": (...args) => _Image.isRequired(...args),
96+ "item": (...args) => _Item.isRequired(...args),
97+ "language": PropTypes.string.isRequired,
98+ "lastBuildDate": PropTypes.string.isRequired,
99+ "link": PropTypes.string.isRequired,
100+ "location": (...args) => _Location.isRequired(...args),
101+ "title": PropTypes.string.isRequired,
102+ "ttl": PropTypes.string.isRequired,
103+ "units": (...args) => _Units.isRequired(...args),
104+ "wind": (...args) => _Wind.isRequired(...args),
105105 });
106106 _Results = PropTypes.shape({
107- "channel": _Channel,
107+ "channel": (...args) => _Channel.isRequired(...args),
108108 });
109109 _Query = PropTypes.shape({
110- "count": PropTypes.number,
111- "created": PropTypes.string,
112- "lang": PropTypes.string,
113- "results": _Results,
110+ "count": PropTypes.number.isRequired,
111+ "created": PropTypes.string.isRequired,
112+ "lang": PropTypes.string.isRequired,
113+ "results": (...args) => _Results.isRequired(...args),
114114 });
115115 _TopLevel = PropTypes.shape({
116- "query": _Query,
116+ "query": (...args) => _Query.isRequired(...args),
117117 });
118118
119119 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/6eb00.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "DirectorateID": PropTypes.number,
18- "Id": PropTypes.number,
19- "Name": PropTypes.string,
17+ "DirectorateID": PropTypes.number.isRequired,
18+ "Id": PropTypes.number.isRequired,
19+ "Name": PropTypes.string.isRequired,
2020 });
2121
22-export const TopLevel = PropTypes.arrayOf(_TopLevel);
22+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/70c77.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/734ad.json

1 generated file · +43 −43
Mjavascript-prop-typesdefault / toplevel.js+43 −43
@@ -15,17 +15,17 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Facets;
1717 let _Result;
18-const _Status = PropTypes.oneOfType(['active', 'inactive']);
18+const _Status = PropTypes.oneOf(["active", "inactive"]);
1919 _Result = PropTypes.shape({
2020 "acronym": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
21- "activity_consult_committees": PropTypes.string,
22- "activity_eu_legislative": PropTypes.string,
23- "activity_expert_groups": PropTypes.string,
24- "activity_high_level_groups": PropTypes.string,
25- "activity_industry_forums": PropTypes.string,
26- "activity_inter_groups": PropTypes.string,
21+ "activity_consult_committees": PropTypes.string.isRequired,
22+ "activity_eu_legislative": PropTypes.string.isRequired,
23+ "activity_expert_groups": PropTypes.string.isRequired,
24+ "activity_high_level_groups": PropTypes.string.isRequired,
25+ "activity_industry_forums": PropTypes.string.isRequired,
26+ "activity_inter_groups": PropTypes.string.isRequired,
2727 "activity_other": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
28- "activity_relevant_comm": PropTypes.string,
28+ "activity_relevant_comm": PropTypes.string.isRequired,
2929 "be_office_country": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3030 "be_office_lat": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
3131 "be_office_lon": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
@@ -34,58 +34,58 @@ _Result = PropTypes.shape({
3434 "be_office_postbox": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3535 "be_office_street": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3636 "be_office_town": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
37- "code_of_conduct": PropTypes.string,
38- "contact_country": PropTypes.number,
39- "created_at": PropTypes.string,
40- "entity": PropTypes.string,
41- "goals": PropTypes.string,
42- "head": PropTypes.string,
43- "head_office_country": PropTypes.string,
37+ "code_of_conduct": PropTypes.string.isRequired,
38+ "contact_country": PropTypes.number.isRequired,
39+ "created_at": PropTypes.string.isRequired,
40+ "entity": PropTypes.string.isRequired,
41+ "goals": PropTypes.string.isRequired,
42+ "head": PropTypes.string.isRequired,
43+ "head_office_country": PropTypes.string.isRequired,
4444 "head_office_lat": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
4545 "head_office_lon": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
46- "head_office_phone": PropTypes.string,
46+ "head_office_phone": PropTypes.string.isRequired,
4747 "head_office_post_code": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4848 "head_office_postbox": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
49- "head_office_street": PropTypes.string,
50- "head_office_town": PropTypes.string,
51- "id": PropTypes.string,
52- "identification_code": PropTypes.string,
53- "info_members": PropTypes.string,
54- "last_update_date": PropTypes.string,
55- "legal": PropTypes.string,
56- "legal_status": PropTypes.string,
57- "main_category": PropTypes.number,
58- "main_category_title": PropTypes.string,
59- "members": PropTypes.number,
49+ "head_office_street": PropTypes.string.isRequired,
50+ "head_office_town": PropTypes.string.isRequired,
51+ "id": PropTypes.string.isRequired,
52+ "identification_code": PropTypes.string.isRequired,
53+ "info_members": PropTypes.string.isRequired,
54+ "last_update_date": PropTypes.string.isRequired,
55+ "legal": PropTypes.string.isRequired,
56+ "legal_status": PropTypes.string.isRequired,
57+ "main_category": PropTypes.number.isRequired,
58+ "main_category_title": PropTypes.string.isRequired,
59+ "members": PropTypes.number.isRequired,
6060 "members_100": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6161 "members_25": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6262 "members_50": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6363 "members_75": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
64- "members_fte": PropTypes.number,
65- "name": PropTypes.string,
64+ "members_fte": PropTypes.number.isRequired,
65+ "name": PropTypes.string.isRequired,
6666 "native_name": PropTypes.any,
6767 "networking": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6868 "number_of_natural_persons": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6969 "other_code_of_conduct": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
70- "registration_date": PropTypes.string,
71- "status": _Status,
72- "structure_members": PropTypes.string,
73- "sub_category": PropTypes.number,
74- "sub_category_title": PropTypes.string,
75- "updated_at": PropTypes.string,
76- "uri": PropTypes.string,
70+ "registration_date": PropTypes.string.isRequired,
71+ "status": _Status.isRequired,
72+ "structure_members": PropTypes.string.isRequired,
73+ "sub_category": PropTypes.number.isRequired,
74+ "sub_category_title": PropTypes.string.isRequired,
75+ "updated_at": PropTypes.string.isRequired,
76+ "uri": PropTypes.string.isRequired,
7777 "web_site_url": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
7878 });
7979 _Facets = PropTypes.shape({
8080 });
8181 _TopLevel = PropTypes.shape({
82- "count": PropTypes.number,
83- "facets": _Facets,
84- "limit": PropTypes.number,
85- "next": PropTypes.string,
86- "offset": PropTypes.number,
87- "previous": PropTypes.bool,
88- "results": PropTypes.arrayOf(_Result),
82+ "count": PropTypes.number.isRequired,
83+ "facets": (...args) => _Facets.isRequired(...args),
84+ "limit": PropTypes.number.isRequired,
85+ "next": PropTypes.string.isRequired,
86+ "offset": PropTypes.number.isRequired,
87+ "previous": PropTypes.bool.isRequired,
88+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
8989 });
9090
9191 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/75912.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7681c.json

1 generated file · +73 −73
Mjavascript-prop-typesdefault / toplevel.js+73 −73
@@ -22,104 +22,104 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g', 'pg', 'pg13']);
26-const _Type = PropTypes.oneOfType(['gif']);
27-const _Username = PropTypes.oneOfType(['empty', 'mashable', 'nba', 'originals']);
25+const _Rating = PropTypes.oneOf(["g", "pg", "pg-13"]);
26+const _Type = PropTypes.oneOf(["gif"]);
27+const _Username = PropTypes.oneOf(["", "mashable", "nba", "Originals"]);
2828 _Pagination = PropTypes.shape({
29- "count": PropTypes.number,
30- "offset": PropTypes.number,
31- "total_count": PropTypes.number,
29+ "count": PropTypes.number.isRequired,
30+ "offset": PropTypes.number.isRequired,
31+ "total_count": PropTypes.number.isRequired,
3232 });
3333 _Meta = PropTypes.shape({
34- "msg": PropTypes.string,
35- "response_id": PropTypes.string,
36- "status": PropTypes.number,
34+ "msg": PropTypes.string.isRequired,
35+ "response_id": PropTypes.string.isRequired,
36+ "status": PropTypes.number.isRequired,
3737 });
3838 _User = PropTypes.shape({
39- "avatar_url": PropTypes.string,
40- "banner_url": PropTypes.string,
41- "display_name": PropTypes.string,
42- "profile_url": PropTypes.string,
39+ "avatar_url": PropTypes.string.isRequired,
40+ "banner_url": PropTypes.string.isRequired,
41+ "display_name": PropTypes.string.isRequired,
42+ "profile_url": PropTypes.string.isRequired,
4343 "twitter": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
44- "username": PropTypes.string,
44+ "username": PropTypes.string.isRequired,
4545 });
4646 _Looping = PropTypes.shape({
47- "mp4": PropTypes.string,
48- "mp4_size": PropTypes.string,
47+ "mp4": PropTypes.string.isRequired,
48+ "mp4_size": PropTypes.string.isRequired,
4949 });
5050 _FixedHeight = PropTypes.shape({
5151 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5252 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "height": PropTypes.string,
53+ "height": PropTypes.string.isRequired,
5454 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5555 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
56- "size": PropTypes.string,
57- "url": PropTypes.string,
58- "webp": PropTypes.string,
59- "webp_size": PropTypes.string,
60- "width": PropTypes.string,
56+ "size": PropTypes.string.isRequired,
57+ "url": PropTypes.string.isRequired,
58+ "webp": PropTypes.string.isRequired,
59+ "webp_size": PropTypes.string.isRequired,
60+ "width": PropTypes.string.isRequired,
6161 });
6262 _DownsizedSmall = PropTypes.shape({
63- "height": PropTypes.string,
64- "mp4": PropTypes.string,
65- "mp4_size": PropTypes.string,
66- "width": PropTypes.string,
63+ "height": PropTypes.string.isRequired,
64+ "mp4": PropTypes.string.isRequired,
65+ "mp4_size": PropTypes.string.isRequired,
66+ "width": PropTypes.string.isRequired,
6767 });
6868 _Downsized = PropTypes.shape({
69- "height": PropTypes.string,
69+ "height": PropTypes.string.isRequired,
7070 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
71- "url": PropTypes.string,
72- "width": PropTypes.string,
71+ "url": PropTypes.string.isRequired,
72+ "width": PropTypes.string.isRequired,
7373 });
7474 _Images = PropTypes.shape({
75- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
76- "downsized": _Downsized,
77- "downsized_large": _Downsized,
78- "downsized_medium": _Downsized,
79- "downsized_small": _DownsizedSmall,
80- "downsized_still": _Downsized,
81- "fixed_height": _FixedHeight,
82- "fixed_height_downsampled": _FixedHeight,
83- "fixed_height_small": _FixedHeight,
84- "fixed_height_small_still": _Downsized,
85- "fixed_height_still": _Downsized,
86- "fixed_width": _FixedHeight,
87- "fixed_width_downsampled": _FixedHeight,
88- "fixed_width_small": _FixedHeight,
89- "fixed_width_small_still": _Downsized,
90- "fixed_width_still": _Downsized,
91- "looping": _Looping,
92- "original": _FixedHeight,
93- "original_mp4": _DownsizedSmall,
94- "original_still": _Downsized,
95- "preview": _DownsizedSmall,
96- "preview_gif": _Downsized,
97- "preview_webp": _Downsized,
75+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
76+ "downsized": (...args) => _Downsized.isRequired(...args),
77+ "downsized_large": (...args) => _Downsized.isRequired(...args),
78+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
79+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
80+ "downsized_still": (...args) => _Downsized.isRequired(...args),
81+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
84+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
86+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
89+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
90+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
91+ "looping": (...args) => _Looping.isRequired(...args),
92+ "original": (...args) => _FixedHeight.isRequired(...args),
93+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
94+ "original_still": (...args) => _Downsized.isRequired(...args),
95+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
96+ "preview_gif": (...args) => _Downsized.isRequired(...args),
97+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9898 });
9999 _Datum = PropTypes.shape({
100- "bitly_gif_url": PropTypes.string,
101- "bitly_url": PropTypes.string,
102- "content_url": PropTypes.string,
103- "embed_url": PropTypes.string,
104- "id": PropTypes.string,
105- "images": _Images,
106- "import_datetime": PropTypes.string,
107- "is_indexable": PropTypes.number,
108- "rating": _Rating,
109- "slug": PropTypes.string,
110- "source": PropTypes.string,
111- "source_post_url": PropTypes.string,
112- "source_tld": PropTypes.string,
113- "trending_datetime": PropTypes.string,
114- "type": _Type,
115- "url": PropTypes.string,
116- "user": PropTypes.oneOfType([_User, PropTypes.any]),
117- "username": _Username,
100+ "bitly_gif_url": PropTypes.string.isRequired,
101+ "bitly_url": PropTypes.string.isRequired,
102+ "content_url": PropTypes.string.isRequired,
103+ "embed_url": PropTypes.string.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "images": (...args) => _Images.isRequired(...args),
106+ "import_datetime": PropTypes.string.isRequired,
107+ "is_indexable": PropTypes.number.isRequired,
108+ "rating": _Rating.isRequired,
109+ "slug": PropTypes.string.isRequired,
110+ "source": PropTypes.string.isRequired,
111+ "source_post_url": PropTypes.string.isRequired,
112+ "source_tld": PropTypes.string.isRequired,
113+ "trending_datetime": PropTypes.string.isRequired,
114+ "type": _Type.isRequired,
115+ "url": PropTypes.string.isRequired,
116+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
117+ "username": _Username.isRequired,
118118 });
119119 _TopLevel = PropTypes.shape({
120- "data": PropTypes.arrayOf(_Datum),
121- "meta": _Meta,
122- "pagination": _Pagination,
120+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
121+ "meta": (...args) => _Meta.isRequired(...args),
122+ "pagination": (...args) => _Pagination.isRequired(...args),
123123 });
124124
125125 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/77392.json

1 generated file · +10 −10
Mjavascript-prop-typesdefault / toplevel.js+10 −10
@@ -13,19 +13,19 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _OrbitClass = PropTypes.oneOfType(['apollo', 'amor', 'aten', 'comet', 'jupiterFamilyComet', 'halleyTypeComet', 'parabolicComet', 'orbitClassJupiterFamilyComet', 'enckeTypeComet']);
17-const _Pha = PropTypes.oneOfType(['y', 'n', 'nA']);
16+const _OrbitClass = PropTypes.oneOf(["Apollo", "Amor", "Aten", "Comet", "Jupiter-family Comet", "Halley-type Comet*", "Parabolic Comet", "Jupiter-family Comet*", "Encke-type Comet"]);
17+const _Pha = PropTypes.oneOf(["Y", "N", "n/a"]);
1818 _TopLevel = PropTypes.shape({
19- "designation": PropTypes.string,
20- "discovery_date": PropTypes.string,
19+ "designation": PropTypes.string.isRequired,
20+ "discovery_date": PropTypes.string.isRequired,
2121 "h_mag": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
22- "i_deg": PropTypes.string,
23- "moid_au": PropTypes.string,
24- "orbit_class": _OrbitClass,
22+ "i_deg": PropTypes.string.isRequired,
23+ "moid_au": PropTypes.string.isRequired,
24+ "orbit_class": _OrbitClass.isRequired,
2525 "period_yr": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
26- "pha": _Pha,
27- "q_au_1": PropTypes.string,
26+ "pha": _Pha.isRequired,
27+ "q_au_1": PropTypes.string.isRequired,
2828 "q_au_2": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2929 });
3030
31-export const TopLevel = PropTypes.arrayOf(_TopLevel);
31+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/7d397.json

1 generated file · +36 −36
Mjavascript-prop-typesdefault / toplevel.js+36 −36
@@ -25,67 +25,67 @@ let _Responses;
2525 let _The200;
2626 let _Schema;
2727 let _Items;
28-const _Type = PropTypes.oneOfType(['string']);
29-const _In = PropTypes.oneOfType(['query']);
28+const _Type = PropTypes.oneOf(["string"]);
29+const _In = PropTypes.oneOf(["query"]);
3030 _Items = PropTypes.shape({
31- "$ref": PropTypes.string,
31+ "$ref": PropTypes.string.isRequired,
3232 });
3333 _Schema = PropTypes.shape({
34- "items": _Items,
35- "type": PropTypes.string,
34+ "items": (...args) => _Items.isRequired(...args),
35+ "type": PropTypes.string.isRequired,
3636 });
3737 _The200 = PropTypes.shape({
38- "description": PropTypes.string,
39- "schema": _Schema,
38+ "description": PropTypes.string.isRequired,
39+ "schema": (...args) => _Schema.isRequired(...args),
4040 });
4141 _Responses = PropTypes.shape({
42- "200": _The200,
42+ "200": (...args) => _The200.isRequired(...args),
4343 });
4444 _Parameter = PropTypes.shape({
45- "description": PropTypes.string,
46- "format": _Type,
47- "in": _In,
48- "name": PropTypes.string,
49- "required": PropTypes.bool,
50- "type": _Type,
45+ "description": PropTypes.string.isRequired,
46+ "format": _Type.isRequired,
47+ "in": _In.isRequired,
48+ "name": PropTypes.string.isRequired,
49+ "required": PropTypes.bool.isRequired,
50+ "type": _Type.isRequired,
5151 });
5252 _Get = PropTypes.shape({
53- "description": PropTypes.string,
54- "parameters": PropTypes.arrayOf(_Parameter),
55- "responses": _Responses,
56- "summary": PropTypes.string,
57- "tags": PropTypes.arrayOf(PropTypes.string),
53+ "description": PropTypes.string.isRequired,
54+ "parameters": PropTypes.arrayOf((...args) => _Parameter(...args)).isRequired,
55+ "responses": (...args) => _Responses.isRequired(...args),
56+ "summary": PropTypes.string.isRequired,
57+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
5858 });
5959 _ConsolidatedScreeningListSearch = PropTypes.shape({
60- "get": _Get,
60+ "get": (...args) => _Get.isRequired(...args),
6161 });
6262 _Paths = PropTypes.shape({
63- "/consolidated_screening_list/search": _ConsolidatedScreeningListSearch,
63+ "/consolidated_screening_list/search": (...args) => _ConsolidatedScreeningListSearch.isRequired(...args),
6464 });
6565 _Info = PropTypes.shape({
66- "description": PropTypes.string,
67- "title": PropTypes.string,
68- "version": PropTypes.string,
66+ "description": PropTypes.string.isRequired,
67+ "title": PropTypes.string.isRequired,
68+ "version": PropTypes.string.isRequired,
6969 });
7070 _Property = PropTypes.shape({
71- "description": PropTypes.string,
72- "type": _Type,
71+ "description": PropTypes.string.isRequired,
72+ "type": _Type.isRequired,
7373 });
7474 _List = PropTypes.shape({
75- "properties": PropTypes.object,
75+ "properties": PropTypes.object.isRequired,
7676 });
7777 _Definitions = PropTypes.shape({
78- "List": _List,
78+ "List": (...args) => _List.isRequired(...args),
7979 });
8080 _TopLevel = PropTypes.shape({
81- "basePath": PropTypes.string,
82- "definitions": _Definitions,
83- "host": PropTypes.string,
84- "info": _Info,
85- "paths": _Paths,
86- "produces": PropTypes.arrayOf(PropTypes.string),
87- "schemes": PropTypes.arrayOf(PropTypes.string),
88- "swagger": PropTypes.string,
81+ "basePath": PropTypes.string.isRequired,
82+ "definitions": (...args) => _Definitions.isRequired(...args),
83+ "host": PropTypes.string.isRequired,
84+ "info": (...args) => _Info.isRequired(...args),
85+ "paths": (...args) => _Paths.isRequired(...args),
86+ "produces": PropTypes.arrayOf(PropTypes.string).isRequired,
87+ "schemes": PropTypes.arrayOf(PropTypes.string).isRequired,
88+ "swagger": PropTypes.string.isRequired,
8989 });
9090
9191 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7d722.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7df41.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -15,16 +15,16 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _PC;
1717 _PC = PropTypes.shape({
18- "count": PropTypes.number,
19- "label": PropTypes.string,
20- "peak24": PropTypes.number,
18+ "count": PropTypes.number.isRequired,
19+ "label": PropTypes.string.isRequired,
20+ "peak24": PropTypes.number.isRequired,
2121 });
2222 _TopLevel = PropTypes.shape({
23- "pc": _PC,
24- "ps3": _PC,
25- "ps4": _PC,
26- "xbox": _PC,
27- "xone": _PC,
23+ "pc": (...args) => _PC.isRequired(...args),
24+ "ps3": (...args) => _PC.isRequired(...args),
25+ "ps4": (...args) => _PC.isRequired(...args),
26+ "xbox": (...args) => _PC.isRequired(...args),
27+ "xone": (...args) => _PC.isRequired(...args),
2828 });
2929
3030 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7dfa6.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7eb30.json

1 generated file · +26 −26
Mjavascript-prop-typesdefault / toplevel.js+26 −26
@@ -15,38 +15,38 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Result;
1717 let _Group;
18-const _Code = PropTypes.oneOfType(['sf']);
19-const _English = PropTypes.oneOfType(['sf']);
20-const _Thai = PropTypes.oneOfType(['เอสเอฟ']);
21-const _Location = PropTypes.oneOfType(['empty', 'the5ThFLEmporium']);
22-const _Tel = PropTypes.oneOfType(['empty', 'the022688899']);
18+const _Code = PropTypes.oneOf(["sf"]);
19+const _English = PropTypes.oneOf(["SF"]);
20+const _Thai = PropTypes.oneOf(["เอสเอฟ"]);
21+const _Location = PropTypes.oneOf(["", "5th Fl. Emporium"]);
22+const _Tel = PropTypes.oneOf(["", "02-268-8899"]);
2323 _Group = PropTypes.shape({
24- "code": _Code,
25- "english": _English,
26- "thai": _Thai,
27- "website": PropTypes.string,
24+ "code": _Code.isRequired,
25+ "english": _English.isRequired,
26+ "thai": _Thai.isRequired,
27+ "website": PropTypes.string.isRequired,
2828 });
2929 _Result = PropTypes.shape({
30- "code": PropTypes.string,
31- "english": PropTypes.string,
32- "fav": PropTypes.bool,
33- "group": _Group,
34- "location": _Location,
35- "min_screens": PropTypes.number,
36- "num_views": PropTypes.number,
37- "showtimes": PropTypes.string,
38- "stars": PropTypes.number,
39- "tel": _Tel,
40- "thai": PropTypes.string,
41- "today_screens": PropTypes.number,
42- "url": PropTypes.string,
43- "website": PropTypes.string,
30+ "code": PropTypes.string.isRequired,
31+ "english": PropTypes.string.isRequired,
32+ "fav": PropTypes.bool.isRequired,
33+ "group": (...args) => _Group.isRequired(...args),
34+ "location": _Location.isRequired,
35+ "min_screens": PropTypes.number.isRequired,
36+ "num_views": PropTypes.number.isRequired,
37+ "showtimes": PropTypes.string.isRequired,
38+ "stars": PropTypes.number.isRequired,
39+ "tel": _Tel.isRequired,
40+ "thai": PropTypes.string.isRequired,
41+ "today_screens": PropTypes.number.isRequired,
42+ "url": PropTypes.string.isRequired,
43+ "website": PropTypes.string.isRequired,
4444 });
4545 _TopLevel = PropTypes.shape({
46- "count": PropTypes.number,
47- "next": PropTypes.string,
46+ "count": PropTypes.number.isRequired,
47+ "next": PropTypes.string.isRequired,
4848 "previous": PropTypes.any,
49- "results": PropTypes.arrayOf(_Result),
49+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
5050 });
5151
5252 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/7f568.json

1 generated file · +21 −21
Mjavascript-prop-typesdefault / toplevel.js+21 −21
@@ -14,32 +14,32 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 let _File;
17-const _Language = PropTypes.oneOfType(['markdown']);
18-const _Type = PropTypes.oneOfType(['textPlain']);
17+const _Language = PropTypes.oneOf(["Markdown"]);
18+const _Type = PropTypes.oneOf(["text/plain"]);
1919 _File = PropTypes.shape({
20- "filename": PropTypes.string,
20+ "filename": PropTypes.string.isRequired,
2121 "language": PropTypes.oneOfType([_Language, PropTypes.any]),
22- "raw_url": PropTypes.string,
23- "size": PropTypes.number,
24- "type": _Type,
22+ "raw_url": PropTypes.string.isRequired,
23+ "size": PropTypes.number.isRequired,
24+ "type": _Type.isRequired,
2525 });
2626 _TopLevel = PropTypes.shape({
27- "comments": PropTypes.number,
28- "comments_url": PropTypes.string,
29- "commits_url": PropTypes.string,
30- "created_at": PropTypes.string,
27+ "comments": PropTypes.number.isRequired,
28+ "comments_url": PropTypes.string.isRequired,
29+ "commits_url": PropTypes.string.isRequired,
30+ "created_at": PropTypes.string.isRequired,
3131 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
32- "files": PropTypes.object,
33- "forks_url": PropTypes.string,
34- "git_pull_url": PropTypes.string,
35- "git_push_url": PropTypes.string,
36- "html_url": PropTypes.string,
37- "id": PropTypes.string,
38- "public": PropTypes.bool,
39- "truncated": PropTypes.bool,
40- "updated_at": PropTypes.string,
41- "url": PropTypes.string,
32+ "files": PropTypes.object.isRequired,
33+ "forks_url": PropTypes.string.isRequired,
34+ "git_pull_url": PropTypes.string.isRequired,
35+ "git_push_url": PropTypes.string.isRequired,
36+ "html_url": PropTypes.string.isRequired,
37+ "id": PropTypes.string.isRequired,
38+ "public": PropTypes.bool.isRequired,
39+ "truncated": PropTypes.bool.isRequired,
40+ "updated_at": PropTypes.string.isRequired,
41+ "url": PropTypes.string.isRequired,
4242 "user": PropTypes.any,
4343 });
4444
45-export const TopLevel = PropTypes.arrayOf(_TopLevel);
45+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/7fbfb.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,24 +15,24 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Country;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['cn', 'nyGdpMktpCD']);
19-const _Value = PropTypes.oneOfType(['china', 'gdpCurrentUS']);
18+const _ID = PropTypes.oneOf(["CN", "NY.GDP.MKTP.CD"]);
19+const _Value = PropTypes.oneOf(["China", "GDP (current US$)"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Country = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "country": _Country,
32- "date": PropTypes.string,
33- "decimal": PropTypes.string,
34- "indicator": _Country,
35- "value": PropTypes.string,
31+ "country": (...args) => _Country.isRequired(...args),
32+ "date": PropTypes.string.isRequired,
33+ "decimal": PropTypes.string.isRequired,
34+ "indicator": (...args) => _Country.isRequired(...args),
35+ "value": PropTypes.string.isRequired,
3636 });
3737
38-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
38+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/80aff.json

1 generated file · +13 −13
Mjavascript-prop-typesdefault / toplevel.js+13 −13
@@ -16,24 +16,24 @@ let _TopLevel;
1616 let _Facets;
1717 let _Result;
1818 _Result = PropTypes.shape({
19- "created_at": PropTypes.string,
20- "id": PropTypes.number,
21- "items": PropTypes.number,
22- "name": PropTypes.string,
19+ "created_at": PropTypes.string.isRequired,
20+ "id": PropTypes.number.isRequired,
21+ "items": PropTypes.number.isRequired,
22+ "name": PropTypes.string.isRequired,
2323 "parent": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
24- "updated_at": PropTypes.string,
25- "uri": PropTypes.string,
24+ "updated_at": PropTypes.string.isRequired,
25+ "uri": PropTypes.string.isRequired,
2626 });
2727 _Facets = PropTypes.shape({
2828 });
2929 _TopLevel = PropTypes.shape({
30- "count": PropTypes.number,
31- "facets": _Facets,
32- "limit": PropTypes.number,
33- "next": PropTypes.bool,
34- "offset": PropTypes.number,
35- "previous": PropTypes.bool,
36- "results": PropTypes.arrayOf(_Result),
30+ "count": PropTypes.number.isRequired,
31+ "facets": (...args) => _Facets.isRequired(...args),
32+ "limit": PropTypes.number.isRequired,
33+ "next": PropTypes.bool.isRequired,
34+ "offset": PropTypes.number.isRequired,
35+ "previous": PropTypes.bool.isRequired,
36+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
3737 });
3838
3939 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/82509.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -14,7 +14,7 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "origin": PropTypes.string,
17+ "origin": PropTypes.string.isRequired,
1818 });
1919
2020 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/8592b.json

1 generated file · +69 −69
Mjavascript-prop-typesdefault / toplevel.js+69 −69
@@ -20,109 +20,109 @@ let _MediaEmbed;
2020 let _Preview;
2121 let _Image;
2222 let _Source;
23-const _PostHint = PropTypes.oneOfType(['link']);
24-const _Subreddit = PropTypes.oneOfType(['science']);
25-const _SubredditID = PropTypes.oneOfType(['t5Mouw']);
26-const _SubredditNamePrefixed = PropTypes.oneOfType(['rScience']);
27-const _SubredditType = PropTypes.oneOfType(['public']);
28-const _SuggestedSort = PropTypes.oneOfType(['confidence', 'qa']);
29-const _Kind = PropTypes.oneOfType(['t3']);
23+const _PostHint = PropTypes.oneOf(["link"]);
24+const _Subreddit = PropTypes.oneOf(["science"]);
25+const _SubredditID = PropTypes.oneOf(["t5_mouw"]);
26+const _SubredditNamePrefixed = PropTypes.oneOf(["r/science"]);
27+const _SubredditType = PropTypes.oneOf(["public"]);
28+const _SuggestedSort = PropTypes.oneOf(["confidence", "qa"]);
29+const _Kind = PropTypes.oneOf(["t3"]);
3030 _Source = PropTypes.shape({
31- "height": PropTypes.number,
32- "url": PropTypes.string,
33- "width": PropTypes.number,
31+ "height": PropTypes.number.isRequired,
32+ "url": PropTypes.string.isRequired,
33+ "width": PropTypes.number.isRequired,
3434 });
3535 _Image = PropTypes.shape({
36- "id": PropTypes.string,
37- "resolutions": PropTypes.arrayOf(_Source),
38- "source": _Source,
39- "variants": _MediaEmbed,
36+ "id": PropTypes.string.isRequired,
37+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
38+ "source": (...args) => _Source.isRequired(...args),
39+ "variants": (...args) => _MediaEmbed.isRequired(...args),
4040 });
4141 _Preview = PropTypes.shape({
42- "enabled": PropTypes.bool,
43- "images": PropTypes.arrayOf(_Image),
42+ "enabled": PropTypes.bool.isRequired,
43+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
4444 });
4545 _MediaEmbed = PropTypes.shape({
4646 });
4747 _ChildData = PropTypes.shape({
4848 "approved_at_utc": PropTypes.any,
4949 "approved_by": PropTypes.any,
50- "archived": PropTypes.bool,
51- "author": PropTypes.string,
50+ "archived": PropTypes.bool.isRequired,
51+ "author": PropTypes.string.isRequired,
5252 "author_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5353 "author_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5454 "banned_at_utc": PropTypes.any,
5555 "banned_by": PropTypes.any,
56- "brand_safe": PropTypes.bool,
57- "can_gild": PropTypes.bool,
58- "can_mod_post": PropTypes.bool,
59- "clicked": PropTypes.bool,
60- "contest_mode": PropTypes.bool,
61- "created": PropTypes.number,
62- "created_utc": PropTypes.number,
56+ "brand_safe": PropTypes.bool.isRequired,
57+ "can_gild": PropTypes.bool.isRequired,
58+ "can_mod_post": PropTypes.bool.isRequired,
59+ "clicked": PropTypes.bool.isRequired,
60+ "contest_mode": PropTypes.bool.isRequired,
61+ "created": PropTypes.number.isRequired,
62+ "created_utc": PropTypes.number.isRequired,
6363 "distinguished": PropTypes.any,
64- "domain": PropTypes.string,
65- "downs": PropTypes.number,
66- "edited": PropTypes.bool,
67- "gilded": PropTypes.number,
68- "hidden": PropTypes.bool,
69- "hide_score": PropTypes.bool,
70- "id": PropTypes.string,
71- "is_self": PropTypes.bool,
72- "is_video": PropTypes.bool,
64+ "domain": PropTypes.string.isRequired,
65+ "downs": PropTypes.number.isRequired,
66+ "edited": PropTypes.bool.isRequired,
67+ "gilded": PropTypes.number.isRequired,
68+ "hidden": PropTypes.bool.isRequired,
69+ "hide_score": PropTypes.bool.isRequired,
70+ "id": PropTypes.string.isRequired,
71+ "is_self": PropTypes.bool.isRequired,
72+ "is_video": PropTypes.bool.isRequired,
7373 "likes": PropTypes.any,
74- "link_flair_css_class": PropTypes.string,
75- "link_flair_text": PropTypes.string,
76- "locked": PropTypes.bool,
74+ "link_flair_css_class": PropTypes.string.isRequired,
75+ "link_flair_text": PropTypes.string.isRequired,
76+ "locked": PropTypes.bool.isRequired,
7777 "media": PropTypes.any,
78- "media_embed": _MediaEmbed,
79- "mod_reports": PropTypes.arrayOf(PropTypes.any),
80- "name": PropTypes.string,
81- "num_comments": PropTypes.number,
78+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
79+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
80+ "name": PropTypes.string.isRequired,
81+ "num_comments": PropTypes.number.isRequired,
8282 "num_reports": PropTypes.any,
83- "over_18": PropTypes.bool,
84- "permalink": PropTypes.string,
83+ "over_18": PropTypes.bool.isRequired,
84+ "permalink": PropTypes.string.isRequired,
8585 "post_hint": PropTypes.oneOfType([_PostHint, PropTypes.any]),
86- "preview": PropTypes.oneOfType([_Preview, PropTypes.any]),
87- "quarantine": PropTypes.bool,
86+ "preview": PropTypes.oneOfType([(...args) => _Preview(...args), PropTypes.any]),
87+ "quarantine": PropTypes.bool.isRequired,
8888 "removal_reason": PropTypes.any,
8989 "report_reasons": PropTypes.any,
90- "saved": PropTypes.bool,
91- "score": PropTypes.number,
90+ "saved": PropTypes.bool.isRequired,
91+ "score": PropTypes.number.isRequired,
9292 "secure_media": PropTypes.any,
93- "secure_media_embed": _MediaEmbed,
94- "selftext": PropTypes.string,
93+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
94+ "selftext": PropTypes.string.isRequired,
9595 "selftext_html": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
96- "spoiler": PropTypes.bool,
97- "stickied": PropTypes.bool,
98- "subreddit": _Subreddit,
99- "subreddit_id": _SubredditID,
100- "subreddit_name_prefixed": _SubredditNamePrefixed,
101- "subreddit_type": _SubredditType,
102- "suggested_sort": _SuggestedSort,
103- "thumbnail": PropTypes.string,
96+ "spoiler": PropTypes.bool.isRequired,
97+ "stickied": PropTypes.bool.isRequired,
98+ "subreddit": _Subreddit.isRequired,
99+ "subreddit_id": _SubredditID.isRequired,
100+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
101+ "subreddit_type": _SubredditType.isRequired,
102+ "suggested_sort": _SuggestedSort.isRequired,
103+ "thumbnail": PropTypes.string.isRequired,
104104 "thumbnail_height": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
105105 "thumbnail_width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
106- "title": PropTypes.string,
107- "ups": PropTypes.number,
108- "url": PropTypes.string,
109- "user_reports": PropTypes.arrayOf(PropTypes.any),
106+ "title": PropTypes.string.isRequired,
107+ "ups": PropTypes.number.isRequired,
108+ "url": PropTypes.string.isRequired,
109+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
110110 "view_count": PropTypes.any,
111- "visited": PropTypes.bool,
111+ "visited": PropTypes.bool.isRequired,
112112 });
113113 _Child = PropTypes.shape({
114- "data": _ChildData,
115- "kind": _Kind,
114+ "data": (...args) => _ChildData.isRequired(...args),
115+ "kind": _Kind.isRequired,
116116 });
117117 _TopLevelData = PropTypes.shape({
118- "after": PropTypes.string,
118+ "after": PropTypes.string.isRequired,
119119 "before": PropTypes.any,
120- "children": PropTypes.arrayOf(_Child),
121- "modhash": PropTypes.string,
120+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
121+ "modhash": PropTypes.string.isRequired,
122122 });
123123 _TopLevel = PropTypes.shape({
124- "data": _TopLevelData,
125- "kind": PropTypes.string,
124+ "data": (...args) => _TopLevelData.isRequired(...args),
125+ "kind": PropTypes.string.isRequired,
126126 });
127127
128128 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/88130.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/8a62c.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/908db.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -16,14 +16,14 @@ let _TopLevel;
1616 let _StateElement;
1717 let _StateState;
1818 _StateState = PropTypes.shape({
19- "state_id": PropTypes.string,
20- "state_name": PropTypes.string,
19+ "state_id": PropTypes.string.isRequired,
20+ "state_name": PropTypes.string.isRequired,
2121 });
2222 _StateElement = PropTypes.shape({
23- "state": _StateState,
23+ "state": (...args) => _StateState.isRequired(...args),
2424 });
2525 _TopLevel = PropTypes.shape({
26- "states": PropTypes.arrayOf(_StateElement),
26+ "states": PropTypes.arrayOf((...args) => _StateElement(...args)).isRequired,
2727 });
2828
2929 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/9617f.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/96f7c.json

1 generated file · +6 −6
Mjavascript-prop-typesdefault / toplevel.js+6 −6
@@ -14,12 +14,12 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "git": PropTypes.arrayOf(PropTypes.string),
18- "github_services_sha": PropTypes.string,
19- "hooks": PropTypes.arrayOf(PropTypes.string),
20- "importer": PropTypes.arrayOf(PropTypes.string),
21- "pages": PropTypes.arrayOf(PropTypes.string),
22- "verifiable_password_authentication": PropTypes.bool,
17+ "git": PropTypes.arrayOf(PropTypes.string).isRequired,
18+ "github_services_sha": PropTypes.string.isRequired,
19+ "hooks": PropTypes.arrayOf(PropTypes.string).isRequired,
20+ "importer": PropTypes.arrayOf(PropTypes.string).isRequired,
21+ "pages": PropTypes.arrayOf(PropTypes.string).isRequired,
22+ "verifiable_password_authentication": PropTypes.bool.isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/9847b.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "id": PropTypes.string,
18- "name": PropTypes.string,
17+ "id": PropTypes.string.isRequired,
18+ "name": PropTypes.string.isRequired,
1919 });
2020
21-export const TopLevel = PropTypes.arrayOf(_TopLevel);
21+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/9929c.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/996bd.json

1 generated file · +19 −19
Mjavascript-prop-typesdefault / toplevel.js+19 −19
@@ -16,32 +16,32 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Scheme = PropTypes.oneOfType(['dep5', 'spdx', 'trove']);
20-const _Keyword = PropTypes.oneOfType(['osiApproved', 'popular', 'copyleft', 'international']);
21-const _MediaType = PropTypes.oneOfType(['textPlain', 'textHTML']);
22-const _Title = PropTypes.oneOfType(['plainText', 'html']);
19+const _Scheme = PropTypes.oneOf(["DEP5", "SPDX", "Trove"]);
20+const _Keyword = PropTypes.oneOf(["osi-approved", "popular", "copyleft", "international"]);
21+const _MediaType = PropTypes.oneOf(["text/plain", "text/html"]);
22+const _Title = PropTypes.oneOf(["Plain Text", "HTML"]);
2323 _Text = PropTypes.shape({
24- "media_type": _MediaType,
25- "title": _Title,
26- "url": PropTypes.string,
24+ "media_type": _MediaType.isRequired,
25+ "title": _Title.isRequired,
26+ "url": PropTypes.string.isRequired,
2727 });
2828 _Link = PropTypes.shape({
29- "note": PropTypes.string,
30- "url": PropTypes.string,
29+ "note": PropTypes.string.isRequired,
30+ "url": PropTypes.string.isRequired,
3131 });
3232 _Identifier = PropTypes.shape({
33- "identifier": PropTypes.string,
34- "scheme": _Scheme,
33+ "identifier": PropTypes.string.isRequired,
34+ "scheme": _Scheme.isRequired,
3535 });
3636 _TopLevel = PropTypes.shape({
37- "id": PropTypes.string,
38- "identifiers": PropTypes.arrayOf(_Identifier),
39- "keywords": PropTypes.arrayOf(_Keyword),
40- "links": PropTypes.arrayOf(_Link),
41- "name": PropTypes.string,
42- "other_names": PropTypes.arrayOf(PropTypes.any),
37+ "id": PropTypes.string.isRequired,
38+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
39+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
40+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
41+ "name": PropTypes.string.isRequired,
42+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
4343 "superseded_by": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
44- "text": PropTypes.arrayOf(_Text),
44+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4545 });
4646
47-export const TopLevel = PropTypes.arrayOf(_TopLevel);
47+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/9a503.json

1 generated file · +16 −16
Mjavascript-prop-typesdefault / toplevel.js+16 −16
@@ -16,29 +16,29 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Keyword = PropTypes.oneOfType(['discouraged', 'retired', 'osiApproved']);
19+const _Keyword = PropTypes.oneOf(["discouraged", "retired", "osi-approved"]);
2020 _Text = PropTypes.shape({
21- "media_type": PropTypes.string,
22- "title": PropTypes.string,
23- "url": PropTypes.string,
21+ "media_type": PropTypes.string.isRequired,
22+ "title": PropTypes.string.isRequired,
23+ "url": PropTypes.string.isRequired,
2424 });
2525 _Link = PropTypes.shape({
26- "note": PropTypes.string,
27- "url": PropTypes.string,
26+ "note": PropTypes.string.isRequired,
27+ "url": PropTypes.string.isRequired,
2828 });
2929 _Identifier = PropTypes.shape({
30- "identifier": PropTypes.string,
31- "scheme": PropTypes.string,
30+ "identifier": PropTypes.string.isRequired,
31+ "scheme": PropTypes.string.isRequired,
3232 });
3333 _TopLevel = PropTypes.shape({
34- "id": PropTypes.string,
35- "identifiers": PropTypes.arrayOf(_Identifier),
36- "keywords": PropTypes.arrayOf(_Keyword),
37- "links": PropTypes.arrayOf(_Link),
38- "name": PropTypes.string,
39- "other_names": PropTypes.arrayOf(PropTypes.any),
34+ "id": PropTypes.string.isRequired,
35+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
36+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
37+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
38+ "name": PropTypes.string.isRequired,
39+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
4040 "superseded_by": PropTypes.any,
41- "text": PropTypes.arrayOf(_Text),
41+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4242 });
4343
44-export const TopLevel = PropTypes.arrayOf(_TopLevel);
44+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/9ac3b.json

1 generated file · +18 −18
Mjavascript-prop-typesdefault / toplevel.js+18 −18
@@ -15,31 +15,31 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Facets;
1717 let _Result;
18-const _Status = PropTypes.oneOfType(['inactive', 'active']);
19-const _Title = PropTypes.oneOfType(['mr', 'ms']);
18+const _Status = PropTypes.oneOf(["inactive", "active"]);
19+const _Title = PropTypes.oneOf(["Mr", "Ms"]);
2020 _Result = PropTypes.shape({
21- "created_at": PropTypes.string,
22- "entity": PropTypes.string,
23- "first_name": PropTypes.string,
24- "id": PropTypes.string,
25- "last_name": PropTypes.string,
26- "name": PropTypes.string,
21+ "created_at": PropTypes.string.isRequired,
22+ "entity": PropTypes.string.isRequired,
23+ "first_name": PropTypes.string.isRequired,
24+ "id": PropTypes.string.isRequired,
25+ "last_name": PropTypes.string.isRequired,
26+ "name": PropTypes.string.isRequired,
2727 "position": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
28- "status": _Status,
28+ "status": _Status.isRequired,
2929 "title": PropTypes.oneOfType([_Title, PropTypes.any]),
30- "updated_at": PropTypes.string,
31- "uri": PropTypes.string,
30+ "updated_at": PropTypes.string.isRequired,
31+ "uri": PropTypes.string.isRequired,
3232 });
3333 _Facets = PropTypes.shape({
3434 });
3535 _TopLevel = PropTypes.shape({
36- "count": PropTypes.number,
37- "facets": _Facets,
38- "limit": PropTypes.number,
39- "next": PropTypes.string,
40- "offset": PropTypes.number,
41- "previous": PropTypes.bool,
42- "results": PropTypes.arrayOf(_Result),
36+ "count": PropTypes.number.isRequired,
37+ "facets": (...args) => _Facets.isRequired(...args),
38+ "limit": PropTypes.number.isRequired,
39+ "next": PropTypes.string.isRequired,
40+ "offset": PropTypes.number.isRequired,
41+ "previous": PropTypes.bool.isRequired,
42+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
4343 });
4444
4545 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/9eed5.json

1 generated file · +16 −16
Mjavascript-prop-typesdefault / toplevel.js+16 −16
@@ -16,29 +16,29 @@ let _TopLevel;
1616 let _Identifier;
1717 let _Link;
1818 let _Text;
19-const _Keyword = PropTypes.oneOfType(['specialPurpose', 'osiApproved']);
19+const _Keyword = PropTypes.oneOf(["special-purpose", "osi-approved"]);
2020 _Text = PropTypes.shape({
21- "media_type": PropTypes.string,
22- "title": PropTypes.string,
23- "url": PropTypes.string,
21+ "media_type": PropTypes.string.isRequired,
22+ "title": PropTypes.string.isRequired,
23+ "url": PropTypes.string.isRequired,
2424 });
2525 _Link = PropTypes.shape({
26- "note": PropTypes.string,
27- "url": PropTypes.string,
26+ "note": PropTypes.string.isRequired,
27+ "url": PropTypes.string.isRequired,
2828 });
2929 _Identifier = PropTypes.shape({
30- "identifier": PropTypes.string,
31- "scheme": PropTypes.string,
30+ "identifier": PropTypes.string.isRequired,
31+ "scheme": PropTypes.string.isRequired,
3232 });
3333 _TopLevel = PropTypes.shape({
34- "id": PropTypes.string,
35- "identifiers": PropTypes.arrayOf(_Identifier),
36- "keywords": PropTypes.arrayOf(_Keyword),
37- "links": PropTypes.arrayOf(_Link),
38- "name": PropTypes.string,
39- "other_names": PropTypes.arrayOf(PropTypes.any),
34+ "id": PropTypes.string.isRequired,
35+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
36+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
37+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
38+ "name": PropTypes.string.isRequired,
39+ "other_names": PropTypes.arrayOf(PropTypes.any).isRequired,
4040 "superseded_by": PropTypes.any,
41- "text": PropTypes.arrayOf(_Text),
41+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
4242 });
4343
44-export const TopLevel = PropTypes.arrayOf(_TopLevel);
44+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/a0496.json

1 generated file · +17 −17
Mjavascript-prop-typesdefault / toplevel.js+17 −17
@@ -17,23 +17,23 @@ let _Errors;
1717 _Errors = PropTypes.shape({
1818 });
1919 _TopLevel = PropTypes.shape({
20- "code": PropTypes.string,
21- "column_names": PropTypes.arrayOf(PropTypes.string),
22- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
23- "description": PropTypes.string,
24- "display_url": PropTypes.string,
25- "errors": _Errors,
26- "frequency": PropTypes.string,
27- "from_date": PropTypes.string,
28- "id": PropTypes.number,
29- "name": PropTypes.string,
30- "premium": PropTypes.bool,
31- "source_code": PropTypes.string,
32- "source_name": PropTypes.string,
33- "to_date": PropTypes.string,
34- "type": PropTypes.string,
35- "updated_at": PropTypes.string,
36- "urlize_name": PropTypes.string,
20+ "code": PropTypes.string.isRequired,
21+ "column_names": PropTypes.arrayOf(PropTypes.string).isRequired,
22+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
23+ "description": PropTypes.string.isRequired,
24+ "display_url": PropTypes.string.isRequired,
25+ "errors": (...args) => _Errors.isRequired(...args),
26+ "frequency": PropTypes.string.isRequired,
27+ "from_date": PropTypes.string.isRequired,
28+ "id": PropTypes.number.isRequired,
29+ "name": PropTypes.string.isRequired,
30+ "premium": PropTypes.bool.isRequired,
31+ "source_code": PropTypes.string.isRequired,
32+ "source_name": PropTypes.string.isRequired,
33+ "to_date": PropTypes.string.isRequired,
34+ "type": PropTypes.string.isRequired,
35+ "updated_at": PropTypes.string.isRequired,
36+ "urlize_name": PropTypes.string.isRequired,
3737 });
3838
3939 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/a1eca.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/a3d8c.json

1 generated file · +70 −70
Mjavascript-prop-typesdefault / toplevel.js+70 −70
@@ -25,106 +25,106 @@ let _Metadata;
2525 let _RenderTypeConfig;
2626 let _Visible;
2727 let _Owner;
28-const _TypeName = PropTypes.oneOfType(['metaData', 'number', 'text']);
28+const _TypeName = PropTypes.oneOf(["meta_data", "number", "text"]);
2929 _Owner = PropTypes.shape({
30- "displayName": PropTypes.string,
31- "id": PropTypes.string,
32- "screenName": PropTypes.string,
30+ "displayName": PropTypes.string.isRequired,
31+ "id": PropTypes.string.isRequired,
32+ "screenName": PropTypes.string.isRequired,
3333 });
3434 _Visible = PropTypes.shape({
35- "table": PropTypes.bool,
35+ "table": PropTypes.bool.isRequired,
3636 });
3737 _RenderTypeConfig = PropTypes.shape({
38- "visible": _Visible,
38+ "visible": (...args) => _Visible.isRequired(...args),
3939 });
4040 _Metadata = PropTypes.shape({
41- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
42- "rdfClass": PropTypes.string,
43- "rdfSubject": PropTypes.string,
44- "renderTypeConfig": _RenderTypeConfig,
45- "rowIdentifier": PropTypes.string,
41+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
42+ "rdfClass": PropTypes.string.isRequired,
43+ "rdfSubject": PropTypes.string.isRequired,
44+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
45+ "rowIdentifier": PropTypes.string.isRequired,
4646 });
4747 _License = PropTypes.shape({
48- "name": PropTypes.string,
48+ "name": PropTypes.string.isRequired,
4949 });
5050 _Grant = PropTypes.shape({
51- "flags": PropTypes.arrayOf(PropTypes.string),
52- "inherited": PropTypes.bool,
53- "type": PropTypes.string,
51+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
52+ "inherited": PropTypes.bool.isRequired,
53+ "type": PropTypes.string.isRequired,
5454 });
5555 _Query = PropTypes.shape({
5656 });
5757 _Top = PropTypes.shape({
58- "count": PropTypes.number,
59- "item": PropTypes.string,
58+ "count": PropTypes.number.isRequired,
59+ "item": PropTypes.string.isRequired,
6060 });
6161 _CachedContents = PropTypes.shape({
6262 "average": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
63- "largest": PropTypes.string,
64- "non_null": PropTypes.number,
65- "null": PropTypes.number,
66- "smallest": PropTypes.string,
63+ "largest": PropTypes.string.isRequired,
64+ "non_null": PropTypes.number.isRequired,
65+ "null": PropTypes.number.isRequired,
66+ "smallest": PropTypes.string.isRequired,
6767 "sum": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
68- "top": PropTypes.arrayOf(_Top),
68+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
6969 });
7070 _Column = PropTypes.shape({
71- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
72- "dataTypeName": _TypeName,
73- "fieldName": PropTypes.string,
71+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
72+ "dataTypeName": _TypeName.isRequired,
73+ "fieldName": PropTypes.string.isRequired,
7474 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
75- "format": _Query,
76- "id": PropTypes.number,
77- "name": PropTypes.string,
78- "position": PropTypes.number,
79- "renderTypeName": _TypeName,
75+ "format": (...args) => _Query.isRequired(...args),
76+ "id": PropTypes.number.isRequired,
77+ "name": PropTypes.string.isRequired,
78+ "position": PropTypes.number.isRequired,
79+ "renderTypeName": _TypeName.isRequired,
8080 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8181 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8282 });
8383 _View = PropTypes.shape({
84- "averageRating": PropTypes.number,
85- "category": PropTypes.string,
86- "columns": PropTypes.arrayOf(_Column),
87- "createdAt": PropTypes.number,
88- "displayType": PropTypes.string,
89- "downloadCount": PropTypes.number,
90- "flags": PropTypes.arrayOf(PropTypes.string),
91- "grants": PropTypes.arrayOf(_Grant),
92- "hideFromCatalog": PropTypes.bool,
93- "hideFromDataJson": PropTypes.bool,
94- "id": PropTypes.string,
95- "indexUpdatedAt": PropTypes.number,
96- "license": _License,
97- "licenseId": PropTypes.string,
98- "locale": PropTypes.string,
99- "metadata": _Metadata,
100- "name": PropTypes.string,
101- "newBackend": PropTypes.bool,
102- "numberOfComments": PropTypes.number,
103- "oid": PropTypes.number,
104- "owner": _Owner,
105- "provenance": PropTypes.string,
106- "publicationAppendEnabled": PropTypes.bool,
107- "publicationDate": PropTypes.number,
108- "publicationGroup": PropTypes.number,
109- "publicationStage": PropTypes.string,
110- "query": _Query,
111- "rights": PropTypes.arrayOf(PropTypes.string),
112- "rowClass": PropTypes.string,
113- "rowsUpdatedAt": PropTypes.number,
114- "rowsUpdatedBy": PropTypes.string,
115- "tableAuthor": _Owner,
116- "tableId": PropTypes.number,
117- "totalTimesRated": PropTypes.number,
118- "viewCount": PropTypes.number,
119- "viewLastModified": PropTypes.number,
120- "viewType": PropTypes.string,
84+ "averageRating": PropTypes.number.isRequired,
85+ "category": PropTypes.string.isRequired,
86+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
87+ "createdAt": PropTypes.number.isRequired,
88+ "displayType": PropTypes.string.isRequired,
89+ "downloadCount": PropTypes.number.isRequired,
90+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
91+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
92+ "hideFromCatalog": PropTypes.bool.isRequired,
93+ "hideFromDataJson": PropTypes.bool.isRequired,
94+ "id": PropTypes.string.isRequired,
95+ "indexUpdatedAt": PropTypes.number.isRequired,
96+ "license": (...args) => _License.isRequired(...args),
97+ "licenseId": PropTypes.string.isRequired,
98+ "locale": PropTypes.string.isRequired,
99+ "metadata": (...args) => _Metadata.isRequired(...args),
100+ "name": PropTypes.string.isRequired,
101+ "newBackend": PropTypes.bool.isRequired,
102+ "numberOfComments": PropTypes.number.isRequired,
103+ "oid": PropTypes.number.isRequired,
104+ "owner": (...args) => _Owner.isRequired(...args),
105+ "provenance": PropTypes.string.isRequired,
106+ "publicationAppendEnabled": PropTypes.bool.isRequired,
107+ "publicationDate": PropTypes.number.isRequired,
108+ "publicationGroup": PropTypes.number.isRequired,
109+ "publicationStage": PropTypes.string.isRequired,
110+ "query": (...args) => _Query.isRequired(...args),
111+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
112+ "rowClass": PropTypes.string.isRequired,
113+ "rowsUpdatedAt": PropTypes.number.isRequired,
114+ "rowsUpdatedBy": PropTypes.string.isRequired,
115+ "tableAuthor": (...args) => _Owner.isRequired(...args),
116+ "tableId": PropTypes.number.isRequired,
117+ "totalTimesRated": PropTypes.number.isRequired,
118+ "viewCount": PropTypes.number.isRequired,
119+ "viewLastModified": PropTypes.number.isRequired,
120+ "viewType": PropTypes.string.isRequired,
121121 });
122122 _Meta = PropTypes.shape({
123- "view": _View,
123+ "view": (...args) => _View.isRequired(...args),
124124 });
125125 _TopLevel = PropTypes.shape({
126- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
127- "meta": _Meta,
126+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
127+ "meta": (...args) => _Meta.isRequired(...args),
128128 });
129129
130130 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/a45b0.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/a71df.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/a9691.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/ab0d1.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/abb4b.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/ac944.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/ad8be.json

1 generated file · +21 −21
Mjavascript-prop-typesdefault / toplevel.js+21 −21
@@ -17,37 +17,37 @@ let _Identifier;
1717 let _Link;
1818 let _OtherName;
1919 let _Text;
20-const _Scheme = PropTypes.oneOfType(['spdx', 'trove', 'dep5']);
21-const _Keyword = PropTypes.oneOfType(['osiApproved', 'discouraged', 'redundant', 'miscellaneous', 'nonReusable', 'obsolete', 'popular', 'permissive', 'retired', 'specialPurpose', 'copyleft', 'international']);
22-const _Note = PropTypes.oneOfType(['osiPage', 'tlDRLegal', 'wikipediaPage', 'noteWikipediaPage', 'mozillaPage', 'osetFoundationPage']);
23-const _MediaType = PropTypes.oneOfType(['textHTML', 'textPlain', 'applicationPDF']);
24-const _Title = PropTypes.oneOfType(['html', 'plainText', 'pdf']);
20+const _Scheme = PropTypes.oneOf(["SPDX", "Trove", "DEP5"]);
21+const _Keyword = PropTypes.oneOf(["osi-approved", "discouraged", "redundant", "miscellaneous", "non-reusable", "obsolete", "popular", "permissive", "retired", "special-purpose", "copyleft", "international"]);
22+const _Note = PropTypes.oneOf(["OSI Page", "tl;dr legal", "Wikipedia page", "Wikipedia Page", "Mozilla Page", "OSET Foundation Page"]);
23+const _MediaType = PropTypes.oneOf(["text/html", "text/plain", "application/pdf"]);
24+const _Title = PropTypes.oneOf(["HTML", "Plain Text", "PDF"]);
2525 _Text = PropTypes.shape({
26- "media_type": _MediaType,
27- "title": _Title,
28- "url": PropTypes.string,
26+ "media_type": _MediaType.isRequired,
27+ "title": _Title.isRequired,
28+ "url": PropTypes.string.isRequired,
2929 });
3030 _OtherName = PropTypes.shape({
31- "name": PropTypes.string,
31+ "name": PropTypes.string.isRequired,
3232 "note": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3333 });
3434 _Link = PropTypes.shape({
35- "note": _Note,
36- "url": PropTypes.string,
35+ "note": _Note.isRequired,
36+ "url": PropTypes.string.isRequired,
3737 });
3838 _Identifier = PropTypes.shape({
39- "identifier": PropTypes.string,
40- "scheme": _Scheme,
39+ "identifier": PropTypes.string.isRequired,
40+ "scheme": _Scheme.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "id": PropTypes.string,
44- "identifiers": PropTypes.arrayOf(_Identifier),
45- "keywords": PropTypes.arrayOf(_Keyword),
46- "links": PropTypes.arrayOf(_Link),
47- "name": PropTypes.string,
48- "other_names": PropTypes.arrayOf(_OtherName),
43+ "id": PropTypes.string.isRequired,
44+ "identifiers": PropTypes.arrayOf((...args) => _Identifier(...args)).isRequired,
45+ "keywords": PropTypes.arrayOf(_Keyword).isRequired,
46+ "links": PropTypes.arrayOf((...args) => _Link(...args)).isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "other_names": PropTypes.arrayOf((...args) => _OtherName(...args)).isRequired,
4949 "superseded_by": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
50- "text": PropTypes.arrayOf(_Text),
50+ "text": PropTypes.arrayOf((...args) => _Text(...args)).isRequired,
5151 });
5252
53-export const TopLevel = PropTypes.arrayOf(_TopLevel);
53+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/ae7f0.json

1 generated file · +55 −55
Mjavascript-prop-typesdefault / toplevel.js+55 −55
@@ -17,89 +17,89 @@ let _TopLevelData;
1717 let _Child;
1818 let _ChildData;
1919 let _MediaEmbed;
20-const _Domain = PropTypes.oneOfType(['selfAskReddit']);
21-const _Subreddit = PropTypes.oneOfType(['askReddit']);
22-const _SubredditID = PropTypes.oneOfType(['t52Qh1I']);
23-const _SubredditNamePrefixed = PropTypes.oneOfType(['rAskReddit']);
24-const _SubredditType = PropTypes.oneOfType(['public']);
25-const _Kind = PropTypes.oneOfType(['t3']);
20+const _Domain = PropTypes.oneOf(["self.AskReddit"]);
21+const _Subreddit = PropTypes.oneOf(["AskReddit"]);
22+const _SubredditID = PropTypes.oneOf(["t5_2qh1i"]);
23+const _SubredditNamePrefixed = PropTypes.oneOf(["r/AskReddit"]);
24+const _SubredditType = PropTypes.oneOf(["public"]);
25+const _Kind = PropTypes.oneOf(["t3"]);
2626 _MediaEmbed = PropTypes.shape({
2727 });
2828 _ChildData = PropTypes.shape({
2929 "approved_at_utc": PropTypes.any,
3030 "approved_by": PropTypes.any,
31- "archived": PropTypes.bool,
32- "author": PropTypes.string,
31+ "archived": PropTypes.bool.isRequired,
32+ "author": PropTypes.string.isRequired,
3333 "author_flair_css_class": PropTypes.any,
3434 "author_flair_text": PropTypes.any,
3535 "banned_at_utc": PropTypes.any,
3636 "banned_by": PropTypes.any,
37- "brand_safe": PropTypes.bool,
38- "can_gild": PropTypes.bool,
39- "can_mod_post": PropTypes.bool,
40- "clicked": PropTypes.bool,
41- "contest_mode": PropTypes.bool,
42- "created": PropTypes.number,
43- "created_utc": PropTypes.number,
37+ "brand_safe": PropTypes.bool.isRequired,
38+ "can_gild": PropTypes.bool.isRequired,
39+ "can_mod_post": PropTypes.bool.isRequired,
40+ "clicked": PropTypes.bool.isRequired,
41+ "contest_mode": PropTypes.bool.isRequired,
42+ "created": PropTypes.number.isRequired,
43+ "created_utc": PropTypes.number.isRequired,
4444 "distinguished": PropTypes.any,
45- "domain": _Domain,
46- "downs": PropTypes.number,
47- "edited": PropTypes.bool,
48- "gilded": PropTypes.number,
49- "hidden": PropTypes.bool,
50- "hide_score": PropTypes.bool,
51- "id": PropTypes.string,
52- "is_self": PropTypes.bool,
53- "is_video": PropTypes.bool,
45+ "domain": _Domain.isRequired,
46+ "downs": PropTypes.number.isRequired,
47+ "edited": PropTypes.bool.isRequired,
48+ "gilded": PropTypes.number.isRequired,
49+ "hidden": PropTypes.bool.isRequired,
50+ "hide_score": PropTypes.bool.isRequired,
51+ "id": PropTypes.string.isRequired,
52+ "is_self": PropTypes.bool.isRequired,
53+ "is_video": PropTypes.bool.isRequired,
5454 "likes": PropTypes.any,
5555 "link_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5656 "link_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
57- "locked": PropTypes.bool,
57+ "locked": PropTypes.bool.isRequired,
5858 "media": PropTypes.any,
59- "media_embed": _MediaEmbed,
60- "mod_reports": PropTypes.arrayOf(PropTypes.any),
61- "name": PropTypes.string,
62- "num_comments": PropTypes.number,
59+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
60+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
61+ "name": PropTypes.string.isRequired,
62+ "num_comments": PropTypes.number.isRequired,
6363 "num_reports": PropTypes.any,
64- "over_18": PropTypes.bool,
65- "permalink": PropTypes.string,
66- "quarantine": PropTypes.bool,
64+ "over_18": PropTypes.bool.isRequired,
65+ "permalink": PropTypes.string.isRequired,
66+ "quarantine": PropTypes.bool.isRequired,
6767 "removal_reason": PropTypes.any,
6868 "report_reasons": PropTypes.any,
69- "saved": PropTypes.bool,
70- "score": PropTypes.number,
69+ "saved": PropTypes.bool.isRequired,
70+ "score": PropTypes.number.isRequired,
7171 "secure_media": PropTypes.any,
72- "secure_media_embed": _MediaEmbed,
73- "selftext": PropTypes.string,
72+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
73+ "selftext": PropTypes.string.isRequired,
7474 "selftext_html": PropTypes.any,
75- "spoiler": PropTypes.bool,
76- "stickied": PropTypes.bool,
77- "subreddit": _Subreddit,
78- "subreddit_id": _SubredditID,
79- "subreddit_name_prefixed": _SubredditNamePrefixed,
80- "subreddit_type": _SubredditType,
75+ "spoiler": PropTypes.bool.isRequired,
76+ "stickied": PropTypes.bool.isRequired,
77+ "subreddit": _Subreddit.isRequired,
78+ "subreddit_id": _SubredditID.isRequired,
79+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
80+ "subreddit_type": _SubredditType.isRequired,
8181 "suggested_sort": PropTypes.any,
82- "thumbnail": PropTypes.string,
83- "title": PropTypes.string,
84- "ups": PropTypes.number,
85- "url": PropTypes.string,
86- "user_reports": PropTypes.arrayOf(PropTypes.any),
82+ "thumbnail": PropTypes.string.isRequired,
83+ "title": PropTypes.string.isRequired,
84+ "ups": PropTypes.number.isRequired,
85+ "url": PropTypes.string.isRequired,
86+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
8787 "view_count": PropTypes.any,
88- "visited": PropTypes.bool,
88+ "visited": PropTypes.bool.isRequired,
8989 });
9090 _Child = PropTypes.shape({
91- "data": _ChildData,
92- "kind": _Kind,
91+ "data": (...args) => _ChildData.isRequired(...args),
92+ "kind": _Kind.isRequired,
9393 });
9494 _TopLevelData = PropTypes.shape({
95- "after": PropTypes.string,
95+ "after": PropTypes.string.isRequired,
9696 "before": PropTypes.any,
97- "children": PropTypes.arrayOf(_Child),
98- "modhash": PropTypes.string,
97+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
98+ "modhash": PropTypes.string.isRequired,
9999 });
100100 _TopLevel = PropTypes.shape({
101- "data": _TopLevelData,
102- "kind": PropTypes.string,
101+ "data": (...args) => _TopLevelData.isRequired(...args),
102+ "kind": PropTypes.string.isRequired,
103103 });
104104
105105 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/ae9ca.json

1 generated file · +23 −23
Mjavascript-prop-typesdefault / toplevel.js+23 −23
@@ -16,36 +16,36 @@ let _TopLevel;
1616 let _Feature;
1717 let _Geometry;
1818 let _Properties;
19-const _GeometryType = PropTypes.oneOfType(['point']);
20-const _Class = PropTypes.oneOfType(['noCodeAllocated', 'osDistrict', 'osNeighbourhood', 'osRegional']);
21-const _MaintainingAuthority = PropTypes.oneOfType(['cityOfBallarat']);
22-const _Ward = PropTypes.oneOfType(['south', 'north', 'central']);
23-const _FeatureType = PropTypes.oneOfType(['feature']);
19+const _GeometryType = PropTypes.oneOf(["Point"]);
20+const _Class = PropTypes.oneOf(["No Code Allocated", "OS-District", "OS-Neighbourhood", "OS-Regional"]);
21+const _MaintainingAuthority = PropTypes.oneOf(["City of Ballarat"]);
22+const _Ward = PropTypes.oneOf(["South", "North", "Central"]);
23+const _FeatureType = PropTypes.oneOf(["Feature"]);
2424 _Properties = PropTypes.shape({
25- "Area": PropTypes.string,
26- "Central Asset ID": PropTypes.string,
27- "Class": _Class,
28- "Feature Location": PropTypes.string,
29- "Maintaining Authority": _MaintainingAuthority,
30- "Number": PropTypes.string,
31- "Site Name": PropTypes.string,
32- "Ward": _Ward,
33- "lat": PropTypes.string,
34- "long": PropTypes.string,
25+ "Area": PropTypes.string.isRequired,
26+ "Central Asset ID": PropTypes.string.isRequired,
27+ "Class": _Class.isRequired,
28+ "Feature Location": PropTypes.string.isRequired,
29+ "Maintaining Authority": _MaintainingAuthority.isRequired,
30+ "Number": PropTypes.string.isRequired,
31+ "Site Name": PropTypes.string.isRequired,
32+ "Ward": _Ward.isRequired,
33+ "lat": PropTypes.string.isRequired,
34+ "long": PropTypes.string.isRequired,
3535 });
3636 _Geometry = PropTypes.shape({
37- "coordinates": PropTypes.arrayOf(PropTypes.number),
38- "type": _GeometryType,
37+ "coordinates": PropTypes.arrayOf(PropTypes.number).isRequired,
38+ "type": _GeometryType.isRequired,
3939 });
4040 _Feature = PropTypes.shape({
41- "geometry": _Geometry,
42- "properties": _Properties,
43- "type": _FeatureType,
41+ "geometry": (...args) => _Geometry.isRequired(...args),
42+ "properties": (...args) => _Properties.isRequired(...args),
43+ "type": _FeatureType.isRequired,
4444 });
4545 _TopLevel = PropTypes.shape({
46- "features": PropTypes.arrayOf(_Feature),
47- "name": PropTypes.string,
48- "type": PropTypes.string,
46+ "features": PropTypes.arrayOf((...args) => _Feature(...args)).isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "type": PropTypes.string.isRequired,
4949 });
5050
5151 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/af2d1.json

1 generated file · +41 −41
Mjavascript-prop-typesdefault / toplevel.js+41 −41
@@ -18,79 +18,79 @@ let _CRSProperties;
1818 let _Feature;
1919 let _Geometry;
2020 let _FeatureProperties;
21-const _GeometryType = PropTypes.oneOfType(['multiPolygon']);
22-const _GeometryName = PropTypes.oneOfType(['geom']);
23-const _AddImprov = PropTypes.oneOfType(['f', 'addImprovF', 't']);
24-const _FundingBa = PropTypes.oneOfType(['nonGCCC', 'capex', 'initial', 'contribute']);
25-const _LevelAccu = PropTypes.oneOfType(['gpsCorrected10M', 'approx', 'gpsCOrrected10M']);
26-const _Material = PropTypes.oneOfType(['gravel', 'concrete', 'bitumen', 'interlockConcBlock', 'other', 'earth']);
27-const _MiSymbolo = PropTypes.oneOfType(['pen2265535Brush1016777215']);
28-const _Status = PropTypes.oneOfType(['current']);
29-const _PropertiesType = PropTypes.oneOfType(['boatRamp']);
30-const _FeatureType = PropTypes.oneOfType(['feature']);
21+const _GeometryType = PropTypes.oneOf(["MultiPolygon"]);
22+const _GeometryName = PropTypes.oneOf(["geom"]);
23+const _AddImprov = PropTypes.oneOf(["f", "F", "t"]);
24+const _FundingBa = PropTypes.oneOf(["Non GCCC", "Capex", "Initial", "Contribute"]);
25+const _LevelAccu = PropTypes.oneOf(["GPS Corrected 1.0M", "APPROX", "GPS COrrected 1.0M"]);
26+const _Material = PropTypes.oneOf(["Gravel", "Concrete", "Bitumen", "Interlock Conc Block", "Other", "Earth"]);
27+const _MiSymbolo = PropTypes.oneOf(["Pen (2, 2, 65535) Brush (1, 0, 16777215)"]);
28+const _Status = PropTypes.oneOf(["CURRENT"]);
29+const _PropertiesType = PropTypes.oneOf(["Boat Ramp"]);
30+const _FeatureType = PropTypes.oneOf(["Feature"]);
3131 _FeatureProperties = PropTypes.shape({
3232 "add_improv": PropTypes.oneOfType([_AddImprov, PropTypes.any]),
33- "area_": PropTypes.number,
34- "asset_numb": PropTypes.string,
33+ "area_": PropTypes.number.isRequired,
34+ "asset_numb": PropTypes.string.isRequired,
3535 "comments": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
36- "condition": PropTypes.number,
36+ "condition": PropTypes.number.isRequired,
3737 "constructi": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3838 "createdate": PropTypes.any,
3939 "createuser": PropTypes.any,
4040 "disposal_d": PropTypes.any,
41- "documents": PropTypes.string,
41+ "documents": PropTypes.string.isRequired,
4242 "drawing_nu": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4343 "file_numbe": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4444 "folder_num": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4545 "funding_ba": PropTypes.oneOfType([_FundingBa, PropTypes.any]),
46- "historic_c": PropTypes.number,
47- "inspection": PropTypes.string,
46+ "historic_c": PropTypes.number.isRequired,
47+ "inspection": PropTypes.string.isRequired,
4848 "inspectors": PropTypes.any,
4949 "last_updat": PropTypes.any,
5050 "level_accu": PropTypes.oneOfType([_LevelAccu, PropTypes.any]),
51- "material": _Material,
52- "mi_prinx": PropTypes.number,
53- "mi_symbolo": _MiSymbolo,
54- "number_lan": PropTypes.number,
51+ "material": _Material.isRequired,
52+ "mi_prinx": PropTypes.number.isRequired,
53+ "mi_symbolo": _MiSymbolo.isRequired,
54+ "number_lan": PropTypes.number.isRequired,
5555 "owner": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5656 "positional": PropTypes.oneOfType([_LevelAccu, PropTypes.any]),
5757 "project_nu": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
58- "rec_id": PropTypes.number,
58+ "rec_id": PropTypes.number.isRequired,
5959 "record_cre": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
60- "shape_area": PropTypes.number,
61- "shape_leng": PropTypes.number,
62- "status": _Status,
60+ "shape_area": PropTypes.number.isRequired,
61+ "shape_leng": PropTypes.number.isRequired,
62+ "status": _Status.isRequired,
6363 "survey_num": PropTypes.any,
64- "toe_rl": PropTypes.number,
65- "top_rl": PropTypes.number,
64+ "toe_rl": PropTypes.number.isRequired,
65+ "top_rl": PropTypes.number.isRequired,
6666 "type": PropTypes.oneOfType([_PropertiesType, PropTypes.any]),
67- "update_dat": PropTypes.string,
67+ "update_dat": PropTypes.string.isRequired,
6868 "updatedate": PropTypes.any,
6969 "updateuser": PropTypes.any,
7070 });
7171 _Geometry = PropTypes.shape({
72- "coordinates": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)))),
73- "type": _GeometryType,
72+ "coordinates": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.number)))).isRequired,
73+ "type": _GeometryType.isRequired,
7474 });
7575 _Feature = PropTypes.shape({
76- "geometry": _Geometry,
77- "geometry_name": _GeometryName,
78- "id": PropTypes.string,
79- "properties": _FeatureProperties,
80- "type": _FeatureType,
76+ "geometry": (...args) => _Geometry.isRequired(...args),
77+ "geometry_name": _GeometryName.isRequired,
78+ "id": PropTypes.string.isRequired,
79+ "properties": (...args) => _FeatureProperties.isRequired(...args),
80+ "type": _FeatureType.isRequired,
8181 });
8282 _CRSProperties = PropTypes.shape({
83- "name": PropTypes.string,
83+ "name": PropTypes.string.isRequired,
8484 });
8585 _CRS = PropTypes.shape({
86- "properties": _CRSProperties,
87- "type": PropTypes.string,
86+ "properties": (...args) => _CRSProperties.isRequired(...args),
87+ "type": PropTypes.string.isRequired,
8888 });
8989 _TopLevel = PropTypes.shape({
90- "crs": _CRS,
91- "features": PropTypes.arrayOf(_Feature),
92- "totalFeatures": PropTypes.number,
93- "type": PropTypes.string,
90+ "crs": (...args) => _CRS.isRequired(...args),
91+ "features": PropTypes.arrayOf((...args) => _Feature(...args)).isRequired,
92+ "totalFeatures": PropTypes.number.isRequired,
93+ "type": PropTypes.string.isRequired,
9494 });
9595
9696 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/b4865.json

1 generated file · +12 −12
Mjavascript-prop-typesdefault / toplevel.js+12 −12
@@ -14,26 +14,26 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 let _Geolocation;
17-const _Fall = PropTypes.oneOfType(['fell', 'found']);
18-const _Type = PropTypes.oneOfType(['point']);
19-const _Nametype = PropTypes.oneOfType(['valid']);
17+const _Fall = PropTypes.oneOf(["Fell", "Found"]);
18+const _Type = PropTypes.oneOf(["Point"]);
19+const _Nametype = PropTypes.oneOf(["Valid"]);
2020 _Geolocation = PropTypes.shape({
21- "coordinates": PropTypes.arrayOf(PropTypes.number),
22- "type": _Type,
21+ "coordinates": PropTypes.arrayOf(PropTypes.number).isRequired,
22+ "type": _Type.isRequired,
2323 });
2424 _TopLevel = PropTypes.shape({
2525 ":@computed_region_cbhk_fwbd": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
2626 ":@computed_region_nnqa_25f4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
27- "fall": _Fall,
28- "geolocation": PropTypes.oneOfType([_Geolocation, PropTypes.any]),
29- "id": PropTypes.string,
27+ "fall": _Fall.isRequired,
28+ "geolocation": PropTypes.oneOfType([(...args) => _Geolocation(...args), PropTypes.any]),
29+ "id": PropTypes.string.isRequired,
3030 "mass": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
31- "name": PropTypes.string,
32- "nametype": _Nametype,
33- "recclass": PropTypes.string,
31+ "name": PropTypes.string.isRequired,
32+ "nametype": _Nametype.isRequired,
33+ "recclass": PropTypes.string.isRequired,
3434 "reclat": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3535 "reclong": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3636 "year": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
3737 });
3838
39-export const TopLevel = PropTypes.arrayOf(_TopLevel);
39+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/b6f2c.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/b6fe5.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -14,10 +14,10 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "group": PropTypes.string,
18- "movie": PropTypes.string,
19- "movie-image": PropTypes.string,
20- "theater": PropTypes.string,
17+ "group": PropTypes.string.isRequired,
18+ "movie": PropTypes.string.isRequired,
19+ "movie-image": PropTypes.string.isRequired,
20+ "theater": PropTypes.string.isRequired,
2121 });
2222
2323 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/b9f64.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -14,7 +14,7 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "user-agent": PropTypes.string,
17+ "user-agent": PropTypes.string.isRequired,
1818 });
1919
2020 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/bb1ec.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/be234.json

1 generated file · +89 −89
Mjavascript-prop-typesdefault / toplevel.js+89 −89
@@ -24,35 +24,35 @@ let _Image;
2424 let _Source;
2525 let _Variants;
2626 let _GIF;
27-const _Domain = PropTypes.oneOfType(['redditCOM', 'iReddIt', 'iImgurCOM', 'gfycatCOM', 'imgurCOM']);
28-const _PostHint = PropTypes.oneOfType(['link', 'image', 'richVideo']);
29-const _Subreddit = PropTypes.oneOfType(['funny']);
30-const _SubredditID = PropTypes.oneOfType(['t52Qh33']);
31-const _SubredditNamePrefixed = PropTypes.oneOfType(['rFunny']);
32-const _SubredditType = PropTypes.oneOfType(['public']);
33-const _Kind = PropTypes.oneOfType(['t3']);
27+const _Domain = PropTypes.oneOf(["reddit.com", "i.redd.it", "i.imgur.com", "gfycat.com", "imgur.com"]);
28+const _PostHint = PropTypes.oneOf(["link", "image", "rich:video"]);
29+const _Subreddit = PropTypes.oneOf(["funny"]);
30+const _SubredditID = PropTypes.oneOf(["t5_2qh33"]);
31+const _SubredditNamePrefixed = PropTypes.oneOf(["r/funny"]);
32+const _SubredditType = PropTypes.oneOf(["public"]);
33+const _Kind = PropTypes.oneOf(["t3"]);
3434 _GIF = PropTypes.shape({
35- "resolutions": PropTypes.arrayOf(_Source),
36- "source": _Source,
35+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
36+ "source": (...args) => _Source.isRequired(...args),
3737 });
3838 _Variants = PropTypes.shape({
39- "gif": PropTypes.oneOfType([_GIF, PropTypes.any]),
40- "mp4": PropTypes.oneOfType([_GIF, PropTypes.any]),
39+ "gif": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
40+ "mp4": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
4141 });
4242 _Source = PropTypes.shape({
43- "height": PropTypes.number,
44- "url": PropTypes.string,
45- "width": PropTypes.number,
43+ "height": PropTypes.number.isRequired,
44+ "url": PropTypes.string.isRequired,
45+ "width": PropTypes.number.isRequired,
4646 });
4747 _Image = PropTypes.shape({
48- "id": PropTypes.string,
49- "resolutions": PropTypes.arrayOf(_Source),
50- "source": _Source,
51- "variants": _Variants,
48+ "id": PropTypes.string.isRequired,
49+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
50+ "source": (...args) => _Source.isRequired(...args),
51+ "variants": (...args) => _Variants.isRequired(...args),
5252 });
5353 _Preview = PropTypes.shape({
54- "enabled": PropTypes.bool,
55- "images": PropTypes.arrayOf(_Image),
54+ "enabled": PropTypes.bool.isRequired,
55+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
5656 });
5757 _MediaEmbed = PropTypes.shape({
5858 "content": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -61,102 +61,102 @@ _MediaEmbed = PropTypes.shape({
6161 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
6262 });
6363 _Oembed = PropTypes.shape({
64- "description": PropTypes.string,
65- "height": PropTypes.number,
66- "html": PropTypes.string,
67- "provider_name": PropTypes.string,
68- "provider_url": PropTypes.string,
69- "thumbnail_height": PropTypes.number,
70- "thumbnail_url": PropTypes.string,
71- "thumbnail_width": PropTypes.number,
72- "title": PropTypes.string,
73- "type": PropTypes.string,
74- "version": PropTypes.string,
75- "width": PropTypes.number,
64+ "description": PropTypes.string.isRequired,
65+ "height": PropTypes.number.isRequired,
66+ "html": PropTypes.string.isRequired,
67+ "provider_name": PropTypes.string.isRequired,
68+ "provider_url": PropTypes.string.isRequired,
69+ "thumbnail_height": PropTypes.number.isRequired,
70+ "thumbnail_url": PropTypes.string.isRequired,
71+ "thumbnail_width": PropTypes.number.isRequired,
72+ "title": PropTypes.string.isRequired,
73+ "type": PropTypes.string.isRequired,
74+ "version": PropTypes.string.isRequired,
75+ "width": PropTypes.number.isRequired,
7676 });
7777 _Media = PropTypes.shape({
78- "oembed": _Oembed,
79- "type": _Domain,
78+ "oembed": (...args) => _Oembed.isRequired(...args),
79+ "type": _Domain.isRequired,
8080 });
8181 _ChildData = PropTypes.shape({
8282 "approved_at_utc": PropTypes.any,
8383 "approved_by": PropTypes.any,
84- "archived": PropTypes.bool,
85- "author": PropTypes.string,
84+ "archived": PropTypes.bool.isRequired,
85+ "author": PropTypes.string.isRequired,
8686 "author_flair_css_class": PropTypes.any,
8787 "author_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8888 "banned_at_utc": PropTypes.any,
8989 "banned_by": PropTypes.any,
90- "brand_safe": PropTypes.bool,
91- "can_gild": PropTypes.bool,
92- "can_mod_post": PropTypes.bool,
93- "clicked": PropTypes.bool,
94- "contest_mode": PropTypes.bool,
95- "created": PropTypes.number,
96- "created_utc": PropTypes.number,
90+ "brand_safe": PropTypes.bool.isRequired,
91+ "can_gild": PropTypes.bool.isRequired,
92+ "can_mod_post": PropTypes.bool.isRequired,
93+ "clicked": PropTypes.bool.isRequired,
94+ "contest_mode": PropTypes.bool.isRequired,
95+ "created": PropTypes.number.isRequired,
96+ "created_utc": PropTypes.number.isRequired,
9797 "distinguished": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
98- "domain": _Domain,
99- "downs": PropTypes.number,
100- "edited": PropTypes.bool,
101- "gilded": PropTypes.number,
102- "hidden": PropTypes.bool,
103- "hide_score": PropTypes.bool,
104- "id": PropTypes.string,
105- "is_self": PropTypes.bool,
106- "is_video": PropTypes.bool,
98+ "domain": _Domain.isRequired,
99+ "downs": PropTypes.number.isRequired,
100+ "edited": PropTypes.bool.isRequired,
101+ "gilded": PropTypes.number.isRequired,
102+ "hidden": PropTypes.bool.isRequired,
103+ "hide_score": PropTypes.bool.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "is_self": PropTypes.bool.isRequired,
106+ "is_video": PropTypes.bool.isRequired,
107107 "likes": PropTypes.any,
108108 "link_flair_css_class": PropTypes.any,
109109 "link_flair_text": PropTypes.any,
110- "locked": PropTypes.bool,
111- "media": PropTypes.oneOfType([_Media, PropTypes.any]),
112- "media_embed": _MediaEmbed,
113- "mod_reports": PropTypes.arrayOf(PropTypes.any),
114- "name": PropTypes.string,
115- "num_comments": PropTypes.number,
110+ "locked": PropTypes.bool.isRequired,
111+ "media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
112+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
113+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
114+ "name": PropTypes.string.isRequired,
115+ "num_comments": PropTypes.number.isRequired,
116116 "num_reports": PropTypes.any,
117- "over_18": PropTypes.bool,
118- "permalink": PropTypes.string,
119- "post_hint": _PostHint,
120- "preview": _Preview,
121- "quarantine": PropTypes.bool,
117+ "over_18": PropTypes.bool.isRequired,
118+ "permalink": PropTypes.string.isRequired,
119+ "post_hint": _PostHint.isRequired,
120+ "preview": (...args) => _Preview.isRequired(...args),
121+ "quarantine": PropTypes.bool.isRequired,
122122 "removal_reason": PropTypes.any,
123123 "report_reasons": PropTypes.any,
124- "saved": PropTypes.bool,
125- "score": PropTypes.number,
126- "secure_media": PropTypes.oneOfType([_Media, PropTypes.any]),
127- "secure_media_embed": _MediaEmbed,
128- "selftext": PropTypes.string,
124+ "saved": PropTypes.bool.isRequired,
125+ "score": PropTypes.number.isRequired,
126+ "secure_media": PropTypes.oneOfType([(...args) => _Media(...args), PropTypes.any]),
127+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
128+ "selftext": PropTypes.string.isRequired,
129129 "selftext_html": PropTypes.any,
130- "spoiler": PropTypes.bool,
131- "stickied": PropTypes.bool,
132- "subreddit": _Subreddit,
133- "subreddit_id": _SubredditID,
134- "subreddit_name_prefixed": _SubredditNamePrefixed,
135- "subreddit_type": _SubredditType,
130+ "spoiler": PropTypes.bool.isRequired,
131+ "stickied": PropTypes.bool.isRequired,
132+ "subreddit": _Subreddit.isRequired,
133+ "subreddit_id": _SubredditID.isRequired,
134+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
135+ "subreddit_type": _SubredditType.isRequired,
136136 "suggested_sort": PropTypes.any,
137- "thumbnail": PropTypes.string,
138- "thumbnail_height": PropTypes.number,
139- "thumbnail_width": PropTypes.number,
140- "title": PropTypes.string,
141- "ups": PropTypes.number,
142- "url": PropTypes.string,
143- "user_reports": PropTypes.arrayOf(PropTypes.any),
137+ "thumbnail": PropTypes.string.isRequired,
138+ "thumbnail_height": PropTypes.number.isRequired,
139+ "thumbnail_width": PropTypes.number.isRequired,
140+ "title": PropTypes.string.isRequired,
141+ "ups": PropTypes.number.isRequired,
142+ "url": PropTypes.string.isRequired,
143+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
144144 "view_count": PropTypes.any,
145- "visited": PropTypes.bool,
145+ "visited": PropTypes.bool.isRequired,
146146 });
147147 _Child = PropTypes.shape({
148- "data": _ChildData,
149- "kind": _Kind,
148+ "data": (...args) => _ChildData.isRequired(...args),
149+ "kind": _Kind.isRequired,
150150 });
151151 _TopLevelData = PropTypes.shape({
152- "after": PropTypes.string,
152+ "after": PropTypes.string.isRequired,
153153 "before": PropTypes.any,
154- "children": PropTypes.arrayOf(_Child),
155- "modhash": PropTypes.string,
154+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
155+ "modhash": PropTypes.string.isRequired,
156156 });
157157 _TopLevel = PropTypes.shape({
158- "data": _TopLevelData,
159- "kind": PropTypes.string,
158+ "data": (...args) => _TopLevelData.isRequired(...args),
159+ "kind": PropTypes.string.isRequired,
160160 });
161161
162162 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/c0356.json

1 generated file · +7 −7
Mjavascript-prop-typesdefault / toplevel.js+7 −7
@@ -16,17 +16,17 @@ let _TopLevel;
1616 let _Datum;
1717 let _Description;
1818 _Description = PropTypes.shape({
19- "base_period": PropTypes.string,
20- "missing": PropTypes.number,
21- "title": PropTypes.string,
19+ "base_period": PropTypes.string.isRequired,
20+ "missing": PropTypes.number.isRequired,
21+ "title": PropTypes.string.isRequired,
2222 });
2323 _Datum = PropTypes.shape({
24- "anomaly": PropTypes.string,
25- "value": PropTypes.string,
24+ "anomaly": PropTypes.string.isRequired,
25+ "value": PropTypes.string.isRequired,
2626 });
2727 _TopLevel = PropTypes.shape({
28- "data": PropTypes.object,
29- "description": _Description,
28+ "data": PropTypes.object.isRequired,
29+ "description": (...args) => _Description.isRequired(...args),
3030 });
3131
3232 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/c0a3a.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/c3303.json

1 generated file · +73 −73
Mjavascript-prop-typesdefault / toplevel.js+73 −73
@@ -22,103 +22,103 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['pg', 'g', 'pg13']);
26-const _Type = PropTypes.oneOfType(['gif']);
27-const _Username = PropTypes.oneOfType(['empty', 'disneypixar']);
25+const _Rating = PropTypes.oneOf(["pg", "g", "pg-13"]);
26+const _Type = PropTypes.oneOf(["gif"]);
27+const _Username = PropTypes.oneOf(["", "disneypixar"]);
2828 _Pagination = PropTypes.shape({
29- "count": PropTypes.number,
30- "offset": PropTypes.number,
31- "total_count": PropTypes.number,
29+ "count": PropTypes.number.isRequired,
30+ "offset": PropTypes.number.isRequired,
31+ "total_count": PropTypes.number.isRequired,
3232 });
3333 _Meta = PropTypes.shape({
34- "msg": PropTypes.string,
35- "response_id": PropTypes.string,
36- "status": PropTypes.number,
34+ "msg": PropTypes.string.isRequired,
35+ "response_id": PropTypes.string.isRequired,
36+ "status": PropTypes.number.isRequired,
3737 });
3838 _User = PropTypes.shape({
39- "avatar_url": PropTypes.string,
40- "banner_url": PropTypes.string,
41- "display_name": PropTypes.string,
42- "profile_url": PropTypes.string,
43- "username": _Username,
39+ "avatar_url": PropTypes.string.isRequired,
40+ "banner_url": PropTypes.string.isRequired,
41+ "display_name": PropTypes.string.isRequired,
42+ "profile_url": PropTypes.string.isRequired,
43+ "username": _Username.isRequired,
4444 });
4545 _Looping = PropTypes.shape({
46- "mp4": PropTypes.string,
47- "mp4_size": PropTypes.string,
46+ "mp4": PropTypes.string.isRequired,
47+ "mp4_size": PropTypes.string.isRequired,
4848 });
4949 _FixedHeight = PropTypes.shape({
5050 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5151 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
52- "height": PropTypes.string,
52+ "height": PropTypes.string.isRequired,
5353 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5454 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
55- "size": PropTypes.string,
56- "url": PropTypes.string,
57- "webp": PropTypes.string,
58- "webp_size": PropTypes.string,
59- "width": PropTypes.string,
55+ "size": PropTypes.string.isRequired,
56+ "url": PropTypes.string.isRequired,
57+ "webp": PropTypes.string.isRequired,
58+ "webp_size": PropTypes.string.isRequired,
59+ "width": PropTypes.string.isRequired,
6060 });
6161 _DownsizedSmall = PropTypes.shape({
62- "height": PropTypes.string,
63- "mp4": PropTypes.string,
64- "mp4_size": PropTypes.string,
65- "width": PropTypes.string,
62+ "height": PropTypes.string.isRequired,
63+ "mp4": PropTypes.string.isRequired,
64+ "mp4_size": PropTypes.string.isRequired,
65+ "width": PropTypes.string.isRequired,
6666 });
6767 _Downsized = PropTypes.shape({
68- "height": PropTypes.string,
68+ "height": PropTypes.string.isRequired,
6969 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
70- "url": PropTypes.string,
71- "width": PropTypes.string,
70+ "url": PropTypes.string.isRequired,
71+ "width": PropTypes.string.isRequired,
7272 });
7373 _Images = PropTypes.shape({
74- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
75- "downsized": _Downsized,
76- "downsized_large": _Downsized,
77- "downsized_medium": _Downsized,
78- "downsized_small": _DownsizedSmall,
79- "downsized_still": _Downsized,
80- "fixed_height": _FixedHeight,
81- "fixed_height_downsampled": _FixedHeight,
82- "fixed_height_small": _FixedHeight,
83- "fixed_height_small_still": _Downsized,
84- "fixed_height_still": _Downsized,
85- "fixed_width": _FixedHeight,
86- "fixed_width_downsampled": _FixedHeight,
87- "fixed_width_small": _FixedHeight,
88- "fixed_width_small_still": _Downsized,
89- "fixed_width_still": _Downsized,
90- "looping": _Looping,
91- "original": _FixedHeight,
92- "original_mp4": _DownsizedSmall,
93- "original_still": _Downsized,
94- "preview": _DownsizedSmall,
95- "preview_gif": _Downsized,
96- "preview_webp": _Downsized,
74+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
75+ "downsized": (...args) => _Downsized.isRequired(...args),
76+ "downsized_large": (...args) => _Downsized.isRequired(...args),
77+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
78+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
79+ "downsized_still": (...args) => _Downsized.isRequired(...args),
80+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
81+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
84+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
86+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
89+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
90+ "looping": (...args) => _Looping.isRequired(...args),
91+ "original": (...args) => _FixedHeight.isRequired(...args),
92+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
93+ "original_still": (...args) => _Downsized.isRequired(...args),
94+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
95+ "preview_gif": (...args) => _Downsized.isRequired(...args),
96+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9797 });
9898 _Datum = PropTypes.shape({
99- "bitly_gif_url": PropTypes.string,
100- "bitly_url": PropTypes.string,
101- "content_url": PropTypes.string,
102- "embed_url": PropTypes.string,
103- "id": PropTypes.string,
104- "images": _Images,
105- "import_datetime": PropTypes.string,
106- "is_indexable": PropTypes.number,
107- "rating": _Rating,
108- "slug": PropTypes.string,
109- "source": PropTypes.string,
110- "source_post_url": PropTypes.string,
111- "source_tld": PropTypes.string,
112- "trending_datetime": PropTypes.string,
113- "type": _Type,
114- "url": PropTypes.string,
115- "user": PropTypes.oneOfType([_User, PropTypes.any]),
116- "username": _Username,
99+ "bitly_gif_url": PropTypes.string.isRequired,
100+ "bitly_url": PropTypes.string.isRequired,
101+ "content_url": PropTypes.string.isRequired,
102+ "embed_url": PropTypes.string.isRequired,
103+ "id": PropTypes.string.isRequired,
104+ "images": (...args) => _Images.isRequired(...args),
105+ "import_datetime": PropTypes.string.isRequired,
106+ "is_indexable": PropTypes.number.isRequired,
107+ "rating": _Rating.isRequired,
108+ "slug": PropTypes.string.isRequired,
109+ "source": PropTypes.string.isRequired,
110+ "source_post_url": PropTypes.string.isRequired,
111+ "source_tld": PropTypes.string.isRequired,
112+ "trending_datetime": PropTypes.string.isRequired,
113+ "type": _Type.isRequired,
114+ "url": PropTypes.string.isRequired,
115+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
116+ "username": _Username.isRequired,
117117 });
118118 _TopLevel = PropTypes.shape({
119- "data": PropTypes.arrayOf(_Datum),
120- "meta": _Meta,
121- "pagination": _Pagination,
119+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
120+ "meta": (...args) => _Meta.isRequired(...args),
121+ "pagination": (...args) => _Pagination.isRequired(...args),
122122 });
123123
124124 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/c6cfd.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Country;
1717 _Country = PropTypes.shape({
18- "code": PropTypes.string,
19- "name": PropTypes.string,
18+ "code": PropTypes.string.isRequired,
19+ "name": PropTypes.string.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "countries": PropTypes.arrayOf(_Country),
22+ "countries": PropTypes.arrayOf((...args) => _Country(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/c8c7e.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,24 +15,24 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Country;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['in', 'nyGdpMktpCD']);
19-const _Value = PropTypes.oneOfType(['india', 'gdpCurrentUS']);
18+const _ID = PropTypes.oneOf(["IN", "NY.GDP.MKTP.CD"]);
19+const _Value = PropTypes.oneOf(["India", "GDP (current US$)"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Country = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "country": _Country,
32- "date": PropTypes.string,
33- "decimal": PropTypes.string,
34- "indicator": _Country,
35- "value": PropTypes.string,
31+ "country": (...args) => _Country.isRequired(...args),
32+ "date": PropTypes.string.isRequired,
33+ "decimal": PropTypes.string.isRequired,
34+ "indicator": (...args) => _Country.isRequired(...args),
35+ "value": PropTypes.string.isRequired,
3636 });
3737
38-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
38+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/cb0cc.json

1 generated file · +9 −9
Mjavascript-prop-typesdefault / toplevel.js+9 −9
@@ -15,22 +15,22 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Prize;
1717 let _Laureate;
18-const _Category = PropTypes.oneOfType(['physics', 'chemistry', 'medicine', 'literature', 'peace', 'economics']);
18+const _Category = PropTypes.oneOf(["physics", "chemistry", "medicine", "literature", "peace", "economics"]);
1919 _Laureate = PropTypes.shape({
20- "firstname": PropTypes.string,
21- "id": PropTypes.string,
20+ "firstname": PropTypes.string.isRequired,
21+ "id": PropTypes.string.isRequired,
2222 "motivation": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
23- "share": PropTypes.string,
24- "surname": PropTypes.string,
23+ "share": PropTypes.string.isRequired,
24+ "surname": PropTypes.string.isRequired,
2525 });
2626 _Prize = PropTypes.shape({
27- "category": _Category,
28- "laureates": PropTypes.arrayOf(_Laureate),
27+ "category": _Category.isRequired,
28+ "laureates": PropTypes.arrayOf((...args) => _Laureate(...args)).isRequired,
2929 "overallMotivation": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
30- "year": PropTypes.string,
30+ "year": PropTypes.string.isRequired,
3131 });
3232 _TopLevel = PropTypes.shape({
33- "prizes": PropTypes.arrayOf(_Prize),
33+ "prizes": PropTypes.arrayOf((...args) => _Prize(...args)).isRequired,
3434 });
3535
3636 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/cb81e.json

1 generated file · +6 −6
Mjavascript-prop-typesdefault / toplevel.js+6 −6
@@ -15,14 +15,14 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Description;
1717 _Description = PropTypes.shape({
18- "base_period": PropTypes.string,
19- "missing": PropTypes.string,
20- "title": PropTypes.string,
21- "units": PropTypes.string,
18+ "base_period": PropTypes.string.isRequired,
19+ "missing": PropTypes.string.isRequired,
20+ "title": PropTypes.string.isRequired,
21+ "units": PropTypes.string.isRequired,
2222 });
2323 _TopLevel = PropTypes.shape({
24- "data": PropTypes.object,
25- "description": _Description,
24+ "data": PropTypes.object.isRequired,
25+ "description": (...args) => _Description.isRequired(...args),
2626 });
2727
2828 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/ccd18.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/cd238.json

1 generated file · +25 −25
Mjavascript-prop-typesdefault / toplevel.js+25 −25
@@ -17,37 +17,37 @@ let _Status;
1717 let _Weather;
1818 let _Meta;
1919 _Meta = PropTypes.shape({
20- "credit": PropTypes.string,
21- "updated": PropTypes.string,
22- "url": PropTypes.string,
20+ "credit": PropTypes.string.isRequired,
21+ "updated": PropTypes.string.isRequired,
22+ "url": PropTypes.string.isRequired,
2323 });
2424 _Weather = PropTypes.shape({
25- "meta": _Meta,
26- "temp": PropTypes.string,
27- "visibility": PropTypes.number,
28- "weather": PropTypes.string,
29- "wind": PropTypes.string,
25+ "meta": (...args) => _Meta.isRequired(...args),
26+ "temp": PropTypes.string.isRequired,
27+ "visibility": PropTypes.number.isRequired,
28+ "weather": PropTypes.string.isRequired,
29+ "wind": PropTypes.string.isRequired,
3030 });
3131 _Status = PropTypes.shape({
32- "avgDelay": PropTypes.string,
33- "closureBegin": PropTypes.string,
34- "closureEnd": PropTypes.string,
35- "endTime": PropTypes.string,
36- "maxDelay": PropTypes.string,
37- "minDelay": PropTypes.string,
38- "reason": PropTypes.string,
39- "trend": PropTypes.string,
40- "type": PropTypes.string,
32+ "avgDelay": PropTypes.string.isRequired,
33+ "closureBegin": PropTypes.string.isRequired,
34+ "closureEnd": PropTypes.string.isRequired,
35+ "endTime": PropTypes.string.isRequired,
36+ "maxDelay": PropTypes.string.isRequired,
37+ "minDelay": PropTypes.string.isRequired,
38+ "reason": PropTypes.string.isRequired,
39+ "trend": PropTypes.string.isRequired,
40+ "type": PropTypes.string.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "IATA": PropTypes.string,
44- "ICAO": PropTypes.string,
45- "city": PropTypes.string,
46- "delay": PropTypes.string,
47- "name": PropTypes.string,
48- "state": PropTypes.string,
49- "status": _Status,
50- "weather": _Weather,
43+ "IATA": PropTypes.string.isRequired,
44+ "ICAO": PropTypes.string.isRequired,
45+ "city": PropTypes.string.isRequired,
46+ "delay": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "state": PropTypes.string.isRequired,
49+ "status": (...args) => _Status.isRequired(...args),
50+ "weather": (...args) => _Weather.isRequired(...args),
5151 });
5252
5353 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/cd463.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/cda6c.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,24 +15,24 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Country;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['cn', 'spPopTotl']);
19-const _Value = PropTypes.oneOfType(['china', 'populationTotal']);
18+const _ID = PropTypes.oneOf(["CN", "SP.POP.TOTL"]);
19+const _Value = PropTypes.oneOf(["China", "Population, total"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Country = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "country": _Country,
32- "date": PropTypes.string,
33- "decimal": PropTypes.string,
34- "indicator": _Country,
35- "value": PropTypes.string,
31+ "country": (...args) => _Country.isRequired(...args),
32+ "date": PropTypes.string.isRequired,
33+ "decimal": PropTypes.string.isRequired,
34+ "indicator": (...args) => _Country.isRequired(...args),
35+ "value": PropTypes.string.isRequired,
3636 });
3737
38-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
38+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/cf0d8.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/cfbce.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "base": PropTypes.string,
18- "date": PropTypes.string,
19- "rates": PropTypes.object,
17+ "base": PropTypes.string.isRequired,
18+ "date": PropTypes.string.isRequired,
19+ "rates": PropTypes.object.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/d0908.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _TotalPopulation;
1717 _TotalPopulation = PropTypes.shape({
18- "date": PropTypes.string,
19- "population": PropTypes.number,
18+ "date": PropTypes.string.isRequired,
19+ "population": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "total_population": PropTypes.arrayOf(_TotalPopulation),
22+ "total_population": PropTypes.arrayOf((...args) => _TotalPopulation(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/d23d5.json

1 generated file · +12 −12
Mjavascript-prop-typesdefault / toplevel.js+12 −12
@@ -17,22 +17,22 @@ let _Facets;
1717 let _Result;
1818 _Result = PropTypes.shape({
1919 "acronym": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
20- "created_at": PropTypes.string,
21- "id": PropTypes.string,
22- "name": PropTypes.string,
23- "updated_at": PropTypes.string,
24- "uri": PropTypes.string,
20+ "created_at": PropTypes.string.isRequired,
21+ "id": PropTypes.string.isRequired,
22+ "name": PropTypes.string.isRequired,
23+ "updated_at": PropTypes.string.isRequired,
24+ "uri": PropTypes.string.isRequired,
2525 });
2626 _Facets = PropTypes.shape({
2727 });
2828 _TopLevel = PropTypes.shape({
29- "count": PropTypes.number,
30- "facets": _Facets,
31- "limit": PropTypes.number,
32- "next": PropTypes.string,
33- "offset": PropTypes.number,
34- "previous": PropTypes.bool,
35- "results": PropTypes.arrayOf(_Result),
29+ "count": PropTypes.number.isRequired,
30+ "facets": (...args) => _Facets.isRequired(...args),
31+ "limit": PropTypes.number.isRequired,
32+ "next": PropTypes.string.isRequired,
33+ "offset": PropTypes.number.isRequired,
34+ "previous": PropTypes.bool.isRequired,
35+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
3636 });
3737
3838 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/dbfb3.json

1 generated file · +61 −61
Mjavascript-prop-typesdefault / toplevel.js+61 −61
@@ -26,94 +26,94 @@ let _GUID;
2626 let _Location;
2727 let _Units;
2828 let _Wind;
29-const _Text = PropTypes.oneOfType(['mostlySunny', 'sunny']);
29+const _Text = PropTypes.oneOf(["Mostly Sunny", "Sunny"]);
3030 _Wind = PropTypes.shape({
31- "chill": PropTypes.string,
32- "direction": PropTypes.string,
33- "speed": PropTypes.string,
31+ "chill": PropTypes.string.isRequired,
32+ "direction": PropTypes.string.isRequired,
33+ "speed": PropTypes.string.isRequired,
3434 });
3535 _Units = PropTypes.shape({
36- "distance": PropTypes.string,
37- "pressure": PropTypes.string,
38- "speed": PropTypes.string,
39- "temperature": PropTypes.string,
36+ "distance": PropTypes.string.isRequired,
37+ "pressure": PropTypes.string.isRequired,
38+ "speed": PropTypes.string.isRequired,
39+ "temperature": PropTypes.string.isRequired,
4040 });
4141 _Location = PropTypes.shape({
42- "city": PropTypes.string,
43- "country": PropTypes.string,
44- "region": PropTypes.string,
42+ "city": PropTypes.string.isRequired,
43+ "country": PropTypes.string.isRequired,
44+ "region": PropTypes.string.isRequired,
4545 });
4646 _GUID = PropTypes.shape({
47- "isPermaLink": PropTypes.string,
47+ "isPermaLink": PropTypes.string.isRequired,
4848 });
4949 _Forecast = PropTypes.shape({
50- "code": PropTypes.string,
51- "date": PropTypes.string,
52- "day": PropTypes.string,
53- "high": PropTypes.string,
54- "low": PropTypes.string,
55- "text": _Text,
50+ "code": PropTypes.string.isRequired,
51+ "date": PropTypes.string.isRequired,
52+ "day": PropTypes.string.isRequired,
53+ "high": PropTypes.string.isRequired,
54+ "low": PropTypes.string.isRequired,
55+ "text": _Text.isRequired,
5656 });
5757 _Condition = PropTypes.shape({
58- "code": PropTypes.string,
59- "date": PropTypes.string,
60- "temp": PropTypes.string,
61- "text": _Text,
58+ "code": PropTypes.string.isRequired,
59+ "date": PropTypes.string.isRequired,
60+ "temp": PropTypes.string.isRequired,
61+ "text": _Text.isRequired,
6262 });
6363 _Item = PropTypes.shape({
64- "condition": _Condition,
65- "description": PropTypes.string,
66- "forecast": PropTypes.arrayOf(_Forecast),
67- "guid": _GUID,
68- "lat": PropTypes.string,
69- "link": PropTypes.string,
70- "long": PropTypes.string,
71- "pubDate": PropTypes.string,
72- "title": PropTypes.string,
64+ "condition": (...args) => _Condition.isRequired(...args),
65+ "description": PropTypes.string.isRequired,
66+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
67+ "guid": (...args) => _GUID.isRequired(...args),
68+ "lat": PropTypes.string.isRequired,
69+ "link": PropTypes.string.isRequired,
70+ "long": PropTypes.string.isRequired,
71+ "pubDate": PropTypes.string.isRequired,
72+ "title": PropTypes.string.isRequired,
7373 });
7474 _Image = PropTypes.shape({
75- "height": PropTypes.string,
76- "link": PropTypes.string,
77- "title": PropTypes.string,
78- "url": PropTypes.string,
79- "width": PropTypes.string,
75+ "height": PropTypes.string.isRequired,
76+ "link": PropTypes.string.isRequired,
77+ "title": PropTypes.string.isRequired,
78+ "url": PropTypes.string.isRequired,
79+ "width": PropTypes.string.isRequired,
8080 });
8181 _Atmosphere = PropTypes.shape({
82- "humidity": PropTypes.string,
83- "pressure": PropTypes.string,
84- "rising": PropTypes.string,
85- "visibility": PropTypes.string,
82+ "humidity": PropTypes.string.isRequired,
83+ "pressure": PropTypes.string.isRequired,
84+ "rising": PropTypes.string.isRequired,
85+ "visibility": PropTypes.string.isRequired,
8686 });
8787 _Astronomy = PropTypes.shape({
88- "sunrise": PropTypes.string,
89- "sunset": PropTypes.string,
88+ "sunrise": PropTypes.string.isRequired,
89+ "sunset": PropTypes.string.isRequired,
9090 });
9191 _Channel = PropTypes.shape({
92- "astronomy": _Astronomy,
93- "atmosphere": _Atmosphere,
94- "description": PropTypes.string,
95- "image": _Image,
96- "item": _Item,
97- "language": PropTypes.string,
98- "lastBuildDate": PropTypes.string,
99- "link": PropTypes.string,
100- "location": _Location,
101- "title": PropTypes.string,
102- "ttl": PropTypes.string,
103- "units": _Units,
104- "wind": _Wind,
92+ "astronomy": (...args) => _Astronomy.isRequired(...args),
93+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
94+ "description": PropTypes.string.isRequired,
95+ "image": (...args) => _Image.isRequired(...args),
96+ "item": (...args) => _Item.isRequired(...args),
97+ "language": PropTypes.string.isRequired,
98+ "lastBuildDate": PropTypes.string.isRequired,
99+ "link": PropTypes.string.isRequired,
100+ "location": (...args) => _Location.isRequired(...args),
101+ "title": PropTypes.string.isRequired,
102+ "ttl": PropTypes.string.isRequired,
103+ "units": (...args) => _Units.isRequired(...args),
104+ "wind": (...args) => _Wind.isRequired(...args),
105105 });
106106 _Results = PropTypes.shape({
107- "channel": _Channel,
107+ "channel": (...args) => _Channel.isRequired(...args),
108108 });
109109 _Query = PropTypes.shape({
110- "count": PropTypes.number,
111- "created": PropTypes.string,
112- "lang": PropTypes.string,
113- "results": _Results,
110+ "count": PropTypes.number.isRequired,
111+ "created": PropTypes.string.isRequired,
112+ "lang": PropTypes.string.isRequired,
113+ "results": (...args) => _Results.isRequired(...args),
114114 });
115115 _TopLevel = PropTypes.shape({
116- "query": _Query,
116+ "query": (...args) => _Query.isRequired(...args),
117117 });
118118
119119 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/dc44f.json

1 generated file · +38 −38
Mjavascript-prop-typesdefault / toplevel.js+38 −38
@@ -16,64 +16,64 @@ let _TopLevel;
1616 let _Card;
1717 let _LegalityElement;
1818 let _Ruling;
19-const _Booster = PropTypes.oneOfType(['rare', 'uncommon', 'common']);
20-const _ColorIdentity = PropTypes.oneOfType(['u', 'b', 'w', 'g', 'r']);
21-const _Color = PropTypes.oneOfType(['blue', 'black', 'white', 'green', 'red']);
22-const _Layout = PropTypes.oneOfType(['normal']);
23-const _Format = PropTypes.oneOfType(['commander', 'legacy', 'modern', 'vintage', 'timeSpiralBlock', 'ravnicaBlock', 'iceAgeBlock', 'tempestBlock', 'onslaughtBlock', 'masquesBlock', 'mirageBlock', 'urzaBlock', 'scarsOfMirrodinBlock', 'mirrodinBlock', 'amonkhetBlock', 'battleForZendikarBlock', 'innistradBlock', 'invasionBlock', 'kaladeshBlock', 'kamigawaBlock', 'khansOfTarkirBlock', 'lorwynShadowmoorBlock', 'odysseyBlock', 'returnToRavnicaBlock', 'shadowsOverInnistradBlock', 'shardsOfAlaraBlock', 'standard', 'therosBlock', 'unSets', 'zendikarBlock']);
24-const _LegalityEnum = PropTypes.oneOfType(['legal', 'banned', 'restricted']);
25-const _Rarity = PropTypes.oneOfType(['uncommon', 'rare', 'common', 'basicLand']);
26-const _Supertype = PropTypes.oneOfType(['basic']);
27-const _Type = PropTypes.oneOfType(['creature', 'instant', 'enchantment', 'artifact', 'sorcery', 'land']);
19+const _Booster = PropTypes.oneOf(["rare", "uncommon", "common"]);
20+const _ColorIdentity = PropTypes.oneOf(["U", "B", "W", "G", "R"]);
21+const _Color = PropTypes.oneOf(["Blue", "Black", "White", "Green", "Red"]);
22+const _Layout = PropTypes.oneOf(["normal"]);
23+const _Format = PropTypes.oneOf(["Commander", "Legacy", "Modern", "Vintage", "Time Spiral Block", "Ravnica Block", "Ice Age Block", "Tempest Block", "Onslaught Block", "Masques Block", "Mirage Block", "Urza Block", "Scars of Mirrodin Block", "Mirrodin Block", "Amonkhet Block", "Battle for Zendikar Block", "Innistrad Block", "Invasion Block", "Kaladesh Block", "Kamigawa Block", "Khans of Tarkir Block", "Lorwyn-Shadowmoor Block", "Odyssey Block", "Return to Ravnica Block", "Shadows over Innistrad Block", "Shards of Alara Block", "Standard", "Theros Block", "Un-Sets", "Zendikar Block"]);
24+const _LegalityEnum = PropTypes.oneOf(["Legal", "Banned", "Restricted"]);
25+const _Rarity = PropTypes.oneOf(["Uncommon", "Rare", "Common", "Basic Land"]);
26+const _Supertype = PropTypes.oneOf(["Basic"]);
27+const _Type = PropTypes.oneOf(["Creature", "Instant", "Enchantment", "Artifact", "Sorcery", "Land"]);
2828 _Ruling = PropTypes.shape({
29- "date": PropTypes.string,
30- "text": PropTypes.string,
29+ "date": PropTypes.string.isRequired,
30+ "text": PropTypes.string.isRequired,
3131 });
3232 _LegalityElement = PropTypes.shape({
33- "format": _Format,
34- "legality": _LegalityEnum,
33+ "format": _Format.isRequired,
34+ "legality": _LegalityEnum.isRequired,
3535 });
3636 _Card = PropTypes.shape({
37- "artist": PropTypes.string,
38- "cmc": PropTypes.number,
37+ "artist": PropTypes.string.isRequired,
38+ "cmc": PropTypes.number.isRequired,
3939 "colorIdentity": PropTypes.oneOfType([PropTypes.arrayOf(_ColorIdentity), PropTypes.any]),
4040 "colors": PropTypes.oneOfType([PropTypes.arrayOf(_Color), PropTypes.any]),
4141 "flavor": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
42- "id": PropTypes.string,
43- "imageName": PropTypes.string,
44- "layout": _Layout,
45- "legalities": PropTypes.arrayOf(_LegalityElement),
42+ "id": PropTypes.string.isRequired,
43+ "imageName": PropTypes.string.isRequired,
44+ "layout": _Layout.isRequired,
45+ "legalities": PropTypes.arrayOf((...args) => _LegalityElement(...args)).isRequired,
4646 "manaCost": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4747 "mciNumber": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
48- "multiverseid": PropTypes.number,
49- "name": PropTypes.string,
48+ "multiverseid": PropTypes.number.isRequired,
49+ "name": PropTypes.string.isRequired,
5050 "originalText": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
51- "originalType": PropTypes.string,
51+ "originalType": PropTypes.string.isRequired,
5252 "power": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "printings": PropTypes.arrayOf(PropTypes.string),
54- "rarity": _Rarity,
53+ "printings": PropTypes.arrayOf(PropTypes.string).isRequired,
54+ "rarity": _Rarity.isRequired,
5555 "reserved": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
56- "rulings": PropTypes.oneOfType([PropTypes.arrayOf(_Ruling), PropTypes.any]),
56+ "rulings": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Ruling(...args)), PropTypes.any]),
5757 "subtypes": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
5858 "supertypes": PropTypes.oneOfType([PropTypes.arrayOf(_Supertype), PropTypes.any]),
5959 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6060 "toughness": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
61- "type": PropTypes.string,
62- "types": PropTypes.arrayOf(_Type),
61+ "type": PropTypes.string.isRequired,
62+ "types": PropTypes.arrayOf(_Type).isRequired,
6363 "variations": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any]),
6464 });
6565 _TopLevel = PropTypes.shape({
66- "booster": PropTypes.arrayOf(_Booster),
67- "border": PropTypes.string,
68- "cards": PropTypes.arrayOf(_Card),
69- "code": PropTypes.string,
70- "gathererCode": PropTypes.string,
71- "magicCardsInfoCode": PropTypes.string,
72- "mkm_id": PropTypes.number,
73- "mkm_name": PropTypes.string,
74- "name": PropTypes.string,
75- "releaseDate": PropTypes.string,
76- "type": PropTypes.string,
66+ "booster": PropTypes.arrayOf(_Booster).isRequired,
67+ "border": PropTypes.string.isRequired,
68+ "cards": PropTypes.arrayOf((...args) => _Card(...args)).isRequired,
69+ "code": PropTypes.string.isRequired,
70+ "gathererCode": PropTypes.string.isRequired,
71+ "magicCardsInfoCode": PropTypes.string.isRequired,
72+ "mkm_id": PropTypes.number.isRequired,
73+ "mkm_name": PropTypes.string.isRequired,
74+ "name": PropTypes.string.isRequired,
75+ "releaseDate": PropTypes.string.isRequired,
76+ "type": PropTypes.string.isRequired,
7777 });
7878
7979 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/dd1ce.json

1 generated file · +38 −38
Mjavascript-prop-typesdefault / toplevel.js+38 −38
@@ -16,64 +16,64 @@ let _TopLevel;
1616 let _Card;
1717 let _LegalityElement;
1818 let _Ruling;
19-const _Booster = PropTypes.oneOfType(['rare', 'uncommon', 'common']);
20-const _ColorIdentity = PropTypes.oneOfType(['u', 'b', 'w', 'g', 'r']);
21-const _Color = PropTypes.oneOfType(['blue', 'black', 'white', 'green', 'red']);
22-const _Layout = PropTypes.oneOfType(['normal']);
23-const _Format = PropTypes.oneOfType(['commander', 'legacy', 'modern', 'vintage', 'timeSpiralBlock', 'ravnicaBlock', 'iceAgeBlock', 'tempestBlock', 'onslaughtBlock', 'masquesBlock', 'mirageBlock', 'urzaBlock', 'scarsOfMirrodinBlock', 'mirrodinBlock', 'amonkhetBlock', 'battleForZendikarBlock', 'innistradBlock', 'invasionBlock', 'kaladeshBlock', 'kamigawaBlock', 'khansOfTarkirBlock', 'lorwynShadowmoorBlock', 'odysseyBlock', 'returnToRavnicaBlock', 'shadowsOverInnistradBlock', 'shardsOfAlaraBlock', 'standard', 'therosBlock', 'unSets', 'zendikarBlock']);
24-const _LegalityEnum = PropTypes.oneOfType(['legal', 'banned', 'restricted']);
25-const _Rarity = PropTypes.oneOfType(['uncommon', 'rare', 'common', 'basicLand']);
26-const _Supertype = PropTypes.oneOfType(['basic']);
27-const _Type = PropTypes.oneOfType(['creature', 'instant', 'enchantment', 'artifact', 'sorcery', 'land']);
19+const _Booster = PropTypes.oneOf(["rare", "uncommon", "common"]);
20+const _ColorIdentity = PropTypes.oneOf(["U", "B", "W", "G", "R"]);
21+const _Color = PropTypes.oneOf(["Blue", "Black", "White", "Green", "Red"]);
22+const _Layout = PropTypes.oneOf(["normal"]);
23+const _Format = PropTypes.oneOf(["Commander", "Legacy", "Modern", "Vintage", "Time Spiral Block", "Ravnica Block", "Ice Age Block", "Tempest Block", "Onslaught Block", "Masques Block", "Mirage Block", "Urza Block", "Scars of Mirrodin Block", "Mirrodin Block", "Amonkhet Block", "Battle for Zendikar Block", "Innistrad Block", "Invasion Block", "Kaladesh Block", "Kamigawa Block", "Khans of Tarkir Block", "Lorwyn-Shadowmoor Block", "Odyssey Block", "Return to Ravnica Block", "Shadows over Innistrad Block", "Shards of Alara Block", "Standard", "Theros Block", "Un-Sets", "Zendikar Block"]);
24+const _LegalityEnum = PropTypes.oneOf(["Legal", "Banned", "Restricted"]);
25+const _Rarity = PropTypes.oneOf(["Uncommon", "Rare", "Common", "Basic Land"]);
26+const _Supertype = PropTypes.oneOf(["Basic"]);
27+const _Type = PropTypes.oneOf(["Creature", "Instant", "Enchantment", "Artifact", "Sorcery", "Land"]);
2828 _Ruling = PropTypes.shape({
29- "date": PropTypes.string,
30- "text": PropTypes.string,
29+ "date": PropTypes.string.isRequired,
30+ "text": PropTypes.string.isRequired,
3131 });
3232 _LegalityElement = PropTypes.shape({
33- "format": _Format,
34- "legality": _LegalityEnum,
33+ "format": _Format.isRequired,
34+ "legality": _LegalityEnum.isRequired,
3535 });
3636 _Card = PropTypes.shape({
37- "artist": PropTypes.string,
38- "cmc": PropTypes.number,
37+ "artist": PropTypes.string.isRequired,
38+ "cmc": PropTypes.number.isRequired,
3939 "colorIdentity": PropTypes.oneOfType([PropTypes.arrayOf(_ColorIdentity), PropTypes.any]),
4040 "colors": PropTypes.oneOfType([PropTypes.arrayOf(_Color), PropTypes.any]),
4141 "flavor": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
42- "id": PropTypes.string,
43- "imageName": PropTypes.string,
44- "layout": _Layout,
45- "legalities": PropTypes.arrayOf(_LegalityElement),
42+ "id": PropTypes.string.isRequired,
43+ "imageName": PropTypes.string.isRequired,
44+ "layout": _Layout.isRequired,
45+ "legalities": PropTypes.arrayOf((...args) => _LegalityElement(...args)).isRequired,
4646 "manaCost": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4747 "mciNumber": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
48- "multiverseid": PropTypes.number,
49- "name": PropTypes.string,
48+ "multiverseid": PropTypes.number.isRequired,
49+ "name": PropTypes.string.isRequired,
5050 "originalText": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
51- "originalType": PropTypes.string,
51+ "originalType": PropTypes.string.isRequired,
5252 "power": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "printings": PropTypes.arrayOf(PropTypes.string),
54- "rarity": _Rarity,
53+ "printings": PropTypes.arrayOf(PropTypes.string).isRequired,
54+ "rarity": _Rarity.isRequired,
5555 "reserved": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
56- "rulings": PropTypes.oneOfType([PropTypes.arrayOf(_Ruling), PropTypes.any]),
56+ "rulings": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Ruling(...args)), PropTypes.any]),
5757 "subtypes": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
5858 "supertypes": PropTypes.oneOfType([PropTypes.arrayOf(_Supertype), PropTypes.any]),
5959 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6060 "toughness": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
61- "type": PropTypes.string,
62- "types": PropTypes.arrayOf(_Type),
61+ "type": PropTypes.string.isRequired,
62+ "types": PropTypes.arrayOf(_Type).isRequired,
6363 "variations": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any]),
6464 });
6565 _TopLevel = PropTypes.shape({
66- "booster": PropTypes.arrayOf(_Booster),
67- "border": PropTypes.string,
68- "cards": PropTypes.arrayOf(_Card),
69- "code": PropTypes.string,
70- "gathererCode": PropTypes.string,
71- "magicCardsInfoCode": PropTypes.string,
72- "mkm_id": PropTypes.number,
73- "mkm_name": PropTypes.string,
74- "name": PropTypes.string,
75- "releaseDate": PropTypes.string,
76- "type": PropTypes.string,
66+ "booster": PropTypes.arrayOf(_Booster).isRequired,
67+ "border": PropTypes.string.isRequired,
68+ "cards": PropTypes.arrayOf((...args) => _Card(...args)).isRequired,
69+ "code": PropTypes.string.isRequired,
70+ "gathererCode": PropTypes.string.isRequired,
71+ "magicCardsInfoCode": PropTypes.string.isRequired,
72+ "mkm_id": PropTypes.number.isRequired,
73+ "mkm_name": PropTypes.string.isRequired,
74+ "name": PropTypes.string.isRequired,
75+ "releaseDate": PropTypes.string.isRequired,
76+ "type": PropTypes.string.isRequired,
7777 });
7878
7979 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/dec3a.json

1 generated file · +39 −39
Mjavascript-prop-typesdefault / toplevel.js+39 −39
@@ -20,62 +20,62 @@ let _Result;
2020 let _HiringOrg;
2121 let _Location;
2222 _Location = PropTypes.shape({
23- "administrative_area": PropTypes.string,
24- "country": PropTypes.string,
25- "fax_number": PropTypes.string,
26- "locality": PropTypes.string,
27- "mobile_number": PropTypes.string,
28- "phone_number": PropTypes.string,
29- "phone_number_extension": PropTypes.string,
30- "postal_code": PropTypes.string,
23+ "administrative_area": PropTypes.string.isRequired,
24+ "country": PropTypes.string.isRequired,
25+ "fax_number": PropTypes.string.isRequired,
26+ "locality": PropTypes.string.isRequired,
27+ "mobile_number": PropTypes.string.isRequired,
28+ "phone_number": PropTypes.string.isRequired,
29+ "phone_number_extension": PropTypes.string.isRequired,
30+ "postal_code": PropTypes.string.isRequired,
3131 "sub_premise": PropTypes.any,
32- "thoroughfare": PropTypes.string,
32+ "thoroughfare": PropTypes.string.isRequired,
3333 });
3434 _HiringOrg = PropTypes.shape({
35- "name": PropTypes.string,
36- "uuid": PropTypes.string,
35+ "name": PropTypes.string.isRequired,
36+ "uuid": PropTypes.string.isRequired,
3737 });
3838 _Result = PropTypes.shape({
39- "about_office": PropTypes.string,
40- "application_process": PropTypes.string,
41- "body": PropTypes.string,
42- "changed": PropTypes.string,
43- "created": PropTypes.string,
39+ "about_office": PropTypes.string.isRequired,
40+ "application_process": PropTypes.string.isRequired,
41+ "body": PropTypes.string.isRequired,
42+ "changed": PropTypes.string.isRequired,
43+ "created": PropTypes.string.isRequired,
4444 "deadline": PropTypes.any,
4545 "hiring_office": PropTypes.any,
46- "hiring_org": _HiringOrg,
46+ "hiring_org": (...args) => _HiringOrg.isRequired(...args),
4747 "job_id": PropTypes.any,
48- "language": PropTypes.string,
49- "location": _Location,
50- "num_positions": PropTypes.string,
51- "position": PropTypes.string,
52- "practice_area": PropTypes.string,
53- "qualifications": PropTypes.string,
48+ "language": PropTypes.string.isRequired,
49+ "location": (...args) => _Location.isRequired(...args),
50+ "num_positions": PropTypes.string.isRequired,
51+ "position": PropTypes.string.isRequired,
52+ "practice_area": PropTypes.string.isRequired,
53+ "qualifications": PropTypes.string.isRequired,
5454 "relocation_expenses": PropTypes.any,
55- "salary": PropTypes.string,
56- "title": PropTypes.string,
57- "travel": PropTypes.string,
58- "url": PropTypes.string,
59- "uuid": PropTypes.string,
60- "vuuid": PropTypes.string,
55+ "salary": PropTypes.string.isRequired,
56+ "title": PropTypes.string.isRequired,
57+ "travel": PropTypes.string.isRequired,
58+ "url": PropTypes.string.isRequired,
59+ "uuid": PropTypes.string.isRequired,
60+ "vuuid": PropTypes.string.isRequired,
6161 });
6262 _Resultset = PropTypes.shape({
63- "count": PropTypes.number,
64- "page": PropTypes.number,
65- "pagesize": PropTypes.number,
63+ "count": PropTypes.number.isRequired,
64+ "page": PropTypes.number.isRequired,
65+ "pagesize": PropTypes.number.isRequired,
6666 });
6767 _ResponseInfo = PropTypes.shape({
68- "developerMessage": PropTypes.string,
69- "status": PropTypes.number,
68+ "developerMessage": PropTypes.string.isRequired,
69+ "status": PropTypes.number.isRequired,
7070 });
7171 _Metadata = PropTypes.shape({
72- "executionTime": PropTypes.number,
73- "responseInfo": _ResponseInfo,
74- "resultset": _Resultset,
72+ "executionTime": PropTypes.number.isRequired,
73+ "responseInfo": (...args) => _ResponseInfo.isRequired(...args),
74+ "resultset": (...args) => _Resultset.isRequired(...args),
7575 });
7676 _TopLevel = PropTypes.shape({
77- "metadata": _Metadata,
78- "results": PropTypes.arrayOf(_Result),
77+ "metadata": (...args) => _Metadata.isRequired(...args),
78+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
7979 });
8080
8181 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/df957.json

1 generated file · +60 −60
Mjavascript-prop-typesdefault / toplevel.js+60 −60
@@ -27,92 +27,92 @@ let _Location;
2727 let _Units;
2828 let _Wind;
2929 _Wind = PropTypes.shape({
30- "chill": PropTypes.string,
31- "direction": PropTypes.string,
32- "speed": PropTypes.string,
30+ "chill": PropTypes.string.isRequired,
31+ "direction": PropTypes.string.isRequired,
32+ "speed": PropTypes.string.isRequired,
3333 });
3434 _Units = PropTypes.shape({
35- "distance": PropTypes.string,
36- "pressure": PropTypes.string,
37- "speed": PropTypes.string,
38- "temperature": PropTypes.string,
35+ "distance": PropTypes.string.isRequired,
36+ "pressure": PropTypes.string.isRequired,
37+ "speed": PropTypes.string.isRequired,
38+ "temperature": PropTypes.string.isRequired,
3939 });
4040 _Location = PropTypes.shape({
41- "city": PropTypes.string,
42- "country": PropTypes.string,
43- "region": PropTypes.string,
41+ "city": PropTypes.string.isRequired,
42+ "country": PropTypes.string.isRequired,
43+ "region": PropTypes.string.isRequired,
4444 });
4545 _GUID = PropTypes.shape({
46- "isPermaLink": PropTypes.string,
46+ "isPermaLink": PropTypes.string.isRequired,
4747 });
4848 _Forecast = PropTypes.shape({
49- "code": PropTypes.string,
50- "date": PropTypes.string,
51- "day": PropTypes.string,
52- "high": PropTypes.string,
53- "low": PropTypes.string,
54- "text": PropTypes.string,
49+ "code": PropTypes.string.isRequired,
50+ "date": PropTypes.string.isRequired,
51+ "day": PropTypes.string.isRequired,
52+ "high": PropTypes.string.isRequired,
53+ "low": PropTypes.string.isRequired,
54+ "text": PropTypes.string.isRequired,
5555 });
5656 _Condition = PropTypes.shape({
57- "code": PropTypes.string,
58- "date": PropTypes.string,
59- "temp": PropTypes.string,
60- "text": PropTypes.string,
57+ "code": PropTypes.string.isRequired,
58+ "date": PropTypes.string.isRequired,
59+ "temp": PropTypes.string.isRequired,
60+ "text": PropTypes.string.isRequired,
6161 });
6262 _Item = PropTypes.shape({
63- "condition": _Condition,
64- "description": PropTypes.string,
65- "forecast": PropTypes.arrayOf(_Forecast),
66- "guid": _GUID,
67- "lat": PropTypes.string,
68- "link": PropTypes.string,
69- "long": PropTypes.string,
70- "pubDate": PropTypes.string,
71- "title": PropTypes.string,
63+ "condition": (...args) => _Condition.isRequired(...args),
64+ "description": PropTypes.string.isRequired,
65+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
66+ "guid": (...args) => _GUID.isRequired(...args),
67+ "lat": PropTypes.string.isRequired,
68+ "link": PropTypes.string.isRequired,
69+ "long": PropTypes.string.isRequired,
70+ "pubDate": PropTypes.string.isRequired,
71+ "title": PropTypes.string.isRequired,
7272 });
7373 _Image = PropTypes.shape({
74- "height": PropTypes.string,
75- "link": PropTypes.string,
76- "title": PropTypes.string,
77- "url": PropTypes.string,
78- "width": PropTypes.string,
74+ "height": PropTypes.string.isRequired,
75+ "link": PropTypes.string.isRequired,
76+ "title": PropTypes.string.isRequired,
77+ "url": PropTypes.string.isRequired,
78+ "width": PropTypes.string.isRequired,
7979 });
8080 _Atmosphere = PropTypes.shape({
81- "humidity": PropTypes.string,
82- "pressure": PropTypes.string,
83- "rising": PropTypes.string,
84- "visibility": PropTypes.string,
81+ "humidity": PropTypes.string.isRequired,
82+ "pressure": PropTypes.string.isRequired,
83+ "rising": PropTypes.string.isRequired,
84+ "visibility": PropTypes.string.isRequired,
8585 });
8686 _Astronomy = PropTypes.shape({
87- "sunrise": PropTypes.string,
88- "sunset": PropTypes.string,
87+ "sunrise": PropTypes.string.isRequired,
88+ "sunset": PropTypes.string.isRequired,
8989 });
9090 _Channel = PropTypes.shape({
91- "astronomy": _Astronomy,
92- "atmosphere": _Atmosphere,
93- "description": PropTypes.string,
94- "image": _Image,
95- "item": _Item,
96- "language": PropTypes.string,
97- "lastBuildDate": PropTypes.string,
98- "link": PropTypes.string,
99- "location": _Location,
100- "title": PropTypes.string,
101- "ttl": PropTypes.string,
102- "units": _Units,
103- "wind": _Wind,
91+ "astronomy": (...args) => _Astronomy.isRequired(...args),
92+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
93+ "description": PropTypes.string.isRequired,
94+ "image": (...args) => _Image.isRequired(...args),
95+ "item": (...args) => _Item.isRequired(...args),
96+ "language": PropTypes.string.isRequired,
97+ "lastBuildDate": PropTypes.string.isRequired,
98+ "link": PropTypes.string.isRequired,
99+ "location": (...args) => _Location.isRequired(...args),
100+ "title": PropTypes.string.isRequired,
101+ "ttl": PropTypes.string.isRequired,
102+ "units": (...args) => _Units.isRequired(...args),
103+ "wind": (...args) => _Wind.isRequired(...args),
104104 });
105105 _Results = PropTypes.shape({
106- "channel": _Channel,
106+ "channel": (...args) => _Channel.isRequired(...args),
107107 });
108108 _Query = PropTypes.shape({
109- "count": PropTypes.number,
110- "created": PropTypes.string,
111- "lang": PropTypes.string,
112- "results": _Results,
109+ "count": PropTypes.number.isRequired,
110+ "created": PropTypes.string.isRequired,
111+ "lang": PropTypes.string.isRequired,
112+ "results": (...args) => _Results.isRequired(...args),
113113 });
114114 _TopLevel = PropTypes.shape({
115- "query": _Query,
115+ "query": (...args) => _Query.isRequired(...args),
116116 });
117117
118118 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/e0ac7.json

1 generated file · +73 −73
Mjavascript-prop-typesdefault / toplevel.js+73 −73
@@ -22,103 +22,103 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g', 'pg', 'y']);
26-const _Type = PropTypes.oneOfType(['gif']);
25+const _Rating = PropTypes.oneOf(["g", "pg", "y"]);
26+const _Type = PropTypes.oneOf(["gif"]);
2727 _Pagination = PropTypes.shape({
28- "count": PropTypes.number,
29- "offset": PropTypes.number,
30- "total_count": PropTypes.number,
28+ "count": PropTypes.number.isRequired,
29+ "offset": PropTypes.number.isRequired,
30+ "total_count": PropTypes.number.isRequired,
3131 });
3232 _Meta = PropTypes.shape({
33- "msg": PropTypes.string,
34- "response_id": PropTypes.string,
35- "status": PropTypes.number,
33+ "msg": PropTypes.string.isRequired,
34+ "response_id": PropTypes.string.isRequired,
35+ "status": PropTypes.number.isRequired,
3636 });
3737 _User = PropTypes.shape({
38- "avatar_url": PropTypes.string,
39- "banner_url": PropTypes.string,
40- "display_name": PropTypes.string,
41- "profile_url": PropTypes.string,
42- "twitter": PropTypes.string,
43- "username": PropTypes.string,
38+ "avatar_url": PropTypes.string.isRequired,
39+ "banner_url": PropTypes.string.isRequired,
40+ "display_name": PropTypes.string.isRequired,
41+ "profile_url": PropTypes.string.isRequired,
42+ "twitter": PropTypes.string.isRequired,
43+ "username": PropTypes.string.isRequired,
4444 });
4545 _Looping = PropTypes.shape({
46- "mp4": PropTypes.string,
47- "mp4_size": PropTypes.string,
46+ "mp4": PropTypes.string.isRequired,
47+ "mp4_size": PropTypes.string.isRequired,
4848 });
4949 _FixedHeight = PropTypes.shape({
5050 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5151 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
52- "height": PropTypes.string,
52+ "height": PropTypes.string.isRequired,
5353 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5454 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
55- "size": PropTypes.string,
56- "url": PropTypes.string,
57- "webp": PropTypes.string,
58- "webp_size": PropTypes.string,
59- "width": PropTypes.string,
55+ "size": PropTypes.string.isRequired,
56+ "url": PropTypes.string.isRequired,
57+ "webp": PropTypes.string.isRequired,
58+ "webp_size": PropTypes.string.isRequired,
59+ "width": PropTypes.string.isRequired,
6060 });
6161 _DownsizedSmall = PropTypes.shape({
62- "height": PropTypes.string,
63- "mp4": PropTypes.string,
64- "mp4_size": PropTypes.string,
65- "width": PropTypes.string,
62+ "height": PropTypes.string.isRequired,
63+ "mp4": PropTypes.string.isRequired,
64+ "mp4_size": PropTypes.string.isRequired,
65+ "width": PropTypes.string.isRequired,
6666 });
6767 _Downsized = PropTypes.shape({
68- "height": PropTypes.string,
68+ "height": PropTypes.string.isRequired,
6969 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
70- "url": PropTypes.string,
71- "width": PropTypes.string,
70+ "url": PropTypes.string.isRequired,
71+ "width": PropTypes.string.isRequired,
7272 });
7373 _Images = PropTypes.shape({
74- "downsized": _Downsized,
75- "downsized_large": _Downsized,
76- "downsized_medium": _Downsized,
77- "downsized_small": _DownsizedSmall,
78- "downsized_still": _Downsized,
79- "fixed_height": _FixedHeight,
80- "fixed_height_downsampled": _FixedHeight,
81- "fixed_height_small": _FixedHeight,
82- "fixed_height_small_still": _Downsized,
83- "fixed_height_still": _Downsized,
84- "fixed_width": _FixedHeight,
85- "fixed_width_downsampled": _FixedHeight,
86- "fixed_width_small": _FixedHeight,
87- "fixed_width_small_still": _Downsized,
88- "fixed_width_still": _Downsized,
89- "hd": PropTypes.oneOfType([_DownsizedSmall, PropTypes.any]),
90- "looping": _Looping,
91- "original": _FixedHeight,
92- "original_mp4": _DownsizedSmall,
93- "original_still": _Downsized,
94- "preview": _DownsizedSmall,
95- "preview_gif": _Downsized,
96- "preview_webp": _Downsized,
74+ "downsized": (...args) => _Downsized.isRequired(...args),
75+ "downsized_large": (...args) => _Downsized.isRequired(...args),
76+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
77+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
78+ "downsized_still": (...args) => _Downsized.isRequired(...args),
79+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
80+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
81+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
83+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
84+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
85+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
86+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
88+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
89+ "hd": PropTypes.oneOfType([(...args) => _DownsizedSmall(...args), PropTypes.any]),
90+ "looping": (...args) => _Looping.isRequired(...args),
91+ "original": (...args) => _FixedHeight.isRequired(...args),
92+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
93+ "original_still": (...args) => _Downsized.isRequired(...args),
94+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
95+ "preview_gif": (...args) => _Downsized.isRequired(...args),
96+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9797 });
9898 _Datum = PropTypes.shape({
99- "bitly_gif_url": PropTypes.string,
100- "bitly_url": PropTypes.string,
101- "content_url": PropTypes.string,
102- "embed_url": PropTypes.string,
103- "id": PropTypes.string,
104- "images": _Images,
105- "import_datetime": PropTypes.string,
106- "is_indexable": PropTypes.number,
107- "rating": _Rating,
108- "slug": PropTypes.string,
109- "source": PropTypes.string,
110- "source_post_url": PropTypes.string,
111- "source_tld": PropTypes.string,
112- "trending_datetime": PropTypes.string,
113- "type": _Type,
114- "url": PropTypes.string,
115- "user": PropTypes.oneOfType([_User, PropTypes.any]),
116- "username": PropTypes.string,
99+ "bitly_gif_url": PropTypes.string.isRequired,
100+ "bitly_url": PropTypes.string.isRequired,
101+ "content_url": PropTypes.string.isRequired,
102+ "embed_url": PropTypes.string.isRequired,
103+ "id": PropTypes.string.isRequired,
104+ "images": (...args) => _Images.isRequired(...args),
105+ "import_datetime": PropTypes.string.isRequired,
106+ "is_indexable": PropTypes.number.isRequired,
107+ "rating": _Rating.isRequired,
108+ "slug": PropTypes.string.isRequired,
109+ "source": PropTypes.string.isRequired,
110+ "source_post_url": PropTypes.string.isRequired,
111+ "source_tld": PropTypes.string.isRequired,
112+ "trending_datetime": PropTypes.string.isRequired,
113+ "type": _Type.isRequired,
114+ "url": PropTypes.string.isRequired,
115+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
116+ "username": PropTypes.string.isRequired,
117117 });
118118 _TopLevel = PropTypes.shape({
119- "data": PropTypes.arrayOf(_Datum),
120- "meta": _Meta,
121- "pagination": _Pagination,
119+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
120+ "meta": (...args) => _Meta.isRequired(...args),
121+ "pagination": (...args) => _Pagination.isRequired(...args),
122122 });
123123
124124 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/e2915.json

1 generated file · +61 −61
Mjavascript-prop-typesdefault / toplevel.js+61 −61
@@ -26,94 +26,94 @@ let _GUID;
2626 let _Location;
2727 let _Units;
2828 let _Wind;
29-const _Text = PropTypes.oneOfType(['sunny']);
29+const _Text = PropTypes.oneOf(["Sunny"]);
3030 _Wind = PropTypes.shape({
31- "chill": PropTypes.string,
32- "direction": PropTypes.string,
33- "speed": PropTypes.string,
31+ "chill": PropTypes.string.isRequired,
32+ "direction": PropTypes.string.isRequired,
33+ "speed": PropTypes.string.isRequired,
3434 });
3535 _Units = PropTypes.shape({
36- "distance": PropTypes.string,
37- "pressure": PropTypes.string,
38- "speed": PropTypes.string,
39- "temperature": PropTypes.string,
36+ "distance": PropTypes.string.isRequired,
37+ "pressure": PropTypes.string.isRequired,
38+ "speed": PropTypes.string.isRequired,
39+ "temperature": PropTypes.string.isRequired,
4040 });
4141 _Location = PropTypes.shape({
42- "city": PropTypes.string,
43- "country": PropTypes.string,
44- "region": PropTypes.string,
42+ "city": PropTypes.string.isRequired,
43+ "country": PropTypes.string.isRequired,
44+ "region": PropTypes.string.isRequired,
4545 });
4646 _GUID = PropTypes.shape({
47- "isPermaLink": PropTypes.string,
47+ "isPermaLink": PropTypes.string.isRequired,
4848 });
4949 _Forecast = PropTypes.shape({
50- "code": PropTypes.string,
51- "date": PropTypes.string,
52- "day": PropTypes.string,
53- "high": PropTypes.string,
54- "low": PropTypes.string,
55- "text": _Text,
50+ "code": PropTypes.string.isRequired,
51+ "date": PropTypes.string.isRequired,
52+ "day": PropTypes.string.isRequired,
53+ "high": PropTypes.string.isRequired,
54+ "low": PropTypes.string.isRequired,
55+ "text": _Text.isRequired,
5656 });
5757 _Condition = PropTypes.shape({
58- "code": PropTypes.string,
59- "date": PropTypes.string,
60- "temp": PropTypes.string,
61- "text": PropTypes.string,
58+ "code": PropTypes.string.isRequired,
59+ "date": PropTypes.string.isRequired,
60+ "temp": PropTypes.string.isRequired,
61+ "text": PropTypes.string.isRequired,
6262 });
6363 _Item = PropTypes.shape({
64- "condition": _Condition,
65- "description": PropTypes.string,
66- "forecast": PropTypes.arrayOf(_Forecast),
67- "guid": _GUID,
68- "lat": PropTypes.string,
69- "link": PropTypes.string,
70- "long": PropTypes.string,
71- "pubDate": PropTypes.string,
72- "title": PropTypes.string,
64+ "condition": (...args) => _Condition.isRequired(...args),
65+ "description": PropTypes.string.isRequired,
66+ "forecast": PropTypes.arrayOf((...args) => _Forecast(...args)).isRequired,
67+ "guid": (...args) => _GUID.isRequired(...args),
68+ "lat": PropTypes.string.isRequired,
69+ "link": PropTypes.string.isRequired,
70+ "long": PropTypes.string.isRequired,
71+ "pubDate": PropTypes.string.isRequired,
72+ "title": PropTypes.string.isRequired,
7373 });
7474 _Image = PropTypes.shape({
75- "height": PropTypes.string,
76- "link": PropTypes.string,
77- "title": PropTypes.string,
78- "url": PropTypes.string,
79- "width": PropTypes.string,
75+ "height": PropTypes.string.isRequired,
76+ "link": PropTypes.string.isRequired,
77+ "title": PropTypes.string.isRequired,
78+ "url": PropTypes.string.isRequired,
79+ "width": PropTypes.string.isRequired,
8080 });
8181 _Atmosphere = PropTypes.shape({
82- "humidity": PropTypes.string,
83- "pressure": PropTypes.string,
84- "rising": PropTypes.string,
85- "visibility": PropTypes.string,
82+ "humidity": PropTypes.string.isRequired,
83+ "pressure": PropTypes.string.isRequired,
84+ "rising": PropTypes.string.isRequired,
85+ "visibility": PropTypes.string.isRequired,
8686 });
8787 _Astronomy = PropTypes.shape({
88- "sunrise": PropTypes.string,
89- "sunset": PropTypes.string,
88+ "sunrise": PropTypes.string.isRequired,
89+ "sunset": PropTypes.string.isRequired,
9090 });
9191 _Channel = PropTypes.shape({
92- "astronomy": _Astronomy,
93- "atmosphere": _Atmosphere,
94- "description": PropTypes.string,
95- "image": _Image,
96- "item": _Item,
97- "language": PropTypes.string,
98- "lastBuildDate": PropTypes.string,
99- "link": PropTypes.string,
100- "location": _Location,
101- "title": PropTypes.string,
102- "ttl": PropTypes.string,
103- "units": _Units,
104- "wind": _Wind,
92+ "astronomy": (...args) => _Astronomy.isRequired(...args),
93+ "atmosphere": (...args) => _Atmosphere.isRequired(...args),
94+ "description": PropTypes.string.isRequired,
95+ "image": (...args) => _Image.isRequired(...args),
96+ "item": (...args) => _Item.isRequired(...args),
97+ "language": PropTypes.string.isRequired,
98+ "lastBuildDate": PropTypes.string.isRequired,
99+ "link": PropTypes.string.isRequired,
100+ "location": (...args) => _Location.isRequired(...args),
101+ "title": PropTypes.string.isRequired,
102+ "ttl": PropTypes.string.isRequired,
103+ "units": (...args) => _Units.isRequired(...args),
104+ "wind": (...args) => _Wind.isRequired(...args),
105105 });
106106 _Results = PropTypes.shape({
107- "channel": _Channel,
107+ "channel": (...args) => _Channel.isRequired(...args),
108108 });
109109 _Query = PropTypes.shape({
110- "count": PropTypes.number,
111- "created": PropTypes.string,
112- "lang": PropTypes.string,
113- "results": _Results,
110+ "count": PropTypes.number.isRequired,
111+ "created": PropTypes.string.isRequired,
112+ "lang": PropTypes.string.isRequired,
113+ "results": (...args) => _Results.isRequired(...args),
114114 });
115115 _TopLevel = PropTypes.shape({
116- "query": _Query,
116+ "query": (...args) => _Query.isRequired(...args),
117117 });
118118
119119 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/e2a58.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "date": PropTypes.string,
18- "stop-and-search": PropTypes.arrayOf(PropTypes.string),
17+ "date": PropTypes.string.isRequired,
18+ "stop-and-search": PropTypes.arrayOf(PropTypes.string).isRequired,
1919 });
2020
21-export const TopLevel = PropTypes.arrayOf(_TopLevel);
21+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/e324e.json

1 generated file · +35 −35
Mjavascript-prop-typesdefault / toplevel.js+35 −35
@@ -25,66 +25,66 @@ let _Responses;
2525 let _The200;
2626 let _Schema;
2727 let _Items;
28-const _Type = PropTypes.oneOfType(['string']);
28+const _Type = PropTypes.oneOf(["string"]);
2929 _Items = PropTypes.shape({
30- "$ref": PropTypes.string,
30+ "$ref": PropTypes.string.isRequired,
3131 });
3232 _Schema = PropTypes.shape({
33- "items": _Items,
34- "type": PropTypes.string,
33+ "items": (...args) => _Items.isRequired(...args),
34+ "type": PropTypes.string.isRequired,
3535 });
3636 _The200 = PropTypes.shape({
37- "description": PropTypes.string,
38- "schema": _Schema,
37+ "description": PropTypes.string.isRequired,
38+ "schema": (...args) => _Schema.isRequired(...args),
3939 });
4040 _Responses = PropTypes.shape({
41- "200": _The200,
41+ "200": (...args) => _The200.isRequired(...args),
4242 });
4343 _Parameter = PropTypes.shape({
44- "description": PropTypes.string,
45- "format": _Type,
46- "in": PropTypes.string,
47- "name": PropTypes.string,
48- "required": PropTypes.bool,
49- "type": _Type,
44+ "description": PropTypes.string.isRequired,
45+ "format": _Type.isRequired,
46+ "in": PropTypes.string.isRequired,
47+ "name": PropTypes.string.isRequired,
48+ "required": PropTypes.bool.isRequired,
49+ "type": _Type.isRequired,
5050 });
5151 _Get = PropTypes.shape({
52- "description": PropTypes.string,
53- "parameters": PropTypes.arrayOf(_Parameter),
54- "responses": _Responses,
55- "summary": PropTypes.string,
56- "tags": PropTypes.arrayOf(PropTypes.string),
52+ "description": PropTypes.string.isRequired,
53+ "parameters": PropTypes.arrayOf((...args) => _Parameter(...args)).isRequired,
54+ "responses": (...args) => _Responses.isRequired(...args),
55+ "summary": PropTypes.string.isRequired,
56+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
5757 });
5858 _TariffRatesSearch = PropTypes.shape({
59- "get": _Get,
59+ "get": (...args) => _Get.isRequired(...args),
6060 });
6161 _Paths = PropTypes.shape({
62- "/tariff_rates/search": _TariffRatesSearch,
62+ "/tariff_rates/search": (...args) => _TariffRatesSearch.isRequired(...args),
6363 });
6464 _Info = PropTypes.shape({
65- "description": PropTypes.string,
66- "title": PropTypes.string,
67- "version": PropTypes.string,
65+ "description": PropTypes.string.isRequired,
66+ "title": PropTypes.string.isRequired,
67+ "version": PropTypes.string.isRequired,
6868 });
6969 _Property = PropTypes.shape({
70- "description": PropTypes.string,
71- "type": _Type,
70+ "description": PropTypes.string.isRequired,
71+ "type": _Type.isRequired,
7272 });
7373 _Rate = PropTypes.shape({
74- "properties": PropTypes.object,
74+ "properties": PropTypes.object.isRequired,
7575 });
7676 _Definitions = PropTypes.shape({
77- "Rate": _Rate,
77+ "Rate": (...args) => _Rate.isRequired(...args),
7878 });
7979 _TopLevel = PropTypes.shape({
80- "basePath": PropTypes.string,
81- "definitions": _Definitions,
82- "host": PropTypes.string,
83- "info": _Info,
84- "paths": _Paths,
85- "produces": PropTypes.arrayOf(PropTypes.string),
86- "schemes": PropTypes.arrayOf(PropTypes.string),
87- "swagger": PropTypes.string,
80+ "basePath": PropTypes.string.isRequired,
81+ "definitions": (...args) => _Definitions.isRequired(...args),
82+ "host": PropTypes.string.isRequired,
83+ "info": (...args) => _Info.isRequired(...args),
84+ "paths": (...args) => _Paths.isRequired(...args),
85+ "produces": PropTypes.arrayOf(PropTypes.string).isRequired,
86+ "schemes": PropTypes.arrayOf(PropTypes.string).isRequired,
87+ "swagger": PropTypes.string.isRequired,
8888 });
8989
9090 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/e53b5.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -15,24 +15,24 @@ import PropTypes from "prop-types";
1515 let _TopLevelElement;
1616 let _Country;
1717 let _PurpleTopLevel;
18-const _ID = PropTypes.oneOfType(['in', 'spPopTotl']);
19-const _Value = PropTypes.oneOfType(['india', 'populationTotal']);
18+const _ID = PropTypes.oneOf(["IN", "SP.POP.TOTL"]);
19+const _Value = PropTypes.oneOf(["India", "Population, total"]);
2020 _PurpleTopLevel = PropTypes.shape({
21- "page": PropTypes.number,
22- "pages": PropTypes.number,
23- "per_page": PropTypes.string,
24- "total": PropTypes.number,
21+ "page": PropTypes.number.isRequired,
22+ "pages": PropTypes.number.isRequired,
23+ "per_page": PropTypes.string.isRequired,
24+ "total": PropTypes.number.isRequired,
2525 });
2626 _Country = PropTypes.shape({
27- "id": _ID,
28- "value": _Value,
27+ "id": _ID.isRequired,
28+ "value": _Value.isRequired,
2929 });
3030 _TopLevelElement = PropTypes.shape({
31- "country": _Country,
32- "date": PropTypes.string,
33- "decimal": PropTypes.string,
34- "indicator": _Country,
35- "value": PropTypes.string,
31+ "country": (...args) => _Country.isRequired(...args),
32+ "date": PropTypes.string.isRequired,
33+ "decimal": PropTypes.string.isRequired,
34+ "indicator": (...args) => _Country.isRequired(...args),
35+ "value": PropTypes.string.isRequired,
3636 });
3737
38-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel]));
38+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args)]));
Test case

test/inputs/json/misc/e64a0.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Args;
1717 let _Headers;
1818 _Headers = PropTypes.shape({
19- "Accept-Encoding": PropTypes.string,
20- "Connection": PropTypes.string,
21- "Host": PropTypes.string,
22- "User-Agent": PropTypes.string,
19+ "Accept-Encoding": PropTypes.string.isRequired,
20+ "Connection": PropTypes.string.isRequired,
21+ "Host": PropTypes.string.isRequired,
22+ "User-Agent": PropTypes.string.isRequired,
2323 });
2424 _Args = PropTypes.shape({
2525 });
2626 _TopLevel = PropTypes.shape({
27- "args": _Args,
28- "headers": _Headers,
29- "origin": PropTypes.string,
30- "url": PropTypes.string,
27+ "args": (...args) => _Args.isRequired(...args),
28+ "headers": (...args) => _Headers.isRequired(...args),
29+ "origin": PropTypes.string.isRequired,
30+ "url": PropTypes.string.isRequired,
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/e8a0b.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/e8b04.json

1 generated file · +93 −93
Mjavascript-prop-typesdefault / toplevel.js+93 −93
@@ -40,192 +40,192 @@ let _FluffyVisible;
4040 let _Owner;
4141 let _Ratings;
4242 let _TableAuthor;
43-const _DisplayType = PropTypes.oneOfType(['table', 'dataLens', 'fatrow', 'page']);
44-const _TopLevelFlag = PropTypes.oneOfType(['default', 'restorable', 'restorePossibleForType']);
45-const _GrantFlag = PropTypes.oneOfType(['public']);
46-const _GrantType = PropTypes.oneOfType(['viewer']);
47-const _OrderColumnFieldName = PropTypes.oneOfType(['dateReceived', 'agreementDate', 'inEffectAsOf1_1_2012']);
48-const _ChildColumnFieldName = PropTypes.oneOfType(['product', 'complaintWhatHappened', 'subProduct', 'issue']);
49-const _MetadataOperator = PropTypes.oneOfType(['equals', 'blank']);
50-const _ChildOperator = PropTypes.oneOfType(['equals', 'isNotBlank']);
51-const _WhereOperator = PropTypes.oneOfType(['equals', 'and']);
52-const _FieldType = PropTypes.oneOfType(['columnLabel', 'columnData']);
53-const _Width = PropTypes.oneOfType(['the27', 'the40', 'the30', 'the33']);
54-const _ModifyingViewUid = PropTypes.oneOfType(['s6EwH6Mp']);
55-const _RoleName = PropTypes.oneOfType(['administrator', 'publisher']);
56-const _Provenance = PropTypes.oneOfType(['official']);
57-const _PublicationStage = PropTypes.oneOfType(['published']);
58-const _Right = PropTypes.oneOfType(['read']);
59-const _RowsUpdatedBy = PropTypes.oneOfType(['pjxgVe4M', 'the54A3Qyun', 'the9E3M2843', 'vvcaFr6G']);
60-const _ViewType = PropTypes.oneOfType(['tabular']);
43+const _DisplayType = PropTypes.oneOf(["table", "data_lens", "fatrow", "page"]);
44+const _TopLevelFlag = PropTypes.oneOf(["default", "restorable", "restorePossibleForType"]);
45+const _GrantFlag = PropTypes.oneOf(["public"]);
46+const _GrantType = PropTypes.oneOf(["viewer"]);
47+const _OrderColumnFieldName = PropTypes.oneOf(["date_received", "agreement_date", "in_effect_as_of_1_1_2012"]);
48+const _ChildColumnFieldName = PropTypes.oneOf(["product", "complaint_what_happened", "sub_product", "issue"]);
49+const _MetadataOperator = PropTypes.oneOf(["EQUALS", "blank?"]);
50+const _ChildOperator = PropTypes.oneOf(["EQUALS", "IS_NOT_BLANK"]);
51+const _WhereOperator = PropTypes.oneOf(["EQUALS", "AND"]);
52+const _FieldType = PropTypes.oneOf(["columnLabel", "columnData"]);
53+const _Width = PropTypes.oneOf(["27%", "40%", "30%", "33%"]);
54+const _ModifyingViewUid = PropTypes.oneOf(["s6ew-h6mp"]);
55+const _RoleName = PropTypes.oneOf(["administrator", "publisher"]);
56+const _Provenance = PropTypes.oneOf(["official"]);
57+const _PublicationStage = PropTypes.oneOf(["published"]);
58+const _Right = PropTypes.oneOf(["read"]);
59+const _RowsUpdatedBy = PropTypes.oneOf(["pjxg-ve4m", "54a3-qyun", "9e3m-2843", "vvca-fr6g"]);
60+const _ViewType = PropTypes.oneOf(["tabular"]);
6161 _TableAuthor = PropTypes.shape({
62- "displayName": PropTypes.string,
63- "id": PropTypes.string,
62+ "displayName": PropTypes.string.isRequired,
63+ "id": PropTypes.string.isRequired,
6464 "rights": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
6565 "roleName": PropTypes.oneOfType([_RoleName, PropTypes.any]),
66- "screenName": PropTypes.string,
66+ "screenName": PropTypes.string.isRequired,
6767 });
6868 _Ratings = PropTypes.shape({
69- "rating": PropTypes.number,
69+ "rating": PropTypes.number.isRequired,
7070 });
7171 _Owner = PropTypes.shape({
72- "displayName": PropTypes.string,
72+ "displayName": PropTypes.string.isRequired,
7373 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
74- "id": PropTypes.string,
74+ "id": PropTypes.string.isRequired,
7575 "lastNotificationSeenAt": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
7676 "profileImageUrlLarge": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
7777 "profileImageUrlMedium": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
7878 "profileImageUrlSmall": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
7979 "rights": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
8080 "roleName": PropTypes.oneOfType([_RoleName, PropTypes.any]),
81- "screenName": PropTypes.string,
81+ "screenName": PropTypes.string.isRequired,
8282 });
8383 _FluffyVisible = PropTypes.shape({
84- "href": PropTypes.bool,
84+ "href": PropTypes.bool.isRequired,
8585 });
8686 _V1ArchivedPropertiesRenderTypeConfig = PropTypes.shape({
87- "visible": _FluffyVisible,
87+ "visible": (...args) => _FluffyVisible.isRequired(...args),
8888 });
8989 _AccessPoints = PropTypes.shape({
90- "new_view": PropTypes.string,
90+ "new_view": PropTypes.string.isRequired,
9191 });
9292 _V1ArchivedProperties = PropTypes.shape({
93- "accessPoints": _AccessPoints,
94- "blist_id": PropTypes.string,
95- "renderTypeConfig": _V1ArchivedPropertiesRenderTypeConfig,
93+ "accessPoints": (...args) => _AccessPoints.isRequired(...args),
94+ "blist_id": PropTypes.string.isRequired,
95+ "renderTypeConfig": (...args) => _V1ArchivedPropertiesRenderTypeConfig.isRequired(...args),
9696 });
9797 _Styles = PropTypes.shape({
98- "width": _Width,
98+ "width": _Width.isRequired,
9999 });
100100 _Field = PropTypes.shape({
101- "tableColumnId": PropTypes.number,
102- "type": _FieldType,
101+ "tableColumnId": PropTypes.number.isRequired,
102+ "type": _FieldType.isRequired,
103103 });
104104 _Row = PropTypes.shape({
105- "fields": PropTypes.arrayOf(_Field),
105+ "fields": PropTypes.arrayOf((...args) => _Field(...args)).isRequired,
106106 });
107107 _Column = PropTypes.shape({
108- "rows": PropTypes.arrayOf(_Row),
109- "styles": _Styles,
108+ "rows": PropTypes.arrayOf((...args) => _Row(...args)).isRequired,
109+ "styles": (...args) => _Styles.isRequired(...args),
110110 });
111111 _FatRow = PropTypes.shape({
112- "columns": PropTypes.arrayOf(_Column),
112+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
113113 });
114114 _RichRendererConfigs = PropTypes.shape({
115- "fatRow": _FatRow,
115+ "fatRow": (...args) => _FatRow.isRequired(...args),
116116 });
117117 _PurpleVisible = PropTypes.shape({
118118 "fatrow": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
119119 "table": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
120120 });
121121 _MetadataRenderTypeConfig = PropTypes.shape({
122- "visible": _PurpleVisible,
122+ "visible": (...args) => _PurpleVisible.isRequired(...args),
123123 });
124124 _TableColumnID = PropTypes.shape({
125- "2819740": PropTypes.number,
125+ "2819740": PropTypes.number.isRequired,
126126 });
127127 _ChildMetadata = PropTypes.shape({
128128 "customValues": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
129129 "freeform": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
130130 "includeAuto": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
131131 "operator": PropTypes.oneOfType([_MetadataOperator, PropTypes.any]),
132- "tableColumnId": PropTypes.oneOfType([_TableColumnID, PropTypes.any]),
132+ "tableColumnId": PropTypes.oneOfType([(...args) => _TableColumnID(...args), PropTypes.any]),
133133 "unifiedVersion": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
134134 });
135135 _Child = PropTypes.shape({
136- "columnFieldName": _ChildColumnFieldName,
137- "metadata": PropTypes.oneOfType([_ChildMetadata, PropTypes.any]),
138- "operator": _ChildOperator,
136+ "columnFieldName": _ChildColumnFieldName.isRequired,
137+ "metadata": PropTypes.oneOfType([(...args) => _ChildMetadata(...args), PropTypes.any]),
138+ "operator": _ChildOperator.isRequired,
139139 "value": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
140140 });
141141 _Where = PropTypes.shape({
142- "children": PropTypes.oneOfType([PropTypes.arrayOf(_Child), PropTypes.any]),
142+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Child(...args)), PropTypes.any]),
143143 "columnFieldName": PropTypes.oneOfType([_ChildColumnFieldName, PropTypes.any]),
144- "metadata": PropTypes.oneOfType([_ChildMetadata, PropTypes.any]),
145- "operator": _WhereOperator,
144+ "metadata": PropTypes.oneOfType([(...args) => _ChildMetadata(...args), PropTypes.any]),
145+ "operator": _WhereOperator.isRequired,
146146 "value": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
147147 });
148148 _Select = PropTypes.shape({
149149 "aggregate": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
150- "columnFieldName": PropTypes.string,
150+ "columnFieldName": PropTypes.string.isRequired,
151151 });
152152 _Order = PropTypes.shape({
153- "ascending": PropTypes.bool,
154- "columnFieldName": _OrderColumnFieldName,
153+ "ascending": PropTypes.bool.isRequired,
154+ "columnFieldName": _OrderColumnFieldName.isRequired,
155155 });
156156 _Group = PropTypes.shape({
157- "columnFieldName": PropTypes.string,
157+ "columnFieldName": PropTypes.string.isRequired,
158158 });
159159 _JSONQuery = PropTypes.shape({
160- "group": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
161- "order": PropTypes.oneOfType([PropTypes.arrayOf(_Order), PropTypes.any]),
162- "select": PropTypes.oneOfType([PropTypes.arrayOf(_Select), PropTypes.any]),
163- "where": PropTypes.oneOfType([_Where, PropTypes.any]),
160+ "group": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
161+ "order": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Order(...args)), PropTypes.any]),
162+ "select": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Select(...args)), PropTypes.any]),
163+ "where": PropTypes.oneOfType([(...args) => _Where(...args), PropTypes.any]),
164164 });
165165 _Test = PropTypes.shape({
166- "CFPB1": PropTypes.string,
166+ "CFPB1": PropTypes.string.isRequired,
167167 });
168168 _CustomFields = PropTypes.shape({
169- "TEST": _Test,
169+ "TEST": (...args) => _Test.isRequired(...args),
170170 });
171171 _TopLevelMetadata = PropTypes.shape({
172172 "availableDisplayTypes": PropTypes.oneOfType([PropTypes.arrayOf(_DisplayType), PropTypes.any]),
173- "custom_fields": PropTypes.oneOfType([_CustomFields, PropTypes.any]),
174- "jsonQuery": PropTypes.oneOfType([_JSONQuery, PropTypes.any]),
173+ "custom_fields": PropTypes.oneOfType([(...args) => _CustomFields(...args), PropTypes.any]),
174+ "jsonQuery": PropTypes.oneOfType([(...args) => _JSONQuery(...args), PropTypes.any]),
175175 "rdfClass": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
176176 "rdfSubject": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
177- "renderTypeConfig": PropTypes.oneOfType([_MetadataRenderTypeConfig, PropTypes.any]),
178- "richRendererConfigs": PropTypes.oneOfType([_RichRendererConfigs, PropTypes.any]),
177+ "renderTypeConfig": PropTypes.oneOfType([(...args) => _MetadataRenderTypeConfig(...args), PropTypes.any]),
178+ "richRendererConfigs": PropTypes.oneOfType([(...args) => _RichRendererConfigs(...args), PropTypes.any]),
179179 "rowIdentifier": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
180180 "rowLabel": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
181- "v1_archived_properties": PropTypes.oneOfType([_V1ArchivedProperties, PropTypes.any]),
181+ "v1_archived_properties": PropTypes.oneOfType([(...args) => _V1ArchivedProperties(...args), PropTypes.any]),
182182 });
183183 _Grant = PropTypes.shape({
184- "flags": PropTypes.arrayOf(_GrantFlag),
185- "inherited": PropTypes.bool,
186- "type": _GrantType,
184+ "flags": PropTypes.arrayOf(_GrantFlag).isRequired,
185+ "inherited": PropTypes.bool.isRequired,
186+ "type": _GrantType.isRequired,
187187 });
188188 _TopLevel = PropTypes.shape({
189- "averageRating": PropTypes.number,
189+ "averageRating": PropTypes.number.isRequired,
190190 "category": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
191- "createdAt": PropTypes.number,
191+ "createdAt": PropTypes.number.isRequired,
192192 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
193193 "displayType": PropTypes.oneOfType([_DisplayType, PropTypes.any]),
194- "downloadCount": PropTypes.number,
194+ "downloadCount": PropTypes.number.isRequired,
195195 "flags": PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelFlag), PropTypes.any]),
196- "grants": PropTypes.arrayOf(_Grant),
197- "hideFromCatalog": PropTypes.bool,
198- "hideFromDataJson": PropTypes.bool,
199- "id": PropTypes.string,
196+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
197+ "hideFromCatalog": PropTypes.bool.isRequired,
198+ "hideFromDataJson": PropTypes.bool.isRequired,
199+ "id": PropTypes.string.isRequired,
200200 "indexUpdatedAt": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
201- "locale": PropTypes.string,
202- "metadata": _TopLevelMetadata,
201+ "locale": PropTypes.string.isRequired,
202+ "metadata": (...args) => _TopLevelMetadata.isRequired(...args),
203203 "moderationStatus": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
204204 "modifyingViewUid": PropTypes.oneOfType([_ModifyingViewUid, PropTypes.any]),
205- "name": PropTypes.string,
206- "newBackend": PropTypes.bool,
207- "numberOfComments": PropTypes.number,
208- "oid": PropTypes.number,
209- "owner": _Owner,
210- "provenance": _Provenance,
211- "publicationAppendEnabled": PropTypes.bool,
205+ "name": PropTypes.string.isRequired,
206+ "newBackend": PropTypes.bool.isRequired,
207+ "numberOfComments": PropTypes.number.isRequired,
208+ "oid": PropTypes.number.isRequired,
209+ "owner": (...args) => _Owner.isRequired(...args),
210+ "provenance": _Provenance.isRequired,
211+ "publicationAppendEnabled": PropTypes.bool.isRequired,
212212 "publicationDate": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
213- "publicationGroup": PropTypes.number,
214- "publicationStage": _PublicationStage,
215- "ratings": PropTypes.oneOfType([_Ratings, PropTypes.any]),
213+ "publicationGroup": PropTypes.number.isRequired,
214+ "publicationStage": _PublicationStage.isRequired,
215+ "ratings": PropTypes.oneOfType([(...args) => _Ratings(...args), PropTypes.any]),
216216 "resourceName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
217- "rights": PropTypes.arrayOf(_Right),
217+ "rights": PropTypes.arrayOf(_Right).isRequired,
218218 "rowClass": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
219219 "rowIdentifierColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
220220 "rowsUpdatedAt": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
221221 "rowsUpdatedBy": PropTypes.oneOfType([_RowsUpdatedBy, PropTypes.any]),
222- "tableAuthor": _TableAuthor,
223- "tableId": PropTypes.number,
222+ "tableAuthor": (...args) => _TableAuthor.isRequired(...args),
223+ "tableId": PropTypes.number.isRequired,
224224 "tags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
225- "totalTimesRated": PropTypes.number,
226- "viewCount": PropTypes.number,
227- "viewLastModified": PropTypes.number,
228- "viewType": _ViewType,
225+ "totalTimesRated": PropTypes.number.isRequired,
226+ "viewCount": PropTypes.number.isRequired,
227+ "viewLastModified": PropTypes.number.isRequired,
228+ "viewType": _ViewType.isRequired,
229229 });
230230
231-export const TopLevel = PropTypes.arrayOf(_TopLevel);
231+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/f22f5.json

1 generated file · +54 −54
Mjavascript-prop-typesdefault / toplevel.js+54 −54
@@ -17,88 +17,88 @@ let _TopLevelData;
1717 let _Child;
1818 let _ChildData;
1919 let _MediaEmbed;
20-const _Subreddit = PropTypes.oneOfType(['worldnews']);
21-const _SubredditID = PropTypes.oneOfType(['t52Qh13']);
22-const _SubredditNamePrefixed = PropTypes.oneOfType(['rWorldnews']);
23-const _SubredditType = PropTypes.oneOfType(['public']);
24-const _Kind = PropTypes.oneOfType(['t3']);
20+const _Subreddit = PropTypes.oneOf(["worldnews"]);
21+const _SubredditID = PropTypes.oneOf(["t5_2qh13"]);
22+const _SubredditNamePrefixed = PropTypes.oneOf(["r/worldnews"]);
23+const _SubredditType = PropTypes.oneOf(["public"]);
24+const _Kind = PropTypes.oneOf(["t3"]);
2525 _MediaEmbed = PropTypes.shape({
2626 });
2727 _ChildData = PropTypes.shape({
2828 "approved_at_utc": PropTypes.any,
2929 "approved_by": PropTypes.any,
30- "archived": PropTypes.bool,
31- "author": PropTypes.string,
30+ "archived": PropTypes.bool.isRequired,
31+ "author": PropTypes.string.isRequired,
3232 "author_flair_css_class": PropTypes.any,
3333 "author_flair_text": PropTypes.any,
3434 "banned_at_utc": PropTypes.any,
3535 "banned_by": PropTypes.any,
36- "brand_safe": PropTypes.bool,
37- "can_gild": PropTypes.bool,
38- "can_mod_post": PropTypes.bool,
39- "clicked": PropTypes.bool,
40- "contest_mode": PropTypes.bool,
41- "created": PropTypes.number,
42- "created_utc": PropTypes.number,
36+ "brand_safe": PropTypes.bool.isRequired,
37+ "can_gild": PropTypes.bool.isRequired,
38+ "can_mod_post": PropTypes.bool.isRequired,
39+ "clicked": PropTypes.bool.isRequired,
40+ "contest_mode": PropTypes.bool.isRequired,
41+ "created": PropTypes.number.isRequired,
42+ "created_utc": PropTypes.number.isRequired,
4343 "distinguished": PropTypes.any,
44- "domain": PropTypes.string,
45- "downs": PropTypes.number,
46- "edited": PropTypes.bool,
47- "gilded": PropTypes.number,
48- "hidden": PropTypes.bool,
49- "hide_score": PropTypes.bool,
50- "id": PropTypes.string,
51- "is_self": PropTypes.bool,
52- "is_video": PropTypes.bool,
44+ "domain": PropTypes.string.isRequired,
45+ "downs": PropTypes.number.isRequired,
46+ "edited": PropTypes.bool.isRequired,
47+ "gilded": PropTypes.number.isRequired,
48+ "hidden": PropTypes.bool.isRequired,
49+ "hide_score": PropTypes.bool.isRequired,
50+ "id": PropTypes.string.isRequired,
51+ "is_self": PropTypes.bool.isRequired,
52+ "is_video": PropTypes.bool.isRequired,
5353 "likes": PropTypes.any,
5454 "link_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5555 "link_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
56- "locked": PropTypes.bool,
56+ "locked": PropTypes.bool.isRequired,
5757 "media": PropTypes.any,
58- "media_embed": _MediaEmbed,
59- "mod_reports": PropTypes.arrayOf(PropTypes.any),
60- "name": PropTypes.string,
61- "num_comments": PropTypes.number,
58+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
59+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
60+ "name": PropTypes.string.isRequired,
61+ "num_comments": PropTypes.number.isRequired,
6262 "num_reports": PropTypes.any,
63- "over_18": PropTypes.bool,
64- "permalink": PropTypes.string,
65- "quarantine": PropTypes.bool,
63+ "over_18": PropTypes.bool.isRequired,
64+ "permalink": PropTypes.string.isRequired,
65+ "quarantine": PropTypes.bool.isRequired,
6666 "removal_reason": PropTypes.any,
6767 "report_reasons": PropTypes.any,
68- "saved": PropTypes.bool,
69- "score": PropTypes.number,
68+ "saved": PropTypes.bool.isRequired,
69+ "score": PropTypes.number.isRequired,
7070 "secure_media": PropTypes.any,
71- "secure_media_embed": _MediaEmbed,
72- "selftext": PropTypes.string,
71+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
72+ "selftext": PropTypes.string.isRequired,
7373 "selftext_html": PropTypes.any,
74- "spoiler": PropTypes.bool,
75- "stickied": PropTypes.bool,
76- "subreddit": _Subreddit,
77- "subreddit_id": _SubredditID,
78- "subreddit_name_prefixed": _SubredditNamePrefixed,
79- "subreddit_type": _SubredditType,
74+ "spoiler": PropTypes.bool.isRequired,
75+ "stickied": PropTypes.bool.isRequired,
76+ "subreddit": _Subreddit.isRequired,
77+ "subreddit_id": _SubredditID.isRequired,
78+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
79+ "subreddit_type": _SubredditType.isRequired,
8080 "suggested_sort": PropTypes.any,
81- "thumbnail": PropTypes.string,
82- "title": PropTypes.string,
83- "ups": PropTypes.number,
84- "url": PropTypes.string,
85- "user_reports": PropTypes.arrayOf(PropTypes.any),
81+ "thumbnail": PropTypes.string.isRequired,
82+ "title": PropTypes.string.isRequired,
83+ "ups": PropTypes.number.isRequired,
84+ "url": PropTypes.string.isRequired,
85+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
8686 "view_count": PropTypes.any,
87- "visited": PropTypes.bool,
87+ "visited": PropTypes.bool.isRequired,
8888 });
8989 _Child = PropTypes.shape({
90- "data": _ChildData,
91- "kind": _Kind,
90+ "data": (...args) => _ChildData.isRequired(...args),
91+ "kind": _Kind.isRequired,
9292 });
9393 _TopLevelData = PropTypes.shape({
94- "after": PropTypes.string,
94+ "after": PropTypes.string.isRequired,
9595 "before": PropTypes.any,
96- "children": PropTypes.arrayOf(_Child),
97- "modhash": PropTypes.string,
96+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
97+ "modhash": PropTypes.string.isRequired,
9898 });
9999 _TopLevel = PropTypes.shape({
100- "data": _TopLevelData,
101- "kind": PropTypes.string,
100+ "data": (...args) => _TopLevelData.isRequired(...args),
101+ "kind": PropTypes.string.isRequired,
102102 });
103103
104104 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/f3139.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "id": PropTypes.string,
18- "name": PropTypes.string,
17+ "id": PropTypes.string.isRequired,
18+ "name": PropTypes.string.isRequired,
1919 });
2020
21-export const TopLevel = PropTypes.arrayOf(_TopLevel);
21+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/f3edf.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/f466a.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -13,14 +13,14 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Country = PropTypes.oneOfType(['unitedStates']);
16+const _Country = PropTypes.oneOf(["United States"]);
1717 _TopLevel = PropTypes.shape({
18- "age": PropTypes.number,
19- "country": _Country,
20- "females": PropTypes.number,
21- "males": PropTypes.number,
22- "total": PropTypes.number,
23- "year": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
19+ "country": _Country.isRequired,
20+ "females": PropTypes.number.isRequired,
21+ "males": PropTypes.number.isRequired,
22+ "total": PropTypes.number.isRequired,
23+ "year": PropTypes.number.isRequired,
2424 });
2525
26-export const TopLevel = PropTypes.arrayOf(_TopLevel);
26+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/misc/f6a65.json

1 generated file · +74 −74
Mjavascript-prop-typesdefault / toplevel.js+74 −74
@@ -22,104 +22,104 @@ let _Looping;
2222 let _User;
2323 let _Meta;
2424 let _Pagination;
25-const _Rating = PropTypes.oneOfType(['g', 'y', 'pg', 'pg13']);
26-const _Type = PropTypes.oneOfType(['gif']);
27-const _Username = PropTypes.oneOfType(['empty', 'producthunt', 'meetaiko', 'cheezburger']);
25+const _Rating = PropTypes.oneOf(["g", "y", "pg", "pg-13"]);
26+const _Type = PropTypes.oneOf(["gif"]);
27+const _Username = PropTypes.oneOf(["", "producthunt", "meetaiko", "cheezburger"]);
2828 _Pagination = PropTypes.shape({
29- "count": PropTypes.number,
30- "offset": PropTypes.number,
31- "total_count": PropTypes.number,
29+ "count": PropTypes.number.isRequired,
30+ "offset": PropTypes.number.isRequired,
31+ "total_count": PropTypes.number.isRequired,
3232 });
3333 _Meta = PropTypes.shape({
34- "msg": PropTypes.string,
35- "response_id": PropTypes.string,
36- "status": PropTypes.number,
34+ "msg": PropTypes.string.isRequired,
35+ "response_id": PropTypes.string.isRequired,
36+ "status": PropTypes.number.isRequired,
3737 });
3838 _User = PropTypes.shape({
39- "avatar_url": PropTypes.string,
40- "banner_url": PropTypes.string,
41- "display_name": PropTypes.string,
42- "profile_url": PropTypes.string,
43- "twitter": PropTypes.string,
44- "username": _Username,
39+ "avatar_url": PropTypes.string.isRequired,
40+ "banner_url": PropTypes.string.isRequired,
41+ "display_name": PropTypes.string.isRequired,
42+ "profile_url": PropTypes.string.isRequired,
43+ "twitter": PropTypes.string.isRequired,
44+ "username": _Username.isRequired,
4545 });
4646 _Looping = PropTypes.shape({
47- "mp4": PropTypes.string,
48- "mp4_size": PropTypes.string,
47+ "mp4": PropTypes.string.isRequired,
48+ "mp4_size": PropTypes.string.isRequired,
4949 });
5050 _FixedHeight = PropTypes.shape({
5151 "frames": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5252 "hash": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
53- "height": PropTypes.string,
53+ "height": PropTypes.string.isRequired,
5454 "mp4": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5555 "mp4_size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
56- "size": PropTypes.string,
57- "url": PropTypes.string,
58- "webp": PropTypes.string,
59- "webp_size": PropTypes.string,
60- "width": PropTypes.string,
56+ "size": PropTypes.string.isRequired,
57+ "url": PropTypes.string.isRequired,
58+ "webp": PropTypes.string.isRequired,
59+ "webp_size": PropTypes.string.isRequired,
60+ "width": PropTypes.string.isRequired,
6161 });
6262 _DownsizedSmall = PropTypes.shape({
63- "height": PropTypes.string,
64- "mp4": PropTypes.string,
65- "mp4_size": PropTypes.string,
66- "width": PropTypes.string,
63+ "height": PropTypes.string.isRequired,
64+ "mp4": PropTypes.string.isRequired,
65+ "mp4_size": PropTypes.string.isRequired,
66+ "width": PropTypes.string.isRequired,
6767 });
6868 _Downsized = PropTypes.shape({
69- "height": PropTypes.string,
69+ "height": PropTypes.string.isRequired,
7070 "size": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
71- "url": PropTypes.string,
72- "width": PropTypes.string,
71+ "url": PropTypes.string.isRequired,
72+ "width": PropTypes.string.isRequired,
7373 });
7474 _Images = PropTypes.shape({
75- "480w_still": PropTypes.oneOfType([_Downsized, PropTypes.any]),
76- "downsized": _Downsized,
77- "downsized_large": _Downsized,
78- "downsized_medium": _Downsized,
79- "downsized_small": _DownsizedSmall,
80- "downsized_still": _Downsized,
81- "fixed_height": _FixedHeight,
82- "fixed_height_downsampled": _FixedHeight,
83- "fixed_height_small": _FixedHeight,
84- "fixed_height_small_still": _Downsized,
85- "fixed_height_still": _Downsized,
86- "fixed_width": _FixedHeight,
87- "fixed_width_downsampled": _FixedHeight,
88- "fixed_width_small": _FixedHeight,
89- "fixed_width_small_still": _Downsized,
90- "fixed_width_still": _Downsized,
91- "looping": _Looping,
92- "original": _FixedHeight,
93- "original_mp4": _DownsizedSmall,
94- "original_still": _Downsized,
95- "preview": _DownsizedSmall,
96- "preview_gif": _Downsized,
97- "preview_webp": _Downsized,
75+ "480w_still": PropTypes.oneOfType([(...args) => _Downsized(...args), PropTypes.any]),
76+ "downsized": (...args) => _Downsized.isRequired(...args),
77+ "downsized_large": (...args) => _Downsized.isRequired(...args),
78+ "downsized_medium": (...args) => _Downsized.isRequired(...args),
79+ "downsized_small": (...args) => _DownsizedSmall.isRequired(...args),
80+ "downsized_still": (...args) => _Downsized.isRequired(...args),
81+ "fixed_height": (...args) => _FixedHeight.isRequired(...args),
82+ "fixed_height_downsampled": (...args) => _FixedHeight.isRequired(...args),
83+ "fixed_height_small": (...args) => _FixedHeight.isRequired(...args),
84+ "fixed_height_small_still": (...args) => _Downsized.isRequired(...args),
85+ "fixed_height_still": (...args) => _Downsized.isRequired(...args),
86+ "fixed_width": (...args) => _FixedHeight.isRequired(...args),
87+ "fixed_width_downsampled": (...args) => _FixedHeight.isRequired(...args),
88+ "fixed_width_small": (...args) => _FixedHeight.isRequired(...args),
89+ "fixed_width_small_still": (...args) => _Downsized.isRequired(...args),
90+ "fixed_width_still": (...args) => _Downsized.isRequired(...args),
91+ "looping": (...args) => _Looping.isRequired(...args),
92+ "original": (...args) => _FixedHeight.isRequired(...args),
93+ "original_mp4": (...args) => _DownsizedSmall.isRequired(...args),
94+ "original_still": (...args) => _Downsized.isRequired(...args),
95+ "preview": (...args) => _DownsizedSmall.isRequired(...args),
96+ "preview_gif": (...args) => _Downsized.isRequired(...args),
97+ "preview_webp": (...args) => _Downsized.isRequired(...args),
9898 });
9999 _Datum = PropTypes.shape({
100- "bitly_gif_url": PropTypes.string,
101- "bitly_url": PropTypes.string,
102- "content_url": PropTypes.string,
103- "embed_url": PropTypes.string,
104- "id": PropTypes.string,
105- "images": _Images,
106- "import_datetime": PropTypes.string,
107- "is_indexable": PropTypes.number,
108- "rating": _Rating,
109- "slug": PropTypes.string,
110- "source": PropTypes.string,
111- "source_post_url": PropTypes.string,
112- "source_tld": PropTypes.string,
113- "trending_datetime": PropTypes.string,
114- "type": _Type,
115- "url": PropTypes.string,
116- "user": PropTypes.oneOfType([_User, PropTypes.any]),
117- "username": _Username,
100+ "bitly_gif_url": PropTypes.string.isRequired,
101+ "bitly_url": PropTypes.string.isRequired,
102+ "content_url": PropTypes.string.isRequired,
103+ "embed_url": PropTypes.string.isRequired,
104+ "id": PropTypes.string.isRequired,
105+ "images": (...args) => _Images.isRequired(...args),
106+ "import_datetime": PropTypes.string.isRequired,
107+ "is_indexable": PropTypes.number.isRequired,
108+ "rating": _Rating.isRequired,
109+ "slug": PropTypes.string.isRequired,
110+ "source": PropTypes.string.isRequired,
111+ "source_post_url": PropTypes.string.isRequired,
112+ "source_tld": PropTypes.string.isRequired,
113+ "trending_datetime": PropTypes.string.isRequired,
114+ "type": _Type.isRequired,
115+ "url": PropTypes.string.isRequired,
116+ "user": PropTypes.oneOfType([(...args) => _User(...args), PropTypes.any]),
117+ "username": _Username.isRequired,
118118 });
119119 _TopLevel = PropTypes.shape({
120- "data": PropTypes.arrayOf(_Datum),
121- "meta": _Meta,
122- "pagination": _Pagination,
120+ "data": PropTypes.arrayOf((...args) => _Datum(...args)).isRequired,
121+ "meta": (...args) => _Meta.isRequired(...args),
122+ "pagination": (...args) => _Pagination.isRequired(...args),
123123 });
124124
125125 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/f74d5.json

1 generated file · +70 −70
Mjavascript-prop-typesdefault / toplevel.js+70 −70
@@ -25,106 +25,106 @@ let _Metadata;
2525 let _RenderTypeConfig;
2626 let _Visible;
2727 let _Owner;
28-const _TypeName = PropTypes.oneOfType(['metaData', 'number', 'text']);
28+const _TypeName = PropTypes.oneOf(["meta_data", "number", "text"]);
2929 _Owner = PropTypes.shape({
30- "displayName": PropTypes.string,
31- "id": PropTypes.string,
32- "screenName": PropTypes.string,
30+ "displayName": PropTypes.string.isRequired,
31+ "id": PropTypes.string.isRequired,
32+ "screenName": PropTypes.string.isRequired,
3333 });
3434 _Visible = PropTypes.shape({
35- "table": PropTypes.bool,
35+ "table": PropTypes.bool.isRequired,
3636 });
3737 _RenderTypeConfig = PropTypes.shape({
38- "visible": _Visible,
38+ "visible": (...args) => _Visible.isRequired(...args),
3939 });
4040 _Metadata = PropTypes.shape({
41- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
42- "rdfClass": PropTypes.string,
43- "rdfSubject": PropTypes.string,
44- "renderTypeConfig": _RenderTypeConfig,
45- "rowIdentifier": PropTypes.string,
41+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
42+ "rdfClass": PropTypes.string.isRequired,
43+ "rdfSubject": PropTypes.string.isRequired,
44+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
45+ "rowIdentifier": PropTypes.string.isRequired,
4646 });
4747 _License = PropTypes.shape({
48- "name": PropTypes.string,
48+ "name": PropTypes.string.isRequired,
4949 });
5050 _Grant = PropTypes.shape({
51- "flags": PropTypes.arrayOf(PropTypes.string),
52- "inherited": PropTypes.bool,
53- "type": PropTypes.string,
51+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
52+ "inherited": PropTypes.bool.isRequired,
53+ "type": PropTypes.string.isRequired,
5454 });
5555 _Query = PropTypes.shape({
5656 });
5757 _Top = PropTypes.shape({
58- "count": PropTypes.number,
59- "item": PropTypes.string,
58+ "count": PropTypes.number.isRequired,
59+ "item": PropTypes.string.isRequired,
6060 });
6161 _CachedContents = PropTypes.shape({
6262 "average": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
63- "largest": PropTypes.string,
64- "non_null": PropTypes.number,
65- "null": PropTypes.number,
66- "smallest": PropTypes.string,
63+ "largest": PropTypes.string.isRequired,
64+ "non_null": PropTypes.number.isRequired,
65+ "null": PropTypes.number.isRequired,
66+ "smallest": PropTypes.string.isRequired,
6767 "sum": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
68- "top": PropTypes.arrayOf(_Top),
68+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
6969 });
7070 _Column = PropTypes.shape({
71- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
72- "dataTypeName": _TypeName,
73- "fieldName": PropTypes.string,
71+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
72+ "dataTypeName": _TypeName.isRequired,
73+ "fieldName": PropTypes.string.isRequired,
7474 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
75- "format": _Query,
76- "id": PropTypes.number,
77- "name": PropTypes.string,
78- "position": PropTypes.number,
79- "renderTypeName": _TypeName,
75+ "format": (...args) => _Query.isRequired(...args),
76+ "id": PropTypes.number.isRequired,
77+ "name": PropTypes.string.isRequired,
78+ "position": PropTypes.number.isRequired,
79+ "renderTypeName": _TypeName.isRequired,
8080 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8181 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
8282 });
8383 _View = PropTypes.shape({
84- "averageRating": PropTypes.number,
85- "category": PropTypes.string,
86- "columns": PropTypes.arrayOf(_Column),
87- "createdAt": PropTypes.number,
88- "displayType": PropTypes.string,
89- "downloadCount": PropTypes.number,
90- "flags": PropTypes.arrayOf(PropTypes.string),
91- "grants": PropTypes.arrayOf(_Grant),
92- "hideFromCatalog": PropTypes.bool,
93- "hideFromDataJson": PropTypes.bool,
94- "id": PropTypes.string,
95- "indexUpdatedAt": PropTypes.number,
96- "license": _License,
97- "licenseId": PropTypes.string,
98- "locale": PropTypes.string,
99- "metadata": _Metadata,
100- "name": PropTypes.string,
101- "newBackend": PropTypes.bool,
102- "numberOfComments": PropTypes.number,
103- "oid": PropTypes.number,
104- "owner": _Owner,
105- "provenance": PropTypes.string,
106- "publicationAppendEnabled": PropTypes.bool,
107- "publicationDate": PropTypes.number,
108- "publicationGroup": PropTypes.number,
109- "publicationStage": PropTypes.string,
110- "query": _Query,
111- "rights": PropTypes.arrayOf(PropTypes.string),
112- "rowClass": PropTypes.string,
113- "rowsUpdatedAt": PropTypes.number,
114- "rowsUpdatedBy": PropTypes.string,
115- "tableAuthor": _Owner,
116- "tableId": PropTypes.number,
117- "totalTimesRated": PropTypes.number,
118- "viewCount": PropTypes.number,
119- "viewLastModified": PropTypes.number,
120- "viewType": PropTypes.string,
84+ "averageRating": PropTypes.number.isRequired,
85+ "category": PropTypes.string.isRequired,
86+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
87+ "createdAt": PropTypes.number.isRequired,
88+ "displayType": PropTypes.string.isRequired,
89+ "downloadCount": PropTypes.number.isRequired,
90+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
91+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
92+ "hideFromCatalog": PropTypes.bool.isRequired,
93+ "hideFromDataJson": PropTypes.bool.isRequired,
94+ "id": PropTypes.string.isRequired,
95+ "indexUpdatedAt": PropTypes.number.isRequired,
96+ "license": (...args) => _License.isRequired(...args),
97+ "licenseId": PropTypes.string.isRequired,
98+ "locale": PropTypes.string.isRequired,
99+ "metadata": (...args) => _Metadata.isRequired(...args),
100+ "name": PropTypes.string.isRequired,
101+ "newBackend": PropTypes.bool.isRequired,
102+ "numberOfComments": PropTypes.number.isRequired,
103+ "oid": PropTypes.number.isRequired,
104+ "owner": (...args) => _Owner.isRequired(...args),
105+ "provenance": PropTypes.string.isRequired,
106+ "publicationAppendEnabled": PropTypes.bool.isRequired,
107+ "publicationDate": PropTypes.number.isRequired,
108+ "publicationGroup": PropTypes.number.isRequired,
109+ "publicationStage": PropTypes.string.isRequired,
110+ "query": (...args) => _Query.isRequired(...args),
111+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
112+ "rowClass": PropTypes.string.isRequired,
113+ "rowsUpdatedAt": PropTypes.number.isRequired,
114+ "rowsUpdatedBy": PropTypes.string.isRequired,
115+ "tableAuthor": (...args) => _Owner.isRequired(...args),
116+ "tableId": PropTypes.number.isRequired,
117+ "totalTimesRated": PropTypes.number.isRequired,
118+ "viewCount": PropTypes.number.isRequired,
119+ "viewLastModified": PropTypes.number.isRequired,
120+ "viewType": PropTypes.string.isRequired,
121121 });
122122 _Meta = PropTypes.shape({
123- "view": _View,
123+ "view": (...args) => _View.isRequired(...args),
124124 });
125125 _TopLevel = PropTypes.shape({
126- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))),
127- "meta": _Meta,
126+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))).isRequired,
127+ "meta": (...args) => _Meta.isRequired(...args),
128128 });
129129
130130 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/f82d9.json

1 generated file · +45 −45
Mjavascript-prop-typesdefault / toplevel.js+45 −45
@@ -26,78 +26,78 @@ let _Responses;
2626 let _The200;
2727 let _Schema;
2828 let _Items;
29-const _Type = PropTypes.oneOfType(['string']);
29+const _Type = PropTypes.oneOf(["string"]);
3030 _Items = PropTypes.shape({
31- "$ref": PropTypes.string,
31+ "$ref": PropTypes.string.isRequired,
3232 });
3333 _Schema = PropTypes.shape({
34- "items": _Items,
35- "type": PropTypes.string,
34+ "items": (...args) => _Items.isRequired(...args),
35+ "type": PropTypes.string.isRequired,
3636 });
3737 _The200 = PropTypes.shape({
38- "description": PropTypes.string,
39- "schema": _Schema,
38+ "description": PropTypes.string.isRequired,
39+ "schema": (...args) => _Schema.isRequired(...args),
4040 });
4141 _Responses = PropTypes.shape({
42- "200": _The200,
42+ "200": (...args) => _The200.isRequired(...args),
4343 });
4444 _Parameter = PropTypes.shape({
45- "description": PropTypes.string,
46- "format": _Type,
47- "in": PropTypes.string,
48- "name": PropTypes.string,
49- "required": PropTypes.bool,
50- "type": _Type,
45+ "description": PropTypes.string.isRequired,
46+ "format": _Type.isRequired,
47+ "in": PropTypes.string.isRequired,
48+ "name": PropTypes.string.isRequired,
49+ "required": PropTypes.bool.isRequired,
50+ "type": _Type.isRequired,
5151 });
5252 _Get = PropTypes.shape({
53- "description": PropTypes.string,
54- "parameters": PropTypes.arrayOf(_Parameter),
55- "responses": _Responses,
56- "summary": PropTypes.string,
57- "tags": PropTypes.arrayOf(PropTypes.string),
53+ "description": PropTypes.string.isRequired,
54+ "parameters": PropTypes.arrayOf((...args) => _Parameter(...args)).isRequired,
55+ "responses": (...args) => _Responses.isRequired(...args),
56+ "summary": PropTypes.string.isRequired,
57+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
5858 });
5959 _MarketResearchLibrarySearch = PropTypes.shape({
60- "get": _Get,
60+ "get": (...args) => _Get.isRequired(...args),
6161 });
6262 _Paths = PropTypes.shape({
63- "/market_research_library/search": _MarketResearchLibrarySearch,
63+ "/market_research_library/search": (...args) => _MarketResearchLibrarySearch.isRequired(...args),
6464 });
6565 _Info = PropTypes.shape({
66- "description": PropTypes.string,
67- "title": PropTypes.string,
68- "version": PropTypes.string,
66+ "description": PropTypes.string.isRequired,
67+ "title": PropTypes.string.isRequired,
68+ "version": PropTypes.string.isRequired,
6969 });
7070 _ClickURL = PropTypes.shape({
71- "description": PropTypes.string,
72- "type": _Type,
71+ "description": PropTypes.string.isRequired,
72+ "type": _Type.isRequired,
7373 });
7474 _Properties = PropTypes.shape({
75- "click_url": _ClickURL,
76- "country": _ClickURL,
77- "description": _ClickURL,
78- "expiration_date": _ClickURL,
79- "id": _ClickURL,
80- "industry": _ClickURL,
81- "report_type": _ClickURL,
82- "source_industry": _ClickURL,
83- "title": _ClickURL,
84- "url": _ClickURL,
75+ "click_url": (...args) => _ClickURL.isRequired(...args),
76+ "country": (...args) => _ClickURL.isRequired(...args),
77+ "description": (...args) => _ClickURL.isRequired(...args),
78+ "expiration_date": (...args) => _ClickURL.isRequired(...args),
79+ "id": (...args) => _ClickURL.isRequired(...args),
80+ "industry": (...args) => _ClickURL.isRequired(...args),
81+ "report_type": (...args) => _ClickURL.isRequired(...args),
82+ "source_industry": (...args) => _ClickURL.isRequired(...args),
83+ "title": (...args) => _ClickURL.isRequired(...args),
84+ "url": (...args) => _ClickURL.isRequired(...args),
8585 });
8686 _Report = PropTypes.shape({
87- "properties": _Properties,
87+ "properties": (...args) => _Properties.isRequired(...args),
8888 });
8989 _Definitions = PropTypes.shape({
90- "Report": _Report,
90+ "Report": (...args) => _Report.isRequired(...args),
9191 });
9292 _TopLevel = PropTypes.shape({
93- "basePath": PropTypes.string,
94- "definitions": _Definitions,
95- "host": PropTypes.string,
96- "info": _Info,
97- "paths": _Paths,
98- "produces": PropTypes.arrayOf(PropTypes.string),
99- "schemes": PropTypes.arrayOf(PropTypes.string),
100- "swagger": PropTypes.string,
93+ "basePath": PropTypes.string.isRequired,
94+ "definitions": (...args) => _Definitions.isRequired(...args),
95+ "host": PropTypes.string.isRequired,
96+ "info": (...args) => _Info.isRequired(...args),
97+ "paths": (...args) => _Paths.isRequired(...args),
98+ "produces": PropTypes.arrayOf(PropTypes.string).isRequired,
99+ "schemes": PropTypes.arrayOf(PropTypes.string).isRequired,
100+ "swagger": PropTypes.string.isRequired,
101101 });
102102
103103 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/f974d.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -14,11 +14,11 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "block_index": PropTypes.number,
18- "hash": PropTypes.string,
19- "height": PropTypes.number,
20- "time": PropTypes.number,
21- "txIndexes": PropTypes.arrayOf(PropTypes.number),
17+ "block_index": PropTypes.number.isRequired,
18+ "hash": PropTypes.string.isRequired,
19+ "height": PropTypes.number.isRequired,
20+ "time": PropTypes.number.isRequired,
21+ "txIndexes": PropTypes.arrayOf(PropTypes.number).isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/faff5.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Response;
1717 _Response = PropTypes.shape({
18- "player_count": PropTypes.number,
19- "result": PropTypes.number,
18+ "player_count": PropTypes.number.isRequired,
19+ "result": PropTypes.number.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "response": _Response,
22+ "response": (...args) => _Response.isRequired(...args),
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/fcca3.json

1 generated file · +118 −118
Mjavascript-prop-typesdefault / toplevel.js+118 −118
@@ -40,110 +40,110 @@ let _Owner;
4040 let _Query;
4141 let _OrderBy;
4242 let _Expression;
43-const _TypeName = PropTypes.oneOfType(['metaData', 'number', 'text']);
43+const _TypeName = PropTypes.oneOf(["meta_data", "number", "text"]);
4444 _Expression = PropTypes.shape({
45- "columnId": PropTypes.number,
46- "type": PropTypes.string,
45+ "columnId": PropTypes.number.isRequired,
46+ "type": PropTypes.string.isRequired,
4747 });
4848 _OrderBy = PropTypes.shape({
49- "ascending": PropTypes.bool,
50- "expression": _Expression,
49+ "ascending": PropTypes.bool.isRequired,
50+ "expression": (...args) => _Expression.isRequired(...args),
5151 });
5252 _Query = PropTypes.shape({
53- "orderBys": PropTypes.arrayOf(_OrderBy),
53+ "orderBys": PropTypes.arrayOf((...args) => _OrderBy(...args)).isRequired,
5454 });
5555 _Owner = PropTypes.shape({
56- "displayName": PropTypes.string,
57- "id": PropTypes.string,
58- "profileImageUrlLarge": PropTypes.string,
59- "profileImageUrlMedium": PropTypes.string,
60- "profileImageUrlSmall": PropTypes.string,
61- "rights": PropTypes.arrayOf(PropTypes.string),
62- "roleName": PropTypes.string,
63- "screenName": PropTypes.string,
56+ "displayName": PropTypes.string.isRequired,
57+ "id": PropTypes.string.isRequired,
58+ "profileImageUrlLarge": PropTypes.string.isRequired,
59+ "profileImageUrlMedium": PropTypes.string.isRequired,
60+ "profileImageUrlSmall": PropTypes.string.isRequired,
61+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
62+ "roleName": PropTypes.string.isRequired,
63+ "screenName": PropTypes.string.isRequired,
6464 });
6565 _Visible = PropTypes.shape({
66- "table": PropTypes.bool,
66+ "table": PropTypes.bool.isRequired,
6767 });
6868 _RenderTypeConfig = PropTypes.shape({
69- "visible": _Visible,
69+ "visible": (...args) => _Visible.isRequired(...args),
7070 });
7171 _Order = PropTypes.shape({
72- "ascending": PropTypes.bool,
73- "columnFieldName": PropTypes.string,
72+ "ascending": PropTypes.bool.isRequired,
73+ "columnFieldName": PropTypes.string.isRequired,
7474 });
7575 _JSONQuery = PropTypes.shape({
76- "order": PropTypes.arrayOf(_Order),
76+ "order": PropTypes.arrayOf((...args) => _Order(...args)).isRequired,
7777 });
7878 _FilterConditionMetadata = PropTypes.shape({
79- "advanced": PropTypes.bool,
80- "unifiedVersion": PropTypes.number,
79+ "advanced": PropTypes.bool.isRequired,
80+ "unifiedVersion": PropTypes.number.isRequired,
8181 });
8282 _TableColumnID = PropTypes.shape({
83- "703610": PropTypes.number,
83+ "703610": PropTypes.number.isRequired,
8484 });
8585 _ChildMetadata = PropTypes.shape({
86- "customValues": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)),
87- "operator": PropTypes.string,
88- "tableColumnId": _TableColumnID,
86+ "customValues": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.string)).isRequired,
87+ "operator": PropTypes.string.isRequired,
88+ "tableColumnId": (...args) => _TableColumnID.isRequired(...args),
8989 });
9090 _Child = PropTypes.shape({
91- "metadata": _ChildMetadata,
92- "type": PropTypes.string,
93- "value": PropTypes.string,
91+ "metadata": (...args) => _ChildMetadata.isRequired(...args),
92+ "type": PropTypes.string.isRequired,
93+ "value": PropTypes.string.isRequired,
9494 });
9595 _FilterCondition = PropTypes.shape({
96- "children": PropTypes.arrayOf(_Child),
97- "metadata": _FilterConditionMetadata,
98- "type": PropTypes.string,
99- "value": PropTypes.string,
96+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
97+ "metadata": (...args) => _FilterConditionMetadata.isRequired(...args),
98+ "type": PropTypes.string.isRequired,
99+ "value": PropTypes.string.isRequired,
100100 });
101101 _Disclaimers = PropTypes.shape({
102- "Disclaimer": PropTypes.string,
103- "Limitations": PropTypes.string,
102+ "Disclaimer": PropTypes.string.isRequired,
103+ "Limitations": PropTypes.string.isRequired,
104104 });
105105 _DatasetSummary = PropTypes.shape({
106- "Contact Information": PropTypes.string,
107- "Coverage": PropTypes.string,
108- "Granularity": PropTypes.string,
109- "Organization": PropTypes.string,
110- "Posting Frequency": PropTypes.string,
111- "Time Period": PropTypes.string,
106+ "Contact Information": PropTypes.string.isRequired,
107+ "Coverage": PropTypes.string.isRequired,
108+ "Granularity": PropTypes.string.isRequired,
109+ "Organization": PropTypes.string.isRequired,
110+ "Posting Frequency": PropTypes.string.isRequired,
111+ "Time Period": PropTypes.string.isRequired,
112112 });
113113 _DatasetInformation = PropTypes.shape({
114- "Agency": PropTypes.string,
114+ "Agency": PropTypes.string.isRequired,
115115 });
116116 _CommonCore = PropTypes.shape({
117- "Contact Email": PropTypes.string,
118- "Contact Name": PropTypes.string,
119- "Publisher": PropTypes.string,
117+ "Contact Email": PropTypes.string.isRequired,
118+ "Contact Name": PropTypes.string.isRequired,
119+ "Publisher": PropTypes.string.isRequired,
120120 });
121121 _CustomFields = PropTypes.shape({
122- "Common Core": _CommonCore,
123- "Dataset Information": _DatasetInformation,
124- "Dataset Summary": _DatasetSummary,
125- "Disclaimers": _Disclaimers,
122+ "Common Core": (...args) => _CommonCore.isRequired(...args),
123+ "Dataset Information": (...args) => _DatasetInformation.isRequired(...args),
124+ "Dataset Summary": (...args) => _DatasetSummary.isRequired(...args),
125+ "Disclaimers": (...args) => _Disclaimers.isRequired(...args),
126126 });
127127 _Attachment = PropTypes.shape({
128- "assetId": PropTypes.string,
129- "blobId": PropTypes.string,
130- "filename": PropTypes.string,
131- "name": PropTypes.string,
128+ "assetId": PropTypes.string.isRequired,
129+ "blobId": PropTypes.string.isRequired,
130+ "filename": PropTypes.string.isRequired,
131+ "name": PropTypes.string.isRequired,
132132 });
133133 _ViewMetadata = PropTypes.shape({
134- "attachments": PropTypes.arrayOf(_Attachment),
135- "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string),
136- "custom_fields": _CustomFields,
137- "filterCondition": _FilterCondition,
138- "jsonQuery": _JSONQuery,
139- "rdfSubject": PropTypes.string,
140- "renderTypeConfig": _RenderTypeConfig,
141- "rowLabel": PropTypes.string,
134+ "attachments": PropTypes.arrayOf((...args) => _Attachment(...args)).isRequired,
135+ "availableDisplayTypes": PropTypes.arrayOf(PropTypes.string).isRequired,
136+ "custom_fields": (...args) => _CustomFields.isRequired(...args),
137+ "filterCondition": (...args) => _FilterCondition.isRequired(...args),
138+ "jsonQuery": (...args) => _JSONQuery.isRequired(...args),
139+ "rdfSubject": PropTypes.string.isRequired,
140+ "renderTypeConfig": (...args) => _RenderTypeConfig.isRequired(...args),
141+ "rowLabel": PropTypes.string.isRequired,
142142 });
143143 _Grant = PropTypes.shape({
144- "flags": PropTypes.arrayOf(PropTypes.string),
145- "inherited": PropTypes.bool,
146- "type": PropTypes.string,
144+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
145+ "inherited": PropTypes.bool.isRequired,
146+ "type": PropTypes.string.isRequired,
147147 });
148148 _Format = PropTypes.shape({
149149 "align": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -151,77 +151,77 @@ _Format = PropTypes.shape({
151151 "precisionStyle": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
152152 });
153153 _Top = PropTypes.shape({
154- "count": PropTypes.number,
155- "item": PropTypes.string,
154+ "count": PropTypes.number.isRequired,
155+ "item": PropTypes.string.isRequired,
156156 });
157157 _CachedContents = PropTypes.shape({
158158 "average": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
159- "largest": PropTypes.string,
160- "non_null": PropTypes.number,
161- "null": PropTypes.number,
162- "smallest": PropTypes.string,
159+ "largest": PropTypes.string.isRequired,
160+ "non_null": PropTypes.number.isRequired,
161+ "null": PropTypes.number.isRequired,
162+ "smallest": PropTypes.string.isRequired,
163163 "sum": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
164- "top": PropTypes.arrayOf(_Top),
164+ "top": PropTypes.arrayOf((...args) => _Top(...args)).isRequired,
165165 });
166166 _Column = PropTypes.shape({
167- "cachedContents": PropTypes.oneOfType([_CachedContents, PropTypes.any]),
168- "dataTypeName": _TypeName,
167+ "cachedContents": PropTypes.oneOfType([(...args) => _CachedContents(...args), PropTypes.any]),
168+ "dataTypeName": _TypeName.isRequired,
169169 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
170- "fieldName": PropTypes.string,
170+ "fieldName": PropTypes.string.isRequired,
171171 "flags": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.string), PropTypes.any]),
172- "format": _Format,
173- "id": PropTypes.number,
174- "name": PropTypes.string,
175- "position": PropTypes.number,
176- "renderTypeName": _TypeName,
172+ "format": (...args) => _Format.isRequired(...args),
173+ "id": PropTypes.number.isRequired,
174+ "name": PropTypes.string.isRequired,
175+ "position": PropTypes.number.isRequired,
176+ "renderTypeName": _TypeName.isRequired,
177177 "tableColumnId": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
178178 "width": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
179179 });
180180 _View = PropTypes.shape({
181- "attribution": PropTypes.string,
182- "averageRating": PropTypes.number,
183- "category": PropTypes.string,
184- "columns": PropTypes.arrayOf(_Column),
185- "createdAt": PropTypes.number,
186- "description": PropTypes.string,
187- "displayType": PropTypes.string,
188- "downloadCount": PropTypes.number,
189- "flags": PropTypes.arrayOf(PropTypes.string),
190- "grants": PropTypes.arrayOf(_Grant),
191- "hideFromCatalog": PropTypes.bool,
192- "hideFromDataJson": PropTypes.bool,
193- "id": PropTypes.string,
194- "indexUpdatedAt": PropTypes.number,
195- "locale": PropTypes.string,
196- "metadata": _ViewMetadata,
197- "name": PropTypes.string,
198- "newBackend": PropTypes.bool,
199- "numberOfComments": PropTypes.number,
200- "oid": PropTypes.number,
201- "owner": _Owner,
202- "provenance": PropTypes.string,
203- "publicationAppendEnabled": PropTypes.bool,
204- "publicationDate": PropTypes.number,
205- "publicationGroup": PropTypes.number,
206- "publicationStage": PropTypes.string,
207- "query": _Query,
208- "rights": PropTypes.arrayOf(PropTypes.string),
209- "rowsUpdatedAt": PropTypes.number,
210- "rowsUpdatedBy": PropTypes.string,
211- "tableAuthor": _Owner,
212- "tableId": PropTypes.number,
213- "tags": PropTypes.arrayOf(PropTypes.string),
214- "totalTimesRated": PropTypes.number,
215- "viewCount": PropTypes.number,
216- "viewLastModified": PropTypes.number,
217- "viewType": PropTypes.string,
181+ "attribution": PropTypes.string.isRequired,
182+ "averageRating": PropTypes.number.isRequired,
183+ "category": PropTypes.string.isRequired,
184+ "columns": PropTypes.arrayOf((...args) => _Column(...args)).isRequired,
185+ "createdAt": PropTypes.number.isRequired,
186+ "description": PropTypes.string.isRequired,
187+ "displayType": PropTypes.string.isRequired,
188+ "downloadCount": PropTypes.number.isRequired,
189+ "flags": PropTypes.arrayOf(PropTypes.string).isRequired,
190+ "grants": PropTypes.arrayOf((...args) => _Grant(...args)).isRequired,
191+ "hideFromCatalog": PropTypes.bool.isRequired,
192+ "hideFromDataJson": PropTypes.bool.isRequired,
193+ "id": PropTypes.string.isRequired,
194+ "indexUpdatedAt": PropTypes.number.isRequired,
195+ "locale": PropTypes.string.isRequired,
196+ "metadata": (...args) => _ViewMetadata.isRequired(...args),
197+ "name": PropTypes.string.isRequired,
198+ "newBackend": PropTypes.bool.isRequired,
199+ "numberOfComments": PropTypes.number.isRequired,
200+ "oid": PropTypes.number.isRequired,
201+ "owner": (...args) => _Owner.isRequired(...args),
202+ "provenance": PropTypes.string.isRequired,
203+ "publicationAppendEnabled": PropTypes.bool.isRequired,
204+ "publicationDate": PropTypes.number.isRequired,
205+ "publicationGroup": PropTypes.number.isRequired,
206+ "publicationStage": PropTypes.string.isRequired,
207+ "query": (...args) => _Query.isRequired(...args),
208+ "rights": PropTypes.arrayOf(PropTypes.string).isRequired,
209+ "rowsUpdatedAt": PropTypes.number.isRequired,
210+ "rowsUpdatedBy": PropTypes.string.isRequired,
211+ "tableAuthor": (...args) => _Owner.isRequired(...args),
212+ "tableId": PropTypes.number.isRequired,
213+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
214+ "totalTimesRated": PropTypes.number.isRequired,
215+ "viewCount": PropTypes.number.isRequired,
216+ "viewLastModified": PropTypes.number.isRequired,
217+ "viewType": PropTypes.string.isRequired,
218218 });
219219 _Meta = PropTypes.shape({
220- "view": _View,
220+ "view": (...args) => _View.isRequired(...args),
221221 });
222222 _TopLevel = PropTypes.shape({
223- "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))),
224- "meta": _Meta,
223+ "data": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]))).isRequired,
224+ "meta": (...args) => _Meta.isRequired(...args),
225225 });
226226
227227 export const TopLevel = _TopLevel;
Test case

test/inputs/json/misc/fd329.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Datum;
1717 let _Description;
1818 _Description = PropTypes.shape({
19- "base_period": PropTypes.string,
20- "missing": PropTypes.number,
21- "title": PropTypes.string,
22- "units": PropTypes.string,
19+ "base_period": PropTypes.string.isRequired,
20+ "missing": PropTypes.number.isRequired,
21+ "title": PropTypes.string.isRequired,
22+ "units": PropTypes.string.isRequired,
2323 });
2424 _Datum = PropTypes.shape({
25- "anomaly": PropTypes.string,
26- "value": PropTypes.string,
25+ "anomaly": PropTypes.string.isRequired,
26+ "value": PropTypes.string.isRequired,
2727 });
2828 _TopLevel = PropTypes.shape({
29- "data": PropTypes.object,
30- "description": _Description,
29+ "data": PropTypes.object.isRequired,
30+ "description": (...args) => _Description.isRequired(...args),
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/blns-object.json

1 generated file · +587 −587
Mjavascript-prop-typesdefault / toplevel.js+587 −587
@@ -17,599 +17,599 @@ let _A;
1717 let _B;
1818 let _C;
1919 _C = PropTypes.shape({
20- "\"\"": PropTypes.string,
21- "\"'\"'\"''''\"": PropTypes.string,
22- "\"''''\"'\"": PropTypes.string,
23- "\"`'><script>-javascript:alert(1)</script>": PropTypes.string,
24- "\"`'><script>\\x0Ajavascript:alert(1)</script>": PropTypes.string,
25- "\"`'><script>\\x0Bjavascript:alert(1)</script>": PropTypes.string,
26- "\"`'><script>\\x20javascript:alert(1)</script>": PropTypes.string,
27- "\"`'><script>\\x2Bjavascript:alert(1)</script>": PropTypes.string,
28- "\"`'><script>\\x7Ejavascript:alert(1)</script>": PropTypes.string,
29- "\"`'><script>\\xE2\\x80\\x80javascript:alert(1)</script>": PropTypes.string,
30- "\"`'><script>\\xE2\\x80\\x82javascript:alert(1)</script>": PropTypes.string,
31- "\"`'><script>\\xE2\\x80\\x83javascript:alert(1)</script>": PropTypes.string,
32- "\"`'><script>\\xE2\\x80\\x84javascript:alert(1)</script>": PropTypes.string,
33- "\"`'><script>\\xE2\\x80\\x88javascript:alert(1)</script>": PropTypes.string,
34- "\"`'><script>\\xE2\\x80\\x8Bjavascript:alert(1)</script>": PropTypes.string,
35- "\"`'><script>\\xEF\\xBF\\xAEjavascript:alert(1)</script>": PropTypes.string,
36- "\"`'><script>\\xEF\\xBF\\xBEjavascript:alert(1)</script>": PropTypes.string,
37- "#\tEmoji": PropTypes.string,
38- "#\tRight-To-Left Strings": PropTypes.string,
39- "#\tServer Code Injection": PropTypes.string,
40- "#\tSpecial Characters": PropTypes.string,
41- "#\tStrings which can be interpreted as numeric": PropTypes.string,
42- "#\tStrings which can cause a SQL injection if inputs are not sanitized": PropTypes.string,
43- "#\tStrings which can cause user to pull in files that should not be a part of a web server": PropTypes.string,
44- "#\tStrings which can cause user to run code on server as a privileged user (c.f. https://news.ycombinator.com/item?id=7665153)": PropTypes.string,
45- "#\tStrings which contain \"corrupted\" text. The corruption will not appear in non-HTML text, however. (via http://www.eeemo.net)": PropTypes.string,
46- "#\tStrings which contain unicode with an \"upsidedown\" effect (via http://www.upsidedowntext.com)": PropTypes.string,
47- "#\tStrings which contain unicode with unusual properties (e.g. Right-to-left override) (c.f. http://www.unicode.org/charts/PDF/U2000.pdf)": PropTypes.string,
48- "#\tStrings which punish the fools who use cat/type on this file": PropTypes.string,
49- "#\tTrick Unicode": PropTypes.string,
50- "#\tUnicode Subscript/Superscript/Accents": PropTypes.string,
51- "#\tUnicode Upsidedown": PropTypes.string,
52- "#\tZalgo Text": PropTypes.string,
53- "# XXE Injection (XML)": PropTypes.string,
54- "# ASCII punctuation. All of these characters may need to be escaped in some": PropTypes.string,
55- "# Non-whitespace C0 controls: U+0001 through U+0008, U+000E through U+001F,": PropTypes.string,
56- "# Unicode additional control characters: all of the characters with": PropTypes.string,
57- "# Whitespace: all of the characters with category Zs, Zl, or Zp (in Unicode": PropTypes.string,
58- "# and U+007F (DEL)": PropTypes.string,
59- "# or reused for internal delimiters on the theory that they should never": PropTypes.string,
60- "# treated as whitespace in some contexts.": PropTypes.string,
61- "# version 8.0.0), plus U+0009 (HT), U+000B (VT), U+000C (FF), U+0085 (NEL),": PropTypes.string,
62- "$USER": PropTypes.string,
63- "%": PropTypes.string,
64- "%*.*s": PropTypes.string,
65- "&lt;script&gt;alert(&#39;123&#39;);&lt;/script&gt;": PropTypes.string,
66- "' onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string,
67- "''": PropTypes.string,
68- "'><script>alert(123);</script x='": PropTypes.string,
69- "'><script>alert(123)</script>": PropTypes.string,
70- "() { 0; }; touch /tmp/blns.shellshock1.fail;": PropTypes.string,
71- "(ノಥ益ಥ)ノ\ufeff ┻━┻": PropTypes.string,
72- "+0.0": PropTypes.string,
73- ",。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’": PropTypes.string,
74- "-": PropTypes.string,
75- "-$1.00": PropTypes.string,
76- "--": PropTypes.string,
77- "--1": PropTypes.string,
78- "--version": PropTypes.string,
79- "-0.0": PropTypes.string,
80- "-1#IND": PropTypes.string,
81- "-1.00": PropTypes.string,
82- "-1/2": PropTypes.string,
83- "-1E+02": PropTypes.string,
84- "-1E2": PropTypes.string,
85- "-9223372036854775808/-1": PropTypes.string,
86- ".": PropTypes.string,
87- "0,,0": PropTypes.string,
88- "0.0.0": PropTypes.string,
89- "0.0/0": PropTypes.string,
90- "0/0": PropTypes.string,
91- "0xabad1dea": PropTypes.string,
92- "0xffffffff": PropTypes.string,
93- "0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ \ud83d\udd1f": PropTypes.string,
94- "1 000,00": PropTypes.string,
95- "1'000'000,00": PropTypes.string,
96- "1,000,000.00": PropTypes.string,
97- "1,000.00": PropTypes.string,
98- "1.000,00": PropTypes.string,
99- "1.000.000,00": PropTypes.string,
100- "1E+02": PropTypes.string,
101- "< / script >< script >alert(123)< / script >": PropTypes.string,
102- "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM \"file:///etc/passwd\" >]><foo>&xxe;</foo>": PropTypes.string,
103- "<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>": PropTypes.string,
104- "<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">": PropTypes.string,
105- "<IMG SRC=\"javascript:alert('XSS')\"": PropTypes.string,
106- "<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>": PropTypes.string,
107- "<IMG onmouseover=\"alert('xxs')\">": PropTypes.string,
108- "<a href=\"\\x00javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
109- "<a href=\"\\x03javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
110- "<a href=\"\\x06javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
111- "<a href=\"\\x07javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
112- "<a href=\"\\x0Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
113- "<a href=\"\\x12javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
114- "<a href=\"\\x14javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
115- "<a href=\"\\x15javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
116- "<a href=\"\\x18javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
117- "<a href=\"\\x1Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
118- "<a href=\"\\x1Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
119- "<a href=\"\\x20javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
120- "<a href=\"\\xE2\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
121- "<a href=\"\\xE2\\x80\\x85javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
122- "<a href=\"\\xE2\\x80\\x88javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
123- "<a href=\"\\xE2\\x80\\x89javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
124- "<a href=\"\\xE2\\x80\\x8Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
125- "<a href=\"\\xE2\\x81\\x9Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
126- "<a href=\"\\xE3\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
127- "<foo val=“bar” />": PropTypes.string,
128- "<i onwheel=alert(1)> Scroll over me </i>": PropTypes.string,
129- "<img \\x34src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
130- "<img src onerror /\" '\"= alt=javascript:alert(1)//\">": PropTypes.string,
131- "<img src=\"x` `<script>javascript:alert(1)</script>\"` `>": PropTypes.string,
132- "<img src=x onerror=\\x10\"javascript:alert(1)\">": PropTypes.string,
133- "<img src=x onerror=\\x32\"javascript:alert(1)\">": PropTypes.string,
134- "<img src=x onerror=alert(123) />": PropTypes.string,
135- "<img src\\x10=x onerror=\"javascript:alert(1)\">": PropTypes.string,
136- "<img src\\x12=x onerror=\"javascript:alert(1)\">": PropTypes.string,
137- "<img src\\x13=x onerror=\"javascript:alert(1)\">": PropTypes.string,
138- "<img src\\x32=x onerror=\"javascript:alert(1)\">": PropTypes.string,
139- "<img src\\x47=x onerror=\"javascript:alert(1)\">": PropTypes.string,
140- "<img[a][b][c]src[d]=x[e]onerror=[f]\"alert(1)\">": PropTypes.string,
141- "<img\\x11src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
142- "<img\\x47src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
143- "<plaintext>": PropTypes.string,
144- "<script src=\"/\\%(jscript)s\"></script>": PropTypes.string,
145- "<script\\x0Ctype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
146- "<script\\x2Ftype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
147- "<svg><script>123<1>alert(123)</script>": PropTypes.string,
148- "<title onpropertychange=javascript:alert(1)></title><title title=>": PropTypes.string,
149- "><script>alert(123)</script>": PropTypes.string,
150- "@{[system \"touch /tmp/blns.fail\"]}": PropTypes.string,
151- "A:": PropTypes.string,
152- "ABC<div style=\"x:\\x00expression(javascript:alert(1)\">DEF": PropTypes.string,
153- "ABC<div style=\"x:\\x0Cexpression(javascript:alert(1)\">DEF": PropTypes.string,
154- "ABC<div style=\"x:\\xE2\\x80\\x81expression(javascript:alert(1)\">DEF": PropTypes.string,
155- "ABC<div style=\"x:\\xE2\\x80\\x86expression(javascript:alert(1)\">DEF": PropTypes.string,
156- "ABC<div style=\"x:\\xE2\\x80\\x88expression(javascript:alert(1)\">DEF": PropTypes.string,
157- "ABC<div style=\"x:\\xE3\\x80\\x80expression(javascript:alert(1)\">DEF": PropTypes.string,
158- "ABC<div style=\"x:\\xEF\\xBB\\xBFexpression(javascript:alert(1)\">DEF": PropTypes.string,
159- "ABC<div style=\"x:expression\\x00(javascript:alert(1)\">DEF": PropTypes.string,
160- "CLOCK$": PropTypes.string,
161- "COM2": PropTypes.string,
162- "COM4": PropTypes.string,
163- "Craig Cockburn, Software Specialist": PropTypes.string,
164- "DCC SEND STARTKEYLOGGER 0 0 0": PropTypes.string,
165- "Horniman Museum": PropTypes.string,
166- "Infinity": PropTypes.string,
167- "JavaSCript:alert(123)": PropTypes.string,
168- "LPT1": PropTypes.string,
169- "NULL": PropTypes.string,
170- "NaN": PropTypes.string,
171- "Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗": PropTypes.string,
172- "Roses are \u001b[0;31mred\u001b[0m, violets are \u001b[0;34mblue. Hope you enjoy terminal hue": PropTypes.string,
173- "Scunthorpe General Hospital": PropTypes.string,
174- "System(\"ls -al /\")": PropTypes.string,
175- "ZZ:": PropTypes.string,
176- "\\\\": PropTypes.string,
177- "_": PropTypes.string,
178- "`\"'><img src=xxx:x \\x09onerror=javascript:alert(1)>": PropTypes.string,
179- "`\"'><img src=xxx:x \\x20onerror=javascript:alert(1)>": PropTypes.string,
180- "`\"'><img src=xxx:x \\x22onerror=javascript:alert(1)>": PropTypes.string,
181- "`\"'><img src=xxx:x \\x27onerror=javascript:alert(1)>": PropTypes.string,
182- "dontMakeAMap": PropTypes.bool,
183- "evaluate": PropTypes.string,
184- "hasOwnProperty": PropTypes.string,
185- "http://www.cum.qc.ca/": PropTypes.string,
186- "magna cum laude": PropTypes.string,
187- "medieval erection of parapets": PropTypes.string,
188- "mocha": PropTypes.string,
189- "shitake mushrooms": PropTypes.string,
190- "src=JaVaSCript:prompt(132)": PropTypes.string,
191- "test\u2060test\u202b": PropTypes.string,
192- "true": PropTypes.string,
193- "undefined": PropTypes.string,
194- "ÅÍÎÏ˝ÓÔ\uf8ffÒÚÆ☃": PropTypes.string,
195- "̗̺͖̹̯͓Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟": PropTypes.string,
196- "ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя": PropTypes.string,
197- "בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ": PropTypes.string,
198- "مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، ": PropTypes.string,
199- "١٢٣": PropTypes.string,
200- "\u2029test\u2029": PropTypes.string,
201- "⁰⁴⁵": PropTypes.string,
202- "⅛⅜⅝⅞": PropTypes.string,
203- "┬─┬ノ( º _ ºノ)": PropTypes.string,
204- "✋\ud83c\udfff \ud83d\udcaa\ud83c\udfff \ud83d\udc50\ud83c\udfff \ud83d\ude4c\ud83c\udfff \ud83d\udc4f\ud83c\udfff \ud83d\ude4f\ud83c\udfff": PropTypes.string,
205- "・( ̄∀ ̄)・:*:": PropTypes.string,
206- "울란바토르": PropTypes.string,
207- "\ud835\udc13\ud835\udc21\ud835\udc1e \ud835\udc2a\ud835\udc2e\ud835\udc22\ud835\udc1c\ud835\udc24 \ud835\udc1b\ud835\udc2b\ud835\udc28\ud835\udc30\ud835\udc27 \ud835\udc1f\ud835\udc28\ud835\udc31 \ud835\udc23\ud835\udc2e\ud835\udc26\ud835\udc29\ud835\udc2c \ud835\udc28\ud835\udc2f\ud835\udc1e\ud835\udc2b \ud835\udc2d\ud835\udc21\ud835\udc1e \ud835\udc25\ud835\udc1a\ud835\udc33\ud835\udc32 \ud835\udc1d\ud835\udc28\ud835\udc20": PropTypes.string,
208- "\ud835\ude83\ud835\ude91\ud835\ude8e \ud835\ude9a\ud835\ude9e\ud835\ude92\ud835\ude8c\ud835\ude94 \ud835\ude8b\ud835\ude9b\ud835\ude98\ud835\udea0\ud835\ude97 \ud835\ude8f\ud835\ude98\ud835\udea1 \ud835\ude93\ud835\ude9e\ud835\ude96\ud835\ude99\ud835\ude9c \ud835\ude98\ud835\ude9f\ud835\ude8e\ud835\ude9b \ud835\ude9d\ud835\ude91\ud835\ude8e \ud835\ude95\ud835\ude8a\ud835\udea3\ud835\udea2 \ud835\ude8d\ud835\ude98\ud835\ude90": PropTypes.string,
209- "\ud83c\udff30\ud83c\udf08️": PropTypes.string,
210- "\ud83d\udc35 \ud83d\ude48 \ud83d\ude49 \ud83d\ude4a": PropTypes.string,
211- "\ud83d\udc7e \ud83d\ude47 \ud83d\udc81 \ud83d\ude45 \ud83d\ude46 \ud83d\ude4b \ud83d\ude4e \ud83d\ude4d": PropTypes.string,
212- "\ud841\udf0e\ud841\udf31\ud841\udf79\ud843\udc53\ud843\udc78\ud843\udc96\ud843\udccf": PropTypes.string,
213- "<script>alert(123)</script>": PropTypes.string,
214- "The quick brown fox jumps over the lazy dog": PropTypes.string,
20+ "\"\"": PropTypes.string.isRequired,
21+ "\"'\"'\"''''\"": PropTypes.string.isRequired,
22+ "\"''''\"'\"": PropTypes.string.isRequired,
23+ "\"`'><script>-javascript:alert(1)</script>": PropTypes.string.isRequired,
24+ "\"`'><script>\\x0Ajavascript:alert(1)</script>": PropTypes.string.isRequired,
25+ "\"`'><script>\\x0Bjavascript:alert(1)</script>": PropTypes.string.isRequired,
26+ "\"`'><script>\\x20javascript:alert(1)</script>": PropTypes.string.isRequired,
27+ "\"`'><script>\\x2Bjavascript:alert(1)</script>": PropTypes.string.isRequired,
28+ "\"`'><script>\\x7Ejavascript:alert(1)</script>": PropTypes.string.isRequired,
29+ "\"`'><script>\\xE2\\x80\\x80javascript:alert(1)</script>": PropTypes.string.isRequired,
30+ "\"`'><script>\\xE2\\x80\\x82javascript:alert(1)</script>": PropTypes.string.isRequired,
31+ "\"`'><script>\\xE2\\x80\\x83javascript:alert(1)</script>": PropTypes.string.isRequired,
32+ "\"`'><script>\\xE2\\x80\\x84javascript:alert(1)</script>": PropTypes.string.isRequired,
33+ "\"`'><script>\\xE2\\x80\\x88javascript:alert(1)</script>": PropTypes.string.isRequired,
34+ "\"`'><script>\\xE2\\x80\\x8Bjavascript:alert(1)</script>": PropTypes.string.isRequired,
35+ "\"`'><script>\\xEF\\xBF\\xAEjavascript:alert(1)</script>": PropTypes.string.isRequired,
36+ "\"`'><script>\\xEF\\xBF\\xBEjavascript:alert(1)</script>": PropTypes.string.isRequired,
37+ "#\tEmoji": PropTypes.string.isRequired,
38+ "#\tRight-To-Left Strings": PropTypes.string.isRequired,
39+ "#\tServer Code Injection": PropTypes.string.isRequired,
40+ "#\tSpecial Characters": PropTypes.string.isRequired,
41+ "#\tStrings which can be interpreted as numeric": PropTypes.string.isRequired,
42+ "#\tStrings which can cause a SQL injection if inputs are not sanitized": PropTypes.string.isRequired,
43+ "#\tStrings which can cause user to pull in files that should not be a part of a web server": PropTypes.string.isRequired,
44+ "#\tStrings which can cause user to run code on server as a privileged user (c.f. https://news.ycombinator.com/item?id=7665153)": PropTypes.string.isRequired,
45+ "#\tStrings which contain \"corrupted\" text. The corruption will not appear in non-HTML text, however. (via http://www.eeemo.net)": PropTypes.string.isRequired,
46+ "#\tStrings which contain unicode with an \"upsidedown\" effect (via http://www.upsidedowntext.com)": PropTypes.string.isRequired,
47+ "#\tStrings which contain unicode with unusual properties (e.g. Right-to-left override) (c.f. http://www.unicode.org/charts/PDF/U2000.pdf)": PropTypes.string.isRequired,
48+ "#\tStrings which punish the fools who use cat/type on this file": PropTypes.string.isRequired,
49+ "#\tTrick Unicode": PropTypes.string.isRequired,
50+ "#\tUnicode Subscript/Superscript/Accents": PropTypes.string.isRequired,
51+ "#\tUnicode Upsidedown": PropTypes.string.isRequired,
52+ "#\tZalgo Text": PropTypes.string.isRequired,
53+ "# XXE Injection (XML)": PropTypes.string.isRequired,
54+ "# ASCII punctuation. All of these characters may need to be escaped in some": PropTypes.string.isRequired,
55+ "# Non-whitespace C0 controls: U+0001 through U+0008, U+000E through U+001F,": PropTypes.string.isRequired,
56+ "# Unicode additional control characters: all of the characters with": PropTypes.string.isRequired,
57+ "# Whitespace: all of the characters with category Zs, Zl, or Zp (in Unicode": PropTypes.string.isRequired,
58+ "# and U+007F (DEL)": PropTypes.string.isRequired,
59+ "# or reused for internal delimiters on the theory that they should never": PropTypes.string.isRequired,
60+ "# treated as whitespace in some contexts.": PropTypes.string.isRequired,
61+ "# version 8.0.0), plus U+0009 (HT), U+000B (VT), U+000C (FF), U+0085 (NEL),": PropTypes.string.isRequired,
62+ "$USER": PropTypes.string.isRequired,
63+ "%": PropTypes.string.isRequired,
64+ "%*.*s": PropTypes.string.isRequired,
65+ "&lt;script&gt;alert(&#39;123&#39;);&lt;/script&gt;": PropTypes.string.isRequired,
66+ "' onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string.isRequired,
67+ "''": PropTypes.string.isRequired,
68+ "'><script>alert(123);</script x='": PropTypes.string.isRequired,
69+ "'><script>alert(123)</script>": PropTypes.string.isRequired,
70+ "() { 0; }; touch /tmp/blns.shellshock1.fail;": PropTypes.string.isRequired,
71+ "(ノಥ益ಥ)ノ\ufeff ┻━┻": PropTypes.string.isRequired,
72+ "+0.0": PropTypes.string.isRequired,
73+ ",。・:*:・゜’( ☻ ω ☻ )。・:*:・゜’": PropTypes.string.isRequired,
74+ "-": PropTypes.string.isRequired,
75+ "-$1.00": PropTypes.string.isRequired,
76+ "--": PropTypes.string.isRequired,
77+ "--1": PropTypes.string.isRequired,
78+ "--version": PropTypes.string.isRequired,
79+ "-0.0": PropTypes.string.isRequired,
80+ "-1#IND": PropTypes.string.isRequired,
81+ "-1.00": PropTypes.string.isRequired,
82+ "-1/2": PropTypes.string.isRequired,
83+ "-1E+02": PropTypes.string.isRequired,
84+ "-1E2": PropTypes.string.isRequired,
85+ "-9223372036854775808/-1": PropTypes.string.isRequired,
86+ ".": PropTypes.string.isRequired,
87+ "0,,0": PropTypes.string.isRequired,
88+ "0.0.0": PropTypes.string.isRequired,
89+ "0.0/0": PropTypes.string.isRequired,
90+ "0/0": PropTypes.string.isRequired,
91+ "0xabad1dea": PropTypes.string.isRequired,
92+ "0xffffffff": PropTypes.string.isRequired,
93+ "0️⃣ 1️⃣ 2️⃣ 3️⃣ 4️⃣ 5️⃣ 6️⃣ 7️⃣ 8️⃣ 9️⃣ \ud83d\udd1f": PropTypes.string.isRequired,
94+ "1 000,00": PropTypes.string.isRequired,
95+ "1'000'000,00": PropTypes.string.isRequired,
96+ "1,000,000.00": PropTypes.string.isRequired,
97+ "1,000.00": PropTypes.string.isRequired,
98+ "1.000,00": PropTypes.string.isRequired,
99+ "1.000.000,00": PropTypes.string.isRequired,
100+ "1E+02": PropTypes.string.isRequired,
101+ "< / script >< script >alert(123)< / script >": PropTypes.string.isRequired,
102+ "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><!DOCTYPE foo [ <!ELEMENT foo ANY ><!ENTITY xxe SYSTEM \"file:///etc/passwd\" >]><foo>&xxe;</foo>": PropTypes.string.isRequired,
103+ "<BODY onload!#$%&()*~+-_.,:;?@[/|\\]^`=alert(\"XSS\")>": PropTypes.string.isRequired,
104+ "<IMG \"\"\"><SCRIPT>alert(\"XSS\")</SCRIPT>\">": PropTypes.string.isRequired,
105+ "<IMG SRC=\"javascript:alert('XSS')\"": PropTypes.string.isRequired,
106+ "<IMG SRC=javascript:alert(String.fromCharCode(88,83,83))>": PropTypes.string.isRequired,
107+ "<IMG onmouseover=\"alert('xxs')\">": PropTypes.string.isRequired,
108+ "<a href=\"\\x00javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
109+ "<a href=\"\\x03javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
110+ "<a href=\"\\x06javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
111+ "<a href=\"\\x07javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
112+ "<a href=\"\\x0Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
113+ "<a href=\"\\x12javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
114+ "<a href=\"\\x14javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
115+ "<a href=\"\\x15javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
116+ "<a href=\"\\x18javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
117+ "<a href=\"\\x1Bjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
118+ "<a href=\"\\x1Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
119+ "<a href=\"\\x20javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
120+ "<a href=\"\\xE2\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
121+ "<a href=\"\\xE2\\x80\\x85javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
122+ "<a href=\"\\xE2\\x80\\x88javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
123+ "<a href=\"\\xE2\\x80\\x89javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
124+ "<a href=\"\\xE2\\x80\\x8Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
125+ "<a href=\"\\xE2\\x81\\x9Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
126+ "<a href=\"\\xE3\\x80\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
127+ "<foo val=“bar” />": PropTypes.string.isRequired,
128+ "<i onwheel=alert(1)> Scroll over me </i>": PropTypes.string.isRequired,
129+ "<img \\x34src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
130+ "<img src onerror /\" '\"= alt=javascript:alert(1)//\">": PropTypes.string.isRequired,
131+ "<img src=\"x` `<script>javascript:alert(1)</script>\"` `>": PropTypes.string.isRequired,
132+ "<img src=x onerror=\\x10\"javascript:alert(1)\">": PropTypes.string.isRequired,
133+ "<img src=x onerror=\\x32\"javascript:alert(1)\">": PropTypes.string.isRequired,
134+ "<img src=x onerror=alert(123) />": PropTypes.string.isRequired,
135+ "<img src\\x10=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
136+ "<img src\\x12=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
137+ "<img src\\x13=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
138+ "<img src\\x32=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
139+ "<img src\\x47=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
140+ "<img[a][b][c]src[d]=x[e]onerror=[f]\"alert(1)\">": PropTypes.string.isRequired,
141+ "<img\\x11src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
142+ "<img\\x47src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
143+ "<plaintext>": PropTypes.string.isRequired,
144+ "<script src=\"/\\%(jscript)s\"></script>": PropTypes.string.isRequired,
145+ "<script\\x0Ctype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
146+ "<script\\x2Ftype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
147+ "<svg><script>123<1>alert(123)</script>": PropTypes.string.isRequired,
148+ "<title onpropertychange=javascript:alert(1)></title><title title=>": PropTypes.string.isRequired,
149+ "><script>alert(123)</script>": PropTypes.string.isRequired,
150+ "@{[system \"touch /tmp/blns.fail\"]}": PropTypes.string.isRequired,
151+ "A:": PropTypes.string.isRequired,
152+ "ABC<div style=\"x:\\x00expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
153+ "ABC<div style=\"x:\\x0Cexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
154+ "ABC<div style=\"x:\\xE2\\x80\\x81expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
155+ "ABC<div style=\"x:\\xE2\\x80\\x86expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
156+ "ABC<div style=\"x:\\xE2\\x80\\x88expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
157+ "ABC<div style=\"x:\\xE3\\x80\\x80expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
158+ "ABC<div style=\"x:\\xEF\\xBB\\xBFexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
159+ "ABC<div style=\"x:expression\\x00(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
160+ "CLOCK$": PropTypes.string.isRequired,
161+ "COM2": PropTypes.string.isRequired,
162+ "COM4": PropTypes.string.isRequired,
163+ "Craig Cockburn, Software Specialist": PropTypes.string.isRequired,
164+ "DCC SEND STARTKEYLOGGER 0 0 0": PropTypes.string.isRequired,
165+ "Horniman Museum": PropTypes.string.isRequired,
166+ "Infinity": PropTypes.string.isRequired,
167+ "JavaSCript:alert(123)": PropTypes.string.isRequired,
168+ "LPT1": PropTypes.string.isRequired,
169+ "NULL": PropTypes.string.isRequired,
170+ "NaN": PropTypes.string.isRequired,
171+ "Powerلُلُصّبُلُلصّبُررً ॣ ॣh ॣ ॣ冗": PropTypes.string.isRequired,
172+ "Roses are \u001b[0;31mred\u001b[0m, violets are \u001b[0;34mblue. Hope you enjoy terminal hue": PropTypes.string.isRequired,
173+ "Scunthorpe General Hospital": PropTypes.string.isRequired,
174+ "System(\"ls -al /\")": PropTypes.string.isRequired,
175+ "ZZ:": PropTypes.string.isRequired,
176+ "\\\\": PropTypes.string.isRequired,
177+ "_": PropTypes.string.isRequired,
178+ "`\"'><img src=xxx:x \\x09onerror=javascript:alert(1)>": PropTypes.string.isRequired,
179+ "`\"'><img src=xxx:x \\x20onerror=javascript:alert(1)>": PropTypes.string.isRequired,
180+ "`\"'><img src=xxx:x \\x22onerror=javascript:alert(1)>": PropTypes.string.isRequired,
181+ "`\"'><img src=xxx:x \\x27onerror=javascript:alert(1)>": PropTypes.string.isRequired,
182+ "dontMakeAMap": PropTypes.bool.isRequired,
183+ "evaluate": PropTypes.string.isRequired,
184+ "hasOwnProperty": PropTypes.string.isRequired,
185+ "http://www.cum.qc.ca/": PropTypes.string.isRequired,
186+ "magna cum laude": PropTypes.string.isRequired,
187+ "medieval erection of parapets": PropTypes.string.isRequired,
188+ "mocha": PropTypes.string.isRequired,
189+ "shitake mushrooms": PropTypes.string.isRequired,
190+ "src=JaVaSCript:prompt(132)": PropTypes.string.isRequired,
191+ "test\u2060test\u202b": PropTypes.string.isRequired,
192+ "true": PropTypes.string.isRequired,
193+ "undefined": PropTypes.string.isRequired,
194+ "ÅÍÎÏ˝ÓÔ\uf8ffÒÚÆ☃": PropTypes.string.isRequired,
195+ "̗̺͖̹̯͓Ṯ̤͍̥͇͈h̲́e͏͓̼̗̙̼̣͔ ͇̜̱̠͓͍ͅN͕͠e̗̱z̘̝̜̺͙p̤̺̹͍̯͚e̠̻̠͜r̨̤͍̺̖͔̖̖d̠̟̭̬̝͟i̦͖̩͓͔̤a̠̗̬͉̙n͚͜ ̻̞̰͚ͅh̵͉i̳̞v̢͇ḙ͎͟-҉̭̩̼͔m̤̭̫i͕͇̝̦n̗͙ḍ̟ ̯̲͕͞ǫ̟̯̰̲͙̻̝f ̪̰̰̗̖̭̘͘c̦͍̲̞͍̩̙ḥ͚a̮͎̟̙͜ơ̩̹͎s̤.̝̝ ҉Z̡̖̜͖̰̣͉̜a͖̰͙̬͡l̲̫̳͍̩g̡̟̼̱͚̞̬ͅo̗͜.̟": PropTypes.string.isRequired,
196+ "ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя": PropTypes.string.isRequired,
197+ "בְּרֵאשִׁית, בָּרָא אֱלֹהִים, אֵת הַשָּׁמַיִם, וְאֵת הָאָרֶץ": PropTypes.string.isRequired,
198+ "مُنَاقَشَةُ سُبُلِ اِسْتِخْدَامِ اللُّغَةِ فِي النُّظُمِ الْقَائِمَةِ وَفِيم يَخُصَّ التَّطْبِيقَاتُ الْحاسُوبِيَّةُ، ": PropTypes.string.isRequired,
199+ "١٢٣": PropTypes.string.isRequired,
200+ "\u2029test\u2029": PropTypes.string.isRequired,
201+ "⁰⁴⁵": PropTypes.string.isRequired,
202+ "⅛⅜⅝⅞": PropTypes.string.isRequired,
203+ "┬─┬ノ( º _ ºノ)": PropTypes.string.isRequired,
204+ "✋\ud83c\udfff \ud83d\udcaa\ud83c\udfff \ud83d\udc50\ud83c\udfff \ud83d\ude4c\ud83c\udfff \ud83d\udc4f\ud83c\udfff \ud83d\ude4f\ud83c\udfff": PropTypes.string.isRequired,
205+ "・( ̄∀ ̄)・:*:": PropTypes.string.isRequired,
206+ "울란바토르": PropTypes.string.isRequired,
207+ "\ud835\udc13\ud835\udc21\ud835\udc1e \ud835\udc2a\ud835\udc2e\ud835\udc22\ud835\udc1c\ud835\udc24 \ud835\udc1b\ud835\udc2b\ud835\udc28\ud835\udc30\ud835\udc27 \ud835\udc1f\ud835\udc28\ud835\udc31 \ud835\udc23\ud835\udc2e\ud835\udc26\ud835\udc29\ud835\udc2c \ud835\udc28\ud835\udc2f\ud835\udc1e\ud835\udc2b \ud835\udc2d\ud835\udc21\ud835\udc1e \ud835\udc25\ud835\udc1a\ud835\udc33\ud835\udc32 \ud835\udc1d\ud835\udc28\ud835\udc20": PropTypes.string.isRequired,
208+ "\ud835\ude83\ud835\ude91\ud835\ude8e \ud835\ude9a\ud835\ude9e\ud835\ude92\ud835\ude8c\ud835\ude94 \ud835\ude8b\ud835\ude9b\ud835\ude98\ud835\udea0\ud835\ude97 \ud835\ude8f\ud835\ude98\ud835\udea1 \ud835\ude93\ud835\ude9e\ud835\ude96\ud835\ude99\ud835\ude9c \ud835\ude98\ud835\ude9f\ud835\ude8e\ud835\ude9b \ud835\ude9d\ud835\ude91\ud835\ude8e \ud835\ude95\ud835\ude8a\ud835\udea3\ud835\udea2 \ud835\ude8d\ud835\ude98\ud835\ude90": PropTypes.string.isRequired,
209+ "\ud83c\udff30\ud83c\udf08️": PropTypes.string.isRequired,
210+ "\ud83d\udc35 \ud83d\ude48 \ud83d\ude49 \ud83d\ude4a": PropTypes.string.isRequired,
211+ "\ud83d\udc7e \ud83d\ude47 \ud83d\udc81 \ud83d\ude45 \ud83d\ude46 \ud83d\ude4b \ud83d\ude4e \ud83d\ude4d": PropTypes.string.isRequired,
212+ "\ud841\udf0e\ud841\udf31\ud841\udf79\ud843\udc53\ud843\udc78\ud843\udc96\ud843\udccf": PropTypes.string.isRequired,
213+ "<script>alert(123)</script>": PropTypes.string.isRequired,
214+ "The quick brown fox jumps over the lazy dog": PropTypes.string.isRequired,
215215 });
216216 _B = PropTypes.shape({
217- "\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f\u007f": PropTypes.string,
218- "\t\u000b\u000c \u0085             \u200b\u2028\u2029   ": PropTypes.string,
219- "\"": PropTypes.string,
220- "\" onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string,
221- "\"><script>alert(123)</script>": PropTypes.string,
222- "\"`'><script>\\x09javascript:alert(1)</script>": PropTypes.string,
223- "\"`'><script>\\x21javascript:alert(1)</script>": PropTypes.string,
224- "\"`'><script>\\x3Bjavascript:alert(1)</script>": PropTypes.string,
225- "\"`'><script>\\xE2\\x80\\x85javascript:alert(1)</script>": PropTypes.string,
226- "\"`'><script>\\xE2\\x80\\x87javascript:alert(1)</script>": PropTypes.string,
227- "\"`'><script>\\xE2\\x80\\x8Ajavascript:alert(1)</script>": PropTypes.string,
228- "\"`'><script>\\xE2\\x80\\xA8javascript:alert(1)</script>": PropTypes.string,
229- "\"`'><script>\\xE2\\x80\\xA9javascript:alert(1)</script>": PropTypes.string,
230- "\"`'><script>\\xE2\\x80\\xAFjavascript:alert(1)</script>": PropTypes.string,
231- "\"`'><script>\\xE3\\x80\\x80javascript:alert(1)</script>": PropTypes.string,
232- "#": PropTypes.string,
233- "#\tCredit: https://twitter.com/jifa/status/625776454479970304": PropTypes.string,
234- "#\tFile Inclusion": PropTypes.string,
235- "#\tJapanese Emoticons": PropTypes.string,
236- "#\tNumeric Strings": PropTypes.string,
237- "#\tQuotation Marks": PropTypes.string,
238- "#\tReserved Strings": PropTypes.string,
239- "#\tScunthorpe Problem": PropTypes.string,
240- "#\tStrings which are reserved characters in MSDOS/Windows": PropTypes.string,
241- "#\tStrings which attempt to invoke a benign script injection; shows vulnerability to XSS": PropTypes.string,
242- "#\tStrings which contain text that should be rendered RTL if possible (e.g. Arabic, Hebrew)": PropTypes.string,
243- "#\tStrings which contain two-byte characters: can cause rendering issues or character-length issues": PropTypes.string,
244- "#\tStrings which contain unicode numbers; if the code is localized, it should see the input as numeric": PropTypes.string,
245- "#\tStrings which may be used elsewhere in code": PropTypes.string,
246- "#\tTerminal escape codes": PropTypes.string,
247- "#\tUnicode Symbols": PropTypes.string,
248- "#\tiOS Vulnerabilities": PropTypes.string,
249- "# Regional Indicator Symbols": PropTypes.string,
250- "# Regional Indicator Symbols can be displayed differently across": PropTypes.string,
251- "# IRC specific strings": PropTypes.string,
252- "# Strings that may occur on IRC clients that make security products freak out": PropTypes.string,
253- "# \"Byte order marks\", U+FEFF and U+FFFE, each on its own line.": PropTypes.string,
254- "# Commonly misinterpreted as additional graphic characters.": PropTypes.string,
255- "# Often forbidden to appear in various text-based file formats (e.g. XML),": PropTypes.string,
256- "# The next line may appear to be blank or mojibake in some viewers.": PropTypes.string,
257- "# The next line may appear to be blank, mojibake, or dingbats in some viewers.": PropTypes.string,
258- "# The next line may be flagged for \"trailing whitespace\" in some viewers.": PropTypes.string,
259- "# This file unfortunately cannot express strings containing": PropTypes.string,
260- "# appear in input.": PropTypes.string,
261- "# contexts. Divided into three groups based on (US-layout) keyboard position.": PropTypes.string,
262- "# general category Cf (in Unicode 8.0.0).": PropTypes.string,
263- "$(touch /tmp/blns.fail)": PropTypes.string,
264- "$1.00": PropTypes.string,
265- "' OR 1=1 -- 1": PropTypes.string,
266- "' autofocus onkeyup='javascript:alert(123)": PropTypes.string,
267- "'`\"><\\x00script>javascript:alert(1)</script>": PropTypes.string,
268- "'`\"><\\x3Cscript>javascript:alert(1)</script>": PropTypes.string,
269- "() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }": PropTypes.string,
270- "(。◕ ∀ ◕。)": PropTypes.string,
271- "+++ATH0": PropTypes.string,
272- "--><script>alert(123)</script>": PropTypes.string,
273- "--help": PropTypes.string,
274- "-2147483648/-1": PropTypes.string,
275- "/dev/null; touch /tmp/blns.fail ; echo": PropTypes.string,
276- "0.00": PropTypes.string,
277- "01000": PropTypes.string,
278- "08": PropTypes.string,
279- "09": PropTypes.string,
280- "0xffffffffffffffff": PropTypes.string,
281- "1 000 000,00": PropTypes.string,
282- "1 000.00": PropTypes.string,
283- "1#IND": PropTypes.string,
284- "1#INF": PropTypes.string,
285- "1'000.00": PropTypes.string,
286- "1'; DROP TABLE users-- 1": PropTypes.string,
287- "1,0/0,0": PropTypes.string,
288- "2.2250738585072011e-308": PropTypes.string,
289- "<<SCRIPT>alert(\"XSS\");//<</SCRIPT>": PropTypes.string,
290- "<IMG SRC= onmouseover=\"alert('xxs')\">": PropTypes.string,
291- "<IMG SRC=\" &#14; javascript:alert('XSS');\">": PropTypes.string,
292- "<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">": PropTypes.string,
293- "<IMG SRC=# onmouseover=\"alert('xxs')\">": PropTypes.string,
294- "<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>": PropTypes.string,
295- "<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>": PropTypes.string,
296- "<SCRIPT SRC=//ha.ckers.org/.j>": PropTypes.string,
297- "<a href=\"\\x02javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
298- "<a href=\"\\x04javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
299- "<a href=\"\\x0Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
300- "<a href=\"\\x0Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
301- "<a href=\"\\x0Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
302- "<a href=\"\\x0Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
303- "<a href=\"\\x16javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
304- "<a href=\"\\x19javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
305- "<a href=\"\\x1Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
306- "<a href=\"\\x1Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
307- "<a href=\"\\x1Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
308- "<a href=\"\\xE2\\x80\\x81javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
309- "<a href=\"\\xE2\\x80\\x82javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
310- "<a href=\"\\xE2\\x80\\xA9javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
311- "<a href=\"\\xE2\\x80\\xAFjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
312- "<a href=\"javascript\\x00:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
313- "<a href=\"javascript\\x0D:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
314- "<a href=http://foo.bar/#x=`y></a><img alt=\"`><img src=x:x onerror=javascript:alert(1)></a>\">": PropTypes.string,
315- "<foo val=”bar“ />": PropTypes.string,
316- "<iframe src=http://ha.ckers.org/scriptlet.html <": PropTypes.string,
317- "<img \\x00src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
318- "<img \\x11src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
319- "<img \\x12src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
320- "<img \\x47src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
321- "<img src=x onerror=\\x11\"javascript:alert(1)\">": PropTypes.string,
322- "<img src=x onerror=\\x12\"javascript:alert(1)\">": PropTypes.string,
323- "<img src\\x00=x onerror=\"javascript:alert(1)\">": PropTypes.string,
324- "<script src=\"\\\\%(jscript)s\"></script>": PropTypes.string,
325- "<script>alert(123)</script>": PropTypes.string,
326- "<script\\x0Atype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
327- "<script\\x0Dtype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
328- "><script>alert(123);</script x=": PropTypes.string,
329- "ABC<div style=\"x:\\x0Aexpression(javascript:alert(1)\">DEF": PropTypes.string,
330- "ABC<div style=\"x:\\x0Dexpression(javascript:alert(1)\">DEF": PropTypes.string,
331- "ABC<div style=\"x:\\xE2\\x80\\x82expression(javascript:alert(1)\">DEF": PropTypes.string,
332- "ABC<div style=\"x:\\xE2\\x80\\x83expression(javascript:alert(1)\">DEF": PropTypes.string,
333- "ABC<div style=\"x:\\xE2\\x80\\x85expression(javascript:alert(1)\">DEF": PropTypes.string,
334- "ABC<div style=\"x:\\xE2\\x80\\x87expression(javascript:alert(1)\">DEF": PropTypes.string,
335- "ABC<div style=\"x:\\xE2\\x80\\x8Aexpression(javascript:alert(1)\">DEF": PropTypes.string,
336- "ABC<div style=\"x:expression\\x5C(javascript:alert(1)\">DEF": PropTypes.string,
337- "But now...\u001b[20Cfor my greatest trick...\u001b[8m": PropTypes.string,
338- "COM1": PropTypes.string,
339- "COM3": PropTypes.string,
340- "CON": PropTypes.string,
341- "FALSE": PropTypes.string,
342- "File:///": PropTypes.string,
343- "If you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you.": PropTypes.string,
344- "Kernel.exec(\"ls -al /\")": PropTypes.string,
345- "Linda Callahan": PropTypes.string,
346- "NIL": PropTypes.string,
347- "NUL": PropTypes.string,
348- "Tyson Gay": PropTypes.string,
349- "__ロ(,_,*)": PropTypes.string,
350- "`\"'><img src=xxx:x \\x0Aonerror=javascript:alert(1)>": PropTypes.string,
351- "`\"'><img src=xxx:x \\x0Conerror=javascript:alert(1)>": PropTypes.string,
352- "`\"'><img src=xxx:x \\x0Donerror=javascript:alert(1)>": PropTypes.string,
353- "`touch /tmp/blns.fail`": PropTypes.string,
354- "basement": PropTypes.string,
355- "dontMakeAMap": PropTypes.bool,
356- "eval(\"puts 'hello world'\")": PropTypes.string,
357- "expression": PropTypes.string,
358- "http://a/%%30%30": PropTypes.string,
359- "null": PropTypes.string,
360- "åß∂ƒ©˙∆˚¬…æ": PropTypes.string,
361- "˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥": PropTypes.string,
362- "̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕": PropTypes.string,
363- "Ω≈ç√∫˜µ≤≥÷": PropTypes.string,
364- "Ṱ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣": PropTypes.string,
365- "⁰⁴⁵₀₁₂": PropTypes.string,
366- "❤️ \ud83d\udc94 \ud83d\udc8c \ud83d\udc95 \ud83d\udc9e \ud83d\udc93 \ud83d\udc97 \ud83d\udc96 \ud83d\udc98 \ud83d\udc9d \ud83d\udc9f \ud83d\udc9c \ud83d\udc9b \ud83d\udc9a \ud83d\udc99": PropTypes.string,
367- "ヽ༼ຈل͜ຈ༽ノ ヽ༼ຈل͜ຈ༽ノ": PropTypes.string,
368- "社會科學院語學研究所": PropTypes.string,
369- "部落格": PropTypes.string,
370- "사회과학원 어학연구소": PropTypes.string,
371- "찦차를 타고 온 펲시맨과 쑛다리 똠방각하": PropTypes.string,
372- "\ud835\udd4b\ud835\udd59\ud835\udd56 \ud835\udd62\ud835\udd66\ud835\udd5a\ud835\udd54\ud835\udd5c \ud835\udd53\ud835\udd63\ud835\udd60\ud835\udd68\ud835\udd5f \ud835\udd57\ud835\udd60\ud835\udd69 \ud835\udd5b\ud835\udd66\ud835\udd5e\ud835\udd61\ud835\udd64 \ud835\udd60\ud835\udd67\ud835\udd56\ud835\udd63 \ud835\udd65\ud835\udd59\ud835\udd56 \ud835\udd5d\ud835\udd52\ud835\udd6b\ud835\udd6a \ud835\udd55\ud835\udd60\ud835\udd58": PropTypes.string,
373- "\ud83d\ude0d": PropTypes.string,
374- "ﷺ": PropTypes.string,
375- "123": PropTypes.string,
217+ "\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f\u007f": PropTypes.string.isRequired,
218+ "\t\u000b\u000c \u0085             \u200b\u2028\u2029   ": PropTypes.string.isRequired,
219+ "\"": PropTypes.string.isRequired,
220+ "\" onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string.isRequired,
221+ "\"><script>alert(123)</script>": PropTypes.string.isRequired,
222+ "\"`'><script>\\x09javascript:alert(1)</script>": PropTypes.string.isRequired,
223+ "\"`'><script>\\x21javascript:alert(1)</script>": PropTypes.string.isRequired,
224+ "\"`'><script>\\x3Bjavascript:alert(1)</script>": PropTypes.string.isRequired,
225+ "\"`'><script>\\xE2\\x80\\x85javascript:alert(1)</script>": PropTypes.string.isRequired,
226+ "\"`'><script>\\xE2\\x80\\x87javascript:alert(1)</script>": PropTypes.string.isRequired,
227+ "\"`'><script>\\xE2\\x80\\x8Ajavascript:alert(1)</script>": PropTypes.string.isRequired,
228+ "\"`'><script>\\xE2\\x80\\xA8javascript:alert(1)</script>": PropTypes.string.isRequired,
229+ "\"`'><script>\\xE2\\x80\\xA9javascript:alert(1)</script>": PropTypes.string.isRequired,
230+ "\"`'><script>\\xE2\\x80\\xAFjavascript:alert(1)</script>": PropTypes.string.isRequired,
231+ "\"`'><script>\\xE3\\x80\\x80javascript:alert(1)</script>": PropTypes.string.isRequired,
232+ "#": PropTypes.string.isRequired,
233+ "#\tCredit: https://twitter.com/jifa/status/625776454479970304": PropTypes.string.isRequired,
234+ "#\tFile Inclusion": PropTypes.string.isRequired,
235+ "#\tJapanese Emoticons": PropTypes.string.isRequired,
236+ "#\tNumeric Strings": PropTypes.string.isRequired,
237+ "#\tQuotation Marks": PropTypes.string.isRequired,
238+ "#\tReserved Strings": PropTypes.string.isRequired,
239+ "#\tScunthorpe Problem": PropTypes.string.isRequired,
240+ "#\tStrings which are reserved characters in MSDOS/Windows": PropTypes.string.isRequired,
241+ "#\tStrings which attempt to invoke a benign script injection; shows vulnerability to XSS": PropTypes.string.isRequired,
242+ "#\tStrings which contain text that should be rendered RTL if possible (e.g. Arabic, Hebrew)": PropTypes.string.isRequired,
243+ "#\tStrings which contain two-byte characters: can cause rendering issues or character-length issues": PropTypes.string.isRequired,
244+ "#\tStrings which contain unicode numbers; if the code is localized, it should see the input as numeric": PropTypes.string.isRequired,
245+ "#\tStrings which may be used elsewhere in code": PropTypes.string.isRequired,
246+ "#\tTerminal escape codes": PropTypes.string.isRequired,
247+ "#\tUnicode Symbols": PropTypes.string.isRequired,
248+ "#\tiOS Vulnerabilities": PropTypes.string.isRequired,
249+ "# Regional Indicator Symbols": PropTypes.string.isRequired,
250+ "# Regional Indicator Symbols can be displayed differently across": PropTypes.string.isRequired,
251+ "# IRC specific strings": PropTypes.string.isRequired,
252+ "# Strings that may occur on IRC clients that make security products freak out": PropTypes.string.isRequired,
253+ "# \"Byte order marks\", U+FEFF and U+FFFE, each on its own line.": PropTypes.string.isRequired,
254+ "# Commonly misinterpreted as additional graphic characters.": PropTypes.string.isRequired,
255+ "# Often forbidden to appear in various text-based file formats (e.g. XML),": PropTypes.string.isRequired,
256+ "# The next line may appear to be blank or mojibake in some viewers.": PropTypes.string.isRequired,
257+ "# The next line may appear to be blank, mojibake, or dingbats in some viewers.": PropTypes.string.isRequired,
258+ "# The next line may be flagged for \"trailing whitespace\" in some viewers.": PropTypes.string.isRequired,
259+ "# This file unfortunately cannot express strings containing": PropTypes.string.isRequired,
260+ "# appear in input.": PropTypes.string.isRequired,
261+ "# contexts. Divided into three groups based on (US-layout) keyboard position.": PropTypes.string.isRequired,
262+ "# general category Cf (in Unicode 8.0.0).": PropTypes.string.isRequired,
263+ "$(touch /tmp/blns.fail)": PropTypes.string.isRequired,
264+ "$1.00": PropTypes.string.isRequired,
265+ "' OR 1=1 -- 1": PropTypes.string.isRequired,
266+ "' autofocus onkeyup='javascript:alert(123)": PropTypes.string.isRequired,
267+ "'`\"><\\x00script>javascript:alert(1)</script>": PropTypes.string.isRequired,
268+ "'`\"><\\x3Cscript>javascript:alert(1)</script>": PropTypes.string.isRequired,
269+ "() { _; } >_[$($())] { touch /tmp/blns.shellshock2.fail; }": PropTypes.string.isRequired,
270+ "(。◕ ∀ ◕。)": PropTypes.string.isRequired,
271+ "+++ATH0": PropTypes.string.isRequired,
272+ "--><script>alert(123)</script>": PropTypes.string.isRequired,
273+ "--help": PropTypes.string.isRequired,
274+ "-2147483648/-1": PropTypes.string.isRequired,
275+ "/dev/null; touch /tmp/blns.fail ; echo": PropTypes.string.isRequired,
276+ "0.00": PropTypes.string.isRequired,
277+ "01000": PropTypes.string.isRequired,
278+ "08": PropTypes.string.isRequired,
279+ "09": PropTypes.string.isRequired,
280+ "0xffffffffffffffff": PropTypes.string.isRequired,
281+ "1 000 000,00": PropTypes.string.isRequired,
282+ "1 000.00": PropTypes.string.isRequired,
283+ "1#IND": PropTypes.string.isRequired,
284+ "1#INF": PropTypes.string.isRequired,
285+ "1'000.00": PropTypes.string.isRequired,
286+ "1'; DROP TABLE users-- 1": PropTypes.string.isRequired,
287+ "1,0/0,0": PropTypes.string.isRequired,
288+ "2.2250738585072011e-308": PropTypes.string.isRequired,
289+ "<<SCRIPT>alert(\"XSS\");//<</SCRIPT>": PropTypes.string.isRequired,
290+ "<IMG SRC= onmouseover=\"alert('xxs')\">": PropTypes.string.isRequired,
291+ "<IMG SRC=\" &#14; javascript:alert('XSS');\">": PropTypes.string.isRequired,
292+ "<IMG SRC=\"jav&#x09;ascript:alert('XSS');\">": PropTypes.string.isRequired,
293+ "<IMG SRC=# onmouseover=\"alert('xxs')\">": PropTypes.string.isRequired,
294+ "<IMG SRC=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>": PropTypes.string.isRequired,
295+ "<IMG SRC=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>": PropTypes.string.isRequired,
296+ "<SCRIPT SRC=//ha.ckers.org/.j>": PropTypes.string.isRequired,
297+ "<a href=\"\\x02javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
298+ "<a href=\"\\x04javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
299+ "<a href=\"\\x0Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
300+ "<a href=\"\\x0Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
301+ "<a href=\"\\x0Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
302+ "<a href=\"\\x0Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
303+ "<a href=\"\\x16javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
304+ "<a href=\"\\x19javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
305+ "<a href=\"\\x1Ajavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
306+ "<a href=\"\\x1Djavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
307+ "<a href=\"\\x1Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
308+ "<a href=\"\\xE2\\x80\\x81javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
309+ "<a href=\"\\xE2\\x80\\x82javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
310+ "<a href=\"\\xE2\\x80\\xA9javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
311+ "<a href=\"\\xE2\\x80\\xAFjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
312+ "<a href=\"javascript\\x00:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
313+ "<a href=\"javascript\\x0D:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
314+ "<a href=http://foo.bar/#x=`y></a><img alt=\"`><img src=x:x onerror=javascript:alert(1)></a>\">": PropTypes.string.isRequired,
315+ "<foo val=”bar“ />": PropTypes.string.isRequired,
316+ "<iframe src=http://ha.ckers.org/scriptlet.html <": PropTypes.string.isRequired,
317+ "<img \\x00src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
318+ "<img \\x11src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
319+ "<img \\x12src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
320+ "<img \\x47src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
321+ "<img src=x onerror=\\x11\"javascript:alert(1)\">": PropTypes.string.isRequired,
322+ "<img src=x onerror=\\x12\"javascript:alert(1)\">": PropTypes.string.isRequired,
323+ "<img src\\x00=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
324+ "<script src=\"\\\\%(jscript)s\"></script>": PropTypes.string.isRequired,
325+ "<script>alert(123)</script>": PropTypes.string.isRequired,
326+ "<script\\x0Atype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
327+ "<script\\x0Dtype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
328+ "><script>alert(123);</script x=": PropTypes.string.isRequired,
329+ "ABC<div style=\"x:\\x0Aexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
330+ "ABC<div style=\"x:\\x0Dexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
331+ "ABC<div style=\"x:\\xE2\\x80\\x82expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
332+ "ABC<div style=\"x:\\xE2\\x80\\x83expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
333+ "ABC<div style=\"x:\\xE2\\x80\\x85expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
334+ "ABC<div style=\"x:\\xE2\\x80\\x87expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
335+ "ABC<div style=\"x:\\xE2\\x80\\x8Aexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
336+ "ABC<div style=\"x:expression\\x5C(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
337+ "But now...\u001b[20Cfor my greatest trick...\u001b[8m": PropTypes.string.isRequired,
338+ "COM1": PropTypes.string.isRequired,
339+ "COM3": PropTypes.string.isRequired,
340+ "CON": PropTypes.string.isRequired,
341+ "FALSE": PropTypes.string.isRequired,
342+ "File:///": PropTypes.string.isRequired,
343+ "If you're reading this, you've been in a coma for almost 20 years now. We're trying a new technique. We don't know where this message will end up in your dream, but we hope it works. Please wake up, we miss you.": PropTypes.string.isRequired,
344+ "Kernel.exec(\"ls -al /\")": PropTypes.string.isRequired,
345+ "Linda Callahan": PropTypes.string.isRequired,
346+ "NIL": PropTypes.string.isRequired,
347+ "NUL": PropTypes.string.isRequired,
348+ "Tyson Gay": PropTypes.string.isRequired,
349+ "__ロ(,_,*)": PropTypes.string.isRequired,
350+ "`\"'><img src=xxx:x \\x0Aonerror=javascript:alert(1)>": PropTypes.string.isRequired,
351+ "`\"'><img src=xxx:x \\x0Conerror=javascript:alert(1)>": PropTypes.string.isRequired,
352+ "`\"'><img src=xxx:x \\x0Donerror=javascript:alert(1)>": PropTypes.string.isRequired,
353+ "`touch /tmp/blns.fail`": PropTypes.string.isRequired,
354+ "basement": PropTypes.string.isRequired,
355+ "dontMakeAMap": PropTypes.bool.isRequired,
356+ "eval(\"puts 'hello world'\")": PropTypes.string.isRequired,
357+ "expression": PropTypes.string.isRequired,
358+ "http://a/%%30%30": PropTypes.string.isRequired,
359+ "null": PropTypes.string.isRequired,
360+ "åß∂ƒ©˙∆˚¬…æ": PropTypes.string.isRequired,
361+ "˙ɐnbᴉlɐ ɐuƃɐɯ ǝɹolop ʇǝ ǝɹoqɐl ʇn ʇunpᴉpᴉɔuᴉ ɹodɯǝʇ poɯsnᴉǝ op pǝs 'ʇᴉlǝ ƃuᴉɔsᴉdᴉpɐ ɹnʇǝʇɔǝsuoɔ 'ʇǝɯɐ ʇᴉs ɹolop ɯnsdᴉ ɯǝɹo˥": PropTypes.string.isRequired,
362+ "̦H̬̤̗̤͝e͜ ̜̥̝̻͍̟́w̕h̖̯͓o̝͙̖͎̱̮ ҉̺̙̞̟͈W̷̼̭a̺̪͍į͈͕̭͙̯̜t̶̼̮s̘͙͖̕ ̠̫̠B̻͍͙͉̳ͅe̵h̵̬͇̫͙i̹͓̳̳̮͎̫̕n͟d̴̪̜̖ ̰͉̩͇͙̲͞ͅT͖̼͓̪͢h͏͓̮̻e̬̝̟ͅ ̤̹̝W͙̞̝͔͇͝ͅa͏͓͔̹̼̣l̴͔̰̤̟͔ḽ̫.͕": PropTypes.string.isRequired,
363+ "Ω≈ç√∫˜µ≤≥÷": PropTypes.string.isRequired,
364+ "Ṱ̺̺̕o͞ ̷i̲̬͇̪͙n̝̗͕v̟̜̘̦͟o̶̙̰̠kè͚̮̺̪̹̱̤ ̖t̝͕̳̣̻̪͞h̼͓̲̦̳̘̲e͇̣̰̦̬͎ ̢̼̻̱̘h͚͎͙̜̣̲ͅi̦̲̣̰̤v̻͍e̺̭̳̪̰-m̢iͅn̖̺̞̲̯̰d̵̼̟͙̩̼̘̳ ̞̥̱̳̭r̛̗̘e͙p͠r̼̞̻̭̗e̺̠̣͟s̘͇̳͍̝͉e͉̥̯̞̲͚̬͜ǹ̬͎͎̟̖͇̤t͍̬̤͓̼̭͘ͅi̪̱n͠g̴͉ ͏͉ͅc̬̟h͡a̫̻̯͘o̫̟̖͍̙̝͉s̗̦̲.̨̹͈̣": PropTypes.string.isRequired,
365+ "⁰⁴⁵₀₁₂": PropTypes.string.isRequired,
366+ "❤️ \ud83d\udc94 \ud83d\udc8c \ud83d\udc95 \ud83d\udc9e \ud83d\udc93 \ud83d\udc97 \ud83d\udc96 \ud83d\udc98 \ud83d\udc9d \ud83d\udc9f \ud83d\udc9c \ud83d\udc9b \ud83d\udc9a \ud83d\udc99": PropTypes.string.isRequired,
367+ "ヽ༼ຈل͜ຈ༽ノ ヽ༼ຈل͜ຈ༽ノ": PropTypes.string.isRequired,
368+ "社會科學院語學研究所": PropTypes.string.isRequired,
369+ "部落格": PropTypes.string.isRequired,
370+ "사회과학원 어학연구소": PropTypes.string.isRequired,
371+ "찦차를 타고 온 펲시맨과 쑛다리 똠방각하": PropTypes.string.isRequired,
372+ "\ud835\udd4b\ud835\udd59\ud835\udd56 \ud835\udd62\ud835\udd66\ud835\udd5a\ud835\udd54\ud835\udd5c \ud835\udd53\ud835\udd63\ud835\udd60\ud835\udd68\ud835\udd5f \ud835\udd57\ud835\udd60\ud835\udd69 \ud835\udd5b\ud835\udd66\ud835\udd5e\ud835\udd61\ud835\udd64 \ud835\udd60\ud835\udd67\ud835\udd56\ud835\udd63 \ud835\udd65\ud835\udd59\ud835\udd56 \ud835\udd5d\ud835\udd52\ud835\udd6b\ud835\udd6a \ud835\udd55\ud835\udd60\ud835\udd58": PropTypes.string.isRequired,
373+ "\ud83d\ude0d": PropTypes.string.isRequired,
374+ "ﷺ": PropTypes.string.isRequired,
375+ "123": PropTypes.string.isRequired,
376376 });
377377 _A = PropTypes.shape({
378- " ": PropTypes.string,
379- " onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string,
380- "!@#$%^&*()`~": PropTypes.string,
381- "\" autofocus onkeyup=\"javascript:alert(123)": PropTypes.string,
382- "\";alert(123);t=\"": PropTypes.string,
383- "\"><script>alert(123);</script x=\"": PropTypes.string,
384- "\"`'><script>\\x00javascript:alert(1)</script>": PropTypes.string,
385- "\"`'><script>\\x0Cjavascript:alert(1)</script>": PropTypes.string,
386- "\"`'><script>\\x0Djavascript:alert(1)</script>": PropTypes.string,
387- "\"`'><script>\\xC2\\x85javascript:alert(1)</script>": PropTypes.string,
388- "\"`'><script>\\xC2\\xA0javascript:alert(1)</script>": PropTypes.string,
389- "\"`'><script>\\xE1\\x9A\\x80javascript:alert(1)</script>": PropTypes.string,
390- "\"`'><script>\\xE1\\xA0\\x8Ejavascript:alert(1)</script>": PropTypes.string,
391- "\"`'><script>\\xE2\\x80\\x81javascript:alert(1)</script>": PropTypes.string,
392- "\"`'><script>\\xE2\\x80\\x86javascript:alert(1)</script>": PropTypes.string,
393- "\"`'><script>\\xE2\\x80\\x89javascript:alert(1)</script>": PropTypes.string,
394- "\"`'><script>\\xE2\\x81\\x9Fjavascript:alert(1)</script>": PropTypes.string,
395- "\"`'><script>\\xEF\\xBB\\xBFjavascript:alert(1)</script>": PropTypes.string,
396- "\"`'><script>\\xF0\\x90\\x96\\x9Ajavascript:alert(1)</script>": PropTypes.string,
397- "#\tChanging length when lowercased": PropTypes.string,
398- "#\tCharacters which increase in length (2 to 3 bytes) when lowercased": PropTypes.string,
399- "#\tCommand Injection (Ruby)": PropTypes.string,
400- "#\tHuman injection": PropTypes.string,
401- "#\tInnocuous strings which may be blocked by profanity filters (https://en.wikipedia.org/wiki/Scunthorpe_problem)": PropTypes.string,
402- "#\tKnown CVEs and Vulnerabilities": PropTypes.string,
403- "#\tMSDOS/Windows Special Filenames": PropTypes.string,
404- "#\tSQL Injection": PropTypes.string,
405- "#\tScript Injection": PropTypes.string,
406- "#\tString which can reveal system files when parsed by a badly configured XML parser": PropTypes.string,
407- "#\tStrings that test for known vulnerabilities": PropTypes.string,
408- "#\tStrings which can be accidentally expanded into different strings if evaluated in the wrong context, e.g. used as a printf format string or via Perl or shell eval. Might expose sensitive data from the program doing the interpolation, or might just represent the wrong string.": PropTypes.string,
409- "#\tStrings which can call system commands within Ruby/Rails applications": PropTypes.string,
410- "#\tStrings which consists of Japanese-style emoticons which are popular on the web": PropTypes.string,
411- "#\tStrings which contain Emoji; should be the same behavior as two-byte characters, but not always": PropTypes.string,
412- "#\tStrings which contain bold/italic/etc. versions of normal characters": PropTypes.string,
413- "#\tStrings which contain common unicode symbols (e.g. smart quotes)": PropTypes.string,
414- "#\tStrings which contain misplaced quotation marks; can cause encoding errors": PropTypes.string,
415- "#\tStrings which contain unicode subscripts/superscripts; can cause rendering issues": PropTypes.string,
416- "#\tStrings which crashed iMessage in various versions of iOS": PropTypes.string,
417- "#\tStrings which may cause human to reinterpret worldview": PropTypes.string,
418- "#\tTwo-Byte Characters": PropTypes.string,
419- "#\tUnicode Numbers": PropTypes.string,
420- "#\tUnicode font": PropTypes.string,
421- "#\tUnwanted Interpolation": PropTypes.string,
422- "# fonts, and have a number of special behaviors": PropTypes.string,
423- "# Non-whitespace C1 controls: U+0080 through U+0084 and U+0086 through U+009F.": PropTypes.string,
424- "# The next two lines may appear to be blank or mojibake in some viewers.": PropTypes.string,
425- "# U+0000, U+000A, or U+000D (NUL, LF, CR).": PropTypes.string,
426- "# and U+200B (ZERO WIDTH SPACE), which are in the C categories but are often": PropTypes.string,
427- "$ENV{'HOME'}": PropTypes.string,
428- "$HOME": PropTypes.string,
429- "%d": PropTypes.string,
430- "%s": PropTypes.string,
431- "%x('ls -al /')": PropTypes.string,
432- "'": PropTypes.string,
433- "' OR '1'='1": PropTypes.string,
434- "'\"'": PropTypes.string,
435- "';alert(123);t='": PropTypes.string,
436- "( ͡° ͜ʖ ͡°)": PropTypes.string,
437- "(null)": PropTypes.string,
438- "(╯°□°)╯︵ ┻━┻)": PropTypes.string,
439- "+0": PropTypes.string,
440- ",": PropTypes.string,
441- ",./;'[]\\-=": PropTypes.string,
442- "-,": PropTypes.string,
443- "-.": PropTypes.string,
444- "-0": PropTypes.string,
445- "-1": PropTypes.string,
446- "-1E02": PropTypes.string,
447- "-Infinity": PropTypes.string,
448- "../../../../../../../../../../../etc/hosts": PropTypes.string,
449- "../../../../../../../../../../../etc/passwd%00": PropTypes.string,
450- "0": PropTypes.string,
451- "0,0,0": PropTypes.string,
452- "0,0/0,0": PropTypes.string,
453- "0,00": PropTypes.string,
454- "0..0": PropTypes.string,
455- "0.0/0.0": PropTypes.string,
456- "00˙Ɩ$-": PropTypes.string,
457- "0x0": PropTypes.string,
458- "1": PropTypes.string,
459- "1 000 000.00": PropTypes.string,
460- "1#QNAN": PropTypes.string,
461- "1#SNAN": PropTypes.string,
462- "1'000'000.00": PropTypes.string,
463- "1'000,00": PropTypes.string,
464- "1.0/0.0": PropTypes.string,
465- "1.00": PropTypes.string,
466- "1/0": PropTypes.string,
467- "1/2": PropTypes.string,
468- "123456789012345678901234567890123456789": PropTypes.string,
469- "1;DROP TABLE users": PropTypes.string,
470- "1E02": PropTypes.string,
471- "1E2": PropTypes.string,
472- "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999": PropTypes.string,
473- ";alert(123);": PropTypes.string,
474- "<!--[if<img src=x onerror=javascript:alert(1)//]> -->": PropTypes.string,
475- "<!--[if]><script>javascript:alert(1)</script -->": PropTypes.string,
476- "</script><script>alert(123)</script>": PropTypes.string,
477- "</textarea><script>alert(123)</script>": PropTypes.string,
478- "<<< %s(un='%s') = %u": PropTypes.string,
479- "<>?:\"{}|_+": PropTypes.string,
480- "<IMG SRC=\"jav ascript:alert('XSS');\">": PropTypes.string,
481- "<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">": PropTypes.string,
482- "<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">": PropTypes.string,
483- "<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>": PropTypes.string,
484- "<SCRIPT SRC=http://ha.ckers.org/xss.js?< B >": PropTypes.string,
485- "<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": PropTypes.string,
486- "<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": PropTypes.string,
487- "<a href=\"\\x01javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
488- "<a href=\"\\x05javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
489- "<a href=\"\\x08javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
490- "<a href=\"\\x09javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
491- "<a href=\"\\x0Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
492- "<a href=\"\\x10javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
493- "<a href=\"\\x11javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
494- "<a href=\"\\x13javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
495- "<a href=\"\\x17javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
496- "<a href=\"\\x1Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
497- "<a href=\"\\xC2\\xA0javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
498- "<a href=\"\\xE1\\x9A\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
499- "<a href=\"\\xE1\\xA0\\x8Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
500- "<a href=\"\\xE2\\x80\\x83javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
501- "<a href=\"\\xE2\\x80\\x84javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
502- "<a href=\"\\xE2\\x80\\x86javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
503- "<a href=\"\\xE2\\x80\\x87javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
504- "<a href=\"\\xE2\\x80\\xA8javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
505- "<a href=\"javascript\\x09:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
506- "<a href=\"javascript\\x0A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
507- "<a href=\"javascript\\x3A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string,
508- "<a href=java&#1&#2&#3&#4&#5&#6&#7&#8&#11&#12script:javascript:alert(1)>XXX</a>": PropTypes.string,
509- "<foo val=`bar' />": PropTypes.string,
510- "<img \\x00src=x onerror=\"alert(1)\">": PropTypes.string,
511- "<img \\x39src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
512- "<img src=x onerror=\\x00\"javascript:alert(1)\">": PropTypes.string,
513- "<img src=x onerror=\\x09\"javascript:alert(1)\">": PropTypes.string,
514- "<img src=x\\x09onerror=\"javascript:alert(1)\">": PropTypes.string,
515- "<img src=x\\x10onerror=\"javascript:alert(1)\">": PropTypes.string,
516- "<img src=x\\x11onerror=\"javascript:alert(1)\">": PropTypes.string,
517- "<img src=x\\x12onerror=\"javascript:alert(1)\">": PropTypes.string,
518- "<img src=x\\x13onerror=\"javascript:alert(1)\">": PropTypes.string,
519- "<img src\\x09=x onerror=\"javascript:alert(1)\">": PropTypes.string,
520- "<img src\\x11=x onerror=\"javascript:alert(1)\">": PropTypes.string,
521- "<img\\x10src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
522- "<img\\x13src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
523- "<img\\x32src=x onerror=\"javascript:alert(1)\">": PropTypes.string,
524- "<sc<script>ript>alert(123)</sc</script>ript>": PropTypes.string,
525- "<script\\x09type=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
526- "<script\\x20type=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
527- "<script\\x3Etype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string,
528- "<u oncopy=alert()> Copy me</u>": PropTypes.string,
529- "ABC<div style=\"x:\\x09expression(javascript:alert(1)\">DEF": PropTypes.string,
530- "ABC<div style=\"x:\\x0Bexpression(javascript:alert(1)\">DEF": PropTypes.string,
531- "ABC<div style=\"x:\\x20expression(javascript:alert(1)\">DEF": PropTypes.string,
532- "ABC<div style=\"x:\\xC2\\xA0expression(javascript:alert(1)\">DEF": PropTypes.string,
533- "ABC<div style=\"x:\\xE2\\x80\\x80expression(javascript:alert(1)\">DEF": PropTypes.string,
534- "ABC<div style=\"x:\\xE2\\x80\\x84expression(javascript:alert(1)\">DEF": PropTypes.string,
535- "ABC<div style=\"x:\\xE2\\x80\\x89expression(javascript:alert(1)\">DEF": PropTypes.string,
536- "ABC<div style=\"x:\\xE2\\x80\\x8Bexpression(javascript:alert(1)\">DEF": PropTypes.string,
537- "ABC<div style=\"x:exp\\x00ression(javascript:alert(1)\">DEF": PropTypes.string,
538- "ABC<div style=\"x:exp\\x5Cression(javascript:alert(1)\">DEF": PropTypes.string,
539- "ABC<div style=\"x\\x3Aexpression(javascript:alert(1)\">DEF": PropTypes.string,
540- "AUX": PropTypes.string,
541- "Arsenal canal": PropTypes.string,
542- "Dick Van Dyke": PropTypes.string,
543- "Dr. Herman I. Libshitz": PropTypes.string,
544- "False": PropTypes.string,
545- "INF": PropTypes.string,
546- "Jimmy Clitheroe": PropTypes.string,
547- "Kernel.exit(1)": PropTypes.string,
548- "LPT2": PropTypes.string,
549- "LPT3": PropTypes.string,
550- "Lightwater Country Park": PropTypes.string,
551- "None": PropTypes.string,
552- "PRN": PropTypes.string,
553- "Penistone Community Church": PropTypes.string,
554- "RomansInSussex.co.uk": PropTypes.string,
555- "Super Bowl XXX": PropTypes.string,
556- "TRUE": PropTypes.string,
557- "The quic\u0008\u0008\u0008\u0008\u0008\u0008k brown fo\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007x... [Beeeep]": PropTypes.string,
558- "True": PropTypes.string,
559- "Z̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮": PropTypes.string,
560- "\\": PropTypes.string,
561- "\\\";alert('XSS');//": PropTypes.string,
562- "`\"'><img src=xxx:x \\x00onerror=javascript:alert(1)>": PropTypes.string,
563- "`\"'><img src=xxx:x \\x0Bonerror=javascript:alert(1)>": PropTypes.string,
564- "`\"'><img src=xxx:x \\x2Fonerror=javascript:alert(1)>": PropTypes.string,
565- "`ls -al /`": PropTypes.string,
566- "`⁄€‹›fifl‡°·‚—±": PropTypes.string,
567- "classic": PropTypes.string,
568- "dontMakeAMap": PropTypes.bool,
569- "false": PropTypes.string,
570- "nil": PropTypes.string,
571- "perl -e 'print \"<IMG SRC=java\\0script:alert(\\\"XSS\\\")>\";' > out": PropTypes.string,
572- "undef": PropTypes.string,
573- "{0}": PropTypes.string,
574- "\u0080\u0081\u0082\u0083\u0084\u0086\u0087\u0088\u0089\u008a\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009a\u009b\u009c\u009d\u009e\u009f": PropTypes.string,
575- "¡™£¢∞§¶•ªº–≠": PropTypes.string,
576- "\u00ad\u0600\u0601\u0602\u0603\u0604\u0605\u061c\u06dd\u070f\u180e\u200b\u200c\u200d\u200e\u200f\u202a\u202b\u202c\u202d\u202e\u2060\u2061\u2062\u2063\u2064\u2066\u2067\u2068\u2069\u206a\u206b\u206c\u206d\u206e\u206f\ufeff\ufff9\ufffa\ufffb\ud804\udcbd\ud82f\udca0\ud82f\udca1\ud82f\udca2\ud82f\udca3\ud834\udd73\ud834\udd74\ud834\udd75\ud834\udd76\ud834\udd77\ud834\udd78\ud834\udd79\ud834\udd7a\udb40\udc01\udb40\udc20\udb40\udc21\udb40\udc22\udb40\udc23\udb40\udc24\udb40\udc25\udb40\udc26\udb40\udc27\udb40\udc28\udb40\udc29\udb40\udc2a\udb40\udc2b\udb40\udc2c\udb40\udc2d\udb40\udc2e\udb40\udc2f\udb40\udc30\udb40\udc31\udb40\udc32\udb40\udc33\udb40\udc34\udb40\udc35\udb40\udc36\udb40\udc37\udb40\udc38\udb40\udc39\udb40\udc3a\udb40\udc3b\udb40\udc3c\udb40\udc3d\udb40\udc3e\udb40\udc3f\udb40\udc40\udb40\udc41\udb40\udc42\udb40\udc43\udb40\udc44\udb40\udc45\udb40\udc46\udb40\udc47\udb40\udc48\udb40\udc49\udb40\udc4a\udb40\udc4b\udb40\udc4c\udb40\udc4d\udb40\udc4e\udb40\udc4f\udb40\udc50\udb40\udc51\udb40\udc52\udb40\udc53\udb40\udc54\udb40\udc55\udb40\udc56\udb40\udc57\udb40\udc58\udb40\udc59\udb40\udc5a\udb40\udc5b\udb40\udc5c\udb40\udc5d\udb40\udc5e\udb40\udc5f\udb40\udc60\udb40\udc61\udb40\udc62\udb40\udc63\udb40\udc64\udb40\udc65\udb40\udc66\udb40\udc67\udb40\udc68\udb40\udc69\udb40\udc6a\udb40\udc6b\udb40\udc6c\udb40\udc6d\udb40\udc6e\udb40\udc6f\udb40\udc70\udb40\udc71\udb40\udc72\udb40\udc73\udb40\udc74\udb40\udc75\udb40\udc76\udb40\udc77\udb40\udc78\udb40\udc79\udb40\udc7a\udb40\udc7b\udb40\udc7c\udb40\udc7d\udb40\udc7e\udb40\udc7f": PropTypes.string,
577- "¸˛Ç◊ı˜Â¯˘¿": PropTypes.string,
578- "Œ„´‰ˇÁ¨ˆØ∏”’": PropTypes.string,
579- "œ∑´®†¥¨ˆøπ“‘": PropTypes.string,
580- "Ⱥ": PropTypes.string,
581- "Ⱦ": PropTypes.string,
582- "̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰": PropTypes.string,
583- "הָיְתָהtestالصفحات التّحول": PropTypes.string,
584- "ثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو.": PropTypes.string,
585- "٠١٢٣٤٥٦٧٨٩": PropTypes.string,
586- "ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็": PropTypes.string,
587- "\u202a\u202atest\u202a": PropTypes.string,
588- "\u202btest\u202b": PropTypes.string,
589- "\u2066test\u2067": PropTypes.string,
590- "₀₁₂": PropTypes.string,
591- "⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢": PropTypes.string,
592- "パーティーへ行かないか": PropTypes.string,
593- "和製漢語": PropTypes.string,
594- "田中さんにあげて下さい": PropTypes.string,
595- "\ud835\udc7b\ud835\udc89\ud835\udc86 \ud835\udc92\ud835\udc96\ud835\udc8a\ud835\udc84\ud835\udc8c \ud835\udc83\ud835\udc93\ud835\udc90\ud835\udc98\ud835\udc8f \ud835\udc87\ud835\udc90\ud835\udc99 \ud835\udc8b\ud835\udc96\ud835\udc8e\ud835\udc91\ud835\udc94 \ud835\udc90\ud835\udc97\ud835\udc86\ud835\udc93 \ud835\udc95\ud835\udc89\ud835\udc86 \ud835\udc8d\ud835\udc82\ud835\udc9b\ud835\udc9a \ud835\udc85\ud835\udc90\ud835\udc88": PropTypes.string,
596- "\ud835\udce3\ud835\udcf1\ud835\udcee \ud835\udcfa\ud835\udcfe\ud835\udcf2\ud835\udcec\ud835\udcf4 \ud835\udceb\ud835\udcfb\ud835\udcf8\ud835\udd00\ud835\udcf7 \ud835\udcef\ud835\udcf8\ud835\udd01 \ud835\udcf3\ud835\udcfe\ud835\udcf6\ud835\udcf9\ud835\udcfc \ud835\udcf8\ud835\udcff\ud835\udcee\ud835\udcfb \ud835\udcfd\ud835\udcf1\ud835\udcee \ud835\udcf5\ud835\udcea\ud835\udd03\ud835\udd02 \ud835\udced\ud835\udcf8\ud835\udcf0": PropTypes.string,
597- "\ud835\udd7f\ud835\udd8d\ud835\udd8a \ud835\udd96\ud835\udd9a\ud835\udd8e\ud835\udd88\ud835\udd90 \ud835\udd87\ud835\udd97\ud835\udd94\ud835\udd9c\ud835\udd93 \ud835\udd8b\ud835\udd94\ud835\udd9d \ud835\udd8f\ud835\udd9a\ud835\udd92\ud835\udd95\ud835\udd98 \ud835\udd94\ud835\udd9b\ud835\udd8a\ud835\udd97 \ud835\udd99\ud835\udd8d\ud835\udd8a \ud835\udd91\ud835\udd86\ud835\udd9f\ud835\udd9e \ud835\udd89\ud835\udd94\ud835\udd8c": PropTypes.string,
598- "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8 \ud83c\udde6\ud83c\uddeb\ud83c\udde6\ud83c\uddf2\ud83c\uddf8": PropTypes.string,
599- "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8\ud83c\udde6": PropTypes.string,
600- "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8\ud83c\udde6\ud83c\uddeb\ud83c\udde6\ud83c\uddf2": PropTypes.string,
601- "\ud83d\udc69\ud83c\udffd": PropTypes.string,
602- "\ud83d\udebe \ud83c\udd92 \ud83c\udd93 \ud83c\udd95 \ud83c\udd96 \ud83c\udd97 \ud83c\udd99 \ud83c\udfe7": PropTypes.string,
603- "﷽": PropTypes.string,
604- "\ufeff": PropTypes.string,
605- "`ィ(´∀`∩": PropTypes.string,
606- "゚・✿ヾ╲(。◕‿◕。)╱✿・゚": PropTypes.string,
607- "\ufffe": PropTypes.string,
378+ " ": PropTypes.string.isRequired,
379+ " onfocus=JaVaSCript:alert(123) autofocus": PropTypes.string.isRequired,
380+ "!@#$%^&*()`~": PropTypes.string.isRequired,
381+ "\" autofocus onkeyup=\"javascript:alert(123)": PropTypes.string.isRequired,
382+ "\";alert(123);t=\"": PropTypes.string.isRequired,
383+ "\"><script>alert(123);</script x=\"": PropTypes.string.isRequired,
384+ "\"`'><script>\\x00javascript:alert(1)</script>": PropTypes.string.isRequired,
385+ "\"`'><script>\\x0Cjavascript:alert(1)</script>": PropTypes.string.isRequired,
386+ "\"`'><script>\\x0Djavascript:alert(1)</script>": PropTypes.string.isRequired,
387+ "\"`'><script>\\xC2\\x85javascript:alert(1)</script>": PropTypes.string.isRequired,
388+ "\"`'><script>\\xC2\\xA0javascript:alert(1)</script>": PropTypes.string.isRequired,
389+ "\"`'><script>\\xE1\\x9A\\x80javascript:alert(1)</script>": PropTypes.string.isRequired,
390+ "\"`'><script>\\xE1\\xA0\\x8Ejavascript:alert(1)</script>": PropTypes.string.isRequired,
391+ "\"`'><script>\\xE2\\x80\\x81javascript:alert(1)</script>": PropTypes.string.isRequired,
392+ "\"`'><script>\\xE2\\x80\\x86javascript:alert(1)</script>": PropTypes.string.isRequired,
393+ "\"`'><script>\\xE2\\x80\\x89javascript:alert(1)</script>": PropTypes.string.isRequired,
394+ "\"`'><script>\\xE2\\x81\\x9Fjavascript:alert(1)</script>": PropTypes.string.isRequired,
395+ "\"`'><script>\\xEF\\xBB\\xBFjavascript:alert(1)</script>": PropTypes.string.isRequired,
396+ "\"`'><script>\\xF0\\x90\\x96\\x9Ajavascript:alert(1)</script>": PropTypes.string.isRequired,
397+ "#\tChanging length when lowercased": PropTypes.string.isRequired,
398+ "#\tCharacters which increase in length (2 to 3 bytes) when lowercased": PropTypes.string.isRequired,
399+ "#\tCommand Injection (Ruby)": PropTypes.string.isRequired,
400+ "#\tHuman injection": PropTypes.string.isRequired,
401+ "#\tInnocuous strings which may be blocked by profanity filters (https://en.wikipedia.org/wiki/Scunthorpe_problem)": PropTypes.string.isRequired,
402+ "#\tKnown CVEs and Vulnerabilities": PropTypes.string.isRequired,
403+ "#\tMSDOS/Windows Special Filenames": PropTypes.string.isRequired,
404+ "#\tSQL Injection": PropTypes.string.isRequired,
405+ "#\tScript Injection": PropTypes.string.isRequired,
406+ "#\tString which can reveal system files when parsed by a badly configured XML parser": PropTypes.string.isRequired,
407+ "#\tStrings that test for known vulnerabilities": PropTypes.string.isRequired,
408+ "#\tStrings which can be accidentally expanded into different strings if evaluated in the wrong context, e.g. used as a printf format string or via Perl or shell eval. Might expose sensitive data from the program doing the interpolation, or might just represent the wrong string.": PropTypes.string.isRequired,
409+ "#\tStrings which can call system commands within Ruby/Rails applications": PropTypes.string.isRequired,
410+ "#\tStrings which consists of Japanese-style emoticons which are popular on the web": PropTypes.string.isRequired,
411+ "#\tStrings which contain Emoji; should be the same behavior as two-byte characters, but not always": PropTypes.string.isRequired,
412+ "#\tStrings which contain bold/italic/etc. versions of normal characters": PropTypes.string.isRequired,
413+ "#\tStrings which contain common unicode symbols (e.g. smart quotes)": PropTypes.string.isRequired,
414+ "#\tStrings which contain misplaced quotation marks; can cause encoding errors": PropTypes.string.isRequired,
415+ "#\tStrings which contain unicode subscripts/superscripts; can cause rendering issues": PropTypes.string.isRequired,
416+ "#\tStrings which crashed iMessage in various versions of iOS": PropTypes.string.isRequired,
417+ "#\tStrings which may cause human to reinterpret worldview": PropTypes.string.isRequired,
418+ "#\tTwo-Byte Characters": PropTypes.string.isRequired,
419+ "#\tUnicode Numbers": PropTypes.string.isRequired,
420+ "#\tUnicode font": PropTypes.string.isRequired,
421+ "#\tUnwanted Interpolation": PropTypes.string.isRequired,
422+ "# fonts, and have a number of special behaviors": PropTypes.string.isRequired,
423+ "# Non-whitespace C1 controls: U+0080 through U+0084 and U+0086 through U+009F.": PropTypes.string.isRequired,
424+ "# The next two lines may appear to be blank or mojibake in some viewers.": PropTypes.string.isRequired,
425+ "# U+0000, U+000A, or U+000D (NUL, LF, CR).": PropTypes.string.isRequired,
426+ "# and U+200B (ZERO WIDTH SPACE), which are in the C categories but are often": PropTypes.string.isRequired,
427+ "$ENV{'HOME'}": PropTypes.string.isRequired,
428+ "$HOME": PropTypes.string.isRequired,
429+ "%d": PropTypes.string.isRequired,
430+ "%s": PropTypes.string.isRequired,
431+ "%x('ls -al /')": PropTypes.string.isRequired,
432+ "'": PropTypes.string.isRequired,
433+ "' OR '1'='1": PropTypes.string.isRequired,
434+ "'\"'": PropTypes.string.isRequired,
435+ "';alert(123);t='": PropTypes.string.isRequired,
436+ "( ͡° ͜ʖ ͡°)": PropTypes.string.isRequired,
437+ "(null)": PropTypes.string.isRequired,
438+ "(╯°□°)╯︵ ┻━┻)": PropTypes.string.isRequired,
439+ "+0": PropTypes.string.isRequired,
440+ ",": PropTypes.string.isRequired,
441+ ",./;'[]\\-=": PropTypes.string.isRequired,
442+ "-,": PropTypes.string.isRequired,
443+ "-.": PropTypes.string.isRequired,
444+ "-0": PropTypes.string.isRequired,
445+ "-1": PropTypes.string.isRequired,
446+ "-1E02": PropTypes.string.isRequired,
447+ "-Infinity": PropTypes.string.isRequired,
448+ "../../../../../../../../../../../etc/hosts": PropTypes.string.isRequired,
449+ "../../../../../../../../../../../etc/passwd%00": PropTypes.string.isRequired,
450+ "0": PropTypes.string.isRequired,
451+ "0,0,0": PropTypes.string.isRequired,
452+ "0,0/0,0": PropTypes.string.isRequired,
453+ "0,00": PropTypes.string.isRequired,
454+ "0..0": PropTypes.string.isRequired,
455+ "0.0/0.0": PropTypes.string.isRequired,
456+ "00˙Ɩ$-": PropTypes.string.isRequired,
457+ "0x0": PropTypes.string.isRequired,
458+ "1": PropTypes.string.isRequired,
459+ "1 000 000.00": PropTypes.string.isRequired,
460+ "1#QNAN": PropTypes.string.isRequired,
461+ "1#SNAN": PropTypes.string.isRequired,
462+ "1'000'000.00": PropTypes.string.isRequired,
463+ "1'000,00": PropTypes.string.isRequired,
464+ "1.0/0.0": PropTypes.string.isRequired,
465+ "1.00": PropTypes.string.isRequired,
466+ "1/0": PropTypes.string.isRequired,
467+ "1/2": PropTypes.string.isRequired,
468+ "123456789012345678901234567890123456789": PropTypes.string.isRequired,
469+ "1;DROP TABLE users": PropTypes.string.isRequired,
470+ "1E02": PropTypes.string.isRequired,
471+ "1E2": PropTypes.string.isRequired,
472+ "999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999": PropTypes.string.isRequired,
473+ ";alert(123);": PropTypes.string.isRequired,
474+ "<!--[if<img src=x onerror=javascript:alert(1)//]> -->": PropTypes.string.isRequired,
475+ "<!--[if]><script>javascript:alert(1)</script -->": PropTypes.string.isRequired,
476+ "</script><script>alert(123)</script>": PropTypes.string.isRequired,
477+ "</textarea><script>alert(123)</script>": PropTypes.string.isRequired,
478+ "<<< %s(un='%s') = %u": PropTypes.string.isRequired,
479+ "<>?:\"{}|_+": PropTypes.string.isRequired,
480+ "<IMG SRC=\"jav ascript:alert('XSS');\">": PropTypes.string.isRequired,
481+ "<IMG SRC=\"jav&#x0A;ascript:alert('XSS');\">": PropTypes.string.isRequired,
482+ "<IMG SRC=\"jav&#x0D;ascript:alert('XSS');\">": PropTypes.string.isRequired,
483+ "<IMG SRC=&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#39;&#88;&#83;&#83;&#39;&#41;>": PropTypes.string.isRequired,
484+ "<SCRIPT SRC=http://ha.ckers.org/xss.js?< B >": PropTypes.string.isRequired,
485+ "<SCRIPT/SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": PropTypes.string.isRequired,
486+ "<SCRIPT/XSS SRC=\"http://ha.ckers.org/xss.js\"></SCRIPT>": PropTypes.string.isRequired,
487+ "<a href=\"\\x01javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
488+ "<a href=\"\\x05javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
489+ "<a href=\"\\x08javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
490+ "<a href=\"\\x09javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
491+ "<a href=\"\\x0Cjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
492+ "<a href=\"\\x10javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
493+ "<a href=\"\\x11javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
494+ "<a href=\"\\x13javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
495+ "<a href=\"\\x17javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
496+ "<a href=\"\\x1Fjavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
497+ "<a href=\"\\xC2\\xA0javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
498+ "<a href=\"\\xE1\\x9A\\x80javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
499+ "<a href=\"\\xE1\\xA0\\x8Ejavascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
500+ "<a href=\"\\xE2\\x80\\x83javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
501+ "<a href=\"\\xE2\\x80\\x84javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
502+ "<a href=\"\\xE2\\x80\\x86javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
503+ "<a href=\"\\xE2\\x80\\x87javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
504+ "<a href=\"\\xE2\\x80\\xA8javascript:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
505+ "<a href=\"javascript\\x09:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
506+ "<a href=\"javascript\\x0A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
507+ "<a href=\"javascript\\x3A:javascript:alert(1)\" id=\"fuzzelement1\">test</a>": PropTypes.string.isRequired,
508+ "<a href=java&#1&#2&#3&#4&#5&#6&#7&#8&#11&#12script:javascript:alert(1)>XXX</a>": PropTypes.string.isRequired,
509+ "<foo val=`bar' />": PropTypes.string.isRequired,
510+ "<img \\x00src=x onerror=\"alert(1)\">": PropTypes.string.isRequired,
511+ "<img \\x39src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
512+ "<img src=x onerror=\\x00\"javascript:alert(1)\">": PropTypes.string.isRequired,
513+ "<img src=x onerror=\\x09\"javascript:alert(1)\">": PropTypes.string.isRequired,
514+ "<img src=x\\x09onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
515+ "<img src=x\\x10onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
516+ "<img src=x\\x11onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
517+ "<img src=x\\x12onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
518+ "<img src=x\\x13onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
519+ "<img src\\x09=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
520+ "<img src\\x11=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
521+ "<img\\x10src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
522+ "<img\\x13src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
523+ "<img\\x32src=x onerror=\"javascript:alert(1)\">": PropTypes.string.isRequired,
524+ "<sc<script>ript>alert(123)</sc</script>ript>": PropTypes.string.isRequired,
525+ "<script\\x09type=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
526+ "<script\\x20type=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
527+ "<script\\x3Etype=\"text/javascript\">javascript:alert(1);</script>": PropTypes.string.isRequired,
528+ "<u oncopy=alert()> Copy me</u>": PropTypes.string.isRequired,
529+ "ABC<div style=\"x:\\x09expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
530+ "ABC<div style=\"x:\\x0Bexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
531+ "ABC<div style=\"x:\\x20expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
532+ "ABC<div style=\"x:\\xC2\\xA0expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
533+ "ABC<div style=\"x:\\xE2\\x80\\x80expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
534+ "ABC<div style=\"x:\\xE2\\x80\\x84expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
535+ "ABC<div style=\"x:\\xE2\\x80\\x89expression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
536+ "ABC<div style=\"x:\\xE2\\x80\\x8Bexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
537+ "ABC<div style=\"x:exp\\x00ression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
538+ "ABC<div style=\"x:exp\\x5Cression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
539+ "ABC<div style=\"x\\x3Aexpression(javascript:alert(1)\">DEF": PropTypes.string.isRequired,
540+ "AUX": PropTypes.string.isRequired,
541+ "Arsenal canal": PropTypes.string.isRequired,
542+ "Dick Van Dyke": PropTypes.string.isRequired,
543+ "Dr. Herman I. Libshitz": PropTypes.string.isRequired,
544+ "False": PropTypes.string.isRequired,
545+ "INF": PropTypes.string.isRequired,
546+ "Jimmy Clitheroe": PropTypes.string.isRequired,
547+ "Kernel.exit(1)": PropTypes.string.isRequired,
548+ "LPT2": PropTypes.string.isRequired,
549+ "LPT3": PropTypes.string.isRequired,
550+ "Lightwater Country Park": PropTypes.string.isRequired,
551+ "None": PropTypes.string.isRequired,
552+ "PRN": PropTypes.string.isRequired,
553+ "Penistone Community Church": PropTypes.string.isRequired,
554+ "RomansInSussex.co.uk": PropTypes.string.isRequired,
555+ "Super Bowl XXX": PropTypes.string.isRequired,
556+ "TRUE": PropTypes.string.isRequired,
557+ "The quic\u0008\u0008\u0008\u0008\u0008\u0008k brown fo\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007\u0007x... [Beeeep]": PropTypes.string.isRequired,
558+ "True": PropTypes.string.isRequired,
559+ "Z̮̞̠͙͔ͅḀ̗̞͈̻̗Ḷ͙͎̯̹̞͓G̻O̭̗̮": PropTypes.string.isRequired,
560+ "\\": PropTypes.string.isRequired,
561+ "\\\";alert('XSS');//": PropTypes.string.isRequired,
562+ "`\"'><img src=xxx:x \\x00onerror=javascript:alert(1)>": PropTypes.string.isRequired,
563+ "`\"'><img src=xxx:x \\x0Bonerror=javascript:alert(1)>": PropTypes.string.isRequired,
564+ "`\"'><img src=xxx:x \\x2Fonerror=javascript:alert(1)>": PropTypes.string.isRequired,
565+ "`ls -al /`": PropTypes.string.isRequired,
566+ "`⁄€‹›fifl‡°·‚—±": PropTypes.string.isRequired,
567+ "classic": PropTypes.string.isRequired,
568+ "dontMakeAMap": PropTypes.bool.isRequired,
569+ "false": PropTypes.string.isRequired,
570+ "nil": PropTypes.string.isRequired,
571+ "perl -e 'print \"<IMG SRC=java\\0script:alert(\\\"XSS\\\")>\";' > out": PropTypes.string.isRequired,
572+ "undef": PropTypes.string.isRequired,
573+ "{0}": PropTypes.string.isRequired,
574+ "\u0080\u0081\u0082\u0083\u0084\u0086\u0087\u0088\u0089\u008a\u008b\u008c\u008d\u008e\u008f\u0090\u0091\u0092\u0093\u0094\u0095\u0096\u0097\u0098\u0099\u009a\u009b\u009c\u009d\u009e\u009f": PropTypes.string.isRequired,
575+ "¡™£¢∞§¶•ªº–≠": PropTypes.string.isRequired,
576+ "\u00ad\u0600\u0601\u0602\u0603\u0604\u0605\u061c\u06dd\u070f\u180e\u200b\u200c\u200d\u200e\u200f\u202a\u202b\u202c\u202d\u202e\u2060\u2061\u2062\u2063\u2064\u2066\u2067\u2068\u2069\u206a\u206b\u206c\u206d\u206e\u206f\ufeff\ufff9\ufffa\ufffb\ud804\udcbd\ud82f\udca0\ud82f\udca1\ud82f\udca2\ud82f\udca3\ud834\udd73\ud834\udd74\ud834\udd75\ud834\udd76\ud834\udd77\ud834\udd78\ud834\udd79\ud834\udd7a\udb40\udc01\udb40\udc20\udb40\udc21\udb40\udc22\udb40\udc23\udb40\udc24\udb40\udc25\udb40\udc26\udb40\udc27\udb40\udc28\udb40\udc29\udb40\udc2a\udb40\udc2b\udb40\udc2c\udb40\udc2d\udb40\udc2e\udb40\udc2f\udb40\udc30\udb40\udc31\udb40\udc32\udb40\udc33\udb40\udc34\udb40\udc35\udb40\udc36\udb40\udc37\udb40\udc38\udb40\udc39\udb40\udc3a\udb40\udc3b\udb40\udc3c\udb40\udc3d\udb40\udc3e\udb40\udc3f\udb40\udc40\udb40\udc41\udb40\udc42\udb40\udc43\udb40\udc44\udb40\udc45\udb40\udc46\udb40\udc47\udb40\udc48\udb40\udc49\udb40\udc4a\udb40\udc4b\udb40\udc4c\udb40\udc4d\udb40\udc4e\udb40\udc4f\udb40\udc50\udb40\udc51\udb40\udc52\udb40\udc53\udb40\udc54\udb40\udc55\udb40\udc56\udb40\udc57\udb40\udc58\udb40\udc59\udb40\udc5a\udb40\udc5b\udb40\udc5c\udb40\udc5d\udb40\udc5e\udb40\udc5f\udb40\udc60\udb40\udc61\udb40\udc62\udb40\udc63\udb40\udc64\udb40\udc65\udb40\udc66\udb40\udc67\udb40\udc68\udb40\udc69\udb40\udc6a\udb40\udc6b\udb40\udc6c\udb40\udc6d\udb40\udc6e\udb40\udc6f\udb40\udc70\udb40\udc71\udb40\udc72\udb40\udc73\udb40\udc74\udb40\udc75\udb40\udc76\udb40\udc77\udb40\udc78\udb40\udc79\udb40\udc7a\udb40\udc7b\udb40\udc7c\udb40\udc7d\udb40\udc7e\udb40\udc7f": PropTypes.string.isRequired,
577+ "¸˛Ç◊ı˜Â¯˘¿": PropTypes.string.isRequired,
578+ "Œ„´‰ˇÁ¨ˆØ∏”’": PropTypes.string.isRequired,
579+ "œ∑´®†¥¨ˆøπ“‘": PropTypes.string.isRequired,
580+ "Ⱥ": PropTypes.string.isRequired,
581+ "Ⱦ": PropTypes.string.isRequired,
582+ "̡͓̞ͅI̗̘̦͝n͇͇͙v̮̫ok̲̫̙͈i̖͙̭̹̠̞n̡̻̮̣̺g̲͈͙̭͙̬͎ ̰t͔̦h̞̲e̢̤ ͍̬̲͖f̴̘͕̣è͖ẹ̥̩l͖͔͚i͓͚̦͠n͖͍̗͓̳̮g͍ ̨o͚̪͡f̘̣̬ ̖̘͖̟͙̮c҉͔̫͖͓͇͖ͅh̵̤̣͚͔á̗̼͕ͅo̼̣̥s̱͈̺̖̦̻͢.̛̖̞̠̫̰": PropTypes.string.isRequired,
583+ "הָיְתָהtestالصفحات التّحول": PropTypes.string.isRequired,
584+ "ثم نفس سقطت وبالتحديد،, جزيرتي باستخدام أن دنو. إذ هنا؟ الستار وتنصيب كان. أهّل ايطاليا، بريطانيا-فرنسا قد أخذ. سليمان، إتفاقية بين ما, يذكر الحدود أي بعد, معاملة بولندا، الإطلاق عل إيو.": PropTypes.string.isRequired,
585+ "٠١٢٣٤٥٦٧٨٩": PropTypes.string.isRequired,
586+ "ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็ ด้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็็้้้้้้้้็็็็็้้้้้็็็็": PropTypes.string.isRequired,
587+ "\u202a\u202atest\u202a": PropTypes.string.isRequired,
588+ "\u202btest\u202b": PropTypes.string.isRequired,
589+ "\u2066test\u2067": PropTypes.string.isRequired,
590+ "₀₁₂": PropTypes.string.isRequired,
591+ "⒯⒣⒠ ⒬⒰⒤⒞⒦ ⒝⒭⒪⒲⒩ ⒡⒪⒳ ⒥⒰⒨⒫⒮ ⒪⒱⒠⒭ ⒯⒣⒠ ⒧⒜⒵⒴ ⒟⒪⒢": PropTypes.string.isRequired,
592+ "パーティーへ行かないか": PropTypes.string.isRequired,
593+ "和製漢語": PropTypes.string.isRequired,
594+ "田中さんにあげて下さい": PropTypes.string.isRequired,
595+ "\ud835\udc7b\ud835\udc89\ud835\udc86 \ud835\udc92\ud835\udc96\ud835\udc8a\ud835\udc84\ud835\udc8c \ud835\udc83\ud835\udc93\ud835\udc90\ud835\udc98\ud835\udc8f \ud835\udc87\ud835\udc90\ud835\udc99 \ud835\udc8b\ud835\udc96\ud835\udc8e\ud835\udc91\ud835\udc94 \ud835\udc90\ud835\udc97\ud835\udc86\ud835\udc93 \ud835\udc95\ud835\udc89\ud835\udc86 \ud835\udc8d\ud835\udc82\ud835\udc9b\ud835\udc9a \ud835\udc85\ud835\udc90\ud835\udc88": PropTypes.string.isRequired,
596+ "\ud835\udce3\ud835\udcf1\ud835\udcee \ud835\udcfa\ud835\udcfe\ud835\udcf2\ud835\udcec\ud835\udcf4 \ud835\udceb\ud835\udcfb\ud835\udcf8\ud835\udd00\ud835\udcf7 \ud835\udcef\ud835\udcf8\ud835\udd01 \ud835\udcf3\ud835\udcfe\ud835\udcf6\ud835\udcf9\ud835\udcfc \ud835\udcf8\ud835\udcff\ud835\udcee\ud835\udcfb \ud835\udcfd\ud835\udcf1\ud835\udcee \ud835\udcf5\ud835\udcea\ud835\udd03\ud835\udd02 \ud835\udced\ud835\udcf8\ud835\udcf0": PropTypes.string.isRequired,
597+ "\ud835\udd7f\ud835\udd8d\ud835\udd8a \ud835\udd96\ud835\udd9a\ud835\udd8e\ud835\udd88\ud835\udd90 \ud835\udd87\ud835\udd97\ud835\udd94\ud835\udd9c\ud835\udd93 \ud835\udd8b\ud835\udd94\ud835\udd9d \ud835\udd8f\ud835\udd9a\ud835\udd92\ud835\udd95\ud835\udd98 \ud835\udd94\ud835\udd9b\ud835\udd8a\ud835\udd97 \ud835\udd99\ud835\udd8d\ud835\udd8a \ud835\udd91\ud835\udd86\ud835\udd9f\ud835\udd9e \ud835\udd89\ud835\udd94\ud835\udd8c": PropTypes.string.isRequired,
598+ "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8 \ud83c\udde6\ud83c\uddeb\ud83c\udde6\ud83c\uddf2\ud83c\uddf8": PropTypes.string.isRequired,
599+ "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8\ud83c\udde6": PropTypes.string.isRequired,
600+ "\ud83c\uddfa\ud83c\uddf8\ud83c\uddf7\ud83c\uddfa\ud83c\uddf8\ud83c\udde6\ud83c\uddeb\ud83c\udde6\ud83c\uddf2": PropTypes.string.isRequired,
601+ "\ud83d\udc69\ud83c\udffd": PropTypes.string.isRequired,
602+ "\ud83d\udebe \ud83c\udd92 \ud83c\udd93 \ud83c\udd95 \ud83c\udd96 \ud83c\udd97 \ud83c\udd99 \ud83c\udfe7": PropTypes.string.isRequired,
603+ "﷽": PropTypes.string.isRequired,
604+ "\ufeff": PropTypes.string.isRequired,
605+ "`ィ(´∀`∩": PropTypes.string.isRequired,
606+ "゚・✿ヾ╲(。◕‿◕。)╱✿・゚": PropTypes.string.isRequired,
607+ "\ufffe": PropTypes.string.isRequired,
608608 });
609609 _TopLevel = PropTypes.shape({
610- "a": _A,
611- "b": _B,
612- "c": _C,
610+ "a": (...args) => _A.isRequired(...args),
611+ "b": (...args) => _B.isRequired(...args),
612+ "c": (...args) => _C.isRequired(...args),
613613 });
614614
615615 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug2037.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -19,13 +19,13 @@ let _Reward;
1919 _Reward = PropTypes.shape({
2020 });
2121 _Objective = PropTypes.shape({
22- "rewards": PropTypes.object,
22+ "rewards": PropTypes.object.isRequired,
2323 });
2424 _MissionSpec = PropTypes.shape({
25- "objectives": PropTypes.object,
25+ "objectives": PropTypes.object.isRequired,
2626 });
2727 _TopLevel = PropTypes.shape({
28- "mission_specs": PropTypes.object,
28+ "mission_specs": PropTypes.object.isRequired,
2929 });
3030
3131 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug2521.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -16,10 +16,10 @@ let _TopLevel;
1616 let _Option;
1717 _Option = PropTypes.shape({
1818 "foo": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
19- "name": PropTypes.string,
19+ "name": PropTypes.string.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "options": PropTypes.arrayOf(_Option),
22+ "options": PropTypes.arrayOf((...args) => _Option(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug2590.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -17,10 +17,10 @@ let _Invoice;
1717 _Invoice = PropTypes.shape({
1818 "createdAt": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
1919 "dueDate": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
20- "name": PropTypes.string,
20+ "name": PropTypes.string.isRequired,
2121 });
2222 _TopLevel = PropTypes.shape({
23- "invoices": PropTypes.arrayOf(_Invoice),
23+ "invoices": PropTypes.arrayOf((...args) => _Invoice(...args)).isRequired,
2424 });
2525
2626 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug2663.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "birthday": PropTypes.string,
18- "lastSeen": PropTypes.string,
19- "name": PropTypes.string,
17+ "birthday": PropTypes.string.isRequired,
18+ "lastSeen": PropTypes.string.isRequired,
19+ "name": PropTypes.string.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug2793.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -16,14 +16,14 @@ let _TopLevel;
1616 let _Hints;
1717 let _Labels;
1818 _Labels = PropTypes.shape({
19- "AccountNumber": PropTypes.string,
20- "Title": PropTypes.string,
19+ "AccountNumber": PropTypes.string.isRequired,
20+ "Title": PropTypes.string.isRequired,
2121 });
2222 _Hints = PropTypes.shape({
2323 });
2424 _TopLevel = PropTypes.shape({
25- "Hints": _Hints,
26- "Labels": _Labels,
25+ "Hints": (...args) => _Hints.isRequired(...args),
26+ "Labels": (...args) => _Labels.isRequired(...args),
2727 });
2828
2929 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug427.json

1 generated file · +316 −316
Mjavascript-prop-typesdefault / toplevel.js+316 −316
@@ -73,144 +73,144 @@ let _FluffyTypeArgument;
7373 let _TypeParameter;
7474 let _MischievousType;
7575 let _IndecentComment;
76-const _PurpleKindString = PropTypes.oneOfType(['variable', 'function', 'property', 'method', 'constructor', 'accessor', 'enumerationMember', 'module', 'objectLiteral']);
77-const _SignatureKindString = PropTypes.oneOfType(['callSignature', 'constructorSignature']);
78-const _Name = PropTypes.oneOfType(['string', 'number', 'void', 't', 'boolean', 'baseClass', 'any', 'array', 'myNumber']);
79-const _TypeEnum = PropTypes.oneOfType(['intrinsic', 'reflection', 'array', 'reference', 'typeParameter', 'tuple', 'union', 'stringLiteral']);
80-const _FileName = PropTypes.oneOfType(['modulesTs', 'classesTs', 'flattenedTs', 'accessTs', 'defaultExportTs', 'enumerationsTs', 'functionsTs', 'genericsTs', 'singleExportTs', 'typescript13Ts', 'typescript14Ts', 'typescript15Ts', 'variablesTs']);
81-const _ParameterKindString = PropTypes.oneOfType(['parameter']);
82-const _FluffyKindString = PropTypes.oneOfType(['module', 'class', 'variable', 'function', 'interface', 'enumeration', 'objectLiteral', 'typeAlias']);
83-const _TentacledKindString = PropTypes.oneOfType(['externalModule']);
76+const _PurpleKindString = PropTypes.oneOf(["Variable", "Function", "Property", "Method", "Constructor", "Accessor", "Enumeration member", "Module", "Object literal"]);
77+const _SignatureKindString = PropTypes.oneOf(["Call signature", "Constructor signature"]);
78+const _Name = PropTypes.oneOf(["string", "number", "void", "T", "boolean", "BaseClass", "any", "Array", "MyNumber"]);
79+const _TypeEnum = PropTypes.oneOf(["intrinsic", "reflection", "array", "reference", "typeParameter", "tuple", "union", "stringLiteral"]);
80+const _FileName = PropTypes.oneOf(["modules.ts", "classes.ts", "flattened.ts", "access.ts", "default-export.ts", "enumerations.ts", "functions.ts", "generics.ts", "single-export.ts", "typescript-1.3.ts", "typescript-1.4.ts", "typescript-1.5.ts", "variables.ts"]);
81+const _ParameterKindString = PropTypes.oneOf(["Parameter"]);
82+const _FluffyKindString = PropTypes.oneOf(["Module", "Class", "Variable", "Function", "Interface", "Enumeration", "Object literal", "Type alias"]);
83+const _TentacledKindString = PropTypes.oneOf(["External module"]);
8484 _IndecentComment = PropTypes.shape({
85- "shortText": PropTypes.string,
86- "tags": PropTypes.oneOfType([PropTypes.arrayOf(_Tag), PropTypes.any]),
85+ "shortText": PropTypes.string.isRequired,
86+ "tags": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Tag(...args)), PropTypes.any]),
8787 });
8888 _MischievousType = PropTypes.shape({
8989 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
9090 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
9191 "operator": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
92- "target": PropTypes.oneOfType([_ElementType, PropTypes.any]),
93- "type": PropTypes.string,
92+ "target": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
93+ "type": PropTypes.string.isRequired,
9494 });
9595 _TypeParameter = PropTypes.shape({
96- "comment": PropTypes.oneOfType([_PurpleComment, PropTypes.any]),
97- "flags": _GetSignatureFlags,
98- "id": PropTypes.number,
99- "kind": PropTypes.number,
100- "kindString": PropTypes.string,
101- "name": PropTypes.string,
102- "type": PropTypes.oneOfType([_MischievousType, PropTypes.any]),
96+ "comment": PropTypes.oneOfType([(...args) => _PurpleComment(...args), PropTypes.any]),
97+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
98+ "id": PropTypes.number.isRequired,
99+ "kind": PropTypes.number.isRequired,
100+ "kindString": PropTypes.string.isRequired,
101+ "name": PropTypes.string.isRequired,
102+ "type": PropTypes.oneOfType([(...args) => _MischievousType(...args), PropTypes.any]),
103103 });
104104 _FluffyTypeArgument = PropTypes.shape({
105- "type": _TypeEnum,
106- "types": PropTypes.arrayOf(_ElementType),
105+ "type": _TypeEnum.isRequired,
106+ "types": PropTypes.arrayOf((...args) => _ElementType(...args)).isRequired,
107107 });
108108 _IndigoDeclaration = PropTypes.shape({
109- "children": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
110- "flags": _GetSignatureFlags,
111- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
112- "id": PropTypes.number,
113- "kind": PropTypes.number,
114- "kindString": PropTypes.string,
115- "name": PropTypes.string,
116- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
117- "sources": PropTypes.arrayOf(_Source),
109+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
110+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
111+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
112+ "id": PropTypes.number.isRequired,
113+ "kind": PropTypes.number.isRequired,
114+ "kindString": PropTypes.string.isRequired,
115+ "name": PropTypes.string.isRequired,
116+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
117+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
118118 });
119119 _FriskyType = PropTypes.shape({
120- "declaration": PropTypes.oneOfType([_IndigoDeclaration, PropTypes.any]),
120+ "declaration": PropTypes.oneOfType([(...args) => _IndigoDeclaration(...args), PropTypes.any]),
121121 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
122- "type": _TypeEnum,
122+ "type": _TypeEnum.isRequired,
123123 });
124124 _IndecentChild = PropTypes.shape({
125- "flags": _FluffyFlags,
126- "id": PropTypes.number,
127- "kind": PropTypes.number,
128- "kindString": _PurpleKindString,
129- "name": PropTypes.string,
130- "sources": PropTypes.arrayOf(_Source),
131- "type": _FriskyType,
125+ "flags": (...args) => _FluffyFlags.isRequired(...args),
126+ "id": PropTypes.number.isRequired,
127+ "kind": PropTypes.number.isRequired,
128+ "kindString": _PurpleKindString.isRequired,
129+ "name": PropTypes.string.isRequired,
130+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
131+ "type": (...args) => _FriskyType.isRequired(...args),
132132 });
133133 _StickyDeclaration = PropTypes.shape({
134- "children": PropTypes.oneOfType([PropTypes.arrayOf(_IndecentChild), PropTypes.any]),
135- "flags": _GetSignatureFlags,
136- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
137- "id": PropTypes.number,
138- "kind": PropTypes.number,
139- "kindString": PropTypes.string,
140- "name": PropTypes.string,
141- "signatures": PropTypes.arrayOf(_GetSignature),
142- "sources": PropTypes.arrayOf(_Source),
134+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _IndecentChild(...args)), PropTypes.any]),
135+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
136+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
137+ "id": PropTypes.number.isRequired,
138+ "kind": PropTypes.number.isRequired,
139+ "kindString": PropTypes.string.isRequired,
140+ "name": PropTypes.string.isRequired,
141+ "signatures": PropTypes.arrayOf((...args) => _GetSignature(...args)).isRequired,
142+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
143143 });
144144 _MagentaType = PropTypes.shape({
145- "declaration": PropTypes.oneOfType([_StickyDeclaration, PropTypes.any]),
146- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
147- "elements": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
145+ "declaration": PropTypes.oneOfType([(...args) => _StickyDeclaration(...args), PropTypes.any]),
146+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
147+ "elements": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
148148 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
149149 "name": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
150- "type": _TypeEnum,
151- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_FluffyTypeArgument), PropTypes.any]),
152- "types": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
150+ "type": _TypeEnum.isRequired,
151+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _FluffyTypeArgument(...args)), PropTypes.any]),
152+ "types": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
153153 "value": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
154154 });
155155 _CunningType = PropTypes.shape({
156- "declaration": PropTypes.oneOfType([_PurpleDeclaration, PropTypes.any]),
156+ "declaration": PropTypes.oneOfType([(...args) => _PurpleDeclaration(...args), PropTypes.any]),
157157 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
158158 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
159- "type": _TypeEnum,
160- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
159+ "type": _TypeEnum.isRequired,
160+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
161161 });
162162 _IndigoChild = PropTypes.shape({
163- "comment": _FluffyComment,
163+ "comment": (...args) => _FluffyComment.isRequired(...args),
164164 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
165- "flags": _FluffyFlags,
166- "id": PropTypes.number,
167- "kind": PropTypes.number,
168- "kindString": _PurpleKindString,
169- "name": PropTypes.string,
170- "sources": PropTypes.arrayOf(_Source),
171- "type": _IndecentType,
165+ "flags": (...args) => _FluffyFlags.isRequired(...args),
166+ "id": PropTypes.number.isRequired,
167+ "kind": PropTypes.number.isRequired,
168+ "kindString": _PurpleKindString.isRequired,
169+ "name": PropTypes.string.isRequired,
170+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
171+ "type": (...args) => _IndecentType.isRequired(...args),
172172 });
173173 _TentacledDeclaration = PropTypes.shape({
174- "children": PropTypes.oneOfType([PropTypes.arrayOf(_IndigoChild), PropTypes.any]),
175- "flags": _GetSignatureFlags,
176- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
177- "id": PropTypes.number,
178- "indexSignature": PropTypes.oneOfType([_IndexSignatureElement, PropTypes.any]),
179- "kind": PropTypes.number,
180- "kindString": PropTypes.string,
181- "name": PropTypes.string,
182- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
183- "sources": PropTypes.arrayOf(_Source),
174+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _IndigoChild(...args)), PropTypes.any]),
175+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
176+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
177+ "id": PropTypes.number.isRequired,
178+ "indexSignature": PropTypes.oneOfType([(...args) => _IndexSignatureElement(...args), PropTypes.any]),
179+ "kind": PropTypes.number.isRequired,
180+ "kindString": PropTypes.string.isRequired,
181+ "name": PropTypes.string.isRequired,
182+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
183+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
184184 });
185185 _AmbitiousType = PropTypes.shape({
186- "declaration": PropTypes.oneOfType([_TentacledDeclaration, PropTypes.any]),
187- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
186+ "declaration": PropTypes.oneOfType([(...args) => _TentacledDeclaration(...args), PropTypes.any]),
187+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
188188 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
189189 "name": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
190- "type": _TypeEnum,
191- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
190+ "type": _TypeEnum.isRequired,
191+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
192192 });
193193 _TentacledParameter = PropTypes.shape({
194- "comment": PropTypes.oneOfType([_TentacledComment, PropTypes.any]),
194+ "comment": PropTypes.oneOfType([(...args) => _TentacledComment(...args), PropTypes.any]),
195195 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
196- "flags": _TentacledFlags,
197- "id": PropTypes.number,
198- "kind": PropTypes.number,
199- "kindString": _ParameterKindString,
200- "name": PropTypes.string,
196+ "flags": (...args) => _TentacledFlags.isRequired(...args),
197+ "id": PropTypes.number.isRequired,
198+ "kind": PropTypes.number.isRequired,
199+ "kindString": _ParameterKindString.isRequired,
200+ "name": PropTypes.string.isRequired,
201201 "originalName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
202- "type": _AmbitiousType,
202+ "type": (...args) => _AmbitiousType.isRequired(...args),
203203 });
204204 _StickySignature = PropTypes.shape({
205- "comment": _StickyComment,
206- "flags": _IndigoFlags,
207- "id": PropTypes.number,
208- "kind": PropTypes.number,
209- "kindString": _SignatureKindString,
210- "name": PropTypes.string,
211- "parameters": PropTypes.oneOfType([PropTypes.arrayOf(_TentacledParameter), PropTypes.any]),
212- "type": _CunningType,
213- "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
205+ "comment": (...args) => _StickyComment.isRequired(...args),
206+ "flags": (...args) => _IndigoFlags.isRequired(...args),
207+ "id": PropTypes.number.isRequired,
208+ "kind": PropTypes.number.isRequired,
209+ "kindString": _SignatureKindString.isRequired,
210+ "name": PropTypes.string.isRequired,
211+ "parameters": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TentacledParameter(...args)), PropTypes.any]),
212+ "type": (...args) => _CunningType.isRequired(...args),
213+ "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
214214 });
215215 _IndecentFlags = PropTypes.shape({
216216 "hasExportAssignment": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
@@ -222,129 +222,129 @@ _IndecentFlags = PropTypes.shape({
222222 "isProtected": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
223223 });
224224 _PurpleTypeArgument = PropTypes.shape({
225- "operator": PropTypes.string,
226- "target": _ElementType,
227- "type": PropTypes.string,
225+ "operator": PropTypes.string.isRequired,
226+ "target": (...args) => _ElementType.isRequired(...args),
227+ "type": PropTypes.string.isRequired,
228228 });
229229 _FluffyParameter = PropTypes.shape({
230- "comment": PropTypes.oneOfType([_FluffyComment, PropTypes.any]),
231- "flags": _FluffyFlags,
232- "id": PropTypes.number,
233- "kind": PropTypes.number,
234- "kindString": PropTypes.string,
235- "name": PropTypes.string,
236- "sources": PropTypes.oneOfType([PropTypes.arrayOf(_Source), PropTypes.any]),
237- "type": _ElementType,
230+ "comment": PropTypes.oneOfType([(...args) => _FluffyComment(...args), PropTypes.any]),
231+ "flags": (...args) => _FluffyFlags.isRequired(...args),
232+ "id": PropTypes.number.isRequired,
233+ "kind": PropTypes.number.isRequired,
234+ "kindString": PropTypes.string.isRequired,
235+ "name": PropTypes.string.isRequired,
236+ "sources": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Source(...args)), PropTypes.any]),
237+ "type": (...args) => _ElementType.isRequired(...args),
238238 });
239239 _IndigoComment = PropTypes.shape({
240- "returns": PropTypes.string,
241- "shortText": PropTypes.string,
240+ "returns": PropTypes.string.isRequired,
241+ "shortText": PropTypes.string.isRequired,
242242 });
243243 _TentacledSignature = PropTypes.shape({
244- "comment": PropTypes.oneOfType([_IndigoComment, PropTypes.any]),
245- "flags": _GetSignatureFlags,
246- "id": PropTypes.number,
247- "kind": PropTypes.number,
248- "kindString": _SignatureKindString,
249- "name": PropTypes.string,
250- "parameters": PropTypes.oneOfType([PropTypes.arrayOf(_FluffyParameter), PropTypes.any]),
251- "type": _ExtendedBy,
244+ "comment": PropTypes.oneOfType([(...args) => _IndigoComment(...args), PropTypes.any]),
245+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
246+ "id": PropTypes.number.isRequired,
247+ "kind": PropTypes.number.isRequired,
248+ "kindString": _SignatureKindString.isRequired,
249+ "name": PropTypes.string.isRequired,
250+ "parameters": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _FluffyParameter(...args)), PropTypes.any]),
251+ "type": (...args) => _ExtendedBy.isRequired(...args),
252252 });
253253 _HilariousType = PropTypes.shape({
254- "declaration": _GetSignature,
255- "type": _TypeEnum,
254+ "declaration": (...args) => _GetSignature.isRequired(...args),
255+ "type": _TypeEnum.isRequired,
256256 });
257257 _IndexSignature = PropTypes.shape({
258- "flags": _GetSignatureFlags,
259- "id": PropTypes.number,
260- "kind": PropTypes.number,
261- "kindString": PropTypes.string,
262- "name": PropTypes.string,
263- "parameters": PropTypes.arrayOf(_GetSignature),
264- "type": _HilariousType,
258+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
259+ "id": PropTypes.number.isRequired,
260+ "kind": PropTypes.number.isRequired,
261+ "kindString": PropTypes.string.isRequired,
262+ "name": PropTypes.string.isRequired,
263+ "parameters": PropTypes.arrayOf((...args) => _GetSignature(...args)).isRequired,
264+ "type": (...args) => _HilariousType.isRequired(...args),
265265 });
266266 _IndecentType = PropTypes.shape({
267- "declaration": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
268- "elements": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
267+ "declaration": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
268+ "elements": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
269269 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
270- "type": _TypeEnum,
270+ "type": _TypeEnum.isRequired,
271271 });
272272 _StickyChild = PropTypes.shape({
273- "comment": PropTypes.oneOfType([_FluffyComment, PropTypes.any]),
274- "flags": _FluffyFlags,
275- "id": PropTypes.number,
276- "kind": PropTypes.number,
277- "kindString": _PurpleKindString,
278- "name": PropTypes.string,
279- "sources": PropTypes.arrayOf(_Source),
280- "type": _IndecentType,
273+ "comment": PropTypes.oneOfType([(...args) => _FluffyComment(...args), PropTypes.any]),
274+ "flags": (...args) => _FluffyFlags.isRequired(...args),
275+ "id": PropTypes.number.isRequired,
276+ "kind": PropTypes.number.isRequired,
277+ "kindString": _PurpleKindString.isRequired,
278+ "name": PropTypes.string.isRequired,
279+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
280+ "type": (...args) => _IndecentType.isRequired(...args),
281281 });
282282 _FluffyDeclaration = PropTypes.shape({
283- "children": PropTypes.oneOfType([PropTypes.arrayOf(_StickyChild), PropTypes.any]),
284- "flags": _GetSignatureFlags,
285- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
286- "id": PropTypes.number,
287- "indexSignature": PropTypes.oneOfType([_IndexSignature, PropTypes.any]),
288- "kind": PropTypes.number,
289- "kindString": PropTypes.string,
290- "name": PropTypes.string,
291- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_TentacledSignature), PropTypes.any]),
292- "sources": PropTypes.arrayOf(_Source),
283+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _StickyChild(...args)), PropTypes.any]),
284+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
285+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
286+ "id": PropTypes.number.isRequired,
287+ "indexSignature": PropTypes.oneOfType([(...args) => _IndexSignature(...args), PropTypes.any]),
288+ "kind": PropTypes.number.isRequired,
289+ "kindString": PropTypes.string.isRequired,
290+ "name": PropTypes.string.isRequired,
291+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TentacledSignature(...args)), PropTypes.any]),
292+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
293293 });
294294 _IndigoType = PropTypes.shape({
295- "constraint": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
296- "declaration": PropTypes.oneOfType([_FluffyDeclaration, PropTypes.any]),
297- "elementType": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
298- "elements": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
295+ "constraint": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
296+ "declaration": PropTypes.oneOfType([(...args) => _FluffyDeclaration(...args), PropTypes.any]),
297+ "elementType": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
298+ "elements": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
299299 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
300300 "name": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
301- "type": _TypeEnum,
302- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_PurpleTypeArgument), PropTypes.any]),
303- "types": PropTypes.oneOfType([PropTypes.arrayOf(_TypeElement), PropTypes.any]),
301+ "type": _TypeEnum.isRequired,
302+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _PurpleTypeArgument(...args)), PropTypes.any]),
303+ "types": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TypeElement(...args)), PropTypes.any]),
304304 });
305305 _StickyType = PropTypes.shape({
306- "constraint": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
307- "declaration": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
308- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
309- "elements": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
306+ "constraint": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
307+ "declaration": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
308+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
309+ "elements": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
310310 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
311311 "name": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
312- "type": _TypeEnum,
313- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
312+ "type": _TypeEnum.isRequired,
313+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
314314 });
315315 _PurpleParameter = PropTypes.shape({
316- "comment": PropTypes.oneOfType([_TentacledComment, PropTypes.any]),
317- "flags": _GetSignatureFlags,
318- "id": PropTypes.number,
319- "kind": PropTypes.number,
320- "kindString": _ParameterKindString,
321- "name": PropTypes.string,
322- "type": _StickyType,
316+ "comment": PropTypes.oneOfType([(...args) => _TentacledComment(...args), PropTypes.any]),
317+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
318+ "id": PropTypes.number.isRequired,
319+ "kind": PropTypes.number.isRequired,
320+ "kindString": _ParameterKindString.isRequired,
321+ "name": PropTypes.string.isRequired,
322+ "type": (...args) => _StickyType.isRequired(...args),
323323 });
324324 _IndigoFlags = PropTypes.shape({
325325 "isPrivate": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
326326 "isProtected": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
327327 });
328328 _FluffySignature = PropTypes.shape({
329- "comment": PropTypes.oneOfType([_StickyComment, PropTypes.any]),
330- "flags": _IndigoFlags,
331- "id": PropTypes.number,
332- "implementationOf": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
333- "inheritedFrom": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
334- "kind": PropTypes.number,
335- "kindString": _SignatureKindString,
336- "name": PropTypes.string,
337- "overwrites": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
338- "parameters": PropTypes.oneOfType([PropTypes.arrayOf(_PurpleParameter), PropTypes.any]),
339- "type": _ExtendedBy,
340- "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
329+ "comment": PropTypes.oneOfType([(...args) => _StickyComment(...args), PropTypes.any]),
330+ "flags": (...args) => _IndigoFlags.isRequired(...args),
331+ "id": PropTypes.number.isRequired,
332+ "implementationOf": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
333+ "inheritedFrom": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
334+ "kind": PropTypes.number.isRequired,
335+ "kindString": _SignatureKindString.isRequired,
336+ "name": PropTypes.string.isRequired,
337+ "overwrites": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
338+ "parameters": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _PurpleParameter(...args)), PropTypes.any]),
339+ "type": (...args) => _ExtendedBy.isRequired(...args),
340+ "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
341341 });
342342 _ExtendedBy = PropTypes.shape({
343- "constraint": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
343+ "constraint": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
344344 "id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
345- "name": PropTypes.string,
346- "type": _TypeEnum,
347- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
345+ "name": PropTypes.string.isRequired,
346+ "type": _TypeEnum.isRequired,
347+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
348348 });
349349 _StickyFlags = PropTypes.shape({
350350 "isAbstract": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
@@ -356,41 +356,41 @@ _StickyFlags = PropTypes.shape({
356356 "isStatic": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
357357 });
358358 _Tag = PropTypes.shape({
359- "tag": PropTypes.string,
360- "text": PropTypes.string,
359+ "tag": PropTypes.string.isRequired,
360+ "text": PropTypes.string.isRequired,
361361 });
362362 _StickyComment = PropTypes.shape({
363363 "returns": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
364364 "shortText": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
365- "tags": PropTypes.oneOfType([PropTypes.arrayOf(_Tag), PropTypes.any]),
365+ "tags": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Tag(...args)), PropTypes.any]),
366366 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
367367 });
368368 _TypeElement = PropTypes.shape({
369- "declaration": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
370- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
369+ "declaration": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
370+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
371371 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
372- "type": _TypeEnum,
373- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
372+ "type": _TypeEnum.isRequired,
373+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
374374 });
375375 _PurpleDeclaration = PropTypes.shape({
376- "children": PropTypes.arrayOf(_GetSignature),
377- "flags": _GetSignatureFlags,
378- "groups": PropTypes.arrayOf(_Group),
379- "id": PropTypes.number,
380- "kind": PropTypes.number,
381- "kindString": PropTypes.string,
382- "name": PropTypes.string,
376+ "children": PropTypes.arrayOf((...args) => _GetSignature(...args)).isRequired,
377+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
378+ "groups": PropTypes.arrayOf((...args) => _Group(...args)).isRequired,
379+ "id": PropTypes.number.isRequired,
380+ "kind": PropTypes.number.isRequired,
381+ "kindString": PropTypes.string.isRequired,
382+ "name": PropTypes.string.isRequired,
383383 });
384384 _TentacledType = PropTypes.shape({
385- "declaration": PropTypes.oneOfType([_PurpleDeclaration, PropTypes.any]),
385+ "declaration": PropTypes.oneOfType([(...args) => _PurpleDeclaration(...args), PropTypes.any]),
386386 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
387- "type": _TypeEnum,
387+ "type": _TypeEnum.isRequired,
388388 });
389389 _FluffyType = PropTypes.shape({
390- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
390+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
391391 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
392- "type": _TypeEnum,
393- "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf(_ElementType), PropTypes.any]),
392+ "type": _TypeEnum.isRequired,
393+ "typeArguments": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ElementType(...args)), PropTypes.any]),
394394 });
395395 _TentacledFlags = PropTypes.shape({
396396 "isOptional": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
@@ -401,18 +401,18 @@ _TentacledComment = PropTypes.shape({
401401 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
402402 });
403403 _GetSignatureParameter = PropTypes.shape({
404- "comment": PropTypes.oneOfType([_TentacledComment, PropTypes.any]),
405- "flags": _TentacledFlags,
406- "id": PropTypes.number,
407- "kind": PropTypes.number,
408- "kindString": _ParameterKindString,
409- "name": PropTypes.string,
410- "type": _FluffyType,
404+ "comment": PropTypes.oneOfType([(...args) => _TentacledComment(...args), PropTypes.any]),
405+ "flags": (...args) => _TentacledFlags.isRequired(...args),
406+ "id": PropTypes.number.isRequired,
407+ "kind": PropTypes.number.isRequired,
408+ "kindString": _ParameterKindString.isRequired,
409+ "name": PropTypes.string.isRequired,
410+ "type": (...args) => _FluffyType.isRequired(...args),
411411 });
412412 _Group = PropTypes.shape({
413- "children": PropTypes.arrayOf(PropTypes.number),
414- "kind": PropTypes.number,
415- "title": PropTypes.string,
413+ "children": PropTypes.arrayOf(PropTypes.number).isRequired,
414+ "kind": PropTypes.number.isRequired,
415+ "title": PropTypes.string.isRequired,
416416 });
417417 _GetSignatureComment = PropTypes.shape({
418418 "returns": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -420,153 +420,153 @@ _GetSignatureComment = PropTypes.shape({
420420 "text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
421421 });
422422 _Source = PropTypes.shape({
423- "character": PropTypes.number,
424- "fileName": _FileName,
425- "line": PropTypes.number,
423+ "character": PropTypes.number.isRequired,
424+ "fileName": _FileName.isRequired,
425+ "line": PropTypes.number.isRequired,
426426 });
427427 _FluffyFlags = PropTypes.shape({
428428 "isOptional": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
429429 });
430430 _FluffyComment = PropTypes.shape({
431- "text": PropTypes.string,
431+ "text": PropTypes.string.isRequired,
432432 });
433433 _ElementType = PropTypes.shape({
434- "name": _Name,
435- "type": _TypeEnum,
434+ "name": _Name.isRequired,
435+ "type": _TypeEnum.isRequired,
436436 });
437437 _GetSignature = PropTypes.shape({
438- "children": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignatureChild), PropTypes.any]),
439- "comment": PropTypes.oneOfType([_GetSignatureComment, PropTypes.any]),
438+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignatureChild(...args)), PropTypes.any]),
439+ "comment": PropTypes.oneOfType([(...args) => _GetSignatureComment(...args), PropTypes.any]),
440440 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
441- "flags": _GetSignatureFlags,
442- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
443- "id": PropTypes.number,
444- "kind": PropTypes.number,
445- "kindString": PropTypes.string,
446- "name": PropTypes.string,
447- "parameters": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignatureParameter), PropTypes.any]),
448- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_IndexSignatureElement), PropTypes.any]),
449- "sources": PropTypes.oneOfType([PropTypes.arrayOf(_Source), PropTypes.any]),
450- "type": PropTypes.oneOfType([_GetSignatureType, PropTypes.any]),
451- "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
441+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
442+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
443+ "id": PropTypes.number.isRequired,
444+ "kind": PropTypes.number.isRequired,
445+ "kindString": PropTypes.string.isRequired,
446+ "name": PropTypes.string.isRequired,
447+ "parameters": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignatureParameter(...args)), PropTypes.any]),
448+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _IndexSignatureElement(...args)), PropTypes.any]),
449+ "sources": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Source(...args)), PropTypes.any]),
450+ "type": PropTypes.oneOfType([(...args) => _GetSignatureType(...args), PropTypes.any]),
451+ "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
452452 });
453453 _GetSignatureChild = PropTypes.shape({
454- "comment": PropTypes.oneOfType([_FluffyComment, PropTypes.any]),
455- "flags": _FluffyFlags,
456- "id": PropTypes.number,
457- "kind": PropTypes.number,
458- "kindString": _PurpleKindString,
459- "name": PropTypes.string,
460- "sources": PropTypes.arrayOf(_Source),
461- "type": _PurpleType,
454+ "comment": PropTypes.oneOfType([(...args) => _FluffyComment(...args), PropTypes.any]),
455+ "flags": (...args) => _FluffyFlags.isRequired(...args),
456+ "id": PropTypes.number.isRequired,
457+ "kind": PropTypes.number.isRequired,
458+ "kindString": _PurpleKindString.isRequired,
459+ "name": PropTypes.string.isRequired,
460+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
461+ "type": (...args) => _PurpleType.isRequired(...args),
462462 });
463463 _PurpleType = PropTypes.shape({
464- "declaration": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
464+ "declaration": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
465465 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
466- "type": _TypeEnum,
466+ "type": _TypeEnum.isRequired,
467467 });
468468 _IndexSignatureElement = PropTypes.shape({
469- "flags": _GetSignatureFlags,
470- "id": PropTypes.number,
471- "kind": PropTypes.number,
472- "kindString": PropTypes.string,
473- "name": PropTypes.string,
474- "parameters": PropTypes.oneOfType([PropTypes.arrayOf(_GetSignature), PropTypes.any]),
475- "type": _PurpleType,
469+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
470+ "id": PropTypes.number.isRequired,
471+ "kind": PropTypes.number.isRequired,
472+ "kindString": PropTypes.string.isRequired,
473+ "name": PropTypes.string.isRequired,
474+ "parameters": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _GetSignature(...args)), PropTypes.any]),
475+ "type": (...args) => _PurpleType.isRequired(...args),
476476 });
477477 _GetSignatureType = PropTypes.shape({
478- "declaration": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
479- "elementType": PropTypes.oneOfType([_ElementType, PropTypes.any]),
478+ "declaration": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
479+ "elementType": PropTypes.oneOfType([(...args) => _ElementType(...args), PropTypes.any]),
480480 "name": PropTypes.oneOfType([_Name, PropTypes.any]),
481- "type": _TypeEnum,
481+ "type": _TypeEnum.isRequired,
482482 });
483483 _GetSignatureFlags = PropTypes.shape({
484484 });
485485 _PurpleSignature = PropTypes.shape({
486- "comment": PropTypes.oneOfType([_PurpleComment, PropTypes.any]),
487- "flags": _GetSignatureFlags,
488- "id": PropTypes.number,
489- "kind": PropTypes.number,
490- "kindString": _SignatureKindString,
491- "name": PropTypes.string,
492- "parameters": PropTypes.arrayOf(_GetSignature),
493- "type": _TentacledType,
486+ "comment": PropTypes.oneOfType([(...args) => _PurpleComment(...args), PropTypes.any]),
487+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
488+ "id": PropTypes.number.isRequired,
489+ "kind": PropTypes.number.isRequired,
490+ "kindString": _SignatureKindString.isRequired,
491+ "name": PropTypes.string.isRequired,
492+ "parameters": PropTypes.arrayOf((...args) => _GetSignature(...args)).isRequired,
493+ "type": (...args) => _TentacledType.isRequired(...args),
494494 });
495495 _PurpleFlags = PropTypes.shape({
496496 "isExported": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
497497 });
498498 _PurpleComment = PropTypes.shape({
499- "shortText": PropTypes.string,
499+ "shortText": PropTypes.string.isRequired,
500500 });
501501 _TentacledChild = PropTypes.shape({
502- "comment": PropTypes.oneOfType([_PurpleComment, PropTypes.any]),
502+ "comment": PropTypes.oneOfType([(...args) => _PurpleComment(...args), PropTypes.any]),
503503 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
504- "flags": _PurpleFlags,
505- "id": PropTypes.number,
506- "kind": PropTypes.number,
507- "kindString": _PurpleKindString,
508- "name": PropTypes.string,
509- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_PurpleSignature), PropTypes.any]),
510- "sources": PropTypes.arrayOf(_Source),
511- "type": PropTypes.oneOfType([_TypeElement, PropTypes.any]),
504+ "flags": (...args) => _PurpleFlags.isRequired(...args),
505+ "id": PropTypes.number.isRequired,
506+ "kind": PropTypes.number.isRequired,
507+ "kindString": _PurpleKindString.isRequired,
508+ "name": PropTypes.string.isRequired,
509+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _PurpleSignature(...args)), PropTypes.any]),
510+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
511+ "type": PropTypes.oneOfType([(...args) => _TypeElement(...args), PropTypes.any]),
512512 });
513513 _FluffyChild = PropTypes.shape({
514- "children": PropTypes.oneOfType([PropTypes.arrayOf(_TentacledChild), PropTypes.any]),
515- "comment": PropTypes.oneOfType([_StickyComment, PropTypes.any]),
514+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TentacledChild(...args)), PropTypes.any]),
515+ "comment": PropTypes.oneOfType([(...args) => _StickyComment(...args), PropTypes.any]),
516516 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
517- "flags": _StickyFlags,
518- "getSignature": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
519- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
520- "id": PropTypes.number,
521- "implementationOf": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
522- "inheritedFrom": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
523- "kind": PropTypes.number,
524- "kindString": _PurpleKindString,
525- "name": PropTypes.string,
526- "overwrites": PropTypes.oneOfType([_ExtendedBy, PropTypes.any]),
527- "setSignature": PropTypes.oneOfType([_GetSignature, PropTypes.any]),
528- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_FluffySignature), PropTypes.any]),
529- "sources": PropTypes.arrayOf(_Source),
530- "type": PropTypes.oneOfType([_IndigoType, PropTypes.any]),
517+ "flags": (...args) => _StickyFlags.isRequired(...args),
518+ "getSignature": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
519+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
520+ "id": PropTypes.number.isRequired,
521+ "implementationOf": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
522+ "inheritedFrom": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
523+ "kind": PropTypes.number.isRequired,
524+ "kindString": _PurpleKindString.isRequired,
525+ "name": PropTypes.string.isRequired,
526+ "overwrites": PropTypes.oneOfType([(...args) => _ExtendedBy(...args), PropTypes.any]),
527+ "setSignature": PropTypes.oneOfType([(...args) => _GetSignature(...args), PropTypes.any]),
528+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _FluffySignature(...args)), PropTypes.any]),
529+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
530+ "type": PropTypes.oneOfType([(...args) => _IndigoType(...args), PropTypes.any]),
531531 });
532532 _PurpleChild = PropTypes.shape({
533- "children": PropTypes.oneOfType([PropTypes.arrayOf(_FluffyChild), PropTypes.any]),
534- "comment": PropTypes.oneOfType([_StickyComment, PropTypes.any]),
533+ "children": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _FluffyChild(...args)), PropTypes.any]),
534+ "comment": PropTypes.oneOfType([(...args) => _StickyComment(...args), PropTypes.any]),
535535 "defaultValue": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
536- "extendedBy": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
537- "extendedTypes": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
538- "flags": _IndecentFlags,
539- "groups": PropTypes.oneOfType([PropTypes.arrayOf(_Group), PropTypes.any]),
540- "id": PropTypes.number,
541- "implementedBy": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
542- "implementedTypes": PropTypes.oneOfType([PropTypes.arrayOf(_ExtendedBy), PropTypes.any]),
543- "kind": PropTypes.number,
544- "kindString": _FluffyKindString,
545- "name": PropTypes.string,
546- "signatures": PropTypes.oneOfType([PropTypes.arrayOf(_StickySignature), PropTypes.any]),
547- "sources": PropTypes.arrayOf(_Source),
548- "type": PropTypes.oneOfType([_MagentaType, PropTypes.any]),
549- "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf(_TypeParameter), PropTypes.any]),
536+ "extendedBy": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
537+ "extendedTypes": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
538+ "flags": (...args) => _IndecentFlags.isRequired(...args),
539+ "groups": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Group(...args)), PropTypes.any]),
540+ "id": PropTypes.number.isRequired,
541+ "implementedBy": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
542+ "implementedTypes": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _ExtendedBy(...args)), PropTypes.any]),
543+ "kind": PropTypes.number.isRequired,
544+ "kindString": _FluffyKindString.isRequired,
545+ "name": PropTypes.string.isRequired,
546+ "signatures": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _StickySignature(...args)), PropTypes.any]),
547+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
548+ "type": PropTypes.oneOfType([(...args) => _MagentaType(...args), PropTypes.any]),
549+ "typeParameter": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TypeParameter(...args)), PropTypes.any]),
550550 });
551551 _TopLevelChild = PropTypes.shape({
552- "children": PropTypes.arrayOf(_PurpleChild),
553- "comment": PropTypes.oneOfType([_IndecentComment, PropTypes.any]),
554- "flags": _PurpleFlags,
555- "groups": PropTypes.arrayOf(_Group),
556- "id": PropTypes.number,
557- "kind": PropTypes.number,
558- "kindString": _TentacledKindString,
559- "name": PropTypes.string,
560- "originalName": PropTypes.string,
561- "sources": PropTypes.arrayOf(_Source),
552+ "children": PropTypes.arrayOf((...args) => _PurpleChild(...args)).isRequired,
553+ "comment": PropTypes.oneOfType([(...args) => _IndecentComment(...args), PropTypes.any]),
554+ "flags": (...args) => _PurpleFlags.isRequired(...args),
555+ "groups": PropTypes.arrayOf((...args) => _Group(...args)).isRequired,
556+ "id": PropTypes.number.isRequired,
557+ "kind": PropTypes.number.isRequired,
558+ "kindString": _TentacledKindString.isRequired,
559+ "name": PropTypes.string.isRequired,
560+ "originalName": PropTypes.string.isRequired,
561+ "sources": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
562562 });
563563 _TopLevel = PropTypes.shape({
564- "children": PropTypes.arrayOf(_TopLevelChild),
565- "flags": _GetSignatureFlags,
566- "groups": PropTypes.arrayOf(_Group),
567- "id": PropTypes.number,
568- "kind": PropTypes.number,
569- "name": PropTypes.string,
564+ "children": PropTypes.arrayOf((...args) => _TopLevelChild(...args)).isRequired,
565+ "flags": (...args) => _GetSignatureFlags.isRequired(...args),
566+ "groups": PropTypes.arrayOf((...args) => _Group(...args)).isRequired,
567+ "id": PropTypes.number.isRequired,
568+ "kind": PropTypes.number.isRequired,
569+ "name": PropTypes.string.isRequired,
570570 });
571571
572572 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/bug855-short.json

1 generated file · +6 −6
Mjavascript-prop-typesdefault / toplevel.js+6 −6
@@ -14,11 +14,11 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "channel_id": PropTypes.string,
18- "channel_name": PropTypes.string,
19- "code": PropTypes.string,
20- "emoticon_set": PropTypes.number,
21- "id": PropTypes.number,
17+ "channel_id": PropTypes.string.isRequired,
18+ "channel_name": PropTypes.string.isRequired,
19+ "code": PropTypes.string.isRequired,
20+ "emoticon_set": PropTypes.number.isRequired,
21+ "id": PropTypes.number.isRequired,
2222 });
2323
24-export const TopLevel = _TopLevel;
24+export const TopLevel = PropTypes.objectOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/priority/bug863.json

1 generated file · +59 −59
Mjavascript-prop-typesdefault / toplevel.js+59 −59
@@ -14,67 +14,67 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevelElement;
1616 let _PurpleTopLevel;
17-const _Breed = PropTypes.oneOfType(['atrox', 'solitus', 'opifex', 'nano']);
18-const _Firstname = PropTypes.oneOfType(['empty', 'chi']);
19-const _Lastname = PropTypes.oneOfType(['empty', 'washko']);
20-const _Pvptitle = PropTypes.oneOfType(['freshman']);
21-const _RankTitle = PropTypes.oneOfType(['president', 'advisor', 'veteran', 'applicant']);
22-const _Sex = PropTypes.oneOfType(['neuter', 'male', 'female']);
17+const _Breed = PropTypes.oneOf(["Atrox", "Solitus", "Opifex", "Nano"]);
18+const _Firstname = PropTypes.oneOf(["", "Chi"]);
19+const _Lastname = PropTypes.oneOf(["", "Washko"]);
20+const _Pvptitle = PropTypes.oneOf(["Freshman"]);
21+const _RankTitle = PropTypes.oneOf(["President", "Advisor", "Veteran", "Applicant"]);
22+const _Sex = PropTypes.oneOf(["Neuter", "Male", "Female"]);
2323 _PurpleTopLevel = PropTypes.shape({
24- "ADVENTURERCOUNT": PropTypes.number,
25- "AGENTCOUNT": PropTypes.number,
26- "ATROXCOUNT": PropTypes.number,
27- "AVGLVL": PropTypes.number,
28- "BTCOUNT": PropTypes.number,
29- "DESCRIPTION": PropTypes.string,
30- "DOCTORCOUNT": PropTypes.number,
31- "ENFCOUNT": PropTypes.number,
32- "ENGINEEERCOUNT": PropTypes.number,
33- "FEMALECOUNT": PropTypes.number,
34- "FIXERCOUNT": PropTypes.number,
35- "GOVERNINGNAME": PropTypes.string,
36- "HISTORY": PropTypes.string,
37- "KEEPERCOUNT": PropTypes.number,
38- "MACOUNT": PropTypes.number,
39- "MALECOUNT": PropTypes.number,
40- "MAXLVL": PropTypes.number,
41- "METACOUNT": PropTypes.number,
42- "MINLVL": PropTypes.number,
43- "MONSTERCOUNT": PropTypes.number,
44- "NAME": PropTypes.string,
45- "NANOCOUNT": PropTypes.number,
46- "NANORACECOUNT": PropTypes.number,
47- "NEUTERCOUNT": PropTypes.number,
48- "NUMMEMBERS": PropTypes.number,
49- "OBJECTIVE": PropTypes.string,
50- "OPIFEXCOUNT": PropTypes.number,
51- "ORG_DIMENSION": PropTypes.number,
52- "ORG_INSTANCE": PropTypes.number,
53- "SHADECOUNT": PropTypes.number,
54- "SIDE": PropTypes.number,
55- "SIDE_NAME": PropTypes.string,
56- "SOLIDERCOUNT": PropTypes.number,
57- "SOLITUSCOUNT": PropTypes.number,
58- "TRADERCOUNT": PropTypes.number,
24+ "ADVENTURERCOUNT": PropTypes.number.isRequired,
25+ "AGENTCOUNT": PropTypes.number.isRequired,
26+ "ATROXCOUNT": PropTypes.number.isRequired,
27+ "AVGLVL": PropTypes.number.isRequired,
28+ "BTCOUNT": PropTypes.number.isRequired,
29+ "DESCRIPTION": PropTypes.string.isRequired,
30+ "DOCTORCOUNT": PropTypes.number.isRequired,
31+ "ENFCOUNT": PropTypes.number.isRequired,
32+ "ENGINEEERCOUNT": PropTypes.number.isRequired,
33+ "FEMALECOUNT": PropTypes.number.isRequired,
34+ "FIXERCOUNT": PropTypes.number.isRequired,
35+ "GOVERNINGNAME": PropTypes.string.isRequired,
36+ "HISTORY": PropTypes.string.isRequired,
37+ "KEEPERCOUNT": PropTypes.number.isRequired,
38+ "MACOUNT": PropTypes.number.isRequired,
39+ "MALECOUNT": PropTypes.number.isRequired,
40+ "MAXLVL": PropTypes.number.isRequired,
41+ "METACOUNT": PropTypes.number.isRequired,
42+ "MINLVL": PropTypes.number.isRequired,
43+ "MONSTERCOUNT": PropTypes.number.isRequired,
44+ "NAME": PropTypes.string.isRequired,
45+ "NANOCOUNT": PropTypes.number.isRequired,
46+ "NANORACECOUNT": PropTypes.number.isRequired,
47+ "NEUTERCOUNT": PropTypes.number.isRequired,
48+ "NUMMEMBERS": PropTypes.number.isRequired,
49+ "OBJECTIVE": PropTypes.string.isRequired,
50+ "OPIFEXCOUNT": PropTypes.number.isRequired,
51+ "ORG_DIMENSION": PropTypes.number.isRequired,
52+ "ORG_INSTANCE": PropTypes.number.isRequired,
53+ "SHADECOUNT": PropTypes.number.isRequired,
54+ "SIDE": PropTypes.number.isRequired,
55+ "SIDE_NAME": PropTypes.string.isRequired,
56+ "SOLIDERCOUNT": PropTypes.number.isRequired,
57+ "SOLITUSCOUNT": PropTypes.number.isRequired,
58+ "TRADERCOUNT": PropTypes.number.isRequired,
5959 });
6060 _TopLevelElement = PropTypes.shape({
61- "ALIENLEVEL": PropTypes.number,
62- "BREED": _Breed,
63- "CHAR_DIMENSION": PropTypes.number,
64- "CHAR_INSTANCE": PropTypes.number,
65- "DEFENDER_RANK_TITLE": PropTypes.string,
66- "FIRSTNAME": _Firstname,
67- "HEADID": PropTypes.number,
68- "LASTNAME": _Lastname,
69- "LEVELX": PropTypes.number,
70- "NAME": PropTypes.string,
71- "PROF": PropTypes.string,
72- "PROF_TITLE": PropTypes.string,
73- "PVPRATING": PropTypes.number,
74- "PVPTITLE": _Pvptitle,
75- "RANK": PropTypes.number,
76- "RANK_TITLE": _RankTitle,
77- "SEX": _Sex,
61+ "ALIENLEVEL": PropTypes.number.isRequired,
62+ "BREED": _Breed.isRequired,
63+ "CHAR_DIMENSION": PropTypes.number.isRequired,
64+ "CHAR_INSTANCE": PropTypes.number.isRequired,
65+ "DEFENDER_RANK_TITLE": PropTypes.string.isRequired,
66+ "FIRSTNAME": _Firstname.isRequired,
67+ "HEADID": PropTypes.number.isRequired,
68+ "LASTNAME": _Lastname.isRequired,
69+ "LEVELX": PropTypes.number.isRequired,
70+ "NAME": PropTypes.string.isRequired,
71+ "PROF": PropTypes.string.isRequired,
72+ "PROF_TITLE": PropTypes.string.isRequired,
73+ "PVPRATING": PropTypes.number.isRequired,
74+ "PVPTITLE": _Pvptitle.isRequired,
75+ "RANK": PropTypes.number.isRequired,
76+ "RANK_TITLE": _RankTitle.isRequired,
77+ "SEX": _Sex.isRequired,
7878 });
7979
80-export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(_TopLevelElement), _PurpleTopLevel, PropTypes.string]));
80+export const TopLevel = PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf((...args) => _TopLevelElement(...args)), (...args) => _PurpleTopLevel(...args), PropTypes.string]));
Test case

test/inputs/json/priority/coin-pairs.json

1 generated file · +10 −10
Mjavascript-prop-typesdefault / toplevel.js+10 −10
@@ -15,18 +15,18 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Pair;
1717 _Pair = PropTypes.shape({
18- "decimal_places": PropTypes.number,
19- "fee": PropTypes.number,
20- "hidden": PropTypes.number,
21- "max_amount": PropTypes.number,
22- "max_price": PropTypes.number,
23- "min_amount": PropTypes.number,
24- "min_price": PropTypes.number,
25- "min_total": PropTypes.number,
18+ "decimal_places": PropTypes.number.isRequired,
19+ "fee": PropTypes.number.isRequired,
20+ "hidden": PropTypes.number.isRequired,
21+ "max_amount": PropTypes.number.isRequired,
22+ "max_price": PropTypes.number.isRequired,
23+ "min_amount": PropTypes.number.isRequired,
24+ "min_price": PropTypes.number.isRequired,
25+ "min_total": PropTypes.number.isRequired,
2626 });
2727 _TopLevel = PropTypes.shape({
28- "pairs": PropTypes.object,
29- "server_time": PropTypes.number,
28+ "pairs": PropTypes.object.isRequired,
29+ "server_time": PropTypes.number.isRequired,
3030 });
3131
3232 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/combinations1.json

2 generated files · +102 −102
Mjavascript-prop-typesconverters-top-level--67aa452ed509 / toplevel.js+51 −51
@@ -27,10 +27,10 @@ let _FlagmakingClass;
2727 let _HemocoeleClass;
2828 let _Interacinar;
2929 _Interacinar = PropTypes.shape({
30- "assapan": PropTypes.number,
31- "benefactorship": PropTypes.bool,
32- "triseriatim": PropTypes.string,
33- "tubbing": PropTypes.number,
30+ "assapan": PropTypes.number.isRequired,
31+ "benefactorship": PropTypes.bool.isRequired,
32+ "triseriatim": PropTypes.string.isRequired,
33+ "tubbing": PropTypes.number.isRequired,
3434 "untrimmed": PropTypes.any,
3535 });
3636 _HemocoeleClass = PropTypes.shape({
@@ -242,10 +242,10 @@ _CoadjustClass = PropTypes.shape({
242242 "unchargeable": PropTypes.any,
243243 });
244244 _CimeliaClass = PropTypes.shape({
245- "Chirotherium": PropTypes.number,
246- "catharticalness": PropTypes.number,
247- "disdiapason": PropTypes.string,
248- "homocerc": PropTypes.bool,
245+ "Chirotherium": PropTypes.number.isRequired,
246+ "catharticalness": PropTypes.number.isRequired,
247+ "disdiapason": PropTypes.string.isRequired,
248+ "homocerc": PropTypes.bool.isRequired,
249249 "nonbookish": PropTypes.any,
250250 });
251251 _ChemotherapeuticClass = PropTypes.shape({
@@ -298,49 +298,49 @@ _CerographClass = PropTypes.shape({
298298 "unriveting": PropTypes.any,
299299 });
300300 _TopLevel = PropTypes.shape({
301- "centrodesmose": PropTypes.string,
302- "cerograph": PropTypes.arrayOf(PropTypes.oneOfType([_CerographClass, PropTypes.any, PropTypes.string])),
303- "chemotherapeutics": PropTypes.arrayOf(PropTypes.oneOfType([_ChemotherapeuticClass, PropTypes.number])),
304- "cimelia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _CimeliaClass, PropTypes.any])),
305- "citrated": PropTypes.number,
306- "clinodome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
307- "coadjust": PropTypes.arrayOf(PropTypes.oneOfType([_CoadjustClass, PropTypes.number])),
308- "consilience": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
309- "constructor": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])),
310- "continuative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])),
311- "credulity": PropTypes.arrayOf(PropTypes.oneOfType([_CredulityClass, PropTypes.number, PropTypes.string])),
312- "creviced": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string])),
313- "cubiculum": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any]))),
314- "deruralize": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, _DeruralizeClass])),
315- "diaereses": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, _DiaereseClass])),
316- "dissolution": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any])),
317- "downstroke": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.string])),
318- "electrotautomerism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
319- "eleutheromania": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])),
320- "encrust": _Encrust,
321- "entomoid": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.number])),
322- "epipaleolithic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
323- "expropriable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.number])),
324- "faggingly": PropTypes.arrayOf(PropTypes.oneOfType([_FagginglyClass, PropTypes.number])),
325- "fenks": PropTypes.arrayOf(PropTypes.oneOfType([_FenkClass, PropTypes.string])),
326- "flagmaking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _FlagmakingClass, PropTypes.number])),
327- "fluorometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])),
328- "fulsome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
329- "fuzzy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
330- "gardenwards": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.string])),
331- "generalissimo": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.any])),
332- "habeas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])),
333- "hemicrystalline": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.string])),
334- "hemocoele": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _HemocoeleClass])),
335- "hoister": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.any, PropTypes.string])),
336- "hyperpiesis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.any])),
337- "hyppish": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any, PropTypes.string])),
338- "idealizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.number])),
339- "incrustator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])),
340- "intentiveness": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.number, PropTypes.string])),
341- "interacinar": _Interacinar,
342- "intercorrelation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any])),
343- "jacutinga": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])),
301+ "centrodesmose": PropTypes.string.isRequired,
302+ "cerograph": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CerographClass(...args), PropTypes.any, PropTypes.string])).isRequired,
303+ "chemotherapeutics": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _ChemotherapeuticClass(...args), PropTypes.number])).isRequired,
304+ "cimelia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _CimeliaClass(...args), PropTypes.any])).isRequired,
305+ "citrated": PropTypes.number.isRequired,
306+ "clinodome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
307+ "coadjust": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CoadjustClass(...args), PropTypes.number])).isRequired,
308+ "consilience": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
309+ "constructor": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])).isRequired,
310+ "continuative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])).isRequired,
311+ "credulity": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CredulityClass(...args), PropTypes.number, PropTypes.string])).isRequired,
312+ "creviced": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string])).isRequired,
313+ "cubiculum": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any]))).isRequired,
314+ "deruralize": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, (...args) => _DeruralizeClass(...args)])).isRequired,
315+ "diaereses": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, (...args) => _DiaereseClass(...args)])).isRequired,
316+ "dissolution": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any])).isRequired,
317+ "downstroke": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.string])).isRequired,
318+ "electrotautomerism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
319+ "eleutheromania": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])).isRequired,
320+ "encrust": (...args) => _Encrust.isRequired(...args),
321+ "entomoid": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
322+ "epipaleolithic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
323+ "expropriable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
324+ "faggingly": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _FagginglyClass(...args), PropTypes.number])).isRequired,
325+ "fenks": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _FenkClass(...args), PropTypes.string])).isRequired,
326+ "flagmaking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _FlagmakingClass(...args), PropTypes.number])).isRequired,
327+ "fluorometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
328+ "fulsome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
329+ "fuzzy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
330+ "gardenwards": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.string])).isRequired,
331+ "generalissimo": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.any])).isRequired,
332+ "habeas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])).isRequired,
333+ "hemicrystalline": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.string])).isRequired,
334+ "hemocoele": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _HemocoeleClass(...args)])).isRequired,
335+ "hoister": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.any, PropTypes.string])).isRequired,
336+ "hyperpiesis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.any])).isRequired,
337+ "hyppish": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any, PropTypes.string])).isRequired,
338+ "idealizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
339+ "incrustator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])).isRequired,
340+ "intentiveness": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.number, PropTypes.string])).isRequired,
341+ "interacinar": (...args) => _Interacinar.isRequired(...args),
342+ "intercorrelation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any])).isRequired,
343+ "jacutinga": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])).isRequired,
344344 });
345345
346346 export const TopLevel = _TopLevel;
Mjavascript-prop-typesdefault / toplevel.js+51 −51
@@ -27,10 +27,10 @@ let _FlagmakingClass;
2727 let _HemocoeleClass;
2828 let _Interacinar;
2929 _Interacinar = PropTypes.shape({
30- "assapan": PropTypes.number,
31- "benefactorship": PropTypes.bool,
32- "triseriatim": PropTypes.string,
33- "tubbing": PropTypes.number,
30+ "assapan": PropTypes.number.isRequired,
31+ "benefactorship": PropTypes.bool.isRequired,
32+ "triseriatim": PropTypes.string.isRequired,
33+ "tubbing": PropTypes.number.isRequired,
3434 "untrimmed": PropTypes.any,
3535 });
3636 _HemocoeleClass = PropTypes.shape({
@@ -242,10 +242,10 @@ _CoadjustClass = PropTypes.shape({
242242 "unchargeable": PropTypes.any,
243243 });
244244 _CimeliaClass = PropTypes.shape({
245- "Chirotherium": PropTypes.number,
246- "catharticalness": PropTypes.number,
247- "disdiapason": PropTypes.string,
248- "homocerc": PropTypes.bool,
245+ "Chirotherium": PropTypes.number.isRequired,
246+ "catharticalness": PropTypes.number.isRequired,
247+ "disdiapason": PropTypes.string.isRequired,
248+ "homocerc": PropTypes.bool.isRequired,
249249 "nonbookish": PropTypes.any,
250250 });
251251 _ChemotherapeuticClass = PropTypes.shape({
@@ -298,49 +298,49 @@ _CerographClass = PropTypes.shape({
298298 "unriveting": PropTypes.any,
299299 });
300300 _TopLevel = PropTypes.shape({
301- "centrodesmose": PropTypes.string,
302- "cerograph": PropTypes.arrayOf(PropTypes.oneOfType([_CerographClass, PropTypes.any, PropTypes.string])),
303- "chemotherapeutics": PropTypes.arrayOf(PropTypes.oneOfType([_ChemotherapeuticClass, PropTypes.number])),
304- "cimelia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _CimeliaClass, PropTypes.any])),
305- "citrated": PropTypes.number,
306- "clinodome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
307- "coadjust": PropTypes.arrayOf(PropTypes.oneOfType([_CoadjustClass, PropTypes.number])),
308- "consilience": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
309- "constructor": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])),
310- "continuative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])),
311- "credulity": PropTypes.arrayOf(PropTypes.oneOfType([_CredulityClass, PropTypes.number, PropTypes.string])),
312- "creviced": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string])),
313- "cubiculum": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any]))),
314- "deruralize": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, _DeruralizeClass])),
315- "diaereses": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, _DiaereseClass])),
316- "dissolution": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any])),
317- "downstroke": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.string])),
318- "electrotautomerism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
319- "eleutheromania": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])),
320- "encrust": _Encrust,
321- "entomoid": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.number])),
322- "epipaleolithic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
323- "expropriable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.number])),
324- "faggingly": PropTypes.arrayOf(PropTypes.oneOfType([_FagginglyClass, PropTypes.number])),
325- "fenks": PropTypes.arrayOf(PropTypes.oneOfType([_FenkClass, PropTypes.string])),
326- "flagmaking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _FlagmakingClass, PropTypes.number])),
327- "fluorometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])),
328- "fulsome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
329- "fuzzy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
330- "gardenwards": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.string])),
331- "generalissimo": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.any])),
332- "habeas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])),
333- "hemicrystalline": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.string])),
334- "hemocoele": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _HemocoeleClass])),
335- "hoister": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.any, PropTypes.string])),
336- "hyperpiesis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.any])),
337- "hyppish": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any, PropTypes.string])),
338- "idealizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _CimeliaClass, PropTypes.number])),
339- "incrustator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])),
340- "intentiveness": PropTypes.arrayOf(PropTypes.oneOfType([_CimeliaClass, PropTypes.number, PropTypes.string])),
341- "interacinar": _Interacinar,
342- "intercorrelation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any])),
343- "jacutinga": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])),
301+ "centrodesmose": PropTypes.string.isRequired,
302+ "cerograph": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CerographClass(...args), PropTypes.any, PropTypes.string])).isRequired,
303+ "chemotherapeutics": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _ChemotherapeuticClass(...args), PropTypes.number])).isRequired,
304+ "cimelia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _CimeliaClass(...args), PropTypes.any])).isRequired,
305+ "citrated": PropTypes.number.isRequired,
306+ "clinodome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
307+ "coadjust": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CoadjustClass(...args), PropTypes.number])).isRequired,
308+ "consilience": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
309+ "constructor": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])).isRequired,
310+ "continuative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])).isRequired,
311+ "credulity": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CredulityClass(...args), PropTypes.number, PropTypes.string])).isRequired,
312+ "creviced": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.string])).isRequired,
313+ "cubiculum": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any]))).isRequired,
314+ "deruralize": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, (...args) => _DeruralizeClass(...args)])).isRequired,
315+ "diaereses": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, (...args) => _DiaereseClass(...args)])).isRequired,
316+ "dissolution": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any])).isRequired,
317+ "downstroke": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.string])).isRequired,
318+ "electrotautomerism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
319+ "eleutheromania": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])).isRequired,
320+ "encrust": (...args) => _Encrust.isRequired(...args),
321+ "entomoid": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
322+ "epipaleolithic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
323+ "expropriable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
324+ "faggingly": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _FagginglyClass(...args), PropTypes.number])).isRequired,
325+ "fenks": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _FenkClass(...args), PropTypes.string])).isRequired,
326+ "flagmaking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _FlagmakingClass(...args), PropTypes.number])).isRequired,
327+ "fluorometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
328+ "fulsome": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
329+ "fuzzy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
330+ "gardenwards": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.string])).isRequired,
331+ "generalissimo": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object, PropTypes.any])).isRequired,
332+ "habeas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])).isRequired,
333+ "hemicrystalline": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.string])).isRequired,
334+ "hemocoele": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _HemocoeleClass(...args)])).isRequired,
335+ "hoister": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.any, PropTypes.string])).isRequired,
336+ "hyperpiesis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.any])).isRequired,
337+ "hyppish": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any, PropTypes.string])).isRequired,
338+ "idealizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _CimeliaClass(...args), PropTypes.number])).isRequired,
339+ "incrustator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])).isRequired,
340+ "intentiveness": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _CimeliaClass(...args), PropTypes.number, PropTypes.string])).isRequired,
341+ "interacinar": (...args) => _Interacinar.isRequired(...args),
342+ "intercorrelation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any])).isRequired,
343+ "jacutinga": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])).isRequired,
344344 });
345345
346346 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/combinations2.json

2 generated files · +96 −96
Mjavascript-prop-typesconverters-top-level--67aa452ed509 / toplevel.js+48 −48
@@ -95,10 +95,10 @@ _AlleviateClass = PropTypes.shape({
9595 "wherewithal": PropTypes.any,
9696 });
9797 _Rebecca = PropTypes.shape({
98- "Chirotherium": PropTypes.number,
99- "catharticalness": PropTypes.number,
100- "disdiapason": PropTypes.string,
101- "homocerc": PropTypes.bool,
98+ "Chirotherium": PropTypes.number.isRequired,
99+ "catharticalness": PropTypes.number.isRequired,
100+ "disdiapason": PropTypes.string.isRequired,
101+ "homocerc": PropTypes.bool.isRequired,
102102 "nonbookish": PropTypes.any,
103103 });
104104 _OskarClass = PropTypes.shape({
@@ -244,51 +244,51 @@ _AnsarieClass = PropTypes.shape({
244244 "zincic": PropTypes.any,
245245 });
246246 _TopLevel = PropTypes.shape({
247- "Abranchiata": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])),
248- "Andriana": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.any, PropTypes.string])),
249- "Ansarie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _AnsarieClass, PropTypes.any])),
250- "Chytridiaceae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _ChytridiaceaeClass, PropTypes.any])),
251- "Discordia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _DiscordiaClass])),
252- "Endomyces": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
253- "Epinephelidae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])),
254- "Eupatorium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])),
255- "Gryphosaurus": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _GryphosaurusClass, PropTypes.string])),
256- "Koryak": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])),
257- "Lavinia": PropTypes.arrayOf(PropTypes.oneOfType([_LaviniaClass, PropTypes.string])),
258- "Oskar": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _OskarClass])),
259- "Rebecca": PropTypes.arrayOf(PropTypes.oneOfType([_Rebecca, PropTypes.number, PropTypes.string])),
260- "Rhomboganoidei": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca, PropTypes.string])),
261- "Rigsmal": PropTypes.bool,
262- "Ruellia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _Rebecca, PropTypes.string])),
263- "School": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])),
264- "Shakespearolater": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])),
265- "Svan": PropTypes.arrayOf(PropTypes.number),
266- "Wayao": PropTypes.object,
267- "academe": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])),
268- "acquirable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.object])),
269- "aerometry": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
270- "alexin": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool])),
271- "alleviate": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), _AlleviateClass])),
272- "amaas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _Rebecca, PropTypes.number])),
273- "ambassage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.string])),
274- "amphithyron": PropTypes.arrayOf(PropTypes.oneOfType([_Amphithyron, PropTypes.any])),
275- "ankee": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _AnkeeClass, PropTypes.number])),
276- "annihilator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])),
247+ "Abranchiata": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])).isRequired,
248+ "Andriana": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.any, PropTypes.string])).isRequired,
249+ "Ansarie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _AnsarieClass(...args), PropTypes.any])).isRequired,
250+ "Chytridiaceae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _ChytridiaceaeClass(...args), PropTypes.any])).isRequired,
251+ "Discordia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _DiscordiaClass(...args)])).isRequired,
252+ "Endomyces": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
253+ "Epinephelidae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])).isRequired,
254+ "Eupatorium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])).isRequired,
255+ "Gryphosaurus": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _GryphosaurusClass(...args), PropTypes.string])).isRequired,
256+ "Koryak": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])).isRequired,
257+ "Lavinia": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LaviniaClass(...args), PropTypes.string])).isRequired,
258+ "Oskar": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _OskarClass(...args)])).isRequired,
259+ "Rebecca": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Rebecca(...args), PropTypes.number, PropTypes.string])).isRequired,
260+ "Rhomboganoidei": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args), PropTypes.string])).isRequired,
261+ "Rigsmal": PropTypes.bool.isRequired,
262+ "Ruellia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _Rebecca(...args), PropTypes.string])).isRequired,
263+ "School": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])).isRequired,
264+ "Shakespearolater": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])).isRequired,
265+ "Svan": PropTypes.arrayOf(PropTypes.number).isRequired,
266+ "Wayao": PropTypes.object.isRequired,
267+ "academe": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])).isRequired,
268+ "acquirable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.object])).isRequired,
269+ "aerometry": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
270+ "alexin": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool])).isRequired,
271+ "alleviate": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), (...args) => _AlleviateClass(...args)])).isRequired,
272+ "amaas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _Rebecca(...args), PropTypes.number])).isRequired,
273+ "ambassage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.string])).isRequired,
274+ "amphithyron": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Amphithyron(...args), PropTypes.any])).isRequired,
275+ "ankee": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _AnkeeClass(...args), PropTypes.number])).isRequired,
276+ "annihilator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])).isRequired,
277277 "annulose": PropTypes.any,
278- "aphasia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
279- "asprawl": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
280- "attractive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any])),
281- "barksome": PropTypes.object,
282- "bedesman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])),
283- "belard": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca, PropTypes.number])),
284- "bocking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.object])),
285- "brawlingly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])),
286- "brookie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca])),
287- "bumboatman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any, PropTypes.string])),
288- "bystreet": PropTypes.arrayOf(PropTypes.any),
289- "calaverite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.string])),
290- "catallactic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.object])),
291- "cemental": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])),
278+ "aphasia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
279+ "asprawl": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
280+ "attractive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any])).isRequired,
281+ "barksome": PropTypes.object.isRequired,
282+ "bedesman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])).isRequired,
283+ "belard": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args), PropTypes.number])).isRequired,
284+ "bocking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.object])).isRequired,
285+ "brawlingly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])).isRequired,
286+ "brookie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args)])).isRequired,
287+ "bumboatman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any, PropTypes.string])).isRequired,
288+ "bystreet": PropTypes.arrayOf(PropTypes.any).isRequired,
289+ "calaverite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.string])).isRequired,
290+ "catallactic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.object])).isRequired,
291+ "cemental": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])).isRequired,
292292 });
293293
294294 export const TopLevel = _TopLevel;
Mjavascript-prop-typesdefault / toplevel.js+48 −48
@@ -95,10 +95,10 @@ _AlleviateClass = PropTypes.shape({
9595 "wherewithal": PropTypes.any,
9696 });
9797 _Rebecca = PropTypes.shape({
98- "Chirotherium": PropTypes.number,
99- "catharticalness": PropTypes.number,
100- "disdiapason": PropTypes.string,
101- "homocerc": PropTypes.bool,
98+ "Chirotherium": PropTypes.number.isRequired,
99+ "catharticalness": PropTypes.number.isRequired,
100+ "disdiapason": PropTypes.string.isRequired,
101+ "homocerc": PropTypes.bool.isRequired,
102102 "nonbookish": PropTypes.any,
103103 });
104104 _OskarClass = PropTypes.shape({
@@ -244,51 +244,51 @@ _AnsarieClass = PropTypes.shape({
244244 "zincic": PropTypes.any,
245245 });
246246 _TopLevel = PropTypes.shape({
247- "Abranchiata": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])),
248- "Andriana": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.any, PropTypes.string])),
249- "Ansarie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _AnsarieClass, PropTypes.any])),
250- "Chytridiaceae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _ChytridiaceaeClass, PropTypes.any])),
251- "Discordia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _DiscordiaClass])),
252- "Endomyces": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
253- "Epinephelidae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])),
254- "Eupatorium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])),
255- "Gryphosaurus": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _GryphosaurusClass, PropTypes.string])),
256- "Koryak": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])),
257- "Lavinia": PropTypes.arrayOf(PropTypes.oneOfType([_LaviniaClass, PropTypes.string])),
258- "Oskar": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _OskarClass])),
259- "Rebecca": PropTypes.arrayOf(PropTypes.oneOfType([_Rebecca, PropTypes.number, PropTypes.string])),
260- "Rhomboganoidei": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca, PropTypes.string])),
261- "Rigsmal": PropTypes.bool,
262- "Ruellia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _Rebecca, PropTypes.string])),
263- "School": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])),
264- "Shakespearolater": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])),
265- "Svan": PropTypes.arrayOf(PropTypes.number),
266- "Wayao": PropTypes.object,
267- "academe": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])),
268- "acquirable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.object])),
269- "aerometry": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
270- "alexin": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool])),
271- "alleviate": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), _AlleviateClass])),
272- "amaas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _Rebecca, PropTypes.number])),
273- "ambassage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.string])),
274- "amphithyron": PropTypes.arrayOf(PropTypes.oneOfType([_Amphithyron, PropTypes.any])),
275- "ankee": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _AnkeeClass, PropTypes.number])),
276- "annihilator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])),
247+ "Abranchiata": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])).isRequired,
248+ "Andriana": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.any, PropTypes.string])).isRequired,
249+ "Ansarie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _AnsarieClass(...args), PropTypes.any])).isRequired,
250+ "Chytridiaceae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _ChytridiaceaeClass(...args), PropTypes.any])).isRequired,
251+ "Discordia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _DiscordiaClass(...args)])).isRequired,
252+ "Endomyces": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
253+ "Epinephelidae": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])).isRequired,
254+ "Eupatorium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])).isRequired,
255+ "Gryphosaurus": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _GryphosaurusClass(...args), PropTypes.string])).isRequired,
256+ "Koryak": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.string])).isRequired,
257+ "Lavinia": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LaviniaClass(...args), PropTypes.string])).isRequired,
258+ "Oskar": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _OskarClass(...args)])).isRequired,
259+ "Rebecca": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Rebecca(...args), PropTypes.number, PropTypes.string])).isRequired,
260+ "Rhomboganoidei": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args), PropTypes.string])).isRequired,
261+ "Rigsmal": PropTypes.bool.isRequired,
262+ "Ruellia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _Rebecca(...args), PropTypes.string])).isRequired,
263+ "School": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])).isRequired,
264+ "Shakespearolater": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.string])).isRequired,
265+ "Svan": PropTypes.arrayOf(PropTypes.number).isRequired,
266+ "Wayao": PropTypes.object.isRequired,
267+ "academe": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])).isRequired,
268+ "acquirable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.object])).isRequired,
269+ "aerometry": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
270+ "alexin": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool])).isRequired,
271+ "alleviate": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), (...args) => _AlleviateClass(...args)])).isRequired,
272+ "amaas": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _Rebecca(...args), PropTypes.number])).isRequired,
273+ "ambassage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.string])).isRequired,
274+ "amphithyron": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Amphithyron(...args), PropTypes.any])).isRequired,
275+ "ankee": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _AnkeeClass(...args), PropTypes.number])).isRequired,
276+ "annihilator": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any])).isRequired,
277277 "annulose": PropTypes.any,
278- "aphasia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
279- "asprawl": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])),
280- "attractive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any])),
281- "barksome": PropTypes.object,
282- "bedesman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])),
283- "belard": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca, PropTypes.number])),
284- "bocking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.object])),
285- "brawlingly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])),
286- "brookie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _Rebecca])),
287- "bumboatman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any, PropTypes.string])),
288- "bystreet": PropTypes.arrayOf(PropTypes.any),
289- "calaverite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.string])),
290- "catallactic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.object])),
291- "cemental": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])),
278+ "aphasia": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
279+ "asprawl": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])).isRequired,
280+ "attractive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.any])).isRequired,
281+ "barksome": PropTypes.object.isRequired,
282+ "bedesman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.string])).isRequired,
283+ "belard": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args), PropTypes.number])).isRequired,
284+ "bocking": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.object])).isRequired,
285+ "brawlingly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object])).isRequired,
286+ "brookie": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _Rebecca(...args)])).isRequired,
287+ "bumboatman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.any, PropTypes.string])).isRequired,
288+ "bystreet": PropTypes.arrayOf(PropTypes.any).isRequired,
289+ "calaverite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.string])).isRequired,
290+ "catallactic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.object])).isRequired,
291+ "cemental": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object])).isRequired,
292292 });
293293
294294 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/combinations3.json

2 generated files · +100 −100
Mjavascript-prop-typesconverters-top-level--67aa452ed509 / toplevel.js+50 −50
@@ -170,10 +170,10 @@ _OccupationalistClass = PropTypes.shape({
170170 "unpocketed": PropTypes.any,
171171 });
172172 _Noncontributing = PropTypes.shape({
173- "estevin": PropTypes.string,
174- "jolterhead": PropTypes.number,
175- "sauternes": PropTypes.number,
176- "sparsely": PropTypes.bool,
173+ "estevin": PropTypes.string.isRequired,
174+ "jolterhead": PropTypes.number.isRequired,
175+ "sauternes": PropTypes.number.isRequired,
176+ "sparsely": PropTypes.bool.isRequired,
177177 "unrequested": PropTypes.any,
178178 });
179179 _MonotheisticallyClass = PropTypes.shape({
@@ -204,10 +204,10 @@ _MonotheisticallyClass = PropTypes.shape({
204204 "whitestone": PropTypes.any,
205205 });
206206 _MonaziteClass = PropTypes.shape({
207- "Chirotherium": PropTypes.number,
208- "catharticalness": PropTypes.number,
209- "disdiapason": PropTypes.string,
210- "homocerc": PropTypes.bool,
207+ "Chirotherium": PropTypes.number.isRequired,
208+ "catharticalness": PropTypes.number.isRequired,
209+ "disdiapason": PropTypes.string.isRequired,
210+ "homocerc": PropTypes.bool.isRequired,
211211 "nonbookish": PropTypes.any,
212212 });
213213 _Maslin = PropTypes.shape({
@@ -351,48 +351,48 @@ _JurorClass = PropTypes.shape({
351351 "uninhabitedness": PropTypes.any,
352352 });
353353 _TopLevel = PropTypes.shape({
354- "juror": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _JurorClass])),
355- "kongoni": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])),
356- "ladronism": PropTypes.arrayOf(PropTypes.oneOfType([_LadronismClass, PropTypes.number, PropTypes.string])),
357- "landlubberly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _LandlubberlyClass, PropTypes.number])),
358- "listener": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
359- "lupus": PropTypes.arrayOf(PropTypes.oneOfType([_LupusClass, PropTypes.number])),
360- "maslin": PropTypes.arrayOf(_Maslin),
361- "monazite": PropTypes.arrayOf(PropTypes.oneOfType([_MonaziteClass, PropTypes.number])),
362- "monoliteral": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool])),
363- "monotheistically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonotheisticallyClass])),
364- "montage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])),
365- "moralness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])),
366- "mowra": PropTypes.arrayOf(PropTypes.oneOfType([_MonaziteClass, PropTypes.any])),
367- "mulishly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])),
368- "myoscope": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])),
369- "nach": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.any])),
370- "neuromastic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
371- "noncontributing": PropTypes.arrayOf(_Noncontributing),
372- "nonnervous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
373- "nonvaluation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])),
374- "occupationalist": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _OccupationalistClass, PropTypes.any])),
375- "outrival": PropTypes.arrayOf(PropTypes.oneOfType([_OutrivalClass, PropTypes.number, PropTypes.any])),
376- "paleographically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
377- "pamphletwise": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])),
378- "pediatrics": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])),
379- "perceptive": PropTypes.arrayOf(PropTypes.bool),
380- "piaculum": PropTypes.arrayOf(PropTypes.oneOfType([_PiaculumClass, PropTypes.number])),
381- "piccadilly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])),
382- "piffler": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonaziteClass])),
383- "pithful": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])),
384- "placuntitis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
385- "plectopterous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
386- "pneumocele": PropTypes.arrayOf(PropTypes.oneOfType([_Pneumocele, PropTypes.any])),
387- "poliorcetic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _MonaziteClass])),
388- "poormaster": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.any])),
389- "potwhisky": PropTypes.arrayOf(PropTypes.oneOfType([_PotwhiskyClass, PropTypes.number, PropTypes.any])),
390- "practicalizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonaziteClass, PropTypes.string])),
391- "prefreshman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _PrefreshmanClass, PropTypes.string])),
392- "prehensility": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, _MonaziteClass])),
393- "prevoidance": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _MonaziteClass, PropTypes.number])),
394- "probant": PropTypes.arrayOf(PropTypes.object),
395- "protext": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, _MonaziteClass])),
354+ "juror": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _JurorClass(...args)])).isRequired,
355+ "kongoni": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])).isRequired,
356+ "ladronism": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LadronismClass(...args), PropTypes.number, PropTypes.string])).isRequired,
357+ "landlubberly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _LandlubberlyClass(...args), PropTypes.number])).isRequired,
358+ "listener": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
359+ "lupus": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LupusClass(...args), PropTypes.number])).isRequired,
360+ "maslin": PropTypes.arrayOf((...args) => _Maslin(...args)).isRequired,
361+ "monazite": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _MonaziteClass(...args), PropTypes.number])).isRequired,
362+ "monoliteral": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool])).isRequired,
363+ "monotheistically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonotheisticallyClass(...args)])).isRequired,
364+ "montage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])).isRequired,
365+ "moralness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])).isRequired,
366+ "mowra": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _MonaziteClass(...args), PropTypes.any])).isRequired,
367+ "mulishly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])).isRequired,
368+ "myoscope": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])).isRequired,
369+ "nach": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.any])).isRequired,
370+ "neuromastic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
371+ "noncontributing": PropTypes.arrayOf((...args) => _Noncontributing(...args)).isRequired,
372+ "nonnervous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
373+ "nonvaluation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])).isRequired,
374+ "occupationalist": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _OccupationalistClass(...args), PropTypes.any])).isRequired,
375+ "outrival": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _OutrivalClass(...args), PropTypes.number, PropTypes.any])).isRequired,
376+ "paleographically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
377+ "pamphletwise": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])).isRequired,
378+ "pediatrics": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])).isRequired,
379+ "perceptive": PropTypes.arrayOf(PropTypes.bool).isRequired,
380+ "piaculum": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PiaculumClass(...args), PropTypes.number])).isRequired,
381+ "piccadilly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
382+ "piffler": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonaziteClass(...args)])).isRequired,
383+ "pithful": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])).isRequired,
384+ "placuntitis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
385+ "plectopterous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
386+ "pneumocele": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Pneumocele(...args), PropTypes.any])).isRequired,
387+ "poliorcetic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
388+ "poormaster": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.any])).isRequired,
389+ "potwhisky": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PotwhiskyClass(...args), PropTypes.number, PropTypes.any])).isRequired,
390+ "practicalizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonaziteClass(...args), PropTypes.string])).isRequired,
391+ "prefreshman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _PrefreshmanClass(...args), PropTypes.string])).isRequired,
392+ "prehensility": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
393+ "prevoidance": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _MonaziteClass(...args), PropTypes.number])).isRequired,
394+ "probant": PropTypes.arrayOf(PropTypes.object).isRequired,
395+ "protext": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
396396 });
397397
398398 export const TopLevel = _TopLevel;
Mjavascript-prop-typesdefault / toplevel.js+50 −50
@@ -170,10 +170,10 @@ _OccupationalistClass = PropTypes.shape({
170170 "unpocketed": PropTypes.any,
171171 });
172172 _Noncontributing = PropTypes.shape({
173- "estevin": PropTypes.string,
174- "jolterhead": PropTypes.number,
175- "sauternes": PropTypes.number,
176- "sparsely": PropTypes.bool,
173+ "estevin": PropTypes.string.isRequired,
174+ "jolterhead": PropTypes.number.isRequired,
175+ "sauternes": PropTypes.number.isRequired,
176+ "sparsely": PropTypes.bool.isRequired,
177177 "unrequested": PropTypes.any,
178178 });
179179 _MonotheisticallyClass = PropTypes.shape({
@@ -204,10 +204,10 @@ _MonotheisticallyClass = PropTypes.shape({
204204 "whitestone": PropTypes.any,
205205 });
206206 _MonaziteClass = PropTypes.shape({
207- "Chirotherium": PropTypes.number,
208- "catharticalness": PropTypes.number,
209- "disdiapason": PropTypes.string,
210- "homocerc": PropTypes.bool,
207+ "Chirotherium": PropTypes.number.isRequired,
208+ "catharticalness": PropTypes.number.isRequired,
209+ "disdiapason": PropTypes.string.isRequired,
210+ "homocerc": PropTypes.bool.isRequired,
211211 "nonbookish": PropTypes.any,
212212 });
213213 _Maslin = PropTypes.shape({
@@ -351,48 +351,48 @@ _JurorClass = PropTypes.shape({
351351 "uninhabitedness": PropTypes.any,
352352 });
353353 _TopLevel = PropTypes.shape({
354- "juror": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _JurorClass])),
355- "kongoni": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])),
356- "ladronism": PropTypes.arrayOf(PropTypes.oneOfType([_LadronismClass, PropTypes.number, PropTypes.string])),
357- "landlubberly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _LandlubberlyClass, PropTypes.number])),
358- "listener": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
359- "lupus": PropTypes.arrayOf(PropTypes.oneOfType([_LupusClass, PropTypes.number])),
360- "maslin": PropTypes.arrayOf(_Maslin),
361- "monazite": PropTypes.arrayOf(PropTypes.oneOfType([_MonaziteClass, PropTypes.number])),
362- "monoliteral": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool])),
363- "monotheistically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonotheisticallyClass])),
364- "montage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])),
365- "moralness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])),
366- "mowra": PropTypes.arrayOf(PropTypes.oneOfType([_MonaziteClass, PropTypes.any])),
367- "mulishly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])),
368- "myoscope": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])),
369- "nach": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.any])),
370- "neuromastic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
371- "noncontributing": PropTypes.arrayOf(_Noncontributing),
372- "nonnervous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
373- "nonvaluation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])),
374- "occupationalist": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _OccupationalistClass, PropTypes.any])),
375- "outrival": PropTypes.arrayOf(PropTypes.oneOfType([_OutrivalClass, PropTypes.number, PropTypes.any])),
376- "paleographically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
377- "pamphletwise": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])),
378- "pediatrics": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])),
379- "perceptive": PropTypes.arrayOf(PropTypes.bool),
380- "piaculum": PropTypes.arrayOf(PropTypes.oneOfType([_PiaculumClass, PropTypes.number])),
381- "piccadilly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])),
382- "piffler": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonaziteClass])),
383- "pithful": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])),
384- "placuntitis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
385- "plectopterous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])),
386- "pneumocele": PropTypes.arrayOf(PropTypes.oneOfType([_Pneumocele, PropTypes.any])),
387- "poliorcetic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _MonaziteClass])),
388- "poormaster": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.any])),
389- "potwhisky": PropTypes.arrayOf(PropTypes.oneOfType([_PotwhiskyClass, PropTypes.number, PropTypes.any])),
390- "practicalizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _MonaziteClass, PropTypes.string])),
391- "prefreshman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _PrefreshmanClass, PropTypes.string])),
392- "prehensility": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, _MonaziteClass])),
393- "prevoidance": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _MonaziteClass, PropTypes.number])),
394- "probant": PropTypes.arrayOf(PropTypes.object),
395- "protext": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, _MonaziteClass])),
354+ "juror": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _JurorClass(...args)])).isRequired,
355+ "kongoni": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object])).isRequired,
356+ "ladronism": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LadronismClass(...args), PropTypes.number, PropTypes.string])).isRequired,
357+ "landlubberly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _LandlubberlyClass(...args), PropTypes.number])).isRequired,
358+ "listener": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
359+ "lupus": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _LupusClass(...args), PropTypes.number])).isRequired,
360+ "maslin": PropTypes.arrayOf((...args) => _Maslin(...args)).isRequired,
361+ "monazite": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _MonaziteClass(...args), PropTypes.number])).isRequired,
362+ "monoliteral": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool])).isRequired,
363+ "monotheistically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonotheisticallyClass(...args)])).isRequired,
364+ "montage": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])).isRequired,
365+ "moralness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])).isRequired,
366+ "mowra": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _MonaziteClass(...args), PropTypes.any])).isRequired,
367+ "mulishly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.any])).isRequired,
368+ "myoscope": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])).isRequired,
369+ "nach": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.any])).isRequired,
370+ "neuromastic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
371+ "noncontributing": PropTypes.arrayOf((...args) => _Noncontributing(...args)).isRequired,
372+ "nonnervous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
373+ "nonvaluation": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.number])).isRequired,
374+ "occupationalist": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _OccupationalistClass(...args), PropTypes.any])).isRequired,
375+ "outrival": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _OutrivalClass(...args), PropTypes.number, PropTypes.any])).isRequired,
376+ "paleographically": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
377+ "pamphletwise": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.string])).isRequired,
378+ "pediatrics": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])).isRequired,
379+ "perceptive": PropTypes.arrayOf(PropTypes.bool).isRequired,
380+ "piaculum": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PiaculumClass(...args), PropTypes.number])).isRequired,
381+ "piccadilly": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
382+ "piffler": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonaziteClass(...args)])).isRequired,
383+ "pithful": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.any])).isRequired,
384+ "placuntitis": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
385+ "plectopterous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object])).isRequired,
386+ "pneumocele": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Pneumocele(...args), PropTypes.any])).isRequired,
387+ "poliorcetic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
388+ "poormaster": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.any])).isRequired,
389+ "potwhisky": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PotwhiskyClass(...args), PropTypes.number, PropTypes.any])).isRequired,
390+ "practicalizer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _MonaziteClass(...args), PropTypes.string])).isRequired,
391+ "prefreshman": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _PrefreshmanClass(...args), PropTypes.string])).isRequired,
392+ "prehensility": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
393+ "prevoidance": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _MonaziteClass(...args), PropTypes.number])).isRequired,
394+ "probant": PropTypes.arrayOf(PropTypes.object).isRequired,
395+ "protext": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, (...args) => _MonaziteClass(...args)])).isRequired,
396396 });
397397
398398 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/combinations4.json

2 generated files · +152 −152
Mjavascript-prop-typesconverters-top-level--67aa452ed509 / toplevel.js+76 −76
@@ -297,26 +297,26 @@ _RewriteClass = PropTypes.shape({
297297 "yardman": PropTypes.any,
298298 });
299299 _Ressaut = PropTypes.shape({
300- "Freesia": PropTypes.string,
301- "Genevieve": PropTypes.string,
302- "Mimosaceae": PropTypes.string,
303- "Theopaschitism": PropTypes.string,
304- "apperceptive": PropTypes.string,
305- "cuttoo": PropTypes.string,
306- "douser": PropTypes.string,
307- "drinkproof": PropTypes.string,
308- "forementioned": PropTypes.string,
309- "hyperdiabolical": PropTypes.string,
310- "hypocone": PropTypes.string,
311- "irreverentially": PropTypes.string,
312- "jumart": PropTypes.string,
313- "mollicrush": PropTypes.string,
314- "nedder": PropTypes.string,
315- "retinasphalt": PropTypes.string,
316- "sough": PropTypes.string,
317- "steading": PropTypes.string,
318- "undurableness": PropTypes.string,
319- "unmingleable": PropTypes.string,
300+ "Freesia": PropTypes.string.isRequired,
301+ "Genevieve": PropTypes.string.isRequired,
302+ "Mimosaceae": PropTypes.string.isRequired,
303+ "Theopaschitism": PropTypes.string.isRequired,
304+ "apperceptive": PropTypes.string.isRequired,
305+ "cuttoo": PropTypes.string.isRequired,
306+ "douser": PropTypes.string.isRequired,
307+ "drinkproof": PropTypes.string.isRequired,
308+ "forementioned": PropTypes.string.isRequired,
309+ "hyperdiabolical": PropTypes.string.isRequired,
310+ "hypocone": PropTypes.string.isRequired,
311+ "irreverentially": PropTypes.string.isRequired,
312+ "jumart": PropTypes.string.isRequired,
313+ "mollicrush": PropTypes.string.isRequired,
314+ "nedder": PropTypes.string.isRequired,
315+ "retinasphalt": PropTypes.string.isRequired,
316+ "sough": PropTypes.string.isRequired,
317+ "steading": PropTypes.string.isRequired,
318+ "undurableness": PropTypes.string.isRequired,
319+ "unmingleable": PropTypes.string.isRequired,
320320 });
321321 _Reimagine = PropTypes.shape({
322322 "Chirotherium": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
@@ -346,10 +346,10 @@ _Reimagine = PropTypes.shape({
346346 "waltzlike": PropTypes.any,
347347 });
348348 _QuebrachineClass = PropTypes.shape({
349- "Chirotherium": PropTypes.number,
350- "catharticalness": PropTypes.number,
351- "disdiapason": PropTypes.string,
352- "homocerc": PropTypes.bool,
349+ "Chirotherium": PropTypes.number.isRequired,
350+ "catharticalness": PropTypes.number.isRequired,
351+ "disdiapason": PropTypes.string.isRequired,
352+ "homocerc": PropTypes.bool.isRequired,
353353 "nonbookish": PropTypes.any,
354354 });
355355 _PyodermiaClass = PropTypes.shape({
@@ -397,58 +397,58 @@ _PulpitismClass = PropTypes.shape({
397397 "underburn": PropTypes.any,
398398 });
399399 _TopLevel = PropTypes.shape({
400- "protrusive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])),
401- "pulpitism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _PulpitismClass, PropTypes.number])),
402- "pyodermia": PropTypes.arrayOf(PropTypes.oneOfType([_PyodermiaClass, PropTypes.number])),
403- "quebrachine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _QuebrachineClass, PropTypes.any])),
404- "querier": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])),
405- "rebarbative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])),
406- "reimagine": PropTypes.arrayOf(_Reimagine),
407- "ressaut": _Ressaut,
408- "retrocervical": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])),
409- "revert": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string])),
410- "rewrite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _RewriteClass, PropTypes.number])),
411- "saccoderm": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any, PropTypes.string])),
412- "santir": PropTypes.arrayOf(PropTypes.oneOfType([_SantirClass, PropTypes.number])),
413- "saprophilous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any, PropTypes.string])),
414- "saxten": PropTypes.arrayOf(PropTypes.oneOfType([_SaxtenClass, PropTypes.string])),
415- "scatty": PropTypes.arrayOf(PropTypes.oneOfType([_Scatty, PropTypes.any])),
416- "scoffer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.any])),
417- "scrampum": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.any])),
418- "semantic": PropTypes.number,
419- "serpentinic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
420- "shadowable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.bool])),
421- "sistering": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _SisteringClass, PropTypes.number])),
422- "staghunting": PropTypes.arrayOf(_Staghunting),
423- "stagmometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.string])),
424- "stimulability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])),
425- "strangleable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
426- "strenuosity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _StrenuosityClass])),
427- "tabaxir": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
428- "talpiform": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number, PropTypes.any])),
429- "thwack": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _QuebrachineClass, PropTypes.number])),
430- "to": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
431- "tortricine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), _QuebrachineClass])),
432- "truantcy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _TruantcyClass])),
433- "turgesce": PropTypes.arrayOf(PropTypes.string),
434- "unbeginning": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.string])),
435- "underdunged": PropTypes.arrayOf(PropTypes.number),
436- "undesirability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.string])),
437- "unerasing": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])),
438- "unguentarium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])),
439- "unimpeachably": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _UnimpeachablyClass])),
440- "unmortgaged": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])),
441- "unobstructed": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number, PropTypes.any])),
442- "unreceptivity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])),
443- "unsatisfactoriness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])),
444- "unsecurity": PropTypes.arrayOf(PropTypes.number),
445- "unstressed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _UnstressedClass, PropTypes.string])),
446- "untasked": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])),
447- "unvarying": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])),
448- "vehemently": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.any])),
449- "warriorship": PropTypes.object,
450- "whitepot": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number])),
451- "wrothy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _WrothyClass])),
400+ "protrusive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])).isRequired,
401+ "pulpitism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _PulpitismClass(...args), PropTypes.number])).isRequired,
402+ "pyodermia": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PyodermiaClass(...args), PropTypes.number])).isRequired,
403+ "quebrachine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _QuebrachineClass(...args), PropTypes.any])).isRequired,
404+ "querier": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])).isRequired,
405+ "rebarbative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])).isRequired,
406+ "reimagine": PropTypes.arrayOf((...args) => _Reimagine(...args)).isRequired,
407+ "ressaut": (...args) => _Ressaut.isRequired(...args),
408+ "retrocervical": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])).isRequired,
409+ "revert": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string])).isRequired,
410+ "rewrite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _RewriteClass(...args), PropTypes.number])).isRequired,
411+ "saccoderm": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any, PropTypes.string])).isRequired,
412+ "santir": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _SantirClass(...args), PropTypes.number])).isRequired,
413+ "saprophilous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any, PropTypes.string])).isRequired,
414+ "saxten": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _SaxtenClass(...args), PropTypes.string])).isRequired,
415+ "scatty": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Scatty(...args), PropTypes.any])).isRequired,
416+ "scoffer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.any])).isRequired,
417+ "scrampum": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.any])).isRequired,
418+ "semantic": PropTypes.number.isRequired,
419+ "serpentinic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
420+ "shadowable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.bool])).isRequired,
421+ "sistering": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _SisteringClass(...args), PropTypes.number])).isRequired,
422+ "staghunting": PropTypes.arrayOf((...args) => _Staghunting(...args)).isRequired,
423+ "stagmometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.string])).isRequired,
424+ "stimulability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])).isRequired,
425+ "strangleable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
426+ "strenuosity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _StrenuosityClass(...args)])).isRequired,
427+ "tabaxir": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
428+ "talpiform": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number, PropTypes.any])).isRequired,
429+ "thwack": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _QuebrachineClass(...args), PropTypes.number])).isRequired,
430+ "to": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
431+ "tortricine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), (...args) => _QuebrachineClass(...args)])).isRequired,
432+ "truantcy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _TruantcyClass(...args)])).isRequired,
433+ "turgesce": PropTypes.arrayOf(PropTypes.string).isRequired,
434+ "unbeginning": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.string])).isRequired,
435+ "underdunged": PropTypes.arrayOf(PropTypes.number).isRequired,
436+ "undesirability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.string])).isRequired,
437+ "unerasing": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])).isRequired,
438+ "unguentarium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])).isRequired,
439+ "unimpeachably": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _UnimpeachablyClass(...args)])).isRequired,
440+ "unmortgaged": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])).isRequired,
441+ "unobstructed": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number, PropTypes.any])).isRequired,
442+ "unreceptivity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])).isRequired,
443+ "unsatisfactoriness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])).isRequired,
444+ "unsecurity": PropTypes.arrayOf(PropTypes.number).isRequired,
445+ "unstressed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _UnstressedClass(...args), PropTypes.string])).isRequired,
446+ "untasked": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])).isRequired,
447+ "unvarying": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])).isRequired,
448+ "vehemently": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.any])).isRequired,
449+ "warriorship": PropTypes.object.isRequired,
450+ "whitepot": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number])).isRequired,
451+ "wrothy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _WrothyClass(...args)])).isRequired,
452452 });
453453
454454 export const TopLevel = _TopLevel;
Mjavascript-prop-typesdefault / toplevel.js+76 −76
@@ -297,26 +297,26 @@ _RewriteClass = PropTypes.shape({
297297 "yardman": PropTypes.any,
298298 });
299299 _Ressaut = PropTypes.shape({
300- "Freesia": PropTypes.string,
301- "Genevieve": PropTypes.string,
302- "Mimosaceae": PropTypes.string,
303- "Theopaschitism": PropTypes.string,
304- "apperceptive": PropTypes.string,
305- "cuttoo": PropTypes.string,
306- "douser": PropTypes.string,
307- "drinkproof": PropTypes.string,
308- "forementioned": PropTypes.string,
309- "hyperdiabolical": PropTypes.string,
310- "hypocone": PropTypes.string,
311- "irreverentially": PropTypes.string,
312- "jumart": PropTypes.string,
313- "mollicrush": PropTypes.string,
314- "nedder": PropTypes.string,
315- "retinasphalt": PropTypes.string,
316- "sough": PropTypes.string,
317- "steading": PropTypes.string,
318- "undurableness": PropTypes.string,
319- "unmingleable": PropTypes.string,
300+ "Freesia": PropTypes.string.isRequired,
301+ "Genevieve": PropTypes.string.isRequired,
302+ "Mimosaceae": PropTypes.string.isRequired,
303+ "Theopaschitism": PropTypes.string.isRequired,
304+ "apperceptive": PropTypes.string.isRequired,
305+ "cuttoo": PropTypes.string.isRequired,
306+ "douser": PropTypes.string.isRequired,
307+ "drinkproof": PropTypes.string.isRequired,
308+ "forementioned": PropTypes.string.isRequired,
309+ "hyperdiabolical": PropTypes.string.isRequired,
310+ "hypocone": PropTypes.string.isRequired,
311+ "irreverentially": PropTypes.string.isRequired,
312+ "jumart": PropTypes.string.isRequired,
313+ "mollicrush": PropTypes.string.isRequired,
314+ "nedder": PropTypes.string.isRequired,
315+ "retinasphalt": PropTypes.string.isRequired,
316+ "sough": PropTypes.string.isRequired,
317+ "steading": PropTypes.string.isRequired,
318+ "undurableness": PropTypes.string.isRequired,
319+ "unmingleable": PropTypes.string.isRequired,
320320 });
321321 _Reimagine = PropTypes.shape({
322322 "Chirotherium": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
@@ -346,10 +346,10 @@ _Reimagine = PropTypes.shape({
346346 "waltzlike": PropTypes.any,
347347 });
348348 _QuebrachineClass = PropTypes.shape({
349- "Chirotherium": PropTypes.number,
350- "catharticalness": PropTypes.number,
351- "disdiapason": PropTypes.string,
352- "homocerc": PropTypes.bool,
349+ "Chirotherium": PropTypes.number.isRequired,
350+ "catharticalness": PropTypes.number.isRequired,
351+ "disdiapason": PropTypes.string.isRequired,
352+ "homocerc": PropTypes.bool.isRequired,
353353 "nonbookish": PropTypes.any,
354354 });
355355 _PyodermiaClass = PropTypes.shape({
@@ -397,58 +397,58 @@ _PulpitismClass = PropTypes.shape({
397397 "underburn": PropTypes.any,
398398 });
399399 _TopLevel = PropTypes.shape({
400- "protrusive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])),
401- "pulpitism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _PulpitismClass, PropTypes.number])),
402- "pyodermia": PropTypes.arrayOf(PropTypes.oneOfType([_PyodermiaClass, PropTypes.number])),
403- "quebrachine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _QuebrachineClass, PropTypes.any])),
404- "querier": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])),
405- "rebarbative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])),
406- "reimagine": PropTypes.arrayOf(_Reimagine),
407- "ressaut": _Ressaut,
408- "retrocervical": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])),
409- "revert": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string])),
410- "rewrite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _RewriteClass, PropTypes.number])),
411- "saccoderm": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any, PropTypes.string])),
412- "santir": PropTypes.arrayOf(PropTypes.oneOfType([_SantirClass, PropTypes.number])),
413- "saprophilous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any, PropTypes.string])),
414- "saxten": PropTypes.arrayOf(PropTypes.oneOfType([_SaxtenClass, PropTypes.string])),
415- "scatty": PropTypes.arrayOf(PropTypes.oneOfType([_Scatty, PropTypes.any])),
416- "scoffer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.any])),
417- "scrampum": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.any])),
418- "semantic": PropTypes.number,
419- "serpentinic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])),
420- "shadowable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.bool])),
421- "sistering": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _SisteringClass, PropTypes.number])),
422- "staghunting": PropTypes.arrayOf(_Staghunting),
423- "stagmometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.string])),
424- "stimulability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])),
425- "strangleable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])),
426- "strenuosity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _StrenuosityClass])),
427- "tabaxir": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
428- "talpiform": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number, PropTypes.any])),
429- "thwack": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _QuebrachineClass, PropTypes.number])),
430- "to": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
431- "tortricine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), _QuebrachineClass])),
432- "truantcy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _TruantcyClass])),
433- "turgesce": PropTypes.arrayOf(PropTypes.string),
434- "unbeginning": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.string])),
435- "underdunged": PropTypes.arrayOf(PropTypes.number),
436- "undesirability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.string])),
437- "unerasing": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])),
438- "unguentarium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])),
439- "unimpeachably": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _UnimpeachablyClass])),
440- "unmortgaged": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])),
441- "unobstructed": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number, PropTypes.any])),
442- "unreceptivity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])),
443- "unsatisfactoriness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])),
444- "unsecurity": PropTypes.arrayOf(PropTypes.number),
445- "unstressed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _UnstressedClass, PropTypes.string])),
446- "untasked": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])),
447- "unvarying": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])),
448- "vehemently": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.any])),
449- "warriorship": PropTypes.object,
450- "whitepot": PropTypes.arrayOf(PropTypes.oneOfType([_QuebrachineClass, PropTypes.number])),
451- "wrothy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), _WrothyClass])),
400+ "protrusive": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])).isRequired,
401+ "pulpitism": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _PulpitismClass(...args), PropTypes.number])).isRequired,
402+ "pyodermia": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _PyodermiaClass(...args), PropTypes.number])).isRequired,
403+ "quebrachine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _QuebrachineClass(...args), PropTypes.any])).isRequired,
404+ "querier": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.object])).isRequired,
405+ "rebarbative": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])).isRequired,
406+ "reimagine": PropTypes.arrayOf((...args) => _Reimagine(...args)).isRequired,
407+ "ressaut": (...args) => _Ressaut.isRequired(...args),
408+ "retrocervical": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.number])).isRequired,
409+ "revert": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.string])).isRequired,
410+ "rewrite": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _RewriteClass(...args), PropTypes.number])).isRequired,
411+ "saccoderm": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any, PropTypes.string])).isRequired,
412+ "santir": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _SantirClass(...args), PropTypes.number])).isRequired,
413+ "saprophilous": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.object, PropTypes.any, PropTypes.string])).isRequired,
414+ "saxten": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _SaxtenClass(...args), PropTypes.string])).isRequired,
415+ "scatty": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _Scatty(...args), PropTypes.any])).isRequired,
416+ "scoffer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.any])).isRequired,
417+ "scrampum": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.any])).isRequired,
418+ "semantic": PropTypes.number.isRequired,
419+ "serpentinic": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number])).isRequired,
420+ "shadowable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.bool])).isRequired,
421+ "sistering": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _SisteringClass(...args), PropTypes.number])).isRequired,
422+ "staghunting": PropTypes.arrayOf((...args) => _Staghunting(...args)).isRequired,
423+ "stagmometer": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), PropTypes.string])).isRequired,
424+ "stimulability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])).isRequired,
425+ "strangleable": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number])).isRequired,
426+ "strenuosity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _StrenuosityClass(...args)])).isRequired,
427+ "tabaxir": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
428+ "talpiform": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number, PropTypes.any])).isRequired,
429+ "thwack": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _QuebrachineClass(...args), PropTypes.number])).isRequired,
430+ "to": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
431+ "tortricine": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])), (...args) => _QuebrachineClass(...args)])).isRequired,
432+ "truantcy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _TruantcyClass(...args)])).isRequired,
433+ "turgesce": PropTypes.arrayOf(PropTypes.string).isRequired,
434+ "unbeginning": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.object, PropTypes.string])).isRequired,
435+ "underdunged": PropTypes.arrayOf(PropTypes.number).isRequired,
436+ "undesirability": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.object, PropTypes.string])).isRequired,
437+ "unerasing": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])).isRequired,
438+ "unguentarium": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.any])).isRequired,
439+ "unimpeachably": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _UnimpeachablyClass(...args)])).isRequired,
440+ "unmortgaged": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.object, PropTypes.any])).isRequired,
441+ "unobstructed": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number, PropTypes.any])).isRequired,
442+ "unreceptivity": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.string])).isRequired,
443+ "unsatisfactoriness": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.bool, PropTypes.number])).isRequired,
444+ "unsecurity": PropTypes.arrayOf(PropTypes.number).isRequired,
445+ "unstressed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _UnstressedClass(...args), PropTypes.string])).isRequired,
446+ "untasked": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.number, PropTypes.object])).isRequired,
447+ "unvarying": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number, PropTypes.object])).isRequired,
448+ "vehemently": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), PropTypes.bool, PropTypes.any])).isRequired,
449+ "warriorship": PropTypes.object.isRequired,
450+ "whitepot": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _QuebrachineClass(...args), PropTypes.number])).isRequired,
451+ "wrothy": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.any), (...args) => _WrothyClass(...args)])).isRequired,
452452 });
453453
454454 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/combined-enum.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -14,13 +14,13 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 let _Bar;
17-const _X = PropTypes.oneOfType(['three', 'one', 'two']);
17+const _X = PropTypes.oneOf(["three", "one", "two"]);
1818 _Bar = PropTypes.shape({
19- "x": _X,
19+ "x": _X.isRequired,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "bar": PropTypes.arrayOf(_Bar),
23- "foo": PropTypes.arrayOf(_Bar),
22+ "bar": PropTypes.arrayOf((...args) => _Bar(...args)).isRequired,
23+ "foo": PropTypes.arrayOf((...args) => _Bar(...args)).isRequired,
2424 });
2525
2626 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/direct-recursive.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -14,11 +14,11 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "also": PropTypes.oneOfType([_TopLevel, PropTypes.any]),
18- "bar": PropTypes.bool,
19- "foo": PropTypes.number,
20- "moo": PropTypes.number,
21- "quux": PropTypes.string,
17+ "also": PropTypes.oneOfType([(...args) => _TopLevel(...args), PropTypes.any]),
18+ "bar": PropTypes.bool.isRequired,
19+ "foo": PropTypes.number.isRequired,
20+ "moo": PropTypes.number.isRequired,
21+ "quux": PropTypes.string.isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/empty-enum.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -18,7 +18,7 @@ _Foo = PropTypes.shape({
1818 "bar": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
1919 });
2020 _TopLevel = PropTypes.shape({
21- "foo": PropTypes.arrayOf(_Foo),
21+ "foo": PropTypes.arrayOf((...args) => _Foo(...args)).isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/identifiers.json

1 generated file · +14 −14
Mjavascript-prop-typesdefault / toplevel.js+14 −14
@@ -22,30 +22,30 @@ let _FooBla;
2222 _FooBla = PropTypes.shape({
2323 });
2424 _Foo = PropTypes.shape({
25- "_": PropTypes.number,
26- "__": PropTypes.number,
27- "bla": _FooBla,
25+ "_": PropTypes.number.isRequired,
26+ "__": PropTypes.number.isRequired,
27+ "bla": (...args) => _FooBla.isRequired(...args),
2828 });
2929 _TopLevelBla = PropTypes.shape({
30- "bar": PropTypes.number,
30+ "bar": PropTypes.number.isRequired,
3131 });
3232 _ThisIsAToughOne = PropTypes.shape({
33- "\n\n\n": PropTypes.number,
34- "\"": PropTypes.number,
33+ "\n\n\n": PropTypes.number.isRequired,
34+ "\"": PropTypes.number.isRequired,
3535 });
3636 _EmptyClass = PropTypes.shape({
37- "y": PropTypes.number,
37+ "y": PropTypes.number.isRequired,
3838 });
3939 _Empty = PropTypes.shape({
40- "x": PropTypes.number,
40+ "x": PropTypes.number.isRequired,
4141 });
4242 _TopLevel = PropTypes.shape({
43- "": _Empty,
44- "!": PropTypes.number,
45- "Empty": _EmptyClass,
46- "ThisIsA\ud83d\ude1cTough\"\n\nOne": _ThisIsAToughOne,
47- "bla": _TopLevelBla,
48- "foo": _Foo,
43+ "": (...args) => _Empty.isRequired(...args),
44+ "!": PropTypes.number.isRequired,
45+ "Empty": (...args) => _EmptyClass.isRequired(...args),
46+ "ThisIsA\ud83d\ude1cTough\"\n\nOne": (...args) => _ThisIsAToughOne.isRequired(...args),
47+ "bla": (...args) => _TopLevelBla.isRequired(...args),
48+ "foo": (...args) => _Foo.isRequired(...args),
4949 });
5050
5151 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/keywords.json

1 generated file · +563 −563
Mjavascript-prop-typesdefault / toplevel.js+563 −563
@@ -295,1131 +295,1131 @@ let _Xor;
295295 let _XorEq;
296296 let _Yield;
297297 _Yield = PropTypes.shape({
298- "yield": PropTypes.number,
298+ "yield": PropTypes.number.isRequired,
299299 });
300300 _XorEq = PropTypes.shape({
301- "xor_eq": PropTypes.number,
301+ "xor_eq": PropTypes.number.isRequired,
302302 });
303303 _Xor = PropTypes.shape({
304- "xor": PropTypes.number,
304+ "xor": PropTypes.number.isRequired,
305305 });
306306 _With = PropTypes.shape({
307- "with": PropTypes.number,
307+ "with": PropTypes.number.isRequired,
308308 });
309309 _WillSet = PropTypes.shape({
310- "willSet": PropTypes.number,
310+ "willSet": PropTypes.number.isRequired,
311311 });
312312 _While = PropTypes.shape({
313- "while": PropTypes.number,
313+ "while": PropTypes.number.isRequired,
314314 });
315315 _Where = PropTypes.shape({
316- "where": PropTypes.number,
316+ "where": PropTypes.number.isRequired,
317317 });
318318 _Weak = PropTypes.shape({
319- "weak": PropTypes.number,
319+ "weak": PropTypes.number.isRequired,
320320 });
321321 _WcharT = PropTypes.shape({
322- "wchar_t": PropTypes.number,
322+ "wchar_t": PropTypes.number.isRequired,
323323 });
324324 _Volatile = PropTypes.shape({
325- "volatile": PropTypes.number,
325+ "volatile": PropTypes.number.isRequired,
326326 });
327327 _Void = PropTypes.shape({
328- "void": PropTypes.number,
328+ "void": PropTypes.number.isRequired,
329329 });
330330 _Virtual = PropTypes.shape({
331- "virtual": PropTypes.number,
331+ "virtual": PropTypes.number.isRequired,
332332 });
333333 _Var = PropTypes.shape({
334- "var": PropTypes.number,
334+ "var": PropTypes.number.isRequired,
335335 });
336336 _Using = PropTypes.shape({
337- "using": PropTypes.number,
337+ "using": PropTypes.number.isRequired,
338338 });
339339 _Ushort = PropTypes.shape({
340- "ushort": PropTypes.number,
340+ "ushort": PropTypes.number.isRequired,
341341 });
342342 _Unsigned = PropTypes.shape({
343- "unsigned": PropTypes.number,
343+ "unsigned": PropTypes.number.isRequired,
344344 });
345345 _Unsafe = PropTypes.shape({
346- "unsafe": PropTypes.number,
346+ "unsafe": PropTypes.number.isRequired,
347347 });
348348 _Unowned = PropTypes.shape({
349- "unowned": PropTypes.number,
349+ "unowned": PropTypes.number.isRequired,
350350 });
351351 _Union = PropTypes.shape({
352- "union": PropTypes.number,
352+ "union": PropTypes.number.isRequired,
353353 });
354354 _Yes = PropTypes.shape({
355- "YES": PropTypes.number,
355+ "YES": PropTypes.number.isRequired,
356356 });
357357 _Obj5 = PropTypes.shape({
358- "YES": _Yes,
359- "dummy": PropTypes.number,
360- "union": _Union,
361- "unowned": _Unowned,
362- "unsafe": _Unsafe,
363- "unsigned": _Unsigned,
364- "ushort": _Ushort,
365- "using": _Using,
366- "var": _Var,
367- "virtual": _Virtual,
368- "void": _Void,
369- "volatile": _Volatile,
370- "wchar_t": _WcharT,
371- "weak": _Weak,
372- "where": _Where,
373- "while": _While,
374- "willSet": _WillSet,
375- "with": _With,
376- "xor": _Xor,
377- "xor_eq": _XorEq,
378- "yield": _Yield,
358+ "YES": (...args) => _Yes.isRequired(...args),
359+ "dummy": PropTypes.number.isRequired,
360+ "union": (...args) => _Union.isRequired(...args),
361+ "unowned": (...args) => _Unowned.isRequired(...args),
362+ "unsafe": (...args) => _Unsafe.isRequired(...args),
363+ "unsigned": (...args) => _Unsigned.isRequired(...args),
364+ "ushort": (...args) => _Ushort.isRequired(...args),
365+ "using": (...args) => _Using.isRequired(...args),
366+ "var": (...args) => _Var.isRequired(...args),
367+ "virtual": (...args) => _Virtual.isRequired(...args),
368+ "void": (...args) => _Void.isRequired(...args),
369+ "volatile": (...args) => _Volatile.isRequired(...args),
370+ "wchar_t": (...args) => _WcharT.isRequired(...args),
371+ "weak": (...args) => _Weak.isRequired(...args),
372+ "where": (...args) => _Where.isRequired(...args),
373+ "while": (...args) => _While.isRequired(...args),
374+ "willSet": (...args) => _WillSet.isRequired(...args),
375+ "with": (...args) => _With.isRequired(...args),
376+ "xor": (...args) => _Xor.isRequired(...args),
377+ "xor_eq": (...args) => _XorEq.isRequired(...args),
378+ "yield": (...args) => _Yield.isRequired(...args),
379379 });
380380 _Undefined = PropTypes.shape({
381- "undefined": PropTypes.number,
381+ "undefined": PropTypes.number.isRequired,
382382 });
383383 _Unchecked = PropTypes.shape({
384- "unchecked": PropTypes.number,
384+ "unchecked": PropTypes.number.isRequired,
385385 });
386386 _Ulong = PropTypes.shape({
387- "ulong": PropTypes.number,
387+ "ulong": PropTypes.number.isRequired,
388388 });
389389 _Uint = PropTypes.shape({
390- "uint": PropTypes.number,
390+ "uint": PropTypes.number.isRequired,
391391 });
392392 _Typeof = PropTypes.shape({
393- "typeof": PropTypes.number,
393+ "typeof": PropTypes.number.isRequired,
394394 });
395395 _Typename = PropTypes.shape({
396- "typename": PropTypes.number,
396+ "typename": PropTypes.number.isRequired,
397397 });
398398 _Typeid = PropTypes.shape({
399- "typeid": PropTypes.number,
399+ "typeid": PropTypes.number.isRequired,
400400 });
401401 _Typedef = PropTypes.shape({
402- "typedef": PropTypes.number,
402+ "typedef": PropTypes.number.isRequired,
403403 });
404404 _Typealias = PropTypes.shape({
405- "typealias": PropTypes.number,
405+ "typealias": PropTypes.number.isRequired,
406406 });
407407 _TypeClass = PropTypes.shape({
408- "type": PropTypes.number,
408+ "type": PropTypes.number.isRequired,
409409 });
410410 _Try = PropTypes.shape({
411- "try": PropTypes.number,
411+ "try": PropTypes.number.isRequired,
412412 });
413413 _TrueClass = PropTypes.shape({
414- "true": PropTypes.number,
414+ "true": PropTypes.number.isRequired,
415415 });
416416 _Transient = PropTypes.shape({
417- "transient": PropTypes.number,
417+ "transient": PropTypes.number.isRequired,
418418 });
419419 _TopLevelClass = PropTypes.shape({
420- "top_level": PropTypes.number,
420+ "top_level": PropTypes.number.isRequired,
421421 });
422422 _ToJSON = PropTypes.shape({
423- "to_json": PropTypes.number,
423+ "to_json": PropTypes.number.isRequired,
424424 });
425425 _Throws = PropTypes.shape({
426- "throws": PropTypes.number,
426+ "throws": PropTypes.number.isRequired,
427427 });
428428 _Throw = PropTypes.shape({
429- "throw": PropTypes.number,
429+ "throw": PropTypes.number.isRequired,
430430 });
431431 _ThreadLocal = PropTypes.shape({
432- "thread_local": PropTypes.number,
432+ "thread_local": PropTypes.number.isRequired,
433433 });
434434 _This = PropTypes.shape({
435- "this": PropTypes.number,
435+ "this": PropTypes.number.isRequired,
436436 });
437437 _Then = PropTypes.shape({
438- "then": PropTypes.number,
438+ "then": PropTypes.number.isRequired,
439439 });
440440 _Template = PropTypes.shape({
441- "template": PropTypes.number,
441+ "template": PropTypes.number.isRequired,
442442 });
443443 _System = PropTypes.shape({
444- "system": PropTypes.number,
444+ "system": PropTypes.number.isRequired,
445445 });
446446 _Synchronized = PropTypes.shape({
447- "synchronized": PropTypes.number,
447+ "synchronized": PropTypes.number.isRequired,
448448 });
449449 _Symbol = PropTypes.shape({
450- "symbol": PropTypes.number,
450+ "symbol": PropTypes.number.isRequired,
451451 });
452452 _Switch = PropTypes.shape({
453- "switch": PropTypes.number,
453+ "switch": PropTypes.number.isRequired,
454454 });
455455 _Super = PropTypes.shape({
456- "super": PropTypes.number,
456+ "super": PropTypes.number.isRequired,
457457 });
458458 _Subscript = PropTypes.shape({
459- "subscript": PropTypes.number,
459+ "subscript": PropTypes.number.isRequired,
460460 });
461461 _Struct = PropTypes.shape({
462- "struct": PropTypes.number,
462+ "struct": PropTypes.number.isRequired,
463463 });
464464 _String = PropTypes.shape({
465- "string": PropTypes.number,
465+ "string": PropTypes.number.isRequired,
466466 });
467467 _Strictfp = PropTypes.shape({
468- "strictfp": PropTypes.number,
468+ "strictfp": PropTypes.number.isRequired,
469469 });
470470 _StaticCast = PropTypes.shape({
471- "static_cast": PropTypes.number,
471+ "static_cast": PropTypes.number.isRequired,
472472 });
473473 _StaticAssert = PropTypes.shape({
474- "static_assert": PropTypes.number,
474+ "static_assert": PropTypes.number.isRequired,
475475 });
476476 _Static = PropTypes.shape({
477- "static": PropTypes.number,
477+ "static": PropTypes.number.isRequired,
478478 });
479479 _Stackalloc = PropTypes.shape({
480- "stackalloc": PropTypes.number,
480+ "stackalloc": PropTypes.number.isRequired,
481481 });
482482 _Sizeof = PropTypes.shape({
483- "sizeof": PropTypes.number,
483+ "sizeof": PropTypes.number.isRequired,
484484 });
485485 _Signed = PropTypes.shape({
486- "signed": PropTypes.number,
486+ "signed": PropTypes.number.isRequired,
487487 });
488488 _Short = PropTypes.shape({
489- "short": PropTypes.number,
489+ "short": PropTypes.number.isRequired,
490490 });
491491 _Set = PropTypes.shape({
492- "set": PropTypes.number,
492+ "set": PropTypes.number.isRequired,
493493 });
494494 _Serialize = PropTypes.shape({
495- "serialize": PropTypes.number,
495+ "serialize": PropTypes.number.isRequired,
496496 });
497497 _SelfClass = PropTypes.shape({
498- "self": PropTypes.number,
498+ "self": PropTypes.number.isRequired,
499499 });
500500 _Select = PropTypes.shape({
501- "select": PropTypes.number,
501+ "select": PropTypes.number.isRequired,
502502 });
503503 _Sealed = PropTypes.shape({
504- "sealed": PropTypes.number,
504+ "sealed": PropTypes.number.isRequired,
505505 });
506506 _Sbyte = PropTypes.shape({
507- "sbyte": PropTypes.number,
507+ "sbyte": PropTypes.number.isRequired,
508508 });
509509 _Right = PropTypes.shape({
510- "right": PropTypes.number,
510+ "right": PropTypes.number.isRequired,
511511 });
512512 _Return = PropTypes.shape({
513- "return": PropTypes.number,
513+ "return": PropTypes.number.isRequired,
514514 });
515515 _Rethrows = PropTypes.shape({
516- "rethrows": PropTypes.number,
516+ "rethrows": PropTypes.number.isRequired,
517517 });
518518 _Retain = PropTypes.shape({
519- "retain": PropTypes.number,
519+ "retain": PropTypes.number.isRequired,
520520 });
521521 _Restrict = PropTypes.shape({
522- "restrict": PropTypes.number,
522+ "restrict": PropTypes.number.isRequired,
523523 });
524524 _Requires = PropTypes.shape({
525- "requires": PropTypes.number,
525+ "requires": PropTypes.number.isRequired,
526526 });
527527 _Required = PropTypes.shape({
528- "required": PropTypes.number,
528+ "required": PropTypes.number.isRequired,
529529 });
530530 _Require = PropTypes.shape({
531- "require": PropTypes.number,
531+ "require": PropTypes.number.isRequired,
532532 });
533533 _Repeat = PropTypes.shape({
534- "repeat": PropTypes.number,
534+ "repeat": PropTypes.number.isRequired,
535535 });
536536 _ReinterpretCast = PropTypes.shape({
537- "reinterpret_cast": PropTypes.number,
537+ "reinterpret_cast": PropTypes.number.isRequired,
538538 });
539539 _Register = PropTypes.shape({
540- "register": PropTypes.number,
540+ "register": PropTypes.number.isRequired,
541541 });
542542 _Ref = PropTypes.shape({
543- "ref": PropTypes.number,
543+ "ref": PropTypes.number.isRequired,
544544 });
545545 _Readonly = PropTypes.shape({
546- "readonly": PropTypes.number,
546+ "readonly": PropTypes.number.isRequired,
547547 });
548548 _Range = PropTypes.shape({
549- "range": PropTypes.number,
549+ "range": PropTypes.number.isRequired,
550550 });
551551 _Raise = PropTypes.shape({
552- "raise": PropTypes.number,
552+ "raise": PropTypes.number.isRequired,
553553 });
554554 _Quicktype = PropTypes.shape({
555- "quicktype": PropTypes.number,
555+ "quicktype": PropTypes.number.isRequired,
556556 });
557557 _Public = PropTypes.shape({
558- "public": PropTypes.number,
558+ "public": PropTypes.number.isRequired,
559559 });
560560 _Type = PropTypes.shape({
561- "Type": PropTypes.number,
561+ "Type": PropTypes.number.isRequired,
562562 });
563563 _True = PropTypes.shape({
564- "True": PropTypes.number,
564+ "True": PropTypes.number.isRequired,
565565 });
566566 _Self = PropTypes.shape({
567- "Self": PropTypes.number,
567+ "Self": PropTypes.number.isRequired,
568568 });
569569 _Sel = PropTypes.shape({
570- "SEL": PropTypes.number,
570+ "SEL": PropTypes.number.isRequired,
571571 });
572572 _Obj4 = PropTypes.shape({
573- "SEL": _Sel,
574- "Self": _Self,
575- "True": _True,
576- "Type": _Type,
577- "dummy": PropTypes.number,
578- "public": _Public,
579- "quicktype": _Quicktype,
580- "raise": _Raise,
581- "range": _Range,
582- "readonly": _Readonly,
583- "ref": _Ref,
584- "register": _Register,
585- "reinterpret_cast": _ReinterpretCast,
586- "repeat": _Repeat,
587- "require": _Require,
588- "required": _Required,
589- "requires": _Requires,
590- "restrict": _Restrict,
591- "retain": _Retain,
592- "rethrows": _Rethrows,
593- "return": _Return,
594- "right": _Right,
595- "sbyte": _Sbyte,
596- "sealed": _Sealed,
597- "select": _Select,
598- "self": _SelfClass,
599- "serialize": _Serialize,
600- "set": _Set,
601- "short": _Short,
602- "signed": _Signed,
603- "sizeof": _Sizeof,
604- "stackalloc": _Stackalloc,
605- "static": _Static,
606- "static_assert": _StaticAssert,
607- "static_cast": _StaticCast,
608- "strictfp": _Strictfp,
609- "string": _String,
610- "struct": _Struct,
611- "subscript": _Subscript,
612- "super": _Super,
613- "switch": _Switch,
614- "symbol": _Symbol,
615- "synchronized": _Synchronized,
616- "system": _System,
617- "template": _Template,
618- "then": _Then,
619- "this": _This,
620- "thread_local": _ThreadLocal,
621- "throw": _Throw,
622- "throws": _Throws,
623- "to_json": _ToJSON,
624- "top_level": _TopLevelClass,
625- "transient": _Transient,
626- "true": _TrueClass,
627- "try": _Try,
628- "type": _TypeClass,
629- "typealias": _Typealias,
630- "typedef": _Typedef,
631- "typeid": _Typeid,
632- "typename": _Typename,
633- "typeof": _Typeof,
634- "uint": _Uint,
635- "ulong": _Ulong,
636- "unchecked": _Unchecked,
637- "undefined": _Undefined,
573+ "SEL": (...args) => _Sel.isRequired(...args),
574+ "Self": (...args) => _Self.isRequired(...args),
575+ "True": (...args) => _True.isRequired(...args),
576+ "Type": (...args) => _Type.isRequired(...args),
577+ "dummy": PropTypes.number.isRequired,
578+ "public": (...args) => _Public.isRequired(...args),
579+ "quicktype": (...args) => _Quicktype.isRequired(...args),
580+ "raise": (...args) => _Raise.isRequired(...args),
581+ "range": (...args) => _Range.isRequired(...args),
582+ "readonly": (...args) => _Readonly.isRequired(...args),
583+ "ref": (...args) => _Ref.isRequired(...args),
584+ "register": (...args) => _Register.isRequired(...args),
585+ "reinterpret_cast": (...args) => _ReinterpretCast.isRequired(...args),
586+ "repeat": (...args) => _Repeat.isRequired(...args),
587+ "require": (...args) => _Require.isRequired(...args),
588+ "required": (...args) => _Required.isRequired(...args),
589+ "requires": (...args) => _Requires.isRequired(...args),
590+ "restrict": (...args) => _Restrict.isRequired(...args),
591+ "retain": (...args) => _Retain.isRequired(...args),
592+ "rethrows": (...args) => _Rethrows.isRequired(...args),
593+ "return": (...args) => _Return.isRequired(...args),
594+ "right": (...args) => _Right.isRequired(...args),
595+ "sbyte": (...args) => _Sbyte.isRequired(...args),
596+ "sealed": (...args) => _Sealed.isRequired(...args),
597+ "select": (...args) => _Select.isRequired(...args),
598+ "self": (...args) => _SelfClass.isRequired(...args),
599+ "serialize": (...args) => _Serialize.isRequired(...args),
600+ "set": (...args) => _Set.isRequired(...args),
601+ "short": (...args) => _Short.isRequired(...args),
602+ "signed": (...args) => _Signed.isRequired(...args),
603+ "sizeof": (...args) => _Sizeof.isRequired(...args),
604+ "stackalloc": (...args) => _Stackalloc.isRequired(...args),
605+ "static": (...args) => _Static.isRequired(...args),
606+ "static_assert": (...args) => _StaticAssert.isRequired(...args),
607+ "static_cast": (...args) => _StaticCast.isRequired(...args),
608+ "strictfp": (...args) => _Strictfp.isRequired(...args),
609+ "string": (...args) => _String.isRequired(...args),
610+ "struct": (...args) => _Struct.isRequired(...args),
611+ "subscript": (...args) => _Subscript.isRequired(...args),
612+ "super": (...args) => _Super.isRequired(...args),
613+ "switch": (...args) => _Switch.isRequired(...args),
614+ "symbol": (...args) => _Symbol.isRequired(...args),
615+ "synchronized": (...args) => _Synchronized.isRequired(...args),
616+ "system": (...args) => _System.isRequired(...args),
617+ "template": (...args) => _Template.isRequired(...args),
618+ "then": (...args) => _Then.isRequired(...args),
619+ "this": (...args) => _This.isRequired(...args),
620+ "thread_local": (...args) => _ThreadLocal.isRequired(...args),
621+ "throw": (...args) => _Throw.isRequired(...args),
622+ "throws": (...args) => _Throws.isRequired(...args),
623+ "to_json": (...args) => _ToJSON.isRequired(...args),
624+ "top_level": (...args) => _TopLevelClass.isRequired(...args),
625+ "transient": (...args) => _Transient.isRequired(...args),
626+ "true": (...args) => _TrueClass.isRequired(...args),
627+ "try": (...args) => _Try.isRequired(...args),
628+ "type": (...args) => _TypeClass.isRequired(...args),
629+ "typealias": (...args) => _Typealias.isRequired(...args),
630+ "typedef": (...args) => _Typedef.isRequired(...args),
631+ "typeid": (...args) => _Typeid.isRequired(...args),
632+ "typename": (...args) => _Typename.isRequired(...args),
633+ "typeof": (...args) => _Typeof.isRequired(...args),
634+ "uint": (...args) => _Uint.isRequired(...args),
635+ "ulong": (...args) => _Ulong.isRequired(...args),
636+ "unchecked": (...args) => _Unchecked.isRequired(...args),
637+ "undefined": (...args) => _Undefined.isRequired(...args),
638638 });
639639 _ProtocolClass = PropTypes.shape({
640- "protocol": PropTypes.number,
640+ "protocol": PropTypes.number.isRequired,
641641 });
642642 _Protected = PropTypes.shape({
643- "protected": PropTypes.number,
643+ "protected": PropTypes.number.isRequired,
644644 });
645645 _Private = PropTypes.shape({
646- "private": PropTypes.number,
646+ "private": PropTypes.number.isRequired,
647647 });
648648 _Printf = PropTypes.shape({
649- "printf": PropTypes.number,
649+ "printf": PropTypes.number.isRequired,
650650 });
651651 _Print = PropTypes.shape({
652- "print": PropTypes.number,
652+ "print": PropTypes.number.isRequired,
653653 });
654654 _Prefix = PropTypes.shape({
655- "prefix": PropTypes.number,
655+ "prefix": PropTypes.number.isRequired,
656656 });
657657 _Precedence = PropTypes.shape({
658- "precedence": PropTypes.number,
658+ "precedence": PropTypes.number.isRequired,
659659 });
660660 _Postfix = PropTypes.shape({
661- "postfix": PropTypes.number,
661+ "postfix": PropTypes.number.isRequired,
662662 });
663663 _Port = PropTypes.shape({
664- "port": PropTypes.number,
664+ "port": PropTypes.number.isRequired,
665665 });
666666 _Pass = PropTypes.shape({
667- "pass": PropTypes.number,
667+ "pass": PropTypes.number.isRequired,
668668 });
669669 _Params = PropTypes.shape({
670- "params": PropTypes.number,
670+ "params": PropTypes.number.isRequired,
671671 });
672672 _Package = PropTypes.shape({
673- "package": PropTypes.number,
673+ "package": PropTypes.number.isRequired,
674674 });
675675 _Override = PropTypes.shape({
676- "override": PropTypes.number,
676+ "override": PropTypes.number.isRequired,
677677 });
678678 _Out = PropTypes.shape({
679- "out": PropTypes.number,
679+ "out": PropTypes.number.isRequired,
680680 });
681681 _OrEq = PropTypes.shape({
682- "or_eq": PropTypes.number,
682+ "or_eq": PropTypes.number.isRequired,
683683 });
684684 _Or = PropTypes.shape({
685- "or": PropTypes.number,
685+ "or": PropTypes.number.isRequired,
686686 });
687687 _Optional = PropTypes.shape({
688- "optional": PropTypes.number,
688+ "optional": PropTypes.number.isRequired,
689689 });
690690 _Operator = PropTypes.shape({
691- "operator": PropTypes.number,
691+ "operator": PropTypes.number.isRequired,
692692 });
693693 _Open = PropTypes.shape({
694- "open": PropTypes.number,
694+ "open": PropTypes.number.isRequired,
695695 });
696696 _Oneway = PropTypes.shape({
697- "oneway": PropTypes.number,
697+ "oneway": PropTypes.number.isRequired,
698698 });
699699 _Of = PropTypes.shape({
700- "of": PropTypes.number,
700+ "of": PropTypes.number.isRequired,
701701 });
702702 _Object = PropTypes.shape({
703- "object": PropTypes.number,
703+ "object": PropTypes.number.isRequired,
704704 });
705705 _Number = PropTypes.shape({
706- "number": PropTypes.number,
706+ "number": PropTypes.number.isRequired,
707707 });
708708 _Nullptr = PropTypes.shape({
709- "nullptr": PropTypes.number,
709+ "nullptr": PropTypes.number.isRequired,
710710 });
711711 _NullClass = PropTypes.shape({
712- "null": PropTypes.number,
712+ "null": PropTypes.number.isRequired,
713713 });
714714 _NotEq = PropTypes.shape({
715- "not_eq": PropTypes.number,
715+ "not_eq": PropTypes.number.isRequired,
716716 });
717717 _Not = PropTypes.shape({
718- "not": PropTypes.number,
718+ "not": PropTypes.number.isRequired,
719719 });
720720 _Nonmutating = PropTypes.shape({
721- "nonmutating": PropTypes.number,
721+ "nonmutating": PropTypes.number.isRequired,
722722 });
723723 _Nonlocal = PropTypes.shape({
724- "nonlocal": PropTypes.number,
724+ "nonlocal": PropTypes.number.isRequired,
725725 });
726726 _NoneClass = PropTypes.shape({
727- "none": PropTypes.number,
727+ "none": PropTypes.number.isRequired,
728728 });
729729 _Nonatomic = PropTypes.shape({
730- "nonatomic": PropTypes.number,
730+ "nonatomic": PropTypes.number.isRequired,
731731 });
732732 _Noexcept = PropTypes.shape({
733- "noexcept": PropTypes.number,
733+ "noexcept": PropTypes.number.isRequired,
734734 });
735735 _Nil = PropTypes.shape({
736- "nil": PropTypes.number,
736+ "nil": PropTypes.number.isRequired,
737737 });
738738 _Newtonsoft = PropTypes.shape({
739- "newtonsoft": PropTypes.number,
739+ "newtonsoft": PropTypes.number.isRequired,
740740 });
741741 _New = PropTypes.shape({
742- "new": PropTypes.number,
742+ "new": PropTypes.number.isRequired,
743743 });
744744 _Native = PropTypes.shape({
745- "native": PropTypes.number,
745+ "native": PropTypes.number.isRequired,
746746 });
747747 _Namespace = PropTypes.shape({
748- "namespace": PropTypes.number,
748+ "namespace": PropTypes.number.isRequired,
749749 });
750750 _Mutating = PropTypes.shape({
751- "mutating": PropTypes.number,
751+ "mutating": PropTypes.number.isRequired,
752752 });
753753 _Mutable = PropTypes.shape({
754- "mutable": PropTypes.number,
754+ "mutable": PropTypes.number.isRequired,
755755 });
756756 _Module = PropTypes.shape({
757- "module": PropTypes.number,
757+ "module": PropTypes.number.isRequired,
758758 });
759759 _MetadataPropertyHandling = PropTypes.shape({
760- "metadata_property_handling": PropTypes.number,
760+ "metadata_property_handling": PropTypes.number.isRequired,
761761 });
762762 _Map = PropTypes.shape({
763- "map": PropTypes.number,
763+ "map": PropTypes.number.isRequired,
764764 });
765765 _Long = PropTypes.shape({
766- "long": PropTypes.number,
766+ "long": PropTypes.number.isRequired,
767767 });
768768 _Lock = PropTypes.shape({
769- "lock": PropTypes.number,
769+ "lock": PropTypes.number.isRequired,
770770 });
771771 _List = PropTypes.shape({
772- "list": PropTypes.number,
772+ "list": PropTypes.number.isRequired,
773773 });
774774 _Let = PropTypes.shape({
775- "let": PropTypes.number,
775+ "let": PropTypes.number.isRequired,
776776 });
777777 _Left = PropTypes.shape({
778- "left": PropTypes.number,
778+ "left": PropTypes.number.isRequired,
779779 });
780780 _Lazy = PropTypes.shape({
781- "lazy": PropTypes.number,
781+ "lazy": PropTypes.number.isRequired,
782782 });
783783 _Lambda = PropTypes.shape({
784- "lambda": PropTypes.number,
784+ "lambda": PropTypes.number.isRequired,
785785 });
786786 _JSONWriter = PropTypes.shape({
787- "json_writer": PropTypes.number,
787+ "json_writer": PropTypes.number.isRequired,
788788 });
789789 _JSONToken = PropTypes.shape({
790- "json_token": PropTypes.number,
790+ "json_token": PropTypes.number.isRequired,
791791 });
792792 _JSONSerializer = PropTypes.shape({
793- "json_serializer": PropTypes.number,
793+ "json_serializer": PropTypes.number.isRequired,
794794 });
795795 _JSONConverter = PropTypes.shape({
796- "json_converter": PropTypes.number,
796+ "json_converter": PropTypes.number.isRequired,
797797 });
798798 _JSON = PropTypes.shape({
799- "json": PropTypes.number,
799+ "json": PropTypes.number.isRequired,
800800 });
801801 _Jpipe = PropTypes.shape({
802- "jpipe": PropTypes.number,
802+ "jpipe": PropTypes.number.isRequired,
803803 });
804804 _Jenc = PropTypes.shape({
805- "jenc": PropTypes.number,
805+ "jenc": PropTypes.number.isRequired,
806806 });
807807 _Jdec = PropTypes.shape({
808- "jdec": PropTypes.number,
808+ "jdec": PropTypes.number.isRequired,
809809 });
810810 _Iterable = PropTypes.shape({
811- "iterable": PropTypes.number,
811+ "iterable": PropTypes.number.isRequired,
812812 });
813813 _Is = PropTypes.shape({
814- "is": PropTypes.number,
814+ "is": PropTypes.number.isRequired,
815815 });
816816 _Protocol = PropTypes.shape({
817- "Protocol": PropTypes.number,
817+ "Protocol": PropTypes.number.isRequired,
818818 });
819819 _None = PropTypes.shape({
820- "None": PropTypes.number,
820+ "None": PropTypes.number.isRequired,
821821 });
822822 _Null = PropTypes.shape({
823- "NULL": PropTypes.number,
823+ "NULL": PropTypes.number.isRequired,
824824 });
825825 _NSString = PropTypes.shape({
826- "NSString": PropTypes.number,
826+ "NSString": PropTypes.number.isRequired,
827827 });
828828 _No = PropTypes.shape({
829- "NO": PropTypes.number,
829+ "NO": PropTypes.number.isRequired,
830830 });
831831 _Obj3 = PropTypes.shape({
832- "NO": _No,
833- "NSString": _NSString,
834- "NULL": _Null,
835- "None": _None,
836- "Protocol": _Protocol,
837- "dummy": PropTypes.number,
838- "is": _Is,
839- "iterable": _Iterable,
840- "jdec": _Jdec,
841- "jenc": _Jenc,
842- "jpipe": _Jpipe,
843- "json": _JSON,
844- "json_converter": _JSONConverter,
845- "json_serializer": _JSONSerializer,
846- "json_token": _JSONToken,
847- "json_writer": _JSONWriter,
848- "lambda": _Lambda,
849- "lazy": _Lazy,
850- "left": _Left,
851- "let": _Let,
852- "list": _List,
853- "lock": _Lock,
854- "long": _Long,
855- "map": _Map,
856- "metadata_property_handling": _MetadataPropertyHandling,
857- "module": _Module,
858- "mutable": _Mutable,
859- "mutating": _Mutating,
860- "namespace": _Namespace,
861- "native": _Native,
862- "new": _New,
863- "newtonsoft": _Newtonsoft,
864- "nil": _Nil,
865- "noexcept": _Noexcept,
866- "nonatomic": _Nonatomic,
867- "none": _NoneClass,
868- "nonlocal": _Nonlocal,
869- "nonmutating": _Nonmutating,
870- "not": _Not,
871- "not_eq": _NotEq,
872- "null": _NullClass,
873- "nullptr": _Nullptr,
874- "number": _Number,
875- "object": _Object,
876- "of": _Of,
877- "oneway": _Oneway,
878- "open": _Open,
879- "operator": _Operator,
880- "optional": _Optional,
881- "or": _Or,
882- "or_eq": _OrEq,
883- "out": _Out,
884- "override": _Override,
885- "package": _Package,
886- "params": _Params,
887- "pass": _Pass,
888- "port": _Port,
889- "postfix": _Postfix,
890- "precedence": _Precedence,
891- "prefix": _Prefix,
892- "print": _Print,
893- "printf": _Printf,
894- "private": _Private,
895- "protected": _Protected,
896- "protocol": _ProtocolClass,
832+ "NO": (...args) => _No.isRequired(...args),
833+ "NSString": (...args) => _NSString.isRequired(...args),
834+ "NULL": (...args) => _Null.isRequired(...args),
835+ "None": (...args) => _None.isRequired(...args),
836+ "Protocol": (...args) => _Protocol.isRequired(...args),
837+ "dummy": PropTypes.number.isRequired,
838+ "is": (...args) => _Is.isRequired(...args),
839+ "iterable": (...args) => _Iterable.isRequired(...args),
840+ "jdec": (...args) => _Jdec.isRequired(...args),
841+ "jenc": (...args) => _Jenc.isRequired(...args),
842+ "jpipe": (...args) => _Jpipe.isRequired(...args),
843+ "json": (...args) => _JSON.isRequired(...args),
844+ "json_converter": (...args) => _JSONConverter.isRequired(...args),
845+ "json_serializer": (...args) => _JSONSerializer.isRequired(...args),
846+ "json_token": (...args) => _JSONToken.isRequired(...args),
847+ "json_writer": (...args) => _JSONWriter.isRequired(...args),
848+ "lambda": (...args) => _Lambda.isRequired(...args),
849+ "lazy": (...args) => _Lazy.isRequired(...args),
850+ "left": (...args) => _Left.isRequired(...args),
851+ "let": (...args) => _Let.isRequired(...args),
852+ "list": (...args) => _List.isRequired(...args),
853+ "lock": (...args) => _Lock.isRequired(...args),
854+ "long": (...args) => _Long.isRequired(...args),
855+ "map": (...args) => _Map.isRequired(...args),
856+ "metadata_property_handling": (...args) => _MetadataPropertyHandling.isRequired(...args),
857+ "module": (...args) => _Module.isRequired(...args),
858+ "mutable": (...args) => _Mutable.isRequired(...args),
859+ "mutating": (...args) => _Mutating.isRequired(...args),
860+ "namespace": (...args) => _Namespace.isRequired(...args),
861+ "native": (...args) => _Native.isRequired(...args),
862+ "new": (...args) => _New.isRequired(...args),
863+ "newtonsoft": (...args) => _Newtonsoft.isRequired(...args),
864+ "nil": (...args) => _Nil.isRequired(...args),
865+ "noexcept": (...args) => _Noexcept.isRequired(...args),
866+ "nonatomic": (...args) => _Nonatomic.isRequired(...args),
867+ "none": (...args) => _NoneClass.isRequired(...args),
868+ "nonlocal": (...args) => _Nonlocal.isRequired(...args),
869+ "nonmutating": (...args) => _Nonmutating.isRequired(...args),
870+ "not": (...args) => _Not.isRequired(...args),
871+ "not_eq": (...args) => _NotEq.isRequired(...args),
872+ "null": (...args) => _NullClass.isRequired(...args),
873+ "nullptr": (...args) => _Nullptr.isRequired(...args),
874+ "number": (...args) => _Number.isRequired(...args),
875+ "object": (...args) => _Object.isRequired(...args),
876+ "of": (...args) => _Of.isRequired(...args),
877+ "oneway": (...args) => _Oneway.isRequired(...args),
878+ "open": (...args) => _Open.isRequired(...args),
879+ "operator": (...args) => _Operator.isRequired(...args),
880+ "optional": (...args) => _Optional.isRequired(...args),
881+ "or": (...args) => _Or.isRequired(...args),
882+ "or_eq": (...args) => _OrEq.isRequired(...args),
883+ "out": (...args) => _Out.isRequired(...args),
884+ "override": (...args) => _Override.isRequired(...args),
885+ "package": (...args) => _Package.isRequired(...args),
886+ "params": (...args) => _Params.isRequired(...args),
887+ "pass": (...args) => _Pass.isRequired(...args),
888+ "port": (...args) => _Port.isRequired(...args),
889+ "postfix": (...args) => _Postfix.isRequired(...args),
890+ "precedence": (...args) => _Precedence.isRequired(...args),
891+ "prefix": (...args) => _Prefix.isRequired(...args),
892+ "print": (...args) => _Print.isRequired(...args),
893+ "printf": (...args) => _Printf.isRequired(...args),
894+ "private": (...args) => _Private.isRequired(...args),
895+ "protected": (...args) => _Protected.isRequired(...args),
896+ "protocol": (...args) => _ProtocolClass.isRequired(...args),
897897 });
898898 _Internal = PropTypes.shape({
899- "internal": PropTypes.number,
899+ "internal": PropTypes.number.isRequired,
900900 });
901901 _Interface = PropTypes.shape({
902- "interface": PropTypes.number,
902+ "interface": PropTypes.number.isRequired,
903903 });
904904 _Int = PropTypes.shape({
905- "int": PropTypes.number,
905+ "int": PropTypes.number.isRequired,
906906 });
907907 _Instanceof = PropTypes.shape({
908- "instanceof": PropTypes.number,
908+ "instanceof": PropTypes.number.isRequired,
909909 });
910910 _Inout = PropTypes.shape({
911- "inout": PropTypes.number,
911+ "inout": PropTypes.number.isRequired,
912912 });
913913 _Inline = PropTypes.shape({
914- "inline": PropTypes.number,
914+ "inline": PropTypes.number.isRequired,
915915 });
916916 _Init = PropTypes.shape({
917- "init": PropTypes.number,
917+ "init": PropTypes.number.isRequired,
918918 });
919919 _Infix = PropTypes.shape({
920- "infix": PropTypes.number,
920+ "infix": PropTypes.number.isRequired,
921921 });
922922 _Indirect = PropTypes.shape({
923- "indirect": PropTypes.number,
923+ "indirect": PropTypes.number.isRequired,
924924 });
925925 _In = PropTypes.shape({
926- "in": PropTypes.number,
926+ "in": PropTypes.number.isRequired,
927927 });
928928 _Import = PropTypes.shape({
929- "import": PropTypes.number,
929+ "import": PropTypes.number.isRequired,
930930 });
931931 _Implicit = PropTypes.shape({
932- "implicit": PropTypes.number,
932+ "implicit": PropTypes.number.isRequired,
933933 });
934934 _Implements = PropTypes.shape({
935- "implements": PropTypes.number,
935+ "implements": PropTypes.number.isRequired,
936936 });
937937 _If = PropTypes.shape({
938- "if": PropTypes.number,
938+ "if": PropTypes.number.isRequired,
939939 });
940940 _ID = PropTypes.shape({
941- "id": PropTypes.number,
941+ "id": PropTypes.number.isRequired,
942942 });
943943 _HasOwnProperty = PropTypes.shape({
944- "hasOwnProperty": PropTypes.number,
944+ "hasOwnProperty": PropTypes.number.isRequired,
945945 });
946946 _Guard = PropTypes.shape({
947- "guard": PropTypes.number,
947+ "guard": PropTypes.number.isRequired,
948948 });
949949 _Goto = PropTypes.shape({
950- "goto": PropTypes.number,
950+ "goto": PropTypes.number.isRequired,
951951 });
952952 _Go = PropTypes.shape({
953- "go": PropTypes.number,
953+ "go": PropTypes.number.isRequired,
954954 });
955955 _Global = PropTypes.shape({
956- "global": PropTypes.number,
956+ "global": PropTypes.number.isRequired,
957957 });
958958 _Get = PropTypes.shape({
959- "get": PropTypes.number,
959+ "get": PropTypes.number.isRequired,
960960 });
961961 _Function = PropTypes.shape({
962- "function": PropTypes.number,
962+ "function": PropTypes.number.isRequired,
963963 });
964964 _Func = PropTypes.shape({
965- "func": PropTypes.number,
965+ "func": PropTypes.number.isRequired,
966966 });
967967 _FromJSON = PropTypes.shape({
968- "from_json": PropTypes.number,
968+ "from_json": PropTypes.number.isRequired,
969969 });
970970 _From = PropTypes.shape({
971- "from": PropTypes.number,
971+ "from": PropTypes.number.isRequired,
972972 });
973973 _Friend = PropTypes.shape({
974- "friend": PropTypes.number,
974+ "friend": PropTypes.number.isRequired,
975975 });
976976 _Foreach = PropTypes.shape({
977- "foreach": PropTypes.number,
977+ "foreach": PropTypes.number.isRequired,
978978 });
979979 _For = PropTypes.shape({
980- "for": PropTypes.number,
980+ "for": PropTypes.number.isRequired,
981981 });
982982 _Float = PropTypes.shape({
983- "float": PropTypes.number,
983+ "float": PropTypes.number.isRequired,
984984 });
985985 _Fixed = PropTypes.shape({
986- "fixed": PropTypes.number,
986+ "fixed": PropTypes.number.isRequired,
987987 });
988988 _Finally = PropTypes.shape({
989- "finally": PropTypes.number,
989+ "finally": PropTypes.number.isRequired,
990990 });
991991 _Final = PropTypes.shape({
992- "final": PropTypes.number,
992+ "final": PropTypes.number.isRequired,
993993 });
994994 _Fileprivate = PropTypes.shape({
995- "fileprivate": PropTypes.number,
995+ "fileprivate": PropTypes.number.isRequired,
996996 });
997997 _FalseClass = PropTypes.shape({
998- "false": PropTypes.number,
998+ "false": PropTypes.number.isRequired,
999999 });
10001000 _Fallthrough = PropTypes.shape({
1001- "fallthrough": PropTypes.number,
1001+ "fallthrough": PropTypes.number.isRequired,
10021002 });
10031003 _Extern = PropTypes.shape({
1004- "extern": PropTypes.number,
1004+ "extern": PropTypes.number.isRequired,
10051005 });
10061006 _Extension = PropTypes.shape({
1007- "extension": PropTypes.number,
1007+ "extension": PropTypes.number.isRequired,
10081008 });
10091009 _Extends = PropTypes.shape({
1010- "extends": PropTypes.number,
1010+ "extends": PropTypes.number.isRequired,
10111011 });
10121012 _Exposing = PropTypes.shape({
1013- "exposing": PropTypes.number,
1013+ "exposing": PropTypes.number.isRequired,
10141014 });
10151015 _Export = PropTypes.shape({
1016- "export": PropTypes.number,
1016+ "export": PropTypes.number.isRequired,
10171017 });
10181018 _Explicit = PropTypes.shape({
1019- "explicit": PropTypes.number,
1019+ "explicit": PropTypes.number.isRequired,
10201020 });
10211021 _Exception = PropTypes.shape({
1022- "exception": PropTypes.number,
1022+ "exception": PropTypes.number.isRequired,
10231023 });
10241024 _Except = PropTypes.shape({
1025- "except": PropTypes.number,
1025+ "except": PropTypes.number.isRequired,
10261026 });
10271027 _Event = PropTypes.shape({
1028- "event": PropTypes.number,
1028+ "event": PropTypes.number.isRequired,
10291029 });
10301030 _Enum = PropTypes.shape({
1031- "enum": PropTypes.number,
1031+ "enum": PropTypes.number.isRequired,
10321032 });
10331033 _EncodeQuickType = PropTypes.shape({
1034- "encode_quick_type": PropTypes.number,
1034+ "encode_quick_type": PropTypes.number.isRequired,
10351035 });
10361036 _Else = PropTypes.shape({
1037- "else": PropTypes.number,
1037+ "else": PropTypes.number.isRequired,
10381038 });
10391039 _Elif = PropTypes.shape({
1040- "elif": PropTypes.number,
1040+ "elif": PropTypes.number.isRequired,
10411041 });
10421042 _DynamicCast = PropTypes.shape({
1043- "dynamic_cast": PropTypes.number,
1043+ "dynamic_cast": PropTypes.number.isRequired,
10441044 });
10451045 _Dynamic = PropTypes.shape({
1046- "dynamic": PropTypes.number,
1046+ "dynamic": PropTypes.number.isRequired,
10471047 });
10481048 _Double = PropTypes.shape({
1049- "double": PropTypes.number,
1049+ "double": PropTypes.number.isRequired,
10501050 });
10511051 _Do = PropTypes.shape({
1052- "do": PropTypes.number,
1052+ "do": PropTypes.number.isRequired,
10531053 });
10541054 _DidSet = PropTypes.shape({
1055- "didSet": PropTypes.number,
1055+ "didSet": PropTypes.number.isRequired,
10561056 });
10571057 _Dictionary = PropTypes.shape({
1058- "dictionary": PropTypes.number,
1058+ "dictionary": PropTypes.number.isRequired,
10591059 });
10601060 _Dict = PropTypes.shape({
1061- "dict": PropTypes.number,
1061+ "dict": PropTypes.number.isRequired,
10621062 });
10631063 _Delete = PropTypes.shape({
1064- "delete": PropTypes.number,
1064+ "delete": PropTypes.number.isRequired,
10651065 });
10661066 _Delegate = PropTypes.shape({
1067- "delegate": PropTypes.number,
1067+ "delegate": PropTypes.number.isRequired,
10681068 });
10691069 _Del = PropTypes.shape({
1070- "del": PropTypes.number,
1070+ "del": PropTypes.number.isRequired,
10711071 });
10721072 _Deinit = PropTypes.shape({
1073- "deinit": PropTypes.number,
1073+ "deinit": PropTypes.number.isRequired,
10741074 });
10751075 _Defer = PropTypes.shape({
1076- "defer": PropTypes.number,
1076+ "defer": PropTypes.number.isRequired,
10771077 });
10781078 _Default = PropTypes.shape({
1079- "default": PropTypes.number,
1079+ "default": PropTypes.number.isRequired,
10801080 });
10811081 _Def = PropTypes.shape({
1082- "def": PropTypes.number,
1082+ "def": PropTypes.number.isRequired,
10831083 });
10841084 _Imp = PropTypes.shape({
1085- "IMP": PropTypes.number,
1085+ "IMP": PropTypes.number.isRequired,
10861086 });
10871087 _False = PropTypes.shape({
1088- "False": PropTypes.number,
1088+ "False": PropTypes.number.isRequired,
10891089 });
10901090 _Obj2 = PropTypes.shape({
1091- "False": _False,
1092- "IMP": _Imp,
1093- "def": _Def,
1094- "default": _Default,
1095- "defer": _Defer,
1096- "deinit": _Deinit,
1097- "del": _Del,
1098- "delegate": _Delegate,
1099- "delete": _Delete,
1100- "dict": _Dict,
1101- "dictionary": _Dictionary,
1102- "didSet": _DidSet,
1103- "do": _Do,
1104- "double": _Double,
1105- "dummy": PropTypes.number,
1106- "dynamic": _Dynamic,
1107- "dynamic_cast": _DynamicCast,
1108- "elif": _Elif,
1109- "else": _Else,
1110- "encode_quick_type": _EncodeQuickType,
1111- "enum": _Enum,
1112- "event": _Event,
1113- "except": _Except,
1114- "exception": _Exception,
1115- "explicit": _Explicit,
1116- "export": _Export,
1117- "exposing": _Exposing,
1118- "extends": _Extends,
1119- "extension": _Extension,
1120- "extern": _Extern,
1121- "fallthrough": _Fallthrough,
1122- "false": _FalseClass,
1123- "fileprivate": _Fileprivate,
1124- "final": _Final,
1125- "finally": _Finally,
1126- "fixed": _Fixed,
1127- "float": _Float,
1128- "for": _For,
1129- "foreach": _Foreach,
1130- "friend": _Friend,
1131- "from": _From,
1132- "from_json": _FromJSON,
1133- "func": _Func,
1134- "function": _Function,
1135- "get": _Get,
1136- "global": _Global,
1137- "go": _Go,
1138- "goto": _Goto,
1139- "guard": _Guard,
1140- "hasOwnProperty": _HasOwnProperty,
1141- "id": _ID,
1142- "if": _If,
1143- "implements": _Implements,
1144- "implicit": _Implicit,
1145- "import": _Import,
1146- "in": _In,
1147- "indirect": _Indirect,
1148- "infix": _Infix,
1149- "init": _Init,
1150- "inline": _Inline,
1151- "inout": _Inout,
1152- "instanceof": _Instanceof,
1153- "int": _Int,
1154- "interface": _Interface,
1155- "internal": _Internal,
1091+ "False": (...args) => _False.isRequired(...args),
1092+ "IMP": (...args) => _Imp.isRequired(...args),
1093+ "def": (...args) => _Def.isRequired(...args),
1094+ "default": (...args) => _Default.isRequired(...args),
1095+ "defer": (...args) => _Defer.isRequired(...args),
1096+ "deinit": (...args) => _Deinit.isRequired(...args),
1097+ "del": (...args) => _Del.isRequired(...args),
1098+ "delegate": (...args) => _Delegate.isRequired(...args),
1099+ "delete": (...args) => _Delete.isRequired(...args),
1100+ "dict": (...args) => _Dict.isRequired(...args),
1101+ "dictionary": (...args) => _Dictionary.isRequired(...args),
1102+ "didSet": (...args) => _DidSet.isRequired(...args),
1103+ "do": (...args) => _Do.isRequired(...args),
1104+ "double": (...args) => _Double.isRequired(...args),
1105+ "dummy": PropTypes.number.isRequired,
1106+ "dynamic": (...args) => _Dynamic.isRequired(...args),
1107+ "dynamic_cast": (...args) => _DynamicCast.isRequired(...args),
1108+ "elif": (...args) => _Elif.isRequired(...args),
1109+ "else": (...args) => _Else.isRequired(...args),
1110+ "encode_quick_type": (...args) => _EncodeQuickType.isRequired(...args),
1111+ "enum": (...args) => _Enum.isRequired(...args),
1112+ "event": (...args) => _Event.isRequired(...args),
1113+ "except": (...args) => _Except.isRequired(...args),
1114+ "exception": (...args) => _Exception.isRequired(...args),
1115+ "explicit": (...args) => _Explicit.isRequired(...args),
1116+ "export": (...args) => _Export.isRequired(...args),
1117+ "exposing": (...args) => _Exposing.isRequired(...args),
1118+ "extends": (...args) => _Extends.isRequired(...args),
1119+ "extension": (...args) => _Extension.isRequired(...args),
1120+ "extern": (...args) => _Extern.isRequired(...args),
1121+ "fallthrough": (...args) => _Fallthrough.isRequired(...args),
1122+ "false": (...args) => _FalseClass.isRequired(...args),
1123+ "fileprivate": (...args) => _Fileprivate.isRequired(...args),
1124+ "final": (...args) => _Final.isRequired(...args),
1125+ "finally": (...args) => _Finally.isRequired(...args),
1126+ "fixed": (...args) => _Fixed.isRequired(...args),
1127+ "float": (...args) => _Float.isRequired(...args),
1128+ "for": (...args) => _For.isRequired(...args),
1129+ "foreach": (...args) => _Foreach.isRequired(...args),
1130+ "friend": (...args) => _Friend.isRequired(...args),
1131+ "from": (...args) => _From.isRequired(...args),
1132+ "from_json": (...args) => _FromJSON.isRequired(...args),
1133+ "func": (...args) => _Func.isRequired(...args),
1134+ "function": (...args) => _Function.isRequired(...args),
1135+ "get": (...args) => _Get.isRequired(...args),
1136+ "global": (...args) => _Global.isRequired(...args),
1137+ "go": (...args) => _Go.isRequired(...args),
1138+ "goto": (...args) => _Goto.isRequired(...args),
1139+ "guard": (...args) => _Guard.isRequired(...args),
1140+ "hasOwnProperty": (...args) => _HasOwnProperty.isRequired(...args),
1141+ "id": (...args) => _ID.isRequired(...args),
1142+ "if": (...args) => _If.isRequired(...args),
1143+ "implements": (...args) => _Implements.isRequired(...args),
1144+ "implicit": (...args) => _Implicit.isRequired(...args),
1145+ "import": (...args) => _Import.isRequired(...args),
1146+ "in": (...args) => _In.isRequired(...args),
1147+ "indirect": (...args) => _Indirect.isRequired(...args),
1148+ "infix": (...args) => _Infix.isRequired(...args),
1149+ "init": (...args) => _Init.isRequired(...args),
1150+ "inline": (...args) => _Inline.isRequired(...args),
1151+ "inout": (...args) => _Inout.isRequired(...args),
1152+ "instanceof": (...args) => _Instanceof.isRequired(...args),
1153+ "int": (...args) => _Int.isRequired(...args),
1154+ "interface": (...args) => _Interface.isRequired(...args),
1155+ "internal": (...args) => _Internal.isRequired(...args),
11561156 });
11571157 _DecodeString = PropTypes.shape({
1158- "decode_string": PropTypes.number,
1158+ "decode_string": PropTypes.number.isRequired,
11591159 });
11601160 _Decltype = PropTypes.shape({
1161- "decltype": PropTypes.number,
1161+ "decltype": PropTypes.number.isRequired,
11621162 });
11631163 _Declare = PropTypes.shape({
1164- "declare": PropTypes.number,
1164+ "declare": PropTypes.number.isRequired,
11651165 });
11661166 _Decimal = PropTypes.shape({
1167- "decimal": PropTypes.number,
1167+ "decimal": PropTypes.number.isRequired,
11681168 });
11691169 _Debugger = PropTypes.shape({
1170- "debugger": PropTypes.number,
1170+ "debugger": PropTypes.number.isRequired,
11711171 });
11721172 _DateParseHandling = PropTypes.shape({
1173- "date_parse_handling": PropTypes.number,
1173+ "date_parse_handling": PropTypes.number.isRequired,
11741174 });
11751175 _Date = PropTypes.shape({
1176- "date": PropTypes.number,
1176+ "date": PropTypes.number.isRequired,
11771177 });
11781178 _Converter = PropTypes.shape({
1179- "converter": PropTypes.number,
1179+ "converter": PropTypes.number.isRequired,
11801180 });
11811181 _Convert = PropTypes.shape({
1182- "convert": PropTypes.number,
1182+ "convert": PropTypes.number.isRequired,
11831183 });
11841184 _Convenience = PropTypes.shape({
1185- "convenience": PropTypes.number,
1185+ "convenience": PropTypes.number.isRequired,
11861186 });
11871187 _Continue = PropTypes.shape({
1188- "continue": PropTypes.number,
1188+ "continue": PropTypes.number.isRequired,
11891189 });
11901190 _Constructor = PropTypes.shape({
1191- "constructor": PropTypes.number,
1191+ "constructor": PropTypes.number.isRequired,
11921192 });
11931193 _Constexpr = PropTypes.shape({
1194- "constexpr": PropTypes.number,
1194+ "constexpr": PropTypes.number.isRequired,
11951195 });
11961196 _ConstCast = PropTypes.shape({
1197- "const_cast": PropTypes.number,
1197+ "const_cast": PropTypes.number.isRequired,
11981198 });
11991199 _Const = PropTypes.shape({
1200- "const": PropTypes.number,
1200+ "const": PropTypes.number.isRequired,
12011201 });
12021202 _Console = PropTypes.shape({
1203- "console": PropTypes.number,
1203+ "console": PropTypes.number.isRequired,
12041204 });
12051205 _Concept = PropTypes.shape({
1206- "concept": PropTypes.number,
1206+ "concept": PropTypes.number.isRequired,
12071207 });
12081208 _Compl = PropTypes.shape({
1209- "compl": PropTypes.number,
1209+ "compl": PropTypes.number.isRequired,
12101210 });
12111211 _CoYield = PropTypes.shape({
1212- "co_yield": PropTypes.number,
1212+ "co_yield": PropTypes.number.isRequired,
12131213 });
12141214 _CoReturn = PropTypes.shape({
1215- "co_return": PropTypes.number,
1215+ "co_return": PropTypes.number.isRequired,
12161216 });
12171217 _CoAwait = PropTypes.shape({
1218- "co_await": PropTypes.number,
1218+ "co_await": PropTypes.number.isRequired,
12191219 });
12201220 _ClassClass = PropTypes.shape({
1221- "class": PropTypes.number,
1221+ "class": PropTypes.number.isRequired,
12221222 });
12231223 _Checked = PropTypes.shape({
1224- "checked": PropTypes.number,
1224+ "checked": PropTypes.number.isRequired,
12251225 });
12261226 _Char32T = PropTypes.shape({
1227- "char32_t": PropTypes.number,
1227+ "char32_t": PropTypes.number.isRequired,
12281228 });
12291229 _Char16T = PropTypes.shape({
1230- "char16_t": PropTypes.number,
1230+ "char16_t": PropTypes.number.isRequired,
12311231 });
12321232 _Char = PropTypes.shape({
1233- "char": PropTypes.number,
1233+ "char": PropTypes.number.isRequired,
12341234 });
12351235 _Chan = PropTypes.shape({
1236- "chan": PropTypes.number,
1236+ "chan": PropTypes.number.isRequired,
12371237 });
12381238 _Catch = PropTypes.shape({
1239- "catch": PropTypes.number,
1239+ "catch": PropTypes.number.isRequired,
12401240 });
12411241 _Case = PropTypes.shape({
1242- "case": PropTypes.number,
1242+ "case": PropTypes.number.isRequired,
12431243 });
12441244 _Byte = PropTypes.shape({
1245- "byte": PropTypes.number,
1245+ "byte": PropTypes.number.isRequired,
12461246 });
12471247 _Byref = PropTypes.shape({
1248- "byref": PropTypes.number,
1248+ "byref": PropTypes.number.isRequired,
12491249 });
12501250 _Bycopy = PropTypes.shape({
1251- "bycopy": PropTypes.number,
1251+ "bycopy": PropTypes.number.isRequired,
12521252 });
12531253 _Break = PropTypes.shape({
1254- "break": PropTypes.number,
1254+ "break": PropTypes.number.isRequired,
12551255 });
12561256 _Boolean = PropTypes.shape({
1257- "boolean": PropTypes.number,
1257+ "boolean": PropTypes.number.isRequired,
12581258 });
12591259 _Obj1Bool = PropTypes.shape({
1260- "bool": PropTypes.number,
1260+ "bool": PropTypes.number.isRequired,
12611261 });
12621262 _Bitor = PropTypes.shape({
1263- "bitor": PropTypes.number,
1263+ "bitor": PropTypes.number.isRequired,
12641264 });
12651265 _Bitand = PropTypes.shape({
1266- "bitand": PropTypes.number,
1266+ "bitand": PropTypes.number.isRequired,
12671267 });
12681268 _Base = PropTypes.shape({
1269- "base": PropTypes.number,
1269+ "base": PropTypes.number.isRequired,
12701270 });
12711271 _Await = PropTypes.shape({
1272- "await": PropTypes.number,
1272+ "await": PropTypes.number.isRequired,
12731273 });
12741274 _Auto = PropTypes.shape({
1275- "auto": PropTypes.number,
1275+ "auto": PropTypes.number.isRequired,
12761276 });
12771277 _AtomicNoexcept = PropTypes.shape({
1278- "atomic_noexcept": PropTypes.number,
1278+ "atomic_noexcept": PropTypes.number.isRequired,
12791279 });
12801280 _AtomicCommit = PropTypes.shape({
1281- "atomic_commit": PropTypes.number,
1281+ "atomic_commit": PropTypes.number.isRequired,
12821282 });
12831283 _AtomicCancel = PropTypes.shape({
1284- "atomic_cancel": PropTypes.number,
1284+ "atomic_cancel": PropTypes.number.isRequired,
12851285 });
12861286 _Atomic = PropTypes.shape({
1287- "atomic": PropTypes.number,
1287+ "atomic": PropTypes.number.isRequired,
12881288 });
12891289 _Async = PropTypes.shape({
1290- "async": PropTypes.number,
1290+ "async": PropTypes.number.isRequired,
12911291 });
12921292 _Associativity = PropTypes.shape({
1293- "associativity": PropTypes.number,
1293+ "associativity": PropTypes.number.isRequired,
12941294 });
12951295 _Associatedtype = PropTypes.shape({
1296- "associatedtype": PropTypes.number,
1296+ "associatedtype": PropTypes.number.isRequired,
12971297 });
12981298 _Assert = PropTypes.shape({
1299- "assert": PropTypes.number,
1299+ "assert": PropTypes.number.isRequired,
13001300 });
13011301 _ASM = PropTypes.shape({
1302- "asm": PropTypes.number,
1302+ "asm": PropTypes.number.isRequired,
13031303 });
13041304 _As = PropTypes.shape({
1305- "as": PropTypes.number,
1305+ "as": PropTypes.number.isRequired,
13061306 });
13071307 _Array = PropTypes.shape({
1308- "array": PropTypes.number,
1308+ "array": PropTypes.number.isRequired,
13091309 });
13101310 _AnyClass = PropTypes.shape({
1311- "any": PropTypes.number,
1311+ "any": PropTypes.number.isRequired,
13121312 });
13131313 _AndEq = PropTypes.shape({
1314- "and_eq": PropTypes.number,
1314+ "and_eq": PropTypes.number.isRequired,
13151315 });
13161316 _And = PropTypes.shape({
1317- "and": PropTypes.number,
1317+ "and": PropTypes.number.isRequired,
13181318 });
13191319 _Alignof = PropTypes.shape({
1320- "alignof": PropTypes.number,
1320+ "alignof": PropTypes.number.isRequired,
13211321 });
13221322 _Alignas = PropTypes.shape({
1323- "alignas": PropTypes.number,
1323+ "alignas": PropTypes.number.isRequired,
13241324 });
13251325 _Abstract = PropTypes.shape({
1326- "abstract": PropTypes.number,
1326+ "abstract": PropTypes.number.isRequired,
13271327 });
13281328 _Imaginery = PropTypes.shape({
1329- "_Imaginery": PropTypes.number,
1329+ "_Imaginery": PropTypes.number.isRequired,
13301330 });
13311331 _Complex = PropTypes.shape({
1332- "_Complex": PropTypes.number,
1332+ "_Complex": PropTypes.number.isRequired,
13331333 });
13341334 _BoolClass = PropTypes.shape({
1335- "_Bool": PropTypes.number,
1335+ "_Bool": PropTypes.number.isRequired,
13361336 });
13371337 _Empty = PropTypes.shape({
1338- "_": PropTypes.number,
1338+ "_": PropTypes.number.isRequired,
13391339 });
13401340 _Class = PropTypes.shape({
1341- "Class": PropTypes.number,
1341+ "Class": PropTypes.number.isRequired,
13421342 });
13431343 _Bool = PropTypes.shape({
1344- "BOOL": PropTypes.number,
1344+ "BOOL": PropTypes.number.isRequired,
13451345 });
13461346 _Any = PropTypes.shape({
1347- "Any": PropTypes.number,
1347+ "Any": PropTypes.number.isRequired,
13481348 });
13491349 _Obj1 = PropTypes.shape({
1350- "Any": _Any,
1351- "BOOL": _Bool,
1352- "Class": _Class,
1353- "_": _Empty,
1354- "_Bool": _BoolClass,
1355- "_Complex": _Complex,
1356- "_Imaginery": _Imaginery,
1357- "abstract": _Abstract,
1358- "alignas": _Alignas,
1359- "alignof": _Alignof,
1360- "and": _And,
1361- "and_eq": _AndEq,
1362- "any": _AnyClass,
1363- "array": _Array,
1364- "as": _As,
1365- "asm": _ASM,
1366- "assert": _Assert,
1367- "associatedtype": _Associatedtype,
1368- "associativity": _Associativity,
1369- "async": _Async,
1370- "atomic": _Atomic,
1371- "atomic_cancel": _AtomicCancel,
1372- "atomic_commit": _AtomicCommit,
1373- "atomic_noexcept": _AtomicNoexcept,
1374- "auto": _Auto,
1375- "await": _Await,
1376- "base": _Base,
1377- "bitand": _Bitand,
1378- "bitor": _Bitor,
1379- "bool": _Obj1Bool,
1380- "boolean": _Boolean,
1381- "break": _Break,
1382- "bycopy": _Bycopy,
1383- "byref": _Byref,
1384- "byte": _Byte,
1385- "case": _Case,
1386- "catch": _Catch,
1387- "chan": _Chan,
1388- "char": _Char,
1389- "char16_t": _Char16T,
1390- "char32_t": _Char32T,
1391- "checked": _Checked,
1392- "class": _ClassClass,
1393- "co_await": _CoAwait,
1394- "co_return": _CoReturn,
1395- "co_yield": _CoYield,
1396- "compl": _Compl,
1397- "concept": _Concept,
1398- "console": _Console,
1399- "const": _Const,
1400- "const_cast": _ConstCast,
1401- "constexpr": _Constexpr,
1402- "constructor": _Constructor,
1403- "continue": _Continue,
1404- "convenience": _Convenience,
1405- "convert": _Convert,
1406- "converter": _Converter,
1407- "date": _Date,
1408- "date_parse_handling": _DateParseHandling,
1409- "debugger": _Debugger,
1410- "decimal": _Decimal,
1411- "declare": _Declare,
1412- "decltype": _Decltype,
1413- "decode_string": _DecodeString,
1414- "dummy": PropTypes.number,
1350+ "Any": (...args) => _Any.isRequired(...args),
1351+ "BOOL": (...args) => _Bool.isRequired(...args),
1352+ "Class": (...args) => _Class.isRequired(...args),
1353+ "_": (...args) => _Empty.isRequired(...args),
1354+ "_Bool": (...args) => _BoolClass.isRequired(...args),
1355+ "_Complex": (...args) => _Complex.isRequired(...args),
1356+ "_Imaginery": (...args) => _Imaginery.isRequired(...args),
1357+ "abstract": (...args) => _Abstract.isRequired(...args),
1358+ "alignas": (...args) => _Alignas.isRequired(...args),
1359+ "alignof": (...args) => _Alignof.isRequired(...args),
1360+ "and": (...args) => _And.isRequired(...args),
1361+ "and_eq": (...args) => _AndEq.isRequired(...args),
1362+ "any": (...args) => _AnyClass.isRequired(...args),
1363+ "array": (...args) => _Array.isRequired(...args),
1364+ "as": (...args) => _As.isRequired(...args),
1365+ "asm": (...args) => _ASM.isRequired(...args),
1366+ "assert": (...args) => _Assert.isRequired(...args),
1367+ "associatedtype": (...args) => _Associatedtype.isRequired(...args),
1368+ "associativity": (...args) => _Associativity.isRequired(...args),
1369+ "async": (...args) => _Async.isRequired(...args),
1370+ "atomic": (...args) => _Atomic.isRequired(...args),
1371+ "atomic_cancel": (...args) => _AtomicCancel.isRequired(...args),
1372+ "atomic_commit": (...args) => _AtomicCommit.isRequired(...args),
1373+ "atomic_noexcept": (...args) => _AtomicNoexcept.isRequired(...args),
1374+ "auto": (...args) => _Auto.isRequired(...args),
1375+ "await": (...args) => _Await.isRequired(...args),
1376+ "base": (...args) => _Base.isRequired(...args),
1377+ "bitand": (...args) => _Bitand.isRequired(...args),
1378+ "bitor": (...args) => _Bitor.isRequired(...args),
1379+ "bool": (...args) => _Obj1Bool.isRequired(...args),
1380+ "boolean": (...args) => _Boolean.isRequired(...args),
1381+ "break": (...args) => _Break.isRequired(...args),
1382+ "bycopy": (...args) => _Bycopy.isRequired(...args),
1383+ "byref": (...args) => _Byref.isRequired(...args),
1384+ "byte": (...args) => _Byte.isRequired(...args),
1385+ "case": (...args) => _Case.isRequired(...args),
1386+ "catch": (...args) => _Catch.isRequired(...args),
1387+ "chan": (...args) => _Chan.isRequired(...args),
1388+ "char": (...args) => _Char.isRequired(...args),
1389+ "char16_t": (...args) => _Char16T.isRequired(...args),
1390+ "char32_t": (...args) => _Char32T.isRequired(...args),
1391+ "checked": (...args) => _Checked.isRequired(...args),
1392+ "class": (...args) => _ClassClass.isRequired(...args),
1393+ "co_await": (...args) => _CoAwait.isRequired(...args),
1394+ "co_return": (...args) => _CoReturn.isRequired(...args),
1395+ "co_yield": (...args) => _CoYield.isRequired(...args),
1396+ "compl": (...args) => _Compl.isRequired(...args),
1397+ "concept": (...args) => _Concept.isRequired(...args),
1398+ "console": (...args) => _Console.isRequired(...args),
1399+ "const": (...args) => _Const.isRequired(...args),
1400+ "const_cast": (...args) => _ConstCast.isRequired(...args),
1401+ "constexpr": (...args) => _Constexpr.isRequired(...args),
1402+ "constructor": (...args) => _Constructor.isRequired(...args),
1403+ "continue": (...args) => _Continue.isRequired(...args),
1404+ "convenience": (...args) => _Convenience.isRequired(...args),
1405+ "convert": (...args) => _Convert.isRequired(...args),
1406+ "converter": (...args) => _Converter.isRequired(...args),
1407+ "date": (...args) => _Date.isRequired(...args),
1408+ "date_parse_handling": (...args) => _DateParseHandling.isRequired(...args),
1409+ "debugger": (...args) => _Debugger.isRequired(...args),
1410+ "decimal": (...args) => _Decimal.isRequired(...args),
1411+ "declare": (...args) => _Declare.isRequired(...args),
1412+ "decltype": (...args) => _Decltype.isRequired(...args),
1413+ "decode_string": (...args) => _DecodeString.isRequired(...args),
1414+ "dummy": PropTypes.number.isRequired,
14151415 });
14161416 _TopLevel = PropTypes.shape({
1417- "dummy": PropTypes.number,
1418- "obj1": _Obj1,
1419- "obj2": _Obj2,
1420- "obj3": _Obj3,
1421- "obj4": _Obj4,
1422- "obj5": _Obj5,
1417+ "dummy": PropTypes.number.isRequired,
1418+ "obj1": (...args) => _Obj1.isRequired(...args),
1419+ "obj2": (...args) => _Obj2.isRequired(...args),
1420+ "obj3": (...args) => _Obj3.isRequired(...args),
1421+ "obj4": (...args) => _Obj4.isRequired(...args),
1422+ "obj5": (...args) => _Obj5.isRequired(...args),
14231423 });
14241424
14251425 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/kotlin-enum-class-case-collision.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -13,9 +13,9 @@
1313 import PropTypes from "prop-types";
1414
1515 let _TopLevel;
16-const _Category = PropTypes.oneOfType(['empty', 'category']);
16+const _Category = PropTypes.oneOf([" ", ""]);
1717 _TopLevel = PropTypes.shape({
18- "category": _Category,
18+ "category": _Category.isRequired,
1919 });
2020
21-export const TopLevel = PropTypes.arrayOf(_TopLevel);
21+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/priority/list.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "data": PropTypes.number,
18- "next": PropTypes.oneOfType([_TopLevel, PropTypes.any]),
17+ "data": PropTypes.number.isRequired,
18+ "next": PropTypes.oneOfType([(...args) => _TopLevel(...args), PropTypes.any]),
1919 });
2020
2121 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/name-style.json

1 generated file · +7 −7
Mjavascript-prop-typesdefault / toplevel.js+7 −7
@@ -14,13 +14,13 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- " spaces are separators too ": PropTypes.bool,
18- "JSONString": PropTypes.string,
19- "PrettyEasyToo": PropTypes.bool,
20- "ZSR_HH_DEMO3_DELMATNR": PropTypes.bool,
21- "anEasyOne": PropTypes.number,
22- "isMNISTLetter": PropTypes.bool,
23- "should_know_that_id_is_an_initialism": PropTypes.string,
17+ " spaces are separators too ": PropTypes.bool.isRequired,
18+ "JSONString": PropTypes.string.isRequired,
19+ "PrettyEasyToo": PropTypes.bool.isRequired,
20+ "ZSR_HH_DEMO3_DELMATNR": PropTypes.bool.isRequired,
21+ "anEasyOne": PropTypes.number.isRequired,
22+ "isMNISTLetter": PropTypes.bool.isRequired,
23+ "should_know_that_id_is_an_initialism": PropTypes.string.isRequired,
2424 });
2525
2626 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/nbl-stats.json

1 generated file · +205 −205
Mjavascript-prop-typesdefault / toplevel.js+205 −205
@@ -25,173 +25,173 @@ let _Pl;
2525 let _Comp;
2626 let _Shot;
2727 let _Totallds;
28-const _LeaddatumEnum = PropTypes.oneOfType(['empty', 'p1', 'p2', 'p3', 'p4']);
29-const _PerType = PropTypes.oneOfType(['regular']);
30-const _ActionType = PropTypes.oneOfType(['game', 'period', 'the3Pt', 'the2Pt', 'rebound', 'timeout', 'foulon', 'foul', 'assist', 'substitution', 'freethrow', 'steal', 'turnover', 'block', 'jumpball']);
31-const _FamilyNameInitial = PropTypes.oneOfType(['r', 'm', 's', 'c', 'o', 'w', 'a', 'p', 'v', 'i', 'j', 'familyNameInitialS', 'h', 'b']);
32-const _FirstNameInitial = PropTypes.oneOfType(['d', 'j', 't', 'c', 'o', 'h', 'l', 'a', 'k', 'r', 'b', 'n']);
33-const _ScoreboardName = PropTypes.oneOfType(['empty', 'tS', 'rIhata', 'dJones', 'bValentine']);
34-const _SubType = PropTypes.oneOfType(['jumpshot', 'layup', 'dunk']);
28+const _LeaddatumEnum = PropTypes.oneOf(["", "P1", "P2", "P3", "P4"]);
29+const _PerType = PropTypes.oneOf(["REGULAR"]);
30+const _ActionType = PropTypes.oneOf(["game", "period", "3pt", "2pt", "rebound", "timeout", "foulon", "foul", "assist", "substitution", "freethrow", "steal", "turnover", "block", "jumpball"]);
31+const _FamilyNameInitial = PropTypes.oneOf(["R", "M", "s", "C", "O", "W", "A", "P", "V", "I", "J", "S", "H", "B"]);
32+const _FirstNameInitial = PropTypes.oneOf(["D", "J", "T", "C", "O", "H", "L", "A", "K", "R", "B", "N"]);
33+const _ScoreboardName = PropTypes.oneOf(["", "T. s", "R. Ihata", "D. Jones", "B. Valentine"]);
34+const _SubType = PropTypes.oneOf(["jumpshot", "layup", "dunk"]);
3535 _Totallds = PropTypes.shape({
36- "sAssists": PropTypes.object,
37- "sBlocks": PropTypes.object,
38- "sPoints": PropTypes.object,
39- "sReboundsTotal": PropTypes.object,
40- "sSteals": PropTypes.object,
36+ "sAssists": PropTypes.object.isRequired,
37+ "sBlocks": PropTypes.object.isRequired,
38+ "sPoints": PropTypes.object.isRequired,
39+ "sReboundsTotal": PropTypes.object.isRequired,
40+ "sSteals": PropTypes.object.isRequired,
4141 });
4242 _Shot = PropTypes.shape({
43- "actionType": _ActionType,
44- "p": PropTypes.number,
45- "per": PropTypes.number,
46- "perType": _PerType,
47- "player": PropTypes.string,
48- "pno": PropTypes.number,
49- "r": PropTypes.number,
50- "shirtNumber": PropTypes.string,
51- "subType": _SubType,
52- "tno": PropTypes.number,
53- "x": PropTypes.number,
54- "y": PropTypes.number,
43+ "actionType": _ActionType.isRequired,
44+ "p": PropTypes.number.isRequired,
45+ "per": PropTypes.number.isRequired,
46+ "perType": _PerType.isRequired,
47+ "player": PropTypes.string.isRequired,
48+ "pno": PropTypes.number.isRequired,
49+ "r": PropTypes.number.isRequired,
50+ "shirtNumber": PropTypes.string.isRequired,
51+ "subType": _SubType.isRequired,
52+ "tno": PropTypes.number.isRequired,
53+ "x": PropTypes.number.isRequired,
54+ "y": PropTypes.number.isRequired,
5555 });
5656 _Comp = PropTypes.shape({
57- "sAssistsAverage": PropTypes.number,
58- "sMinutesAverage": PropTypes.string,
59- "sPointsAverage": PropTypes.number,
60- "sReboundsTotalAverage": PropTypes.number,
57+ "sAssistsAverage": PropTypes.number.isRequired,
58+ "sMinutesAverage": PropTypes.string.isRequired,
59+ "sPointsAverage": PropTypes.number.isRequired,
60+ "sReboundsTotalAverage": PropTypes.number.isRequired,
6161 });
6262 _Pl = PropTypes.shape({
63- "active": PropTypes.number,
63+ "active": PropTypes.number.isRequired,
6464 "captain": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
65- "comp": PropTypes.oneOfType([_Comp, PropTypes.any]),
66- "eff_1": PropTypes.number,
67- "eff_2": PropTypes.number,
68- "eff_3": PropTypes.number,
69- "eff_4": PropTypes.number,
70- "eff_5": PropTypes.number,
71- "eff_6": PropTypes.number,
72- "eff_7": PropTypes.number,
73- "familyName": PropTypes.string,
74- "familyNameInitial": _FamilyNameInitial,
75- "firstName": PropTypes.string,
76- "firstNameInitial": _FirstNameInitial,
77- "internationalFamilyName": PropTypes.string,
78- "internationalFamilyNameInitial": _FamilyNameInitial,
79- "internationalFirstName": PropTypes.string,
80- "internationalFirstNameInitial": _FirstNameInitial,
81- "name": PropTypes.string,
82- "playingPosition": PropTypes.string,
83- "sAssists": PropTypes.number,
84- "sBlocks": PropTypes.number,
85- "sBlocksReceived": PropTypes.number,
86- "sFieldGoalsAttempted": PropTypes.number,
87- "sFieldGoalsMade": PropTypes.number,
88- "sFieldGoalsPercentage": PropTypes.number,
89- "sFoulsOn": PropTypes.number,
90- "sFoulsPersonal": PropTypes.number,
91- "sFreeThrowsAttempted": PropTypes.number,
92- "sFreeThrowsMade": PropTypes.number,
93- "sFreeThrowsPercentage": PropTypes.number,
94- "sMinutes": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
95- "sPlusMinusPoints": PropTypes.number,
96- "sPoints": PropTypes.number,
97- "sPointsFastBreak": PropTypes.number,
98- "sPointsInThePaint": PropTypes.number,
99- "sPointsSecondChance": PropTypes.number,
100- "sReboundsDefensive": PropTypes.number,
101- "sReboundsOffensive": PropTypes.number,
102- "sReboundsTotal": PropTypes.number,
103- "sSteals": PropTypes.number,
104- "sThreePointersAttempted": PropTypes.number,
105- "sThreePointersMade": PropTypes.number,
106- "sThreePointersPercentage": PropTypes.number,
107- "sTurnovers": PropTypes.number,
108- "sTwoPointersAttempted": PropTypes.number,
109- "sTwoPointersMade": PropTypes.number,
110- "sTwoPointersPercentage": PropTypes.number,
111- "shirtNumber": PropTypes.string,
112- "starter": PropTypes.number,
65+ "comp": PropTypes.oneOfType([(...args) => _Comp(...args), PropTypes.any]),
66+ "eff_1": PropTypes.number.isRequired,
67+ "eff_2": PropTypes.number.isRequired,
68+ "eff_3": PropTypes.number.isRequired,
69+ "eff_4": PropTypes.number.isRequired,
70+ "eff_5": PropTypes.number.isRequired,
71+ "eff_6": PropTypes.number.isRequired,
72+ "eff_7": PropTypes.number.isRequired,
73+ "familyName": PropTypes.string.isRequired,
74+ "familyNameInitial": _FamilyNameInitial.isRequired,
75+ "firstName": PropTypes.string.isRequired,
76+ "firstNameInitial": _FirstNameInitial.isRequired,
77+ "internationalFamilyName": PropTypes.string.isRequired,
78+ "internationalFamilyNameInitial": _FamilyNameInitial.isRequired,
79+ "internationalFirstName": PropTypes.string.isRequired,
80+ "internationalFirstNameInitial": _FirstNameInitial.isRequired,
81+ "name": PropTypes.string.isRequired,
82+ "playingPosition": PropTypes.string.isRequired,
83+ "sAssists": PropTypes.number.isRequired,
84+ "sBlocks": PropTypes.number.isRequired,
85+ "sBlocksReceived": PropTypes.number.isRequired,
86+ "sFieldGoalsAttempted": PropTypes.number.isRequired,
87+ "sFieldGoalsMade": PropTypes.number.isRequired,
88+ "sFieldGoalsPercentage": PropTypes.number.isRequired,
89+ "sFoulsOn": PropTypes.number.isRequired,
90+ "sFoulsPersonal": PropTypes.number.isRequired,
91+ "sFreeThrowsAttempted": PropTypes.number.isRequired,
92+ "sFreeThrowsMade": PropTypes.number.isRequired,
93+ "sFreeThrowsPercentage": PropTypes.number.isRequired,
94+ "sMinutes": PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
95+ "sPlusMinusPoints": PropTypes.number.isRequired,
96+ "sPoints": PropTypes.number.isRequired,
97+ "sPointsFastBreak": PropTypes.number.isRequired,
98+ "sPointsInThePaint": PropTypes.number.isRequired,
99+ "sPointsSecondChance": PropTypes.number.isRequired,
100+ "sReboundsDefensive": PropTypes.number.isRequired,
101+ "sReboundsOffensive": PropTypes.number.isRequired,
102+ "sReboundsTotal": PropTypes.number.isRequired,
103+ "sSteals": PropTypes.number.isRequired,
104+ "sThreePointersAttempted": PropTypes.number.isRequired,
105+ "sThreePointersMade": PropTypes.number.isRequired,
106+ "sThreePointersPercentage": PropTypes.number.isRequired,
107+ "sTurnovers": PropTypes.number.isRequired,
108+ "sTwoPointersAttempted": PropTypes.number.isRequired,
109+ "sTwoPointersMade": PropTypes.number.isRequired,
110+ "sTwoPointersPercentage": PropTypes.number.isRequired,
111+ "shirtNumber": PropTypes.string.isRequired,
112+ "starter": PropTypes.number.isRequired,
113113 });
114114 _SBlocks = PropTypes.shape({
115- "1": _Scorer,
115+ "1": (...args) => _Scorer.isRequired(...args),
116116 });
117117 _Lds = PropTypes.shape({
118- "sAssists": PropTypes.object,
119- "sBlocks": _SBlocks,
120- "sPoints": PropTypes.object,
121- "sReboundsTotal": PropTypes.object,
122- "sSteals": PropTypes.object,
118+ "sAssists": PropTypes.object.isRequired,
119+ "sBlocks": (...args) => _SBlocks.isRequired(...args),
120+ "sPoints": PropTypes.object.isRequired,
121+ "sReboundsTotal": PropTypes.object.isRequired,
122+ "sSteals": PropTypes.object.isRequired,
123123 });
124124 _Tm = PropTypes.shape({
125- "code": PropTypes.string,
126- "codeInternational": PropTypes.string,
127- "fouls": PropTypes.number,
128- "full_score": PropTypes.number,
129- "lds": _Lds,
130- "logo": PropTypes.string,
131- "name": PropTypes.string,
132- "nameInternational": PropTypes.string,
133- "p1_score": PropTypes.number,
134- "p2_score": PropTypes.number,
135- "p3_score": PropTypes.number,
136- "p4_score": PropTypes.number,
137- "pl": PropTypes.object,
138- "score": PropTypes.number,
139- "scoring": PropTypes.arrayOf(_Scorer),
140- "shortName": PropTypes.string,
141- "shortNameInternational": PropTypes.string,
142- "shot": PropTypes.arrayOf(_Shot),
143- "timeouts": PropTypes.number,
144- "tot_eff_1": PropTypes.number,
145- "tot_eff_2": PropTypes.number,
146- "tot_eff_3": PropTypes.number,
147- "tot_eff_4": PropTypes.number,
148- "tot_eff_5": PropTypes.number,
149- "tot_eff_6": PropTypes.number,
150- "tot_eff_7": PropTypes.number,
151- "tot_sAssists": PropTypes.number,
152- "tot_sBenchPoints": PropTypes.number,
153- "tot_sBiggestLead": PropTypes.number,
154- "tot_sBiggestScoringRun": PropTypes.number,
155- "tot_sBlocks": PropTypes.number,
156- "tot_sBlocksReceived": PropTypes.number,
157- "tot_sFieldGoalsAttempted": PropTypes.number,
158- "tot_sFieldGoalsMade": PropTypes.number,
159- "tot_sFieldGoalsPercentage": PropTypes.number,
160- "tot_sFoulsOn": PropTypes.number,
161- "tot_sFoulsPersonal": PropTypes.number,
162- "tot_sFoulsTeam": PropTypes.number,
163- "tot_sFreeThrowsAttempted": PropTypes.number,
164- "tot_sFreeThrowsMade": PropTypes.number,
165- "tot_sFreeThrowsPercentage": PropTypes.number,
166- "tot_sLeadChanges": PropTypes.number,
167- "tot_sMinutes": PropTypes.number,
168- "tot_sPoints": PropTypes.number,
169- "tot_sPointsFastBreak": PropTypes.number,
170- "tot_sPointsFromTurnovers": PropTypes.number,
171- "tot_sPointsInThePaint": PropTypes.number,
172- "tot_sPointsSecondChance": PropTypes.number,
173- "tot_sReboundsDefensive": PropTypes.number,
174- "tot_sReboundsOffensive": PropTypes.number,
175- "tot_sReboundsTeam": PropTypes.number,
176- "tot_sReboundsTeamDefensive": PropTypes.number,
177- "tot_sReboundsTeamOffensive": PropTypes.number,
178- "tot_sReboundsTotal": PropTypes.number,
179- "tot_sSteals": PropTypes.number,
180- "tot_sThreePointersAttempted": PropTypes.number,
181- "tot_sThreePointersMade": PropTypes.number,
182- "tot_sThreePointersPercentage": PropTypes.number,
183- "tot_sTimeLeading": PropTypes.number,
184- "tot_sTimesScoresLevel": PropTypes.number,
185- "tot_sTurnovers": PropTypes.number,
186- "tot_sTurnoversTeam": PropTypes.number,
187- "tot_sTwoPointersAttempted": PropTypes.number,
188- "tot_sTwoPointersMade": PropTypes.number,
189- "tot_sTwoPointersPercentage": PropTypes.number,
125+ "code": PropTypes.string.isRequired,
126+ "codeInternational": PropTypes.string.isRequired,
127+ "fouls": PropTypes.number.isRequired,
128+ "full_score": PropTypes.number.isRequired,
129+ "lds": (...args) => _Lds.isRequired(...args),
130+ "logo": PropTypes.string.isRequired,
131+ "name": PropTypes.string.isRequired,
132+ "nameInternational": PropTypes.string.isRequired,
133+ "p1_score": PropTypes.number.isRequired,
134+ "p2_score": PropTypes.number.isRequired,
135+ "p3_score": PropTypes.number.isRequired,
136+ "p4_score": PropTypes.number.isRequired,
137+ "pl": PropTypes.object.isRequired,
138+ "score": PropTypes.number.isRequired,
139+ "scoring": PropTypes.arrayOf((...args) => _Scorer(...args)).isRequired,
140+ "shortName": PropTypes.string.isRequired,
141+ "shortNameInternational": PropTypes.string.isRequired,
142+ "shot": PropTypes.arrayOf((...args) => _Shot(...args)).isRequired,
143+ "timeouts": PropTypes.number.isRequired,
144+ "tot_eff_1": PropTypes.number.isRequired,
145+ "tot_eff_2": PropTypes.number.isRequired,
146+ "tot_eff_3": PropTypes.number.isRequired,
147+ "tot_eff_4": PropTypes.number.isRequired,
148+ "tot_eff_5": PropTypes.number.isRequired,
149+ "tot_eff_6": PropTypes.number.isRequired,
150+ "tot_eff_7": PropTypes.number.isRequired,
151+ "tot_sAssists": PropTypes.number.isRequired,
152+ "tot_sBenchPoints": PropTypes.number.isRequired,
153+ "tot_sBiggestLead": PropTypes.number.isRequired,
154+ "tot_sBiggestScoringRun": PropTypes.number.isRequired,
155+ "tot_sBlocks": PropTypes.number.isRequired,
156+ "tot_sBlocksReceived": PropTypes.number.isRequired,
157+ "tot_sFieldGoalsAttempted": PropTypes.number.isRequired,
158+ "tot_sFieldGoalsMade": PropTypes.number.isRequired,
159+ "tot_sFieldGoalsPercentage": PropTypes.number.isRequired,
160+ "tot_sFoulsOn": PropTypes.number.isRequired,
161+ "tot_sFoulsPersonal": PropTypes.number.isRequired,
162+ "tot_sFoulsTeam": PropTypes.number.isRequired,
163+ "tot_sFreeThrowsAttempted": PropTypes.number.isRequired,
164+ "tot_sFreeThrowsMade": PropTypes.number.isRequired,
165+ "tot_sFreeThrowsPercentage": PropTypes.number.isRequired,
166+ "tot_sLeadChanges": PropTypes.number.isRequired,
167+ "tot_sMinutes": PropTypes.number.isRequired,
168+ "tot_sPoints": PropTypes.number.isRequired,
169+ "tot_sPointsFastBreak": PropTypes.number.isRequired,
170+ "tot_sPointsFromTurnovers": PropTypes.number.isRequired,
171+ "tot_sPointsInThePaint": PropTypes.number.isRequired,
172+ "tot_sPointsSecondChance": PropTypes.number.isRequired,
173+ "tot_sReboundsDefensive": PropTypes.number.isRequired,
174+ "tot_sReboundsOffensive": PropTypes.number.isRequired,
175+ "tot_sReboundsTeam": PropTypes.number.isRequired,
176+ "tot_sReboundsTeamDefensive": PropTypes.number.isRequired,
177+ "tot_sReboundsTeamOffensive": PropTypes.number.isRequired,
178+ "tot_sReboundsTotal": PropTypes.number.isRequired,
179+ "tot_sSteals": PropTypes.number.isRequired,
180+ "tot_sThreePointersAttempted": PropTypes.number.isRequired,
181+ "tot_sThreePointersMade": PropTypes.number.isRequired,
182+ "tot_sThreePointersPercentage": PropTypes.number.isRequired,
183+ "tot_sTimeLeading": PropTypes.number.isRequired,
184+ "tot_sTimesScoresLevel": PropTypes.number.isRequired,
185+ "tot_sTurnovers": PropTypes.number.isRequired,
186+ "tot_sTurnoversTeam": PropTypes.number.isRequired,
187+ "tot_sTwoPointersAttempted": PropTypes.number.isRequired,
188+ "tot_sTwoPointersMade": PropTypes.number.isRequired,
189+ "tot_sTwoPointersPercentage": PropTypes.number.isRequired,
190190 });
191191 _Time = PropTypes.shape({
192- "gt": PropTypes.string,
193- "per": PropTypes.number,
194- "perType": _PerType,
192+ "gt": PropTypes.string.isRequired,
193+ "per": PropTypes.number.isRequired,
194+ "perType": _PerType.isRequired,
195195 });
196196 _Scorer = PropTypes.shape({
197197 "familyName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -207,80 +207,80 @@ _Scorer = PropTypes.shape({
207207 "per": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
208208 "perType": PropTypes.oneOfType([_PerType, PropTypes.any]),
209209 "player": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
210- "pno": PropTypes.number,
210+ "pno": PropTypes.number.isRequired,
211211 "scoreboardName": PropTypes.oneOfType([_ScoreboardName, PropTypes.any]),
212- "shirtNumber": PropTypes.string,
212+ "shirtNumber": PropTypes.string.isRequired,
213213 "summary": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
214- "times": PropTypes.oneOfType([PropTypes.arrayOf(_Time), PropTypes.any]),
215- "tno": PropTypes.number,
214+ "times": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Time(...args)), PropTypes.any]),
215+ "tno": PropTypes.number.isRequired,
216216 "tot": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
217217 });
218218 _Pbp = PropTypes.shape({
219- "actionType": _ActionType,
219+ "actionType": _ActionType.isRequired,
220220 "familyName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
221221 "familyNameInitial": PropTypes.oneOfType([_FamilyNameInitial, PropTypes.any]),
222222 "firstName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
223223 "firstNameInitial": PropTypes.oneOfType([_FirstNameInitial, PropTypes.any]),
224- "gt": PropTypes.string,
224+ "gt": PropTypes.string.isRequired,
225225 "internationalFamilyName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
226226 "internationalFamilyNameInitial": PropTypes.oneOfType([_FamilyNameInitial, PropTypes.any]),
227227 "internationalFirstName": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
228228 "internationalFirstNameInitial": PropTypes.oneOfType([_FirstNameInitial, PropTypes.any]),
229- "lead": PropTypes.number,
230- "period": PropTypes.number,
231- "periodType": _PerType,
232- "player": PropTypes.string,
233- "pno": PropTypes.number,
234- "qualifier": PropTypes.string,
235- "s1": PropTypes.number,
236- "s2": PropTypes.number,
229+ "lead": PropTypes.number.isRequired,
230+ "period": PropTypes.number.isRequired,
231+ "periodType": _PerType.isRequired,
232+ "player": PropTypes.string.isRequired,
233+ "pno": PropTypes.number.isRequired,
234+ "qualifier": PropTypes.string.isRequired,
235+ "s1": PropTypes.number.isRequired,
236+ "s2": PropTypes.number.isRequired,
237237 "scoreboardName": PropTypes.oneOfType([_ScoreboardName, PropTypes.any]),
238- "scoring": PropTypes.number,
239- "shirtNumber": PropTypes.string,
240- "subType": PropTypes.string,
241- "success": PropTypes.number,
242- "tno": PropTypes.number,
238+ "scoring": PropTypes.number.isRequired,
239+ "shirtNumber": PropTypes.string.isRequired,
240+ "subType": PropTypes.string.isRequired,
241+ "success": PropTypes.number.isRequired,
242+ "tno": PropTypes.number.isRequired,
243243 });
244244 _Team = PropTypes.shape({
245- "teamCode": PropTypes.string,
246- "teamCodeInternational": PropTypes.string,
247- "teamName": PropTypes.string,
248- "teamNameInternational": PropTypes.string,
245+ "teamCode": PropTypes.string.isRequired,
246+ "teamCodeInternational": PropTypes.string.isRequired,
247+ "teamName": PropTypes.string.isRequired,
248+ "teamNameInternational": PropTypes.string.isRequired,
249249 });
250250 _Othermatch = PropTypes.shape({
251- "clock": PropTypes.string,
252- "competitionName": PropTypes.string,
253- "id": PropTypes.string,
254- "period": PropTypes.number,
255- "periodType": _PerType,
256- "team1": _Team,
257- "team1Name": PropTypes.string,
258- "team1Score": PropTypes.number,
259- "team2": _Team,
260- "team2Name": PropTypes.string,
261- "team2Score": PropTypes.number,
251+ "clock": PropTypes.string.isRequired,
252+ "competitionName": PropTypes.string.isRequired,
253+ "id": PropTypes.string.isRequired,
254+ "period": PropTypes.number.isRequired,
255+ "periodType": _PerType.isRequired,
256+ "team1": (...args) => _Team.isRequired(...args),
257+ "team1Name": PropTypes.string.isRequired,
258+ "team1Score": PropTypes.number.isRequired,
259+ "team2": (...args) => _Team.isRequired(...args),
260+ "team2Name": PropTypes.string.isRequired,
261+ "team2Score": PropTypes.number.isRequired,
262262 });
263263 _TopLevel = PropTypes.shape({
264- "attendance": PropTypes.number,
265- "clock": PropTypes.string,
266- "disableMatch": PropTypes.number,
267- "inOT": PropTypes.number,
268- "leaddata": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([_LeaddatumEnum, PropTypes.number]))),
269- "officials_referee1": PropTypes.string,
270- "officials_referee2": PropTypes.string,
271- "officials_referee3": PropTypes.string,
272- "othermatches": PropTypes.arrayOf(_Othermatch),
273- "pbp": PropTypes.arrayOf(_Pbp),
274- "period": PropTypes.number,
275- "periodLengthOVERTIME": PropTypes.number,
276- "periodLengthREGULAR": PropTypes.number,
277- "periodType": _PerType,
278- "periodsMax": PropTypes.number,
279- "scorers": PropTypes.object,
280- "timeline": PropTypes.arrayOf(PropTypes.any),
281- "tm": PropTypes.object,
282- "totalTimeAdded": PropTypes.number,
283- "totallds": _Totallds,
264+ "attendance": PropTypes.number.isRequired,
265+ "clock": PropTypes.string.isRequired,
266+ "disableMatch": PropTypes.number.isRequired,
267+ "inOT": PropTypes.number.isRequired,
268+ "leaddata": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([_LeaddatumEnum, PropTypes.number]))).isRequired,
269+ "officials_referee1": PropTypes.string.isRequired,
270+ "officials_referee2": PropTypes.string.isRequired,
271+ "officials_referee3": PropTypes.string.isRequired,
272+ "othermatches": PropTypes.arrayOf((...args) => _Othermatch(...args)).isRequired,
273+ "pbp": PropTypes.arrayOf((...args) => _Pbp(...args)).isRequired,
274+ "period": PropTypes.number.isRequired,
275+ "periodLengthOVERTIME": PropTypes.number.isRequired,
276+ "periodLengthREGULAR": PropTypes.number.isRequired,
277+ "periodType": _PerType.isRequired,
278+ "periodsMax": PropTypes.number.isRequired,
279+ "scorers": PropTypes.object.isRequired,
280+ "timeline": PropTypes.arrayOf(PropTypes.any).isRequired,
281+ "tm": PropTypes.object.isRequired,
282+ "totalTimeAdded": PropTypes.number.isRequired,
283+ "totallds": (...args) => _Totallds.isRequired(...args),
284284 });
285285
286286 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/nested-objects.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "a": PropTypes.object,
18- "b": PropTypes.object,
17+ "a": PropTypes.object.isRequired,
18+ "b": PropTypes.object.isRequired,
1919 });
2020
2121 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/nst-test-suite.json

1 generated file · +105 −105
Mjavascript-prop-typesdefault / toplevel.js+105 −105
@@ -25,134 +25,134 @@ let _YObjectSimpleJSON;
2525 let _YObjectStringUnicodeJSON;
2626 let _YObjectWithNewlinesJSON;
2727 _YObjectWithNewlinesJSON = PropTypes.shape({
28- "a": PropTypes.string,
28+ "a": PropTypes.string.isRequired,
2929 });
3030 _YObjectStringUnicodeJSON = PropTypes.shape({
31- "title": PropTypes.string,
31+ "title": PropTypes.string.isRequired,
3232 });
3333 _YObjectSimpleJSON = PropTypes.shape({
34- "a": PropTypes.arrayOf(PropTypes.any),
34+ "a": PropTypes.arrayOf(PropTypes.any).isRequired,
3535 });
3636 _X = PropTypes.shape({
37- "id": PropTypes.string,
37+ "id": PropTypes.string.isRequired,
3838 });
3939 _YObjectLongStringsJSON = PropTypes.shape({
40- "id": PropTypes.string,
41- "x": PropTypes.arrayOf(_X),
40+ "id": PropTypes.string.isRequired,
41+ "x": PropTypes.arrayOf((...args) => _X(...args)).isRequired,
4242 });
4343 _YObjectExtremeNumbersJSON = PropTypes.shape({
44- "max": PropTypes.number,
45- "min": PropTypes.number,
44+ "max": PropTypes.number.isRequired,
45+ "min": PropTypes.number.isRequired,
4646 });
4747 _YObjectEscapedNullInKeyJSON = PropTypes.shape({
48- "foo\u0000bar": PropTypes.number,
48+ "foo\u0000bar": PropTypes.number.isRequired,
4949 });
5050 _YObjectEmptyKeyJSON = PropTypes.shape({
51- "": PropTypes.number,
51+ "": PropTypes.number.isRequired,
5252 });
5353 _YObjectBasicJSON = PropTypes.shape({
54- "asd": PropTypes.string,
54+ "asd": PropTypes.string.isRequired,
5555 });
5656 _YObjectJSON = PropTypes.shape({
57- "asd": PropTypes.string,
58- "dfg": PropTypes.string,
57+ "asd": PropTypes.string.isRequired,
58+ "dfg": PropTypes.string.isRequired,
5959 });
6060 _JSON = PropTypes.shape({
6161 });
6262 _TopLevel = PropTypes.shape({
63- "y_array_arraysWithSpaces.json": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.any)),
64- "y_array_empty-string.json": PropTypes.arrayOf(PropTypes.string),
65- "y_array_empty.json": PropTypes.arrayOf(PropTypes.any),
66- "y_array_ending_with_newline.json": PropTypes.arrayOf(PropTypes.string),
67- "y_array_false.json": PropTypes.arrayOf(PropTypes.bool),
68- "y_array_heterogeneous.json": PropTypes.arrayOf(PropTypes.oneOfType([_JSON, PropTypes.number, PropTypes.any, PropTypes.string])),
69- "y_array_null.json": PropTypes.arrayOf(PropTypes.any),
70- "y_array_with_1_and_newline.json": PropTypes.arrayOf(PropTypes.number),
71- "y_array_with_leading_space.json": PropTypes.arrayOf(PropTypes.number),
72- "y_array_with_several_null.json": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
73- "y_array_with_trailing_space.json": PropTypes.arrayOf(PropTypes.number),
74- "y_number.json": PropTypes.arrayOf(PropTypes.number),
75- "y_number_0e+1.json": PropTypes.arrayOf(PropTypes.number),
76- "y_number_0e1.json": PropTypes.arrayOf(PropTypes.number),
77- "y_number_after_space.json": PropTypes.arrayOf(PropTypes.number),
78- "y_number_double_close_to_zero.json": PropTypes.arrayOf(PropTypes.number),
79- "y_number_int_with_exp.json": PropTypes.arrayOf(PropTypes.number),
80- "y_number_minus_zero.json": PropTypes.arrayOf(PropTypes.number),
81- "y_number_negative_int.json": PropTypes.arrayOf(PropTypes.number),
82- "y_number_negative_one.json": PropTypes.arrayOf(PropTypes.number),
83- "y_number_negative_zero.json": PropTypes.arrayOf(PropTypes.number),
84- "y_number_real_capital_e.json": PropTypes.arrayOf(PropTypes.number),
85- "y_number_real_capital_e_neg_exp.json": PropTypes.arrayOf(PropTypes.number),
86- "y_number_real_capital_e_pos_exp.json": PropTypes.arrayOf(PropTypes.number),
87- "y_number_real_exponent.json": PropTypes.arrayOf(PropTypes.number),
88- "y_number_real_fraction_exponent.json": PropTypes.arrayOf(PropTypes.number),
89- "y_number_real_neg_exp.json": PropTypes.arrayOf(PropTypes.number),
90- "y_number_real_pos_exponent.json": PropTypes.arrayOf(PropTypes.number),
91- "y_number_simple_int.json": PropTypes.arrayOf(PropTypes.number),
92- "y_number_simple_real.json": PropTypes.arrayOf(PropTypes.number),
93- "y_object.json": _YObjectJSON,
94- "y_object_basic.json": _YObjectBasicJSON,
95- "y_object_empty.json": _JSON,
96- "y_object_empty_key.json": _YObjectEmptyKeyJSON,
97- "y_object_escaped_null_in_key.json": _YObjectEscapedNullInKeyJSON,
98- "y_object_extreme_numbers.json": _YObjectExtremeNumbersJSON,
99- "y_object_long_strings.json": _YObjectLongStringsJSON,
100- "y_object_simple.json": _YObjectSimpleJSON,
101- "y_object_string_unicode.json": _YObjectStringUnicodeJSON,
102- "y_object_with_newlines.json": _YObjectWithNewlinesJSON,
103- "y_string_1_2_3_bytes_UTF-8_sequences.json": PropTypes.arrayOf(PropTypes.string),
104- "y_string_accepted_surrogate_pair.json": PropTypes.arrayOf(PropTypes.string),
105- "y_string_accepted_surrogate_pairs.json": PropTypes.arrayOf(PropTypes.string),
106- "y_string_allowed_escapes.json": PropTypes.arrayOf(PropTypes.string),
107- "y_string_backslash_and_u_escaped_zero.json": PropTypes.arrayOf(PropTypes.string),
108- "y_string_backslash_doublequotes.json": PropTypes.arrayOf(PropTypes.string),
109- "y_string_comments.json": PropTypes.arrayOf(PropTypes.string),
110- "y_string_double_escape_a.json": PropTypes.arrayOf(PropTypes.string),
111- "y_string_double_escape_n.json": PropTypes.arrayOf(PropTypes.string),
112- "y_string_escaped_control_character.json": PropTypes.arrayOf(PropTypes.string),
113- "y_string_escaped_noncharacter.json": PropTypes.arrayOf(PropTypes.string),
114- "y_string_in_array.json": PropTypes.arrayOf(PropTypes.string),
115- "y_string_in_array_with_leading_space.json": PropTypes.arrayOf(PropTypes.string),
116- "y_string_last_surrogates_1_and_2.json": PropTypes.arrayOf(PropTypes.string),
117- "y_string_nbsp_uescaped.json": PropTypes.arrayOf(PropTypes.string),
118- "y_string_nonCharacterInUTF-8_U+10FFFF.json": PropTypes.arrayOf(PropTypes.string),
119- "y_string_nonCharacterInUTF-8_U+1FFFF.json": PropTypes.arrayOf(PropTypes.string),
120- "y_string_nonCharacterInUTF-8_U+FFFF.json": PropTypes.arrayOf(PropTypes.string),
121- "y_string_null_escape.json": PropTypes.arrayOf(PropTypes.string),
122- "y_string_one-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string),
123- "y_string_pi.json": PropTypes.arrayOf(PropTypes.string),
124- "y_string_simple_ascii.json": PropTypes.arrayOf(PropTypes.string),
125- "y_string_space.json": PropTypes.string,
126- "y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json": PropTypes.arrayOf(PropTypes.string),
127- "y_string_three-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string),
128- "y_string_two-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string),
129- "y_string_u+2028_line_sep.json": PropTypes.arrayOf(PropTypes.string),
130- "y_string_u+2029_par_sep.json": PropTypes.arrayOf(PropTypes.string),
131- "y_string_uEscape.json": PropTypes.arrayOf(PropTypes.string),
132- "y_string_uescaped_newline.json": PropTypes.arrayOf(PropTypes.string),
133- "y_string_unescaped_char_delete.json": PropTypes.arrayOf(PropTypes.string),
134- "y_string_unicode.json": PropTypes.arrayOf(PropTypes.string),
135- "y_string_unicodeEscapedBackslash.json": PropTypes.arrayOf(PropTypes.string),
136- "y_string_unicode_2.json": PropTypes.arrayOf(PropTypes.string),
137- "y_string_unicode_U+10FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string),
138- "y_string_unicode_U+1FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string),
139- "y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json": PropTypes.arrayOf(PropTypes.string),
140- "y_string_unicode_U+2064_invisible_plus.json": PropTypes.arrayOf(PropTypes.string),
141- "y_string_unicode_U+FDD0_nonchar.json": PropTypes.arrayOf(PropTypes.string),
142- "y_string_unicode_U+FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string),
143- "y_string_unicode_escaped_double_quote.json": PropTypes.arrayOf(PropTypes.string),
144- "y_string_utf8.json": PropTypes.arrayOf(PropTypes.string),
145- "y_string_with_del_character.json": PropTypes.arrayOf(PropTypes.string),
146- "y_structure_lonely_false.json": PropTypes.bool,
147- "y_structure_lonely_int.json": PropTypes.number,
148- "y_structure_lonely_negative_real.json": PropTypes.number,
63+ "y_array_arraysWithSpaces.json": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.any)).isRequired,
64+ "y_array_empty-string.json": PropTypes.arrayOf(PropTypes.string).isRequired,
65+ "y_array_empty.json": PropTypes.arrayOf(PropTypes.any).isRequired,
66+ "y_array_ending_with_newline.json": PropTypes.arrayOf(PropTypes.string).isRequired,
67+ "y_array_false.json": PropTypes.arrayOf(PropTypes.bool).isRequired,
68+ "y_array_heterogeneous.json": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _JSON(...args), PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
69+ "y_array_null.json": PropTypes.arrayOf(PropTypes.any).isRequired,
70+ "y_array_with_1_and_newline.json": PropTypes.arrayOf(PropTypes.number).isRequired,
71+ "y_array_with_leading_space.json": PropTypes.arrayOf(PropTypes.number).isRequired,
72+ "y_array_with_several_null.json": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
73+ "y_array_with_trailing_space.json": PropTypes.arrayOf(PropTypes.number).isRequired,
74+ "y_number.json": PropTypes.arrayOf(PropTypes.number).isRequired,
75+ "y_number_0e+1.json": PropTypes.arrayOf(PropTypes.number).isRequired,
76+ "y_number_0e1.json": PropTypes.arrayOf(PropTypes.number).isRequired,
77+ "y_number_after_space.json": PropTypes.arrayOf(PropTypes.number).isRequired,
78+ "y_number_double_close_to_zero.json": PropTypes.arrayOf(PropTypes.number).isRequired,
79+ "y_number_int_with_exp.json": PropTypes.arrayOf(PropTypes.number).isRequired,
80+ "y_number_minus_zero.json": PropTypes.arrayOf(PropTypes.number).isRequired,
81+ "y_number_negative_int.json": PropTypes.arrayOf(PropTypes.number).isRequired,
82+ "y_number_negative_one.json": PropTypes.arrayOf(PropTypes.number).isRequired,
83+ "y_number_negative_zero.json": PropTypes.arrayOf(PropTypes.number).isRequired,
84+ "y_number_real_capital_e.json": PropTypes.arrayOf(PropTypes.number).isRequired,
85+ "y_number_real_capital_e_neg_exp.json": PropTypes.arrayOf(PropTypes.number).isRequired,
86+ "y_number_real_capital_e_pos_exp.json": PropTypes.arrayOf(PropTypes.number).isRequired,
87+ "y_number_real_exponent.json": PropTypes.arrayOf(PropTypes.number).isRequired,
88+ "y_number_real_fraction_exponent.json": PropTypes.arrayOf(PropTypes.number).isRequired,
89+ "y_number_real_neg_exp.json": PropTypes.arrayOf(PropTypes.number).isRequired,
90+ "y_number_real_pos_exponent.json": PropTypes.arrayOf(PropTypes.number).isRequired,
91+ "y_number_simple_int.json": PropTypes.arrayOf(PropTypes.number).isRequired,
92+ "y_number_simple_real.json": PropTypes.arrayOf(PropTypes.number).isRequired,
93+ "y_object.json": (...args) => _YObjectJSON.isRequired(...args),
94+ "y_object_basic.json": (...args) => _YObjectBasicJSON.isRequired(...args),
95+ "y_object_empty.json": (...args) => _JSON.isRequired(...args),
96+ "y_object_empty_key.json": (...args) => _YObjectEmptyKeyJSON.isRequired(...args),
97+ "y_object_escaped_null_in_key.json": (...args) => _YObjectEscapedNullInKeyJSON.isRequired(...args),
98+ "y_object_extreme_numbers.json": (...args) => _YObjectExtremeNumbersJSON.isRequired(...args),
99+ "y_object_long_strings.json": (...args) => _YObjectLongStringsJSON.isRequired(...args),
100+ "y_object_simple.json": (...args) => _YObjectSimpleJSON.isRequired(...args),
101+ "y_object_string_unicode.json": (...args) => _YObjectStringUnicodeJSON.isRequired(...args),
102+ "y_object_with_newlines.json": (...args) => _YObjectWithNewlinesJSON.isRequired(...args),
103+ "y_string_1_2_3_bytes_UTF-8_sequences.json": PropTypes.arrayOf(PropTypes.string).isRequired,
104+ "y_string_accepted_surrogate_pair.json": PropTypes.arrayOf(PropTypes.string).isRequired,
105+ "y_string_accepted_surrogate_pairs.json": PropTypes.arrayOf(PropTypes.string).isRequired,
106+ "y_string_allowed_escapes.json": PropTypes.arrayOf(PropTypes.string).isRequired,
107+ "y_string_backslash_and_u_escaped_zero.json": PropTypes.arrayOf(PropTypes.string).isRequired,
108+ "y_string_backslash_doublequotes.json": PropTypes.arrayOf(PropTypes.string).isRequired,
109+ "y_string_comments.json": PropTypes.arrayOf(PropTypes.string).isRequired,
110+ "y_string_double_escape_a.json": PropTypes.arrayOf(PropTypes.string).isRequired,
111+ "y_string_double_escape_n.json": PropTypes.arrayOf(PropTypes.string).isRequired,
112+ "y_string_escaped_control_character.json": PropTypes.arrayOf(PropTypes.string).isRequired,
113+ "y_string_escaped_noncharacter.json": PropTypes.arrayOf(PropTypes.string).isRequired,
114+ "y_string_in_array.json": PropTypes.arrayOf(PropTypes.string).isRequired,
115+ "y_string_in_array_with_leading_space.json": PropTypes.arrayOf(PropTypes.string).isRequired,
116+ "y_string_last_surrogates_1_and_2.json": PropTypes.arrayOf(PropTypes.string).isRequired,
117+ "y_string_nbsp_uescaped.json": PropTypes.arrayOf(PropTypes.string).isRequired,
118+ "y_string_nonCharacterInUTF-8_U+10FFFF.json": PropTypes.arrayOf(PropTypes.string).isRequired,
119+ "y_string_nonCharacterInUTF-8_U+1FFFF.json": PropTypes.arrayOf(PropTypes.string).isRequired,
120+ "y_string_nonCharacterInUTF-8_U+FFFF.json": PropTypes.arrayOf(PropTypes.string).isRequired,
121+ "y_string_null_escape.json": PropTypes.arrayOf(PropTypes.string).isRequired,
122+ "y_string_one-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string).isRequired,
123+ "y_string_pi.json": PropTypes.arrayOf(PropTypes.string).isRequired,
124+ "y_string_simple_ascii.json": PropTypes.arrayOf(PropTypes.string).isRequired,
125+ "y_string_space.json": PropTypes.string.isRequired,
126+ "y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json": PropTypes.arrayOf(PropTypes.string).isRequired,
127+ "y_string_three-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string).isRequired,
128+ "y_string_two-byte-utf-8.json": PropTypes.arrayOf(PropTypes.string).isRequired,
129+ "y_string_u+2028_line_sep.json": PropTypes.arrayOf(PropTypes.string).isRequired,
130+ "y_string_u+2029_par_sep.json": PropTypes.arrayOf(PropTypes.string).isRequired,
131+ "y_string_uEscape.json": PropTypes.arrayOf(PropTypes.string).isRequired,
132+ "y_string_uescaped_newline.json": PropTypes.arrayOf(PropTypes.string).isRequired,
133+ "y_string_unescaped_char_delete.json": PropTypes.arrayOf(PropTypes.string).isRequired,
134+ "y_string_unicode.json": PropTypes.arrayOf(PropTypes.string).isRequired,
135+ "y_string_unicodeEscapedBackslash.json": PropTypes.arrayOf(PropTypes.string).isRequired,
136+ "y_string_unicode_2.json": PropTypes.arrayOf(PropTypes.string).isRequired,
137+ "y_string_unicode_U+10FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string).isRequired,
138+ "y_string_unicode_U+1FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string).isRequired,
139+ "y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json": PropTypes.arrayOf(PropTypes.string).isRequired,
140+ "y_string_unicode_U+2064_invisible_plus.json": PropTypes.arrayOf(PropTypes.string).isRequired,
141+ "y_string_unicode_U+FDD0_nonchar.json": PropTypes.arrayOf(PropTypes.string).isRequired,
142+ "y_string_unicode_U+FFFE_nonchar.json": PropTypes.arrayOf(PropTypes.string).isRequired,
143+ "y_string_unicode_escaped_double_quote.json": PropTypes.arrayOf(PropTypes.string).isRequired,
144+ "y_string_utf8.json": PropTypes.arrayOf(PropTypes.string).isRequired,
145+ "y_string_with_del_character.json": PropTypes.arrayOf(PropTypes.string).isRequired,
146+ "y_structure_lonely_false.json": PropTypes.bool.isRequired,
147+ "y_structure_lonely_int.json": PropTypes.number.isRequired,
148+ "y_structure_lonely_negative_real.json": PropTypes.number.isRequired,
149149 "y_structure_lonely_null.json": PropTypes.any,
150- "y_structure_lonely_string.json": PropTypes.string,
151- "y_structure_lonely_true.json": PropTypes.bool,
152- "y_structure_string_empty.json": PropTypes.string,
153- "y_structure_trailing_newline.json": PropTypes.arrayOf(PropTypes.string),
154- "y_structure_true_in_array.json": PropTypes.arrayOf(PropTypes.bool),
155- "y_structure_whitespace_array.json": PropTypes.arrayOf(PropTypes.any),
150+ "y_structure_lonely_string.json": PropTypes.string.isRequired,
151+ "y_structure_lonely_true.json": PropTypes.bool.isRequired,
152+ "y_structure_string_empty.json": PropTypes.string.isRequired,
153+ "y_structure_trailing_newline.json": PropTypes.arrayOf(PropTypes.string).isRequired,
154+ "y_structure_true_in_array.json": PropTypes.arrayOf(PropTypes.bool).isRequired,
155+ "y_structure_whitespace_array.json": PropTypes.arrayOf(PropTypes.any).isRequired,
156156 });
157157
158158 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/number-map.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -14,7 +14,7 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "foo": PropTypes.object,
17+ "foo": PropTypes.object.isRequired,
1818 });
1919
2020 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/omit-empty.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Result;
1717 _Result = PropTypes.shape({
18- "age": PropTypes.number,
18+ "age": PropTypes.number.isRequired,
1919 "name": PropTypes.any,
2020 });
2121 _TopLevel = PropTypes.shape({
22- "results": PropTypes.arrayOf(_Result),
22+ "results": PropTypes.arrayOf((...args) => _Result(...args)).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/optional-union.json

1 generated file · +1 −1
Mjavascript-prop-typesdefault / toplevel.js+1 −1
@@ -17,4 +17,4 @@ _TopLevel = PropTypes.shape({
1717 "a": PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string]),
1818 });
1919
20-export const TopLevel = PropTypes.arrayOf(_TopLevel);
20+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/priority/php-mixed-union.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -15,10 +15,10 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _MixedClass;
1717 _MixedClass = PropTypes.shape({
18- "nested": PropTypes.string,
18+ "nested": PropTypes.string.isRequired,
1919 });
2020 _TopLevel = PropTypes.shape({
21- "mixed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, _MixedClass, PropTypes.number, PropTypes.any, PropTypes.string])),
21+ "mixed": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, (...args) => _MixedClass(...args), PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/php-validation.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -14,11 +14,11 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "boolean": PropTypes.bool,
18- "integer": PropTypes.number,
19- "integers": PropTypes.arrayOf(PropTypes.number),
20- "number": PropTypes.number,
21- "string": PropTypes.string,
17+ "boolean": PropTypes.bool.isRequired,
18+ "integer": PropTypes.number.isRequired,
19+ "integers": PropTypes.arrayOf(PropTypes.number).isRequired,
20+ "number": PropTypes.number.isRequired,
21+ "string": PropTypes.string.isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/simple-identifiers.json

1 generated file · +9 −9
Mjavascript-prop-typesdefault / toplevel.js+9 −9
@@ -14,15 +14,15 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "": PropTypes.string,
18- "continue": PropTypes.string,
19- "null": PropTypes.string,
20- "undefined": PropTypes.string,
21- "x": PropTypes.string,
22- "x y": PropTypes.string,
23- "x\"": PropTypes.string,
24- "x'": PropTypes.string,
25- "{}": PropTypes.string,
17+ "": PropTypes.string.isRequired,
18+ "continue": PropTypes.string.isRequired,
19+ "null": PropTypes.string.isRequired,
20+ "undefined": PropTypes.string.isRequired,
21+ "x": PropTypes.string.isRequired,
22+ "x y": PropTypes.string.isRequired,
23+ "x\"": PropTypes.string.isRequired,
24+ "x'": PropTypes.string.isRequired,
25+ "{}": PropTypes.string.isRequired,
2626 });
2727
2828 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/union-constructor-clash.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -15,11 +15,11 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _BoolInUnion;
1717 _BoolInUnion = PropTypes.shape({
18- "a": PropTypes.bool,
18+ "a": PropTypes.bool.isRequired,
1919 });
2020 _TopLevel = PropTypes.shape({
21- "BoolInUnion": _BoolInUnion,
22- "union": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])),
21+ "BoolInUnion": (...args) => _BoolInUnion.isRequired(...args),
22+ "union": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.bool, PropTypes.number])).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/unions.json

1 generated file · +4 −4
Mjavascript-prop-typesdefault / toplevel.js+4 −4
@@ -15,12 +15,12 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _ZClass;
1717 _ZClass = PropTypes.shape({
18- "a": PropTypes.bool,
18+ "a": PropTypes.bool.isRequired,
1919 });
2020 _TopLevel = PropTypes.shape({
21- "x": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])),
22- "y": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])),
23- "z": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), _ZClass, PropTypes.number])),
21+ "x": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any, PropTypes.string])).isRequired,
22+ "y": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.any])).isRequired,
23+ "z": PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), (...args) => _ZClass(...args), PropTypes.number])).isRequired,
2424 });
2525
2626 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/url.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "fromURL": PropTypes.string,
18- "url": PropTypes.string,
17+ "fromURL": PropTypes.string.isRequired,
18+ "url": PropTypes.string.isRequired,
1919 });
2020
2121 export const TopLevel = _TopLevel;
Test case

test/inputs/json/priority/uuids.json

1 generated file · +6 −6
Mjavascript-prop-typesdefault / toplevel.js+6 −6
@@ -14,12 +14,12 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "booleanValue": PropTypes.bool,
18- "doubleValue": PropTypes.number,
19- "intValue": PropTypes.number,
20- "stringValue": PropTypes.string,
21- "uuidValue": PropTypes.string,
22- "uuidValues": PropTypes.arrayOf(PropTypes.string),
17+ "booleanValue": PropTypes.bool.isRequired,
18+ "doubleValue": PropTypes.number.isRequired,
19+ "intValue": PropTypes.number.isRequired,
20+ "stringValue": PropTypes.string.isRequired,
21+ "uuidValue": PropTypes.string.isRequired,
22+ "uuidValues": PropTypes.arrayOf(PropTypes.string).isRequired,
2323 });
2424
2525 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/bitcoin-block.json

1 generated file · +5 −5
Mjavascript-prop-typesdefault / toplevel.js+5 −5
@@ -14,11 +14,11 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "block_index": PropTypes.number,
18- "hash": PropTypes.string,
19- "height": PropTypes.number,
20- "time": PropTypes.number,
21- "txIndexes": PropTypes.arrayOf(PropTypes.number),
17+ "block_index": PropTypes.number.isRequired,
18+ "hash": PropTypes.string.isRequired,
19+ "height": PropTypes.number.isRequired,
20+ "time": PropTypes.number.isRequired,
21+ "txIndexes": PropTypes.arrayOf(PropTypes.number).isRequired,
2222 });
2323
2424 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/getting-started.json

1 generated file · +2 −2
Mjavascript-prop-typesdefault / toplevel.js+2 −2
@@ -14,8 +14,8 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "greeting": PropTypes.string,
18- "instructions": PropTypes.arrayOf(PropTypes.string),
17+ "greeting": PropTypes.string.isRequired,
18+ "instructions": PropTypes.arrayOf(PropTypes.string).isRequired,
1919 });
2020
2121 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/github-events.json

1 generated file · +215 −215
Mjavascript-prop-typesdefault / toplevel.js+215 −215
@@ -29,252 +29,252 @@ let _Comments;
2929 let _Base;
3030 let _BaseRepo;
3131 let _TopLevelRepo;
32-const _Type = PropTypes.oneOfType(['user', 'organization']);
32+const _Type = PropTypes.oneOf(["User", "Organization"]);
3333 _TopLevelRepo = PropTypes.shape({
34- "id": PropTypes.number,
35- "name": PropTypes.string,
36- "url": PropTypes.string,
34+ "id": PropTypes.number.isRequired,
35+ "name": PropTypes.string.isRequired,
36+ "url": PropTypes.string.isRequired,
3737 });
3838 _BaseRepo = PropTypes.shape({
39- "archive_url": PropTypes.string,
40- "assignees_url": PropTypes.string,
41- "blobs_url": PropTypes.string,
42- "branches_url": PropTypes.string,
43- "clone_url": PropTypes.string,
44- "collaborators_url": PropTypes.string,
45- "comments_url": PropTypes.string,
46- "commits_url": PropTypes.string,
47- "compare_url": PropTypes.string,
48- "contents_url": PropTypes.string,
49- "contributors_url": PropTypes.string,
50- "created_at": PropTypes.string,
51- "default_branch": PropTypes.string,
52- "deployments_url": PropTypes.string,
53- "description": PropTypes.string,
54- "downloads_url": PropTypes.string,
55- "events_url": PropTypes.string,
56- "fork": PropTypes.bool,
57- "forks": PropTypes.number,
58- "forks_count": PropTypes.number,
59- "forks_url": PropTypes.string,
60- "full_name": PropTypes.string,
61- "git_commits_url": PropTypes.string,
62- "git_refs_url": PropTypes.string,
63- "git_tags_url": PropTypes.string,
64- "git_url": PropTypes.string,
65- "has_downloads": PropTypes.bool,
66- "has_issues": PropTypes.bool,
67- "has_pages": PropTypes.bool,
68- "has_projects": PropTypes.bool,
69- "has_wiki": PropTypes.bool,
70- "homepage": PropTypes.string,
71- "hooks_url": PropTypes.string,
72- "html_url": PropTypes.string,
73- "id": PropTypes.number,
74- "issue_comment_url": PropTypes.string,
75- "issue_events_url": PropTypes.string,
76- "issues_url": PropTypes.string,
77- "keys_url": PropTypes.string,
78- "labels_url": PropTypes.string,
79- "language": PropTypes.string,
80- "languages_url": PropTypes.string,
81- "merges_url": PropTypes.string,
82- "milestones_url": PropTypes.string,
39+ "archive_url": PropTypes.string.isRequired,
40+ "assignees_url": PropTypes.string.isRequired,
41+ "blobs_url": PropTypes.string.isRequired,
42+ "branches_url": PropTypes.string.isRequired,
43+ "clone_url": PropTypes.string.isRequired,
44+ "collaborators_url": PropTypes.string.isRequired,
45+ "comments_url": PropTypes.string.isRequired,
46+ "commits_url": PropTypes.string.isRequired,
47+ "compare_url": PropTypes.string.isRequired,
48+ "contents_url": PropTypes.string.isRequired,
49+ "contributors_url": PropTypes.string.isRequired,
50+ "created_at": PropTypes.string.isRequired,
51+ "default_branch": PropTypes.string.isRequired,
52+ "deployments_url": PropTypes.string.isRequired,
53+ "description": PropTypes.string.isRequired,
54+ "downloads_url": PropTypes.string.isRequired,
55+ "events_url": PropTypes.string.isRequired,
56+ "fork": PropTypes.bool.isRequired,
57+ "forks": PropTypes.number.isRequired,
58+ "forks_count": PropTypes.number.isRequired,
59+ "forks_url": PropTypes.string.isRequired,
60+ "full_name": PropTypes.string.isRequired,
61+ "git_commits_url": PropTypes.string.isRequired,
62+ "git_refs_url": PropTypes.string.isRequired,
63+ "git_tags_url": PropTypes.string.isRequired,
64+ "git_url": PropTypes.string.isRequired,
65+ "has_downloads": PropTypes.bool.isRequired,
66+ "has_issues": PropTypes.bool.isRequired,
67+ "has_pages": PropTypes.bool.isRequired,
68+ "has_projects": PropTypes.bool.isRequired,
69+ "has_wiki": PropTypes.bool.isRequired,
70+ "homepage": PropTypes.string.isRequired,
71+ "hooks_url": PropTypes.string.isRequired,
72+ "html_url": PropTypes.string.isRequired,
73+ "id": PropTypes.number.isRequired,
74+ "issue_comment_url": PropTypes.string.isRequired,
75+ "issue_events_url": PropTypes.string.isRequired,
76+ "issues_url": PropTypes.string.isRequired,
77+ "keys_url": PropTypes.string.isRequired,
78+ "labels_url": PropTypes.string.isRequired,
79+ "language": PropTypes.string.isRequired,
80+ "languages_url": PropTypes.string.isRequired,
81+ "merges_url": PropTypes.string.isRequired,
82+ "milestones_url": PropTypes.string.isRequired,
8383 "mirror_url": PropTypes.any,
84- "name": PropTypes.string,
85- "notifications_url": PropTypes.string,
86- "open_issues": PropTypes.number,
87- "open_issues_count": PropTypes.number,
88- "owner": _User,
89- "private": PropTypes.bool,
90- "pulls_url": PropTypes.string,
91- "pushed_at": PropTypes.string,
92- "releases_url": PropTypes.string,
93- "size": PropTypes.number,
94- "ssh_url": PropTypes.string,
95- "stargazers_count": PropTypes.number,
96- "stargazers_url": PropTypes.string,
97- "statuses_url": PropTypes.string,
98- "subscribers_url": PropTypes.string,
99- "subscription_url": PropTypes.string,
100- "svn_url": PropTypes.string,
101- "tags_url": PropTypes.string,
102- "teams_url": PropTypes.string,
103- "trees_url": PropTypes.string,
104- "updated_at": PropTypes.string,
105- "url": PropTypes.string,
106- "watchers": PropTypes.number,
107- "watchers_count": PropTypes.number,
84+ "name": PropTypes.string.isRequired,
85+ "notifications_url": PropTypes.string.isRequired,
86+ "open_issues": PropTypes.number.isRequired,
87+ "open_issues_count": PropTypes.number.isRequired,
88+ "owner": (...args) => _User.isRequired(...args),
89+ "private": PropTypes.bool.isRequired,
90+ "pulls_url": PropTypes.string.isRequired,
91+ "pushed_at": PropTypes.string.isRequired,
92+ "releases_url": PropTypes.string.isRequired,
93+ "size": PropTypes.number.isRequired,
94+ "ssh_url": PropTypes.string.isRequired,
95+ "stargazers_count": PropTypes.number.isRequired,
96+ "stargazers_url": PropTypes.string.isRequired,
97+ "statuses_url": PropTypes.string.isRequired,
98+ "subscribers_url": PropTypes.string.isRequired,
99+ "subscription_url": PropTypes.string.isRequired,
100+ "svn_url": PropTypes.string.isRequired,
101+ "tags_url": PropTypes.string.isRequired,
102+ "teams_url": PropTypes.string.isRequired,
103+ "trees_url": PropTypes.string.isRequired,
104+ "updated_at": PropTypes.string.isRequired,
105+ "url": PropTypes.string.isRequired,
106+ "watchers": PropTypes.number.isRequired,
107+ "watchers_count": PropTypes.number.isRequired,
108108 });
109109 _Base = PropTypes.shape({
110- "label": PropTypes.string,
111- "ref": PropTypes.string,
112- "repo": _BaseRepo,
113- "sha": PropTypes.string,
114- "user": _User,
110+ "label": PropTypes.string.isRequired,
111+ "ref": PropTypes.string.isRequired,
112+ "repo": (...args) => _BaseRepo.isRequired(...args),
113+ "sha": PropTypes.string.isRequired,
114+ "user": (...args) => _User.isRequired(...args),
115115 });
116116 _Comments = PropTypes.shape({
117- "href": PropTypes.string,
117+ "href": PropTypes.string.isRequired,
118118 });
119119 _Links = PropTypes.shape({
120- "comments": _Comments,
121- "commits": _Comments,
122- "html": _Comments,
123- "issue": _Comments,
124- "review_comment": _Comments,
125- "review_comments": _Comments,
126- "self": _Comments,
127- "statuses": _Comments,
120+ "comments": (...args) => _Comments.isRequired(...args),
121+ "commits": (...args) => _Comments.isRequired(...args),
122+ "html": (...args) => _Comments.isRequired(...args),
123+ "issue": (...args) => _Comments.isRequired(...args),
124+ "review_comment": (...args) => _Comments.isRequired(...args),
125+ "review_comments": (...args) => _Comments.isRequired(...args),
126+ "self": (...args) => _Comments.isRequired(...args),
127+ "statuses": (...args) => _Comments.isRequired(...args),
128128 });
129129 _PayloadPullRequest = PropTypes.shape({
130- "_links": _Links,
131- "additions": PropTypes.number,
130+ "_links": (...args) => _Links.isRequired(...args),
131+ "additions": PropTypes.number.isRequired,
132132 "assignee": PropTypes.any,
133- "assignees": PropTypes.arrayOf(PropTypes.any),
134- "base": _Base,
135- "body": PropTypes.string,
136- "changed_files": PropTypes.number,
137- "closed_at": PropTypes.string,
138- "comments": PropTypes.number,
139- "comments_url": PropTypes.string,
140- "commits": PropTypes.number,
141- "commits_url": PropTypes.string,
142- "created_at": PropTypes.string,
143- "deletions": PropTypes.number,
144- "diff_url": PropTypes.string,
145- "head": _Base,
146- "html_url": PropTypes.string,
147- "id": PropTypes.number,
148- "issue_url": PropTypes.string,
149- "locked": PropTypes.bool,
150- "maintainer_can_modify": PropTypes.bool,
151- "merge_commit_sha": PropTypes.string,
133+ "assignees": PropTypes.arrayOf(PropTypes.any).isRequired,
134+ "base": (...args) => _Base.isRequired(...args),
135+ "body": PropTypes.string.isRequired,
136+ "changed_files": PropTypes.number.isRequired,
137+ "closed_at": PropTypes.string.isRequired,
138+ "comments": PropTypes.number.isRequired,
139+ "comments_url": PropTypes.string.isRequired,
140+ "commits": PropTypes.number.isRequired,
141+ "commits_url": PropTypes.string.isRequired,
142+ "created_at": PropTypes.string.isRequired,
143+ "deletions": PropTypes.number.isRequired,
144+ "diff_url": PropTypes.string.isRequired,
145+ "head": (...args) => _Base.isRequired(...args),
146+ "html_url": PropTypes.string.isRequired,
147+ "id": PropTypes.number.isRequired,
148+ "issue_url": PropTypes.string.isRequired,
149+ "locked": PropTypes.bool.isRequired,
150+ "maintainer_can_modify": PropTypes.bool.isRequired,
151+ "merge_commit_sha": PropTypes.string.isRequired,
152152 "mergeable": PropTypes.any,
153- "mergeable_state": PropTypes.string,
154- "merged": PropTypes.bool,
155- "merged_at": PropTypes.string,
156- "merged_by": _User,
153+ "mergeable_state": PropTypes.string.isRequired,
154+ "merged": PropTypes.bool.isRequired,
155+ "merged_at": PropTypes.string.isRequired,
156+ "merged_by": (...args) => _User.isRequired(...args),
157157 "milestone": PropTypes.any,
158- "number": PropTypes.number,
159- "patch_url": PropTypes.string,
158+ "number": PropTypes.number.isRequired,
159+ "patch_url": PropTypes.string.isRequired,
160160 "rebaseable": PropTypes.any,
161- "requested_reviewers": PropTypes.arrayOf(PropTypes.any),
162- "review_comment_url": PropTypes.string,
163- "review_comments": PropTypes.number,
164- "review_comments_url": PropTypes.string,
165- "state": PropTypes.string,
166- "statuses_url": PropTypes.string,
167- "title": PropTypes.string,
168- "updated_at": PropTypes.string,
169- "url": PropTypes.string,
170- "user": _User,
161+ "requested_reviewers": PropTypes.arrayOf(PropTypes.any).isRequired,
162+ "review_comment_url": PropTypes.string.isRequired,
163+ "review_comments": PropTypes.number.isRequired,
164+ "review_comments_url": PropTypes.string.isRequired,
165+ "state": PropTypes.string.isRequired,
166+ "statuses_url": PropTypes.string.isRequired,
167+ "title": PropTypes.string.isRequired,
168+ "updated_at": PropTypes.string.isRequired,
169+ "url": PropTypes.string.isRequired,
170+ "user": (...args) => _User.isRequired(...args),
171171 });
172172 _IssuePullRequest = PropTypes.shape({
173- "diff_url": PropTypes.string,
174- "html_url": PropTypes.string,
175- "patch_url": PropTypes.string,
176- "url": PropTypes.string,
173+ "diff_url": PropTypes.string.isRequired,
174+ "html_url": PropTypes.string.isRequired,
175+ "patch_url": PropTypes.string.isRequired,
176+ "url": PropTypes.string.isRequired,
177177 });
178178 _Milestone = PropTypes.shape({
179179 "closed_at": PropTypes.any,
180- "closed_issues": PropTypes.number,
181- "created_at": PropTypes.string,
182- "creator": _User,
183- "description": PropTypes.string,
180+ "closed_issues": PropTypes.number.isRequired,
181+ "created_at": PropTypes.string.isRequired,
182+ "creator": (...args) => _User.isRequired(...args),
183+ "description": PropTypes.string.isRequired,
184184 "due_on": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
185- "html_url": PropTypes.string,
186- "id": PropTypes.number,
187- "labels_url": PropTypes.string,
188- "number": PropTypes.number,
189- "open_issues": PropTypes.number,
190- "state": PropTypes.string,
191- "title": PropTypes.string,
192- "updated_at": PropTypes.string,
193- "url": PropTypes.string,
185+ "html_url": PropTypes.string.isRequired,
186+ "id": PropTypes.number.isRequired,
187+ "labels_url": PropTypes.string.isRequired,
188+ "number": PropTypes.number.isRequired,
189+ "open_issues": PropTypes.number.isRequired,
190+ "state": PropTypes.string.isRequired,
191+ "title": PropTypes.string.isRequired,
192+ "updated_at": PropTypes.string.isRequired,
193+ "url": PropTypes.string.isRequired,
194194 });
195195 _Label = PropTypes.shape({
196- "color": PropTypes.string,
197- "default": PropTypes.bool,
198- "id": PropTypes.number,
199- "name": PropTypes.string,
200- "url": PropTypes.string,
196+ "color": PropTypes.string.isRequired,
197+ "default": PropTypes.bool.isRequired,
198+ "id": PropTypes.number.isRequired,
199+ "name": PropTypes.string.isRequired,
200+ "url": PropTypes.string.isRequired,
201201 });
202202 _Issue = PropTypes.shape({
203203 "assignee": PropTypes.any,
204- "assignees": PropTypes.arrayOf(PropTypes.any),
205- "body": PropTypes.string,
204+ "assignees": PropTypes.arrayOf(PropTypes.any).isRequired,
205+ "body": PropTypes.string.isRequired,
206206 "closed_at": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
207- "comments": PropTypes.number,
208- "comments_url": PropTypes.string,
209- "created_at": PropTypes.string,
210- "events_url": PropTypes.string,
211- "html_url": PropTypes.string,
212- "id": PropTypes.number,
213- "labels": PropTypes.arrayOf(_Label),
214- "labels_url": PropTypes.string,
215- "locked": PropTypes.bool,
216- "milestone": PropTypes.oneOfType([_Milestone, PropTypes.any]),
217- "number": PropTypes.number,
218- "pull_request": PropTypes.oneOfType([_IssuePullRequest, PropTypes.any]),
219- "repository_url": PropTypes.string,
220- "state": PropTypes.string,
221- "title": PropTypes.string,
222- "updated_at": PropTypes.string,
223- "url": PropTypes.string,
224- "user": _User,
207+ "comments": PropTypes.number.isRequired,
208+ "comments_url": PropTypes.string.isRequired,
209+ "created_at": PropTypes.string.isRequired,
210+ "events_url": PropTypes.string.isRequired,
211+ "html_url": PropTypes.string.isRequired,
212+ "id": PropTypes.number.isRequired,
213+ "labels": PropTypes.arrayOf((...args) => _Label(...args)).isRequired,
214+ "labels_url": PropTypes.string.isRequired,
215+ "locked": PropTypes.bool.isRequired,
216+ "milestone": PropTypes.oneOfType([(...args) => _Milestone(...args), PropTypes.any]),
217+ "number": PropTypes.number.isRequired,
218+ "pull_request": PropTypes.oneOfType([(...args) => _IssuePullRequest(...args), PropTypes.any]),
219+ "repository_url": PropTypes.string.isRequired,
220+ "state": PropTypes.string.isRequired,
221+ "title": PropTypes.string.isRequired,
222+ "updated_at": PropTypes.string.isRequired,
223+ "url": PropTypes.string.isRequired,
224+ "user": (...args) => _User.isRequired(...args),
225225 });
226226 _Author = PropTypes.shape({
227- "email": PropTypes.string,
228- "name": PropTypes.string,
227+ "email": PropTypes.string.isRequired,
228+ "name": PropTypes.string.isRequired,
229229 });
230230 _Commit = PropTypes.shape({
231- "author": _Author,
232- "distinct": PropTypes.bool,
233- "message": PropTypes.string,
234- "sha": PropTypes.string,
235- "url": PropTypes.string,
231+ "author": (...args) => _Author.isRequired(...args),
232+ "distinct": PropTypes.bool.isRequired,
233+ "message": PropTypes.string.isRequired,
234+ "sha": PropTypes.string.isRequired,
235+ "url": PropTypes.string.isRequired,
236236 });
237237 _User = PropTypes.shape({
238- "avatar_url": PropTypes.string,
239- "events_url": PropTypes.string,
240- "followers_url": PropTypes.string,
241- "following_url": PropTypes.string,
242- "gists_url": PropTypes.string,
243- "gravatar_id": PropTypes.string,
244- "html_url": PropTypes.string,
245- "id": PropTypes.number,
246- "login": PropTypes.string,
247- "organizations_url": PropTypes.string,
248- "received_events_url": PropTypes.string,
249- "repos_url": PropTypes.string,
250- "site_admin": PropTypes.bool,
251- "starred_url": PropTypes.string,
252- "subscriptions_url": PropTypes.string,
253- "type": _Type,
254- "url": PropTypes.string,
238+ "avatar_url": PropTypes.string.isRequired,
239+ "events_url": PropTypes.string.isRequired,
240+ "followers_url": PropTypes.string.isRequired,
241+ "following_url": PropTypes.string.isRequired,
242+ "gists_url": PropTypes.string.isRequired,
243+ "gravatar_id": PropTypes.string.isRequired,
244+ "html_url": PropTypes.string.isRequired,
245+ "id": PropTypes.number.isRequired,
246+ "login": PropTypes.string.isRequired,
247+ "organizations_url": PropTypes.string.isRequired,
248+ "received_events_url": PropTypes.string.isRequired,
249+ "repos_url": PropTypes.string.isRequired,
250+ "site_admin": PropTypes.bool.isRequired,
251+ "starred_url": PropTypes.string.isRequired,
252+ "subscriptions_url": PropTypes.string.isRequired,
253+ "type": _Type.isRequired,
254+ "url": PropTypes.string.isRequired,
255255 });
256256 _Comment = PropTypes.shape({
257- "body": PropTypes.string,
258- "created_at": PropTypes.string,
259- "html_url": PropTypes.string,
260- "id": PropTypes.number,
261- "issue_url": PropTypes.string,
262- "updated_at": PropTypes.string,
263- "url": PropTypes.string,
264- "user": _User,
257+ "body": PropTypes.string.isRequired,
258+ "created_at": PropTypes.string.isRequired,
259+ "html_url": PropTypes.string.isRequired,
260+ "id": PropTypes.number.isRequired,
261+ "issue_url": PropTypes.string.isRequired,
262+ "updated_at": PropTypes.string.isRequired,
263+ "url": PropTypes.string.isRequired,
264+ "user": (...args) => _User.isRequired(...args),
265265 });
266266 _Payload = PropTypes.shape({
267267 "action": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
268268 "before": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
269- "comment": PropTypes.oneOfType([_Comment, PropTypes.any]),
270- "commits": PropTypes.oneOfType([PropTypes.arrayOf(_Commit), PropTypes.any]),
269+ "comment": PropTypes.oneOfType([(...args) => _Comment(...args), PropTypes.any]),
270+ "commits": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Commit(...args)), PropTypes.any]),
271271 "description": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
272272 "distinct_size": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
273273 "head": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
274- "issue": PropTypes.oneOfType([_Issue, PropTypes.any]),
274+ "issue": PropTypes.oneOfType([(...args) => _Issue(...args), PropTypes.any]),
275275 "master_branch": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
276276 "number": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
277- "pull_request": PropTypes.oneOfType([_PayloadPullRequest, PropTypes.any]),
277+ "pull_request": PropTypes.oneOfType([(...args) => _PayloadPullRequest(...args), PropTypes.any]),
278278 "push_id": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
279279 "pusher_type": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
280280 "ref": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
@@ -282,22 +282,22 @@ _Payload = PropTypes.shape({
282282 "size": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
283283 });
284284 _Actor = PropTypes.shape({
285- "avatar_url": PropTypes.string,
285+ "avatar_url": PropTypes.string.isRequired,
286286 "display_login": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
287- "gravatar_id": PropTypes.string,
288- "id": PropTypes.number,
289- "login": PropTypes.string,
290- "url": PropTypes.string,
287+ "gravatar_id": PropTypes.string.isRequired,
288+ "id": PropTypes.number.isRequired,
289+ "login": PropTypes.string.isRequired,
290+ "url": PropTypes.string.isRequired,
291291 });
292292 _TopLevel = PropTypes.shape({
293- "actor": _Actor,
294- "created_at": PropTypes.string,
295- "id": PropTypes.string,
296- "org": PropTypes.oneOfType([_Actor, PropTypes.any]),
297- "payload": _Payload,
298- "public": PropTypes.bool,
299- "repo": _TopLevelRepo,
300- "type": PropTypes.string,
293+ "actor": (...args) => _Actor.isRequired(...args),
294+ "created_at": PropTypes.string.isRequired,
295+ "id": PropTypes.string.isRequired,
296+ "org": PropTypes.oneOfType([(...args) => _Actor(...args), PropTypes.any]),
297+ "payload": (...args) => _Payload.isRequired(...args),
298+ "public": PropTypes.bool.isRequired,
299+ "repo": (...args) => _TopLevelRepo.isRequired(...args),
300+ "type": PropTypes.string.isRequired,
301301 });
302302
303-export const TopLevel = PropTypes.arrayOf(_TopLevel);
303+export const TopLevel = PropTypes.arrayOf((...args) => _TopLevel(...args));
Test case

test/inputs/json/samples/kitchen-sink.json

1 generated file · +17 −17
Mjavascript-prop-typesdefault / toplevel.js+17 −17
@@ -17,32 +17,32 @@ let _DifferentThingClass;
1717 let _PersonElement;
1818 let _PurplePerson;
1919 _PurplePerson = PropTypes.shape({
20- "intOrString": PropTypes.number,
21- "name": PropTypes.string,
20+ "intOrString": PropTypes.number.isRequired,
21+ "name": PropTypes.string.isRequired,
2222 });
2323 _PersonElement = PropTypes.shape({
24- "intOrString": PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
25- "name": PropTypes.string,
24+ "intOrString": PropTypes.oneOfType([PropTypes.number, PropTypes.string]).isRequired,
25+ "name": PropTypes.string.isRequired,
2626 "optionalValue": PropTypes.oneOfType([PropTypes.bool, PropTypes.any]),
2727 });
2828 _DifferentThingClass = PropTypes.shape({
29- "name": PropTypes.string,
29+ "name": PropTypes.string.isRequired,
3030 });
3131 _TopLevel = PropTypes.shape({
32- "booleanValue": PropTypes.bool,
33- "dateValue": PropTypes.string,
34- "differentThings": PropTypes.arrayOf(PropTypes.oneOfType([_DifferentThingClass, PropTypes.number, PropTypes.string])),
35- "doubleValue": PropTypes.number,
36- "intValue": PropTypes.number,
37- "mapValue": PropTypes.object,
32+ "booleanValue": PropTypes.bool.isRequired,
33+ "dateValue": PropTypes.string.isRequired,
34+ "differentThings": PropTypes.arrayOf(PropTypes.oneOfType([(...args) => _DifferentThingClass(...args), PropTypes.number, PropTypes.string])).isRequired,
35+ "doubleValue": PropTypes.number.isRequired,
36+ "intValue": PropTypes.number.isRequired,
37+ "mapValue": PropTypes.object.isRequired,
3838 "name with spaces": PropTypes.any,
3939 "nullValue": PropTypes.any,
40- "nullableMapValue": PropTypes.object,
41- "people": PropTypes.arrayOf(_PersonElement),
42- "person": _PurplePerson,
43- "stringValue": PropTypes.string,
44- "tuples": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))),
45- "uuidValue": PropTypes.string,
40+ "nullableMapValue": PropTypes.object.isRequired,
41+ "people": PropTypes.arrayOf((...args) => _PersonElement(...args)).isRequired,
42+ "person": (...args) => _PurplePerson.isRequired(...args),
43+ "stringValue": PropTypes.string.isRequired,
44+ "tuples": PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]))).isRequired,
45+ "uuidValue": PropTypes.string.isRequired,
4646 });
4747
4848 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/null-safe.json

1 generated file · +6 −6
Mjavascript-prop-typesdefault / toplevel.js+6 −6
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Item;
1717 let _Address;
1818 _Address = PropTypes.shape({
19- "city": PropTypes.string,
20- "country": PropTypes.string,
21- "street": PropTypes.string,
19+ "city": PropTypes.string.isRequired,
20+ "country": PropTypes.string.isRequired,
21+ "street": PropTypes.string.isRequired,
2222 });
2323 _Item = PropTypes.shape({
24- "address": PropTypes.oneOfType([_Address, PropTypes.any]),
24+ "address": PropTypes.oneOfType([(...args) => _Address(...args), PropTypes.any]),
2525 "created_at": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
26- "name": PropTypes.string,
26+ "name": PropTypes.string.isRequired,
2727 "sex": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
2828 });
2929 _TopLevel = PropTypes.shape({
30- "item": PropTypes.arrayOf(_Item),
30+ "item": PropTypes.arrayOf((...args) => _Item(...args)).isRequired,
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/pokedex.json

1 generated file · +20 −20
Mjavascript-prop-typesdefault / toplevel.js+20 −20
@@ -15,33 +15,33 @@ import PropTypes from "prop-types";
1515 let _TopLevel;
1616 let _Pokemon;
1717 let _Evolution;
18-const _Egg = PropTypes.oneOfType(['the2KM', 'notInEggs', 'the5KM', 'the10KM', 'omanyteCandy']);
19-const _Type = PropTypes.oneOfType(['fire', 'ice', 'flying', 'psychic', 'water', 'ground', 'rock', 'electric', 'grass', 'fighting', 'poison', 'bug', 'fairy', 'ghost', 'dark', 'steel', 'dragon', 'normal']);
18+const _Egg = PropTypes.oneOf(["2 km", "Not in Eggs", "5 km", "10 km", "Omanyte Candy"]);
19+const _Type = PropTypes.oneOf(["Fire", "Ice", "Flying", "Psychic", "Water", "Ground", "Rock", "Electric", "Grass", "Fighting", "Poison", "Bug", "Fairy", "Ghost", "Dark", "Steel", "Dragon", "Normal"]);
2020 _Evolution = PropTypes.shape({
21- "name": PropTypes.string,
22- "num": PropTypes.string,
21+ "name": PropTypes.string.isRequired,
22+ "num": PropTypes.string.isRequired,
2323 });
2424 _Pokemon = PropTypes.shape({
25- "avg_spawns": PropTypes.number,
26- "candy": PropTypes.string,
25+ "avg_spawns": PropTypes.number.isRequired,
26+ "candy": PropTypes.string.isRequired,
2727 "candy_count": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
28- "egg": _Egg,
29- "height": PropTypes.string,
30- "id": PropTypes.number,
31- "img": PropTypes.string,
28+ "egg": _Egg.isRequired,
29+ "height": PropTypes.string.isRequired,
30+ "id": PropTypes.number.isRequired,
31+ "img": PropTypes.string.isRequired,
3232 "multipliers": PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.any]),
33- "name": PropTypes.string,
34- "next_evolution": PropTypes.oneOfType([PropTypes.arrayOf(_Evolution), PropTypes.any]),
35- "num": PropTypes.string,
36- "prev_evolution": PropTypes.oneOfType([PropTypes.arrayOf(_Evolution), PropTypes.any]),
37- "spawn_chance": PropTypes.number,
38- "spawn_time": PropTypes.string,
39- "type": PropTypes.arrayOf(_Type),
40- "weaknesses": PropTypes.arrayOf(_Type),
41- "weight": PropTypes.string,
33+ "name": PropTypes.string.isRequired,
34+ "next_evolution": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Evolution(...args)), PropTypes.any]),
35+ "num": PropTypes.string.isRequired,
36+ "prev_evolution": PropTypes.oneOfType([PropTypes.arrayOf((...args) => _Evolution(...args)), PropTypes.any]),
37+ "spawn_chance": PropTypes.number.isRequired,
38+ "spawn_time": PropTypes.string.isRequired,
39+ "type": PropTypes.arrayOf(_Type).isRequired,
40+ "weaknesses": PropTypes.arrayOf(_Type).isRequired,
41+ "weight": PropTypes.string.isRequired,
4242 });
4343 _TopLevel = PropTypes.shape({
44- "pokemon": PropTypes.arrayOf(_Pokemon),
44+ "pokemon": PropTypes.arrayOf((...args) => _Pokemon(...args)).isRequired,
4545 });
4646
4747 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/reddit.json

1 generated file · +76 −76
Mjavascript-prop-typesdefault / toplevel.js+76 −76
@@ -22,120 +22,120 @@ let _Image;
2222 let _Source;
2323 let _Variants;
2424 let _GIF;
25-const _Domain = PropTypes.oneOfType(['redditCOM', 'iImgurCOM', 'imgurCOM', 'iReddIt']);
26-const _WhitelistStatus = PropTypes.oneOfType(['allAds']);
27-const _PostHint = PropTypes.oneOfType(['link', 'image']);
28-const _Subreddit = PropTypes.oneOfType(['funny']);
29-const _SubredditID = PropTypes.oneOfType(['t52Qh33']);
30-const _SubredditNamePrefixed = PropTypes.oneOfType(['rFunny']);
31-const _SubredditType = PropTypes.oneOfType(['public']);
32-const _Kind = PropTypes.oneOfType(['t3']);
25+const _Domain = PropTypes.oneOf(["reddit.com", "i.imgur.com", "imgur.com", "i.redd.it"]);
26+const _WhitelistStatus = PropTypes.oneOf(["all_ads"]);
27+const _PostHint = PropTypes.oneOf(["link", "image"]);
28+const _Subreddit = PropTypes.oneOf(["funny"]);
29+const _SubredditID = PropTypes.oneOf(["t5_2qh33"]);
30+const _SubredditNamePrefixed = PropTypes.oneOf(["r/funny"]);
31+const _SubredditType = PropTypes.oneOf(["public"]);
32+const _Kind = PropTypes.oneOf(["t3"]);
3333 _GIF = PropTypes.shape({
34- "resolutions": PropTypes.arrayOf(_Source),
35- "source": _Source,
34+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
35+ "source": (...args) => _Source.isRequired(...args),
3636 });
3737 _Variants = PropTypes.shape({
38- "gif": PropTypes.oneOfType([_GIF, PropTypes.any]),
39- "mp4": PropTypes.oneOfType([_GIF, PropTypes.any]),
38+ "gif": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
39+ "mp4": PropTypes.oneOfType([(...args) => _GIF(...args), PropTypes.any]),
4040 });
4141 _Source = PropTypes.shape({
42- "height": PropTypes.number,
43- "url": PropTypes.string,
44- "width": PropTypes.number,
42+ "height": PropTypes.number.isRequired,
43+ "url": PropTypes.string.isRequired,
44+ "width": PropTypes.number.isRequired,
4545 });
4646 _Image = PropTypes.shape({
47- "id": PropTypes.string,
48- "resolutions": PropTypes.arrayOf(_Source),
49- "source": _Source,
50- "variants": _Variants,
47+ "id": PropTypes.string.isRequired,
48+ "resolutions": PropTypes.arrayOf((...args) => _Source(...args)).isRequired,
49+ "source": (...args) => _Source.isRequired(...args),
50+ "variants": (...args) => _Variants.isRequired(...args),
5151 });
5252 _Preview = PropTypes.shape({
53- "enabled": PropTypes.bool,
54- "images": PropTypes.arrayOf(_Image),
53+ "enabled": PropTypes.bool.isRequired,
54+ "images": PropTypes.arrayOf((...args) => _Image(...args)).isRequired,
5555 });
5656 _MediaEmbed = PropTypes.shape({
5757 });
5858 _ChildData = PropTypes.shape({
5959 "approved_at_utc": PropTypes.any,
6060 "approved_by": PropTypes.any,
61- "archived": PropTypes.bool,
62- "author": PropTypes.string,
61+ "archived": PropTypes.bool.isRequired,
62+ "author": PropTypes.string.isRequired,
6363 "author_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6464 "author_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
6565 "banned_at_utc": PropTypes.any,
6666 "banned_by": PropTypes.any,
67- "brand_safe": PropTypes.bool,
68- "can_gild": PropTypes.bool,
69- "can_mod_post": PropTypes.bool,
70- "clicked": PropTypes.bool,
71- "contest_mode": PropTypes.bool,
72- "created": PropTypes.number,
73- "created_utc": PropTypes.number,
67+ "brand_safe": PropTypes.bool.isRequired,
68+ "can_gild": PropTypes.bool.isRequired,
69+ "can_mod_post": PropTypes.bool.isRequired,
70+ "clicked": PropTypes.bool.isRequired,
71+ "contest_mode": PropTypes.bool.isRequired,
72+ "created": PropTypes.number.isRequired,
73+ "created_utc": PropTypes.number.isRequired,
7474 "distinguished": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
75- "domain": _Domain,
76- "downs": PropTypes.number,
77- "edited": PropTypes.bool,
78- "gilded": PropTypes.number,
79- "hidden": PropTypes.bool,
80- "hide_score": PropTypes.bool,
81- "id": PropTypes.string,
82- "is_self": PropTypes.bool,
83- "is_video": PropTypes.bool,
75+ "domain": _Domain.isRequired,
76+ "downs": PropTypes.number.isRequired,
77+ "edited": PropTypes.bool.isRequired,
78+ "gilded": PropTypes.number.isRequired,
79+ "hidden": PropTypes.bool.isRequired,
80+ "hide_score": PropTypes.bool.isRequired,
81+ "id": PropTypes.string.isRequired,
82+ "is_self": PropTypes.bool.isRequired,
83+ "is_video": PropTypes.bool.isRequired,
8484 "likes": PropTypes.any,
8585 "link_flair_css_class": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
8686 "link_flair_text": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
87- "locked": PropTypes.bool,
87+ "locked": PropTypes.bool.isRequired,
8888 "media": PropTypes.any,
89- "media_embed": _MediaEmbed,
90- "mod_reports": PropTypes.arrayOf(PropTypes.any),
91- "name": PropTypes.string,
92- "num_comments": PropTypes.number,
89+ "media_embed": (...args) => _MediaEmbed.isRequired(...args),
90+ "mod_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
91+ "name": PropTypes.string.isRequired,
92+ "num_comments": PropTypes.number.isRequired,
9393 "num_reports": PropTypes.any,
94- "over_18": PropTypes.bool,
95- "parent_whitelist_status": _WhitelistStatus,
96- "permalink": PropTypes.string,
97- "post_hint": _PostHint,
98- "preview": _Preview,
99- "quarantine": PropTypes.bool,
94+ "over_18": PropTypes.bool.isRequired,
95+ "parent_whitelist_status": _WhitelistStatus.isRequired,
96+ "permalink": PropTypes.string.isRequired,
97+ "post_hint": _PostHint.isRequired,
98+ "preview": (...args) => _Preview.isRequired(...args),
99+ "quarantine": PropTypes.bool.isRequired,
100100 "removal_reason": PropTypes.any,
101101 "report_reasons": PropTypes.any,
102- "saved": PropTypes.bool,
103- "score": PropTypes.number,
102+ "saved": PropTypes.bool.isRequired,
103+ "score": PropTypes.number.isRequired,
104104 "secure_media": PropTypes.any,
105- "secure_media_embed": _MediaEmbed,
106- "selftext": PropTypes.string,
105+ "secure_media_embed": (...args) => _MediaEmbed.isRequired(...args),
106+ "selftext": PropTypes.string.isRequired,
107107 "selftext_html": PropTypes.any,
108- "spoiler": PropTypes.bool,
109- "stickied": PropTypes.bool,
110- "subreddit": _Subreddit,
111- "subreddit_id": _SubredditID,
112- "subreddit_name_prefixed": _SubredditNamePrefixed,
113- "subreddit_type": _SubredditType,
108+ "spoiler": PropTypes.bool.isRequired,
109+ "stickied": PropTypes.bool.isRequired,
110+ "subreddit": _Subreddit.isRequired,
111+ "subreddit_id": _SubredditID.isRequired,
112+ "subreddit_name_prefixed": _SubredditNamePrefixed.isRequired,
113+ "subreddit_type": _SubredditType.isRequired,
114114 "suggested_sort": PropTypes.any,
115- "thumbnail": PropTypes.string,
116- "thumbnail_height": PropTypes.number,
117- "thumbnail_width": PropTypes.number,
118- "title": PropTypes.string,
119- "ups": PropTypes.number,
120- "url": PropTypes.string,
121- "user_reports": PropTypes.arrayOf(PropTypes.any),
115+ "thumbnail": PropTypes.string.isRequired,
116+ "thumbnail_height": PropTypes.number.isRequired,
117+ "thumbnail_width": PropTypes.number.isRequired,
118+ "title": PropTypes.string.isRequired,
119+ "ups": PropTypes.number.isRequired,
120+ "url": PropTypes.string.isRequired,
121+ "user_reports": PropTypes.arrayOf(PropTypes.any).isRequired,
122122 "view_count": PropTypes.any,
123- "visited": PropTypes.bool,
124- "whitelist_status": _WhitelistStatus,
123+ "visited": PropTypes.bool.isRequired,
124+ "whitelist_status": _WhitelistStatus.isRequired,
125125 });
126126 _Child = PropTypes.shape({
127- "data": _ChildData,
128- "kind": _Kind,
127+ "data": (...args) => _ChildData.isRequired(...args),
128+ "kind": _Kind.isRequired,
129129 });
130130 _TopLevelData = PropTypes.shape({
131- "after": PropTypes.string,
131+ "after": PropTypes.string.isRequired,
132132 "before": PropTypes.any,
133- "children": PropTypes.arrayOf(_Child),
134- "modhash": PropTypes.string,
133+ "children": PropTypes.arrayOf((...args) => _Child(...args)).isRequired,
134+ "modhash": PropTypes.string.isRequired,
135135 });
136136 _TopLevel = PropTypes.shape({
137- "data": _TopLevelData,
138- "kind": PropTypes.string,
137+ "data": (...args) => _TopLevelData.isRequired(...args),
138+ "kind": PropTypes.string.isRequired,
139139 });
140140
141141 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/simple-object.json

1 generated file · +3 −3
Mjavascript-prop-typesdefault / toplevel.js+3 −3
@@ -14,9 +14,9 @@ import PropTypes from "prop-types";
1414
1515 let _TopLevel;
1616 _TopLevel = PropTypes.shape({
17- "date": PropTypes.number,
18- "title": PropTypes.string,
19- "validity": PropTypes.bool,
17+ "date": PropTypes.number.isRequired,
18+ "title": PropTypes.string.isRequired,
19+ "validity": PropTypes.bool.isRequired,
2020 });
2121
2222 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/us-avg-temperatures.json

1 generated file · +8 −8
Mjavascript-prop-typesdefault / toplevel.js+8 −8
@@ -16,18 +16,18 @@ let _TopLevel;
1616 let _Datum;
1717 let _Description;
1818 _Description = PropTypes.shape({
19- "base_period": PropTypes.string,
20- "missing": PropTypes.number,
21- "title": PropTypes.string,
22- "units": PropTypes.string,
19+ "base_period": PropTypes.string.isRequired,
20+ "missing": PropTypes.number.isRequired,
21+ "title": PropTypes.string.isRequired,
22+ "units": PropTypes.string.isRequired,
2323 });
2424 _Datum = PropTypes.shape({
25- "anomaly": PropTypes.string,
26- "value": PropTypes.string,
25+ "anomaly": PropTypes.string.isRequired,
26+ "value": PropTypes.string.isRequired,
2727 });
2828 _TopLevel = PropTypes.shape({
29- "data": PropTypes.object,
30- "description": _Description,
29+ "data": PropTypes.object.isRequired,
30+ "description": (...args) => _Description.isRequired(...args),
3131 });
3232
3333 export const TopLevel = _TopLevel;
Test case

test/inputs/json/samples/us-senators.json

1 generated file · +53 −53
Mjavascript-prop-typesdefault / toplevel.js+53 −53
@@ -17,75 +17,75 @@ let _Meta;
1717 let _Object;
1818 let _Extra;
1919 let _Person;
20-const _Party = PropTypes.oneOfType(['democrat', 'republican', 'independent']);
21-const _Gender = PropTypes.oneOfType(['female', 'male']);
22-const _GenderLabel = PropTypes.oneOfType(['female', 'male']);
23-const _Namemod = PropTypes.oneOfType(['empty', 'jr', 'iii']);
24-const _RoleType = PropTypes.oneOfType(['senator']);
25-const _RoleTypeLabel = PropTypes.oneOfType(['senator']);
26-const _SenatorClass = PropTypes.oneOfType(['class1', 'class2', 'class3']);
27-const _SenatorClassLabel = PropTypes.oneOfType(['class1', 'class2', 'class3']);
28-const _SenatorRank = PropTypes.oneOfType(['junior', 'senior']);
29-const _SenatorRankLabel = PropTypes.oneOfType(['junior', 'senior']);
30-const _Title = PropTypes.oneOfType(['sen']);
20+const _Party = PropTypes.oneOf(["Democrat", "Republican", "Independent"]);
21+const _Gender = PropTypes.oneOf(["female", "male"]);
22+const _GenderLabel = PropTypes.oneOf(["Female", "Male"]);
23+const _Namemod = PropTypes.oneOf(["", "Jr.", "III"]);
24+const _RoleType = PropTypes.oneOf(["senator"]);
25+const _RoleTypeLabel = PropTypes.oneOf(["Senator"]);
26+const _SenatorClass = PropTypes.oneOf(["class1", "class2", "class3"]);
27+const _SenatorClassLabel = PropTypes.oneOf(["Class 1", "Class 2", "Class 3"]);
28+const _SenatorRank = PropTypes.oneOf(["junior", "senior"]);
29+const _SenatorRankLabel = PropTypes.oneOf(["Junior", "Senior"]);
30+const _Title = PropTypes.oneOf(["Sen."]);
3131 _Person = PropTypes.shape({
32- "bioguideid": PropTypes.string,
33- "birthday": PropTypes.string,
34- "cspanid": PropTypes.number,
35- "firstname": PropTypes.string,
36- "gender": _Gender,
37- "gender_label": _GenderLabel,
38- "lastname": PropTypes.string,
39- "link": PropTypes.string,
40- "middlename": PropTypes.string,
41- "name": PropTypes.string,
42- "namemod": _Namemod,
43- "nickname": PropTypes.string,
44- "osid": PropTypes.string,
45- "pvsid": PropTypes.string,
46- "sortname": PropTypes.string,
32+ "bioguideid": PropTypes.string.isRequired,
33+ "birthday": PropTypes.string.isRequired,
34+ "cspanid": PropTypes.number.isRequired,
35+ "firstname": PropTypes.string.isRequired,
36+ "gender": _Gender.isRequired,
37+ "gender_label": _GenderLabel.isRequired,
38+ "lastname": PropTypes.string.isRequired,
39+ "link": PropTypes.string.isRequired,
40+ "middlename": PropTypes.string.isRequired,
41+ "name": PropTypes.string.isRequired,
42+ "namemod": _Namemod.isRequired,
43+ "nickname": PropTypes.string.isRequired,
44+ "osid": PropTypes.string.isRequired,
45+ "pvsid": PropTypes.string.isRequired,
46+ "sortname": PropTypes.string.isRequired,
4747 "twitterid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4848 "youtubeid": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
4949 });
5050 _Extra = PropTypes.shape({
51- "address": PropTypes.string,
52- "contact_form": PropTypes.string,
51+ "address": PropTypes.string.isRequired,
52+ "contact_form": PropTypes.string.isRequired,
5353 "fax": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
54- "office": PropTypes.string,
54+ "office": PropTypes.string.isRequired,
5555 "rss_url": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
5656 });
5757 _Object = PropTypes.shape({
5858 "caucus": PropTypes.oneOfType([_Party, PropTypes.any]),
59- "congress_numbers": PropTypes.arrayOf(PropTypes.number),
60- "current": PropTypes.bool,
61- "description": PropTypes.string,
59+ "congress_numbers": PropTypes.arrayOf(PropTypes.number).isRequired,
60+ "current": PropTypes.bool.isRequired,
61+ "description": PropTypes.string.isRequired,
6262 "district": PropTypes.any,
63- "enddate": PropTypes.string,
64- "extra": _Extra,
63+ "enddate": PropTypes.string.isRequired,
64+ "extra": (...args) => _Extra.isRequired(...args),
6565 "leadership_title": PropTypes.oneOfType([PropTypes.any, PropTypes.string]),
66- "party": _Party,
67- "person": _Person,
68- "phone": PropTypes.string,
69- "role_type": _RoleType,
70- "role_type_label": _RoleTypeLabel,
71- "senator_class": _SenatorClass,
72- "senator_class_label": _SenatorClassLabel,
73- "senator_rank": _SenatorRank,
74- "senator_rank_label": _SenatorRankLabel,
75- "startdate": PropTypes.string,
76- "state": PropTypes.string,
77- "title": _Title,
78- "title_long": _RoleTypeLabel,
79- "website": PropTypes.string,
66+ "party": _Party.isRequired,
67+ "person": (...args) => _Person.isRequired(...args),
68+ "phone": PropTypes.string.isRequired,
69+ "role_type": _RoleType.isRequired,
70+ "role_type_label": _RoleTypeLabel.isRequired,
71+ "senator_class": _SenatorClass.isRequired,
72+ "senator_class_label": _SenatorClassLabel.isRequired,
73+ "senator_rank": _SenatorRank.isRequired,
74+ "senator_rank_label": _SenatorRankLabel.isRequired,
75+ "startdate": PropTypes.string.isRequired,
76+ "state": PropTypes.string.isRequired,
77+ "title": _Title.isRequired,
78+ "title_long": _RoleTypeLabel.isRequired,
79+ "website": PropTypes.string.isRequired,
8080 });
8181 _Meta = PropTypes.shape({
82- "limit": PropTypes.number,
83- "offset": PropTypes.number,
84- "total_count": PropTypes.number,
82+ "limit": PropTypes.number.isRequired,
83+ "offset": PropTypes.number.isRequired,
84+ "total_count": PropTypes.number.isRequired,
8585 });
8686 _TopLevel = PropTypes.shape({
87- "meta": _Meta,
88- "objects": PropTypes.arrayOf(_Object),
87+ "meta": (...args) => _Meta.isRequired(...args),
88+ "objects": PropTypes.arrayOf((...args) => _Object(...args)).isRequired,
8989 });
9090
9191 export const TopLevel = _TopLevel;
Test case

test/inputs/schema/javascript-prop-types/javascript-prop-types-map.schema

1 generated file · +15 −0
Aschema-javascript-prop-typesdefault / toplevel.js+15 −0
@@ -0,0 +1,15 @@
1+// Example usage:
2+//
3+// import { MyShape } from ./myShape.js;
4+//
5+// class MyComponent extends React.Component {
6+// //
7+// }
8+//
9+// MyComponent.propTypes = {
10+// input: MyShape
11+// };
12+
13+import PropTypes from "prop-types";
14+
15+export const TopLevel = PropTypes.objectOf(PropTypes.string);
Test case

test/inputs/schema/javascript-prop-types/javascript-prop-types-required.schema

1 generated file · +30 −0
Aschema-javascript-prop-typesdefault / toplevel.js+30 −0
@@ -0,0 +1,30 @@
1+// Example usage:
2+//
3+// import { MyShape } from ./myShape.js;
4+//
5+// class MyComponent extends React.Component {
6+// //
7+// }
8+//
9+// MyComponent.propTypes = {
10+// input: MyShape
11+// };
12+
13+import PropTypes from "prop-types";
14+
15+let _TopLevel;
16+let _Options;
17+const _Kind = PropTypes.oneOf(["primary choice", "secondary"]);
18+_Options = PropTypes.shape({
19+ "label": PropTypes.string.isRequired,
20+});
21+_TopLevel = PropTypes.shape({
22+ "anything": PropTypes.any.isRequired,
23+ "disabled": PropTypes.bool.isRequired,
24+ "kind": _Kind.isRequired,
25+ "optional": PropTypes.oneOfType([PropTypes.number, PropTypes.any]),
26+ "options": (...args) => _Options.isRequired(...args),
27+ "tags": PropTypes.arrayOf(PropTypes.string).isRequired,
28+});
29+
30+export const TopLevel = _TopLevel;
No generated files match these filters.