commons:component meta
This commit is contained in:
parent
f3d4f0c7bd
commit
e5019dc29f
849
packages/commons/dist/component.d.ts
vendored
849
packages/commons/dist/component.d.ts
vendored
File diff suppressed because it is too large
Load Diff
24
packages/commons/dist/component.js
vendored
24
packages/commons/dist/component.js
vendored
File diff suppressed because one or more lines are too long
@ -68,6 +68,7 @@
|
||||
"glob": "^10.4.5",
|
||||
"js-yaml": "^4.1.0",
|
||||
"jsonpath-plus": "^8.1.0",
|
||||
"normalize-url": "^8.0.1",
|
||||
"p-map": "^7.0.3",
|
||||
"p-throttle": "^4.1.1",
|
||||
"tslog": "^3.3.3",
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
import * as path from 'path'
|
||||
import * as fs from 'fs'
|
||||
import { z } from "zod";
|
||||
import { z } from "zod"
|
||||
import normalizeUrl from 'normalize-url'
|
||||
|
||||
export const UrlSchema = z.string().url().transform((arg)=>normalizeUrl(arg))
|
||||
|
||||
export const ExifSchema = z.object({
|
||||
file: z.any(), // Assuming File is another schema or any type
|
||||
@ -33,7 +35,14 @@ export const CADMetaSchema = z.object({
|
||||
step: z.string().optional(),
|
||||
model: z.string().optional(),
|
||||
html: z.string().optional(),
|
||||
});
|
||||
})
|
||||
|
||||
export const ResourceSchema = z.object({
|
||||
name: z.string(),
|
||||
url: z.string(),
|
||||
type: z.string()
|
||||
})
|
||||
|
||||
export const AssetImageSchema = z.object({
|
||||
name: z.string().optional(),
|
||||
url: z.string(),
|
||||
@ -45,13 +54,14 @@ export const AssetImageSchema = z.object({
|
||||
alt: z.string().optional(),
|
||||
title: z.string().optional(),
|
||||
height: z.number().optional(),
|
||||
width: z.number().optional()
|
||||
});
|
||||
width: z.number().optional(),
|
||||
exif:ExifSchema.optional(),
|
||||
})
|
||||
|
||||
export const AuthorSchema = z.object({
|
||||
name: z.string(),
|
||||
url: z.string(),
|
||||
});
|
||||
})
|
||||
|
||||
export const ContentSchema = z.object({
|
||||
body: z.string().optional(),
|
||||
@ -59,7 +69,7 @@ export const ContentSchema = z.object({
|
||||
highlights: z.string().optional(),
|
||||
specs: z.string().optional(),
|
||||
license: z.string().optional()
|
||||
});
|
||||
})
|
||||
|
||||
export const VersionSchema = z.object({
|
||||
version: z.string().optional(),
|
||||
@ -67,19 +77,19 @@ export const VersionSchema = z.object({
|
||||
down: z.string().optional(),
|
||||
family: z.string().optional(),
|
||||
sheet: z.string().optional()
|
||||
});
|
||||
})
|
||||
|
||||
export const AssetsSchema = z.object({
|
||||
gallery: z.array(AssetImageSchema).optional(),
|
||||
renderings: z.array(AssetImageSchema).optional(),
|
||||
components: z.array(AssetImageSchema).optional()
|
||||
});
|
||||
})
|
||||
|
||||
export const ProductionSchema = z.object({
|
||||
"fusion-folder": z.string(),
|
||||
"nc-folder": z.string(),
|
||||
cam: z.array(AuthorSchema)
|
||||
});
|
||||
})
|
||||
|
||||
export const ComponentConfigSchema = z.object({
|
||||
|
||||
@ -93,15 +103,18 @@ export const ComponentConfigSchema = z.object({
|
||||
|
||||
//internal
|
||||
version: z.string().optional(),
|
||||
versions:VersionSchema.optional(),
|
||||
status: z.string().optional(),
|
||||
authors: z.array(AuthorSchema).optional(),
|
||||
|
||||
// references
|
||||
replaced_by: z.string().optional(),
|
||||
alternatives: z.array(z.string()).optional(),
|
||||
flags: z.number().optional(),
|
||||
versions: VersionSchema.optional(),
|
||||
alternatives: z.array(ResourceSchema).optional(),
|
||||
used_by: z.array(ResourceSchema).optional(),
|
||||
|
||||
image: AssetImageSchema.optional(),
|
||||
name: z.string(),
|
||||
flags: z.number().optional(),
|
||||
|
||||
// public
|
||||
download: z.boolean().optional(),
|
||||
@ -110,7 +123,6 @@ export const ComponentConfigSchema = z.object({
|
||||
showDimensions: z.boolean().optional(),
|
||||
showParts: z.boolean().optional(),
|
||||
slug: z.string(),
|
||||
score: z.number().optional(),
|
||||
|
||||
keywords: z.string().optional(),
|
||||
meta_keywords: z.string().optional(),
|
||||
@ -121,6 +133,8 @@ export const ComponentConfigSchema = z.object({
|
||||
components: []
|
||||
}),
|
||||
cad: z.array(CADMetaSchema).default([]),
|
||||
resources: z.array(ResourceSchema).default([]),
|
||||
tests: z.array(ResourceSchema).default([]),
|
||||
|
||||
/**
|
||||
* @deprecated
|
||||
@ -132,6 +146,7 @@ export const ComponentConfigSchema = z.object({
|
||||
category: z.string(),
|
||||
product_dimensions: z.string().optional(),
|
||||
production: ProductionSchema.optional(),
|
||||
score: z.number().optional(),
|
||||
}).passthrough();
|
||||
|
||||
export type IComponentConfig = z.infer<typeof ComponentConfigSchema>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user