Skip to content

Commit

Permalink
Merge pull request #34 from duplojs/feat/33
Browse files Browse the repository at this point in the history
[feat] inject zod
  • Loading branch information
mathcovax authored Apr 25, 2024
2 parents b0dcae5 + 8bd93e6 commit 7f93ac7
Show file tree
Hide file tree
Showing 32 changed files with 38 additions and 33 deletions.
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,8 @@
},
"dependencies": {
"@duplojs/duplojs": ">=1.8.20 <2.0.0",
"@duplojs/editor-tools": "^1.1.3 <2.0.0",
"zod": "^3.22.4"
"@duplojs/editor-tools": ">=1.1.3 <2.0.0",
"zod": ">=3.0.0 <4.0.0"
},
"devDependencies": {
"@duplojs/worker-testing": "^0.3.6",
Expand Down
5 changes: 5 additions & 0 deletions scripts/lib/accelerator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ declare module "zod" {

export abstract class ZodAccelerator{
protected static accelerators: ZodAccelerator[] = [];
protected static zod = zod;

public abstract get support(): any;
public abstract makeAcceleratorContent(zodSchema: zod.ZodType, zac: ZodAcceleratorContent): ZodAcceleratorContent
Expand Down Expand Up @@ -68,4 +69,8 @@ export abstract class ZodAccelerator{
public static autoInstance(zodAccelerator: { new(...args: any[]): ZodAccelerator }){
ZodAccelerator.accelerators.push(new zodAccelerator());
}

public static injectZod(z: typeof zod){
this.zod = z;
}
}
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/any.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodAnyAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodAny;
return ZodAccelerator.zod.ZodAny;
}

public makeAcceleratorContent(zodSchema: zod.ZodAny, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/array.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodArrayAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodArray;
return ZodAccelerator.zod.ZodArray;
}

public makeAcceleratorContent(zodSchema: zod.ZodArray<any>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/bigInt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodBigIntAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodBigInt;
return ZodAccelerator.zod.ZodBigInt;
}

public makeAcceleratorContent(zodSchema: zod.ZodBigInt, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/boolean.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodBooleanAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodBoolean;
return ZodAccelerator.zod.ZodBoolean;
}

public makeAcceleratorContent(zodSchema: zod.ZodBoolean, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/branded.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import {ZodAccelerator} from "../accelerator";
@ZodAccelerator.autoInstance
export class ZodBrandedAccelerator extends ZodAnyAccelerator{
public get support(): any{
return zod.ZodBranded;
return ZodAccelerator.zod.ZodBranded;
}
}
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/catch.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodCatchAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodCatch;
return ZodAccelerator.zod.ZodCatch;
}

public makeAcceleratorContent(zodSchema: zod.ZodCatch<zod.ZodAny>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodDateAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodDate;
return ZodAccelerator.zod.ZodDate;
}

public makeAcceleratorContent(zodSchema: zod.ZodDate, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/default.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodDefaultAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodDefault;
return ZodAccelerator.zod.ZodDefault;
}

public makeAcceleratorContent(zodSchema: zod.ZodDefault<zod.ZodAny>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/effects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodEffectAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodEffects;
return ZodAccelerator.zod.ZodEffects;
}

public makeAcceleratorContent(zodSchema: zod.ZodEffects<zod.ZodAny>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/enum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodEnumAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodEnum;
return ZodAccelerator.zod.ZodEnum;
}

public makeAcceleratorContent(zodSchema: zod.ZodEnum<[string]>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/intersection.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {AcceleratorSafeParseError} from "../parser";
@ZodAccelerator.autoInstance
export class ZodIntersectionAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodIntersection;
return ZodAccelerator.zod.ZodIntersection;
}

public makeAcceleratorContent(zodSchema: zod.ZodIntersection<zod.ZodType, zod.ZodType>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/lazy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodLazyAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodLazy;
return ZodAccelerator.zod.ZodLazy;
}

public makeAcceleratorContent(zodSchema: zod.ZodLazy<zod.ZodType>){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/literal.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodLiteralAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodLiteral;
return ZodAccelerator.zod.ZodLiteral;
}

public makeAcceleratorContent(zodSchema: zod.ZodLiteral<any>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/nan.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodNanAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodNaN;
return ZodAccelerator.zod.ZodNaN;
}

public makeAcceleratorContent(zodSchema: zod.ZodNaN, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/never.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodNeverAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodNever;
return ZodAccelerator.zod.ZodNever;
}

public makeAcceleratorContent(zodSchema: zod.ZodNever, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/null.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodNullAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodNull;
return ZodAccelerator.zod.ZodNull;
}

public makeAcceleratorContent(zodSchema: zod.ZodNull, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/nullable.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodNullableAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodNullable;
return ZodAccelerator.zod.ZodNullable;
}

public makeAcceleratorContent(zodSchema: zod.ZodNullable<any>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/number.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodNumberAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodNumber;
return ZodAccelerator.zod.ZodNumber;
}

public makeAcceleratorContent(zodSchema: zod.ZodNumber, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/object.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodObjectAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodObject;
return ZodAccelerator.zod.ZodObject;
}

public makeAcceleratorContent(zodSchema: zod.ZodObject<Record<keyof any, any>>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/optional.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodOptionalAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodOptional;
return ZodAccelerator.zod.ZodOptional;
}

public makeAcceleratorContent(zodSchema: zod.ZodOptional<zod.ZodAny>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/readonly.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodReadonlyAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodReadonly;
return ZodAccelerator.zod.ZodReadonly;
}

public makeAcceleratorContent(zodSchema: zod.ZodReadonly<any>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/record.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodRecordAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodRecord;
return ZodAccelerator.zod.ZodRecord;
}

public makeAcceleratorContent(zodSchema: zod.ZodRecord, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/string.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodStringAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodString;
return ZodAccelerator.zod.ZodString;
}

public makeAcceleratorContent(zodSchema: zod.ZodString, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/symbol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodSymbolAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodSymbol;
return ZodAccelerator.zod.ZodSymbol;
}

public makeAcceleratorContent(zodSchema: zod.ZodSymbol, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/tuple.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodTupleAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodTuple;
return ZodAccelerator.zod.ZodTuple;
}

public makeAcceleratorContent(zodSchema: zod.ZodTuple, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/undefined.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodUndefinedAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodUndefined;
return ZodAccelerator.zod.ZodUndefined;
}

public makeAcceleratorContent(zodSchema: zod.ZodUndefined, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/union.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import {ZodAcceleratorContent} from "../content";
@ZodAccelerator.autoInstance
export class ZodUnionAccelerator extends ZodAccelerator{
public get support(){
return zod.ZodUnion;
return ZodAccelerator.zod.ZodUnion;
}

public makeAcceleratorContent(zodSchema: zod.ZodUnion<[zod.ZodType]>, zac: ZodAcceleratorContent){
Expand Down
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/unknown.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import {ZodAccelerator} from "../accelerator";
@ZodAccelerator.autoInstance
export class ZodUnknownAccelerator extends ZodAnyAccelerator{
public get support(): any{
return zod.ZodUnknown;
return ZodAccelerator.zod.ZodUnknown;
}
}
2 changes: 1 addition & 1 deletion scripts/lib/accelerators/void.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,6 @@ import {ZodAccelerator} from "../accelerator";
@ZodAccelerator.autoInstance
export class ZodVoidAccelerator extends ZodUndefinedAccelerator{
public get support(): any{
return zod.ZodVoid;
return ZodAccelerator.zod.ZodVoid;
}
}

0 comments on commit 7f93ac7

Please sign in to comment.