New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

as-typed

Package Overview
Dependencies
Maintainers
1
Versions
66
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

as-typed - npm Package Compare versions

Comparing version

to
0.0.0-dev.20201228213229

21

index.d.ts

@@ -229,2 +229,6 @@ declare namespace AsTypedInternal {

? number
: SchemaType extends TupleSchema<infer TupleType, infer Additional>
? Additional extends null
? AsTypedTupleSchema<TupleType>
: AsTypedTupleSchemaWithAdditional<TupleType, Additional>
: SchemaType extends Not<infer T>

@@ -256,6 +260,2 @@ ? ResolveNot<T>

// TODO
type ResolveOneOf<InnerSchema> = InnerSchema;
// High order resolution changes the schema before resolving it to typed

@@ -268,3 +268,3 @@

: SchemaToResolve extends OneOf<infer Inner>
? ResolveOneOf<Inner>
? Inner
: SchemaToResolve extends AllOf<infer Inner>

@@ -276,10 +276,5 @@ ? UnionToIntersection<Inner>

type ResolveRecursive<SchemaType> = SchemaType extends TupleSchema<
infer TupleType,
infer Additional
>
? Additional extends null
? AsTypedTupleSchema<TupleType>
: AsTypedTupleSchemaWithAdditional<TupleType, Additional>
: ResolveRecursiveInternal<ResolveHighOrder<SchemaType>>;
type ResolveRecursive<SchemaType> = ResolveRecursiveInternal<
ResolveHighOrder<SchemaType>
>;

@@ -286,0 +281,0 @@ type MapPropsToRefs<

{
"name": "as-typed",
"version": "0.0.0-dev.20201226200227",
"version": "0.0.0-dev.20201228213229",
"description": "Static TypeScript types from a literal JSONSchema type",

@@ -5,0 +5,0 @@ "types": "index.d.ts",

@@ -131,3 +131,27 @@ import { AsTyped } from "./index";

_ as AsTyped<{
oneOf: [{ type: "string" }, { type: "array"; items: { type: "string" } }];
}>,
_ as string | string[]
);
assert(
_ as AsTyped<{
oneOf: [{ type: "string" }, { type: "array"; items: [] }];
}>,
_ as string | []
);
assert(
_ as AsTyped<{
oneOf: [
{ type: "array"; items: [{ type: "string" }] },
{ type: "array"; items: [] }
];
}>,
_ as [string] | []
);
assert(
_ as AsTyped<{
oneOf: [
{ type: "string" },

@@ -134,0 +158,0 @@ { type: "object"; properties: { a: { type: "number" } } }