ctan
Version:
CTAN (Comprehensive TeX Archive Network) API client for Node.js
45 lines (44 loc) • 1.29 kB
JavaScript
import { Author as AuthorV1_2 } from "../v1_2/schemas.js";
export const Author = {
type: 'object',
allOf: [AuthorV1_2, {
type: 'object',
properties: {
title: { type: 'string', nullable: true },
von: { type: 'string' },
junior: { type: 'string' },
},
}],
required: ["von", "junior", "female", "died", "key", "givenname", "familyname"],
};
export const PseudonymousAuthor = {
type: 'object',
properties: {
key: { type: 'string' },
died: { type: 'boolean' },
pseudonym: { type: 'string' },
pkgs: { type: 'array', items: { type: 'string' }, nullable: true },
},
required: ["key", "died", "pseudonym"],
additionalProperties: true,
};
export const Authors = {
type: 'array',
items: {
type: 'object',
'if': {
properties: { pseudonym: { type: 'string' } },
required: ['pseudonym'],
},
then: PseudonymousAuthor,
'else': Author,
required: [],
},
};
export const ApiVersion = {
type: 'object',
properties: { version: { type: 'string', const: '1.3' } },
required: ["version"],
additionalProperties: true,
};
export * from "../v1_2/schemas.js";