UNPKG

1.35 kBJavaScriptView Raw
1!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("optics-ts"),require("jotai")):"function"==typeof define&&define.amd?define(["exports","optics-ts","jotai"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).jotaiOptics={},e.O,e.jotai)}(this,(function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(n){if("default"!==n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}})),t.default=e,Object.freeze(t)}var i,o=r(t),u=(i=new WeakMap,function(e,t){var n=function(e,t){do{var n=t,r=n[0],i=n.slice(1),o=e.get(r);if(!o)return;if(!i.length)return o[1];e=o[0],t=i}while(t.length)}(i,t);if(n)return n;var r=e();return function(e,t,n){do{var r=t,i=r[0],o=r.slice(1),u=e.get(i);if(u||(u=[new WeakMap],e.set(i,u)),!o.length)return void(u[1]=n);e=u[0],t=o}while(t.length)}(i,t,r),r});var f=function(e,t){return"Traversal"===e._tag?o.collect(e)(t):"Prism"===e._tag?o.preview(e)(t):o.get(e)(t)};e.focusAtom=function(e,t){return u((function(){var r=t(o.optic());return n.atom((function(t){return f(r,t(e))}),(function(t,n,i){var u="function"==typeof i?o.modify(r)(i):o.set(r)(i);return n(e,u(t(e)))}))}),[e,t])},Object.defineProperty(e,"__esModule",{value:!0})}));