diff --git a/README.md b/README.md index aac0859..7cc9932 100644 --- a/README.md +++ b/README.md @@ -10,22 +10,19 @@ Parses route strings to a sum type using Matches from fp-ts-routing. Tangentiall yarn add fp-ts-routing-adt ``` -## Note +## Notes -Formatting the `NotFound` type will return '/' +- Formatting the `NotFound` type will return '/' ```ts import * as R from 'fp-ts-routing' -import { routingFromMatches3 } from 'fp-ts-routing-adt' +import { routingFromMatches } from 'fp-ts-routing-adt' -const landing: R.Match<{}> = R.end -const show: R.Match<{}> = R.lit('show').then(R.end) -const id: R.Match<{ id: number }> = R.int('id').then(R.end) +const landing = R.end // landing: R.Match<{}> +const show = R.lit('show').then(R.end) // show: R.Match<{}> +const id = R.int('id').then(R.end) // id: R.Match<{ id: number }> -const { - parse, - format, -} = routingFromMatches3( +const { parse, format } = routingFromMatches( ['Landing', landing], ['Show', show], ['Id', id], @@ -49,33 +46,8 @@ type RouteADT = ReturnType ``` -# Package size +## TODO: -If this package is too big for your website, you can use `codegenWithNumRoutes` to generate a single file. - -```ts -// GenerateRoute.ts - -import * as fs from 'fs' -import { codegenWithNumRoutes } from 'fp-ts-routing-adt' - -fs.writeFile( - `src/RoutingFromMatches100.ts`, - codegenWithNumRoutes(100), - (err) => { - // throws an error, you could also catch it here - if (err) throw err; - - // success case, the file was saved - console.log('RoutingFromMatches100.ts saved!'); - } -); -``` - -You can run it on the cli w/ `ts-node` - -``` -yarn global add ts-node -yarn global add typescript -ts-node GenerateRoute.ts -``` \ No newline at end of file +- prevent duplicate routes at the type level? + - implementation using [this](https://ja.nsommer.dk/articles/type-checked-unique-arrays.html) only supports up to 15 routes ([example](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAKjgQwM5wEpwGZQiOAcmzAFoZVS8BXGYAOwHNCBuAKDZgE8wBTOAKr1gAR2q8AglCjIuAHgAqAPjgBeNnDgK4vAB4xe9ACboovZEYj0ANlzgBtBtl5Q4ADQA0cAHS+nLzF5UGABdDU04AH44AEl6KRl5DCCYLzcVPQNjdBgocXCIqLh6XgA3FwKIgC44MwsrWwdPH18hUXEE2Tlk4KUwwpqFDm4+WPjpLoU0lXVNbUzDE1rzSxs7e2bfb39XAH0e0Mro3PyBrR19RdMVhvW3fsKik95KzUGLrKW61cbHemc9l4tjtAsEHo8inFOkkUtNXtUcMhrKgXmw9JBYDhqPQAMZ0Ky1CC0BiMABieBAAFlkDAcQALIJycIAaV4XHQC2ycGCUBJ9hCHnCAAVkMAoBzLlyAN4OZlwBhwADWbIg2DgrPZIRq9g1qB1Asw3mptLpcmQ9C4fTgAF9BUoABRbMCi8U1NpiSQTeRSnXy+hKlVqkVi1BauDB8X6+wABhC1oykqWJXKrmiyYCNQjqAAlHApeERvwJAARbSqPNwQs1QgAOQgMFJROMhBtcAAPnnKr6FcquKrwy7QzV4Vn9R8rg4QQoeLwvBgjTT6XIQcb6X14ZpojKq1oZ62AGRwVd0jdwGrpqDha32ejUEAAIxcDzMMGoUH9+cKzvFvBq9udMB0jUPIktmNQlmWKjzt+KL2vCzoht4ZhGNQOK8HBEKaPayA4jiXg4m+uaqCoOE4t4SIwPaBFQPYACMITeDBLjeCAyBgNhagqPa24zjU1ExgaWzIDa2aiYKmGGgAXi4EByBBDrZuJjyKXA8LzhgRIGIxyA-v+NJ0ip8I8Xw1Z1g2TZGC21ooOgEGVIplTYNArEwH+FiuXAEFgdyuQkpxhpOVALkYY8CHit42AMEY9r2vYvYhERJFGDA3iFmoqjlr22aRN4dEhDlgUuQYqbRPOiwRc5NLFUphTufZSnWuw1ocDiVjBBWTFeIVNKtuWNB0Ew5L4MeQQhZo9iEAAMuaRgkrRhBzt4iwCl2U0zSSABMC2GtYwCUYQqB0hAADuhDZqlDL0PaZXGNmK2FBN03GCSADM23zgw+3AJZ52AYY11Lbd90RI961MAALO9gNGMD41rc9TAAKxQ7t+2HSdZ0Xf9N1GHdNUOPDs1MAAbFDn32oQ32Y39V043jq1PUTjAAOxQ8t+OgwjjAABwo3tFPo6dv2XQDiz0w9hMkgAnGT9BfT9WO09D4sg5LTC0dGbPGLDBOM3N82LajAtHULiui0DHNq4wtFbYt5OUwrNPm7jOuc0ztFvYt7MM2D1uQ4b-MHSb1Mi3TrtW7RyN23LFNU8L2PK+Hevq6TXva0p2YsEAA)) + - if a stable solution is possible, PRs are welcome! \ No newline at end of file diff --git a/src/CodegenWithNumRoutes.ts b/src/CodegenWithNumRoutes.ts deleted file mode 100644 index ffb6814..0000000 --- a/src/CodegenWithNumRoutes.ts +++ /dev/null @@ -1,92 +0,0 @@ -import * as A from 'fp-ts/lib/Array'; -import * as M from 'fp-ts/lib/Monoid'; - -const uppercase = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] -const lowercase = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']; - -const alphabetIndex = ( - index: number, - alphabet: string[], -) => M.fold(M.monoidString)( - A.range(0, Math.floor(index / 26)) - .map(() => alphabet[index % 26]) -); - -export const codegenWithNumRoutes = (numRoutes: number): string => { - if (numRoutes <= 0) return 'numRoutes must be higher than 0' - const forEachRoute = ( - indexToString: (index: number) => string, - separator?: string, - finalRouteIndex = numRoutes - 1, - ) => M.fold(M.monoidString)( - A.range(0, separator !== undefined - ? finalRouteIndex - 1 - : finalRouteIndex - ) - .map(index => indexToString(index) + ( - separator != null - ? separator - : '' - )) - ) + ( - separator != null - ? indexToString(finalRouteIndex) - : '' - ); - - const adtType = '{ type: \'NotFound\' } | \n' - + forEachRoute( - (index) => `${alphabetIndex(index, uppercase)} & { type: ${alphabetIndex(index, uppercase)}Key }`, - ' | ', - ); - const safeAdtType = '{ type: \'NotFound\' } | \n' - + forEachRoute( - (index) => `{ type: ${alphabetIndex(index, uppercase)}Key }`, - ' | ', - ); - - const matchTypes = forEachRoute((index) => ` ${alphabetIndex(index, uppercase)},\n`); - const keyTypes = forEachRoute((index) => ` ${alphabetIndex(index, uppercase)}Key extends string,\n`); - const tupleParams = forEachRoute( - (index) => ` [${alphabetIndex(index, lowercase)}Key, ${alphabetIndex(index, lowercase)}Match]: [${alphabetIndex(index, uppercase)}Key, R.Match<${alphabetIndex(index, uppercase)}>],\n` - ); - const adtKeyVals = forEachRoute( - (index) => ` [${alphabetIndex(index, lowercase)}Key]: ofType<${alphabetIndex(index, uppercase)} & { type: ${alphabetIndex(index, uppercase)}Key }>(),\n` - ); - const parserAlts = forEachRoute( - (index) => ` .alt(${alphabetIndex(index, lowercase)}Match.parser.map(${alphabetIndex(index, lowercase)} => ({ type: ${alphabetIndex(index, lowercase)}Key as ${alphabetIndex(index, uppercase)}Key, ...${alphabetIndex(index, lowercase)} })))\n` - ); - const formatterPredicates = forEachRoute( - (index) => ` if (adt.type === ${alphabetIndex(index, lowercase)}Key) {\n` - + ` return R.format(${alphabetIndex(index, lowercase)}Match.formatter, adt as ${alphabetIndex(index, uppercase)});\n` - + ' }\n', - undefined, - numRoutes - 2, - ) + ` return R.format(${alphabetIndex(numRoutes - 1, lowercase)}Match.formatter, adt as ${alphabetIndex(numRoutes - 1, uppercase)});\n`; - return 'import * as R from \'fp-ts-routing\';\n' - + `export const routingFromMatches${numRoutes} = <\n` - + matchTypes - + keyTypes - + '>(\n' - + tupleParams - + '): {\n' - + ` parse: (path: string) => ${adtType}\n` - + ` format: (adt: ${adtType}) => string;\n` - + '} => {\n' - + ` type RouteAdt = ${adtType}\n` - + ' const parser = R.zero()\n' - + parserAlts - + ' const format = (\n' - + ' adt: RouteAdt\n' - + ' ): string => {\n' - + ' if (adt.type === \'NotFound\') {\n' - + ' return R.format(R.end.formatter, {});\n' - + ' }\n' - + formatterPredicates - + ' }\n' - + ' return {\n' - + ' parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: \'NotFound\' }),\n' - + ' format,\n' - + ' };\n' - + '};'; -}; diff --git a/src/RoutingFromMatches1.ts b/src/RoutingFromMatches1.ts deleted file mode 100644 index 7fda38f..0000000 --- a/src/RoutingFromMatches1.ts +++ /dev/null @@ -1,29 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches1 = < - A, - AKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - return R.format(aMatch.formatter, adt as A); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches10.ts b/src/RoutingFromMatches10.ts deleted file mode 100644 index 15bd0db..0000000 --- a/src/RoutingFromMatches10.ts +++ /dev/null @@ -1,92 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches10 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - return R.format(jMatch.formatter, adt as J); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches11.ts b/src/RoutingFromMatches11.ts deleted file mode 100644 index 99b3f8e..0000000 --- a/src/RoutingFromMatches11.ts +++ /dev/null @@ -1,99 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches11 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - return R.format(kMatch.formatter, adt as K); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches12.ts b/src/RoutingFromMatches12.ts deleted file mode 100644 index 5b045ef..0000000 --- a/src/RoutingFromMatches12.ts +++ /dev/null @@ -1,106 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches12 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - return R.format(lMatch.formatter, adt as L); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches13.ts b/src/RoutingFromMatches13.ts deleted file mode 100644 index 8a590ad..0000000 --- a/src/RoutingFromMatches13.ts +++ /dev/null @@ -1,113 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches13 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - return R.format(mMatch.formatter, adt as M); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches14.ts b/src/RoutingFromMatches14.ts deleted file mode 100644 index dbd7134..0000000 --- a/src/RoutingFromMatches14.ts +++ /dev/null @@ -1,120 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches14 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - return R.format(nMatch.formatter, adt as N); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches15.ts b/src/RoutingFromMatches15.ts deleted file mode 100644 index a2908a2..0000000 --- a/src/RoutingFromMatches15.ts +++ /dev/null @@ -1,127 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches15 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - return R.format(oMatch.formatter, adt as O); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches16.ts b/src/RoutingFromMatches16.ts deleted file mode 100644 index d3cb4f8..0000000 --- a/src/RoutingFromMatches16.ts +++ /dev/null @@ -1,134 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches16 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - return R.format(qMatch.formatter, adt as Q); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches18.ts b/src/RoutingFromMatches18.ts deleted file mode 100644 index 747910d..0000000 --- a/src/RoutingFromMatches18.ts +++ /dev/null @@ -1,148 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches18 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - return R.format(rMatch.formatter, adt as R); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches19.ts b/src/RoutingFromMatches19.ts deleted file mode 100644 index aa2ac2d..0000000 --- a/src/RoutingFromMatches19.ts +++ /dev/null @@ -1,155 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches19 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - return R.format(sMatch.formatter, adt as S); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches2.ts b/src/RoutingFromMatches2.ts deleted file mode 100644 index 3b12c48..0000000 --- a/src/RoutingFromMatches2.ts +++ /dev/null @@ -1,36 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches2 = < - A, - B, - AKey extends string, - BKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - return R.format(bMatch.formatter, adt as B); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches20.ts b/src/RoutingFromMatches20.ts deleted file mode 100644 index 32dc8f4..0000000 --- a/src/RoutingFromMatches20.ts +++ /dev/null @@ -1,162 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches20 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - return R.format(tMatch.formatter, adt as T); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches21.ts b/src/RoutingFromMatches21.ts deleted file mode 100644 index 0900127..0000000 --- a/src/RoutingFromMatches21.ts +++ /dev/null @@ -1,169 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches21 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - return R.format(uMatch.formatter, adt as U); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches22.ts b/src/RoutingFromMatches22.ts deleted file mode 100644 index 21199ee..0000000 --- a/src/RoutingFromMatches22.ts +++ /dev/null @@ -1,176 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches22 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - return R.format(vMatch.formatter, adt as V); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches23.ts b/src/RoutingFromMatches23.ts deleted file mode 100644 index b00f821..0000000 --- a/src/RoutingFromMatches23.ts +++ /dev/null @@ -1,183 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches23 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - return R.format(wMatch.formatter, adt as W); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches24.ts b/src/RoutingFromMatches24.ts deleted file mode 100644 index 1b568b3..0000000 --- a/src/RoutingFromMatches24.ts +++ /dev/null @@ -1,190 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches24 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - return R.format(xMatch.formatter, adt as X); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches25.ts b/src/RoutingFromMatches25.ts deleted file mode 100644 index 6dd5e38..0000000 --- a/src/RoutingFromMatches25.ts +++ /dev/null @@ -1,197 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches25 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - return R.format(yMatch.formatter, adt as Y); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches26.ts b/src/RoutingFromMatches26.ts deleted file mode 100644 index b937b25..0000000 --- a/src/RoutingFromMatches26.ts +++ /dev/null @@ -1,204 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches26 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - return R.format(zMatch.formatter, adt as Z); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches27.ts b/src/RoutingFromMatches27.ts deleted file mode 100644 index 49d425c..0000000 --- a/src/RoutingFromMatches27.ts +++ /dev/null @@ -1,211 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches27 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - return R.format(aaMatch.formatter, adt as AA); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches28.ts b/src/RoutingFromMatches28.ts deleted file mode 100644 index f878eb2..0000000 --- a/src/RoutingFromMatches28.ts +++ /dev/null @@ -1,218 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches28 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - return R.format(bbMatch.formatter, adt as BB); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches29.ts b/src/RoutingFromMatches29.ts deleted file mode 100644 index dd1b255..0000000 --- a/src/RoutingFromMatches29.ts +++ /dev/null @@ -1,225 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches29 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - return R.format(ccMatch.formatter, adt as CC); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches3.ts b/src/RoutingFromMatches3.ts deleted file mode 100644 index ff116ca..0000000 --- a/src/RoutingFromMatches3.ts +++ /dev/null @@ -1,43 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches3 = < - A, - B, - C, - AKey extends string, - BKey extends string, - CKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - return R.format(cMatch.formatter, adt as C); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches30.ts b/src/RoutingFromMatches30.ts deleted file mode 100644 index f8d2a00..0000000 --- a/src/RoutingFromMatches30.ts +++ /dev/null @@ -1,232 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches30 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - return R.format(ddMatch.formatter, adt as DD); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches31.ts b/src/RoutingFromMatches31.ts deleted file mode 100644 index 3787146..0000000 --- a/src/RoutingFromMatches31.ts +++ /dev/null @@ -1,239 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches31 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - return R.format(eeMatch.formatter, adt as EE); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches32.ts b/src/RoutingFromMatches32.ts deleted file mode 100644 index 60825c2..0000000 --- a/src/RoutingFromMatches32.ts +++ /dev/null @@ -1,246 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches32 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - return R.format(ffMatch.formatter, adt as FF); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches33.ts b/src/RoutingFromMatches33.ts deleted file mode 100644 index e439f19..0000000 --- a/src/RoutingFromMatches33.ts +++ /dev/null @@ -1,253 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches33 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - return R.format(ggMatch.formatter, adt as GG); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches34.ts b/src/RoutingFromMatches34.ts deleted file mode 100644 index 8c90e46..0000000 --- a/src/RoutingFromMatches34.ts +++ /dev/null @@ -1,260 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches34 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - return R.format(hhMatch.formatter, adt as HH); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches35.ts b/src/RoutingFromMatches35.ts deleted file mode 100644 index 0f7561e..0000000 --- a/src/RoutingFromMatches35.ts +++ /dev/null @@ -1,267 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches35 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - return R.format(iiMatch.formatter, adt as II); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches36.ts b/src/RoutingFromMatches36.ts deleted file mode 100644 index 2f56fd9..0000000 --- a/src/RoutingFromMatches36.ts +++ /dev/null @@ -1,274 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches36 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - return R.format(jjMatch.formatter, adt as JJ); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches37.ts b/src/RoutingFromMatches37.ts deleted file mode 100644 index 7c12627..0000000 --- a/src/RoutingFromMatches37.ts +++ /dev/null @@ -1,281 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches37 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - return R.format(kkMatch.formatter, adt as KK); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches38.ts b/src/RoutingFromMatches38.ts deleted file mode 100644 index d1cba8f..0000000 --- a/src/RoutingFromMatches38.ts +++ /dev/null @@ -1,288 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches38 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - return R.format(llMatch.formatter, adt as LL); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches39.ts b/src/RoutingFromMatches39.ts deleted file mode 100644 index 0baeefe..0000000 --- a/src/RoutingFromMatches39.ts +++ /dev/null @@ -1,295 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches39 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - return R.format(mmMatch.formatter, adt as MM); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches4.ts b/src/RoutingFromMatches4.ts deleted file mode 100644 index 4c2c997..0000000 --- a/src/RoutingFromMatches4.ts +++ /dev/null @@ -1,50 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches4 = < - A, - B, - C, - D, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - return R.format(dMatch.formatter, adt as D); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches40.ts b/src/RoutingFromMatches40.ts deleted file mode 100644 index 6e78e5e..0000000 --- a/src/RoutingFromMatches40.ts +++ /dev/null @@ -1,302 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches40 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - return R.format(nnMatch.formatter, adt as NN); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches41.ts b/src/RoutingFromMatches41.ts deleted file mode 100644 index 0f6e9fa..0000000 --- a/src/RoutingFromMatches41.ts +++ /dev/null @@ -1,309 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches41 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - return R.format(ooMatch.formatter, adt as OO); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches42.ts b/src/RoutingFromMatches42.ts deleted file mode 100644 index 65f5cf6..0000000 --- a/src/RoutingFromMatches42.ts +++ /dev/null @@ -1,316 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches42 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - return R.format(ppMatch.formatter, adt as PP); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches43.ts b/src/RoutingFromMatches43.ts deleted file mode 100644 index 3dc025f..0000000 --- a/src/RoutingFromMatches43.ts +++ /dev/null @@ -1,323 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches43 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - return R.format(qqMatch.formatter, adt as QQ); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches44.ts b/src/RoutingFromMatches44.ts deleted file mode 100644 index 3537c1c..0000000 --- a/src/RoutingFromMatches44.ts +++ /dev/null @@ -1,330 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches44 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - return R.format(rrMatch.formatter, adt as RR); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches45.ts b/src/RoutingFromMatches45.ts deleted file mode 100644 index 239980b..0000000 --- a/src/RoutingFromMatches45.ts +++ /dev/null @@ -1,337 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches45 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - return R.format(ssMatch.formatter, adt as SS); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches46.ts b/src/RoutingFromMatches46.ts deleted file mode 100644 index e270fe1..0000000 --- a/src/RoutingFromMatches46.ts +++ /dev/null @@ -1,344 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches46 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - TT, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, - TTKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], - [ttKey, ttMatch]: [TTKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - .alt(ttMatch.parser.map(tt => ({ type: ttKey as TTKey, ...tt }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - if (adt.type === ssKey) { - return R.format(ssMatch.formatter, adt as SS); - } - return R.format(ttMatch.formatter, adt as TT); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches47.ts b/src/RoutingFromMatches47.ts deleted file mode 100644 index b26b615..0000000 --- a/src/RoutingFromMatches47.ts +++ /dev/null @@ -1,351 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches47 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - TT, - UU, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, - TTKey extends string, - UUKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], - [ttKey, ttMatch]: [TTKey, R.Match], - [uuKey, uuMatch]: [UUKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - .alt(ttMatch.parser.map(tt => ({ type: ttKey as TTKey, ...tt }))) - .alt(uuMatch.parser.map(uu => ({ type: uuKey as UUKey, ...uu }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - if (adt.type === ssKey) { - return R.format(ssMatch.formatter, adt as SS); - } - if (adt.type === ttKey) { - return R.format(ttMatch.formatter, adt as TT); - } - return R.format(uuMatch.formatter, adt as UU); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches48.ts b/src/RoutingFromMatches48.ts deleted file mode 100644 index b7f88d3..0000000 --- a/src/RoutingFromMatches48.ts +++ /dev/null @@ -1,358 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches48 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - TT, - UU, - VV, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, - TTKey extends string, - UUKey extends string, - VVKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], - [ttKey, ttMatch]: [TTKey, R.Match], - [uuKey, uuMatch]: [UUKey, R.Match], - [vvKey, vvMatch]: [VVKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - .alt(ttMatch.parser.map(tt => ({ type: ttKey as TTKey, ...tt }))) - .alt(uuMatch.parser.map(uu => ({ type: uuKey as UUKey, ...uu }))) - .alt(vvMatch.parser.map(vv => ({ type: vvKey as VVKey, ...vv }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - if (adt.type === ssKey) { - return R.format(ssMatch.formatter, adt as SS); - } - if (adt.type === ttKey) { - return R.format(ttMatch.formatter, adt as TT); - } - if (adt.type === uuKey) { - return R.format(uuMatch.formatter, adt as UU); - } - return R.format(vvMatch.formatter, adt as VV); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches49.ts b/src/RoutingFromMatches49.ts deleted file mode 100644 index 4897901..0000000 --- a/src/RoutingFromMatches49.ts +++ /dev/null @@ -1,365 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches49 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - TT, - UU, - VV, - WW, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, - TTKey extends string, - UUKey extends string, - VVKey extends string, - WWKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], - [ttKey, ttMatch]: [TTKey, R.Match], - [uuKey, uuMatch]: [UUKey, R.Match], - [vvKey, vvMatch]: [VVKey, R.Match], - [wwKey, wwMatch]: [WWKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - .alt(ttMatch.parser.map(tt => ({ type: ttKey as TTKey, ...tt }))) - .alt(uuMatch.parser.map(uu => ({ type: uuKey as UUKey, ...uu }))) - .alt(vvMatch.parser.map(vv => ({ type: vvKey as VVKey, ...vv }))) - .alt(wwMatch.parser.map(ww => ({ type: wwKey as WWKey, ...ww }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - if (adt.type === ssKey) { - return R.format(ssMatch.formatter, adt as SS); - } - if (adt.type === ttKey) { - return R.format(ttMatch.formatter, adt as TT); - } - if (adt.type === uuKey) { - return R.format(uuMatch.formatter, adt as UU); - } - if (adt.type === vvKey) { - return R.format(vvMatch.formatter, adt as VV); - } - return R.format(wwMatch.formatter, adt as WW); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches5.ts b/src/RoutingFromMatches5.ts deleted file mode 100644 index dc71a31..0000000 --- a/src/RoutingFromMatches5.ts +++ /dev/null @@ -1,57 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches5 = < - A, - B, - C, - D, - E, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - return R.format(eMatch.formatter, adt as E); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches50.ts b/src/RoutingFromMatches50.ts deleted file mode 100644 index 5bef7d0..0000000 --- a/src/RoutingFromMatches50.ts +++ /dev/null @@ -1,372 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches50 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - R, - S, - T, - U, - V, - W, - X, - Y, - Z, - AA, - BB, - CC, - DD, - EE, - FF, - GG, - HH, - II, - JJ, - KK, - LL, - MM, - NN, - OO, - PP, - QQ, - RR, - SS, - TT, - UU, - VV, - WW, - XX, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, - RKey extends string, - SKey extends string, - TKey extends string, - UKey extends string, - VKey extends string, - WKey extends string, - XKey extends string, - YKey extends string, - ZKey extends string, - AAKey extends string, - BBKey extends string, - CCKey extends string, - DDKey extends string, - EEKey extends string, - FFKey extends string, - GGKey extends string, - HHKey extends string, - IIKey extends string, - JJKey extends string, - KKKey extends string, - LLKey extends string, - MMKey extends string, - NNKey extends string, - OOKey extends string, - PPKey extends string, - QQKey extends string, - RRKey extends string, - SSKey extends string, - TTKey extends string, - UUKey extends string, - VVKey extends string, - WWKey extends string, - XXKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match

], - [qKey, qMatch]: [QKey, R.Match], - [rKey, rMatch]: [RKey, R.Match], - [sKey, sMatch]: [SKey, R.Match], - [tKey, tMatch]: [TKey, R.Match], - [uKey, uMatch]: [UKey, R.Match], - [vKey, vMatch]: [VKey, R.Match], - [wKey, wMatch]: [WKey, R.Match], - [xKey, xMatch]: [XKey, R.Match], - [yKey, yMatch]: [YKey, R.Match], - [zKey, zMatch]: [ZKey, R.Match], - [aaKey, aaMatch]: [AAKey, R.Match], - [bbKey, bbMatch]: [BBKey, R.Match], - [ccKey, ccMatch]: [CCKey, R.Match], - [ddKey, ddMatch]: [DDKey, R.Match

], - [eeKey, eeMatch]: [EEKey, R.Match], - [ffKey, ffMatch]: [FFKey, R.Match], - [ggKey, ggMatch]: [GGKey, R.Match], - [hhKey, hhMatch]: [HHKey, R.Match], - [iiKey, iiMatch]: [IIKey, R.Match], - [jjKey, jjMatch]: [JJKey, R.Match], - [kkKey, kkMatch]: [KKKey, R.Match], - [llKey, llMatch]: [LLKey, R.Match], - [mmKey, mmMatch]: [MMKey, R.Match], - [nnKey, nnMatch]: [NNKey, R.Match], - [ooKey, ooMatch]: [OOKey, R.Match], - [ppKey, ppMatch]: [PPKey, R.Match], - [qqKey, qqMatch]: [QQKey, R.Match], - [rrKey, rrMatch]: [RRKey, R.Match], - [ssKey, ssMatch]: [SSKey, R.Match], - [ttKey, ttMatch]: [TTKey, R.Match], - [uuKey, uuMatch]: [UUKey, R.Match], - [vvKey, vvMatch]: [VVKey, R.Match], - [wwKey, wwMatch]: [WWKey, R.Match], - [xxKey, xxMatch]: [XXKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey } | XX & { type: XXKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey } | XX & { type: XXKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } | Q & { type: QKey } | R & { type: RKey } | S & { type: SKey } | T & { type: TKey } | U & { type: UKey } | V & { type: VKey } | W & { type: WKey } | X & { type: XKey } | Y & { type: YKey } | Z & { type: ZKey } | AA & { type: AAKey } | BB & { type: BBKey } | CC & { type: CCKey } | DD & { type: DDKey } | EE & { type: EEKey } | FF & { type: FFKey } | GG & { type: GGKey } | HH & { type: HHKey } | II & { type: IIKey } | JJ & { type: JJKey } | KK & { type: KKKey } | LL & { type: LLKey } | MM & { type: MMKey } | NN & { type: NNKey } | OO & { type: OOKey } | PP & { type: PPKey } | QQ & { type: QQKey } | RR & { type: RRKey } | SS & { type: SSKey } | TT & { type: TTKey } | UU & { type: UUKey } | VV & { type: VVKey } | WW & { type: WWKey } | XX & { type: XXKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - .alt(qMatch.parser.map(q => ({ type: qKey as QKey, ...q }))) - .alt(rMatch.parser.map(r => ({ type: rKey as RKey, ...r }))) - .alt(sMatch.parser.map(s => ({ type: sKey as SKey, ...s }))) - .alt(tMatch.parser.map(t => ({ type: tKey as TKey, ...t }))) - .alt(uMatch.parser.map(u => ({ type: uKey as UKey, ...u }))) - .alt(vMatch.parser.map(v => ({ type: vKey as VKey, ...v }))) - .alt(wMatch.parser.map(w => ({ type: wKey as WKey, ...w }))) - .alt(xMatch.parser.map(x => ({ type: xKey as XKey, ...x }))) - .alt(yMatch.parser.map(y => ({ type: yKey as YKey, ...y }))) - .alt(zMatch.parser.map(z => ({ type: zKey as ZKey, ...z }))) - .alt(aaMatch.parser.map(aa => ({ type: aaKey as AAKey, ...aa }))) - .alt(bbMatch.parser.map(bb => ({ type: bbKey as BBKey, ...bb }))) - .alt(ccMatch.parser.map(cc => ({ type: ccKey as CCKey, ...cc }))) - .alt(ddMatch.parser.map(dd => ({ type: ddKey as DDKey, ...dd }))) - .alt(eeMatch.parser.map(ee => ({ type: eeKey as EEKey, ...ee }))) - .alt(ffMatch.parser.map(ff => ({ type: ffKey as FFKey, ...ff }))) - .alt(ggMatch.parser.map(gg => ({ type: ggKey as GGKey, ...gg }))) - .alt(hhMatch.parser.map(hh => ({ type: hhKey as HHKey, ...hh }))) - .alt(iiMatch.parser.map(ii => ({ type: iiKey as IIKey, ...ii }))) - .alt(jjMatch.parser.map(jj => ({ type: jjKey as JJKey, ...jj }))) - .alt(kkMatch.parser.map(kk => ({ type: kkKey as KKKey, ...kk }))) - .alt(llMatch.parser.map(ll => ({ type: llKey as LLKey, ...ll }))) - .alt(mmMatch.parser.map(mm => ({ type: mmKey as MMKey, ...mm }))) - .alt(nnMatch.parser.map(nn => ({ type: nnKey as NNKey, ...nn }))) - .alt(ooMatch.parser.map(oo => ({ type: ooKey as OOKey, ...oo }))) - .alt(ppMatch.parser.map(pp => ({ type: ppKey as PPKey, ...pp }))) - .alt(qqMatch.parser.map(qq => ({ type: qqKey as QQKey, ...qq }))) - .alt(rrMatch.parser.map(rr => ({ type: rrKey as RRKey, ...rr }))) - .alt(ssMatch.parser.map(ss => ({ type: ssKey as SSKey, ...ss }))) - .alt(ttMatch.parser.map(tt => ({ type: ttKey as TTKey, ...tt }))) - .alt(uuMatch.parser.map(uu => ({ type: uuKey as UUKey, ...uu }))) - .alt(vvMatch.parser.map(vv => ({ type: vvKey as VVKey, ...vv }))) - .alt(wwMatch.parser.map(ww => ({ type: wwKey as WWKey, ...ww }))) - .alt(xxMatch.parser.map(xx => ({ type: xxKey as XXKey, ...xx }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - if (adt.type === pKey) { - return R.format(pMatch.formatter, adt as P); - } - if (adt.type === qKey) { - return R.format(qMatch.formatter, adt as Q); - } - if (adt.type === rKey) { - return R.format(rMatch.formatter, adt as R); - } - if (adt.type === sKey) { - return R.format(sMatch.formatter, adt as S); - } - if (adt.type === tKey) { - return R.format(tMatch.formatter, adt as T); - } - if (adt.type === uKey) { - return R.format(uMatch.formatter, adt as U); - } - if (adt.type === vKey) { - return R.format(vMatch.formatter, adt as V); - } - if (adt.type === wKey) { - return R.format(wMatch.formatter, adt as W); - } - if (adt.type === xKey) { - return R.format(xMatch.formatter, adt as X); - } - if (adt.type === yKey) { - return R.format(yMatch.formatter, adt as Y); - } - if (adt.type === zKey) { - return R.format(zMatch.formatter, adt as Z); - } - if (adt.type === aaKey) { - return R.format(aaMatch.formatter, adt as AA); - } - if (adt.type === bbKey) { - return R.format(bbMatch.formatter, adt as BB); - } - if (adt.type === ccKey) { - return R.format(ccMatch.formatter, adt as CC); - } - if (adt.type === ddKey) { - return R.format(ddMatch.formatter, adt as DD); - } - if (adt.type === eeKey) { - return R.format(eeMatch.formatter, adt as EE); - } - if (adt.type === ffKey) { - return R.format(ffMatch.formatter, adt as FF); - } - if (adt.type === ggKey) { - return R.format(ggMatch.formatter, adt as GG); - } - if (adt.type === hhKey) { - return R.format(hhMatch.formatter, adt as HH); - } - if (adt.type === iiKey) { - return R.format(iiMatch.formatter, adt as II); - } - if (adt.type === jjKey) { - return R.format(jjMatch.formatter, adt as JJ); - } - if (adt.type === kkKey) { - return R.format(kkMatch.formatter, adt as KK); - } - if (adt.type === llKey) { - return R.format(llMatch.formatter, adt as LL); - } - if (adt.type === mmKey) { - return R.format(mmMatch.formatter, adt as MM); - } - if (adt.type === nnKey) { - return R.format(nnMatch.formatter, adt as NN); - } - if (adt.type === ooKey) { - return R.format(ooMatch.formatter, adt as OO); - } - if (adt.type === ppKey) { - return R.format(ppMatch.formatter, adt as PP); - } - if (adt.type === qqKey) { - return R.format(qqMatch.formatter, adt as QQ); - } - if (adt.type === rrKey) { - return R.format(rrMatch.formatter, adt as RR); - } - if (adt.type === ssKey) { - return R.format(ssMatch.formatter, adt as SS); - } - if (adt.type === ttKey) { - return R.format(ttMatch.formatter, adt as TT); - } - if (adt.type === uuKey) { - return R.format(uuMatch.formatter, adt as UU); - } - if (adt.type === vvKey) { - return R.format(vvMatch.formatter, adt as VV); - } - if (adt.type === wwKey) { - return R.format(wwMatch.formatter, adt as WW); - } - return R.format(xxMatch.formatter, adt as XX); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches6.ts b/src/RoutingFromMatches6.ts deleted file mode 100644 index 5a6da24..0000000 --- a/src/RoutingFromMatches6.ts +++ /dev/null @@ -1,64 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches6 = < - A, - B, - C, - D, - E, - F, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - return R.format(fMatch.formatter, adt as F); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches7.ts b/src/RoutingFromMatches7.ts deleted file mode 100644 index 77b8400..0000000 --- a/src/RoutingFromMatches7.ts +++ /dev/null @@ -1,71 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches7 = < - A, - B, - C, - D, - E, - F, - G, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - return R.format(gMatch.formatter, adt as G); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches8.ts b/src/RoutingFromMatches8.ts deleted file mode 100644 index 53af118..0000000 --- a/src/RoutingFromMatches8.ts +++ /dev/null @@ -1,78 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches8 = < - A, - B, - C, - D, - E, - F, - G, - H, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - return R.format(hMatch.formatter, adt as H); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches9.ts b/src/RoutingFromMatches9.ts deleted file mode 100644 index 298b1c7..0000000 --- a/src/RoutingFromMatches9.ts +++ /dev/null @@ -1,85 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches9 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - return R.format(iMatch.formatter, adt as I); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RunCodegen.ts b/src/RunCodegen.ts deleted file mode 100644 index 31989a9..0000000 --- a/src/RunCodegen.ts +++ /dev/null @@ -1,53 +0,0 @@ -import * as A from 'fp-ts/lib/Array'; -import * as M from 'fp-ts/lib/Monoid'; -import * as fs from 'fs'; -import { codegenWithNumRoutes } from './CodegenWithNumRoutes'; - -const indexFileWithNumFiles = ( - firstFileNum: number, - lastFileNum: number, -) => { - const forEachRoute = ( - indexToString: (routeIndex: number) => string, - ) => M.fold(M.monoidString)( - A.range(firstFileNum, lastFileNum - 1) - .map(indexToString) - ) - return 'import { codegenWithNumRoutes } from \'./CodegenWithNumRoutes\'\n' - + forEachRoute( - index => `import { routingFromMatches${index} } from './RoutingFromMatches${index}';\n` - ) + '\n' - + `export {\n` - + ' codegenWithNumRoutes,\n' - + forEachRoute(index => ` routingFromMatches${index},\n`) - + '};\n'; -}; - -const firstFile = 1 -const lastFile = 50 - -A.range(firstFile, lastFile).forEach(numRoutes => { - fs.writeFile( - `src/RoutingFromMatches${numRoutes}.ts`, - codegenWithNumRoutes(numRoutes), - (err) => { - // throws an error, you could also catch it here - if (err) throw err; - - // success case, the file was saved - console.log(`RoutingFromMatches${numRoutes}.ts`); - } - ); -}) -fs.writeFile( - `src/index.ts`, - indexFileWithNumFiles(firstFile, lastFile), - (err) => { - // throws an error, you could also catch it here - if (err) throw err; - - // success case, the file was saved - console.log('Index File saved!'); - } -); - diff --git a/src/index.ts b/src/index.ts index 78a2075..d296a3a 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,103 +1,27 @@ -import { codegenWithNumRoutes } from './CodegenWithNumRoutes' -import { routingFromMatches1 } from './RoutingFromMatches1'; -import { routingFromMatches2 } from './RoutingFromMatches2'; -import { routingFromMatches3 } from './RoutingFromMatches3'; -import { routingFromMatches4 } from './RoutingFromMatches4'; -import { routingFromMatches5 } from './RoutingFromMatches5'; -import { routingFromMatches6 } from './RoutingFromMatches6'; -import { routingFromMatches7 } from './RoutingFromMatches7'; -import { routingFromMatches8 } from './RoutingFromMatches8'; -import { routingFromMatches9 } from './RoutingFromMatches9'; -import { routingFromMatches10 } from './RoutingFromMatches10'; -import { routingFromMatches11 } from './RoutingFromMatches11'; -import { routingFromMatches12 } from './RoutingFromMatches12'; -import { routingFromMatches13 } from './RoutingFromMatches13'; -import { routingFromMatches14 } from './RoutingFromMatches14'; -import { routingFromMatches15 } from './RoutingFromMatches15'; -import { routingFromMatches16 } from './RoutingFromMatches16'; -import { routingFromMatches17 } from './RoutingFromMatches17'; -import { routingFromMatches18 } from './RoutingFromMatches18'; -import { routingFromMatches19 } from './RoutingFromMatches19'; -import { routingFromMatches20 } from './RoutingFromMatches20'; -import { routingFromMatches21 } from './RoutingFromMatches21'; -import { routingFromMatches22 } from './RoutingFromMatches22'; -import { routingFromMatches23 } from './RoutingFromMatches23'; -import { routingFromMatches24 } from './RoutingFromMatches24'; -import { routingFromMatches25 } from './RoutingFromMatches25'; -import { routingFromMatches26 } from './RoutingFromMatches26'; -import { routingFromMatches27 } from './RoutingFromMatches27'; -import { routingFromMatches28 } from './RoutingFromMatches28'; -import { routingFromMatches29 } from './RoutingFromMatches29'; -import { routingFromMatches30 } from './RoutingFromMatches30'; -import { routingFromMatches31 } from './RoutingFromMatches31'; -import { routingFromMatches32 } from './RoutingFromMatches32'; -import { routingFromMatches33 } from './RoutingFromMatches33'; -import { routingFromMatches34 } from './RoutingFromMatches34'; -import { routingFromMatches35 } from './RoutingFromMatches35'; -import { routingFromMatches36 } from './RoutingFromMatches36'; -import { routingFromMatches37 } from './RoutingFromMatches37'; -import { routingFromMatches38 } from './RoutingFromMatches38'; -import { routingFromMatches39 } from './RoutingFromMatches39'; -import { routingFromMatches40 } from './RoutingFromMatches40'; -import { routingFromMatches41 } from './RoutingFromMatches41'; -import { routingFromMatches42 } from './RoutingFromMatches42'; -import { routingFromMatches43 } from './RoutingFromMatches43'; -import { routingFromMatches44 } from './RoutingFromMatches44'; -import { routingFromMatches45 } from './RoutingFromMatches45'; -import { routingFromMatches46 } from './RoutingFromMatches46'; -import { routingFromMatches47 } from './RoutingFromMatches47'; -import { routingFromMatches48 } from './RoutingFromMatches48'; -import { routingFromMatches49 } from './RoutingFromMatches49'; +import * as R from 'fp-ts-routing'; -export { - codegenWithNumRoutes, - routingFromMatches1, - routingFromMatches2, - routingFromMatches3, - routingFromMatches4, - routingFromMatches5, - routingFromMatches6, - routingFromMatches7, - routingFromMatches8, - routingFromMatches9, - routingFromMatches10, - routingFromMatches11, - routingFromMatches12, - routingFromMatches13, - routingFromMatches14, - routingFromMatches15, - routingFromMatches16, - routingFromMatches17, - routingFromMatches18, - routingFromMatches19, - routingFromMatches20, - routingFromMatches21, - routingFromMatches22, - routingFromMatches23, - routingFromMatches24, - routingFromMatches25, - routingFromMatches26, - routingFromMatches27, - routingFromMatches28, - routingFromMatches29, - routingFromMatches30, - routingFromMatches31, - routingFromMatches32, - routingFromMatches33, - routingFromMatches34, - routingFromMatches35, - routingFromMatches36, - routingFromMatches37, - routingFromMatches38, - routingFromMatches39, - routingFromMatches40, - routingFromMatches41, - routingFromMatches42, - routingFromMatches43, - routingFromMatches44, - routingFromMatches45, - routingFromMatches46, - routingFromMatches47, - routingFromMatches48, - routingFromMatches49, -}; +export function routingFromMatches< + Keys extends string[], + Pairs extends { [K in keyof Keys]: [Keys[K], R.Match] }, +>(...pairs: Pairs) { + type ADT = { type: 'NotFound' } | { + [K in keyof Pairs]: + Pairs[K] extends [infer Type, R.Match] + ? { type: Type } & Match + : never + }[number] + return { + parse: (path: string): ADT => R.parse( + pairs.reduce( + (acc, cur) => acc.alt(cur[1].parser.map(a => ({ type: cur[0], ...a }))), + R.zero(), + ), + R.Route.parse(path), + { type: 'NotFound' } as ADT + ), + format: (adt: ADT): string => R.format( + pairs.find(([key]) => adt.type === key)?.[1]?.formatter ?? R.end.formatter, + adt + ), + }; +} \ No newline at end of file diff --git a/tests/routingFromMatches.test.ts b/tests/routingFromMatches.test.ts index 265c8b3..8c6d57b 100644 --- a/tests/routingFromMatches.test.ts +++ b/tests/routingFromMatches.test.ts @@ -1,19 +1,13 @@ import * as assert from 'assert'; -import * as R from 'fp-ts-routing'; -import { routingFromMatches3 } from '../src/index'; +import * as Rou from 'fp-ts-routing'; +import { routingFromMatches } from '../src/index'; describe('Generated ADTs', () => { - const landing: R.Match<{}> = R.end - const show: R.Match<{}> = R.lit('show').then(R.end) - const id: R.Match<{ id: number }> = R.int('id').then(R.end) - const { - parse, - format, - } = routingFromMatches3( - ['Landing', landing], - ['Show', show], - ['Id', id], + const { parse, format } = routingFromMatches( + ['Landing', Rou.end], + ['Show', Rou.lit('show').then(Rou.end)], + ['Id', Rou.int('id').then(Rou.end)], ); type RouteADT = ReturnType diff --git a/yarn-error.log b/yarn-error.log index a021f9f..d129f0d 100644 --- a/yarn-error.log +++ b/yarn-error.log @@ -1,66 +1,67 @@ Arguments: - /Users/anthonygabriele/.nvm/versions/node/v13.6.0/bin/node /usr/local/Cellar/yarn/1.22.4/libexec/bin/yarn.js add matechs-effect + /usr/local/Cellar/node/15.7.0/bin/node /usr/local/Cellar/yarn/1.22.10/libexec/bin/yarn.js add 2.10.0-rc.4 PATH: - /Users/anthonygabriele/.rvm/gems/ruby-2.3.0/bin:/usr/local/opt/icu4c/sbin:/usr/local/opt/icu4c/bin:/Users/anthonygabriele/.nvm/versions/node/v13.6.0/bin:/usr/local/Cellar/php/7.2.5/bin:/Users/anthonygabriele/Library/Python/2.7/bin:/usr/local/Cellar/ant/1.10.1/bin:/Users/anthonygabriele/Library/Android/sdk/tools:/Users/anthonygabriele/Library/Android/sdk/platform-tools:/Users/anthonygabriele/Library/Android/sdk:/Users/anthonygabriele/Library/Android/sdk/ndk-bundle/:/Applications/Cocos/Cocos2d-x/cocos2d-x-3.14.1/templates:/Applications/Cocos/Cocos2d-x:/Applications/Cocos/Cocos2d-x/cocos2d-x-3.14.1/tools/cocos2d-console/bin:/Users/anthonygabriele/.rvm/gems/ruby-2.3.0/bin:/Users/anthonygabriele/.rvm/gems/ruby-2.3.0@global/bin:/Users/anthonygabriele/.rvm/rubies/ruby-2.3.0/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Library/Frameworks/Mono.framework/Versions/Current/Commands:/Users/anthonygabriele/.rvm/bin:/Users/anthonygabriele/.conscript/bin:/Users/anthonygabriele/Library/Android/sdk/tools:/Users/anthonygabriele/Library/Android/sdk/platform-tools:/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/bin + /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/Users/flipside-anthony/go-workspace/bin:/usr/local/opt/go/libexec/bin:/Users/flipside-anthony/go-workspace/bin:/usr/local/opt/go/libexec/bin Yarn version: - 1.22.4 + 1.22.10 Node version: - 13.6.0 + 15.7.0 Platform: darwin x64 Trace: - Error: https://registry.npmjs.org/matechs-effect: Not found - at Request.params.callback [as _callback] (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:66987:18) - at Request.self.callback (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:140748:22) - at Request.emit (events.js:321:20) - at Request. (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:141720:10) - at Request.emit (events.js:321:20) - at IncomingMessage. (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:141642:12) - at Object.onceWrapper (events.js:427:28) - at IncomingMessage.emit (events.js:333:22) - at endReadableNT (_stream_readable.js:1220:12) - at processTicksAndRejections (internal/process/task_queues.js:84:21) + Error: https://registry.yarnpkg.com/2.10.0-rc.4: Not found + at Request.params.callback [as _callback] (/usr/local/Cellar/yarn/1.22.10/libexec/lib/cli.js:66988:18) + at Request.self.callback (/usr/local/Cellar/yarn/1.22.10/libexec/lib/cli.js:140749:22) + at Request.emit (node:events:379:20) + at Request. (/usr/local/Cellar/yarn/1.22.10/libexec/lib/cli.js:141721:10) + at Request.emit (node:events:379:20) + at IncomingMessage. (/usr/local/Cellar/yarn/1.22.10/libexec/lib/cli.js:141643:12) + at Object.onceWrapper (node:events:485:28) + at IncomingMessage.emit (node:events:391:22) + at endReadableNT (node:internal/streams/readable:1307:12) + at processTicksAndRejections (node:internal/process/task_queues:81:21) npm manifest: { - "name": "react-fp-ts-router", - "version": "0.0.31", - "description": "Updates global state with a routing callback, and narrows global state type further down the component tree.", - "main": "lib/index.js", - "repository": "https://github.com/anthonyjoeseph/react-fp-ts-router", + "name": "fp-ts-routing-adt", + "version": "0.0.1", + "description": "Helper function that builds an fp-ts-routing parser and formatter from keyed Matches.", + "main": "dist/index.js", + "repository": "https://github.com/anthonyjoeseph/fp-ts-routing-adt", "author": "anthonygabriele ", "license": "MIT", "prepublish": "tsc", - "types": "./lib/index.d.ts", + "types": "./dist/index.d.ts", + "files": [ + "dist" + ], "peerDependencies": { - "@types/react": ">= 16.9.27", - "fp-ts": ">= 2.5.3", - "fp-ts-routing": ">= 0.5.3", - "io-ts": ">= 2.1.2", - "react": ">= 16.13.1" + "fp-ts-routing": ">= 0.5.4" }, "dependencies": { - "@types/history": "^4.7.5", - "@types/react": "^16.9.27", - "@types/redux": "^3.6.0", - "fp-ts": "^2.5.3", - "fp-ts-routing": "^0.5.3", - "history": "^4.10.1", - "io-ts": "^2.1.2", - "react": "^16.13.1", - "redux": "^4.0.5", - "rxjs": "^6.5.5" + "@types/node": "^14.14.30", + "fp-ts": "^2.9.5", + "fp-ts-routing": "^0.5.4", + "fp-ts-std": "^0.9.0", + "monocle-ts": "^2.3.9", + "ts-adt": "^2.0.2", + "typescript": "^4.1.5" }, "devDependencies": { - "@typescript-eslint/eslint-plugin": "^2.25.0", - "@typescript-eslint/parser": "^2.25.0", - "eslint": "^6.8.0", - "typescript": "^3.8.3" + "@types/jest": "^26.0.20", + "@typescript-eslint/eslint-plugin": "^4.15.1", + "@typescript-eslint/parser": "^4.15.1", + "assert": "^2.0.0", + "eslint": "^7.20.0", + "fs": "^0.0.1-security", + "io-ts": "^2.2.14", + "jest": "^26.6.3", + "ts-jest": "^26.5.1" } } @@ -72,137 +73,825 @@ Lockfile: # yarn lockfile v1 - "@babel/code-frame@^7.0.0": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e" - integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g== + "@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.1.tgz#d5481c5095daa1c57e16e54c6f9198443afb49ff" + integrity sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw== + dependencies: + "@babel/highlight" "^7.10.1" + + "@babel/core@^7.1.0", "@babel/core@^7.7.5": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.2.tgz#bd6786046668a925ac2bd2fd95b579b92a23b36a" + integrity sha512-KQmV9yguEjQsXqyOUGKjS4+3K8/DlOCE2pZcq4augdQmtTy5iv5EHtmMSJ7V4c1BIPjuwtZYqYLCq9Ga+hGBRQ== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/generator" "^7.10.2" + "@babel/helper-module-transforms" "^7.10.1" + "@babel/helpers" "^7.10.1" + "@babel/parser" "^7.10.2" + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.2" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.13" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + + "@babel/generator@^7.10.1", "@babel/generator@^7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.2.tgz#0fa5b5b2389db8bfdfcc3492b551ee20f5dd69a9" + integrity sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA== + dependencies: + "@babel/types" "^7.10.2" + jsesc "^2.5.1" + lodash "^4.17.13" + source-map "^0.5.0" + + "@babel/helper-function-name@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz#92bd63829bfc9215aca9d9defa85f56b539454f4" + integrity sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ== dependencies: - "@babel/highlight" "^7.8.3" + "@babel/helper-get-function-arity" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + + "@babel/helper-get-function-arity@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz#7303390a81ba7cb59613895a192b93850e373f7d" + integrity sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw== + dependencies: + "@babel/types" "^7.10.1" + + "@babel/helper-member-expression-to-functions@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz#432967fd7e12a4afef66c4687d4ca22bc0456f15" + integrity sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g== + dependencies: + "@babel/types" "^7.10.1" - "@babel/helper-validator-identifier@^7.9.0": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.0.tgz#ad53562a7fc29b3b9a91bbf7d10397fd146346ed" - integrity sha512-6G8bQKjOh+of4PV/ThDm/rRqlU7+IGoJuofpagU5GlEl29Vv0RGqqt86ZGRV8ZuSOY3o+8yXl5y782SMcG7SHw== + "@babel/helper-module-imports@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz#dd331bd45bccc566ce77004e9d05fe17add13876" + integrity sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg== + dependencies: + "@babel/types" "^7.10.1" - "@babel/highlight@^7.8.3": - version "7.9.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.9.0.tgz#4e9b45ccb82b79607271b2979ad82c7b68163079" - integrity sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ== + "@babel/helper-module-transforms@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz#24e2f08ee6832c60b157bb0936c86bef7210c622" + integrity sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg== + dependencies: + "@babel/helper-module-imports" "^7.10.1" + "@babel/helper-replace-supers" "^7.10.1" + "@babel/helper-simple-access" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + lodash "^4.17.13" + + "@babel/helper-optimise-call-expression@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz#b4a1f2561870ce1247ceddb02a3860fa96d72543" + integrity sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg== + dependencies: + "@babel/types" "^7.10.1" + + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.8.0": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz#ec5a5cf0eec925b66c60580328b122c01230a127" + integrity sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA== + + "@babel/helper-plugin-utils@^7.10.4": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" + integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== + + "@babel/helper-replace-supers@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz#ec6859d20c5d8087f6a2dc4e014db7228975f13d" + integrity sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.10.1" + "@babel/helper-optimise-call-expression" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + + "@babel/helper-simple-access@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz#08fb7e22ace9eb8326f7e3920a1c2052f13d851e" + integrity sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw== dependencies: - "@babel/helper-validator-identifier" "^7.9.0" + "@babel/template" "^7.10.1" + "@babel/types" "^7.10.1" + + "@babel/helper-split-export-declaration@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz#c6f4be1cbc15e3a868e4c64a17d5d31d754da35f" + integrity sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g== + dependencies: + "@babel/types" "^7.10.1" + + "@babel/helper-validator-identifier@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" + integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== + + "@babel/helper-validator-identifier@^7.12.11": + version "7.12.11" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" + integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== + + "@babel/helpers@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.1.tgz#a6827b7cb975c9d9cef5fd61d919f60d8844a973" + integrity sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw== + dependencies: + "@babel/template" "^7.10.1" + "@babel/traverse" "^7.10.1" + "@babel/types" "^7.10.1" + + "@babel/highlight@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.1.tgz#841d098ba613ba1a427a2b383d79e35552c38ae0" + integrity sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg== + dependencies: + "@babel/helper-validator-identifier" "^7.10.1" chalk "^2.0.0" js-tokens "^4.0.0" - "@babel/runtime@^7.1.2": - version "7.9.2" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" - integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== + "@babel/highlight@^7.10.4": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.12.13.tgz#8ab538393e00370b26271b01fa08f7f27f2e795c" + integrity sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + chalk "^2.0.0" + js-tokens "^4.0.0" + + "@babel/parser@^7.1.0", "@babel/parser@^7.10.1", "@babel/parser@^7.10.2": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.2.tgz#871807f10442b92ff97e4783b9b54f6a0ca812d0" + integrity sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ== + + "@babel/plugin-syntax-async-generators@^7.8.4": + version "7.8.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" + integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-bigint@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" + integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-class-properties@^7.8.3": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.10.1.tgz#d5bc0645913df5b17ad7eda0fa2308330bde34c5" + integrity sha512-Gf2Yx/iRs1JREDtVZ56OrjjgFHCaldpTnuy9BHla10qyVT3YkIIGEtoDWhyop0ksu1GvNjHIoYRBqm3zoR1jyQ== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + + "@babel/plugin-syntax-import-meta@^7.8.3": + version "7.10.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" + integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/plugin-syntax-json-strings@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" + integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.1.tgz#fffee77b4934ce77f3b427649ecdddbec1958550" + integrity sha512-XyHIFa9kdrgJS91CUH+ccPVTnJShr8nLGc5bG2IhGXv5p1Rd+8BleGE5yzIg2Nc1QZAdHDa0Qp4m6066OL96Iw== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + + "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" + integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-numeric-separator@^7.8.3": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz#25761ee7410bc8cf97327ba741ee94e4a61b7d99" + integrity sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg== + dependencies: + "@babel/helper-plugin-utils" "^7.10.1" + + "@babel/plugin-syntax-object-rest-spread@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" + integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-optional-catch-binding@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" + integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-optional-chaining@^7.8.3": + version "7.8.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" + integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + dependencies: + "@babel/helper-plugin-utils" "^7.8.0" + + "@babel/plugin-syntax-top-level-await@^7.8.3": + version "7.12.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz#dd6c0b357ac1bb142d98537450a319625d13d2a0" + integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== + dependencies: + "@babel/helper-plugin-utils" "^7.10.4" + + "@babel/template@^7.10.1", "@babel/template@^7.3.3": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.1.tgz#e167154a94cb5f14b28dc58f5356d2162f539811" + integrity sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/parser" "^7.10.1" + "@babel/types" "^7.10.1" + + "@babel/traverse@^7.1.0", "@babel/traverse@^7.10.1": + version "7.10.1" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.1.tgz#bbcef3031e4152a6c0b50147f4958df54ca0dd27" + integrity sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ== + dependencies: + "@babel/code-frame" "^7.10.1" + "@babel/generator" "^7.10.1" + "@babel/helper-function-name" "^7.10.1" + "@babel/helper-split-export-declaration" "^7.10.1" + "@babel/parser" "^7.10.1" + "@babel/types" "^7.10.1" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.13" + + "@babel/types@^7.0.0", "@babel/types@^7.10.1", "@babel/types@^7.10.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3": + version "7.10.2" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.2.tgz#30283be31cad0dbf6fb00bd40641ca0ea675172d" + integrity sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng== + dependencies: + "@babel/helper-validator-identifier" "^7.10.1" + lodash "^4.17.13" + to-fast-properties "^2.0.0" + + "@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + + "@cnakazawa/watch@^1.0.3": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" + integrity sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ== + dependencies: + exec-sh "^0.3.2" + minimist "^1.2.0" + + "@eslint/eslintrc@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.3.0.tgz#d736d6963d7003b6514e6324bec9c602ac340318" + integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== + dependencies: + ajv "^6.12.4" + debug "^4.1.1" + espree "^7.3.0" + globals "^12.1.0" + ignore "^4.0.6" + import-fresh "^3.2.1" + js-yaml "^3.13.1" + lodash "^4.17.20" + minimatch "^3.0.4" + strip-json-comments "^3.1.1" + + "@istanbuljs/load-nyc-config@^1.0.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" + integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== + dependencies: + camelcase "^5.3.1" + find-up "^4.1.0" + get-package-type "^0.1.0" + js-yaml "^3.13.1" + resolve-from "^5.0.0" + + "@istanbuljs/schema@^0.1.2": + version "0.1.2" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.2.tgz#26520bf09abe4a5644cd5414e37125a8954241dd" + integrity sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw== + + "@jest/console@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" + integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + jest-message-util "^26.6.2" + jest-util "^26.6.2" + slash "^3.0.0" + + "@jest/core@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" + integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/reporters" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-changed-files "^26.6.2" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-resolve-dependencies "^26.6.3" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + jest-watcher "^26.6.2" + micromatch "^4.0.2" + p-each-series "^2.1.0" + rimraf "^3.0.0" + slash "^3.0.0" + strip-ansi "^6.0.0" + + "@jest/environment@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" + integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== + dependencies: + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + + "@jest/fake-timers@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" + integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== + dependencies: + "@jest/types" "^26.6.2" + "@sinonjs/fake-timers" "^6.0.1" + "@types/node" "*" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-util "^26.6.2" + + "@jest/globals@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" + integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/types" "^26.6.2" + expect "^26.6.2" + + "@jest/reporters@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" + integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== + dependencies: + "@bcoe/v8-coverage" "^0.2.3" + "@jest/console" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.2" + graceful-fs "^4.2.4" + istanbul-lib-coverage "^3.0.0" + istanbul-lib-instrument "^4.0.3" + istanbul-lib-report "^3.0.0" + istanbul-lib-source-maps "^4.0.0" + istanbul-reports "^3.0.2" + jest-haste-map "^26.6.2" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + slash "^3.0.0" + source-map "^0.6.0" + string-length "^4.0.1" + terminal-link "^2.0.0" + v8-to-istanbul "^7.0.0" + optionalDependencies: + node-notifier "^8.0.0" + + "@jest/source-map@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" + integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== + dependencies: + callsites "^3.0.0" + graceful-fs "^4.2.4" + source-map "^0.6.0" + + "@jest/test-result@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" + integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/istanbul-lib-coverage" "^2.0.0" + collect-v8-coverage "^1.0.0" + + "@jest/test-sequencer@^26.6.3": + version "26.6.3" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" + integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== + dependencies: + "@jest/test-result" "^26.6.2" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-runner "^26.6.3" + jest-runtime "^26.6.3" + + "@jest/transform@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" + integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== + dependencies: + "@babel/core" "^7.1.0" + "@jest/types" "^26.6.2" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" + convert-source-map "^1.4.0" + fast-json-stable-stringify "^2.0.0" + graceful-fs "^4.2.4" + jest-haste-map "^26.6.2" + jest-regex-util "^26.0.0" + jest-util "^26.6.2" + micromatch "^4.0.2" + pirates "^4.0.1" + slash "^3.0.0" + source-map "^0.6.1" + write-file-atomic "^3.0.0" + + "@jest/types@^26.6.2": + version "26.6.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" + integrity sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + + "@nodelib/fs.scandir@2.1.3": + version "2.1.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" + integrity sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw== + dependencies: + "@nodelib/fs.stat" "2.0.3" + run-parallel "^1.1.9" + + "@nodelib/fs.stat@2.0.3", "@nodelib/fs.stat@^2.0.2": + version "2.0.3" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz#34dc5f4cabbc720f4e60f75a747e7ecd6c175bd3" + integrity sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA== + + "@nodelib/fs.walk@^1.2.3": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz#011b9202a70a6366e436ca5c065844528ab04976" + integrity sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ== + dependencies: + "@nodelib/fs.scandir" "2.1.3" + fastq "^1.6.0" + + "@sinonjs/commons@^1.7.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.0.tgz#c8d68821a854c555bba172f3b06959a0039b236d" + integrity sha512-wEj54PfsZ5jGSwMX68G8ZXFawcSglQSXqCftWX3ec8MDUzQdHgcKvw97awHbY0efQEL5iKUOAmmVtoYgmrSG4Q== + dependencies: + type-detect "4.0.8" + + "@sinonjs/fake-timers@^6.0.1": + version "6.0.1" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" + integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== + dependencies: + "@sinonjs/commons" "^1.7.0" + + "@types/babel__core@^7.0.0": + version "7.1.12" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.12.tgz#4d8e9e51eb265552a7e4f1ff2219ab6133bdfb2d" + integrity sha512-wMTHiiTiBAAPebqaPiPDLFA4LYPKr6Ph0Xq/6rq1Ur3v66HXyG+clfR9CNETkD7MQS8ZHvpQOtA53DLws5WAEQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + + "@types/babel__core@^7.1.7": + version "7.1.8" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.8.tgz#057f725aca3641f49fc11c7a87a9de5ec588a5d7" + integrity sha512-KXBiQG2OXvaPWFPDS1rD8yV9vO0OuWIqAEqLsbfX0oU2REN5KuoMnZ1gClWcBhO5I3n6oTVAmrMufOvRqdmFTQ== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + "@types/babel__generator" "*" + "@types/babel__template" "*" + "@types/babel__traverse" "*" + + "@types/babel__generator@*": + version "7.6.1" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" + integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + dependencies: + "@babel/types" "^7.0.0" + + "@types/babel__template@*": + version "7.0.2" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" + integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + dependencies: + "@babel/parser" "^7.1.0" + "@babel/types" "^7.0.0" + + "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": + version "7.0.12" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.12.tgz#22f49a028e69465390f87bb103ebd61bd086b8f5" + integrity sha512-t4CoEokHTfcyfb4hUaF9oOHu9RmmNWnm1CP0YmMqOOfClKascOmvlEM736vlqeScuGvBDsHkf8R2INd4DWreQA== + dependencies: + "@babel/types" "^7.3.0" + + "@types/babel__traverse@^7.0.4": + version "7.11.0" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.0.tgz#b9a1efa635201ba9bc850323a8793ee2d36c04a0" + integrity sha512-kSjgDMZONiIfSH1Nxcr5JIRMwUetDki63FSQfpTCz8ogF3Ulqm8+mr5f78dUYs6vMiB6gBusQqfQmBvHZj/lwg== dependencies: - regenerator-runtime "^0.13.4" + "@babel/types" "^7.3.0" "@types/color-name@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - "@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + "@types/graceful-fs@^4.1.2": + version "4.1.3" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.3.tgz#039af35fe26bec35003e8d86d2ee9c586354348f" + integrity sha512-AiHRaEB50LQg0pZmm659vNBb9f4SJ0qrAnteuzhSeAUcJKxoYgEnprg/83kppCnc2zvtCKbdZry1a5pVY3lOTQ== + dependencies: + "@types/node" "*" + + "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.2.tgz#79d7a78bad4219f4c03d6557a1c72d9ca6ba62d5" + integrity sha512-rsZg7eL+Xcxsxk2XlBt9KcG8nOp9iYdKCOikY9x2RFJCyOdNj4MKPQty0e8oZr29vVAzKXr1BmR+kZauti3o1w== + + "@types/istanbul-lib-report@*": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" + integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== + dependencies: + "@types/istanbul-lib-coverage" "*" - "@types/history@^4.7.5": - version "4.7.5" - resolved "https://registry.yarnpkg.com/@types/history/-/history-4.7.5.tgz#527d20ef68571a4af02ed74350164e7a67544860" - integrity sha512-wLD/Aq2VggCJXSjxEwrMafIP51Z+13H78nXIX0ABEuIGhmB5sNGbR113MOKo+yfw+RDo1ZU3DM6yfnnRF/+ouw== + "@types/istanbul-reports@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" + integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== + dependencies: + "@types/istanbul-lib-report" "*" + + "@types/jest@26.x": + version "26.0.18" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.18.tgz#3c5f9228e9ac15bd42f903f1acf2ad6ea5ed73d9" + integrity sha512-scDPs+mELZgsFetTgBSsIxKGrlitn9t/d2ecP+S1QSIGD+31fkMBEftLfOAX5k3tU06/0PjreJIQ+gWEbbHqpw== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" + + "@types/jest@^26.0.20": + version "26.0.20" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.20.tgz#cd2f2702ecf69e86b586e1f5223a60e454056307" + integrity sha512-9zi2Y+5USJRxd0FsahERhBwlcvFh6D2GLQnY2FH2BzK8J9s9omvNHIbvABwIluXa0fD8XVKMLTO0aOEuUfACAA== + dependencies: + jest-diff "^26.0.0" + pretty-format "^26.0.0" "@types/json-schema@^7.0.3": version "7.0.4" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== - "@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== + "@types/node@*": + version "14.0.11" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.11.tgz#61d4886e2424da73b7b25547f59fdcb534c165a3" + integrity sha512-lCvvI24L21ZVeIiyIUHZ5Oflv1hhHQ5E1S25IRlKIXaRkVgmXpJMI3wUJkmym2bTbCe+WoIibQnMVAU3FguaOg== - "@types/react@^16.9.27": - version "16.9.27" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.27.tgz#7fc5db99e3ec3f21735b44d3560cff684856814a" - integrity sha512-j+RvQb9w7a2kZFBOgTh+s/elCwtqWUMN6RJNdmz0ntmwpeoMHKnyhUcmYBu7Yw94Rtj9938D+TJSn6WGcq2+OA== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" + "@types/node@^14.14.30": + version "14.14.30" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.30.tgz#7d5162eec085ba34f8cb9011e9ba12119f76f961" + integrity sha512-gUWhy8s45fQp4PqqKecsnOkdW0kt1IaKjgOIR3HPokkzTmQj9ji2wWFID5THu1MKrtO+d4s2lVrlEhXUsPXSvg== - "@types/redux@^3.6.0": - version "3.6.0" - resolved "https://registry.yarnpkg.com/@types/redux/-/redux-3.6.0.tgz#f1ebe1e5411518072e4fdfca5c76e16e74c1399a" - integrity sha1-8evh5UEVGAcuT9/KXHbhbnTBOZo= + "@types/normalize-package-data@^2.4.0": + version "2.4.0" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" + integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + + "@types/prettier@^2.0.0": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.0.1.tgz#b6e98083f13faa1e5231bfa3bdb1b0feff536b6d" + integrity sha512-boy4xPNEtiw6N3abRhBi/e7hNvy3Tt8E9ZRAQrwAGzoCGZS/1wjo9KY7JHhnfnEsG5wSjDbymCozUM9a3ea7OQ== + + "@types/stack-utils@^2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" + integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + + "@types/yargs-parser@*": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" + integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + + "@types/yargs@^15.0.0": + version "15.0.5" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.5.tgz#947e9a6561483bdee9adffc983e91a6902af8b79" + integrity sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w== dependencies: - redux "*" + "@types/yargs-parser" "*" - "@typescript-eslint/eslint-plugin@^2.25.0": - version "2.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.25.0.tgz#0b60917332f20dcff54d0eb9be2a9e9f4c9fbd02" - integrity sha512-W2YyMtjmlrOjtXc+FtTelVs9OhuR6OlYc4XKIslJ8PUJOqgYYAPRJhAqkYRQo3G4sjvG8jSodsNycEn4W2gHUw== + "@typescript-eslint/eslint-plugin@^4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.15.1.tgz#835f64aa0a403e5e9e64c10ceaf8d05c3f015180" + integrity sha512-yW2epMYZSpNJXZy22Biu+fLdTG8Mn6b22kR3TqblVk50HGNV8Zya15WAXuQCr8tKw4Qf1BL4QtI6kv6PCkLoJw== dependencies: - "@typescript-eslint/experimental-utils" "2.25.0" + "@typescript-eslint/experimental-utils" "4.15.1" + "@typescript-eslint/scope-manager" "4.15.1" + debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" + semver "^7.3.2" tsutils "^3.17.1" - "@typescript-eslint/experimental-utils@2.25.0": - version "2.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.25.0.tgz#13691c4fe368bd377b1e5b1e4ad660b220bf7714" - integrity sha512-0IZ4ZR5QkFYbaJk+8eJ2kYeA+1tzOE1sBjbwwtSV85oNWYUBep+EyhlZ7DLUCyhMUGuJpcCCFL0fDtYAP1zMZw== + "@typescript-eslint/experimental-utils@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.15.1.tgz#d744d1ac40570a84b447f7aa1b526368afd17eec" + integrity sha512-9LQRmOzBRI1iOdJorr4jEnQhadxK4c9R2aEAsm7WE/7dq8wkKD1suaV0S/JucTL8QlYUPU1y2yjqg+aGC0IQBQ== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.25.0" + "@typescript-eslint/scope-manager" "4.15.1" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/typescript-estree" "4.15.1" eslint-scope "^5.0.0" eslint-utils "^2.0.0" - "@typescript-eslint/parser@^2.25.0": - version "2.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.25.0.tgz#abfb3d999084824d9a756d9b9c0f36fba03adb76" - integrity sha512-mccBLaBSpNVgp191CP5W+8U1crTyXsRziWliCqzj02kpxdjKMvFHGJbK33NroquH3zB/gZ8H511HEsJBa2fNEg== + "@typescript-eslint/parser@^4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.15.1.tgz#4c91a0602733db63507e1dbf13187d6c71a153c4" + integrity sha512-V8eXYxNJ9QmXi5ETDguB7O9diAXlIyS+e3xzLoP/oVE4WCAjssxLIa0mqCLsCGXulYJUfT+GV70Jv1vHsdKwtA== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.25.0" - "@typescript-eslint/typescript-estree" "2.25.0" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.15.1" + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/typescript-estree" "4.15.1" + debug "^4.1.1" - "@typescript-eslint/typescript-estree@2.25.0": - version "2.25.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.25.0.tgz#b790497556734b7476fa7dd3fa539955a5c79e2c" - integrity sha512-VUksmx5lDxSi6GfmwSK7SSoIKSw9anukWWNitQPqt58LuYrKalzsgeuignbqnB+rK/xxGlSsCy8lYnwFfB6YJg== + "@typescript-eslint/scope-manager@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.15.1.tgz#f6511eb38def2a8a6be600c530c243bbb56ac135" + integrity sha512-ibQrTFcAm7yG4C1iwpIYK7vDnFg+fKaZVfvyOm3sNsGAerKfwPVFtYft5EbjzByDJ4dj1WD8/34REJfw/9wdVA== + dependencies: + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/visitor-keys" "4.15.1" + + "@typescript-eslint/types@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.15.1.tgz#da702f544ef1afae4bc98da699eaecd49cf31c8c" + integrity sha512-iGsaUyWFyLz0mHfXhX4zO6P7O3sExQpBJ2dgXB0G5g/8PRVfBBsmQIc3r83ranEQTALLR3Vko/fnCIVqmH+mPw== + + "@typescript-eslint/typescript-estree@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.15.1.tgz#fa9a9ff88b4a04d901ddbe5b248bc0a00cd610be" + integrity sha512-z8MN3CicTEumrWAEB2e2CcoZa3KP9+SMYLIA2aM49XW3cWIaiVSOAGq30ffR5XHxRirqE90fgLw3e6WmNx5uNw== dependencies: + "@typescript-eslint/types" "4.15.1" + "@typescript-eslint/visitor-keys" "4.15.1" debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" + globby "^11.0.1" is-glob "^4.0.1" - lodash "^4.17.15" - semver "^6.3.0" + semver "^7.3.2" tsutils "^3.17.1" - acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== + "@typescript-eslint/visitor-keys@4.15.1": + version "4.15.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.15.1.tgz#c76abbf2a3be8a70ed760f0e5756bf62de5865dd" + integrity sha512-tYzaTP9plooRJY8eNlpAewTOqtWW/4ff/5wBjNVaJ0S0wC4Gpq/zDVRTJa5bq2v1pCNQ08xxMCndcvR+h7lMww== + dependencies: + "@typescript-eslint/types" "4.15.1" + eslint-visitor-keys "^2.0.0" - acorn@^7.1.1: + abab@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" + integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== + + acorn-globals@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" + integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== + dependencies: + acorn "^7.1.1" + acorn-walk "^7.1.1" + + acorn-jsx@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" + integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + + acorn-walk@^7.1.1: version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== + resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.1.1.tgz#345f0dffad5c735e7373d2fec9a1023e6a44b83e" + integrity sha512-wdlPY2tm/9XBr7QkKlq0WQVgiuGTX6YWPyRyBviSoScBuLfTVQhvwg6wJ369GJ/1nPfTLMfnrFIfjqVg6d+jQQ== + + acorn@^7.1.1: + version "7.2.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.2.0.tgz#17ea7e40d7c8640ff54a694c889c26f31704effe" + integrity sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ== + + acorn@^7.4.0: + version "7.4.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== + + ajv@^6.10.0, ajv@^6.5.5: + version "6.12.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" + integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" - ajv@^6.10.0, ajv@^6.10.2: - version "6.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7" - integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw== + ajv@^6.12.4: + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" json-schema-traverse "^0.4.1" uri-js "^4.2.2" + ajv@^7.0.2: + version "7.1.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-7.1.1.tgz#1e6b37a454021fa9941713f38b952fc1c8d32a84" + integrity sha512-ga/aqDYnUy/o7vbsRTFhhTsNeXiYb5JWDIcRIeZfwRNCefwjNTVYCGdGSUrEmiu3yDK3vFvNbgJxvrQW4JXrYQ== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + + ansi-colors@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== + ansi-escapes@^4.2.1: version "4.3.1" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" @@ -210,24 +899,19 @@ Lockfile: dependencies: type-fest "^0.11.0" - ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - ansi-regex@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - ansi-styles@^3.2.0, ansi-styles@^3.2.1: + ansi-styles@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" - ansi-styles@^4.1.0: + ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.2.1" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== @@ -235,6 +919,22 @@ Lockfile: "@types/color-name" "^1.1.1" color-convert "^2.0.1" + anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + + anymatch@^3.0.3: + version "3.1.1" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" + integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" @@ -242,16 +942,181 @@ Lockfile: dependencies: sprintf-js "~1.0.2" - astral-regex@^1.0.0: + arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + + arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + + arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + + array-filter@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" + integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= + + array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + + array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + + asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + dependencies: + safer-buffer "~2.1.0" + + assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= + + assert@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" + integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== + dependencies: + es6-object-assign "^1.1.0" + is-nan "^1.2.1" + object-is "^1.0.1" + util "^0.12.0" + + assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + + astral-regex@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== + + asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= + + atob@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" + integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + + available-typed-arrays@^1.0.0, available-typed-arrays@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" + integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== + dependencies: + array-filter "^1.0.0" + + aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= + + aws4@^1.8.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.0.tgz#a17b3a8ea811060e74d47d306122400ad4497ae2" + integrity sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA== + + babel-jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" + integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== + dependencies: + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/babel__core" "^7.1.7" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" + + babel-plugin-istanbul@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" + integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.0.0" + "@istanbuljs/load-nyc-config" "^1.0.0" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-instrument "^4.0.0" + test-exclude "^6.0.0" + + babel-plugin-jest-hoist@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" + integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== + dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" + "@types/babel__traverse" "^7.0.6" + + babel-preset-current-node-syntax@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== + resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.0.tgz#cf5feef29551253471cfa82fc8e0f5063df07a77" + integrity sha512-mGkvkpocWJes1CmMKtgGUwCeeq0pOhALyymozzDWYomHTbDLwueDYG6p4TK1YOeYHCzBzYPsWkgTto10JubI1Q== + dependencies: + "@babel/plugin-syntax-async-generators" "^7.8.4" + "@babel/plugin-syntax-bigint" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.8.3" + "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-object-rest-spread" "^7.8.3" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" + "@babel/plugin-syntax-optional-chaining" "^7.8.3" + "@babel/plugin-syntax-top-level-await" "^7.8.3" + + babel-preset-jest@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" + integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== + dependencies: + babel-plugin-jest-hoist "^26.6.2" + babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + + bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= + dependencies: + tweetnacl "^0.14.3" + brace-expansion@^1.1.7: version "1.1.11" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" @@ -260,12 +1125,96 @@ Lockfile: balanced-match "^1.0.0" concat-map "0.0.1" + braces@^2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + + braces@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + + browser-process-hrtime@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" + integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== + + bs-logger@0.x: + version "0.2.6" + resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" + integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== + dependencies: + fast-json-stable-stringify "2.x" + + bser@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" + integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== + dependencies: + node-int64 "^0.4.0" + + buffer-from@1.x, buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + + cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + callsites@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - chalk@^2.0.0, chalk@^2.1.0: + camelcase@^5.0.0, camelcase@^5.3.1: + version "5.3.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" + integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + + camelcase@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.0.0.tgz#5259f7c30e35e278f1bdc2a4d91230b37cad981e" + integrity sha512-8KMDF1Vz2gzOq54ONPJS65IvTUaB1cHJ2DMM7MbPmLZljDH1qpzzLsWdiN9pHh6qvkRVDTi/07+eNGch/oLU4w== + + capture-exit@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" + integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== + dependencies: + rsvp "^4.8.4" + + caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= + + chalk@^2.0.0: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== @@ -274,30 +1223,65 @@ Lockfile: escape-string-regexp "^1.0.5" supports-color "^5.3.0" - chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== + chalk@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" + integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" - chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + char-regex@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" + integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + ci-info@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== + + cjs-module-lexer@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" + integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== + + class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== dependencies: - restore-cursor "^3.1.0" + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" - cli-width@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" - integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk= + cliui@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" + integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.0" + wrap-ansi "^6.2.0" + + co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= + + collect-v8-coverage@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" + integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== + + collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" color-convert@^1.9.0: version "1.9.3" @@ -323,12 +1307,41 @@ Lockfile: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + combined-stream@^1.0.6, combined-stream@~1.0.6: + version "1.0.8" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" + integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== + dependencies: + delayed-stream "~1.0.0" + + component-emitter@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" + integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - cross-spawn@^6.0.5: + convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" + integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== + dependencies: + safe-buffer "~5.1.1" + + copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + + core-util-is@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + + cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -339,23 +1352,138 @@ Lockfile: shebang-command "^1.2.0" which "^1.2.9" - csstype@^2.2.0: + cross-spawn@^7.0.0, cross-spawn@^7.0.2: + version "7.0.3" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + + cssom@^0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" + integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== + + cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== + + cssstyle@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" + integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== + dependencies: + cssom "~0.3.6" + + dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= + dependencies: + assert-plus "^1.0.0" + + data-urls@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" + integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== + dependencies: + abab "^2.0.3" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + + debug@^2.2.0, debug@^2.3.3: version "2.6.9" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098" - integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q== + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" - debug@^4.0.1, debug@^4.1.1: + debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== dependencies: ms "^2.1.1" - deep-is@~0.1.3: + decamelize@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + + decimal.js@^10.2.0: + version "10.2.0" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.0.tgz#39466113a9e036111d02f82489b5fd6b0b5ed231" + integrity sha512-vDPw+rDgn3bZe1+F/pyEwb1oMG2XTlRVgAa6B4KccTEpYgF8w6eQllVbQcfIJnZyvzFtFpxnpGtx8dd7DJp/Rw== + + decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + + deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + deepmerge@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" + integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + + define-properties@^1.1.2, define-properties@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + dependencies: + object-keys "^1.0.12" + + define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + dependencies: + is-descriptor "^0.1.0" + + define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + dependencies: + is-descriptor "^1.0.0" + + define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + + delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= + + detect-newline@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" + integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== + + diff-sequences@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" + integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== + + dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + doctrine@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" @@ -363,35 +1491,120 @@ Lockfile: dependencies: esutils "^2.0.2" - emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" + integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== + dependencies: + webidl-conversions "^5.0.0" + + ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + + emittery@^0.7.1: + version "0.7.2" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" + integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + end-of-stream@^1.1.0: + version "1.4.4" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + + enquirer@^2.3.5: + version "2.3.6" + resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== + dependencies: + ansi-colors "^4.1.1" + + error-ex@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + dependencies: + is-arrayish "^0.2.1" + + es-abstract@^1.17.4, es-abstract@^1.17.5: + version "1.17.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" + integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== + dependencies: + es-to-primitive "^1.2.1" + function-bind "^1.1.1" + has "^1.0.3" + has-symbols "^1.0.1" + is-callable "^1.1.5" + is-regex "^1.0.5" + object-inspect "^1.7.0" + object-keys "^1.1.1" + object.assign "^4.1.0" + string.prototype.trimleft "^2.1.1" + string.prototype.trimright "^2.1.1" + + es-to-primitive@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + dependencies: + is-callable "^1.1.4" + is-date-object "^1.0.1" + is-symbol "^1.0.2" + + es6-object-assign@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" + integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= + escape-string-regexp@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + + escodegen@^1.14.1: + version "1.14.2" + resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.2.tgz#14ab71bf5026c2aa08173afba22c6f3173284a84" + integrity sha512-InuOIiKk8wwuOFg6x9BQXbzjrQhtyXh46K9bqVTPzSo2FnyMBaYGBMC6PhQy7yxxil9vIedFBweQBMK74/7o8A== + dependencies: + esprima "^4.0.1" + estraverse "^4.2.0" + esutils "^2.0.2" + optionator "^0.8.1" + optionalDependencies: + source-map "~0.6.1" + eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== + version "5.1.0" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" + integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== dependencies: esrecurse "^4.1.0" estraverse "^4.1.1" - eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== + eslint-scope@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: - eslint-visitor-keys "^1.1.0" + esrecurse "^4.3.0" + estraverse "^4.1.1" eslint-utils@^2.0.0: version "2.0.0" @@ -400,74 +1613,91 @@ Lockfile: dependencies: eslint-visitor-keys "^1.1.0" + eslint-utils@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== + dependencies: + eslint-visitor-keys "^1.1.0" + eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== + version "1.2.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa" + integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ== + + eslint-visitor-keys@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== + + eslint-visitor-keys@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz#21fdc8fbcd9c795cc0321f0563702095751511a8" + integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== + eslint@^7.20.0: + version "7.20.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.20.0.tgz#db07c4ca4eda2e2316e7aa57ac7fc91ec550bdc7" + integrity sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw== dependencies: - "@babel/code-frame" "^7.0.0" + "@babel/code-frame" "7.12.11" + "@eslint/eslintrc" "^0.3.0" ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" + chalk "^4.0.0" + cross-spawn "^7.0.2" debug "^4.0.1" doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" + enquirer "^2.3.5" + eslint-scope "^5.1.1" + eslint-utils "^2.1.0" + eslint-visitor-keys "^2.0.0" + espree "^7.3.1" + esquery "^1.4.0" esutils "^2.0.2" - file-entry-cache "^5.0.1" + file-entry-cache "^6.0.0" functional-red-black-tree "^1.0.1" glob-parent "^5.0.0" globals "^12.1.0" ignore "^4.0.6" import-fresh "^3.0.0" imurmurhash "^0.1.4" - inquirer "^7.0.0" is-glob "^4.0.0" js-yaml "^3.13.1" json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" + levn "^0.4.1" + lodash "^4.17.20" minimatch "^3.0.4" - mkdirp "^0.5.1" natural-compare "^1.4.0" - optionator "^0.8.3" + optionator "^0.9.1" progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" + regexpp "^3.1.0" + semver "^7.2.1" + strip-ansi "^6.0.0" + strip-json-comments "^3.1.0" + table "^6.0.4" text-table "^0.2.0" v8-compile-cache "^2.0.3" - espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== + espree@^7.3.0, espree@^7.3.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" + acorn "^7.4.0" + acorn-jsx "^5.3.1" + eslint-visitor-keys "^1.3.0" - esprima@^4.0.0: + esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - esquery@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.2.0.tgz#a010a519c0288f2530b3404124bfb5f02e9797fe" - integrity sha512-weltsSqdeWIX9G2qQZz7KlTRJdkkOCTPgLYJUz1Hacf48R4YOwGPHO3+ORfWedqJKbq5WQmsgK90n+pFLIKt/Q== + esquery@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: - estraverse "^5.0.0" + estraverse "^5.1.0" esrecurse@^4.1.0: version "4.2.1" @@ -476,101 +1706,346 @@ Lockfile: dependencies: estraverse "^4.1.0" - estraverse@^4.1.0, estraverse@^4.1.1: + esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + + estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - estraverse@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.0.0.tgz#ac81750b482c11cca26e4b07e83ed8f75fbcdc22" - integrity sha512-j3acdrMzqrxmJTNj5dbr1YbjacrYgAxVMeF0gK16E3j494mOe7xygM/ZLIguEQ0ETwAg2hlJCtHRGav+y0Ny5A== + estraverse@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" + integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== + + estraverse@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" + integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + exec-sh@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" + integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + + execa@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" + integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + dependencies: + cross-spawn "^6.0.0" + get-stream "^4.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + + execa@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/execa/-/execa-4.0.2.tgz#ad87fb7b2d9d564f70d2b62d511bee41d5cbb240" + integrity sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q== dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" + cross-spawn "^7.0.0" + get-stream "^5.0.0" + human-signals "^1.1.1" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.0" + onetime "^5.1.0" + signal-exit "^3.0.2" + strip-final-newline "^2.0.0" + + exit@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" + integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= + + expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + + expect@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" + integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== + dependencies: + "@jest/types" "^26.6.2" + ansi-styles "^4.0.0" + jest-get-type "^26.3.0" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-regex-util "^26.0.0" + + extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + dependencies: + is-extendable "^0.1.0" + + extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + + extend@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== + + extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + + extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= + + extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= fast-deep-equal@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - fast-json-stable-stringify@^2.0.0: + fast-glob@^3.1.1: + version "3.2.4" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.4.tgz#d20aefbf99579383e7f3cc66529158c9b98554d3" + integrity sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.0" + merge2 "^1.3.0" + micromatch "^4.0.2" + picomatch "^2.2.1" + + fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - fast-levenshtein@~2.0.6: + fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + fastq@^1.6.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.9.0.tgz#e16a72f338eaca48e91b5c23593bcc2ef66b7947" + integrity sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w== dependencies: - escape-string-regexp "^1.0.5" + reusify "^1.0.4" - file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== + fb-watchman@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" + integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== dependencies: - flat-cache "^2.0.1" + bser "2.1.1" - flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== + file-entry-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.0.tgz#7921a89c391c6d93efec2169ac6bf300c527ea0a" + integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" + flat-cache "^3.0.4" - flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== + fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + + fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" - fp-ts-routing@^0.5.3: - version "0.5.3" - resolved "https://registry.yarnpkg.com/fp-ts-routing/-/fp-ts-routing-0.5.3.tgz#39376447ba396cffd9249102a5c5392ea29047f3" - integrity sha512-gUfMDEgXlCdLLWP6YjYMoSlybw17fB7Q47ralFh4lScrHfw/hAzMKbQCZ/qnkdo2PIArEM0jjFfJCy/BOWzJRA== + find-up@^4.0.0, find-up@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" + integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + dependencies: + locate-path "^5.0.0" + path-exists "^4.0.0" - fp-ts@^2.5.3: - version "2.5.3" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.5.3.tgz#7f09cc7f3e09623c6ade303d98a2cccdb2cc861f" - integrity sha512-lQd+hahLd8cygNoXbEHDjH/cbF6XVWlEPb8h5GXXlozjCSDxWgclvkpOoTRfBA0P+r69l9VvW1nEsSGIJRQpWw== + flat-cache@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== + dependencies: + flatted "^3.1.0" + rimraf "^3.0.2" + + flatted@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.0.tgz#a5d06b4a8b01e3a63771daa5cb7a1903e2e57067" + integrity sha512-tW+UkmtNg/jv9CSofAKvgVcO7c2URjhTdW1ZTkcAritblu8tajiYy7YisnIflEwtKssCtOxpnBRoCB7iap0/TA== + + for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + + foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= + + forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= + + form-data@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" + integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.6" + mime-types "^2.1.12" + + fp-ts-routing@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/fp-ts-routing/-/fp-ts-routing-0.5.4.tgz#5bcffcd4701a5cc50dc7c936f7e6eda923e8e3d0" + integrity sha512-M/gWge52Kk/8RkOblFMu4k6Ddljx9JCLOsSclurra+RJDnY4i/eUT74nEHRT0X/kzn6zsKQa5rCvUmcO7L8wuw== + + fp-ts-std@^0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/fp-ts-std/-/fp-ts-std-0.9.0.tgz#0a9643390d81c00367d561586aa8c07ecc4e2d34" + integrity sha512-lzYg1lopHkn1mmQNRKrofsAn1qOFPE78QR9akSBR6yuOZD6pZzbNpqIr9Q2J2lj1JFyA3//HbW3POhNJccT/Gg== + + fp-ts@^2.9.5: + version "2.9.5" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.9.5.tgz#6690cd8b76b84214a38fc77cbbbd04a38f86ea90" + integrity sha512-MiHrA5teO6t8zKArE3DdMPT/Db6v2GUt5yfWnhBTrrsVfeCJUUnV6sgFvjGNBKDmEMqVwRFkEePL7wPwqrLKKA== + + fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + dependencies: + map-cache "^0.2.2" fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + fs@^0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + integrity sha1-invTcYa23d84E/I4WLV+yq9eQdQ= + + fsevents@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" + integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== + + function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - glob-parent@^5.0.0: + gensync@^1.0.0-beta.1: + version "1.0.0-beta.1" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" + integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== + + get-caller-file@^2.0.1: + version "2.0.5" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" + integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + + get-package-type@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" + integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== + + get-stream@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" + integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + dependencies: + pump "^3.0.0" + + get-stream@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" + integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== + dependencies: + pump "^3.0.0" + + get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + + getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= + dependencies: + assert-plus "^1.0.0" + + glob-parent@^5.0.0, glob-parent@^5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== dependencies: is-glob "^4.0.1" - glob@^7.1.3, glob@^7.1.6: + glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: version "7.1.6" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== @@ -582,6 +2057,11 @@ Lockfile: once "^1.3.0" path-is-absolute "^1.0.0" + globals@^11.1.0: + version "11.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + globals@^12.1.0: version "12.4.0" resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" @@ -589,6 +2069,41 @@ Lockfile: dependencies: type-fest "^0.8.1" + globby@^11.0.1: + version "11.0.1" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.1.tgz#9a2bf107a068f3ffeabc49ad702c79ede8cfd357" + integrity sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.1.1" + ignore "^5.1.4" + merge2 "^1.3.0" + slash "^3.0.0" + + graceful-fs@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" + integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== + + growly@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= + + har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= + + har-validator@~5.1.3: + version "5.1.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" + integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== + dependencies: + ajv "^6.5.5" + har-schema "^2.0.0" + has-flag@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" @@ -599,19 +2114,81 @@ Lockfile: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - history@^4.10.1: - version "4.10.1" - resolved "https://registry.yarnpkg.com/history/-/history-4.10.1.tgz#33371a65e3a83b267434e2b3f3b1b4c58aad4cf3" - integrity sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew== + has-symbols@^1.0.0, has-symbols@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" + integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== + + has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + + has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + + has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= + + has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + + has@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + dependencies: + function-bind "^1.1.1" + + hosted-git-info@^2.1.4: + version "2.8.8" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" + integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + + html-encoding-sniffer@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" + integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== + dependencies: + whatwg-encoding "^1.0.5" + + html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + + http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= dependencies: - "@babel/runtime" "^7.1.2" - loose-envify "^1.2.0" - resolve-pathname "^3.0.0" - tiny-invariant "^1.0.2" - tiny-warning "^1.0.0" - value-equal "^1.0.1" + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + + human-signals@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" + integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - iconv-lite@^0.4.24: + iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== @@ -623,6 +2200,11 @@ Lockfile: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== + ignore@^5.1.4: + version "5.1.8" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" + integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== + import-fresh@^3.0.0: version "3.2.1" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" @@ -631,6 +2213,22 @@ Lockfile: parent-module "^1.0.0" resolve-from "^4.0.0" + import-fresh@^3.2.1: + version "3.2.2" + resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.2.tgz#fc129c160c5d68235507f4331a6baad186bdbc3e" + integrity sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + + import-local@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" + integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + dependencies: + pkg-dir "^4.2.0" + resolve-cwd "^3.0.0" + imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -644,50 +2242,143 @@ Lockfile: once "^1.3.0" wrappy "1" - inherits@2: + inherits@2, inherits@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== + io-ts@^2.2.14: + version "2.2.14" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.14.tgz#99405fab547690784d70c54a3048a44711237316" + integrity sha512-UWL1mdDe5YI4+/7YlrbsSwKmsECFFlWcVHT2CPGzeNODHj2qY0cibjulYfrfz5SCPoDAsjVP7vFKGcF+L10+SQ== + + ip-regex@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" + integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + + is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" + kind-of "^3.0.2" - io-ts@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.1.2.tgz#8ea4439c902c3d15cda343900bed7ee5a9977f42" - integrity sha512-whVRGaNBZSrkPrg1y+sSy/kv/fDjweQPP1UCLhKwJUHWGD6rFgbZ44FBF98JlY/FFzTA0MkhGeHWZ/aFhF42eA== + is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + dependencies: + kind-of "^6.0.0" + + is-arguments@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" + integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + + is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + + is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + + is-callable@^1.1.4, is-callable@^1.1.5: + version "1.2.0" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" + integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== + + is-ci@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== + dependencies: + ci-info "^2.0.0" + + is-core-module@^2.1.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + + is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + dependencies: + kind-of "^3.0.2" + + is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + dependencies: + kind-of "^6.0.0" + + is-date-object@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" + integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + + is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + + is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + + is-docker@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" + integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== + + is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + + is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + is-generator-fn@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" + integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== + + is-generator-function@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" + integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== + is-glob@^4.0.0, is-glob@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" @@ -695,40 +2386,674 @@ Lockfile: dependencies: is-extglob "^2.1.1" - is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" - integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= + is-nan@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.0.tgz#85d1f5482f7051c2019f5673ccebdb06f3b0db03" + integrity sha512-z7bbREymOqt2CCaZVly8aC4ML3Xhfi0ekuOnjO2L8vKdl+CttdVoGZQhd4adMFAsxQ5VeRVwORs4tU8RH+HFtQ== + dependencies: + define-properties "^1.1.3" + + is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + dependencies: + kind-of "^3.0.2" + + is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + + is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + + is-potential-custom-element-name@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.0.tgz#0c52e54bcca391bb2c494b21e8626d7336c6e397" + integrity sha1-DFLlS8yjkbssSUsh6GJtczbG45c= + + is-regex@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" + integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== + dependencies: + has-symbols "^1.0.1" + + is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + + is-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" + integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + + is-symbol@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" + integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== + dependencies: + has-symbols "^1.0.1" + + is-typed-array@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.3.tgz#a4ff5a5e672e1a55f99c7f54e59597af5c1df04d" + integrity sha512-BSYUBOK/HJibQ30wWkWold5txYwMUXQct9YHAQJr8fSwvZoiglcqB0pd7vEN23+Tsi9IUEjztdOSzl4qLVYGTQ== + dependencies: + available-typed-arrays "^1.0.0" + es-abstract "^1.17.4" + foreach "^2.0.5" + has-symbols "^1.0.1" + + is-typedarray@^1.0.0, is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= + + is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + + is-wsl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== + dependencies: + is-docker "^2.0.0" + + isarray@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= isexe@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: + isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + dependencies: + isarray "1.0.0" + + isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + + isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= + + istanbul-lib-coverage@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" + integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== + + istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" + integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== + dependencies: + "@babel/core" "^7.7.5" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.0.0" + semver "^6.3.0" + + istanbul-lib-report@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" + integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^3.0.0" + supports-color "^7.1.0" + + istanbul-lib-source-maps@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" + integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + + istanbul-reports@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" + integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + + jest-changed-files@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" + integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== + dependencies: + "@jest/types" "^26.6.2" + execa "^4.0.0" + throat "^5.0.0" + + jest-cli@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" + integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== + dependencies: + "@jest/core" "^26.6.3" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.4" + import-local "^3.0.2" + is-ci "^2.0.0" + jest-config "^26.6.3" + jest-util "^26.6.2" + jest-validate "^26.6.2" + prompts "^2.0.1" + yargs "^15.4.1" + + jest-config@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" + integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== + dependencies: + "@babel/core" "^7.1.0" + "@jest/test-sequencer" "^26.6.3" + "@jest/types" "^26.6.2" + babel-jest "^26.6.3" + chalk "^4.0.0" + deepmerge "^4.2.2" + glob "^7.1.1" + graceful-fs "^4.2.4" + jest-environment-jsdom "^26.6.2" + jest-environment-node "^26.6.2" + jest-get-type "^26.3.0" + jest-jasmine2 "^26.6.3" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + micromatch "^4.0.2" + pretty-format "^26.6.2" + + jest-diff@^26.0.0, jest-diff@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" + integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== + dependencies: + chalk "^4.0.0" + diff-sequences "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + + jest-docblock@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" + integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== + dependencies: + detect-newline "^3.0.0" + + jest-each@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" + integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + jest-get-type "^26.3.0" + jest-util "^26.6.2" + pretty-format "^26.6.2" + + jest-environment-jsdom@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" + integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + jsdom "^16.4.0" + + jest-environment-node@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" + integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== + dependencies: + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + jest-mock "^26.6.2" + jest-util "^26.6.2" + + jest-get-type@^26.3.0: + version "26.3.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" + integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== + + jest-haste-map@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" + integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== + dependencies: + "@jest/types" "^26.6.2" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" + fb-watchman "^2.0.0" + graceful-fs "^4.2.4" + jest-regex-util "^26.0.0" + jest-serializer "^26.6.2" + jest-util "^26.6.2" + jest-worker "^26.6.2" + micromatch "^4.0.2" + sane "^4.0.3" + walker "^1.0.7" + optionalDependencies: + fsevents "^2.1.2" + + jest-jasmine2@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" + integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== + dependencies: + "@babel/traverse" "^7.1.0" + "@jest/environment" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + expect "^26.6.2" + is-generator-fn "^2.0.0" + jest-each "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-runtime "^26.6.3" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + pretty-format "^26.6.2" + throat "^5.0.0" + + jest-leak-detector@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" + integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== + dependencies: + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + + jest-matcher-utils@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" + integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== + dependencies: + chalk "^4.0.0" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + pretty-format "^26.6.2" + + jest-message-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" + integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== + dependencies: + "@babel/code-frame" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/stack-utils" "^2.0.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + micromatch "^4.0.2" + pretty-format "^26.6.2" + slash "^3.0.0" + stack-utils "^2.0.2" + + jest-mock@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" + integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + + jest-pnp-resolver@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" + integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== + + jest-regex-util@^26.0.0: + version "26.0.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" + integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== + + jest-resolve-dependencies@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" + integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== + dependencies: + "@jest/types" "^26.6.2" + jest-regex-util "^26.0.0" + jest-snapshot "^26.6.2" + + jest-resolve@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" + integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== + dependencies: + "@jest/types" "^26.6.2" + chalk "^4.0.0" + graceful-fs "^4.2.4" + jest-pnp-resolver "^1.2.2" + jest-util "^26.6.2" + read-pkg-up "^7.0.1" + resolve "^1.18.1" + slash "^3.0.0" + + jest-runner@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" + integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + emittery "^0.7.1" + exit "^0.1.2" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-docblock "^26.0.0" + jest-haste-map "^26.6.2" + jest-leak-detector "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + jest-runtime "^26.6.3" + jest-util "^26.6.2" + jest-worker "^26.6.2" + source-map-support "^0.5.6" + throat "^5.0.0" + + jest-runtime@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" + integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== + dependencies: + "@jest/console" "^26.6.2" + "@jest/environment" "^26.6.2" + "@jest/fake-timers" "^26.6.2" + "@jest/globals" "^26.6.2" + "@jest/source-map" "^26.6.2" + "@jest/test-result" "^26.6.2" + "@jest/transform" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/yargs" "^15.0.0" + chalk "^4.0.0" + cjs-module-lexer "^0.6.0" + collect-v8-coverage "^1.0.0" + exit "^0.1.2" + glob "^7.1.3" + graceful-fs "^4.2.4" + jest-config "^26.6.3" + jest-haste-map "^26.6.2" + jest-message-util "^26.6.2" + jest-mock "^26.6.2" + jest-regex-util "^26.0.0" + jest-resolve "^26.6.2" + jest-snapshot "^26.6.2" + jest-util "^26.6.2" + jest-validate "^26.6.2" + slash "^3.0.0" + strip-bom "^4.0.0" + yargs "^15.4.1" + + jest-serializer@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" + integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" + + jest-snapshot@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" + integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== + dependencies: + "@babel/types" "^7.0.0" + "@jest/types" "^26.6.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.0.0" + chalk "^4.0.0" + expect "^26.6.2" + graceful-fs "^4.2.4" + jest-diff "^26.6.2" + jest-get-type "^26.3.0" + jest-haste-map "^26.6.2" + jest-matcher-utils "^26.6.2" + jest-message-util "^26.6.2" + jest-resolve "^26.6.2" + natural-compare "^1.4.0" + pretty-format "^26.6.2" + semver "^7.3.2" + + jest-util@^26.1.0, jest-util@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" + integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== + dependencies: + "@jest/types" "^26.6.2" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^2.0.0" + micromatch "^4.0.2" + + jest-validate@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" + integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== + dependencies: + "@jest/types" "^26.6.2" + camelcase "^6.0.0" + chalk "^4.0.0" + jest-get-type "^26.3.0" + leven "^3.1.0" + pretty-format "^26.6.2" + + jest-watcher@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" + integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== + dependencies: + "@jest/test-result" "^26.6.2" + "@jest/types" "^26.6.2" + "@types/node" "*" + ansi-escapes "^4.2.1" + chalk "^4.0.0" + jest-util "^26.6.2" + string-length "^4.0.1" + + jest-worker@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" + integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^7.0.0" + + jest@^26.6.3: + version "26.6.3" + resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" + integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== + dependencies: + "@jest/core" "^26.6.3" + import-local "^3.0.2" + jest-cli "^26.6.3" + + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== dependencies: argparse "^1.0.7" esprima "^4.0.0" + jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= + + jsdom@^16.4.0: + version "16.4.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.4.0.tgz#36005bde2d136f73eee1a830c6d45e55408edddb" + integrity sha512-lYMm3wYdgPhrl7pDcRmvzPhhrGVBeVhPIqeHjzeiHN3DFmD1RBpbExbi8vU7BJdH8VAZYovR8DMt0PNNDM7k8w== + dependencies: + abab "^2.0.3" + acorn "^7.1.1" + acorn-globals "^6.0.0" + cssom "^0.4.4" + cssstyle "^2.2.0" + data-urls "^2.0.0" + decimal.js "^10.2.0" + domexception "^2.0.1" + escodegen "^1.14.1" + html-encoding-sniffer "^2.0.1" + is-potential-custom-element-name "^1.0.0" + nwsapi "^2.2.0" + parse5 "5.1.1" + request "^2.88.2" + request-promise-native "^1.0.8" + saxes "^5.0.0" + symbol-tree "^3.2.4" + tough-cookie "^3.0.1" + w3c-hr-time "^1.0.2" + w3c-xmlserializer "^2.0.0" + webidl-conversions "^6.1.0" + whatwg-encoding "^1.0.5" + whatwg-mimetype "^2.3.0" + whatwg-url "^8.0.0" + ws "^7.2.3" + xml-name-validator "^3.0.0" + + jsesc@^2.5.1: + version "2.5.2" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + + json-parse-better-errors@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + + json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= + json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - levn@^0.3.0, levn@~0.3.0: + json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= + + json5@2.x, json5@^2.1.2: + version "2.1.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" + integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + dependencies: + minimist "^1.2.5" + + jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + + kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + dependencies: + is-buffer "^1.1.5" + + kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + dependencies: + is-buffer "^1.1.5" + + kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + + kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.3" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + + kleur@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" + integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== + + leven@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" + integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== + + levn@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + + levn@~0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= @@ -736,17 +3061,119 @@ Lockfile: prelude-ls "~1.1.2" type-check "~0.3.2" - lodash@^4.17.14, lodash@^4.17.15: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + lines-and-columns@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" + integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + locate-path@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" + integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + dependencies: + p-locate "^4.1.0" + + lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" + integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + + lodash@4.x, lodash@^4.17.20: + version "4.17.20" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" + integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== + + lodash@^4.17.13, lodash@^4.17.15: + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== + + lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + + make-dir@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" + integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + dependencies: + semver "^6.0.0" + + make-error@1.x: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + + makeerror@1.0.x: + version "1.0.11" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" + integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= + dependencies: + tmpl "1.0.x" + + map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + + map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + dependencies: + object-visit "^1.0.0" + + merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + + merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + + micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + + micromatch@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" + integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== + dependencies: + braces "^3.0.1" + picomatch "^2.0.5" + + mime-db@1.44.0: + version "1.44.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" + integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== + + mime-types@^2.1.12, mime-types@~2.1.19: + version "2.1.27" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" + integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== dependencies: - js-tokens "^3.0.0 || ^4.0.0" + mime-db "1.44.0" mimic-fn@^2.1.0: version "2.1.0" @@ -760,27 +3187,55 @@ Lockfile: dependencies: brace-expansion "^1.1.7" - minimist@^1.2.5: + minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - mkdirp@^0.5.1: - version "0.5.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.4.tgz#fd01504a6797ec5c9be81ff43d204961ed64a512" - integrity sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw== + mixin-deep@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" + integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== dependencies: - minimist "^1.2.5" + for-in "^1.0.2" + is-extendable "^1.0.1" + + mkdirp@1.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + + monocle-ts@^2.3.9: + version "2.3.9" + resolved "https://registry.yarnpkg.com/monocle-ts/-/monocle-ts-2.3.9.tgz#037d8a14f72dfd5ce6928c8730de1f0e504da94d" + integrity sha512-X5ppMOPAQV/BeENhPpEI0hJelXMoNVtHlTVk89ugZL7ZvK6JtBDFW/762aq1MOzCCaBAFlxGz1Wmxa0DW7tshQ== + + ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - mute-stream@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" natural-compare@^1.4.0: version "1.4.0" @@ -792,12 +3247,126 @@ Lockfile: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + node-int64@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" + integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= + + node-modules-regexp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" + integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= + + node-notifier@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.1.tgz#f86e89bbc925f2b068784b31f382afdc6ca56be1" + integrity sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA== + dependencies: + growly "^1.3.0" + is-wsl "^2.2.0" + semver "^7.3.2" + shellwords "^0.1.1" + uuid "^8.3.0" + which "^2.0.2" + + normalize-package-data@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== + dependencies: + hosted-git-info "^2.1.4" + resolve "^1.10.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + + normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= + dependencies: + remove-trailing-separator "^1.0.1" + + normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + + npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + dependencies: + path-key "^2.0.0" + + npm-run-path@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== + dependencies: + path-key "^3.0.0" - once@^1.3.0: + nwsapi@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" + integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== + + oauth-sign@~0.9.0: + version "0.9.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" + integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== + + object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + + object-inspect@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" + integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== + + object-is@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" + integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + + object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + + object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + dependencies: + isobject "^3.0.0" + + object.assign@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + + object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + dependencies: + isobject "^3.0.1" + + once@^1.3.0, once@^1.3.1, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= @@ -811,7 +3380,7 @@ Lockfile: dependencies: mimic-fn "^2.1.0" - optionator@^0.8.3: + optionator@^0.8.1: version "0.8.3" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== @@ -823,10 +3392,46 @@ Lockfile: type-check "~0.3.2" word-wrap "~1.2.3" - os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + optionator@^0.9.1: + version "0.9.1" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== + dependencies: + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + word-wrap "^1.2.3" + + p-each-series@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" + integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== + + p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + + p-limit@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" + integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + dependencies: + p-try "^2.0.0" + + p-locate@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" + integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + dependencies: + p-limit "^2.2.0" + + p-try@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" + integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== parent-module@^1.0.0: version "1.0.1" @@ -835,138 +3440,390 @@ Lockfile: dependencies: callsites "^3.0.0" + parse-json@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" + integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + dependencies: + "@babel/code-frame" "^7.0.0" + error-ex "^1.3.1" + json-parse-better-errors "^1.0.1" + lines-and-columns "^1.1.6" + + parse5@5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.1.tgz#f68e4e5ba1852ac2cadc00f4555fff6c2abb6178" + integrity sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug== + + pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + + path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - path-key@^2.0.1: + path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + + path-parse@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + + path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + + performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= + + picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" + integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== + + pirates@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" + integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== + dependencies: + node-modules-regexp "^1.0.0" + + pkg-dir@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" + integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + dependencies: + find-up "^4.0.0" + + posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + + prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + prelude-ls@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= + pretty-format@^26.0.0, pretty-format@^26.6.2: + version "26.6.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" + integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== + dependencies: + "@jest/types" "^26.6.2" + ansi-regex "^5.0.0" + ansi-styles "^4.0.0" + react-is "^17.0.1" + progress@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - prop-types@^15.6.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== + prompts@^2.0.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" + integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + dependencies: + kleur "^3.0.3" + sisteransi "^1.0.4" + + psl@^1.1.28: + version "1.8.0" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" + integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== + + pump@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" + end-of-stream "^1.1.0" + once "^1.3.1" - punycode@^2.1.0: + punycode@^2.1.0, punycode@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - react-is@^16.8.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== + qs@~6.5.2: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== + + react-is@^17.0.1: + version "17.0.1" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" + integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== + + read-pkg-up@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" + integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== + dependencies: + find-up "^4.1.0" + read-pkg "^5.2.0" + type-fest "^0.8.1" + + read-pkg@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" + integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== + dependencies: + "@types/normalize-package-data" "^2.4.0" + normalize-package-data "^2.5.0" + parse-json "^5.0.0" + type-fest "^0.6.0" + + regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + + regexpp@^3.0.0, regexpp@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" + integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== + + remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= + + repeat-element@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" + integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + + repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - react@^16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== + request-promise-core@1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" + integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" + lodash "^4.17.15" - redux@*, redux@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" - integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== + request-promise-native@^1.0.8: + version "1.0.8" + resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" + integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" + request-promise-core "1.1.3" + stealthy-require "^1.1.1" + tough-cookie "^2.3.3" + + request@^2.88.2: + version "2.88.2" + resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" + integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.8.0" + caseless "~0.12.0" + combined-stream "~1.0.6" + extend "~3.0.2" + forever-agent "~0.6.1" + form-data "~2.3.2" + har-validator "~5.1.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.19" + oauth-sign "~0.9.0" + performance-now "^2.1.0" + qs "~6.5.2" + safe-buffer "^5.1.2" + tough-cookie "~2.5.0" + tunnel-agent "^0.6.0" + uuid "^3.3.2" + + require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== + require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== + require-main-filename@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" + integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - regexpp@^3.0.0: + resolve-cwd@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.0.0.tgz#dd63982ee3300e67b41c1956f850aa680d9d330e" - integrity sha512-Z+hNr7RAVWxznLPuA7DIh8UNX1j9CDrUQxskw9IrBE1Dxue2lyXT+shqEIeLUjrokxIP8CMy1WkjgG3rTsd5/g== + resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" + integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== + dependencies: + resolve-from "^5.0.0" resolve-from@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - resolve-pathname@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-pathname/-/resolve-pathname-3.0.0.tgz#99d02224d3cf263689becbb393bc560313025dcd" - integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== - - restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + resolve-from@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" + integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== + + resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + + resolve@^1.10.0, resolve@^1.3.2: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" + path-parse "^1.0.6" - rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== + resolve@^1.18.1: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + + ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + + reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + + rimraf@^3.0.0, rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" - run-async@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8" - integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg== - dependencies: - is-promise "^2.1.0" + rsvp@^4.8.4: + version "4.8.5" + resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" + integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - rxjs@^6.5.3: - version "6.5.4" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" - integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== - dependencies: - tslib "^1.9.0" + run-parallel@^1.1.9: + version "1.1.10" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.1.10.tgz#60a51b2ae836636c81377df16cb107351bcd13ef" + integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== - rxjs@^6.5.5: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== + safe-buffer@^5.0.1, safe-buffer@^5.1.2: + version "5.2.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + + safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + + safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= dependencies: - tslib "^1.9.0" + ret "~0.1.10" - "safer-buffer@>= 2.1.2 < 3": + "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - semver@^5.5.0: + sane@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" + integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== + dependencies: + "@cnakazawa/watch" "^1.0.3" + anymatch "^2.0.0" + capture-exit "^2.0.0" + exec-sh "^0.3.2" + execa "^1.0.0" + fb-watchman "^2.0.0" + micromatch "^3.1.4" + minimist "^1.1.1" + walker "~1.0.5" + + saxes@^5.0.0: + version "5.0.1" + resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" + integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== + dependencies: + xmlchars "^2.2.0" + + "semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - semver@^6.1.2, semver@^6.3.0: + semver@7.x, semver@^7.2.1, semver@^7.3.2: + version "7.3.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97" + integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== + dependencies: + lru-cache "^6.0.0" + + semver@^6.0.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + + set-value@^2.0.0, set-value@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" + integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + shebang-command@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" @@ -974,40 +3831,203 @@ Lockfile: dependencies: shebang-regex "^1.0.0" + shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + shebang-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - signal-exit@^3.0.2: + shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + + shellwords@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== + + signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== + sisteransi@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" + integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== + + slash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + + slice-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== + dependencies: + ansi-styles "^4.0.0" + astral-regex "^2.0.0" + is-fullwidth-code-point "^3.0.0" + + snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + + snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + dependencies: + kind-of "^3.2.0" + + snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + + source-map-resolve@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" + integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + dependencies: + atob "^2.1.2" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + + source-map-support@^0.5.6: + version "0.5.19" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" + integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + + source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + + source-map@^0.5.0, source-map@^0.5.6: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + + source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + + source-map@^0.7.3: + version "0.7.3" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" + integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + + spdx-correct@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + + spdx-exceptions@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== + + spdx-expression-parse@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + + spdx-license-ids@^3.0.0: + version "3.0.5" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" + integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + + split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" + extend-shallow "^3.0.0" sprintf-js@~1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - string-width@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + sshpk@^1.7.0: + version "1.16.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" + integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + bcrypt-pbkdf "^1.0.0" + dashdash "^1.12.0" + ecc-jsbn "~0.1.1" + getpass "^0.1.1" + jsbn "~0.1.0" + safer-buffer "^2.0.2" + tweetnacl "~0.14.0" + + stack-utils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" + integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== + dependencies: + escape-string-regexp "^2.0.0" + + static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + + stealthy-require@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" + integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= + + string-length@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.1.tgz#4a973bf31ef77c4edbceadd6af2611996985f8a1" + integrity sha512-PKyXUd0LK0ePjSOnWn34V2uD6acUWev9uy0Ft05k0E8xRW+SKcA0F7eMr7h5xlzfn+4O3N+55rduYyet3Jk+jw== dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" + char-regex "^1.0.2" + strip-ansi "^6.0.0" - string-width@^4.1.0: + string-width@^4.1.0, string-width@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== @@ -1016,12 +4036,39 @@ Lockfile: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" - strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + string.prototype.trimend@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" + integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + + string.prototype.trimleft@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" + integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimstart "^1.0.0" + + string.prototype.trimright@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" + integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== dependencies: - ansi-regex "^4.1.0" + define-properties "^1.1.3" + es-abstract "^1.17.5" + string.prototype.trimend "^1.0.0" + + string.prototype.trimstart@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" + integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.17.5" strip-ansi@^6.0.0: version "6.0.0" @@ -1030,10 +4077,30 @@ Lockfile: dependencies: ansi-regex "^5.0.0" - strip-json-comments@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7" - integrity sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw== + strip-bom@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" + integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== + + strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + + strip-final-newline@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== + + strip-json-comments@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" + integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== + + strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== supports-color@^5.3.0: version "5.5.0" @@ -1042,59 +4109,155 @@ Lockfile: dependencies: has-flag "^3.0.0" - supports-color@^7.1.0: + supports-color@^7.0.0, supports-color@^7.1.0: version "7.1.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== dependencies: has-flag "^4.0.0" - symbol-observable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== + supports-hyperlinks@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" + integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== + dependencies: + has-flag "^4.0.0" + supports-color "^7.0.0" + + symbol-tree@^3.2.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" + integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== + + table@^6.0.4: + version "6.0.7" + resolved "https://registry.yarnpkg.com/table/-/table-6.0.7.tgz#e45897ffbcc1bcf9e8a87bf420f2c9e5a7a52a34" + integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== + dependencies: + ajv "^7.0.2" + lodash "^4.17.20" + slice-ansi "^4.0.0" + string-width "^4.2.0" - table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== + terminal-link@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" + integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== + dependencies: + ansi-escapes "^4.2.1" + supports-hyperlinks "^2.0.0" + + test-exclude@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" + integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= + throat@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" + integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + tmpl@1.0.x: + version "1.0.4" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" + integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - tiny-warning@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== + to-fast-properties@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + + to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + dependencies: + kind-of "^3.0.2" + + to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + + to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + + to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + + tough-cookie@^2.3.3, tough-cookie@~2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" + integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== + dependencies: + psl "^1.1.28" + punycode "^2.1.1" + + tough-cookie@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" + integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== + dependencies: + ip-regex "^2.1.0" + psl "^1.1.28" + punycode "^2.1.1" - tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + tr46@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" + integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== dependencies: - os-tmpdir "~1.0.2" + punycode "^2.1.1" + + ts-adt@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ts-adt/-/ts-adt-2.0.2.tgz#3d5026a18bfcd1fcc2262504a5b905f45caf5c25" + integrity sha512-e//wyQHNBOjPN2WwjGOXMeLC1C8hd9bVAmuFQWa2gbzMEel6up1OnhRdezB9pJqJNHrZFm06n+rK39rjJ/Zz/w== - tslib@^1.8.1, tslib@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== + ts-jest@^26.5.1: + version "26.5.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.1.tgz#4d53ee4481552f57c1624f0bd3425c8b17996150" + integrity sha512-G7Rmo3OJMvlqE79amJX8VJKDiRcd7/r61wh9fnvvG8cAjhA9edklGw/dCxRSQmfZ/z8NDums5srSVgwZos1qfg== + dependencies: + "@types/jest" "26.x" + bs-logger "0.x" + buffer-from "1.x" + fast-json-stable-stringify "2.x" + jest-util "^26.1.0" + json5 "2.x" + lodash "4.x" + make-error "1.x" + mkdirp "1.x" + semver "7.x" + yargs-parser "20.x" + + tslib@^1.8.1: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== tsutils@^3.17.1: version "3.17.1" @@ -1103,6 +4266,25 @@ Lockfile: dependencies: tslib "^1.8.1" + tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= + dependencies: + safe-buffer "^5.0.1" + + tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= + + type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + type-check@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" @@ -1110,20 +4292,55 @@ Lockfile: dependencies: prelude-ls "~1.1.2" + type-detect@4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" + integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== + type-fest@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== + type-fest@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" + integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== + type-fest@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - typescript@^3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.8.3.tgz#409eb8544ea0335711205869ec458ab109ee1061" - integrity sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w== + typedarray-to-buffer@^3.1.5: + version "3.1.5" + resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" + integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== + dependencies: + is-typedarray "^1.0.0" + + typescript@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== + + union-value@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" + integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^2.0.1" + + unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" uri-js@^4.2.2: version "4.2.2" @@ -1132,15 +4349,137 @@ Lockfile: dependencies: punycode "^2.1.0" + urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + + use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + + util@^0.12.0: + version "0.12.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" + integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== + dependencies: + inherits "^2.0.3" + is-arguments "^1.0.4" + is-generator-function "^1.0.7" + is-typed-array "^1.1.3" + safe-buffer "^5.1.2" + which-typed-array "^1.1.2" + + uuid@^3.3.2: + version "3.4.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" + integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + + uuid@^8.3.0: + version "8.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" + integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== - value-equal@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/value-equal/-/value-equal-1.0.1.tgz#1e0b794c734c5c0cade179c437d356d931a34d6c" - integrity sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw== + v8-to-istanbul@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.0.0.tgz#b4fe00e35649ef7785a9b7fcebcea05f37c332fc" + integrity sha512-fLL2rFuQpMtm9r8hrAV2apXX/WqHJ6+IC4/eQVdMDGBUgH/YMV4Gv3duk3kjmyg6uiQWBAA9nJwue4iJUOkHeA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + + validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + + verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + + w3c-hr-time@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" + integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== + dependencies: + browser-process-hrtime "^1.0.0" + + w3c-xmlserializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" + integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== + dependencies: + xml-name-validator "^3.0.0" + + walker@^1.0.7, walker@~1.0.5: + version "1.0.7" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" + integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + dependencies: + makeerror "1.0.x" + + webidl-conversions@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" + integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== + + webidl-conversions@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" + integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== + + whatwg-encoding@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" + integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== + dependencies: + iconv-lite "0.4.24" + + whatwg-mimetype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" + integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== + + whatwg-url@^8.0.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.1.0.tgz#c628acdcf45b82274ce7281ee31dd3c839791771" + integrity sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^2.0.2" + webidl-conversions "^5.0.0" + + which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + + which-typed-array@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.2.tgz#e5f98e56bda93e3dac196b01d47c1156679c00b2" + integrity sha512-KT6okrd1tE6JdZAy3o2VhMoYPh3+J6EMZLyrxBQsZflI1QCZIxMrIYLkosd8Twf+YfknVIHmYQPgJt238p8dnQ== + dependencies: + available-typed-arrays "^1.0.2" + es-abstract "^1.17.5" + foreach "^2.0.5" + function-bind "^1.1.1" + has-symbols "^1.0.1" + is-typed-array "^1.1.3" which@^1.2.9: version "1.3.1" @@ -1149,19 +4488,93 @@ Lockfile: dependencies: isexe "^2.0.0" - word-wrap@~1.2.3: + which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + + word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== + wrap-ansi@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== + write-file-atomic@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" + integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== + dependencies: + imurmurhash "^0.1.4" + is-typedarray "^1.0.0" + signal-exit "^3.0.2" + typedarray-to-buffer "^3.1.5" + + ws@^7.2.3: + version "7.3.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.3.0.tgz#4b2f7f219b3d3737bc1a2fbf145d825b94d38ffd" + integrity sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w== + + xml-name-validator@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" + integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== + + xmlchars@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" + integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== + + y18n@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" + integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + + yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + + yargs-parser@20.x: + version "20.2.4" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" + integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== + + yargs-parser@^18.1.2: + version "18.1.3" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" + integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + + yargs@^15.4.1: + version "15.4.1" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" + integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== dependencies: - mkdirp "^0.5.1" + cliui "^6.0.0" + decamelize "^1.2.0" + find-up "^4.1.0" + get-caller-file "^2.0.1" + require-directory "^2.1.1" + require-main-filename "^2.0.0" + set-blocking "^2.0.0" + string-width "^4.2.0" + which-module "^2.0.0" + y18n "^4.0.0" + yargs-parser "^18.1.2" diff --git a/yarn.lock b/yarn.lock index ec9e15f..e40cae3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1884,10 +1884,10 @@ fp-ts-routing@^0.5.4: resolved "https://registry.yarnpkg.com/fp-ts-routing/-/fp-ts-routing-0.5.4.tgz#5bcffcd4701a5cc50dc7c936f7e6eda923e8e3d0" integrity sha512-M/gWge52Kk/8RkOblFMu4k6Ddljx9JCLOsSclurra+RJDnY4i/eUT74nEHRT0X/kzn6zsKQa5rCvUmcO7L8wuw== -fp-ts@^2.9.5: - version "2.9.5" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.9.5.tgz#6690cd8b76b84214a38fc77cbbbd04a38f86ea90" - integrity sha512-MiHrA5teO6t8zKArE3DdMPT/Db6v2GUt5yfWnhBTrrsVfeCJUUnV6sgFvjGNBKDmEMqVwRFkEePL7wPwqrLKKA== +fp-ts@^2.10.5: + version "2.10.5" + resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-2.10.5.tgz#7c77868fe8bd9b229743303c1bec505b959f631b" + integrity sha512-X2KfTIV0cxIk3d7/2Pvp/pxL/xr2MV1WooyEzKtTWYSc1+52VF4YzjBTXqeOlSiZsPCxIBpDGfT9Dyo7WEY0DQ== fragment-cache@^0.2.1: version "0.2.1" @@ -2171,10 +2171,10 @@ inherits@2, inherits@^2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -io-ts@^2.2.14: - version "2.2.14" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.14.tgz#99405fab547690784d70c54a3048a44711237316" - integrity sha512-UWL1mdDe5YI4+/7YlrbsSwKmsECFFlWcVHT2CPGzeNODHj2qY0cibjulYfrfz5SCPoDAsjVP7vFKGcF+L10+SQ== +io-ts@^2.2.16: + version "2.2.16" + resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.16.tgz#597dffa03db1913fc318c9c6df6931cb4ed808b2" + integrity sha512-y5TTSa6VP6le0hhmIyN0dqEXkrZeJLeC5KApJq6VLci3UEKF80lZ+KuoUs02RhBxNWlrqSNxzfI7otLX1Euv8Q== ip-regex@^2.1.0: version "2.1.0" @@ -4233,10 +4233,10 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" - integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== union-value@^1.0.0: version "1.0.1"

], -): { - parse: (path: string) => { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } - format: (adt: { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey }) => string; -} => { - type RouteAdt = { type: 'NotFound' } | -A & { type: AKey } | B & { type: BKey } | C & { type: CKey } | D & { type: DKey } | E & { type: EKey } | F & { type: FKey } | G & { type: GKey } | H & { type: HKey } | I & { type: IKey } | J & { type: JKey } | K & { type: KKey } | L & { type: LKey } | M & { type: MKey } | N & { type: NKey } | O & { type: OKey } | P & { type: PKey } - const parser = R.zero() - .alt(aMatch.parser.map(a => ({ type: aKey as AKey, ...a }))) - .alt(bMatch.parser.map(b => ({ type: bKey as BKey, ...b }))) - .alt(cMatch.parser.map(c => ({ type: cKey as CKey, ...c }))) - .alt(dMatch.parser.map(d => ({ type: dKey as DKey, ...d }))) - .alt(eMatch.parser.map(e => ({ type: eKey as EKey, ...e }))) - .alt(fMatch.parser.map(f => ({ type: fKey as FKey, ...f }))) - .alt(gMatch.parser.map(g => ({ type: gKey as GKey, ...g }))) - .alt(hMatch.parser.map(h => ({ type: hKey as HKey, ...h }))) - .alt(iMatch.parser.map(i => ({ type: iKey as IKey, ...i }))) - .alt(jMatch.parser.map(j => ({ type: jKey as JKey, ...j }))) - .alt(kMatch.parser.map(k => ({ type: kKey as KKey, ...k }))) - .alt(lMatch.parser.map(l => ({ type: lKey as LKey, ...l }))) - .alt(mMatch.parser.map(m => ({ type: mKey as MKey, ...m }))) - .alt(nMatch.parser.map(n => ({ type: nKey as NKey, ...n }))) - .alt(oMatch.parser.map(o => ({ type: oKey as OKey, ...o }))) - .alt(pMatch.parser.map(p => ({ type: pKey as PKey, ...p }))) - const format = ( - adt: RouteAdt - ): string => { - if (adt.type === 'NotFound') { - return R.format(R.end.formatter, {}); - } - if (adt.type === aKey) { - return R.format(aMatch.formatter, adt as A); - } - if (adt.type === bKey) { - return R.format(bMatch.formatter, adt as B); - } - if (adt.type === cKey) { - return R.format(cMatch.formatter, adt as C); - } - if (adt.type === dKey) { - return R.format(dMatch.formatter, adt as D); - } - if (adt.type === eKey) { - return R.format(eMatch.formatter, adt as E); - } - if (adt.type === fKey) { - return R.format(fMatch.formatter, adt as F); - } - if (adt.type === gKey) { - return R.format(gMatch.formatter, adt as G); - } - if (adt.type === hKey) { - return R.format(hMatch.formatter, adt as H); - } - if (adt.type === iKey) { - return R.format(iMatch.formatter, adt as I); - } - if (adt.type === jKey) { - return R.format(jMatch.formatter, adt as J); - } - if (adt.type === kKey) { - return R.format(kMatch.formatter, adt as K); - } - if (adt.type === lKey) { - return R.format(lMatch.formatter, adt as L); - } - if (adt.type === mKey) { - return R.format(mMatch.formatter, adt as M); - } - if (adt.type === nKey) { - return R.format(nMatch.formatter, adt as N); - } - if (adt.type === oKey) { - return R.format(oMatch.formatter, adt as O); - } - return R.format(pMatch.formatter, adt as P); - } - return { - parse: (path: string) => R.parse(parser, R.Route.parse(path), { type: 'NotFound' }), - format, - }; -}; \ No newline at end of file diff --git a/src/RoutingFromMatches17.ts b/src/RoutingFromMatches17.ts deleted file mode 100644 index ea9838e..0000000 --- a/src/RoutingFromMatches17.ts +++ /dev/null @@ -1,141 +0,0 @@ -import * as R from 'fp-ts-routing'; -export const routingFromMatches17 = < - A, - B, - C, - D, - E, - F, - G, - H, - I, - J, - K, - L, - M, - N, - O, - P, - Q, - AKey extends string, - BKey extends string, - CKey extends string, - DKey extends string, - EKey extends string, - FKey extends string, - GKey extends string, - HKey extends string, - IKey extends string, - JKey extends string, - KKey extends string, - LKey extends string, - MKey extends string, - NKey extends string, - OKey extends string, - PKey extends string, - QKey extends string, ->( - [aKey, aMatch]: [AKey, R.Match], - [bKey, bMatch]: [BKey, R.Match], - [cKey, cMatch]: [CKey, R.Match], - [dKey, dMatch]: [DKey, R.Match], - [eKey, eMatch]: [EKey, R.Match], - [fKey, fMatch]: [FKey, R.Match], - [gKey, gMatch]: [GKey, R.Match], - [hKey, hMatch]: [HKey, R.Match], - [iKey, iMatch]: [IKey, R.Match], - [jKey, jMatch]: [JKey, R.Match], - [kKey, kMatch]: [KKey, R.Match], - [lKey, lMatch]: [LKey, R.Match], - [mKey, mMatch]: [MKey, R.Match], - [nKey, nMatch]: [NKey, R.Match], - [oKey, oMatch]: [OKey, R.Match], - [pKey, pMatch]: [PKey, R.Match