@keminghe/osu
v2.0.1
Published
Unofficial, publicly available data about The Ohio State University.
Downloads
71
Maintainers
Readme
@keminghe/osu
[!IMPORTANT]
Versions 1.1.0 and below are DEPRECATED! Please upgrade to the latest version.
[!NOTE]
Build by students, for students, with :heart:. NOT affiliated nor endorsed by official OSU.
:gear: Installation
Requires Node.js >= 14
# Using npm:
npm install @keminghe/osu
# Using yarn:
yarn add @keminghe/osu
# Using pnpm: (recommended)
pnpm add @keminghe/osu
:rocket: Quickstart
Using Validators
// Using OSU email validator functions.
import {
isNameDotNum,
isOSUDotEduEmail,
isBuckeyemail,
isOSUEmail,
} from "@keminghe/osu";
isNameDotNum("buckeye.1"); // true
isOSUDotEduEmail("[email protected]"); // true
isBuckeyemail("[email protected]"); // true
isOSUEmail("[email protected]"); // false
Using RegExp Patterns
// Using OSU name dot num and email RegExp patterns.
import {
NAME_DOT_NUM_PATTERN,
OSU_DOT_EDU_EMAIL_PATTERN,
BUCKEYEMAIL_PATTERN
} from "@keminghe/osu";
NAME_DOT_NUM_PATTERN.test("buckeye.1"); // true
OSU_DOT_EDU_EMAIL_PATTERN.test("[email protected]"); // true
BUCKEYEMAIL_PATTERN.test("[email protected]"); // true
Accessing Undergrad Majors Data
import { getUndergradMajors, type UndergradMajor } from "@keminghe/osu";
const majors: UndergradMajor[] = getUndergradMajors();
console.log(majors);
Accessing Student Organization Data
import { getStudentOrgs, type StudentOrg } from "@keminghe/osu";
const orgs: StudentOrg[] = getStudentOrgs();
console.log(orgs);
(DEPRECATED v1.1.0) Using Validators
import { isNameDotNumber, isOSUEmail, isBuckeyemail, isOSUOrBuckeyemail } from "@keminghe/osu";
const flag1 = isNameDotNumber("brutus.1"); // true
const flag2 = isNameDotNumber("adams-brown-catlyn.3"); // true
const flag3 = isOSUEmail("[email protected]"); // true
const flag4 = isBuckeyemail("[email protected]"); // true
const flag5 = isOSUOrBuckeyemail("[email protected]"); // false
(DEPRECATED v1.1.0) Accessing Undergraduate Majors and Degrees
import osu from "@keminghe/osu";
const majors = osu.undergrad.majors;
console.log(majors);
(DEPRECATED v1.1.0) Accessing Student Organizations
import osu from "@keminghe/osu";
const studentOrgs = osu.studentOrgs;
console.log(studentOrgs);
:blue_book: API
StudentOrg
Type
/**
* TypeScript type inferred from the `StudentOrg` Zod schema.
*
* This type represents the structure of a student organization object as defined by the `StudentOrg` schema.
*
* @typedef {Object} StudentOrg
* @property {string} name - Name of the student organization, represented by a non-empty string.
* @property {string | null} purposeStatement - Purpose statement of the student organization, represented by a non-empty string, or null if not applicable or missing data.
* @property {Campus[] | null} campuses - Campuses where the student organization is active, represented by a non-empty array of `Campus` objects, or null if not applicable or missing data.
* @property {StudentOrgCategory[] | null} categories - Categories of the student organization, represented by a non-empty array of `StudentOrgCategory` objects, or null if not applicable or missing data.
*/
export type StudentOrg = z.infer<typeof StudentOrgSchema>;
UndergradMajor
Type
/**
* TypeScript type inferred from the `UndergradMajor` Zod schema.
*
* This type represents the structure of an undergraduate major object as defined by the `UndergradMajor` schema.
*
* @typedef {Object} UndergradMajor
* @property {string} major - Name of the major, represented by a non-empty string.
* @property {UndergradDegree[] | null} degrees - Array of undergraduate degrees associated with the major, represented by a non-empty array of `UndergradDegree` objects, or null if not applicable or missing data.
* @property {Campus[] | null} campuses - Campuses where the major is offered, represented by a non-empty array of `Campus` objects, or null if not applicable or missing data.
* @property {College | null} college - College where the major belongs, represented by a `College` object, or null if not applicable or missing data.
*
* @see {@link UndergradMajorInterface} for the equivalent native TypeScript interface.
*/
export type UndergradMajor = z.infer<typeof UndergradMajorSchema>;
:key: License
Usage indicates agreement with the MIT license. More Info.