@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 +1 -1
- package/typebox.d.ts +4 -0
- package/typebox.js +24 -6
- package/value/create.js +1 -1
package/package.json
CHANGED
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.
|
|
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) {
|