{"version":3,"file":"SkeletonData.mjs","sources":["../../src/core/SkeletonData.ts"],"sourcesContent":["import type { ISkeletonData } from '@pixi-spine/base';\nimport type { Animation } from './Animation';\nimport type { BoneData } from './BoneData';\nimport type { SlotData } from './SlotData';\nimport type { Skin } from './Skin';\nimport type { EventData } from './EventData';\nimport type { IkConstraintData } from './IkConstraintData';\nimport type { TransformConstraintData } from './TransformConstraintData';\nimport type { PathConstraintData } from './PathConstraintData';\n\n/**\n * @public\n */\nexport class SkeletonData implements ISkeletonData<BoneData, SlotData, Skin, Animation, EventData, IkConstraintData, TransformConstraintData, PathConstraintData> {\n    name: string;\n    bones = new Array<BoneData>(); // Ordered parents first.\n    slots = new Array<SlotData>(); // Setup pose draw order.\n    skins = new Array<Skin>();\n    defaultSkin: Skin;\n    events = new Array<EventData>();\n    animations = new Array<Animation>();\n    ikConstraints = new Array<IkConstraintData>();\n    transformConstraints = new Array<TransformConstraintData>();\n    pathConstraints = new Array<PathConstraintData>();\n    width: number;\n    height: number;\n    version: string;\n    hash: string;\n\n    // Nonessential\n    fps = 0;\n    imagesPath: string;\n\n    findBone(boneName: string) {\n        if (boneName == null) throw new Error('boneName cannot be null.');\n        const bones = this.bones;\n\n        for (let i = 0, n = bones.length; i < n; i++) {\n            const bone = bones[i];\n\n            if (bone.name == boneName) return bone;\n        }\n\n        return null;\n    }\n\n    findBoneIndex(boneName: string) {\n        if (boneName == null) throw new Error('boneName cannot be null.');\n        const bones = this.bones;\n\n        for (let i = 0, n = bones.length; i < n; i++) if (bones[i].name == boneName) return i;\n\n        return -1;\n    }\n\n    findSlot(slotName: string) {\n        if (slotName == null) throw new Error('slotName cannot be null.');\n        const slots = this.slots;\n\n        for (let i = 0, n = slots.length; i < n; i++) {\n            const slot = slots[i];\n\n            if (slot.name == slotName) return slot;\n        }\n\n        return null;\n    }\n\n    findSlotIndex(slotName: string) {\n        if (slotName == null) throw new Error('slotName cannot be null.');\n        const slots = this.slots;\n\n        for (let i = 0, n = slots.length; i < n; i++) if (slots[i].name == slotName) return i;\n\n        return -1;\n    }\n\n    findSkin(skinName: string) {\n        if (skinName == null) throw new Error('skinName cannot be null.');\n        const skins = this.skins;\n\n        for (let i = 0, n = skins.length; i < n; i++) {\n            const skin = skins[i];\n\n            if (skin.name == skinName) return skin;\n        }\n\n        return null;\n    }\n\n    findEvent(eventDataName: string) {\n        if (eventDataName == null) throw new Error('eventDataName cannot be null.');\n        const events = this.events;\n\n        for (let i = 0, n = events.length; i < n; i++) {\n            const event = events[i];\n\n            if (event.name == eventDataName) return event;\n        }\n\n        return null;\n    }\n\n    findAnimation(animationName: string) {\n        if (animationName == null) throw new Error('animationName cannot be null.');\n        const animations = this.animations;\n\n        for (let i = 0, n = animations.length; i < n; i++) {\n            const animation = animations[i];\n\n            if (animation.name == animationName) return animation;\n        }\n\n        return null;\n    }\n\n    findIkConstraint(constraintName: string) {\n        if (constraintName == null) throw new Error('constraintName cannot be null.');\n        const ikConstraints = this.ikConstraints;\n\n        for (let i = 0, n = ikConstraints.length; i < n; i++) {\n            const constraint = ikConstraints[i];\n\n            if (constraint.name == constraintName) return constraint;\n        }\n\n        return null;\n    }\n\n    findTransformConstraint(constraintName: string) {\n        if (constraintName == null) throw new Error('constraintName cannot be null.');\n        const transformConstraints = this.transformConstraints;\n\n        for (let i = 0, n = transformConstraints.length; i < n; i++) {\n            const constraint = transformConstraints[i];\n\n            if (constraint.name == constraintName) return constraint;\n        }\n\n        return null;\n    }\n\n    findPathConstraint(constraintName: string) {\n        if (constraintName == null) throw new Error('constraintName cannot be null.');\n        const pathConstraints = this.pathConstraints;\n\n        for (let i = 0, n = pathConstraints.length; i < n; i++) {\n            const constraint = pathConstraints[i];\n\n            if (constraint.name == constraintName) return constraint;\n        }\n\n        return null;\n    }\n\n    findPathConstraintIndex(pathConstraintName: string) {\n        if (pathConstraintName == null) throw new Error('pathConstraintName cannot be null.');\n        const pathConstraints = this.pathConstraints;\n\n        for (let i = 0, n = pathConstraints.length; i < n; i++) if (pathConstraints[i].name == pathConstraintName) return i;\n\n        return -1;\n    }\n}\n"],"names":[],"mappings":"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"}