Common prop type validators using Joi.
yarn add @parameter1/mongodb-prop-types
Prop type schemas.
import { mongoClientProp, mongoCollectionProp, mongoSessionProp } from '@parameter1/mongodb-prop-types';
import { MongoClient } from '@parameter1/mongodb-core';
import Joi from 'joi';
const { attempt } = Joi
const client = new MongoClient('mongodb://some-server:27071');
// valid
attempt(client, mongoClientProp.required());
attempt(client.db('test').collection('foo'), mongoCollectionProp.required());
attempt(client.startSession(), mongoSessionProp.required());
Extending Joi to add objectId
type.
import Joi from 'joi';
import { objectIdType } from '@parameter1/mongodb-prop-types';
Joi.extend(objectIdType);
const someObjectId = new ObjectId();
// valid
attempt(someObjectId, Joi.objectId().required());