typebox 1.0.63 → 1.0.64

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.
@@ -125,7 +125,7 @@ export function Keys(value) {
125
125
  return `Object.getOwnPropertyNames(${value})`;
126
126
  }
127
127
  export function HasPropertyKey(value, key) {
128
- const isProtoField = G.IsEqual(key, '"__proto__"') || G.IsEqual(key, '"toString"') || G.IsEqual(key, '"constructor"');
128
+ const isProtoField = G.IsEqual(key, '"__proto__"') || G.IsEqual(key, '"constructor"');
129
129
  return isProtoField ? `Object.prototype.hasOwnProperty.call(${value}, ${key})` : `${key} in ${value}`;
130
130
  }
131
131
  export function IsDeepEqual(left, right) {
@@ -156,7 +156,8 @@ export function EveryAll(value, offset, callback) {
156
156
  // --------------------------------------------------------------------------
157
157
  /** Returns true if this value has this property key */
158
158
  export function HasPropertyKey(value, key) {
159
- return Object.prototype.hasOwnProperty.call(value, key);
159
+ const isProtoField = IsEqual(key, '__proto__') || IsEqual(key, 'constructor');
160
+ return isProtoField ? Object.prototype.hasOwnProperty.call(value, key) : key in value;
160
161
  }
161
162
  /** Returns object entries as `[RegExp, Value][]` */
162
163
  export function EntriesRegExp(value) {
@@ -20,7 +20,7 @@ export function FromObject(context, type, value) {
20
20
  value[key] = FromType(context, type.properties[key], value[key]);
21
21
  }
22
22
  // return if not additional properties
23
- if (!IsAdditionalProperties(type))
23
+ if (!IsAdditionalProperties(type) || Guard.IsBoolean(type.additionalProperties))
24
24
  return value;
25
25
  // AdditionalProperties
26
26
  for (const key of Guard.Keys(value)) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "typebox",
3
3
  "description": "Json Schema Type Builder with Static Type Resolution for TypeScript",
4
- "version": "1.0.63",
4
+ "version": "1.0.64",
5
5
  "keywords": [
6
6
  "typescript",
7
7
  "jsonschema"
package/readme.md CHANGED
@@ -254,18 +254,6 @@ const A = C.Parse({ // const A: {
254
254
  }) // } = ...
255
255
  ```
256
256
 
257
- It can also be used to accelerate remote libraries via Json Schema translation.
258
-
259
- ```typescript
260
- const C = Compile(x.toJsonSchema(x.object({
261
- x: x.number(),
262
- y: x.number(),
263
- z: x.number()
264
- })))
265
-
266
- const A = C.Check(...) // high performance runtime checking
267
- ```
268
-
269
257
  ## Contribute
270
258
 
271
259
  TypeBox is open to community contribution. Please ensure you submit an issue before submitting a pull request. The TypeBox project prefers open community discussion before accepting new features.