UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

107 lines (106 loc) 4.55 kB
import type { Identifier, ISODateTime, ObjectPrettify, Url } from "typeforge"; type JobType = "FullTime" | "PartTime" | "Commission"; type SkillType = "Graphics Design" | "Clothes Design" | "Development" | "Animation" | "UI Design" | "Sound Production" | "Composing" | "Modeling" | "Level Design" | "Community" | "Business Development" | "Game Design" | "Programmer" | "Scripting" | "Social Media" | "User Experience" | "Git" | "Data Analysis" | "Management" | "Leadership" | "QA" | "Map Design" | "Building" | "Marketing" | "Texturing" | "Translation" | "Particles" | "Education" | "Voice Actor" | "UGC" | "Pants" | "Avatar Items" | "Shirts" | "Layered Clothing" | "Hats" | "Concert" | "Brands" | "Turnkey Experiences" | "Integrations" | "Sports" | "Simulation" | "Adventure" | "Simulator" | "Idle" | "Puzzle" | "Platformer" | "Social Hangout" | "Tabletop Games" | "Action" | "Minigames" | "Role-playing" | "Tycoon" | "Shopping" | "Strategy" | "Sandbox" | "Media Creation" | "Charity" | "Fashion" | "Beauty" | "Entertainment" | "Live Ops" | "Project Management" | "Influencer Marketing" | "English" | "Spanish" | "German" | "French" | "Italian" | "Brazilian Portuguese" | "Simplified Chinese" | "Traditional Chinese" | "Korean" | "Japanese" | "Indonesian" | "Vietnamese" | "Thai" | "Turkish" | "Arabic" | "Polish"; export type RawUsersAreIdVerifiedData<UserId extends Identifier> = ObjectPrettify<{ data: { userId: UserId; isVerified: boolean; }[]; }>; type CreatorProfileData<UserId extends Identifier, TimeType> = ObjectPrettify<{ creatorUserId: UserId; createdUtc: TimeType; updatedUtc: TimeType; isPublic: boolean; isContactAllowed: boolean; creatorDescription: string; isOpenToWork: boolean; interestDescription: string; linkTypes: ("Roblox" | "DeveloperForum" | "Facebook" | "Twitter" | "Youtube" | "Twitch")[]; preferredContactLinkType: "DeveloperForum" | "Roblox" | "Invalid"; socialLinks: []; jobTypes: JobType[]; skillTypes: SkillType[]; requiresAction: "NoAction"; }>; export type RawCreatorProfileData<UserId extends Identifier> = ObjectPrettify<{ data: [CreatorProfileData<UserId, ISODateTime>]; }>; export type PrettifiedCreatorProfileData<UserId extends Identifier> = CreatorProfileData<UserId, Date>; type CreatorExperienceData<TimeType> = ObjectPrettify<{ experienceId: Identifier; creatorUserId: Identifier; createdUtc: TimeType; updatedUtc: TimeType; projectName: string; experienceDescription: string; jobRole: string; teamName: string; experienceMedia: { assetId: Identifier; title: `RobloxScreenShot${number}_${number}.${string}`; }[]; experienceLinks: `[${string}](${Url})`[]; teamId: Identifier | null; robloxExperienceIds: Identifier[]; robloxAssetIds: Identifier[]; startedUtc: TimeType; } & ({ endedUtc: TimeType; isCurrent: false; } | { endedUtc: null; isCurrent: true; })>; export type RawCreatorExperiencesData = ObjectPrettify<{ data: CreatorExperienceData<ISODateTime>[]; }>; export type PrettifiedCreatorExperiencesData = CreatorExperienceData<Date>[]; type PaymentType = "Robux" | "RevenuePercent" | "Currency"; export type JobSearchFilter = { jobType?: JobType[]; paymentAmount?: { from?: number; to?: number; }; paymentTypes?: PaymentType[]; skillTypes?: SkillType[]; isVerified?: boolean; }; type JobSearchResult<TimeType, BoolType> = ObjectPrettify<{ id: Identifier; jobPosterId: Identifier; title: string; description: string; jobType: JobType; paymentTypes: PaymentType[]; skillTypes: SkillType; publishedUtc: TimeType; expiresUtc: TimeType; minAgeRequirement: number; isVerifiedRequirement: BoolType; paymentAmount: number; paymentAmountType: "Total" | string; _meta: { score: number; }; }>; type JobSearchData<JobSearchType> = ObjectPrettify<{ meta: { page: { totalPages: number; totalResults: number; current: number; size: number; }; }; results: JobSearchType[]; }>; type RawJobSearchResult = JobSearchResult<ISODateTime, "true" | "false">; export type RawJobSearchData = JobSearchData<ObjectPrettify<{ [Key in keyof RawJobSearchResult]: Key extends "_meta" ? RawJobSearchResult[Key] : { raw: RawJobSearchResult[Key]; }; }>>; export type PrettifiedJobSearchData = JobSearchData<JobSearchResult<Date, boolean>>; export {};