pwi-plata-type 0.4.201 → 0.4.202
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/package.json +58 -58
- package/src/@types/build.d.ts +26 -26
- package/src/@types/cluster.actions.d.ts +27 -27
- package/src/@types/cluster.d.ts +55 -55
- package/src/@types/create-cli.d.ts +8 -8
- package/src/@types/exported.d.ts +34 -31
- package/src/@types/fs.d.ts +6 -6
- package/src/@types/global.d.ts +131 -131
- package/src/@types/knex.d.ts +13 -13
- package/src/@types/model.d.ts +143 -143
- package/src/@types/router.d.ts +107 -107
- package/src/@types/sql.d.ts +120 -120
- package/src/@types/swagger.d.ts +22 -22
- package/src/bin/extras/create-api-cli.ts +218 -218
- package/src/bin/extras/create-cluster-cli.ts +160 -160
- package/src/bin/extras/create-lib-cli.ts +84 -84
- package/src/bin/extras/plata-create-tools.ts +97 -97
- package/src/bin/plata-api.ts +189 -189
- package/src/bin/plata-build.ts +19 -19
- package/src/bin/plata-cluster.ts +42 -42
- package/src/bin/plata-cmd.ts +19 -19
- package/src/bin/plata-create.ts +50 -50
- package/src/bin/plata-runtime.ts +110 -110
- package/src/bin/plata-swagger.ts +104 -104
- package/src/index.ts +20 -20
- package/src/libs/axios.ts +32 -32
- package/src/libs/build.ts +234 -234
- package/src/libs/build_wasm.ts +169 -169
- package/src/libs/cluster/cluster-controller.ts +93 -93
- package/src/libs/cluster.ts +319 -319
- package/src/libs/custom.ts +21 -21
- package/src/libs/env.ts +10 -10
- package/src/libs/fs.ts +399 -399
- package/src/libs/hot-reload.ts +63 -63
- package/src/libs/job.ts +32 -32
- package/src/libs/models/index.ts +4 -4
- package/src/libs/models/model-template-combine.ts +93 -93
- package/src/libs/models/model-template-env.ts +58 -58
- package/src/libs/models/model-template-union.ts +87 -87
- package/src/libs/models/model-template.ts +111 -111
- package/src/libs/models/model-validations.ts +453 -453
- package/src/libs/models/tools.ts +196 -196
- package/src/libs/router.ts +184 -184
- package/src/libs/runtime.ts +328 -328
- package/src/libs/sql.ts +931 -931
- package/src/libs/swagger.ts +81 -81
- package/src/libs/tools.ts +236 -236
- package/src/misc/golang/wasm_exec.js +574 -574
- package/src/scripts/post-install/api.ts +32 -32
- package/src/scripts/post-install/cluster.ts +28 -28
- package/src/scripts/post-install/lib.ts +25 -25
- package/src/scripts/post-install.ts +64 -64
- package/src/scripts/pre-test.ts +33 -33
- package/src/tests/1-config.test.ts +12 -12
- package/src/tests/2-effect.test.ts +107 -107
- package/src/tests/3-model.env.test.ts +66 -66
- package/src/tests/4-model.test.ts +150 -150
- package/src/tests/5-model.union.test.ts +160 -160
- package/src/tests/6-router.test.ts +44 -44
- package/src/tests/7-switch.test.ts +75 -75
- package/src/tests/8-brands.test.ts +52 -52
- package/src/tests/9-sql.test.ts +639 -639
- package/src/tests/assets/sql/example.sql +94 -94
- package/templates/create-cli/class.ts +13 -13
- package/templates/create-cli/cluster.ts +14 -14
- package/templates/create-cli/cmd.ts +3 -3
- package/templates/create-cli/config.ts +2 -2
- package/templates/create-cli/lib.ts +3 -3
- package/templates/create-cli/model.ts +14 -14
- package/templates/create-cli/route.ts +8 -8
- package/templates/create-cli/task.ts +13 -13
- package/templates/postinstall/api/.vscode/launch.json +20 -20
- package/templates/postinstall/api/Dockerfile +22 -22
- package/templates/postinstall/api/configs/env.ts +2 -2
- package/templates/postinstall/api/envs/debug.env +15 -15
- package/templates/postinstall/api/envs/homolog.env +15 -15
- package/templates/postinstall/api/envs/prod.env +15 -15
- package/templates/postinstall/api/tsconfig.json +24 -24
- package/templates/postinstall/cluster/.vscode/launch.json +20 -20
- package/templates/postinstall/cluster/Dockerfile +24 -24
- package/templates/postinstall/cluster/configs/env.ts +2 -2
- package/templates/postinstall/cluster/envs/debug.env +10 -10
- package/templates/postinstall/cluster/envs/homolog.env +10 -10
- package/templates/postinstall/cluster/envs/prod.env +10 -10
- package/templates/postinstall/cluster/tsconfig.json +24 -24
- package/templates/postinstall/lib/postinstall-tools.mjs +111 -111
- package/templates/postinstall/lib/postinstall.js +33 -33
- package/templates/postinstall/lib/tsconfig.json +22 -22
- package/templates/swagger-cli/header.json +21 -21
- package/templates/swagger-cli/route/body.json +14 -14
- package/templates/swagger-cli/route/header.json +18 -18
- package/templates/swagger-cli/route/response.json +53 -53
- package/tsconfig.json +28 -28
package/src/@types/router.d.ts
CHANGED
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
/// <reference types="express" />
|
|
2
|
-
|
|
3
|
-
import express from 'express'
|
|
4
|
-
|
|
5
|
-
declare global {
|
|
6
|
-
namespace Router {
|
|
7
|
-
type ListRouteParams<TRoute extends string> =
|
|
8
|
-
TRoute extends `/${infer TPart}/${infer TNextRoute}` ?
|
|
9
|
-
TPart extends `:${infer TParam}?` ? `${TParam}_O` | ListRouteParams<`/${TNextRoute}`>
|
|
10
|
-
: TPart extends `:${infer TParam}` ? `${TParam}_R` | ListRouteParams<`/${TNextRoute}`>
|
|
11
|
-
: undefined | ListRouteParams<`/${TNextRoute}`>
|
|
12
|
-
: TRoute extends `/${infer TPart}` ?
|
|
13
|
-
TPart extends `:${infer TParam}?` ? `${TParam}_O`
|
|
14
|
-
: TPart extends `:${infer TParam}` ? `${TParam}_R`
|
|
15
|
-
: undefined
|
|
16
|
-
: undefined
|
|
17
|
-
;
|
|
18
|
-
|
|
19
|
-
type GetRouteParams<TRoute extends string> = Exclude<ListRouteParams<TRoute>, undefined>
|
|
20
|
-
|
|
21
|
-
type GetUrlParams<TRoute extends string, TParams extends string = GetRouteParams<TRoute>> = {
|
|
22
|
-
[K in LooseAutocomplete<TParams> as K extends `${infer N}_${string}` ? N : string]: K extends `${string}_O` ? string | undefined : string
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
type expressRequest = Omit<express.Request, 'params'>
|
|
26
|
-
|
|
27
|
-
interface Request<T extends string = string> extends expressRequest {
|
|
28
|
-
user: any
|
|
29
|
-
extras: any
|
|
30
|
-
_onResponseEvent: PlataOnResponseEvent[]
|
|
31
|
-
params: GetUrlParams<T>
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
interface Response extends express.Response {
|
|
35
|
-
oldJson(body?: any): this
|
|
36
|
-
error(error: PlataError | PlataError[]): this
|
|
37
|
-
addOnResponseEvent<T = any>(callback: PlataOnResponseEvent<T>): void
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
type RequestHandler<T extends string = string> = (req: Request<T>, res: Response, next: express.NextFunction) => Promise<any>
|
|
41
|
-
|
|
42
|
-
type HttpPlataMethods =
|
|
43
|
-
"all"
|
|
44
|
-
| "get"
|
|
45
|
-
| "post"
|
|
46
|
-
| "put"
|
|
47
|
-
| "delete"
|
|
48
|
-
| "patch"
|
|
49
|
-
| "options"
|
|
50
|
-
| "head"
|
|
51
|
-
| "checkout"
|
|
52
|
-
| "connect"
|
|
53
|
-
| "copy"
|
|
54
|
-
| "lock"
|
|
55
|
-
| "merge"
|
|
56
|
-
| "mkactivity"
|
|
57
|
-
| "mkcol"
|
|
58
|
-
| "move"
|
|
59
|
-
| "notify"
|
|
60
|
-
| "propfind"
|
|
61
|
-
| "proppatch"
|
|
62
|
-
| "purge"
|
|
63
|
-
| "report"
|
|
64
|
-
| "search"
|
|
65
|
-
| "subscribe"
|
|
66
|
-
| "trace"
|
|
67
|
-
| "unlock"
|
|
68
|
-
| "unsubscribe"
|
|
69
|
-
| "use"
|
|
70
|
-
;
|
|
71
|
-
|
|
72
|
-
interface CustomHttpMethods {}
|
|
73
|
-
|
|
74
|
-
type HttpMethods =
|
|
75
|
-
HttpPlataMethods
|
|
76
|
-
| keyof CustomHttpMethods
|
|
77
|
-
;
|
|
78
|
-
|
|
79
|
-
interface Route {
|
|
80
|
-
path?: string
|
|
81
|
-
method: string
|
|
82
|
-
handlers: RequestHandler[],
|
|
83
|
-
swaggerHide?: boolean | undefined
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
type RouterConfig<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
87
|
-
swaggerHide?: boolean
|
|
88
|
-
routes: Route[]
|
|
89
|
-
httpRoute: string
|
|
90
|
-
mark: T
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
type Router = RouterConfig & {
|
|
94
|
-
[method in HttpMethods]:
|
|
95
|
-
method extends keyof CustomHttpMethods ?
|
|
96
|
-
CustomHttpMethods[method]
|
|
97
|
-
: <T extends string>(path: T | RequestHandler, ...handlers: RequestHandler<T>[]) => void | Promise<void>
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
type RouterBuilder = (r: Router) => Promise<Router>
|
|
101
|
-
|
|
102
|
-
export interface RequiredRoute extends RequiredInterface<RouterBuilder> {
|
|
103
|
-
httpRoute: string
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
type PlataOnResponseEvent<T = any> = (aReq: Request, aRes?: Response, body?: T, error?: PlataError | PlataError[]) => Promise<any>
|
|
107
|
-
}
|
|
1
|
+
/// <reference types="express" />
|
|
2
|
+
|
|
3
|
+
import express from 'express'
|
|
4
|
+
|
|
5
|
+
declare global {
|
|
6
|
+
namespace Router {
|
|
7
|
+
type ListRouteParams<TRoute extends string> =
|
|
8
|
+
TRoute extends `/${infer TPart}/${infer TNextRoute}` ?
|
|
9
|
+
TPart extends `:${infer TParam}?` ? `${TParam}_O` | ListRouteParams<`/${TNextRoute}`>
|
|
10
|
+
: TPart extends `:${infer TParam}` ? `${TParam}_R` | ListRouteParams<`/${TNextRoute}`>
|
|
11
|
+
: undefined | ListRouteParams<`/${TNextRoute}`>
|
|
12
|
+
: TRoute extends `/${infer TPart}` ?
|
|
13
|
+
TPart extends `:${infer TParam}?` ? `${TParam}_O`
|
|
14
|
+
: TPart extends `:${infer TParam}` ? `${TParam}_R`
|
|
15
|
+
: undefined
|
|
16
|
+
: undefined
|
|
17
|
+
;
|
|
18
|
+
|
|
19
|
+
type GetRouteParams<TRoute extends string> = Exclude<ListRouteParams<TRoute>, undefined>
|
|
20
|
+
|
|
21
|
+
type GetUrlParams<TRoute extends string, TParams extends string = GetRouteParams<TRoute>> = {
|
|
22
|
+
[K in LooseAutocomplete<TParams> as K extends `${infer N}_${string}` ? N : string]: K extends `${string}_O` ? string | undefined : string
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
type expressRequest = Omit<express.Request, 'params'>
|
|
26
|
+
|
|
27
|
+
interface Request<T extends string = string> extends expressRequest {
|
|
28
|
+
user: any
|
|
29
|
+
extras: any
|
|
30
|
+
_onResponseEvent: PlataOnResponseEvent[]
|
|
31
|
+
params: GetUrlParams<T>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
interface Response extends express.Response {
|
|
35
|
+
oldJson(body?: any): this
|
|
36
|
+
error(error: PlataError | PlataError[]): this
|
|
37
|
+
addOnResponseEvent<T = any>(callback: PlataOnResponseEvent<T>): void
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
type RequestHandler<T extends string = string> = (req: Request<T>, res: Response, next: express.NextFunction) => Promise<any>
|
|
41
|
+
|
|
42
|
+
type HttpPlataMethods =
|
|
43
|
+
"all"
|
|
44
|
+
| "get"
|
|
45
|
+
| "post"
|
|
46
|
+
| "put"
|
|
47
|
+
| "delete"
|
|
48
|
+
| "patch"
|
|
49
|
+
| "options"
|
|
50
|
+
| "head"
|
|
51
|
+
| "checkout"
|
|
52
|
+
| "connect"
|
|
53
|
+
| "copy"
|
|
54
|
+
| "lock"
|
|
55
|
+
| "merge"
|
|
56
|
+
| "mkactivity"
|
|
57
|
+
| "mkcol"
|
|
58
|
+
| "move"
|
|
59
|
+
| "notify"
|
|
60
|
+
| "propfind"
|
|
61
|
+
| "proppatch"
|
|
62
|
+
| "purge"
|
|
63
|
+
| "report"
|
|
64
|
+
| "search"
|
|
65
|
+
| "subscribe"
|
|
66
|
+
| "trace"
|
|
67
|
+
| "unlock"
|
|
68
|
+
| "unsubscribe"
|
|
69
|
+
| "use"
|
|
70
|
+
;
|
|
71
|
+
|
|
72
|
+
interface CustomHttpMethods {}
|
|
73
|
+
|
|
74
|
+
type HttpMethods =
|
|
75
|
+
HttpPlataMethods
|
|
76
|
+
| keyof CustomHttpMethods
|
|
77
|
+
;
|
|
78
|
+
|
|
79
|
+
interface Route {
|
|
80
|
+
path?: string
|
|
81
|
+
method: string
|
|
82
|
+
handlers: RequestHandler[],
|
|
83
|
+
swaggerHide?: boolean | undefined
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
type RouterConfig<T extends Record<string, unknown> = Record<string, unknown>> = {
|
|
87
|
+
swaggerHide?: boolean
|
|
88
|
+
routes: Route[]
|
|
89
|
+
httpRoute: string
|
|
90
|
+
mark: T
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
type Router = RouterConfig & {
|
|
94
|
+
[method in HttpMethods]:
|
|
95
|
+
method extends keyof CustomHttpMethods ?
|
|
96
|
+
CustomHttpMethods[method]
|
|
97
|
+
: <T extends string>(path: T | RequestHandler, ...handlers: RequestHandler<T>[]) => void | Promise<void>
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type RouterBuilder = (r: Router) => Promise<Router>
|
|
101
|
+
|
|
102
|
+
export interface RequiredRoute extends RequiredInterface<RouterBuilder> {
|
|
103
|
+
httpRoute: string
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
type PlataOnResponseEvent<T = any> = (aReq: Request, aRes?: Response, body?: T, error?: PlataError | PlataError[]) => Promise<any>
|
|
107
|
+
}
|
|
108
108
|
}
|
package/src/@types/sql.d.ts
CHANGED
|
@@ -1,121 +1,121 @@
|
|
|
1
|
-
import { Knex } from 'knex'
|
|
2
|
-
import moment from 'moment'
|
|
3
|
-
|
|
4
|
-
import "@total-typescript/ts-reset/dist/filter-boolean"
|
|
5
|
-
import { ModelTemplate } from '++/libs/models'
|
|
6
|
-
import { PlataSql } from '..'
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
declare global {
|
|
10
|
-
namespace Sql {
|
|
11
|
-
|
|
12
|
-
type SqlRawSelectColTypes =
|
|
13
|
-
| 'number'
|
|
14
|
-
| 'date'
|
|
15
|
-
| 'string'
|
|
16
|
-
;
|
|
17
|
-
|
|
18
|
-
type SqlRawSelectCamp<T> =
|
|
19
|
-
[col: (s: Knex.QueryBuilder<T, any>) => Knex.QueryBuilder<T, any>, type: SqlRawSelectColTypes, required?: 'required' ]
|
|
20
|
-
;
|
|
21
|
-
|
|
22
|
-
type SqlRawSelectColTypesValues<V extends SqlRawSelectColTypes> =
|
|
23
|
-
V extends 'number' ? number
|
|
24
|
-
: V extends 'date' ? Date
|
|
25
|
-
: V extends 'string' ? string
|
|
26
|
-
: never
|
|
27
|
-
;
|
|
28
|
-
|
|
29
|
-
type isRequired<I> =
|
|
30
|
-
I extends 'required' ? undefined
|
|
31
|
-
: null
|
|
32
|
-
;
|
|
33
|
-
|
|
34
|
-
interface SqlRawSelectInfo<T> {
|
|
35
|
-
table: string
|
|
36
|
-
cols: Record<string, SqlRawSelectCamp<T>>
|
|
37
|
-
query: (s: Knex.QueryBuilder<T, any>, t: T) => Knex.QueryBuilder<any, any>,
|
|
38
|
-
comments?: Record<string, string>
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
type ExtractSqlRawSelectInfo<const I extends SqlRawSelectInfo<any>> =
|
|
42
|
-
Prettify<{
|
|
43
|
-
[K in keyof I['cols']]: Exclude<SqlRawSelectColTypesValues<I['cols'][K][1]> | isRequired<I['cols'][K][2]>, undefined>
|
|
44
|
-
}>
|
|
45
|
-
;
|
|
46
|
-
|
|
47
|
-
type SqlGetFunc<const T extends ModelTemplate,const D extends boolean = false> =
|
|
48
|
-
(builder: Sql.Builder<T['template']>, sql: PlataSql.Driver<D>) => PlataPromise<T['type'][]>
|
|
49
|
-
;
|
|
50
|
-
|
|
51
|
-
interface CacheTable {
|
|
52
|
-
coluns: Record<string | number | symbol, Knex.ColumnInfo>
|
|
53
|
-
date: Date
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
interface InsertOptions {
|
|
57
|
-
ignoreTrigger?: true
|
|
58
|
-
comments?: Record<string, string>
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
interface UpdateOptions {
|
|
62
|
-
comments?: Record<string, string>
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
interface SelectOptions {
|
|
66
|
-
comments?: Record<string, string>
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
type ModelQueryBuilder<T extends Model.Template> =
|
|
70
|
-
Knex.QueryBuilder<Model.ExtractTemplateType<T>, Model.ExtractTemplateType<T>[]>
|
|
71
|
-
;
|
|
72
|
-
|
|
73
|
-
type Builder<T extends Model.Template> =
|
|
74
|
-
(s: ModelQueryBuilder<T>) => ModelQueryBuilder<T>
|
|
75
|
-
;
|
|
76
|
-
|
|
77
|
-
interface StreamHandler {
|
|
78
|
-
close: <Y>() => PlataPromise<Y>
|
|
79
|
-
row: <T>(row: T) => Promise<boolean>
|
|
80
|
-
error?: (err) => Promise<void>
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
type ModelList<T extends Model.Template> = PlataPromise<{
|
|
84
|
-
errors: undefined
|
|
85
|
-
itens: Model.ExtractTemplateType<T>[]
|
|
86
|
-
} | {
|
|
87
|
-
errors: PlataError[]
|
|
88
|
-
itens: Model.ExtractTemplateTypeNotValid<T>[]
|
|
89
|
-
}>
|
|
90
|
-
|
|
91
|
-
type EachRowCallBack<T extends Model.Template> =
|
|
92
|
-
(x: Model.ModelValidateReturn<T>) => PlataPromise<true>
|
|
93
|
-
;
|
|
94
|
-
|
|
95
|
-
type TimeZoneDate = Date & { __type: 'sql' }
|
|
96
|
-
|
|
97
|
-
type TransactionFunction<T, Y> = (sql: T) => Promise<Y>
|
|
98
|
-
|
|
99
|
-
type TransactionReturn =
|
|
100
|
-
| boolean
|
|
101
|
-
| string
|
|
102
|
-
| number
|
|
103
|
-
| Record<string, any>
|
|
104
|
-
| ((...args: any[]) => any)
|
|
105
|
-
;
|
|
106
|
-
type TransactionResultFunction<T, Y extends TransactionReturn> = (sql: T) => PlataPromise<Y>
|
|
107
|
-
|
|
108
|
-
type Joins =
|
|
109
|
-
'JOIN'
|
|
110
|
-
| `${
|
|
111
|
-
'LEFT'
|
|
112
|
-
| 'CROSS'
|
|
113
|
-
| 'INNER'
|
|
114
|
-
| 'OUTER'
|
|
115
|
-
| 'RIGHT'
|
|
116
|
-
| 'FULL OUTER'
|
|
117
|
-
| 'LEFT OUTER'
|
|
118
|
-
} JOIN`
|
|
119
|
-
;
|
|
120
|
-
}
|
|
1
|
+
import { Knex } from 'knex'
|
|
2
|
+
import moment from 'moment'
|
|
3
|
+
|
|
4
|
+
import "@total-typescript/ts-reset/dist/filter-boolean"
|
|
5
|
+
import { ModelTemplate } from '++/libs/models'
|
|
6
|
+
import { PlataSql } from '..'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
declare global {
|
|
10
|
+
namespace Sql {
|
|
11
|
+
|
|
12
|
+
type SqlRawSelectColTypes =
|
|
13
|
+
| 'number'
|
|
14
|
+
| 'date'
|
|
15
|
+
| 'string'
|
|
16
|
+
;
|
|
17
|
+
|
|
18
|
+
type SqlRawSelectCamp<T> =
|
|
19
|
+
[col: (s: Knex.QueryBuilder<T, any>) => Knex.QueryBuilder<T, any>, type: SqlRawSelectColTypes, required?: 'required' ]
|
|
20
|
+
;
|
|
21
|
+
|
|
22
|
+
type SqlRawSelectColTypesValues<V extends SqlRawSelectColTypes> =
|
|
23
|
+
V extends 'number' ? number
|
|
24
|
+
: V extends 'date' ? Date
|
|
25
|
+
: V extends 'string' ? string
|
|
26
|
+
: never
|
|
27
|
+
;
|
|
28
|
+
|
|
29
|
+
type isRequired<I> =
|
|
30
|
+
I extends 'required' ? undefined
|
|
31
|
+
: null
|
|
32
|
+
;
|
|
33
|
+
|
|
34
|
+
interface SqlRawSelectInfo<T> {
|
|
35
|
+
table: string
|
|
36
|
+
cols: Record<string, SqlRawSelectCamp<T>>
|
|
37
|
+
query: (s: Knex.QueryBuilder<T, any>, t: T) => Knex.QueryBuilder<any, any>,
|
|
38
|
+
comments?: Record<string, string>
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
type ExtractSqlRawSelectInfo<const I extends SqlRawSelectInfo<any>> =
|
|
42
|
+
Prettify<{
|
|
43
|
+
[K in keyof I['cols']]: Exclude<SqlRawSelectColTypesValues<I['cols'][K][1]> | isRequired<I['cols'][K][2]>, undefined>
|
|
44
|
+
}>
|
|
45
|
+
;
|
|
46
|
+
|
|
47
|
+
type SqlGetFunc<const T extends ModelTemplate,const D extends boolean = false> =
|
|
48
|
+
(builder: Sql.Builder<T['template']>, sql: PlataSql.Driver<D>) => PlataPromise<T['type'][]>
|
|
49
|
+
;
|
|
50
|
+
|
|
51
|
+
interface CacheTable {
|
|
52
|
+
coluns: Record<string | number | symbol, Knex.ColumnInfo>
|
|
53
|
+
date: Date
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
interface InsertOptions {
|
|
57
|
+
ignoreTrigger?: true
|
|
58
|
+
comments?: Record<string, string>
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
interface UpdateOptions {
|
|
62
|
+
comments?: Record<string, string>
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
interface SelectOptions {
|
|
66
|
+
comments?: Record<string, string>
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
type ModelQueryBuilder<T extends Model.Template> =
|
|
70
|
+
Knex.QueryBuilder<Model.ExtractTemplateType<T>, Model.ExtractTemplateType<T>[]>
|
|
71
|
+
;
|
|
72
|
+
|
|
73
|
+
type Builder<T extends Model.Template> =
|
|
74
|
+
(s: ModelQueryBuilder<T>) => ModelQueryBuilder<T>
|
|
75
|
+
;
|
|
76
|
+
|
|
77
|
+
interface StreamHandler {
|
|
78
|
+
close: <Y>() => PlataPromise<Y>
|
|
79
|
+
row: <T>(row: T) => Promise<boolean>
|
|
80
|
+
error?: (err) => Promise<void>
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
type ModelList<T extends Model.Template> = PlataPromise<{
|
|
84
|
+
errors: undefined
|
|
85
|
+
itens: Model.ExtractTemplateType<T>[]
|
|
86
|
+
} | {
|
|
87
|
+
errors: PlataError[]
|
|
88
|
+
itens: Model.ExtractTemplateTypeNotValid<T>[]
|
|
89
|
+
}>
|
|
90
|
+
|
|
91
|
+
type EachRowCallBack<T extends Model.Template> =
|
|
92
|
+
(x: Model.ModelValidateReturn<T>) => PlataPromise<true>
|
|
93
|
+
;
|
|
94
|
+
|
|
95
|
+
type TimeZoneDate = Date & { __type: 'sql' }
|
|
96
|
+
|
|
97
|
+
type TransactionFunction<T, Y> = (sql: T) => Promise<Y>
|
|
98
|
+
|
|
99
|
+
type TransactionReturn =
|
|
100
|
+
| boolean
|
|
101
|
+
| string
|
|
102
|
+
| number
|
|
103
|
+
| Record<string, any>
|
|
104
|
+
| ((...args: any[]) => any)
|
|
105
|
+
;
|
|
106
|
+
type TransactionResultFunction<T, Y extends TransactionReturn> = (sql: T) => PlataPromise<Y>
|
|
107
|
+
|
|
108
|
+
type Joins =
|
|
109
|
+
'JOIN'
|
|
110
|
+
| `${
|
|
111
|
+
'LEFT'
|
|
112
|
+
| 'CROSS'
|
|
113
|
+
| 'INNER'
|
|
114
|
+
| 'OUTER'
|
|
115
|
+
| 'RIGHT'
|
|
116
|
+
| 'FULL OUTER'
|
|
117
|
+
| 'LEFT OUTER'
|
|
118
|
+
} JOIN`
|
|
119
|
+
;
|
|
120
|
+
}
|
|
121
121
|
}
|
package/src/@types/swagger.d.ts
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
declare namespace SwaggerGen {
|
|
2
|
-
interface RouteParameter {
|
|
3
|
-
name: string,
|
|
4
|
-
required: boolean,
|
|
5
|
-
in: 'path',
|
|
6
|
-
type: 'string'
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
interface Route {
|
|
10
|
-
httpRoute: string
|
|
11
|
-
method: string
|
|
12
|
-
params: RouteParameter[]
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
interface Files {
|
|
16
|
-
swaggerHeader: any
|
|
17
|
-
route: {
|
|
18
|
-
header: any,
|
|
19
|
-
body: any,
|
|
20
|
-
response: any,
|
|
21
|
-
}
|
|
22
|
-
}
|
|
1
|
+
declare namespace SwaggerGen {
|
|
2
|
+
interface RouteParameter {
|
|
3
|
+
name: string,
|
|
4
|
+
required: boolean,
|
|
5
|
+
in: 'path',
|
|
6
|
+
type: 'string'
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
interface Route {
|
|
10
|
+
httpRoute: string
|
|
11
|
+
method: string
|
|
12
|
+
params: RouteParameter[]
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface Files {
|
|
16
|
+
swaggerHeader: any
|
|
17
|
+
route: {
|
|
18
|
+
header: any,
|
|
19
|
+
body: any,
|
|
20
|
+
response: any,
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
23
|
}
|