{"version":3,"file":"index.mjs","sources":["../../../../src/effects/prop/index.ts"],"sourcesContent":["import { isObject } from \"motion-utils\"\nimport { MotionValue } from \"../../value\"\nimport { MotionValueState } from \"../MotionValueState\"\nimport { createEffect } from \"../utils/create-effect\"\n\ninterface PropSubject {\n    [key: string]: any\n}\n\n/**\n * Writes motion values to the properties of any object. This is\n * animate()'s fallback for subjects no registered effect claims.\n */\nexport const propEffect = /*@__PURE__*/ createEffect(\n    (\n        subject: PropSubject,\n        state: MotionValueState,\n        key: string,\n        value: MotionValue\n    ) => {\n        return state.set(\n            key,\n            value,\n            () => {\n                subject[key] = value.get()\n            }\n        )\n    },\n    {\n        test: (subject: unknown): subject is PropSubject => isObject(subject),\n        read: (subject, key) => {\n            const value = subject[key]\n            return typeof value === \"string\" || typeof value === \"number\"\n                ? value\n                : undefined\n        },\n    }\n)\n"],"names":[],"mappings":";;;AASA;;;AAGG;AACI,MAAM,UAAU,iBAAiB,YAAY,CAChD,CACI,OAAoB,EACpB,KAAuB,EACvB,GAAW,EACX,KAAkB,KAClB;IACA,OAAO,KAAK,CAAC,GAAG,CACZ,GAAG,EACH,KAAK,EACL,MAAK;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE;AAC9B,IAAA,CAAC,CACJ;AACL,CAAC,EACD;IACI,IAAI,EAAE,CAAC,OAAgB,KAA6B,QAAQ,CAAC,OAAO,CAAC;AACrE,IAAA,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,KAAI;AACnB,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC;QAC1B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK;AACjD,cAAE;cACA,SAAS;IACnB,CAAC;AACJ,CAAA;;;;"}