@sinclair/typebox 0.31.26 → 0.31.27

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sinclair/typebox",
3
- "version": "0.31.26",
3
+ "version": "0.31.27",
4
4
  "description": "JSONSchema Type Builder with Static Type Resolution for TypeScript",
5
5
  "keywords": [
6
6
  "typescript",
package/typebox.d.ts CHANGED
@@ -560,6 +560,8 @@ export declare namespace ValueGuard {
560
560
  function IsBigInt(value: unknown): value is bigint;
561
561
  /** Returns true if this value is a boolean */
562
562
  function IsBoolean(value: unknown): value is boolean;
563
+ /** Returns true if this value is a Date object */
564
+ function IsDate(value: unknown): value is Date;
563
565
  /** Returns true if this value is null */
564
566
  function IsNull(value: unknown): value is null;
565
567
  /** Returns true if this value is number */
@@ -568,6 +570,8 @@ export declare namespace ValueGuard {
568
570
  function IsObject(value: unknown): value is Record<PropertyKey, unknown>;
569
571
  /** Returns true if this value is string */
570
572
  function IsString(value: unknown): value is string;
573
+ /** Returns true if this value is a Uint8Array */
574
+ function IsUint8Array(value: unknown): value is Uint8Array;
571
575
  /** Returns true if this value is undefined */
572
576
  function IsUndefined(value: unknown): value is undefined;
573
577
  }
package/typebox.js CHANGED
@@ -145,6 +145,11 @@ var ValueGuard;
145
145
  return typeof value === 'boolean';
146
146
  }
147
147
  ValueGuard.IsBoolean = IsBoolean;
148
+ /** Returns true if this value is a Date object */
149
+ function IsDate(value) {
150
+ return value instanceof globalThis.Date;
151
+ }
152
+ ValueGuard.IsDate = IsDate;
148
153
  /** Returns true if this value is null */
149
154
  function IsNull(value) {
150
155
  return value === null;
@@ -165,6 +170,11 @@ var ValueGuard;
165
170
  return typeof value === 'string';
166
171
  }
167
172
  ValueGuard.IsString = IsString;
173
+ /** Returns true if this value is a Uint8Array */
174
+ function IsUint8Array(value) {
175
+ return value instanceof globalThis.Uint8Array;
176
+ }
177
+ ValueGuard.IsUint8Array = IsUint8Array;
168
178
  /** Returns true if this value is undefined */
169
179
  function IsUndefined(value) {
170
180
  return value === undefined;
@@ -1252,19 +1262,27 @@ var TypeExtends;
1252
1262
  /** Specialized Clone for Types */
1253
1263
  var TypeClone;
1254
1264
  (function (TypeClone) {
1265
+ function ArrayType(value) {
1266
+ return value.map((value) => Visit(value));
1267
+ }
1268
+ function DateType(value) {
1269
+ return new Date(value.getTime());
1270
+ }
1271
+ function Uint8ArrayType(value) {
1272
+ return new Uint8Array(value);
1273
+ }
1255
1274
  function ObjectType(value) {
1256
1275
  const clonedProperties = Object.getOwnPropertyNames(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});
1257
1276
  const clonedSymbols = Object.getOwnPropertySymbols(value).reduce((acc, key) => ({ ...acc, [key]: Visit(value[key]) }), {});
1258
1277
  return { ...clonedProperties, ...clonedSymbols };
1259
1278
  }
1260
- function ArrayType(value) {
1261
- return value.map((value) => Visit(value));
1262
- }
1263
1279
  function Visit(value) {
1264
1280
  // prettier-ignore
1265
- return ValueGuard.IsArray(value) ? ArrayType(value) :
1266
- ValueGuard.IsObject(value) ? ObjectType(value) :
1267
- value;
1281
+ return (ValueGuard.IsArray(value) ? ArrayType(value) :
1282
+ ValueGuard.IsDate(value) ? DateType(value) :
1283
+ ValueGuard.IsUint8Array(value) ? Uint8ArrayType(value) :
1284
+ ValueGuard.IsObject(value) ? ObjectType(value) :
1285
+ value);
1268
1286
  }
1269
1287
  /** Clones a Rest */
1270
1288
  function Rest(schemas) {
package/value/create.js CHANGED
@@ -162,7 +162,7 @@ function TDate(schema, references) {
162
162
  return new Date(schema.minimumTimestamp);
163
163
  }
164
164
  else {
165
- return new Date(0);
165
+ return new Date();
166
166
  }
167
167
  }
168
168
  function TFunction(schema, references) {