diff --git a/src/create.luau b/src/create.luau index db33663..328f214 100644 --- a/src/create.luau +++ b/src/create.luau @@ -4,6 +4,7 @@ local Instance = game and Instance or require "../test/mock".Instance :: never local defaults = require "./defaults" local apply = require "./apply" local flags = require "./flags" +local instances = require "./types/instances" local function create_constructor_for_class(class: string): ({ [unknown]: unknown }) -> Instance local function constructor(properties: { [unknown]: unknown }): Instance @@ -52,27 +53,7 @@ local function create(class_or_instance: string|Instance, properties: { [unknown else constructor end -type Instances = { - Folder: Folder, - BillboardGui: BillboardGui, - CanvasGroup: CanvasGroup, - Frame: Frame, - ImageButton: ImageButton, - ImageLabel: ImageLabel, - ScreenGui: ScreenGui, - ScrollingFrame: ScrollingFrame, - SurfaceGui: SurfaceGui, - TextBox: TextBox, - TextButton: TextButton, - TextLabel: TextLabel, - UIAspectRatioConstraint: UIAspectRatioConstraint, - UICorner: UICorner, - UIGradient: UIGradient, - UIGridLayout: UIGridLayout, - UIListLayout: UIListLayout, - Camera: Camera, - WorldModel: WorldModel, -} +type Instances = instances.Instances type function Properties(instance: type?) local properties = types.newtable() diff --git a/src/types/instances.luau b/src/types/instances.luau new file mode 100644 index 0000000..eedb2e6 --- /dev/null +++ b/src/types/instances.luau @@ -0,0 +1,319 @@ +export type Instances = { + Accessory: Accessory, + AccessoryDescription: AccessoryDescription, + Accoutrement: Accoutrement, + Actor: Actor, + AdGui: AdGui, + AdPortal: AdPortal, + AirController: AirController, + AlignOrientation: AlignOrientation, + AlignPosition: AlignPosition, + AngularVelocity: AngularVelocity, + Animation: Animation, + AnimationConstraint: AnimationConstraint, + AnimationController: AnimationController, + AnimationGraphDefinition: AnimationGraphDefinition, + AnimationNodeDefinition: AnimationNodeDefinition, + AnimationRigData: AnimationRigData, + Animator: Animator, + Annotation: Annotation, + ArcHandles: ArcHandles, + Atmosphere: Atmosphere, + AtmosphereSensor: AtmosphereSensor, + Attachment: Attachment, + AudioAnalyzer: AudioAnalyzer, + AudioChannelMixer: AudioChannelMixer, + AudioChannelSplitter: AudioChannelSplitter, + AudioChorus: AudioChorus, + AudioCompressor: AudioCompressor, + AudioDeviceInput: AudioDeviceInput, + AudioDeviceOutput: AudioDeviceOutput, + AudioDistortion: AudioDistortion, + AudioEcho: AudioEcho, + AudioEmitter: AudioEmitter, + AudioEqualizer: AudioEqualizer, + AudioFader: AudioFader, + AudioFilter: AudioFilter, + AudioFlanger: AudioFlanger, + AudioGate: AudioGate, + AudioLimiter: AudioLimiter, + AudioListener: AudioListener, + AudioPitchShifter: AudioPitchShifter, + AudioPlayer: AudioPlayer, + AudioRecorder: AudioRecorder, + AudioReverb: AudioReverb, + AudioSearchParams: AudioSearchParams, + AudioSpeechToText: AudioSpeechToText, + AudioTextToSpeech: AudioTextToSpeech, + AudioTremolo: AudioTremolo, + AuroraScript: AuroraScript, + AvatarAbilityRules: AvatarAbilityRules, + AvatarAccessoryRules: AvatarAccessoryRules, + AvatarAnimationRules: AvatarAnimationRules, + AvatarBodyRules: AvatarBodyRules, + AvatarClothingRules: AvatarClothingRules, + AvatarCollisionRules: AvatarCollisionRules, + AvatarRules: AvatarRules, + Backpack: Backpack, + BallSocketConstraint: BallSocketConstraint, + Beam: Beam, + BillboardGui: BillboardGui, + BindableEvent: BindableEvent, + BindableFunction: BindableFunction, + BlockMesh: BlockMesh, + BloomEffect: BloomEffect, + BlurEffect: BlurEffect, + BodyAngularVelocity: BodyAngularVelocity, + BodyColors: BodyColors, + BodyForce: BodyForce, + BodyGyro: BodyGyro, + BodyPartDescription: BodyPartDescription, + BodyPosition: BodyPosition, + BodyThrust: BodyThrust, + BodyVelocity: BodyVelocity, + Bone: Bone, + BoolValue: BoolValue, + BoxHandleAdornment: BoxHandleAdornment, + Breakpoint: Breakpoint, + BrickColorValue: BrickColorValue, + BubbleChatMessageProperties: BubbleChatMessageProperties, + BuoyancySensor: BuoyancySensor, + CFrameValue: CFrameValue, + Camera: Camera, + CanvasGroup: CanvasGroup, + CharacterMesh: CharacterMesh, + ChorusSoundEffect: ChorusSoundEffect, + ClickDetector: ClickDetector, + ClimbController: ClimbController, + Clouds: Clouds, + Color3Value: Color3Value, + ColorCorrectionEffect: ColorCorrectionEffect, + ColorGradingEffect: ColorGradingEffect, + CompositeValueCurve: CompositeValueCurve, + CompressorSoundEffect: CompressorSoundEffect, + ConeHandleAdornment: ConeHandleAdornment, + Configuration: Configuration, + ControllerManager: ControllerManager, + ControllerPartSensor: ControllerPartSensor, + CornerWedgePart: CornerWedgePart, + CurveAnimation: CurveAnimation, + CustomLog: CustomLog, + CylinderHandleAdornment: CylinderHandleAdornment, + CylinderMesh: CylinderMesh, + CylindricalConstraint: CylindricalConstraint, + DataStoreGetOptions: DataStoreGetOptions, + DataStoreIncrementOptions: DataStoreIncrementOptions, + DataStoreOptions: DataStoreOptions, + DataStoreSetOptions: DataStoreSetOptions, + Decal: Decal, + DepthOfFieldEffect: DepthOfFieldEffect, + Dialog: Dialog, + DialogChoice: DialogChoice, + DigitsRigDescription: DigitsRigDescription, + DistortionSoundEffect: DistortionSoundEffect, + DoubleConstrainedValue: DoubleConstrainedValue, + DragDetector: DragDetector, + Dragger: Dragger, + EchoSoundEffect: EchoSoundEffect, + EqualizerSoundEffect: EqualizerSoundEffect, + EulerRotationCurve: EulerRotationCurve, + ExperienceInviteOptions: ExperienceInviteOptions, + ExplorerFilter: ExplorerFilter, + Explosion: Explosion, + FaceControls: FaceControls, + FileMesh: FileMesh, + Fire: Fire, + FlangeSoundEffect: FlangeSoundEffect, + FloatCurve: FloatCurve, + FloorWire: FloorWire, + FluidForceSensor: FluidForceSensor, + Folder: Folder, + ForceField: ForceField, + Frame: Frame, + GeneratedFolder: GeneratedFolder, + GetTextBoundsParams: GetTextBoundsParams, + Glue: Glue, + GroundController: GroundController, + Handles: Handles, + HapticEffect: HapticEffect, + Hat: Hat, + HiddenSurfaceRemovalAsset: HiddenSurfaceRemovalAsset, + Highlight: Highlight, + HingeConstraint: HingeConstraint, + Hole: Hole, + Humanoid: Humanoid, + HumanoidController: HumanoidController, + HumanoidDescription: HumanoidDescription, + HumanoidRigDescription: HumanoidRigDescription, + IKControl: IKControl, + ImageButton: ImageButton, + ImageHandleAdornment: ImageHandleAdornment, + ImageLabel: ImageLabel, + InputAction: InputAction, + InputBinding: InputBinding, + InputContext: InputContext, + IntConstrainedValue: IntConstrainedValue, + IntValue: IntValue, + InternalSyncItem: InternalSyncItem, + IntersectOperation: IntersectOperation, + Keyframe: Keyframe, + KeyframeMarker: KeyframeMarker, + KeyframeSequence: KeyframeSequence, + LineForce: LineForce, + LineHandleAdornment: LineHandleAdornment, + LinearVelocity: LinearVelocity, + LocalScript: LocalScript, + LocalizationTable: LocalizationTable, + MakeupDescription: MakeupDescription, + ManualGlue: ManualGlue, + ManualWeld: ManualWeld, + MarkerCurve: MarkerCurve, + MaterialVariant: MaterialVariant, + MeshPart: MeshPart, + Model: Model, + ModuleScript: ModuleScript, + Motor: Motor, + Motor6D: Motor6D, + MotorFeature: MotorFeature, + NegateOperation: NegateOperation, + NoCollisionConstraint: NoCollisionConstraint, + Noise: Noise, + NumberPose: NumberPose, + NumberValue: NumberValue, + ObjectValue: ObjectValue, + OperationGraph: OperationGraph, + Pants: Pants, + Part: Part, + PartOperation: PartOperation, + ParticleEmitter: ParticleEmitter, + Path2D: Path2D, + PathfindingLink: PathfindingLink, + PathfindingModifier: PathfindingModifier, + PitchShiftSoundEffect: PitchShiftSoundEffect, + Plane: Plane, + PlaneConstraint: PlaneConstraint, + PluginCapabilities: PluginCapabilities, + PointLight: PointLight, + Pose: Pose, + PrismaticConstraint: PrismaticConstraint, + ProceduralModel: ProceduralModel, + ProximityPrompt: ProximityPrompt, + PyramidHandleAdornment: PyramidHandleAdornment, + RTAnimationTracker: RTAnimationTracker, + RayValue: RayValue, + RealtimeMedia: RealtimeMedia, + RelativeGui: RelativeGui, + RemoteEvent: RemoteEvent, + RemoteFunction: RemoteFunction, + ReverbSoundEffect: ReverbSoundEffect, + RigidConstraint: RigidConstraint, + RocketPropulsion: RocketPropulsion, + RodConstraint: RodConstraint, + RopeConstraint: RopeConstraint, + Rotate: Rotate, + RotateP: RotateP, + RotateV: RotateV, + RotationCurve: RotationCurve, + ScreenGui: ScreenGui, + Script: Script, + ScrollingFrame: ScrollingFrame, + Seat: Seat, + SelectionBox: SelectionBox, + SelectionPartLasso: SelectionPartLasso, + SelectionPointLasso: SelectionPointLasso, + SelectionSphere: SelectionSphere, + Shirt: Shirt, + ShirtGraphic: ShirtGraphic, + SkateboardController: SkateboardController, + SkateboardPlatform: SkateboardPlatform, + Sky: Sky, + Smoke: Smoke, + Snap: Snap, + Sound: Sound, + SoundGroup: SoundGroup, + Sparkles: Sparkles, + SpawnLocation: SpawnLocation, + SpecialMesh: SpecialMesh, + SphereHandleAdornment: SphereHandleAdornment, + SpotLight: SpotLight, + SpringConstraint: SpringConstraint, + StarterGear: StarterGear, + StringValue: StringValue, + StudioAttachment: StudioAttachment, + StudioCallout: StudioCallout, + StyleDerive: StyleDerive, + StyleLink: StyleLink, + StyleQuery: StyleQuery, + StyleRule: StyleRule, + StyleSheet: StyleSheet, + SunRaysEffect: SunRaysEffect, + SurfaceAppearance: SurfaceAppearance, + SurfaceGui: SurfaceGui, + SurfaceLight: SurfaceLight, + SurfaceSelection: SurfaceSelection, + SwimController: SwimController, + Team: Team, + TeleportOptions: TeleportOptions, + TerrainDetail: TerrainDetail, + TerrainRegion: TerrainRegion, + TextBox: TextBox, + TextButton: TextButton, + TextChannel: TextChannel, + TextChatCommand: TextChatCommand, + TextChatMessageProperties: TextChatMessageProperties, + TextGenerator: TextGenerator, + TextLabel: TextLabel, + Texture: Texture, + Tool: Tool, + Torque: Torque, + TorsionSpringConstraint: TorsionSpringConstraint, + TrackerStreamAnimation: TrackerStreamAnimation, + Trail: Trail, + TremoloSoundEffect: TremoloSoundEffect, + TrussPart: TrussPart, + UIAspectRatioConstraint: UIAspectRatioConstraint, + UICorner: UICorner, + UIDragDetector: UIDragDetector, + UIFlexItem: UIFlexItem, + UIGradient: UIGradient, + UIGridLayout: UIGridLayout, + UIListLayout: UIListLayout, + UIPadding: UIPadding, + UIPageLayout: UIPageLayout, + UIScale: UIScale, + UIShadow: UIShadow, + UISizeConstraint: UISizeConstraint, + UIStroke: UIStroke, + UITableLayout: UITableLayout, + UITextSizeConstraint: UITextSizeConstraint, + UnionOperation: UnionOperation, + UniversalConstraint: UniversalConstraint, + UnreliableRemoteEvent: UnreliableRemoteEvent, + ValueCurve: ValueCurve, + Vector3Curve: Vector3Curve, + Vector3Value: Vector3Value, + VectorForce: VectorForce, + VehicleController: VehicleController, + VehicleSeat: VehicleSeat, + VelocityMotor: VelocityMotor, + VideoDeviceInput: VideoDeviceInput, + VideoDisplay: VideoDisplay, + VideoFrame: VideoFrame, + VideoPlayer: VideoPlayer, + ViewportFrame: ViewportFrame, + VisualizationMode: VisualizationMode, + VisualizationModeCategory: VisualizationModeCategory, + WedgePart: WedgePart, + Weld: Weld, + WeldConstraint: WeldConstraint, + Wire: Wire, + WireframeHandleAdornment: WireframeHandleAdornment, + WorkspaceAnnotation: WorkspaceAnnotation, + WorldModel: WorldModel, + WrapDeformer: WrapDeformer, + WrapLayer: WrapLayer, + WrapTarget: WrapTarget, + WrapTextureTransfer: WrapTextureTransfer, +} + +return {}