@yihuangdb/storage-object
Version:
A Node.js storage object layer library using Redis OM
37 lines • 1.15 kB
JavaScript
/**
* @module types/storage-schema
* @description TypeScript type definitions for the StorageSchema API
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.isValidFieldType = isValidFieldType;
exports.isFieldDefinition = isFieldDefinition;
exports.isSchemaConfiguration = isSchemaConfiguration;
/**
* Type guard to check if a value is a valid field type
*/
function isValidFieldType(value) {
const validTypes = [
'string', 'number', 'boolean', 'date', 'point',
'string[]', 'number[]', 'text', 'json', 'binary'
];
return validTypes.includes(value);
}
/**
* Type guard to check if a value is a field definition
*/
function isFieldDefinition(value) {
return value &&
typeof value === 'object' &&
'type' in value &&
isValidFieldType(value.type);
}
/**
* Type guard to check if a value is a schema configuration
*/
function isSchemaConfiguration(value) {
return value &&
typeof value === 'object' &&
Object.values(value).every(field => isValidFieldType(field) || isFieldDefinition(field));
}
//# sourceMappingURL=storage-schema.js.map
;