Test case
1 generated file · +1 −1test/inputs/json/misc/016af.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/033b1.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/0a358.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -3,10 +3,10 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class Result extends S.Class<Result>("Result")({ |
| 5 | 5 | "code": S.String, |
| 6 | - "created_at": S.String, | |
| 6 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 7 | 7 | "id": S.Int, |
| 8 | 8 | "name": S.String, |
| 9 | - "updated_at": S.String, | |
| 9 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 10 | 10 | "uri": S.String, |
| 11 | 11 | }) {} |
Test case
1 generated file · +8 −8test/inputs/json/misc/0a91a.json
Mtypescript-effect-schemadefault / TopLevel.ts+8 −8
| @@ -63,7 +63,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 63 | 63 | "compare_url": S.String, |
| 64 | 64 | "contents_url": S.String, |
| 65 | 65 | "contributors_url": S.String, |
| 66 | - "created_at": S.String, | |
| 66 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 67 | 67 | "default_branch": S.String, |
| 68 | 68 | "deployments_url": S.String, |
| 69 | 69 | "description": S.Null, |
| @@ -104,7 +104,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 104 | 104 | "owner": MergedBy, |
| 105 | 105 | "private": S.Boolean, |
| 106 | 106 | "pulls_url": S.String, |
| 107 | - "pushed_at": S.String, | |
| 107 | + "pushed_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 108 | 108 | "releases_url": S.String, |
| 109 | 109 | "size": S.Int, |
| 110 | 110 | "ssh_url": S.String, |
| @@ -117,7 +117,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 117 | 117 | "tags_url": S.String, |
| 118 | 118 | "teams_url": S.String, |
| 119 | 119 | "trees_url": S.String, |
| 120 | - "updated_at": S.String, | |
| 120 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 121 | 121 | "url": S.String, |
| 122 | 122 | "watchers": S.Int, |
| 123 | 123 | "watchers_count": S.Int, |
| @@ -138,12 +138,12 @@ export class PullRequest extends S.Class<PullRequest>("PullRequest")({ | ||
| 138 | 138 | "base": Base, |
| 139 | 139 | "body": S.String, |
| 140 | 140 | "changed_files": S.Int, |
| 141 | - "closed_at": S.String, | |
| 141 | + "closed_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 142 | 142 | "comments": S.Int, |
| 143 | 143 | "comments_url": S.String, |
| 144 | 144 | "commits": S.Int, |
| 145 | 145 | "commits_url": S.String, |
| 146 | - "created_at": S.String, | |
| 146 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 147 | 147 | "deletions": S.Int, |
| 148 | 148 | "diff_url": S.String, |
| 149 | 149 | "head": Base, |
| @@ -157,7 +157,7 @@ export class PullRequest extends S.Class<PullRequest>("PullRequest")({ | ||
| 157 | 157 | "mergeable": S.Null, |
| 158 | 158 | "mergeable_state": S.String, |
| 159 | 159 | "merged": S.Boolean, |
| 160 | - "merged_at": S.String, | |
| 160 | + "merged_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 161 | 161 | "merged_by": MergedBy, |
| 162 | 162 | "milestone": S.Null, |
| 163 | 163 | "number": S.Int, |
| @@ -170,7 +170,7 @@ export class PullRequest extends S.Class<PullRequest>("PullRequest")({ | ||
| 170 | 170 | "state": S.String, |
| 171 | 171 | "statuses_url": S.String, |
| 172 | 172 | "title": S.String, |
| 173 | - "updated_at": S.String, | |
| 173 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 174 | 174 | "url": S.String, |
| 175 | 175 | "user": MergedBy, |
| 176 | 176 | }) {} |
| @@ -216,7 +216,7 @@ export class Actor extends S.Class<Actor>("Actor")({ | ||
| 216 | 216 | |
| 217 | 217 | export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement")({ |
| 218 | 218 | "actor": Actor, |
| 219 | - "created_at": S.String, | |
| 219 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 220 | 220 | "id": S.String, |
| 221 | 221 | "org": S.optional(S.NullOr(Actor)), |
| 222 | 222 | "payload": Payload, |
Test case
1 generated file · +1 −1test/inputs/json/misc/0e0c2.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -74,7 +74,7 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 74 | 74 | "id": S.Int, |
| 75 | 75 | "images": S.Array(Image), |
| 76 | 76 | "language": ResultLanguage, |
| 77 | - "release_date": S.String, | |
| 77 | + "release_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 78 | 78 | "stars": S.Int, |
| 79 | 79 | "tags": S.NullOr(S.Array(S.Any)), |
| 80 | 80 | "title": S.String, |
Test case
1 generated file · +1 −1test/inputs/json/misc/167d6.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/16bc5.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/1b28c.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +3 −3test/inputs/json/misc/1b409.json
Mtypescript-effect-schemadefault / TopLevel.ts+3 −3
| @@ -54,7 +54,7 @@ export type Title = S.Schema.Type<typeof Title>; | ||
| 54 | 54 | |
| 55 | 55 | export class Person extends S.Class<Person>("Person")({ |
| 56 | 56 | "bioguideid": S.String, |
| 57 | - "birthday": S.String, | |
| 57 | + "birthday": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 58 | 58 | "cspanid": S.Int, |
| 59 | 59 | "firstname": S.String, |
| 60 | 60 | "gender": Gender, |
| @@ -87,7 +87,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 87 | 87 | "current": S.Boolean, |
| 88 | 88 | "description": S.String, |
| 89 | 89 | "district": S.Int, |
| 90 | - "enddate": S.String, | |
| 90 | + "enddate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 91 | 91 | "extra": Extra, |
| 92 | 92 | "id": S.Int, |
| 93 | 93 | "leadership_title": S.NullOr(S.String), |
| @@ -98,7 +98,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 98 | 98 | "role_type_label": RoleTypeLabel, |
| 99 | 99 | "senator_class": S.Null, |
| 100 | 100 | "senator_rank": S.Null, |
| 101 | - "startdate": S.String, | |
| 101 | + "startdate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 102 | 102 | "state": S.String, |
| 103 | 103 | "title": Title, |
| 104 | 104 | "title_long": RoleTypeLabel, |
Test case
1 generated file · +1 −1test/inputs/json/misc/262f0.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -101,7 +101,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 101 | 101 | |
| 102 | 102 | export class Query extends S.Class<Query>("Query")({ |
| 103 | 103 | "count": S.Int, |
| 104 | - "created": S.String, | |
| 104 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 105 | 105 | "lang": S.String, |
| 106 | 106 | "results": Results, |
| 107 | 107 | }) {} |
Test case
1 generated file · +3 −3test/inputs/json/misc/2d4e2.json
Mtypescript-effect-schemadefault / TopLevel.ts+3 −3
| @@ -80,7 +80,7 @@ export type Title = S.Schema.Type<typeof Title>; | ||
| 80 | 80 | |
| 81 | 81 | export class Person extends S.Class<Person>("Person")({ |
| 82 | 82 | "bioguideid": S.String, |
| 83 | - "birthday": S.String, | |
| 83 | + "birthday": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 84 | 84 | "cspanid": S.Int, |
| 85 | 85 | "firstname": S.String, |
| 86 | 86 | "gender": Gender, |
| @@ -113,7 +113,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 113 | 113 | "current": S.Boolean, |
| 114 | 114 | "description": S.String, |
| 115 | 115 | "district": S.Null, |
| 116 | - "enddate": S.String, | |
| 116 | + "enddate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 117 | 117 | "extra": Extra, |
| 118 | 118 | "id": S.Int, |
| 119 | 119 | "leadership_title": S.NullOr(S.String), |
| @@ -126,7 +126,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 126 | 126 | "senator_class_label": SenatorClassLabel, |
| 127 | 127 | "senator_rank": SenatorRank, |
| 128 | 128 | "senator_rank_label": SenatorRankLabel, |
| 129 | - "startdate": S.String, | |
| 129 | + "startdate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 130 | 130 | "state": S.String, |
| 131 | 131 | "title": Title, |
| 132 | 132 | "title_long": RoleTypeLabel, |
Test case
1 generated file · +6 −1test/inputs/json/misc/31189.json
Mtypescript-effect-schemadefault / TopLevel.ts+6 −1
| @@ -1,6 +1,11 @@ | ||
| 1 | 1 | import * as S from "effect/Schema"; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +export const EffectiveFromEnum = S.Literal( | |
| 5 | + "0000-01-01", | |
| 6 | +); | |
| 7 | +export type EffectiveFromEnum = S.Schema.Type<typeof EffectiveFromEnum>; | |
| 8 | + | |
| 4 | 9 | export class Rates extends S.Class<Rates>("Rates")({ |
| 5 | 10 | "parking": S.optional(S.NullOr(S.Number)), |
| 6 | 11 | "reduced": S.optional(S.NullOr(S.Number)), |
| @@ -11,7 +16,7 @@ export class Rates extends S.Class<Rates>("Rates")({ | ||
| 11 | 16 | }) {} |
| 12 | 17 | |
| 13 | 18 | export class Period extends S.Class<Period>("Period")({ |
| 14 | - "effective_from": S.String, | |
| 19 | + "effective_from": S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), EffectiveFromEnum), | |
| 15 | 20 | "rates": Rates, |
| 16 | 21 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/32d5c.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement")({ |
| 5 | - "BirthDate": S.NullOr(S.String), | |
| 5 | + "BirthDate": S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/))), | |
| 6 | 6 | "BirthDateIsProtected": S.Boolean, |
| 7 | 7 | "GenderTypeID": S.Int, |
| 8 | 8 | "Notes": S.String, |
Test case
1 generated file · +6 −6test/inputs/json/misc/337ed.json
Mtypescript-effect-schemadefault / TopLevel.ts+6 −6
| @@ -24,12 +24,12 @@ export type ResultType = S.Schema.Type<typeof ResultType>; | ||
| 24 | 24 | |
| 25 | 25 | export class CustomIncome extends S.Class<CustomIncome>("CustomIncome")({ |
| 26 | 26 | "amount": S.Int, |
| 27 | - "created_at": S.String, | |
| 27 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 28 | 28 | "id": S.String, |
| 29 | 29 | "name": S.String, |
| 30 | 30 | "status": Status, |
| 31 | 31 | "type": CustomIncomeType, |
| 32 | - "updated_at": S.String, | |
| 32 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 33 | 33 | "uri": S.String, |
| 34 | 34 | }) {} |
| 35 | 35 | |
| @@ -37,11 +37,11 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 37 | 37 | "cost_absolute": S.NullOr(S.Int), |
| 38 | 38 | "cost_max": S.NullOr(S.Int), |
| 39 | 39 | "cost_min": S.NullOr(S.Int), |
| 40 | - "created_at": S.String, | |
| 40 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 41 | 41 | "customIncomes": S.Array(CustomIncome), |
| 42 | 42 | "direct_rep_costs_max": S.Null, |
| 43 | 43 | "direct_rep_costs_min": S.Null, |
| 44 | - "end_date": S.String, | |
| 44 | + "end_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 45 | 45 | "eur_sources_grants": S.Int, |
| 46 | 46 | "eur_sources_grants_src": S.NullOr(S.String), |
| 47 | 47 | "eur_sources_procurement": S.Int, |
| @@ -57,14 +57,14 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 57 | 57 | "public_financing_national": S.NullOr(S.Int), |
| 58 | 58 | "public_financing_total": S.NullOr(S.Int), |
| 59 | 59 | "representative": S.String, |
| 60 | - "start_date": S.String, | |
| 60 | + "start_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 61 | 61 | "status": Status, |
| 62 | 62 | "total_budget": S.NullOr(S.Int), |
| 63 | 63 | "turnover_absolute": S.NullOr(S.Int), |
| 64 | 64 | "turnover_max": S.NullOr(S.Int), |
| 65 | 65 | "turnover_min": S.NullOr(S.Int), |
| 66 | 66 | "type": ResultType, |
| 67 | - "updated_at": S.String, | |
| 67 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 68 | 68 | "uri": S.String, |
| 69 | 69 | }) {} |
Test case
1 generated file · +10 −2test/inputs/json/misc/33d2e.json
Mtypescript-effect-schemadefault / TopLevel.ts+10 −2
| @@ -1,6 +1,14 @@ | ||
| 1 | 1 | import * as S from "effect/Schema"; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +export const BornEnum = S.Literal( | |
| 5 | + "0000-00-00", | |
| 6 | + "1898-00-00", | |
| 7 | + "1943-00-00", | |
| 8 | +); | |
| 9 | +export type BornEnum = S.Schema.Type<typeof BornEnum>; | |
| 10 | + | |
| 11 | + | |
| 4 | 12 | export const Gender = S.Literal( |
| 5 | 13 | "male", |
| 6 | 14 | "female", |
| @@ -35,11 +43,11 @@ export class Prize extends S.Class<Prize>("Prize")({ | ||
| 35 | 43 | }) {} |
| 36 | 44 | |
| 37 | 45 | export class Laureate extends S.Class<Laureate>("Laureate")({ |
| 38 | - "born": S.String, | |
| 46 | + "born": S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), BornEnum), | |
| 39 | 47 | "bornCity": S.optional(S.NullOr(S.String)), |
| 40 | 48 | "bornCountry": S.optional(S.NullOr(S.String)), |
| 41 | 49 | "bornCountryCode": S.optional(S.NullOr(S.String)), |
| 42 | - "died": S.String, | |
| 50 | + "died": S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), BornEnum), | |
| 43 | 51 | "diedCity": S.optional(S.NullOr(S.String)), |
| 44 | 52 | "diedCountry": S.optional(S.NullOr(S.String)), |
| 45 | 53 | "diedCountryCode": S.optional(S.NullOr(S.String)), |
Test case
1 generated file · +1 −1test/inputs/json/misc/3659d.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/3f1ce.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -99,7 +99,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 99 | 99 | |
| 100 | 100 | export class Query extends S.Class<Query>("Query")({ |
| 101 | 101 | "count": S.Int, |
| 102 | - "created": S.String, | |
| 102 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 103 | 103 | "lang": S.String, |
| 104 | 104 | "results": Results, |
| 105 | 105 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/43eaf.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/4961a.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/4a0d7.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/4c547.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/4e336.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/54d32.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -8,12 +8,12 @@ export const Status = S.Literal( | ||
| 8 | 8 | export type Status = S.Schema.Type<typeof Status>; |
| 9 | 9 | |
| 10 | 10 | export class Result extends S.Class<Result>("Result")({ |
| 11 | - "created_at": S.String, | |
| 11 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 12 | 12 | "id": S.String, |
| 13 | 13 | "person_id": S.String, |
| 14 | 14 | "representative_id": S.String, |
| 15 | 15 | "status": Status, |
| 16 | - "updated_at": S.String, | |
| 16 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 17 | 17 | }) {} |
| 18 | 18 | |
| 19 | 19 | export class Facets extends S.Class<Facets>("Facets")({ |
Test case
1 generated file · +1 −1test/inputs/json/misc/5eae5.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement")({ |
| 5 | - "Date": S.String, | |
| 5 | + "Date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 6 | 6 | "ID": S.Int, |
| 7 | 7 | "Sponsor": S.String, |
| 8 | 8 | "Title": S.String, |
Test case
1 generated file · +1 −1test/inputs/json/misc/5f3a1.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/6260a.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/65dec.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -55,7 +55,7 @@ export const Type = S.Literal( | ||
| 55 | 55 | export type Type = S.Schema.Type<typeof Type>; |
| 56 | 56 | |
| 57 | 57 | export class Ruling extends S.Class<Ruling>("Ruling")({ |
| 58 | - "date": S.String, | |
| 58 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 59 | 59 | "text": S.String, |
| 60 | 60 | }) {} |
| 61 | 61 | |
| @@ -105,6 +105,6 @@ export class TopLevel extends S.Class<TopLevel>("TopLevel")({ | ||
| 105 | 105 | "mkm_id": S.Int, |
| 106 | 106 | "mkm_name": S.String, |
| 107 | 107 | "name": S.String, |
| 108 | - "releaseDate": S.String, | |
| 108 | + "releaseDate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 109 | 109 | "type": S.String, |
| 110 | 110 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/6dec6.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -101,7 +101,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 101 | 101 | |
| 102 | 102 | export class Query extends S.Class<Query>("Query")({ |
| 103 | 103 | "count": S.Int, |
| 104 | - "created": S.String, | |
| 104 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 105 | 105 | "lang": S.String, |
| 106 | 106 | "results": Results, |
| 107 | 107 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/70c77.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +4 −4test/inputs/json/misc/734ad.json
Mtypescript-effect-schemadefault / TopLevel.ts+4 −4
| @@ -27,7 +27,7 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 27 | 27 | "be_office_town": S.optional(S.NullOr(S.String)), |
| 28 | 28 | "code_of_conduct": S.String, |
| 29 | 29 | "contact_country": S.Int, |
| 30 | - "created_at": S.String, | |
| 30 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 31 | 31 | "entity": S.String, |
| 32 | 32 | "goals": S.String, |
| 33 | 33 | "head": S.String, |
| @@ -42,7 +42,7 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 42 | 42 | "id": S.String, |
| 43 | 43 | "identification_code": S.String, |
| 44 | 44 | "info_members": S.String, |
| 45 | - "last_update_date": S.String, | |
| 45 | + "last_update_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 46 | 46 | "legal": S.String, |
| 47 | 47 | "legal_status": S.String, |
| 48 | 48 | "main_category": S.Int, |
| @@ -58,12 +58,12 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 58 | 58 | "networking": S.NullOr(S.String), |
| 59 | 59 | "number_of_natural_persons": S.NullOr(S.Int), |
| 60 | 60 | "other_code_of_conduct": S.NullOr(S.String), |
| 61 | - "registration_date": S.String, | |
| 61 | + "registration_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 62 | 62 | "status": Status, |
| 63 | 63 | "structure_members": S.String, |
| 64 | 64 | "sub_category": S.Int, |
| 65 | 65 | "sub_category_title": S.String, |
| 66 | - "updated_at": S.String, | |
| 66 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 67 | 67 | "uri": S.String, |
| 68 | 68 | "web_site_url": S.NullOr(S.String), |
| 69 | 69 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/75912.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/77392.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -24,7 +24,7 @@ export type Pha = S.Schema.Type<typeof Pha>; | ||
| 24 | 24 | |
| 25 | 25 | export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement")({ |
| 26 | 26 | "designation": S.String, |
| 27 | - "discovery_date": S.String, | |
| 27 | + "discovery_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 28 | 28 | "h_mag": S.optional(S.NullOr(S.String)), |
| 29 | 29 | "i_deg": S.String, |
| 30 | 30 | "moid_au": S.String, |
Test case
1 generated file · +1 −1test/inputs/json/misc/7dfa6.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/7f568.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -24,7 +24,7 @@ export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement") | ||
| 24 | 24 | "comments": S.Int, |
| 25 | 25 | "comments_url": S.String, |
| 26 | 26 | "commits_url": S.String, |
| 27 | - "created_at": S.String, | |
| 27 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 28 | 28 | "description": S.NullOr(S.String), |
| 29 | 29 | "files": S.Record({ key: S.String, value: File}), |
| 30 | 30 | "forks_url": S.String, |
| @@ -34,7 +34,7 @@ export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement") | ||
| 34 | 34 | "id": S.String, |
| 35 | 35 | "public": S.Boolean, |
| 36 | 36 | "truncated": S.Boolean, |
| 37 | - "updated_at": S.String, | |
| 37 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 38 | 38 | "url": S.String, |
| 39 | 39 | "user": S.Null, |
| 40 | 40 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/80aff.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -2,12 +2,12 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class Result extends S.Class<Result>("Result")({ |
| 5 | - "created_at": S.String, | |
| 5 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 6 | 6 | "id": S.Int, |
| 7 | 7 | "items": S.Int, |
| 8 | 8 | "name": S.String, |
| 9 | 9 | "parent": S.NullOr(S.Int), |
| 10 | - "updated_at": S.String, | |
| 10 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 11 | 11 | "uri": S.String, |
| 12 | 12 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/88130.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/8a62c.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/9617f.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/9929c.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/9ac3b.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -15,7 +15,7 @@ export const Title = S.Literal( | ||
| 15 | 15 | export type Title = S.Schema.Type<typeof Title>; |
| 16 | 16 | |
| 17 | 17 | export class Result extends S.Class<Result>("Result")({ |
| 18 | - "created_at": S.String, | |
| 18 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 19 | 19 | "entity": S.String, |
| 20 | 20 | "first_name": S.String, |
| 21 | 21 | "id": S.String, |
| @@ -24,7 +24,7 @@ export class Result extends S.Class<Result>("Result")({ | ||
| 24 | 24 | "position": S.NullOr(S.String), |
| 25 | 25 | "status": Status, |
| 26 | 26 | "title": S.NullOr(Title), |
| 27 | - "updated_at": S.String, | |
| 27 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 28 | 28 | "uri": S.String, |
| 29 | 29 | }) {} |
Test case
1 generated file · +4 −4test/inputs/json/misc/a0496.json
Mtypescript-effect-schemadefault / TopLevel.ts+4 −4
| @@ -7,19 +7,19 @@ export class Errors extends S.Class<Errors>("Errors")({ | ||
| 7 | 7 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 8 | 8 | "code": S.String, |
| 9 | 9 | "column_names": S.Array(S.String), |
| 10 | - "data": S.Array(S.Array(S.Union(S.Number, S.String, S.Null))), | |
| 10 | + "data": S.Array(S.Array(S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), S.Number, S.Null))), | |
| 11 | 11 | "description": S.String, |
| 12 | 12 | "display_url": S.String, |
| 13 | 13 | "errors": Errors, |
| 14 | 14 | "frequency": S.String, |
| 15 | - "from_date": S.String, | |
| 15 | + "from_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 16 | 16 | "id": S.Int, |
| 17 | 17 | "name": S.String, |
| 18 | 18 | "premium": S.Boolean, |
| 19 | 19 | "source_code": S.String, |
| 20 | 20 | "source_name": S.String, |
| 21 | - "to_date": S.String, | |
| 21 | + "to_date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 22 | 22 | "type": S.String, |
| 23 | - "updated_at": S.String, | |
| 23 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 24 | 24 | "urlize_name": S.String, |
| 25 | 25 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/a1eca.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/a9691.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/abb4b.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/ac944.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/b4865.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -36,7 +36,7 @@ export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement") | ||
| 36 | 36 | "recclass": S.String, |
| 37 | 37 | "reclat": S.optional(S.NullOr(S.String)), |
| 38 | 38 | "reclong": S.optional(S.NullOr(S.String)), |
| 39 | - "year": S.optional(S.NullOr(S.String)), | |
| 39 | + "year": S.optional(S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)))), | |
| 40 | 40 | }) {} |
| 41 | 41 | |
| 42 | 42 | export const TopLevel = S.Array(TopLevelElement); |
Test case
1 generated file · +1 −1test/inputs/json/misc/b6f2c.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/bb1ec.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/cd463.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/cf0d8.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/cfbce.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -3,6 +3,6 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | 5 | "base": S.String, |
| 6 | - "date": S.String, | |
| 6 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 7 | 7 | "rates": S.Record({ key: S.String, value: S.Number}), |
| 8 | 8 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/d0908.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TotalPopulation extends S.Class<TotalPopulation>("TotalPopulation")({ |
| 5 | - "date": S.String, | |
| 5 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | 6 | "population": S.Int, |
| 7 | 7 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/d23d5.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -3,10 +3,10 @@ import * as S from "effect/Schema"; | ||
| 3 | 3 | |
| 4 | 4 | export class Result extends S.Class<Result>("Result")({ |
| 5 | 5 | "acronym": S.NullOr(S.String), |
| 6 | - "created_at": S.String, | |
| 6 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 7 | 7 | "id": S.String, |
| 8 | 8 | "name": S.String, |
| 9 | - "updated_at": S.String, | |
| 9 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 10 | 10 | "uri": S.String, |
| 11 | 11 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/dbfb3.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -100,7 +100,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 100 | 100 | |
| 101 | 101 | export class Query extends S.Class<Query>("Query")({ |
| 102 | 102 | "count": S.Int, |
| 103 | - "created": S.String, | |
| 103 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 104 | 104 | "lang": S.String, |
| 105 | 105 | "results": Results, |
| 106 | 106 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/dc44f.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -104,7 +104,7 @@ export const Type = S.Literal( | ||
| 104 | 104 | export type Type = S.Schema.Type<typeof Type>; |
| 105 | 105 | |
| 106 | 106 | export class Ruling extends S.Class<Ruling>("Ruling")({ |
| 107 | - "date": S.String, | |
| 107 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 108 | 108 | "text": S.String, |
| 109 | 109 | }) {} |
| 110 | 110 | |
| @@ -153,6 +153,6 @@ export class TopLevel extends S.Class<TopLevel>("TopLevel")({ | ||
| 153 | 153 | "mkm_id": S.Int, |
| 154 | 154 | "mkm_name": S.String, |
| 155 | 155 | "name": S.String, |
| 156 | - "releaseDate": S.String, | |
| 156 | + "releaseDate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 157 | 157 | "type": S.String, |
| 158 | 158 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/misc/dd1ce.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -104,7 +104,7 @@ export const Type = S.Literal( | ||
| 104 | 104 | export type Type = S.Schema.Type<typeof Type>; |
| 105 | 105 | |
| 106 | 106 | export class Ruling extends S.Class<Ruling>("Ruling")({ |
| 107 | - "date": S.String, | |
| 107 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 108 | 108 | "text": S.String, |
| 109 | 109 | }) {} |
| 110 | 110 | |
| @@ -153,6 +153,6 @@ export class TopLevel extends S.Class<TopLevel>("TopLevel")({ | ||
| 153 | 153 | "mkm_id": S.Int, |
| 154 | 154 | "mkm_name": S.String, |
| 155 | 155 | "name": S.String, |
| 156 | - "releaseDate": S.String, | |
| 156 | + "releaseDate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 157 | 157 | "type": S.String, |
| 158 | 158 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/df957.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -94,7 +94,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 94 | 94 | |
| 95 | 95 | export class Query extends S.Class<Query>("Query")({ |
| 96 | 96 | "count": S.Int, |
| 97 | - "created": S.String, | |
| 97 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 98 | 98 | "lang": S.String, |
| 99 | 99 | "results": Results, |
| 100 | 100 | }) {} |
Test case
1 generated file · +1 −1test/inputs/json/misc/e2915.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -99,7 +99,7 @@ export class Results extends S.Class<Results>("Results")({ | ||
| 99 | 99 | |
| 100 | 100 | export class Query extends S.Class<Query>("Query")({ |
| 101 | 101 | "count": S.Int, |
| 102 | - "created": S.String, | |
| 102 | + "created": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 103 | 103 | "lang": S.String, |
| 104 | 104 | "results": Results, |
| 105 | 105 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/priority/bug2590.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -2,8 +2,8 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class Invoice extends S.Class<Invoice>("Invoice")({ |
| 5 | - "createdAt": S.NullOr(S.String), | |
| 6 | - "dueDate": S.NullOr(S.String), | |
| 5 | + "createdAt": S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/))), | |
| 6 | + "dueDate": S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/))), | |
| 7 | 7 | "name": S.String, |
| 8 | 8 | }) {} |
Test case
1 generated file · +2 −2test/inputs/json/priority/bug2663.json
Mtypescript-effect-schemadefault / TopLevel.ts+2 −2
| @@ -2,7 +2,7 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | - "birthday": S.String, | |
| 6 | - "lastSeen": S.String, | |
| 5 | + "birthday": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 6 | + "lastSeen": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 7 | 7 | "name": S.String, |
| 8 | 8 | }) {} |
Test case
1 generated file · +16 −16test/inputs/json/samples/github-events.json
Mtypescript-effect-schemadefault / TopLevel.ts+16 −16
| @@ -88,7 +88,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 88 | 88 | "compare_url": S.String, |
| 89 | 89 | "contents_url": S.String, |
| 90 | 90 | "contributors_url": S.String, |
| 91 | - "created_at": S.String, | |
| 91 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 92 | 92 | "default_branch": S.String, |
| 93 | 93 | "deployments_url": S.String, |
| 94 | 94 | "description": S.String, |
| @@ -129,7 +129,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 129 | 129 | "owner": User, |
| 130 | 130 | "private": S.Boolean, |
| 131 | 131 | "pulls_url": S.String, |
| 132 | - "pushed_at": S.String, | |
| 132 | + "pushed_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 133 | 133 | "releases_url": S.String, |
| 134 | 134 | "size": S.Int, |
| 135 | 135 | "ssh_url": S.String, |
| @@ -142,7 +142,7 @@ export class BaseRepo extends S.Class<BaseRepo>("BaseRepo")({ | ||
| 142 | 142 | "tags_url": S.String, |
| 143 | 143 | "teams_url": S.String, |
| 144 | 144 | "trees_url": S.String, |
| 145 | - "updated_at": S.String, | |
| 145 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 146 | 146 | "url": S.String, |
| 147 | 147 | "watchers": S.Int, |
| 148 | 148 | "watchers_count": S.Int, |
| @@ -163,12 +163,12 @@ export class PayloadPullRequest extends S.Class<PayloadPullRequest>("PayloadPull | ||
| 163 | 163 | "base": Base, |
| 164 | 164 | "body": S.String, |
| 165 | 165 | "changed_files": S.Int, |
| 166 | - "closed_at": S.String, | |
| 166 | + "closed_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 167 | 167 | "comments": S.Int, |
| 168 | 168 | "comments_url": S.String, |
| 169 | 169 | "commits": S.Int, |
| 170 | 170 | "commits_url": S.String, |
| 171 | - "created_at": S.String, | |
| 171 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 172 | 172 | "deletions": S.Int, |
| 173 | 173 | "diff_url": S.String, |
| 174 | 174 | "head": Base, |
| @@ -182,7 +182,7 @@ export class PayloadPullRequest extends S.Class<PayloadPullRequest>("PayloadPull | ||
| 182 | 182 | "mergeable": S.Null, |
| 183 | 183 | "mergeable_state": S.String, |
| 184 | 184 | "merged": S.Boolean, |
| 185 | - "merged_at": S.String, | |
| 185 | + "merged_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 186 | 186 | "merged_by": User, |
| 187 | 187 | "milestone": S.Null, |
| 188 | 188 | "number": S.Int, |
| @@ -195,18 +195,18 @@ export class PayloadPullRequest extends S.Class<PayloadPullRequest>("PayloadPull | ||
| 195 | 195 | "state": S.String, |
| 196 | 196 | "statuses_url": S.String, |
| 197 | 197 | "title": S.String, |
| 198 | - "updated_at": S.String, | |
| 198 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 199 | 199 | "url": S.String, |
| 200 | 200 | "user": User, |
| 201 | 201 | }) {} |
| 202 | 202 | |
| 203 | 203 | export class Comment extends S.Class<Comment>("Comment")({ |
| 204 | 204 | "body": S.String, |
| 205 | - "created_at": S.String, | |
| 205 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 206 | 206 | "html_url": S.String, |
| 207 | 207 | "id": S.Int, |
| 208 | 208 | "issue_url": S.String, |
| 209 | - "updated_at": S.String, | |
| 209 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 210 | 210 | "url": S.String, |
| 211 | 211 | "user": User, |
| 212 | 212 | }) {} |
| @@ -214,10 +214,10 @@ export class Comment extends S.Class<Comment>("Comment")({ | ||
| 214 | 214 | export class Milestone extends S.Class<Milestone>("Milestone")({ |
| 215 | 215 | "closed_at": S.Null, |
| 216 | 216 | "closed_issues": S.Int, |
| 217 | - "created_at": S.String, | |
| 217 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 218 | 218 | "creator": User, |
| 219 | 219 | "description": S.String, |
| 220 | - "due_on": S.NullOr(S.String), | |
| 220 | + "due_on": S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/))), | |
| 221 | 221 | "html_url": S.String, |
| 222 | 222 | "id": S.Int, |
| 223 | 223 | "labels_url": S.String, |
| @@ -225,7 +225,7 @@ export class Milestone extends S.Class<Milestone>("Milestone")({ | ||
| 225 | 225 | "open_issues": S.Int, |
| 226 | 226 | "state": S.String, |
| 227 | 227 | "title": S.String, |
| 228 | - "updated_at": S.String, | |
| 228 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 229 | 229 | "url": S.String, |
| 230 | 230 | }) {} |
| 231 | 231 | |
| @@ -252,10 +252,10 @@ export class Issue extends S.Class<Issue>("Issue")({ | ||
| 252 | 252 | "assignee": S.Null, |
| 253 | 253 | "assignees": S.Array(S.Any), |
| 254 | 254 | "body": S.String, |
| 255 | - "closed_at": S.NullOr(S.String), | |
| 255 | + "closed_at": S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/))), | |
| 256 | 256 | "comments": S.Int, |
| 257 | 257 | "comments_url": S.String, |
| 258 | - "created_at": S.String, | |
| 258 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 259 | 259 | "events_url": S.String, |
| 260 | 260 | "html_url": S.String, |
| 261 | 261 | "id": S.Int, |
| @@ -268,7 +268,7 @@ export class Issue extends S.Class<Issue>("Issue")({ | ||
| 268 | 268 | "repository_url": S.String, |
| 269 | 269 | "state": S.String, |
| 270 | 270 | "title": S.String, |
| 271 | - "updated_at": S.String, | |
| 271 | + "updated_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 272 | 272 | "url": S.String, |
| 273 | 273 | "user": User, |
| 274 | 274 | }) {} |
| @@ -284,7 +284,7 @@ export class Actor extends S.Class<Actor>("Actor")({ | ||
| 284 | 284 | |
| 285 | 285 | export class TopLevelElement extends S.Class<TopLevelElement>("TopLevelElement")({ |
| 286 | 286 | "actor": Actor, |
| 287 | - "created_at": S.String, | |
| 287 | + "created_at": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 288 | 288 | "id": S.String, |
| 289 | 289 | "org": S.optional(S.NullOr(Actor)), |
| 290 | 290 | "payload": Payload, |
Test case
1 generated file · +1 −1test/inputs/json/samples/null-safe.json
Mtypescript-effect-schemadefault / TopLevel.ts+1 −1
| @@ -9,7 +9,7 @@ export class Address extends S.Class<Address>("Address")({ | ||
| 9 | 9 | |
| 10 | 10 | export class Item extends S.Class<Item>("Item")({ |
| 11 | 11 | "address": S.optional(S.NullOr(Address)), |
| 12 | - "created_at": S.optional(S.NullOr(S.String)), | |
| 12 | + "created_at": S.optional(S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)))), | |
| 13 | 13 | "name": S.String, |
| 14 | 14 | "sex": S.NullOr(S.Int), |
| 15 | 15 | }) {} |
Test case
1 generated file · +3 −3test/inputs/json/samples/us-senators.json
Mtypescript-effect-schemadefault / TopLevel.ts+3 −3
| @@ -80,7 +80,7 @@ export type Title = S.Schema.Type<typeof Title>; | ||
| 80 | 80 | |
| 81 | 81 | export class Person extends S.Class<Person>("Person")({ |
| 82 | 82 | "bioguideid": S.String, |
| 83 | - "birthday": S.String, | |
| 83 | + "birthday": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 84 | 84 | "cspanid": S.Int, |
| 85 | 85 | "firstname": S.String, |
| 86 | 86 | "gender": Gender, |
| @@ -112,7 +112,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 112 | 112 | "current": S.Boolean, |
| 113 | 113 | "description": S.String, |
| 114 | 114 | "district": S.Null, |
| 115 | - "enddate": S.String, | |
| 115 | + "enddate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 116 | 116 | "extra": Extra, |
| 117 | 117 | "leadership_title": S.NullOr(S.String), |
| 118 | 118 | "party": Party, |
| @@ -124,7 +124,7 @@ export class ObjectElement extends S.Class<ObjectElement>("ObjectElement")({ | ||
| 124 | 124 | "senator_class_label": SenatorClassLabel, |
| 125 | 125 | "senator_rank": SenatorRank, |
| 126 | 126 | "senator_rank_label": SenatorRankLabel, |
| 127 | - "startdate": S.String, | |
| 127 | + "startdate": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 128 | 128 | "state": S.String, |
| 129 | 129 | "title": Title, |
| 130 | 130 | "title_long": RoleTypeLabel, |
Test case
1 generated file · +6 −1test/inputs/schema/date-time-or-string.schema
Mschema-typescript-effect-schemadefault / TopLevel.ts+6 −1
| @@ -1,7 +1,12 @@ | ||
| 1 | 1 | import * as S from "effect/Schema"; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +export const BarEnum = S.Literal( | |
| 5 | + "quux", | |
| 6 | +); | |
| 7 | +export type BarEnum = S.Schema.Type<typeof BarEnum>; | |
| 8 | + | |
| 4 | 9 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | - "bar": S.String, | |
| 10 | + "bar": S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), BarEnum), | |
| 6 | 11 | "foo": S.String, |
| 7 | 12 | }) {} |
Test case
1 generated file · +11 −5test/inputs/schema/date-time.schema
Mschema-typescript-effect-schemadefault / TopLevel.ts+11 −5
| @@ -1,10 +1,16 @@ | ||
| 1 | 1 | import * as S from "effect/Schema"; |
| 2 | 2 | |
| 3 | 3 | |
| 4 | +export const ComplexUnionArrayEnum = S.Literal( | |
| 5 | + "foo", | |
| 6 | + "bar", | |
| 7 | +); | |
| 8 | +export type ComplexUnionArrayEnum = S.Schema.Type<typeof ComplexUnionArrayEnum>; | |
| 9 | + | |
| 4 | 10 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | - "complex-union-array": S.Array(S.Union(S.Int, S.String)), | |
| 6 | - "date": S.String, | |
| 7 | - "date-time": S.String, | |
| 8 | - "time": S.String, | |
| 9 | - "union-array": S.Array(S.String), | |
| 11 | + "complex-union-array": S.Array(S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), ComplexUnionArrayEnum, S.Int)), | |
| 12 | + "date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 13 | + "date-time": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 14 | + "time": S.String.pipe(S.pattern(/^\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 15 | + "union-array": S.Array(S.Union(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), S.String.pipe(S.pattern(/^\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)))), | |
| 10 | 16 | }) {} |
Test case
1 generated file · +6 −6test/inputs/schema/optional-date-time.schema
Mschema-typescript-effect-schemadefault / TopLevel.ts+6 −6
| @@ -2,10 +2,10 @@ import * as S from "effect/Schema"; | ||
| 2 | 2 | |
| 3 | 3 | |
| 4 | 4 | export class TopLevel extends S.Class<TopLevel>("TopLevel")({ |
| 5 | - "optional-date": S.optional(S.NullOr(S.String)), | |
| 6 | - "optional-date-time": S.optional(S.NullOr(S.String)), | |
| 7 | - "optional-time": S.optional(S.NullOr(S.String)), | |
| 8 | - "required-date": S.String, | |
| 9 | - "required-date-time": S.String, | |
| 10 | - "required-time": S.String, | |
| 5 | + "optional-date": S.optional(S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)))), | |
| 6 | + "optional-date-time": S.optional(S.NullOr(S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)))), | |
| 7 | + "optional-time": S.optional(S.NullOr(S.String.pipe(S.pattern(/^\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)))), | |
| 8 | + "required-date": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}$/)), | |
| 9 | + "required-date-time": S.String.pipe(S.pattern(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 10 | + "required-time": S.String.pipe(S.pattern(/^\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|[+-]\d{2}:\d{2})$/)), | |
| 11 | 11 | }) {} |
No generated files match these filters.