@element-ts/silicon
v1.0.8
Published
A package to send and receive data using promises.
Downloads
88
Readme
silicon
silicon is a MongoDB driver. It wraps the official driver provided by MongoDB found here on NPM. silicon simplifies many processes by providing a type-safe object-oriented wrapper of the MongoDB driver. Also included in silicon is a powerful type-safe query driver.
Pages
View the wiki for more information.
Example
Create an interface for what types your class contains.
interface UserProps { name: string; age: number; }
Create a class by extending SiObjectOld<T extends object>
and use your interface.
class User extends SiObjectOld<UserProps> {
public constructor() { super("table-name"); }
}
Populate the props
object on a new instance of your class by using the props
property on your class. It will
contain all the saved properties for your object.
const user: User = new User();
user.props.name = "Elijah";
user.props.age = 20;
Communicate with the database from your object by calling methods it contains.
await user.create();
await user.update();
await user.update("name");
await user.fetch();
await user.delete();
Features
Prototyping
Like the example above, you can very easily create an object and use it without having to directly talk to a database. To view more information on how you can do prototyping, view the object page.
Queries
You can make type-safe queries using the SiQuery
class. Do helpful things like count()
, find()
, exists()
and
much more. View the query page for more information.
Type-Safety
Everything is type-safe when you program in TypeScript. Your class properties, and even queries are all using type checking. So you cannot query for a key that does not exist, try and get a value for an invalid property name, and much more.
About
Language
All of silicon is written in TypeScript. If you do not know how to use TypeScript don't worry. It is completely compatible with JavaScript.
Author/Maintainer
My name is Elijah Cobb. I am a computer science student at Michigan Technological University.