dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
40 lines (39 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSchemaDTO = void 0;
const any_js_1 = require("./any.js");
const anyOf_js_1 = require("./anyOf.js");
const item_js_1 = require("./item.js");
const list_js_1 = require("./list.js");
const map_js_1 = require("./map.js");
const primitive_js_1 = require("./primitive.js");
const record_js_1 = require("./record.js");
const set_js_1 = require("./set.js");
const getSchemaDTO = (schema) => {
/**
* @debt feature "handle defaults, links & validators"
*/
switch (schema.type) {
case 'any':
return (0, any_js_1.getAnySchemaDTO)(schema);
case 'null':
case 'boolean':
case 'number':
case 'string':
case 'binary':
return (0, primitive_js_1.getPrimitiveSchemaDTO)(schema);
case 'set':
return (0, set_js_1.getSetSchemaDTO)(schema);
case 'list':
return (0, list_js_1.getListSchemaDTO)(schema);
case 'map':
return (0, map_js_1.getMapSchemaDTO)(schema);
case 'record':
return (0, record_js_1.getRecordSchemaDTO)(schema);
case 'anyOf':
return (0, anyOf_js_1.getAnyOfSchemaDTO)(schema);
case 'item':
return (0, item_js_1.getItemSchemaDTO)(schema);
}
};
exports.getSchemaDTO = getSchemaDTO;