Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit8cd8a88

Browse files
committed
refactor schema validation
Signed-off-by: shmck <shawn.j.mckay@gmail.com>
1 parentfeec144 commit8cd8a88

File tree

5 files changed

+15
-36
lines changed

5 files changed

+15
-36
lines changed

‎src/build.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import * as util from "util";
55
import{parse}from"./utils/parse";
66
import{getArg}from"./utils/args";
77
import{getCommits,CommitLogObject}from"./utils/commits";
8+
importtutorialSchemafrom"./schema/tutorial";
89
import{validateSchema}from"./utils/validateSchema";
910
import*asTfrom"../typings/tutorial";
1011

@@ -112,7 +113,7 @@ async function build(args: string[]) {
112113

113114
// validate tutorial based on json schema
114115
try{
115-
constvalid=validateSchema(tutorial);
116+
constvalid=validateSchema(tutorialSchema,tutorial);
116117
if(!valid){
117118
console.error("Tutorial validation failed. See above to see what to fix");
118119
return;

‎src/utils/validateSchema.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
1-
importschemafrom"../schema/tutorial";
2-
31
// https://www.npmjs.com/package/ajv
42
//@ts-ignore ajv typings not working
53
importJsonSchemafrom"ajv";
64

7-
exportfunctionvalidateSchema(json:any):boolean|PromiseLike<boolean>{
5+
exportfunctionvalidateSchema(
6+
schema:any,
7+
json:any
8+
):boolean|PromiseLike<boolean>{
89
// validate using https://json-schema.org/
910
constjsonSchema=newJsonSchema({
1011
allErrors:true,

‎src/utils/validateSkeleton.ts

Lines changed: 0 additions & 29 deletions
This file was deleted.

‎tests/skeleton.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import{validateSkeleton}from"../src/utils/validateSkeleton";
1+
import{validateSchema}from"../src/utils/validateSchema";
2+
importskeletonSchemafrom"../src/schema/skeleton";
3+
4+
constvalidateSkeleton=(json:any)=>validateSchema(skeletonSchema,json);
25

36
constvalidJson={
47
version:"0.1.0",

‎tests/validate.test.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
import*asTfrom"../typings/tutorial";
2+
importtutorialSchemafrom"../src/schema/tutorial";
23
import{validateSchema}from"../src/utils/validateSchema";
34

5+
constvalidateTutorial=(json:any)=>validateSchema(tutorialSchema,json);
6+
47
describe("validate tutorial",()=>{
58
it("should reject an empty tutorial",()=>{
69
constjson={version:"here"};
710

8-
constvalid=validateSchema(json);
11+
constvalid=validateTutorial(json);
912
expect(valid).toBe(false);
1013
});
1114
it("should return true for a valid tutorial",()=>{
@@ -45,7 +48,7 @@ describe("validate tutorial", () => {
4548
],
4649
};
4750

48-
constvalid=validateSchema(json);
51+
constvalid=validateTutorial(json);
4952
expect(valid).toBe(true);
5053
});
5154
});

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp