schema2typebox
Version:
Creates typebox code from JSON schemas
48 lines • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isNullType = exports.isSchemaWithMultipleTypes = exports.isUnknownSchema = exports.isConstSchema = exports.isArraySchema = exports.isNotSchema = exports.isOneOfSchema = exports.isAllOfSchema = exports.isAnyOfSchema = exports.isEnumSchema = exports.isObjectSchema = void 0;
const isObjectSchema = (schema) => {
return schema["type"] !== undefined && schema["type"] === "object";
};
exports.isObjectSchema = isObjectSchema;
const isEnumSchema = (schema) => {
return schema["enum"] !== undefined;
};
exports.isEnumSchema = isEnumSchema;
const isAnyOfSchema = (schema) => {
return schema["anyOf"] !== undefined;
};
exports.isAnyOfSchema = isAnyOfSchema;
const isAllOfSchema = (schema) => {
return schema["allOf"] !== undefined;
};
exports.isAllOfSchema = isAllOfSchema;
const isOneOfSchema = (schema) => {
return schema["oneOf"] !== undefined;
};
exports.isOneOfSchema = isOneOfSchema;
const isNotSchema = (schema) => {
return schema["not"] !== undefined;
};
exports.isNotSchema = isNotSchema;
const isArraySchema = (schema) => {
return schema.type === "array";
};
exports.isArraySchema = isArraySchema;
const isConstSchema = (schema) => {
return schema.const !== undefined;
};
exports.isConstSchema = isConstSchema;
const isUnknownSchema = (schema) => {
return typeof schema === "object" && Object.keys(schema).length === 0;
};
exports.isUnknownSchema = isUnknownSchema;
const isSchemaWithMultipleTypes = (schema) => {
return Array.isArray(schema.type);
};
exports.isSchemaWithMultipleTypes = isSchemaWithMultipleTypes;
const isNullType = (type) => {
return type === null;
};
exports.isNullType = isNullType;
//# sourceMappingURL=schema-matchers.js.map