typia 5.0.0-dev.20230810 → 5.0.0-dev.20230811

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.
@@ -37,6 +37,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.ProtobufFactory = void 0;
40
+ var Escaper_1 = require("../utils/Escaper");
40
41
  var MetadataFactory_1 = require("./MetadataFactory");
41
42
  var emplace_protocol_object_1 = require("./internal/protocols/emplace_protocol_object");
42
43
  var iterate_protocol_main_1 = require("./internal/protocols/iterate_protocol_main");
@@ -112,6 +113,14 @@ var ProtobufFactory;
112
113
  obj.properties.some(function (p) { return !p.key.isSoleLiteral(); });
113
114
  }))
114
115
  throw notSupportedError({ method: method })("object type with mixed static and dynamic key typed properties. Keep statics or dynamic only.");
116
+ else if (meta.objects.length &&
117
+ meta.objects.some(function (obj) {
118
+ return obj.properties.some(function (p) {
119
+ return p.key.isSoleLiteral() &&
120
+ !Escaper_1.Escaper.variable(p.key.getSoleLiteral());
121
+ });
122
+ }))
123
+ throw notSupportedError({ method: method })("object type with invalid static key name.");
115
124
  else if (meta.natives.length) {
116
125
  var banned = meta.natives
117
126
  .map(function (n) { return [n, BANNED_NATIVE_TYPES.get(n)]; })
@@ -124,9 +133,15 @@ var ProtobufFactory;
124
133
  ? banned[0]
125
134
  : "".concat(banned[0], ". Use ").concat(banned[1], " instead."));
126
135
  }
127
- else if (meta.maps.length &&
128
- meta.maps.some(function (m) { return !is_atomic_key(m.key); }))
136
+ else if (meta.maps.length && meta.maps.some(function (m) { return !isAtomicKey(m.key); }))
129
137
  throw notSupportedError({ method: method })("");
138
+ else if (meta.maps.length &&
139
+ meta.maps.some(function (m) { return !!m.value.arrays.length; }))
140
+ throw notSupportedError({ method: method })("map type with array value type");
141
+ else if (meta.objects.length &&
142
+ isDynamicObject(meta.objects[0]) &&
143
+ meta.objects[0].properties.some(function (p) { return !!p.value.arrays.length; }))
144
+ throw notSupportedError({ method: method })("dynamic object with array value type");
130
145
  else if (meta.arrays.length &&
131
146
  meta.arrays.some(function (a) { return a.value.size() > 1; }))
132
147
  throw notSupportedError({ method: method })("union type in array");
@@ -147,56 +162,56 @@ var ProtobufFactory;
147
162
  else if (meta.maps.length && meta.maps.some(function (m) { return isUnion(m.value); }))
148
163
  throw notSupportedError({ method: method })("union type in map");
149
164
  }; };
