{
  "version": 3,
  "sources": ["../src/index.ts", "../src/components/childrens.ts", "../src/components/custom.ts", "../src/plugin.ts", "../src/utils/use.ts", "../src/factory/options.ts", "../src/factory/makers.ts", "../src/objects/makeObject.ts", "../src/objects/makeArea.ts", "../src/objects/makeRender.ts", "../src/objects/makeBg.ts", "../src/objects/makeCircle.ts", "../src/objects/makeRect.ts", "../src/objects/makeSprite.ts", "../src/objects/makeText.ts", "../src/scenes/SceneState.ts", "../src/scenes/kiscene.ts"],
  "sourcesContent": ["import { children } from \"./components/childrens\";\nimport { custom } from \"./components/custom\";\nimport { extendMaker, makeMaker } from \"./factory/makers\";\nimport { makeOptions } from \"./factory/options\";\nimport { makeArea } from \"./objects/makeArea\";\nimport { makeBg } from \"./objects/makeBg\";\nimport { makeCircle } from \"./objects/makeCircle\";\nimport { makeObject } from \"./objects/makeObject\";\nimport { makeRect } from \"./objects/makeRect\";\nimport { makeRender } from \"./objects/makeRender\";\nimport { makeSprite } from \"./objects/makeSprite\";\nimport { makeText } from \"./objects/makeText\";\nimport { createKAPLAYPlugin } from \"./plugin\";\nimport { kiscene } from \"./scenes/kiscene\";\nimport { KiboomPlugin } from \"./types\";\n\nconst { run: kiboom } = createKAPLAYPlugin<KiboomPlugin>(() => {\n    return {\n        kiscene,\n        // createKaboomPlugin,\n\n        // components\n        custom,\n        children,\n\n        // objects\n        makeObject,\n        makeArea,\n\n        // -- render\n        makeRender,\n        makeRect,\n        makeCircle,\n        makeText,\n        makeSprite,\n        makeBg,\n\n        // makers creation\n        makeMaker,\n        extendMaker,\n\n        // options api\n        makeOptions,\n    };\n});\n\nexport { kiboom };\n", "import { Comp, EmptyComp } from \"kaplay\";\n\nexport type ChildrenDefinition<T extends (Comp | string)[]> = {\n    [name: string]: () => T;\n};\n\nexport function children(childrens: ChildrenDefinition<Comp[]>) {\n    const newComp = {};\n\n    for (const key in childrens) {\n        newComp[key] = childrens[key]();\n    }\n\n    return {\n        add() {\n            for (const key in newComp) {\n                this.add(newComp[key]);\n            }\n        },\n    } as EmptyComp;\n}\n", "import { Comp } from \"kaplay\";\n\nexport const custom = <T>(\n    custom: () => T,\n) => {\n    return {\n        ...custom(),\n    } as Comp & T;\n};\n", "import { KAPLAYCtx } from \"kaplay\";\n\nlet kCtx: KAPLAYCtx | null = null;\n\nexport function getK<T extends KAPLAYCtx = KAPLAYCtx>(): T {\n    if (!kCtx) {\n        throw new Error(\n            \"KAPLAY context is not initialized, you can't use it now\",\n        );\n    }\n\n    return kCtx as T;\n}\n\nexport const createKAPLAYPlugin = <T>(pluginRun: (k: KAPLAYCtx) => T) => {\n    return {\n        run: (k: KAPLAYCtx) => {\n            kCtx = k;\n\n            return {\n                ...pluginRun(k),\n            };\n        },\n    };\n};\n", "// Add components to game object\nimport type { Comp, CompList, GameObj } from \"kaplay\";\n\nexport function use<T, T2>(\n    obj: GameObj<T>,\n    comps: CompList<T2> | GameObj<T2>,\n): GameObj<T & T2> {\n    if (!comps) return obj as GameObj<T & T2>;\n\n    for (const comp of comps as Array<Comp>) {\n        obj.use(comp);\n    }\n\n    return obj as GameObj<T & T2>;\n}\n", "import { type KAPLAYCtx } from \"kaplay\";\nimport { OptionFN } from \"../utils/types\";\n\nexport const makeOptions = <T>(\n    opt: (k: KAPLAYCtx) => Partial<T>,\n): OptionFN<T> => {\n    // For now, is user responsability to make sure that the options are correct\n    // respecting the type T\n    return (k) => opt(k) as T;\n};\n\nexport const mergeOptions = <\n    T,\n    T2,\n>(\n    defaultOpt: T,\n    opt: T2,\n) => {\n    return {\n        ...defaultOpt,\n        ...opt,\n    } as Required<T & T2>;\n};\n", "import { GameObj, type KAPLAYCtx } from \"kaplay\";\nimport { getK } from \"../plugin\";\nimport {\n    ApplierFN,\n    MakerFN,\n    OptionFN,\n} from \"../utils/types\";\nimport { use } from \"../utils/use\";\nimport { mergeOptions } from \"./options\";\n\nexport const makeMaker = <TComps, TOpt>(\n    defaultOpt: OptionFN<TOpt>,\n    componentsApply: ApplierFN<TComps, TOpt>,\n): MakerFN<TOpt, TComps> => {\n    return (opt) => {\n        const k = getK<KAPLAYCtx>();\n\n        const applyNewComponents = <T>(\n            obj: GameObj<T>,\n            opt: Required<TOpt>,\n        ) => {\n            const comps = componentsApply?.(opt, k);\n            return use(obj, comps);\n        };\n\n        const requiredOpt = mergeOptions(defaultOpt(k), opt);\n        const baseObj = k.make();\n        const newObj = applyNewComponents(baseObj, requiredOpt);\n\n        return newObj;\n    };\n};\n\nexport const extendMaker = <\n    TBaseComps,\n    TBaseOpt,\n    TNewComps,\n    TNewOpt,\n>(\n    baseMaker: MakerFN<TBaseOpt, TBaseComps>,\n    defaultOpt: OptionFN<TNewOpt> | OptionFN<TNewOpt & TBaseOpt>,\n    componentsApply: ApplierFN<TNewComps, TNewOpt & TBaseOpt> = () => [],\n): MakerFN<TNewOpt & TBaseOpt, TNewComps & TBaseComps> => {\n    return (opt) => {\n        const k = getK<KAPLAYCtx>();\n\n        const applyNewComponents = <T>(\n            obj: GameObj<T>,\n            opt: Required<TNewOpt & TBaseOpt>,\n        ) => {\n            const comps = componentsApply?.(opt, k);\n            return use(obj, comps);\n        };\n\n        const defOpt = defaultOpt(k);\n        const requiredOpt = mergeOptions(defOpt, opt);\n\n        const newObj = applyNewComponents(baseMaker(requiredOpt), requiredOpt);\n\n        return newObj;\n    };\n};\n", "import type {\n    Anchor,\n    AnchorComp,\n    CompList,\n    PosComp,\n    RotateComp,\n    StateComp,\n    Vec2,\n    ZComp,\n} from \"kaplay\";\nimport { makeMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\n\n/**\n * The base options of all object makers\n *\n * @group Options\n */\nexport type ObjOpt = {\n    /** Position of the object */\n    pos?: Vec2;\n    /** Anchor point of the object */\n    anchor?: Anchor | Vec2;\n    /** The rotation of the object */\n    rotate?: number;\n    /** The z index of the object */\n    z?: number;\n    /** Tags of the object */\n    tags?: string[];\n};\n\n/** The components of the base object */\nexport type BaseComps = PosComp | AnchorComp | RotateComp | ZComp | StateComp;\n\nexport const objectOpt = makeOptions<ObjOpt>((k) => ({\n    pos: k.vec2(k.center()),\n    anchor: \"center\",\n    rotate: 0,\n    z: 0,\n    tags: [],\n}));\n\nexport const makeObject = makeMaker(objectOpt, (opt, k) => {\n    return [\n        k.pos(opt.pos),\n        k.anchor(opt.anchor),\n        k.rotate(opt.rotate),\n        k.z(opt.z),\n        ...opt.tags,\n    ] as CompList<BaseComps>;\n});\n", "import type { Vec2 } from \"kaplay\";\nimport { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeObject } from \"./makeObject\";\n\n/**\n * The options of the area object\n *\n * @group Options\n */\nexport type AreaOpt = {\n    /** The size of the area */\n    size: Vec2;\n};\n\nconst areaOpt = makeOptions<AreaOpt>((k) => ({}));\n\nexport const makeArea = extendMaker(makeObject, areaOpt, (opt, k) => [\n    k.area({\n        shape: new k.Rect(k.vec2(0), opt.size.x, opt.size.y),\n    }),\n]);\n", "import { ColorComp, CompList, OpacityComp, ScaleComp, Vec2 } from \"kaplay\";\nimport { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeObject } from \"./makeObject\";\n\n/**\n * The options of the render object\n *\n * @group Options\n */\nexport type RenderOpt = {\n    /** The color of the object. IN HEX: #fff00f */\n    color?: string;\n    /** The opacity of the object. From 0 to 1 */\n    opacity?: number;\n    /** The scale of the object */\n    scale?: Vec2;\n};\n\nexport type RenderComps = ColorComp | OpacityComp | ScaleComp;\n\nexport const renderOpt = makeOptions<RenderOpt>((k) => ({\n    color: \"#ffffff\",\n    opacity: 1,\n    scale: k.vec2(1),\n}));\n\nexport const makeRender = extendMaker(makeObject, renderOpt, (opt, k) => {\n    return [\n        k.color(k.Color.fromHex(opt.color)),\n        k.opacity(opt.opacity),\n        k.scale(opt.scale),\n    ] as CompList<RenderComps>;\n});\n", "import { Vec2 } from \"kaplay\";\nimport { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { ObjOpt } from \"./makeObject\";\nimport { makeRender } from \"./makeRender\";\n\n/**\n * The options of the background object\n *\n * @group Options\n */\nexport type BackgroundOpt = {\n    /**\n     * The size of the background\n     */\n    size?: Vec2;\n};\n\nconst backgroundOpt = makeOptions<BackgroundOpt & ObjOpt>(\n    (k) => ({\n        size: k.vec2(k.width(), k.height()),\n        pos: k.center(),\n    }),\n);\n\nexport const makeBg = extendMaker(makeRender, backgroundOpt, (opt, k) => [\n    k.rect(opt.size.x, opt.size.y),\n]);\n", "import { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeRender } from \"./makeRender\";\n\n/**\n * The options of the circle object\n *\n * @group Options\n */\nexport type CircleOpt = {\n    /** The radius of the circle */\n    radius: number;\n};\n\nexport const circleOpt = makeOptions<CircleOpt>(() => ({}));\n\nexport const makeCircle = extendMaker(makeRender, circleOpt, (opt, k) => [\n    k.circle(opt.radius),\n]);\n", "import { Vec2 } from \"kaplay\";\nimport { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeRender } from \"./makeRender\";\n\n/**\n * The options of the rect object\n *\n * @group Options\n */\nexport type RectOpt = {\n    /** The size of the rect */\n    size: Vec2;\n};\n\nexport const rectOpt = makeOptions<RectOpt>(() => ({}));\n\nexport const makeRect = extendMaker(makeRender, rectOpt, (opt, k) => [\n    k.rect(opt.size.x, opt.size.y),\n]);\n", "import { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeRender } from \"./makeRender\";\n\n/**\n * The options of the sprite object\n *\n * @group Options\n */\nexport type SpriteOpt = {\n    /**\n     * The sprite name\n     */\n    sprite: string;\n};\n\nconst spriteOpt = makeOptions<SpriteOpt>(() => ({}));\n\nexport const makeSprite = extendMaker(makeRender, spriteOpt, (opt, k) => [\n    k.sprite(opt.sprite),\n]);\n", "import type { TextAlign } from \"kaplay\";\nimport { extendMaker } from \"../factory/makers\";\nimport { makeOptions } from \"../factory/options\";\nimport { makeRender } from \"./makeRender\";\n\n/**\n * The options of the text object\n *\n * @group Options\n */\nexport type TextOpt = {\n    /** The text to display */\n    text: string;\n    /** The size of the text */\n    textSize?: number;\n    /** The font of the text */\n    textFont?: string;\n    /** The align of the text */\n    textAlign?: TextAlign;\n};\n\nconst textOpt = makeOptions<TextOpt>(() => ({\n    textSize: 24,\n    textFont: \"monospace\",\n    textAlign: \"left\",\n}));\n\nexport const makeText = extendMaker(makeRender, textOpt, (opt, k) => [\n    k.text(opt.text, {\n        size: opt.textSize,\n        font: opt.textFont,\n        align: opt.textAlign,\n    }),\n]);\n", "import type { AudioPlay, AudioPlayOpt } from \"kaplay\";\nimport { getK } from \"../plugin\";\n\n/**\n * A helper class to manage the state of a scene.\n */\nexport class SceneState<T> {\n    name: string = \"\";\n    backgroundMusic: AudioPlay | null = null;\n    saveData?: () => T;\n    data: T = {} as T;\n\n    constructor(name: string, saveData?: () => any) {\n        this.name = name;\n        this.saveData = saveData;\n    }\n\n    /** Set the persistent data */\n    setPersistentData(data: T) {\n        this.saveData = () => data;\n    }\n\n    /**\n     * Get the persistent data of the scene.\n     */\n    getData(key: keyof T, defaultValue?: T[keyof T]): T[keyof T] {\n        // @ts-ignore\n        return this.saveData<T>()[key] ?? defaultValue;\n    }\n\n    /**\n     * Save the persistent data of the scene.\n     */\n    saveSceneData() {\n        const k = getK();\n        if (this.saveData) k.setData(`scene.${this.name}`, this.saveData());\n    }\n\n    /**\n     * Sets a background music for the scene.\n     */\n    setBackgroundMusic(music: string, options: AudioPlayOpt) {\n        const k = getK();\n\n        if (this.backgroundMusic) {\n            this.backgroundMusic.stop();\n        }\n\n        this.backgroundMusic = k.play(music, options);\n    }\n\n    /**\n     * Change the scene to the given scene saving the current scene data.\n     */\n    changeScene(\n        /** The name of the scene to go to */\n        scene: string,\n        /** Arguments for scene */\n        ...args: any[]\n    ) {\n        this.saveSceneData();\n        this.backgroundMusic?.stop();\n\n        const k = getK();\n\n        k.go(scene, ...args);\n    }\n}\n", "import { getK } from \"../plugin\";\nimport { SceneState } from \"./SceneState\";\n\nexport const kiscene = <T extends {}>(\n    name: string,\n    def: (sceneData: SceneState<T>, ...args: any[]) => void,\n) => {\n    const k = getK();\n    const sceneState = new SceneState<T>(name);\n\n    return () => k.scene(name, (...args) => def(sceneState, ...args));\n};\n"],
  "mappings": "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",
  "names": ["src_exports", "__export", "kiboom", "__toCommonJS", "children", "childrens", "newComp", "key", "__name", "custom", "__name", "kCtx", "getK", "__name", "createKAPLAYPlugin", "pluginRun", "k", "use", "obj", "comps", "comp", "__name", "makeOptions", "__name", "opt", "k", "mergeOptions", "defaultOpt", "makeMaker", "__name", "defaultOpt", "componentsApply", "opt", "k", "getK", "applyNewComponents", "obj", "comps", "use", "requiredOpt", "mergeOptions", "baseObj", "extendMaker", "baseMaker", "defOpt", "objectOpt", "makeOptions", "k", "makeObject", "makeMaker", "opt", "areaOpt", "makeOptions", "k", "makeArea", "extendMaker", "makeObject", "opt", "renderOpt", "makeOptions", "k", "makeRender", "extendMaker", "makeObject", "opt", "backgroundOpt", "makeOptions", "k", "makeBg", "extendMaker", "makeRender", "opt", "circleOpt", "makeOptions", "makeCircle", "extendMaker", "makeRender", "opt", "k", "rectOpt", "makeOptions", "makeRect", "extendMaker", "makeRender", "opt", "k", "spriteOpt", "makeOptions", "makeSprite", "extendMaker", "makeRender", "opt", "k", "textOpt", "makeOptions", "makeText", "extendMaker", "makeRender", "opt", "k", "SceneState", "__name", "name", "saveData", "data", "key", "defaultValue", "k", "getK", "music", "options", "scene", "args", "kiscene", "__name", "name", "def", "k", "getK", "sceneState", "SceneState", "args", "kiboom", "createKAPLAYPlugin", "kiscene", "custom", "children", "makeObject", "makeArea", "makeRender", "makeRect", "makeCircle", "makeText", "makeSprite", "makeBg", "makeMaker", "extendMaker", "makeOptions"]
}
