Skip to content

Commit e6f5f54

Browse files
committed
fix: import query helper & transform helper
1 parent bf6857e commit e6f5f54

File tree

1 file changed

+12
-51
lines changed

1 file changed

+12
-51
lines changed

src/modules/SqlizeQuery/SqlizeQuery.ts

+12-51
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
/* eslint-disable no-unused-vars */
12
import { DataTypes, Includeable, IncludeOptions, Model } from 'sequelize'
3+
import QueryHelper from 'modules/SqlizeQuery/QueryHelper'
4+
import TransformHelper from 'modules/SqlizeQuery/TransformHelper'
25

36
type ValueParsers = (value: any) => any
47
type TransformBuild = (value: any, transformHelper: TransformHelper) => any
@@ -80,54 +83,11 @@ export function getPrimitiveDataType<T>(dataType: T) {
8083
return 'string'
8184
}
8285

83-
class TransformHelper<T = any> {
84-
private value: T | undefined
85-
86-
constructor(initialValue: any) {
87-
this.setValue(initialValue)
88-
}
89-
90-
setValue(value: any) {
91-
this.value = value
92-
}
93-
94-
getValue() {
95-
return this.value
96-
}
97-
}
98-
99-
class QueryHelper {
100-
private valueQuery: any = {}
101-
private data: any[]
102-
constructor(data: any[]) {
103-
this.data = data
104-
}
105-
106-
getDataValueById(id: any) {
107-
return this.data.find((x) => x.id === id)?.value
108-
}
109-
110-
setQuery(id: any, value: any) {
111-
// set(this.valueQuery, id, value)
112-
this.valueQuery[id] = value
113-
}
114-
115-
getQuery() {
116-
return this.valueQuery
117-
}
118-
119-
getQueryById(id: any) {
120-
return this.valueQuery[id]
121-
}
122-
123-
deleteQuery(id: any) {
124-
return delete this.valueQuery[id]
125-
}
126-
}
127-
12886
class SqlizeQuery {
12987
private valueParsers: ValueParsers[] = []
88+
13089
private transformBuilds: TransformBuild[] = []
90+
13191
private queryBuilders: QueryBuilders[] = []
13292

13393
addValueParser(fn: ValueParsers) {
@@ -144,24 +104,24 @@ class SqlizeQuery {
144104

145105
build(value: any) {
146106
let parserValue = value as any[]
147-
for (let i = 0; i < this.valueParsers.length; i++) {
107+
for (let i = 0; i < this.valueParsers.length; i += 1) {
148108
const getterValue = this.valueParsers[i]
149109
parserValue = getterValue(value)
150110
}
151111

152112
const queryHelper = new QueryHelper(parserValue)
153113
// executed queryBuilder min 1, when parserValue no data
154-
for (let i = 0; i < (parserValue.length || 1); i++) {
114+
for (let i = 0; i < (parserValue.length || 1); i += 1) {
155115
const valueP = parserValue[i]
156-
for (let k = 0; k < this.queryBuilders.length; k++) {
116+
for (let k = 0; k < this.queryBuilders.length; k += 1) {
157117
const queryBuilder = this.queryBuilders[k]
158118
queryBuilder(valueP, queryHelper)
159119
}
160120
}
161121

162-
let result = queryHelper.getQuery()
122+
const result = queryHelper.getQuery()
163123
const transformHelper = new TransformHelper(result)
164-
for (let i = 0; i < this.transformBuilds.length; i++) {
124+
for (let i = 0; i < this.transformBuilds.length; i += 1) {
165125
const transformBuild = this.transformBuilds[i]
166126
transformBuild(result, transformHelper)
167127
}
@@ -184,7 +144,7 @@ export function transfromIncludeToQueryable(
184144
return value
185145
}
186146
function wrapFiltered(includes: Includeable[], parent?: IncludeOptions) {
187-
for (let i = 0; i < includes.length; i++) {
147+
for (let i = 0; i < includes.length; i += 1) {
188148
const include = includes[i] as CustomIncludeOptions
189149

190150
const { model, key, include: oriInclude, ...restInclude } = include
@@ -200,6 +160,7 @@ export function transfromIncludeToQueryable(
200160
} as IncludeOptions)
201161

202162
if (parent) {
163+
// eslint-disable-next-line no-param-reassign
203164
parent.include = parent.include || []
204165
parent.include.push(data)
205166
} else {

0 commit comments

Comments
 (0)