Skip to content
This repository was archived by the owner on May 11, 2021. It is now read-only.

Commit 08637b4

Browse files
authored
Merge pull request #9 from JakeGinnivan/fix/broken-package
fix: Broken published package
2 parents 30743b6 + fb25394 commit 08637b4

File tree

4 files changed

+87
-84
lines changed

4 files changed

+87
-84
lines changed

.eslintrc

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
11
{
2-
"extends": ["wanews-base"]
2+
"extends": ["wanews-base"],
3+
"rules": {
4+
"@typescript-eslint/array-type": [2, { "default": "array-simple" }]
5+
}
36
}

package.json

+9-9
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
"name": "typescript-object-validator",
33
"version": "0.0.0",
44
"description": "TypeScript first object validator",
5-
"main": "dist/index.js",
6-
"types": "dist/index.d.ts",
5+
"main": "dist/cjs/index.js",
6+
"module": "dist/esm/index.js",
77
"sideEffects": false,
88
"scripts": {
99
"prepack": "yarn build",
@@ -18,15 +18,15 @@
1818
"license": "MIT",
1919
"devDependencies": {
2020
"@types/jest": "^24.0.18",
21-
"@typescript-eslint/eslint-plugin": "^2.0.0",
22-
"@typescript-eslint/parser": "^2.0.0",
23-
"eslint": "^6.2.2",
24-
"eslint-config-prettier": "^6.1.0",
25-
"eslint-config-wanews-base": "^2.0.1",
21+
"@typescript-eslint/eslint-plugin": "^2.3.2",
22+
"@typescript-eslint/parser": "^2.3.2",
23+
"eslint": "^6.5.1",
24+
"eslint-config-prettier": "^6.3.0",
25+
"eslint-config-wanews-base": "^2.0.2",
2626
"jest": "^24.9.0",
27-
"ts-jest": "^24.0.2",
27+
"ts-jest": "^24.1.0",
2828
"tslib": "^1.10.0",
29-
"typescript": "^3.6.2"
29+
"typescript": "^3.6.3"
3030
},
3131
"peerDependencies": {
3232
"tslib": "^1.10.0"

src/index.ts

+17-17
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,17 @@ export type ValidatedType<
99
? string | undefined
1010
: O extends 'boolean'
1111
? boolean | undefined
12-
: O extends 'string'[]
12+
: O extends Array<'string'>
1313
? string[] | undefined
14-
: O extends 'number'[]
14+
: O extends Array<'number'>
1515
? number[] | undefined
16-
: O extends 'boolean'[]
16+
: O extends Array<'boolean'>
1717
? boolean[] | undefined
1818
: O extends ObjectShape<O>
1919
? { [key in keyof O]: ValidatedType<O[key]> } | undefined
20-
: O extends (infer U)[]
20+
: O extends Array<infer U>
2121
? U extends ObjectShape<T>
22-
? { [key in keyof U]: ValidatedType<U[key]> }[] | undefined
22+
? Array<{ [key in keyof U]: ValidatedType<U[key]> }> | undefined
2323
: unknown
2424
: unknown
2525
: T extends 'unknown'
@@ -30,17 +30,17 @@ export type ValidatedType<
3030
? string
3131
: T extends 'boolean'
3232
? boolean
33-
: T extends 'string'[]
33+
: T extends Array<'string'>
3434
? string[]
35-
: T extends 'number'[]
35+
: T extends Array<'number'>
3636
? number[]
37-
: T extends 'boolean'[]
37+
: T extends Array<'boolean'>
3838
? boolean[]
3939
: T extends ObjectShape<object>
4040
? { [key in keyof T]: ValidatedType<T[key]> }
41-
: T extends (infer U)[]
41+
: T extends Array<infer U>
4242
? U extends ObjectShape<object>
43-
? { [key in keyof U]: ValidatedType<U[key]> }[]
43+
? Array<{ [key in keyof U]: ValidatedType<U[key]> }>
4444
: unknown
4545
: unknown
4646

@@ -62,11 +62,11 @@ export type ValidationKeyType<T = object> =
6262
| 'number'
6363
| 'string'
6464
| 'boolean'
65-
| 'string'[]
66-
| 'number'[]
67-
| 'boolean'[]
65+
| Array<'string'>
66+
| Array<'number'>
67+
| Array<'boolean'>
6868
| ObjectShape<T>
69-
| ObjectShape<T>[]
69+
| Array<ObjectShape<T>>
7070

7171
// While not required, when using string literals (ie 'string'),
7272
// once the shape gets complicated enough, TypeScript starts treating the
@@ -79,9 +79,9 @@ export const validationTypes = {
7979
string: 'string' as 'string',
8080
number: 'number' as 'number',
8181
boolean: 'boolean' as 'boolean',
82-
stringArray: ['string'] as 'string'[],
83-
booleanArray: ['boolean'] as 'boolean'[],
84-
numberArray: ['number'] as 'number'[]
82+
stringArray: ['string'] as Array<'string'>,
83+
booleanArray: ['boolean'] as Array<'boolean'>,
84+
numberArray: ['number'] as Array<'number'>
8585
}
8686

8787
// We need this generic type so we can merge ObjectShapes and not lose info

yarn.lock

+57-57
Original file line numberDiff line numberDiff line change
@@ -397,43 +397,45 @@
397397
dependencies:
398398
"@types/yargs-parser" "*"
399399

400-
"@typescript-eslint/eslint-plugin@^2.0.0":
401-
version "2.0.0"
402-
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.0.0.tgz#609a5d7b00ce21a6f94d7ef282eba9da57ca1e42"
403-
integrity sha512-Mo45nxTTELODdl7CgpZKJISvLb+Fu64OOO2ZFc2x8sYSnUpFrBUW3H+H/ZGYmEkfnL6VkdtOSxgdt+Av79j0sA==
400+
"@typescript-eslint/eslint-plugin@^2.3.2":
401+
version "2.3.2"
402+
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.3.2.tgz#7e112ca0bb29044d915baf10163a8199a20f7c69"
403+
integrity sha512-tcnpksq1bXzcIRbYLeXkgp6l+ggEMXXUcl1wsSvL807fRtmvVQKygElwEUf4hBA76dNag3VAK1q2m3vd7qJaZA==
404404
dependencies:
405-
"@typescript-eslint/experimental-utils" "2.0.0"
406-
eslint-utils "^1.4.0"
405+
"@typescript-eslint/experimental-utils" "2.3.2"
406+
eslint-utils "^1.4.2"
407407
functional-red-black-tree "^1.0.1"
408408
regexpp "^2.0.1"
409-
tsutils "^3.14.0"
409+
tsutils "^3.17.1"
410410

411-
"@typescript-eslint/experimental-utils@2.0.0":
412-
version "2.0.0"
413-
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.0.0.tgz#f3d298bb411357f35c4184e24280b256b6321949"
414-
integrity sha512-XGJG6GNBXIEx/mN4eTRypN/EUmsd0VhVGQ1AG+WTgdvjHl0G8vHhVBHrd/5oI6RRYBRnedNymSYWW1HAdivtmg==
411+
"@typescript-eslint/experimental-utils@2.3.2":
412+
version "2.3.2"
413+
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.3.2.tgz#e50f31264507e6fec7b33840bb6af260c24f4ea8"
414+
integrity sha512-t+JGdTT6dRbmvKDlhlVkEueoZa0fhJNfG6z2cpnRPLwm3VwYr2BjR//acJGC1Yza0I9ZNcDfRY7ubQEvvfG6Jg==
415415
dependencies:
416416
"@types/json-schema" "^7.0.3"
417-
"@typescript-eslint/typescript-estree" "2.0.0"
418-
eslint-scope "^4.0.0"
417+
"@typescript-eslint/typescript-estree" "2.3.2"
418+
eslint-scope "^5.0.0"
419419

420-
"@typescript-eslint/parser@^2.0.0":
421-
version "2.0.0"
422-
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.0.0.tgz#4273bb19d03489daf8372cdaccbc8042e098178f"
423-
integrity sha512-ibyMBMr0383ZKserIsp67+WnNVoM402HKkxqXGlxEZsXtnGGurbnY90pBO3e0nBUM7chEEOcxUhgw9aPq7fEBA==
420+
"@typescript-eslint/parser@^2.3.2":
421+
version "2.3.2"
422+
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.3.2.tgz#e9b742e191cd1209930da469cde379591ad0af5b"
423+
integrity sha512-nq1UQeNGdKdqdgF6Ww+Ov2OidWgiL96+JYdXXZ2rkP/OWyc6KMNSbs6MpRCpI8q+PmDa7hBnHNQIo7w/drYccA==
424424
dependencies:
425425
"@types/eslint-visitor-keys" "^1.0.0"
426-
"@typescript-eslint/experimental-utils" "2.0.0"
427-
"@typescript-eslint/typescript-estree" "2.0.0"
428-
eslint-visitor-keys "^1.0.0"
426+
"@typescript-eslint/experimental-utils" "2.3.2"
427+
"@typescript-eslint/typescript-estree" "2.3.2"
428+
eslint-visitor-keys "^1.1.0"
429429

430-
"@typescript-eslint/typescript-estree@2.0.0":
431-
version "2.0.0"
432-
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.0.0.tgz#c9f6c0efd1b11475540d6a55dc973cc5b9a67e77"
433-
integrity sha512-NXbmzA3vWrSgavymlzMWNecgNOuiMMp62MO3kI7awZRLRcsA1QrYWo6q08m++uuAGVbXH/prZi2y1AWuhSu63w==
430+
"@typescript-eslint/typescript-estree@2.3.2":
431+
version "2.3.2"
432+
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.3.2.tgz#107414aa04e689fe6f7251eb63fb500217f2b7f4"
433+
integrity sha512-eZNEAai16nwyhIVIEaWQlaUgAU3S9CkQ58qvK0+3IuSdLJD3W1PNuehQFMIhW/mTP1oFR9GNoTcLg7gtXz6lzA==
434434
dependencies:
435+
glob "^7.1.4"
436+
is-glob "^4.0.1"
435437
lodash.unescape "4.0.1"
436-
semver "^6.2.0"
438+
semver "^6.3.0"
437439

438440
abab@^2.0.0:
439441
version "2.0.0"
@@ -1117,25 +1119,17 @@ escodegen@^1.9.1:
11171119
optionalDependencies:
11181120
source-map "~0.6.1"
11191121

1120-
eslint-config-prettier@^6.1.0:
1121-
version "6.1.0"
1122-
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.1.0.tgz#e6f678ba367fbd1273998d5510f76f004e9dce7b"
1123-
integrity sha512-k9fny9sPjIBQ2ftFTesJV21Rg4R/7a7t7LCtZVrYQiHEp8Nnuk3EGaDmsKSAnsPj0BYcgB2zxzHa2NTkIxcOLg==
1122+
eslint-config-prettier@^6.3.0:
1123+
version "6.3.0"
1124+
resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.3.0.tgz#e73b48e59dc49d950843f3eb96d519e2248286a3"
1125+
integrity sha512-EWaGjlDAZRzVFveh2Jsglcere2KK5CJBhkNSa1xs3KfMUGdRiT7lG089eqPdvlzWHpAqaekubOsOMu8W8Yk71A==
11241126
dependencies:
11251127
get-stdin "^6.0.0"
11261128

1127-
eslint-config-wanews-base@^2.0.0:
1128-
version "2.0.0"
1129-
resolved "https://registry.yarnpkg.com/eslint-config-wanews-base/-/eslint-config-wanews-base-2.0.0.tgz#9715134a0d74295fb0cfaa95526429cebfe4bf60"
1130-
integrity sha512-QHhgMl78NjNmgErRp4pM9hfQ/NyKyv/5LjCSuVjQkA5Ro1HycBWC5MDox2UQqohIaXUtALDK7gnR5BvWDhGt5g==
1131-
1132-
eslint-scope@^4.0.0:
1133-
version "4.0.3"
1134-
resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
1135-
integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
1136-
dependencies:
1137-
esrecurse "^4.1.0"
1138-
estraverse "^4.1.1"
1129+
eslint-config-wanews-base@^2.0.1:
1130+
version "2.0.2"
1131+
resolved "https://registry.yarnpkg.com/eslint-config-wanews-base/-/eslint-config-wanews-base-2.0.2.tgz#059f4792f14725bb5973d898569c9f7d32aa799e"
1132+
integrity sha512-9vOaGzfXg5+XsO4+Tb1xNRgG7pTKQtouj7N70M7vaiLG0iAkolAa3ptTgc6K+S+cLC1BnYC7xPuztj+FfiCiQA==
11391133

11401134
eslint-scope@^5.0.0:
11411135
version "5.0.0"
@@ -1145,7 +1139,7 @@ eslint-scope@^5.0.0:
11451139
esrecurse "^4.1.0"
11461140
estraverse "^4.1.1"
11471141

1148-
eslint-utils@^1.4.0, eslint-utils@^1.4.2:
1142+
eslint-utils@^1.4.2:
11491143
version "1.4.2"
11501144
resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
11511145
integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
@@ -1157,10 +1151,10 @@ eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
11571151
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
11581152
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
11591153

1160-
eslint@^6.2.2:
1161-
version "6.2.2"
1162-
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.2.2.tgz#03298280e7750d81fcd31431f3d333e43d93f24f"
1163-
integrity sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==
1154+
eslint@^6.5.1:
1155+
version "6.5.1"
1156+
resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.5.1.tgz#828e4c469697d43bb586144be152198b91e96ed6"
1157+
integrity sha512-32h99BoLYStT1iq1v2P9uwpyznQ4M2jRiFB6acitKz52Gqn+vPaMDUTB1bYi1WN4Nquj2w+t+bimYUG83DC55A==
11641158
dependencies:
11651159
"@babel/code-frame" "^7.0.0"
11661160
ajv "^6.10.0"
@@ -1522,7 +1516,7 @@ glob-parent@^5.0.0:
15221516
dependencies:
15231517
is-glob "^4.0.1"
15241518

1525-
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3:
1519+
glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
15261520
version "7.1.4"
15271521
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
15281522
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -2499,6 +2493,11 @@ locate-path@^3.0.0:
24992493
p-locate "^3.0.0"
25002494
path-exists "^3.0.0"
25012495

2496+
2497+
version "4.1.2"
2498+
resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
2499+
integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=
2500+
25022501
lodash.sortby@^4.7.0:
25032502
version "4.7.0"
25042503
resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
@@ -3354,7 +3353,7 @@ sax@^1.2.4:
33543353
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
33553354
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
33563355

3357-
semver@^6.0.0, semver@^6.1.2, semver@^6.2.0:
3356+
semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0:
33583357
version "6.3.0"
33593358
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
33603359
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
@@ -3769,15 +3768,16 @@ trim-right@^1.0.1:
37693768
resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
37703769
integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=
37713770

3772-
ts-jest@^24.0.2:
3773-
version "24.0.2"
3774-
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d"
3775-
integrity sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw==
3771+
ts-jest@^24.1.0:
3772+
version "24.1.0"
3773+
resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.1.0.tgz#2eaa813271a2987b7e6c3fefbda196301c131734"
3774+
integrity sha512-HEGfrIEAZKfu1pkaxB9au17b1d9b56YZSqz5eCVE8mX68+5reOvlM93xGOzzCREIov9mdH7JBG+s0UyNAqr0tQ==
37763775
dependencies:
37773776
bs-logger "0.x"
37783777
buffer-from "1.x"
37793778
fast-json-stable-stringify "2.x"
37803779
json5 "2.x"
3780+
lodash.memoize "4.x"
37813781
make-error "1.x"
37823782
mkdirp "0.x"
37833783
resolve "1.x"
@@ -3789,7 +3789,7 @@ tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0:
37893789
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
37903790
integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
37913791

3792-
tsutils@^3.14.0:
3792+
tsutils@^3.17.1:
37933793
version "3.17.1"
37943794
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759"
37953795
integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g==
@@ -3815,10 +3815,10 @@ type-check@~0.3.2:
38153815
dependencies:
38163816
prelude-ls "~1.1.2"
38173817

3818-
typescript@^3.6.2:
3819-
version "3.6.2"
3820-
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.2.tgz#105b0f1934119dde543ac8eb71af3a91009efe54"
3821-
integrity sha512-lmQ4L+J6mnu3xweP8+rOrUwzmN+MRAj7TgtJtDaXE5PMyX2kCrklhg3rvOsOIfNeAWMQWO2F1GPc1kMD2vLAfw==
3818+
typescript@^3.6.3:
3819+
version "3.6.3"
3820+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.6.3.tgz#fea942fabb20f7e1ca7164ff626f1a9f3f70b4da"
3821+
integrity sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==
38223822

38233823
uglify-js@^3.1.4:
38243824
version "3.6.0"

0 commit comments

Comments
 (0)