150
- var is_atomic_key = function (key) {
151
- var e_2, _a, e_3, _b;
152
- if (key.required &&
153
- key.nullable === false &&
154
- key.functional === false &&
155
- key.resolved === null &&
156
- key.size() ===
157
- key.atomics.length +
158
- key.constants
159
- .map(function (c) { return c.values.length; })
160
- .reduce(function (a, b) { return a + b; }, 0) +
161
- key.templates.length) {
162
- var set = new Set();
165
+ })(ProtobufFactory || (exports.ProtobufFactory = ProtobufFactory = {}));
166
+ var prefix = function (method) { return "Error on typia.protobuf.".concat(method, "():"); };
167
+ var notSupportedError = function (p) { return function (title) {
168
+ return new Error("".concat(prefix(p.method), ": protocol buffer does not support ").concat(title, "."));
169
+ }; };
170
+ var isAtomicKey = function (key) {
171
+ var e_2, _a, e_3, _b;
172
+ if (key.required &&
173
+ key.nullable === false &&
174
+ key.functional === false &&
175
+ key.resolved === null &&
176
+ key.size() ===
177
+ key.atomics.length +
178
+ key.constants
179
+ .map(function (c) { return c.values.length; })
180
+ .reduce(function (a, b) { return a + b; }, 0) +
181
+ key.templates.length) {
182
+ var set = new Set();
183
+ try {
184
+ for (var _c = __values(key.atomics), _d = _c.next(); !_d.done; _d = _c.next()) {
185
+ var atomic = _d.value;
186
+ set.add(atomic);
187
+ }
188
+ }
189
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
190
+ finally {
163
191
  try {
164
- for (var _c = __values(key.atomics), _d = _c.next(); !_d.done; _d = _c.next()) {
165
- var atomic = _d.value;
166
- set.add(atomic);
167
- }
192
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
168
193
  }
169
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
170
- finally {
171
- try {
172
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
173
- }
174
- finally { if (e_2) throw e_2.error; }
194
+ finally { if (e_2) throw e_2.error; }
195
+ }
196
+ try {
197
+ for (var _e = __values(key.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
198
+ var constant = _f.value;
199
+ set.add(constant.type);
175
200
  }
201
+ }
202
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
203
+ finally {
176
204
  try {
177
- for (var _e = __values(key.constants), _f = _e.next(); !_f.done; _f = _e.next()) {
178
- var constant = _f.value;
179
- set.add(constant.type);
180
- }
181
- }
182
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
183
- finally {
184
- try {
185
- if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
186
- }
187
- finally { if (e_3) throw e_3.error; }
205
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
188
206
  }
189
- if (key.templates.length)
190
- set.add("string");
191
- return set.size === 1;
207
+ finally { if (e_3) throw e_3.error; }
192
208
  }
193
- return false;
194
- };
195
- })(ProtobufFactory || (exports.ProtobufFactory = ProtobufFactory = {}));
196
- var prefix = function (method) { return "Error on typia.protobuf.".concat(method, "():"); };
197
- var notSupportedError = function (p) { return function (title) {
198
- return new Error("".concat(prefix(p.method), ": protocol buffer does not support ").concat(title, "."));
199
- }; };
209
+ if (key.templates.length)
210
+ set.add("string");
211
+ return set.size === 1;
212
+ }
213
+ return false;
214
+ };
200
215
  var isDynamicObject = function (obj) {
201
216
  return (obj.properties.length > 0 &&
202
217
  obj.properties[0].key.isSoleLiteral() === false);
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufFactory.js","sourceRoot":"","sources":["../../src/factories/ProtobufFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtobufFactory.js","sourceRoot":"","sources":["../../src/factories/ProtobufFactory.ts"],"names":[],"mappings":"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"}
@@ -119,11 +119,11 @@ var ProtobufMessageProgrammer;
119
119
  var type = decode(ptr)(prop.tags)(prop.value);
120
120
  return type.indexOf("${name}") !== -1
121
121
  ? type.replace("${name}", key)
122
- : "".concat(prop.value.arrays.length || key.startsWith("map<")
122
+ : "".concat(prop.value.arrays.length || type.startsWith("map<")
123
123
  ? ""
124
124
  : !prop.value.isRequired() || prop.value.nullable
125
125
  ? "optional "
126
- : "required").concat(type, " ").concat(key, " = ").concat(++ptr.value, ";");
126
+ : "required ").concat(type, " ").concat(key, " = ").concat(++ptr.value, ";");
127
127
  })
128
128
  .join("\n");
129
129
  };
@@ -207,8 +207,8 @@ var ProtobufMessageProgrammer;
207
207
  ? __spreadArray([], __read(elements), false)[0]
