pg-mvc-service 2.0.69 → 2.0.71
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.
|
@@ -43,6 +43,10 @@ class ResponseType extends ReqResType_1.default {
|
|
|
43
43
|
case 'array?':
|
|
44
44
|
data[key] = this.getArray([key]);
|
|
45
45
|
break;
|
|
46
|
+
case 'map':
|
|
47
|
+
case 'map?':
|
|
48
|
+
data[key] = this.getMap([key]);
|
|
49
|
+
break;
|
|
46
50
|
default:
|
|
47
51
|
data[key] = this.getValue([key]);
|
|
48
52
|
break;
|
|
@@ -81,6 +85,10 @@ class ResponseType extends ReqResType_1.default {
|
|
|
81
85
|
case 'array?':
|
|
82
86
|
resData[key] = this.getArray([...keys, key]);
|
|
83
87
|
break;
|
|
88
|
+
case 'map':
|
|
89
|
+
case 'map?':
|
|
90
|
+
resData[key] = this.getMap([...keys, key]);
|
|
91
|
+
break;
|
|
84
92
|
default:
|
|
85
93
|
resData[key] = this.getValue([...keys, key]);
|
|
86
94
|
break;
|
|
@@ -114,6 +122,10 @@ class ResponseType extends ReqResType_1.default {
|
|
|
114
122
|
case 'array?':
|
|
115
123
|
resData.push(this.getArray([...keys, i]));
|
|
116
124
|
break;
|
|
125
|
+
case 'map':
|
|
126
|
+
case 'map?':
|
|
127
|
+
resData.push(this.getMap([...keys, i]));
|
|
128
|
+
break;
|
|
117
129
|
default:
|
|
118
130
|
resData.push(this.getValue([...keys, i]));
|
|
119
131
|
break;
|
|
@@ -122,6 +134,51 @@ class ResponseType extends ReqResType_1.default {
|
|
|
122
134
|
return resData;
|
|
123
135
|
}
|
|
124
136
|
/**
|
|
137
|
+
* Retrieve array type data
|
|
138
|
+
* 配列型のデータを取得
|
|
139
|
+
* @param {Array.<string|number>} keys - Path to the property, プロパティへのパス
|
|
140
|
+
* @returns {Array<any> | undefined} Retrieved array data, 取得された配列データ
|
|
141
|
+
*/
|
|
142
|
+
getMap(keys) {
|
|
143
|
+
const data = this.getData(keys);
|
|
144
|
+
if (data === undefined || Array.isArray(data) === false) {
|
|
145
|
+
return undefined;
|
|
146
|
+
}
|
|
147
|
+
const mapProperty = this.getProperty(keys);
|
|
148
|
+
if (mapProperty.type !== 'map' && mapProperty.type !== 'map?') {
|
|
149
|
+
throw new Error(`getMapメソッドでMap型以外が入力された場合はエラー\n keys: ${keys.join(',')}`);
|
|
150
|
+
}
|
|
151
|
+
console.log("getMap: keys : ", keys);
|
|
152
|
+
console.log("getMap: data : ", keys);
|
|
153
|
+
const mapData = {};
|
|
154
|
+
for (const [key, value] of data) {
|
|
155
|
+
console.log("getMap: key : ", key);
|
|
156
|
+
console.log("getMap: value : ", value);
|
|
157
|
+
switch (mapProperty.mapType) {
|
|
158
|
+
case 'number':
|
|
159
|
+
case 'number?':
|
|
160
|
+
if (this.isNumber(value) === false) {
|
|
161
|
+
continue;
|
|
162
|
+
}
|
|
163
|
+
mapData[key] = Number(value);
|
|
164
|
+
break;
|
|
165
|
+
case 'string':
|
|
166
|
+
case 'string?':
|
|
167
|
+
switch (typeof value) {
|
|
168
|
+
case 'number':
|
|
169
|
+
mapData[key] = value.toString();
|
|
170
|
+
break;
|
|
171
|
+
case 'string':
|
|
172
|
+
mapData[key] = value;
|
|
173
|
+
break;
|
|
174
|
+
default:
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return mapData;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
125
182
|
* Retrieve data based on the provided keys
|
|
126
183
|
* 指定されたキーに基づいてデータを取得
|
|
127
184
|
* @param {Array.<string|number>} keys - Path to the data, データへのパス
|
package/package.json
CHANGED
|
@@ -40,6 +40,10 @@ export class ResponseType extends ReqResType {
|
|
|
40
40
|
case 'array?':
|
|
41
41
|
data[key] = this.getArray([key]);
|
|
42
42
|
break;
|
|
43
|
+
case 'map':
|
|
44
|
+
case 'map?':
|
|
45
|
+
data[key] = this.getMap([key]);
|
|
46
|
+
break;
|
|
43
47
|
default:
|
|
44
48
|
data[key] = this.getValue([key]);
|
|
45
49
|
break;
|
|
@@ -85,6 +89,10 @@ export class ResponseType extends ReqResType {
|
|
|
85
89
|
case 'array?':
|
|
86
90
|
resData[key] = this.getArray([...keys, key]);
|
|
87
91
|
break;
|
|
92
|
+
case 'map':
|
|
93
|
+
case 'map?':
|
|
94
|
+
resData[key] = this.getMap([...keys, key]);
|
|
95
|
+
break;
|
|
88
96
|
default:
|
|
89
97
|
resData[key] = this.getValue([...keys, key]);
|
|
90
98
|
break;
|
|
@@ -123,6 +131,10 @@ export class ResponseType extends ReqResType {
|
|
|
123
131
|
case 'array?':
|
|
124
132
|
resData.push(this.getArray([...keys, i]));
|
|
125
133
|
break;
|
|
134
|
+
case 'map':
|
|
135
|
+
case 'map?':
|
|
136
|
+
resData.push(this.getMap([...keys, i]));
|
|
137
|
+
break;
|
|
126
138
|
default:
|
|
127
139
|
resData.push(this.getValue([...keys, i]));
|
|
128
140
|
break;
|
|
@@ -132,6 +144,56 @@ export class ResponseType extends ReqResType {
|
|
|
132
144
|
return resData;
|
|
133
145
|
}
|
|
134
146
|
|
|
147
|
+
/**
|
|
148
|
+
* Retrieve array type data
|
|
149
|
+
* 配列型のデータを取得
|
|
150
|
+
* @param {Array.<string|number>} keys - Path to the property, プロパティへのパス
|
|
151
|
+
* @returns {Array<any> | undefined} Retrieved array data, 取得された配列データ
|
|
152
|
+
*/
|
|
153
|
+
private getMap(keys: Array<string | number>) {
|
|
154
|
+
|
|
155
|
+
const data = this.getData(keys);
|
|
156
|
+
if (data === undefined || Array.isArray(data) === false) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const mapProperty = this.getProperty(keys);
|
|
161
|
+
if (mapProperty.type !== 'map' && mapProperty.type !== 'map?') {
|
|
162
|
+
throw new Error(`getMapメソッドでMap型以外が入力された場合はエラー\n keys: ${keys.join(',')}`);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
console.log("getMap: keys : ", keys);
|
|
166
|
+
console.log("getMap: data : ", keys);
|
|
167
|
+
const mapData: {[key: string]: string | number} = {};
|
|
168
|
+
for (const [key, value] of data) {
|
|
169
|
+
console.log("getMap: key : ", key);
|
|
170
|
+
console.log("getMap: value : ", value);
|
|
171
|
+
switch (mapProperty.mapType) {
|
|
172
|
+
case 'number':
|
|
173
|
+
case 'number?':
|
|
174
|
+
if (this.isNumber(value) === false) {
|
|
175
|
+
continue;
|
|
176
|
+
}
|
|
177
|
+
mapData[key] = Number(value);
|
|
178
|
+
break;
|
|
179
|
+
case 'string':
|
|
180
|
+
case 'string?':
|
|
181
|
+
switch (typeof value) {
|
|
182
|
+
case 'number':
|
|
183
|
+
mapData[key] = value.toString();
|
|
184
|
+
break;
|
|
185
|
+
case 'string':
|
|
186
|
+
mapData[key] = value;
|
|
187
|
+
break;
|
|
188
|
+
default:
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return mapData;
|
|
195
|
+
}
|
|
196
|
+
|
|
135
197
|
/**
|
|
136
198
|
* Retrieve data based on the provided keys
|
|
137
199
|
* 指定されたキーに基づいてデータを取得
|