208
208
  : __spreadArray(__spreadArray([
209
209
  "oneof ${name} {"
210
- ], __read(__spreadArray([], __read(elements), false).map(function (str, i) {
211
- return "".concat(TAB).concat(str, " v").concat(i + 1, " = ").concat(++ptr.value, ";");
210
+ ], __read(__spreadArray([], __read(elements), false).map(function (str) {
211
+ return "".concat(TAB).concat(str, " v").concat(ptr.value + 1, " = ").concat(++ptr.value, ";");
212
212
  })), false), [
213
213
  "}",
214
214
  ], false).join("\n");
@@ -1 +1 @@
1
- {"version":3,"file":"ProtobufMessageProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufMessageProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtobufMessageProgrammer.js","sourceRoot":"","sources":["../../../src/programmers/protobuf/ProtobufMessageProgrammer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "5.0.0-dev.20230810",
3
+ "version": "5.0.0-dev.20230811",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -113,6 +113,7 @@
113
113
  "jsdom": "^21.1.1",
114
114
  "physical-cpu-count": "^2.0.0",
115
115
  "prettier": "^2.6.2",
116
+ "protobufjs": "^7.2.4",
116
117
  "reflect-metadata": "^0.1.13",
117
118
  "rimraf": "^3.0.2",
118
119
  "sloc": "^0.2.1",
@@ -4,6 +4,8 @@ import { Metadata } from "../schemas/metadata/Metadata";
4
4
  import { MetadataObject } from "../schemas/metadata/MetadataObject";
5
5
  import { IProtocolMessage } from "../schemas/protobuf/IProtocolMessage";
6
6
 
7
+ import { Escaper } from "../utils/Escaper";
8
+
7
9
  import { MetadataCollection } from "./MetadataCollection";
8
10
  import { MetadataFactory } from "./MetadataFactory";
9
11
  import { emplace_protocol_object } from "./internal/protocols/emplace_protocol_object";
@@ -98,6 +100,20 @@ export namespace ProtobufFactory {
98
100
  throw notSupportedError({ method })(
99
101
  "object type with mixed static and dynamic key typed properties. Keep statics or dynamic only.",
100
102
  );
103
+ // STATIC PROPERTY, BUT INVALID KEY NAME
104
+ else if (
105
+ meta.objects.length &&
106
+ meta.objects.some((obj) =>
107
+ obj.properties.some(
108
+ (p) =>
109
+ p.key.isSoleLiteral() &&
110
+ !Escaper.variable(p.key.getSoleLiteral()!),
111
+ ),
112
+ )
113
+ )
114
+ throw notSupportedError({ method })(
115
+ `object type with invalid static key name.`,
116
+ );
101
117
  // NATIVE TYPE, BUT NOT Uint8Array
102
118
  else if (meta.natives.length) {
103
119
  const banned = meta.natives
@@ -111,11 +127,24 @@ export namespace ProtobufFactory {
111
127
  );
112
128
  }
113
129
  // MAP TYPE, BUT PROPERTY KEY TYPE IS NOT ATOMIC
130
+ else if (meta.maps.length && meta.maps.some((m) => !isAtomicKey(m.key)))
131
+ throw notSupportedError({ method })("");
132
+ // MAP TYPE, BUT VALUE TYPE IS ARRAY
114
133
  else if (
115
134
  meta.maps.length &&
116
- meta.maps.some((m) => !is_atomic_key(m.key))
135
+ meta.maps.some((m) => !!m.value.arrays.length)
117
136
  )
118
- throw notSupportedError({ method })("");
137
+ throw notSupportedError({ method })(
138
+ "map type with array value type",
139
+ );
140
+ else if (
141
+ meta.objects.length &&
142
+ isDynamicObject(meta.objects[0]!) &&
143
+ meta.objects[0]!.properties.some((p) => !!p.value.arrays.length)
144
+ )
145
+ throw notSupportedError({ method })(
146
+ "dynamic object with array value type",
147
+ );
119
148
  //----
120
149
  // UNION TYPES
121
150
  //----
@@ -156,29 +185,6 @@ export namespace ProtobufFactory {
156
185
  else if (meta.maps.length && meta.maps.some((m) => isUnion(m.value)))
157
186
  throw notSupportedError({ method })("union type in map");
158
187
  };
159
-
160
- const is_atomic_key = (key: Metadata) => {
161
- if (
162
- key.required &&
163
- key.nullable === false &&
164
- key.functional === false &&
165
- key.resolved === null &&
166
- key.size() ===
167
- key.atomics.length +
168
- key.constants
169
- .map((c) => c.values.length)
170
- .reduce((a, b) => a + b, 0) +
171
- key.templates.length
172
- ) {
173
- const set: Set<string> = new Set();
174
- for (const atomic of key.atomics) set.add(atomic);
175
- for (const constant of key.constants) set.add(constant.type);
176
- if (key.templates.length) set.add("string");
177
-
178
- return set.size === 1;
179
- }
180
- return false;
181
- };
182
188
  }
183
189
 
184
190
  const prefix = (method: string) => `Error on typia.protobuf.${method}():`;
@@ -188,6 +194,29 @@ const notSupportedError = (p: { method: string }) => (title: string) =>
188
194
  `${prefix(p.method)}: protocol buffer does not support ${title}.`,
189
195
  );
190
196
 
197
+ const isAtomicKey = (key: Metadata) => {
198
+ if (
199
+ key.required &&
200
+ key.nullable === false &&
201
+ key.functional === false &&
202
+ key.resolved === null &&
203
+ key.size() ===
204
+ key.atomics.length +
205
+ key.constants
206
+ .map((c) => c.values.length)
207
+ .reduce((a, b) => a + b, 0) +
208
+ key.templates.length
209
+ ) {
210
+ const set: Set<string> = new Set();
211
+ for (const atomic of key.atomics) set.add(atomic);
212
+ for (const constant of key.constants) set.add(constant.type);
213
+ if (key.templates.length) set.add("string");
214
+
215
+ return set.size === 1;
216
+ }
217
+ return false;
218
+ };
219
+
191
220
  const isDynamicObject = (obj: MetadataObject): boolean => {
192
221
  return (
193
222
  obj.properties.length > 0 &&
@@ -87,11 +87,11 @@ export namespace ProtobufMessageProgrammer {
87
87
  return type.indexOf("${name}") !== -1
88
88
  ? type.replace("${name}", key)
89
89
  : `${
90
- prop.value.arrays.length || key.startsWith("map<")
90
+ prop.value.arrays.length || type.startsWith("map<")
91
91
  ? ""
92
92
  : !prop.value.isRequired() || prop.value.nullable
93
93
  ? "optional "
94
- : "required"
94
+ : "required "
95
95
  }${type} ${key} = ${++ptr.value};`;
96
96
  })
97
97
  .join("\n");
@@ -123,8 +123,10 @@ export namespace ProtobufMessageProgrammer {
123
123
  : [
124
124
  "oneof ${name} {",
125
125
  ...[...elements].map(
126
- (str, i) =>
127
- `${TAB}${str} v${i + 1} = ${++ptr.value};`,
126
+ (str) =>
127
+ `${TAB}${str} v${
128
+ ptr.value + 1
129
+ } = ${++ptr.value};`,
128
130
  ),
129
131
  "}",
130
132
  ].join("\n");