phaser-wind 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/dist/phaser-wind.js +1228 -0
- package/dist/phaser-wind.min.js +1 -0
- package/dist/theme/theme-manager.d.ts.map +1 -1
- package/dist/theme/theme-manager.js +1 -1
- package/dist/theme/theme-manager.js.map +1 -1
- package/dist/utils/__tests__/merge.test.d.ts +2 -0
- package/dist/utils/__tests__/merge.test.d.ts.map +1 -0
- package/dist/utils/__tests__/merge.test.js +433 -0
- package/dist/utils/__tests__/merge.test.js.map +1 -0
- package/dist/utils/index.d.ts +2 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/merge.d.ts +24 -0
- package/dist/utils/merge.d.ts.map +1 -0
- package/dist/utils/merge.js +79 -0
- package/dist/utils/merge.js.map +1 -0
- package/package.json +9 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
!function(r,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("phaser")):"function"==typeof define&&define.amd?define(["exports","phaser"],n):n((r="undefined"!=typeof globalThis?globalThis:r||self).PhaserWind={},r.Phaser)}(this,function(r,n){"use strict";var t=function(r,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(r[t]=n[t])},t(r,n)};function e(r,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function e(){this.constructor=r}t(r,n),r.prototype=null===n?Object.create(n):(e.prototype=n.prototype,new e)}var o=function(){return o=Object.assign||function(r){for(var n,t=1,e=arguments.length;t<e;t++)for(var o in n=arguments[t])Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o]);return r},o.apply(this,arguments)};function a(r,n,t){if(t||2===arguments.length)for(var e,o=0,a=n.length;o<a;o++)!e&&o in n||(e||(e=Array.prototype.slice.call(n,0,o)),e[o]=n[o]);return r.concat(e||Array.prototype.slice.call(n))}"function"==typeof SuppressedError&&SuppressedError;var i=function(r){return null!==r&&"object"==typeof r&&!Array.isArray(r)&&"[object Object]"===Object.prototype.toString.call(r)},c=function(r){if(null===r||"object"!=typeof r)return r;if(Array.isArray(r))return r.map(function(r){return c(r)});if(i(r)){var n={};for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(n[t]=c(r[t]));return n}return r},g=function(r){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];if(!i(r))return r;for(var e=c(r),o=0,a=n;o<a.length;o++){var b=a[o];if(i(b)){var u=c(b);for(var s in u)if(Object.prototype.hasOwnProperty.call(u,s)){var f=u[s],l=e[s];i(f)&&i(l)?e[s]=g(l,f):void 0!==f&&(e[s]=f)}}}return e},b=function(r){if("string"!=typeof r)return!1;var n=r.trim();return!!/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(n)||(!!/^rgb\(\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*\)$/.test(n)||(!!/^rgba\(\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*(\d{1,3}%?)\s*,\s*([01]|0?\.\d+)\s*\)$/.test(n)||!!/^oklch\(\s*(\d*\.?\d+%?)\s+(\d*\.?\d+)\s+(\d*\.?\d+)(?:\s*\/\s*([01]|0?\.\d+))?\s*\)$/.test(n)))},u={black:"#000",white:"#fff",slate:{50:"rgb(248, 250, 252)",100:"rgb(241, 245, 249)",200:"rgb(226, 232, 240)",300:"rgb(203, 213, 225)",400:"rgb(148, 163, 184)",500:"rgb(100, 116, 139)",600:"rgb(71, 85, 105)",700:"rgb(51, 65, 85)",800:"rgb(30, 41, 59)",900:"rgb(15, 23, 42)",950:"rgb(2, 6, 23)"},gray:{50:"rgb(249, 250, 251)",100:"rgb(243, 244, 246)",200:"rgb(229, 231, 235)",300:"rgb(209, 213, 219)",400:"rgb(156, 163, 175)",500:"rgb(107, 114, 128)",600:"rgb(75, 85, 99)",700:"rgb(55, 65, 81)",800:"rgb(31, 41, 55)",900:"rgb(17, 24, 39)",950:"rgb(3, 7, 18)"},zinc:{50:"rgb(250, 250, 250)",100:"rgb(244, 244, 245)",200:"rgb(228, 228, 231)",300:"rgb(212, 212, 216)",400:"rgb(161, 161, 170)",500:"rgb(113, 113, 122)",600:"rgb(82, 82, 91)",700:"rgb(63, 63, 70)",800:"rgb(39, 39, 42)",900:"rgb(24, 24, 27)",950:"rgb(9, 9, 11)"},neutral:{50:"rgb(250, 250, 250)",100:"rgb(245, 245, 245)",200:"rgb(229, 229, 229)",300:"rgb(212, 212, 212)",400:"rgb(163, 163, 163)",500:"rgb(115, 115, 115)",600:"rgb(82, 82, 82)",700:"rgb(64, 64, 64)",800:"rgb(38, 38, 38)",900:"rgb(23, 23, 23)",950:"rgb(10, 10, 10)"},stone:{50:"rgb(250, 250, 249)",100:"rgb(245, 245, 244)",200:"rgb(231, 229, 228)",300:"rgb(214, 211, 209)",400:"rgb(168, 162, 158)",500:"rgb(120, 113, 108)",600:"rgb(87, 83, 78)",700:"rgb(68, 64, 60)",800:"rgb(41, 37, 36)",900:"rgb(28, 25, 23)",950:"rgb(12, 10, 9)"},red:{50:"rgb(254, 242, 242)",100:"rgb(254, 226, 226)",200:"rgb(254, 202, 202)",300:"rgb(252, 165, 165)",400:"rgb(248, 113, 113)",500:"rgb(239, 68, 68)",600:"rgb(220, 38, 38)",700:"rgb(185, 28, 28)",800:"rgb(153, 27, 27)",900:"rgb(127, 29, 29)",950:"rgb(69, 10, 10)"},orange:{50:"rgb(255, 247, 237)",100:"rgb(255, 237, 213)",200:"rgb(254, 215, 170)",300:"rgb(253, 186, 116)",400:"rgb(251, 146, 60)",500:"rgb(249, 115, 22)",600:"rgb(234, 88, 12)",700:"rgb(194, 65, 12)",800:"rgb(154, 52, 18)",900:"rgb(124, 45, 18)",950:"rgb(67, 20, 7)"},amber:{50:"rgb(255, 251, 235)",100:"rgb(254, 243, 199)",200:"rgb(253, 230, 138)",300:"rgb(252, 211, 77)",400:"rgb(251, 191, 36)",500:"rgb(245, 158, 11)",600:"rgb(217, 119, 6)",700:"rgb(180, 83, 9)",800:"rgb(146, 64, 14)",900:"rgb(120, 53, 15)",950:"rgb(69, 26, 3)"},yellow:{50:"rgb(254, 252, 232)",100:"rgb(254, 249, 195)",200:"rgb(254, 240, 138)",300:"rgb(253, 224, 71)",400:"rgb(250, 204, 21)",500:"rgb(234, 179, 8)",600:"rgb(202, 138, 4)",700:"rgb(161, 98, 7)",800:"rgb(133, 77, 14)",900:"rgb(113, 63, 18)",950:"rgb(66, 32, 6)"},lime:{50:"rgb(247, 254, 231)",100:"rgb(236, 252, 203)",200:"rgb(217, 249, 157)",300:"rgb(190, 242, 100)",400:"rgb(163, 230, 53)",500:"rgb(132, 204, 22)",600:"rgb(101, 163, 13)",700:"rgb(77, 124, 15)",800:"rgb(63, 98, 18)",900:"rgb(54, 83, 20)",950:"rgb(26, 46, 5)"},green:{50:"rgb(240, 253, 244)",100:"rgb(220, 252, 231)",200:"rgb(187, 247, 208)",300:"rgb(134, 239, 172)",400:"rgb(74, 222, 128)",500:"rgb(34, 197, 94)",600:"rgb(22, 163, 74)",700:"rgb(21, 128, 61)",800:"rgb(22, 101, 52)",900:"rgb(20, 83, 45)",950:"rgb(5, 46, 22)"},emerald:{50:"rgb(236, 253, 245)",100:"rgb(209, 250, 229)",200:"rgb(167, 243, 208)",300:"rgb(110, 231, 183)",400:"rgb(52, 211, 153)",500:"rgb(16, 185, 129)",600:"rgb(5, 150, 105)",700:"rgb(4, 120, 87)",800:"rgb(6, 95, 70)",900:"rgb(6, 78, 59)",950:"rgb(2, 44, 34)"},teal:{50:"rgb(240, 253, 250)",100:"rgb(204, 251, 241)",200:"rgb(153, 246, 228)",300:"rgb(94, 234, 212)",400:"rgb(45, 212, 191)",500:"rgb(20, 184, 166)",600:"rgb(13, 148, 136)",700:"rgb(15, 118, 110)",800:"rgb(17, 94, 89)",900:"rgb(19, 78, 74)",950:"rgb(4, 47, 46)"},cyan:{50:"rgb(236, 254, 255)",100:"rgb(207, 250, 254)",200:"rgb(165, 243, 252)",300:"rgb(103, 232, 249)",400:"rgb(34, 211, 238)",500:"rgb(6, 182, 212)",600:"rgb(8, 145, 178)",700:"rgb(14, 116, 144)",800:"rgb(21, 94, 117)",900:"rgb(22, 78, 99)",950:"rgb(8, 51, 68)"},sky:{50:"rgb(240, 249, 255)",100:"rgb(224, 242, 254)",200:"rgb(186, 230, 253)",300:"rgb(125, 211, 252)",400:"rgb(56, 189, 248)",500:"rgb(14, 165, 233)",600:"rgb(2, 132, 199)",700:"rgb(3, 105, 161)",800:"rgb(7, 89, 133)",900:"rgb(12, 74, 110)",950:"rgb(8, 47, 73)"},blue:{50:"rgb(239, 246, 255)",100:"rgb(219, 234, 254)",200:"rgb(191, 219, 254)",300:"rgb(147, 197, 253)",400:"rgb(96, 165, 250)",500:"rgb(59, 130, 246)",600:"rgb(37, 99, 235)",700:"rgb(29, 78, 216)",800:"rgb(30, 64, 175)",900:"rgb(30, 58, 138)",950:"rgb(23, 37, 84)"},indigo:{50:"rgb(238, 242, 255)",100:"rgb(224, 231, 255)",200:"rgb(199, 210, 254)",300:"rgb(165, 180, 252)",400:"rgb(129, 140, 248)",500:"rgb(99, 102, 241)",600:"rgb(79, 70, 229)",700:"rgb(67, 56, 202)",800:"rgb(55, 48, 163)",900:"rgb(49, 46, 129)",950:"rgb(30, 27, 75)"},violet:{50:"rgb(245, 243, 255)",100:"rgb(237, 233, 254)",200:"rgb(221, 214, 254)",300:"rgb(196, 181, 253)",400:"rgb(167, 139, 250)",500:"rgb(139, 92, 246)",600:"rgb(124, 58, 237)",700:"rgb(109, 40, 217)",800:"rgb(91, 33, 182)",900:"rgb(76, 29, 149)",950:"rgb(46, 16, 101)"},purple:{50:"rgb(250, 245, 255)",100:"rgb(243, 232, 255)",200:"rgb(233, 213, 255)",300:"rgb(216, 180, 254)",400:"rgb(192, 132, 252)",500:"rgb(168, 85, 247)",600:"rgb(147, 51, 234)",700:"rgb(126, 34, 206)",800:"rgb(107, 33, 168)",900:"rgb(88, 28, 135)",950:"rgb(59, 7, 100)"},fuchsia:{50:"rgb(253, 244, 255)",100:"rgb(250, 232, 255)",200:"rgb(245, 208, 254)",300:"rgb(240, 171, 252)",400:"rgb(232, 121, 249)",500:"rgb(217, 70, 239)",600:"rgb(192, 38, 211)",700:"rgb(162, 28, 175)",800:"rgb(134, 25, 143)",900:"rgb(112, 26, 117)",950:"rgb(74, 4, 78)"},pink:{50:"rgb(253, 242, 248)",100:"rgb(252, 231, 243)",200:"rgb(251, 207, 232)",300:"rgb(249, 168, 212)",400:"rgb(244, 114, 182)",500:"rgb(236, 72, 153)",600:"rgb(219, 39, 119)",700:"rgb(190, 24, 93)",800:"rgb(157, 23, 77)",900:"rgb(131, 24, 67)",950:"rgb(80, 7, 36)"},rose:{50:"rgb(255, 241, 242)",100:"rgb(255, 228, 230)",200:"rgb(254, 205, 211)",300:"rgb(253, 164, 175)",400:"rgb(251, 113, 133)",500:"rgb(244, 63, 94)",600:"rgb(225, 29, 72)",700:"rgb(190, 18, 60)",800:"rgb(159, 18, 57)",900:"rgb(136, 19, 55)",950:"rgb(76, 5, 25)"}},s=/rgb\((\d+),\s*(\d+),\s*(\d+)\)/,f=function(r){return r.startsWith("#")?3===(n=r.slice(1)).length?(parseInt(n[0]+n[0],16)<<16)+(parseInt(n[1]+n[1],16)<<8)+parseInt(n[2]+n[2],16):parseInt(n,16):function(r){var n=r.match(s);if(!n)throw new Error("Invalid RGB format: ".concat(r));return(parseInt(n[1])<<16)+(parseInt(n[2])<<8)+parseInt(n[3])}(r);var n},l=function(r){var n=function(n){return r&&n in r?r[n]:null},t=function(r){var e;if("string"==typeof r&&b(r))return r;var o=n(r);if(o)return t(o);var a=r.split("-");if(2===a.length){var i=a[0],c=a[1],g=null===(e=u[i])||void 0===e?void 0:e[c];if(!g){if(b(r))return r;throw new Error('Color token "'.concat(i,"-").concat(c,'" not found'))}return g}var s=u[r];if(!s){if(b(r))return r;throw new Error('Color token "'.concat(r,'" not found'))}return s},e=function(r){var t;if("string"==typeof r&&b(r))return f(r);var o=n(r);if(o)return e(o);var a=r.split("-");if(2===a.length){var i=a[0],c=a[1],g=null===(t=u[i])||void 0===t?void 0:t[c];if(!g){if(b(r))return f(r);throw new Error('Color token "'.concat(i,"-").concat(c,'" not found'))}return f(g)}var s=u[r];if(b(s))return f(s);throw new Error('Color token "'.concat(r,'" not found'))};return{rgb:t,hex:e,black:function(){return t("black")},white:function(){return t("white")},slate:function(r){return t("slate-".concat(r))},gray:function(r){return t("gray-".concat(r))},zinc:function(r){return t("zinc-".concat(r))},neutral:function(r){return t("neutral-".concat(r))},stone:function(r){return t("stone-".concat(r))},red:function(r){return t("red-".concat(r))},orange:function(r){return t("orange-".concat(r))},amber:function(r){return t("amber-".concat(r))},yellow:function(r){return t("yellow-".concat(r))},lime:function(r){return t("lime-".concat(r))},green:function(r){return t("green-".concat(r))},emerald:function(r){return t("emerald-".concat(r))},teal:function(r){return t("teal-".concat(r))},cyan:function(r){return t("cyan-".concat(r))},sky:function(r){return t("sky-".concat(r))},blue:function(r){return t("blue-".concat(r))},indigo:function(r){return t("indigo-".concat(r))},violet:function(r){return t("violet-".concat(r))},purple:function(r){return t("purple-".concat(r))},fuchsia:function(r){return t("fuchsia-".concat(r))},pink:function(r){return t("pink-".concat(r))},rose:function(r){return t("rose-".concat(r))},blackHex:function(){return e("black")},whiteHex:function(){return e("white")},slateHex:function(r){return e("slate-".concat(r))},grayHex:function(r){return e("gray-".concat(r))},zincHex:function(r){return e("zinc-".concat(r))},neutralHex:function(r){return e("neutral-".concat(r))},stoneHex:function(r){return e("stone-".concat(r))},redHex:function(r){return e("red-".concat(r))},orangeHex:function(r){return e("orange-".concat(r))},amberHex:function(r){return e("amber-".concat(r))},yellowHex:function(r){return e("yellow-".concat(r))},limeHex:function(r){return e("lime-".concat(r))},greenHex:function(r){return e("green-".concat(r))},emeraldHex:function(r){return e("emerald-".concat(r))},tealHex:function(r){return e("teal-".concat(r))},cyanHex:function(r){return e("cyan-".concat(r))},skyHex:function(r){return e("sky-".concat(r))},blueHex:function(r){return e("blue-".concat(r))},indigoHex:function(r){return e("indigo-".concat(r))},violetHex:function(r){return e("violet-".concat(r))},purpleHex:function(r){return e("purple-".concat(r))},fuchsiaHex:function(r){return e("fuchsia-".concat(r))},pinkHex:function(r){return e("pink-".concat(r))},roseHex:function(r){return e("rose-".concat(r))}}},p=l({}),h={xs:12,sm:14,base:16,lg:18,xl:20,"2xl":24,"3xl":30,"4xl":36,"5xl":48,"6xl":60,"7xl":72,"8xl":96,"9xl":128},d=function(r){var n=o(o({},h),r);return{px:function(r){var t=n[r];return"number"==typeof t?t:0},rem:function(r){var t=n[r];return"number"==typeof t?t/16:0},css:function(r){var t=n[r];return"number"==typeof t?"".concat(t,"px"):"0px"}}},y=d(void 0),m={primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},v=function(r,n){var t=o(o({},m),r),e=d(n),i=function(r){if(r.includes(".")){var n=r.split(".")[1];if(n&&"string"==typeof t[n])return t[n]}return"string"==typeof t[r]?t[r]:r};return{size:function(r){var n;return null!==(n=e.px(r))&&void 0!==n?n:0},format:function(r){var n,t=r.size,o=r.family,a=null!==(n=e.px(t))&&void 0!==n?n:0;return"".concat(a,"px '").concat(i(o),"'")},family:function(r){return i(r)},getAvailableFonts:function(){return Array.from(new Set(a(a([],Object.keys(m),!0),Object.keys(t),!0)))}}},x={none:0,sm:2,default:4,md:6,lg:8,xl:12,"2xl":16,"3xl":24,full:9999},w=function(r){var n=o(o({},x),r),t=function(r){return"number"==typeof n[r]?n[r]:0};return{px:function(r){return t(r)},rem:function(r){return t(r)/16},css:function(r){return"".concat(t(r),"px")}}},H=w(void 0),I={sm:{blur:2,offsetX:1,offsetY:1,alpha:.15},md:{blur:4,offsetX:2,offsetY:2,alpha:.2},lg:{blur:6,offsetX:4,offsetY:4,alpha:.25},xl:{blur:8,offsetX:6,offsetY:6,alpha:.3},"2xl":{blur:12,offsetX:8,offsetY:8,alpha:.35},inner:{blur:4,offsetX:-2,offsetY:-2,alpha:.2}},S=function(r){var n=o(o({},I),r);return{get:function(r){return function(r){var t=n[r];return t&&"object"==typeof t?t:I.md}(r)}}},k=S(void 0),z={0:0,px:1,.5:2,1:4,1.5:6,2:8,2.5:10,3:12,3.5:14,4:16,5:20,6:24,7:28,8:32,9:36,10:40,11:44,12:48,14:56,16:64,20:80,24:96,28:112,32:128,36:144,40:160,44:176,48:192,52:208,56:224,60:240,64:256,72:288,80:320,96:384},P=function(r){var n=o(o({},z),r),t=function(r){return"number"==typeof n[r]?n[r]:0};return{px:function(r){return t(r)},rem:function(r){return t(r)/16},css:function(r){return"".concat(t(r),"px")}}},j=P(void 0),O={fonts:{primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},fontSizes:o({},h),colors:{primary:"blue-600",secondary:"gray-600",success:"green-500",warning:"yellow-500",error:"red-500",info:"blue-400",background:"white",text:"gray-900",shadow:"black",overlay:"black"},spacing:o({},z),typography:{heading:{fontSize:"2xl",fontFamily:"fonts.display",fontWeight:600,lineHeight:1.2},"heading-large":{fontSize:"4xl",fontFamily:"fonts.display",fontWeight:700,lineHeight:1.1},body:{fontSize:"base",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.5},caption:{fontSize:"sm",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.4}},effects:{"shadow-sm":{blur:2,offsetY:1,color:"colors.shadow",alpha:.05},"shadow-md":{blur:4,offsetY:2,color:"colors.shadow",alpha:.1},"shadow-lg":{blur:8,offsetY:4,color:"colors.shadow",alpha:.1}},custom:{}},F={fonts:{primary:"Inter, system-ui, sans-serif",secondary:"Roboto, Arial, sans-serif",monospace:"Fira Code, Consolas, monospace",display:"Poppins, Inter, sans-serif"},fontSizes:o({},h),radius:o({},x),colors:{primary:"blue-400",secondary:"gray-400",success:"green-400",warning:"yellow-400",error:"red-400",info:"blue-300",background:"gray-900",text:"white",shadow:"black",overlay:"black"},spacing:o({},z),typography:{heading:{fontSize:"2xl",fontFamily:"fonts.display",fontWeight:600,lineHeight:1.2},"heading-large":{fontSize:"4xl",fontFamily:"fonts.display",fontWeight:700,lineHeight:1.1},body:{fontSize:"base",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.5},caption:{fontSize:"sm",fontFamily:"fonts.primary",fontWeight:400,lineHeight:1.4}},effects:{"shadow-sm":{blur:2,offsetY:1,color:"colors.shadow",alpha:.1},"shadow-md":{blur:4,offsetY:2,color:"colors.shadow",alpha:.15},"shadow-lg":{blur:8,offsetY:4,color:"colors.shadow",alpha:.2}},custom:{}},A=function(r){function n(n){var t=r.call(this,n)||this;return t.colorInstance=null,t.fontSizeInstance=null,t.spacingInstance=null,t.radiusInstance=null,t.fontInstance=null,t.shadowInstance=null,t.theme=O,t}return e(n,r),n.prototype.init=function(r){var n=r.theme,t=r.darkMode,e=void 0!==t&&t;n?(this.theme=n,this.colorInstance=l(this.theme.colors),this.fontSizeInstance=d(this.theme.fontSizes),this.spacingInstance=P(this.theme.spacing),this.radiusInstance=w(this.theme.radius),this.fontInstance=v(this.theme.fonts,this.theme.fontSizes),this.shadowInstance=S(this.theme.effects)):this.theme=e?F:O},n.prototype.getTheme=function(){return this.theme},Object.defineProperty(n.prototype,"color",{get:function(){return this.colorInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"fontSize",{get:function(){return this.fontSizeInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"spacing",{get:function(){return this.spacingInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"radius",{get:function(){return this.radiusInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"font",{get:function(){return this.fontInstance},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"shadow",{get:function(){return this.shadowInstance},enumerable:!1,configurable:!0}),n}(n.Plugins.BasePlugin),C=function(r){function n(n){return r.call(this,n)||this}return e(n,r),n}(Phaser.Scene);r.Color=p,r.FontSize=y,r.PHASER_WIND_KEY="pw",r.PhaserWindPlugin=A,r.Radius=H,r.SceneWithPhaserWind=C,r.Shadow=k,r.Spacing=j,r.createColor=l,r.createFont=v,r.createFontSize=d,r.createRadius=w,r.createShadow=S,r.createSpacing=P,r.createTheme=function(r){return g({},O,r)},r.defaultDarkTheme=F,r.defaultLightTheme=O,r.defaultShadowMap=I,r.fontMap=m,r.fontSizeMap=h,r.isValidColor=b,r.merge=g,r.mergeDeep=function(r){for(var n=[],t=1;t<arguments.length;t++)n[t-1]=arguments[t];return g.apply(void 0,a([{},r],n,!1))},r.palette=u,r.radiusMap=x,r.spacingMap=z});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,
|
|
1
|
+
{"version":3,"file":"theme-manager.d.ts","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAqB,MAAM,gBAAgB,CAAC;AAEvE,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,aAAa,EAAE,OAAO,CAAC,KAAG,CACtB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"theme-manager.js","sourceRoot":"","sources":["../../src/theme/theme-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,EAAsB,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEvE,MAAM,CAAC,MAAM,WAAW,GAAG,CAA0B,KAAQ,EAAK,EAAE,CAClE,KAAK,CAAC,EAAO,EAAE,iBAAiB,EAAE,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.test.d.ts","sourceRoot":"","sources":["../../../src/utils/__tests__/merge.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,433 @@
|
|
|
1
|
+
/* eslint-disable max-lines */
|
|
2
|
+
/* eslint-disable no-magic-numbers */
|
|
3
|
+
/* eslint-disable max-lines-per-function */
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import { merge, mergeDeep } from '../merge';
|
|
6
|
+
describe('merge', () => {
|
|
7
|
+
describe('basic functionality', () => {
|
|
8
|
+
it('should merge simple objects', () => {
|
|
9
|
+
const target = { a: 1, b: 2 };
|
|
10
|
+
const source = { b: 3, c: 4 };
|
|
11
|
+
const result = merge(target, source);
|
|
12
|
+
expect(result).toEqual({ a: 1, b: 3, c: 4 });
|
|
13
|
+
expect(result).not.toBe(target);
|
|
14
|
+
expect(result).not.toBe(source);
|
|
15
|
+
});
|
|
16
|
+
it('should merge multiple sources', () => {
|
|
17
|
+
const target = { a: 1, b: 2 };
|
|
18
|
+
const source1 = { b: 3, c: 4 };
|
|
19
|
+
const source2 = { c: 5, d: 6 };
|
|
20
|
+
const result = merge(target, source1, source2);
|
|
21
|
+
expect(result).toEqual({ a: 1, b: 3, c: 5, d: 6 });
|
|
22
|
+
expect(result).not.toBe(target);
|
|
23
|
+
expect(result).not.toBe(source1);
|
|
24
|
+
expect(result).not.toBe(source2);
|
|
25
|
+
});
|
|
26
|
+
it('should handle empty objects', () => {
|
|
27
|
+
const target = {};
|
|
28
|
+
const source = { a: 1, b: 2 };
|
|
29
|
+
const result = merge(target, source);
|
|
30
|
+
expect(result).toEqual({ a: 1, b: 2 });
|
|
31
|
+
expect(result).not.toBe(target);
|
|
32
|
+
expect(result).not.toBe(source);
|
|
33
|
+
});
|
|
34
|
+
it('should handle null and undefined sources', () => {
|
|
35
|
+
const target = { a: 1 };
|
|
36
|
+
const result = merge(target, null, undefined);
|
|
37
|
+
expect(result).toEqual({ a: 1 });
|
|
38
|
+
expect(result).not.toBe(target);
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
describe('deep merging and immutability', () => {
|
|
42
|
+
it('should deep merge nested objects', () => {
|
|
43
|
+
const target = {
|
|
44
|
+
a: 1,
|
|
45
|
+
b: {
|
|
46
|
+
c: 2,
|
|
47
|
+
d: 3
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const source = {
|
|
51
|
+
b: {
|
|
52
|
+
c: 4,
|
|
53
|
+
e: 5
|
|
54
|
+
},
|
|
55
|
+
f: 6
|
|
56
|
+
};
|
|
57
|
+
const result = merge(target, source);
|
|
58
|
+
expect(result).toEqual({
|
|
59
|
+
a: 1,
|
|
60
|
+
b: {
|
|
61
|
+
c: 4,
|
|
62
|
+
d: 3,
|
|
63
|
+
e: 5
|
|
64
|
+
},
|
|
65
|
+
f: 6
|
|
66
|
+
});
|
|
67
|
+
// Check immutability
|
|
68
|
+
expect(result).not.toBe(target);
|
|
69
|
+
expect(result).not.toBe(source);
|
|
70
|
+
expect(result.b).not.toBe(target.b);
|
|
71
|
+
expect(result.b).not.toBe(source.b);
|
|
72
|
+
});
|
|
73
|
+
it('should create new references for all nested objects', () => {
|
|
74
|
+
const target = {
|
|
75
|
+
life: 100,
|
|
76
|
+
nested: {
|
|
77
|
+
value: 10
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const source = { life: 90 };
|
|
81
|
+
const result = merge(target, source);
|
|
82
|
+
expect(result).toEqual({
|
|
83
|
+
life: 90,
|
|
84
|
+
nested: {
|
|
85
|
+
value: 10
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
// Critical test: nested objects should have new references
|
|
89
|
+
expect(result).not.toBe(target);
|
|
90
|
+
expect(result.nested).not.toBe(target.nested);
|
|
91
|
+
expect(result.nested).toEqual(target.nested);
|
|
92
|
+
});
|
|
93
|
+
it('should deep merge multiple levels', () => {
|
|
94
|
+
const target = {
|
|
95
|
+
a: {
|
|
96
|
+
b: {
|
|
97
|
+
c: 1,
|
|
98
|
+
d: 2
|
|
99
|
+
},
|
|
100
|
+
e: 3
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const source = {
|
|
104
|
+
a: {
|
|
105
|
+
b: {
|
|
106
|
+
c: 4,
|
|
107
|
+
f: 5
|
|
108
|
+
},
|
|
109
|
+
g: 6
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const result = merge(target, source);
|
|
113
|
+
expect(result).toEqual({
|
|
114
|
+
a: {
|
|
115
|
+
b: {
|
|
116
|
+
c: 4,
|
|
117
|
+
d: 2,
|
|
118
|
+
f: 5
|
|
119
|
+
},
|
|
120
|
+
e: 3,
|
|
121
|
+
g: 6
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
// Check immutability at all levels
|
|
125
|
+
expect(result).not.toBe(target);
|
|
126
|
+
expect(result.a).not.toBe(target.a);
|
|
127
|
+
expect(result.a.b).not.toBe(target.a.b);
|
|
128
|
+
});
|
|
129
|
+
it('should replace non-object values', () => {
|
|
130
|
+
const target = {
|
|
131
|
+
a: {
|
|
132
|
+
b: 1
|
|
133
|
+
}
|
|
134
|
+
};
|
|
135
|
+
const source = {
|
|
136
|
+
a: 2
|
|
137
|
+
};
|
|
138
|
+
const result = merge(target, source);
|
|
139
|
+
expect(result).toEqual({ a: 2 });
|
|
140
|
+
expect(result).not.toBe(target);
|
|
141
|
+
expect(result).not.toBe(source);
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
describe('array handling', () => {
|
|
145
|
+
it('should replace arrays instead of merging', () => {
|
|
146
|
+
const target = {
|
|
147
|
+
a: [1, 2, 3],
|
|
148
|
+
b: {
|
|
149
|
+
c: [4, 5]
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
const source = {
|
|
153
|
+
a: [6, 7],
|
|
154
|
+
b: {
|
|
155
|
+
c: [8, 9, 10]
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
const result = merge(target, source);
|
|
159
|
+
expect(result).toEqual({
|
|
160
|
+
a: [6, 7],
|
|
161
|
+
b: {
|
|
162
|
+
c: [8, 9, 10]
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
// Arrays should be new references
|
|
166
|
+
expect(result.a).not.toBe(target.a);
|
|
167
|
+
expect(result.b.c).not.toBe(target.b.c);
|
|
168
|
+
});
|
|
169
|
+
it('should create new array references', () => {
|
|
170
|
+
const target = {
|
|
171
|
+
items: [1, 2, 3]
|
|
172
|
+
};
|
|
173
|
+
const source = {
|
|
174
|
+
items: [4, 5, 6]
|
|
175
|
+
};
|
|
176
|
+
const result = merge(target, source);
|
|
177
|
+
expect(result.items).toEqual([4, 5, 6]);
|
|
178
|
+
expect(result.items).not.toBe(target.items);
|
|
179
|
+
expect(result.items).not.toBe(source.items);
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
describe('edge cases', () => {
|
|
183
|
+
it('should handle non-object target', () => {
|
|
184
|
+
const target = 'string';
|
|
185
|
+
const source = { a: 1 };
|
|
186
|
+
const result = merge(target, source);
|
|
187
|
+
expect(result).toBe('string');
|
|
188
|
+
});
|
|
189
|
+
it('should handle non-object sources', () => {
|
|
190
|
+
const target = { a: 1 };
|
|
191
|
+
const source = 'string';
|
|
192
|
+
const result = merge(target, source);
|
|
193
|
+
expect(result).toEqual({ a: 1 });
|
|
194
|
+
expect(result).not.toBe(target);
|
|
195
|
+
});
|
|
196
|
+
it('should not mutate original target', () => {
|
|
197
|
+
const target = { a: 1, b: { c: 2 } };
|
|
198
|
+
const source = { b: { d: 3 } };
|
|
199
|
+
const originalTarget = JSON.parse(JSON.stringify(target));
|
|
200
|
+
merge(target, source);
|
|
201
|
+
expect(target).toEqual(originalTarget);
|
|
202
|
+
});
|
|
203
|
+
it('should handle undefined values in source', () => {
|
|
204
|
+
const target = { a: 1, b: 2 };
|
|
205
|
+
const source = { a: undefined, c: 3 };
|
|
206
|
+
const result = merge(target, source);
|
|
207
|
+
expect(result).toEqual({ a: 1, b: 2, c: 3 });
|
|
208
|
+
expect(result).not.toBe(target);
|
|
209
|
+
});
|
|
210
|
+
it('should handle null values', () => {
|
|
211
|
+
const target = { a: 1, b: 2 };
|
|
212
|
+
const source = { a: null, c: 3 };
|
|
213
|
+
const result = merge(target, source);
|
|
214
|
+
expect(result).toEqual({ a: null, b: 2, c: 3 });
|
|
215
|
+
expect(result).not.toBe(target);
|
|
216
|
+
});
|
|
217
|
+
it('should handle empty source objects', () => {
|
|
218
|
+
const target = { a: 1, b: 2 };
|
|
219
|
+
const source = {};
|
|
220
|
+
const result = merge(target, source);
|
|
221
|
+
expect(result).toEqual({ a: 1, b: 2 });
|
|
222
|
+
expect(result).not.toBe(target);
|
|
223
|
+
});
|
|
224
|
+
});
|
|
225
|
+
describe('type safety', () => {
|
|
226
|
+
it('should maintain type safety with typed objects', () => {
|
|
227
|
+
const user = {
|
|
228
|
+
id: 1,
|
|
229
|
+
name: 'John',
|
|
230
|
+
profile: {
|
|
231
|
+
age: 30,
|
|
232
|
+
email: 'john@example.com'
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
const updates = {
|
|
236
|
+
name: 'Jane',
|
|
237
|
+
profile: {
|
|
238
|
+
age: 31
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
const result = merge(user, updates);
|
|
242
|
+
expect(result).toEqual({
|
|
243
|
+
id: 1,
|
|
244
|
+
name: 'Jane',
|
|
245
|
+
profile: {
|
|
246
|
+
age: 31,
|
|
247
|
+
email: 'john@example.com'
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
// Type should be preserved
|
|
251
|
+
expect(typeof result['id']).toBe('number');
|
|
252
|
+
expect(typeof result['name']).toBe('string');
|
|
253
|
+
expect(typeof result['profile']['age']).toBe('number');
|
|
254
|
+
expect(typeof result['profile']['email']).toBe('string');
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
describe('complex scenarios', () => {
|
|
258
|
+
it('should handle theme-like objects', () => {
|
|
259
|
+
const defaultTheme = {
|
|
260
|
+
colors: {
|
|
261
|
+
primary: 'blue',
|
|
262
|
+
secondary: 'gray'
|
|
263
|
+
},
|
|
264
|
+
spacing: {
|
|
265
|
+
small: 8,
|
|
266
|
+
medium: 16
|
|
267
|
+
},
|
|
268
|
+
typography: {
|
|
269
|
+
fontFamily: 'Arial',
|
|
270
|
+
fontSize: 14
|
|
271
|
+
}
|
|
272
|
+
};
|
|
273
|
+
const customTheme = {
|
|
274
|
+
colors: {
|
|
275
|
+
primary: 'red',
|
|
276
|
+
accent: 'yellow'
|
|
277
|
+
},
|
|
278
|
+
spacing: {
|
|
279
|
+
large: 24
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
const result = merge(defaultTheme, customTheme);
|
|
283
|
+
expect(result).toEqual({
|
|
284
|
+
colors: {
|
|
285
|
+
primary: 'red',
|
|
286
|
+
secondary: 'gray',
|
|
287
|
+
accent: 'yellow'
|
|
288
|
+
},
|
|
289
|
+
spacing: {
|
|
290
|
+
small: 8,
|
|
291
|
+
medium: 16,
|
|
292
|
+
large: 24
|
|
293
|
+
},
|
|
294
|
+
typography: {
|
|
295
|
+
fontFamily: 'Arial',
|
|
296
|
+
fontSize: 14
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
// All nested objects should be new references
|
|
300
|
+
expect(result).not.toBe(defaultTheme);
|
|
301
|
+
expect(result.colors).not.toBe(defaultTheme.colors);
|
|
302
|
+
expect(result.spacing).not.toBe(defaultTheme.spacing);
|
|
303
|
+
expect(result.typography).not.toBe(defaultTheme.typography);
|
|
304
|
+
});
|
|
305
|
+
it('should handle deeply nested objects with mixed types', () => {
|
|
306
|
+
const target = {
|
|
307
|
+
config: {
|
|
308
|
+
database: {
|
|
309
|
+
host: 'localhost',
|
|
310
|
+
port: 5432,
|
|
311
|
+
credentials: {
|
|
312
|
+
username: 'admin',
|
|
313
|
+
password: 'secret'
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
features: ['auth', 'logging'],
|
|
317
|
+
debug: true
|
|
318
|
+
},
|
|
319
|
+
metadata: {
|
|
320
|
+
version: '1.0.0',
|
|
321
|
+
author: 'Developer'
|
|
322
|
+
}
|
|
323
|
+
};
|
|
324
|
+
const source = {
|
|
325
|
+
config: {
|
|
326
|
+
database: {
|
|
327
|
+
port: 3306,
|
|
328
|
+
credentials: {
|
|
329
|
+
username: 'root'
|
|
330
|
+
}
|
|
331
|
+
},
|
|
332
|
+
features: ['auth', 'logging', 'monitoring'],
|
|
333
|
+
production: false
|
|
334
|
+
}
|
|
335
|
+
};
|
|
336
|
+
const result = merge(target, source);
|
|
337
|
+
expect(result).toEqual({
|
|
338
|
+
config: {
|
|
339
|
+
database: {
|
|
340
|
+
host: 'localhost',
|
|
341
|
+
port: 3306,
|
|
342
|
+
credentials: {
|
|
343
|
+
username: 'root',
|
|
344
|
+
password: 'secret'
|
|
345
|
+
}
|
|
346
|
+
},
|
|
347
|
+
features: ['auth', 'logging', 'monitoring'],
|
|
348
|
+
debug: true,
|
|
349
|
+
production: false
|
|
350
|
+
},
|
|
351
|
+
metadata: {
|
|
352
|
+
version: '1.0.0',
|
|
353
|
+
author: 'Developer'
|
|
354
|
+
}
|
|
355
|
+
});
|
|
356
|
+
// Verify immutability
|
|
357
|
+
expect(result).not.toBe(target);
|
|
358
|
+
expect(result['config']).not.toBe(target['config']);
|
|
359
|
+
expect(result['config']['database']).not.toBe(target['config']['database']);
|
|
360
|
+
expect(result['metadata']).not.toBe(target['metadata']);
|
|
361
|
+
});
|
|
362
|
+
});
|
|
363
|
+
describe('performance and memory', () => {
|
|
364
|
+
it('should not create unnecessary references for primitive values', () => {
|
|
365
|
+
const target = { a: 1, b: 'string', c: true };
|
|
366
|
+
const source = { a: 2 };
|
|
367
|
+
const result = merge(target, source);
|
|
368
|
+
expect(result).toEqual({ a: 2, b: 'string', c: true });
|
|
369
|
+
expect(result).not.toBe(target);
|
|
370
|
+
});
|
|
371
|
+
it('should handle large objects efficiently', () => {
|
|
372
|
+
const target = {};
|
|
373
|
+
const source = {};
|
|
374
|
+
// Create large objects
|
|
375
|
+
for (let i = 0; i < 1000; i++) {
|
|
376
|
+
target[`key${i}`] = { value: i, nested: { deep: i * 2 } };
|
|
377
|
+
source[`key${i}`] = { value: i + 1000, nested: { deep: (i + 1000) * 2 } };
|
|
378
|
+
}
|
|
379
|
+
const result = merge(target, source);
|
|
380
|
+
expect(Object.keys(result)).toHaveLength(1000);
|
|
381
|
+
expect(result['key0']).toEqual({ value: 1000, nested: { deep: 2000 } });
|
|
382
|
+
expect(result['key999']).toEqual({ value: 1999, nested: { deep: 3998 } });
|
|
383
|
+
// Verify immutability
|
|
384
|
+
expect(result).not.toBe(target);
|
|
385
|
+
expect(result['key0']).not.toBe(target['key0']);
|
|
386
|
+
expect(result['key0']['nested']).not.toBe(target['key0']['nested']);
|
|
387
|
+
});
|
|
388
|
+
});
|
|
389
|
+
});
|
|
390
|
+
describe('mergeDeep', () => {
|
|
391
|
+
it('should create a new object without mutating original', () => {
|
|
392
|
+
const target = { a: 1, b: { c: 2 } };
|
|
393
|
+
const source = { b: { d: 3 } };
|
|
394
|
+
const originalTarget = JSON.parse(JSON.stringify(target));
|
|
395
|
+
const result = mergeDeep(target, source);
|
|
396
|
+
expect(result).toEqual({
|
|
397
|
+
a: 1,
|
|
398
|
+
b: {
|
|
399
|
+
c: 2,
|
|
400
|
+
d: 3
|
|
401
|
+
}
|
|
402
|
+
});
|
|
403
|
+
// Original should not be mutated
|
|
404
|
+
expect(target).toEqual(originalTarget);
|
|
405
|
+
});
|
|
406
|
+
it('should handle empty target', () => {
|
|
407
|
+
const target = {};
|
|
408
|
+
const source = { a: 1, b: { c: 2 } };
|
|
409
|
+
const result = mergeDeep(target, source);
|
|
410
|
+
expect(result).toEqual({ a: 1, b: { c: 2 } });
|
|
411
|
+
});
|
|
412
|
+
it('should create new references for all nested objects', () => {
|
|
413
|
+
const target = {
|
|
414
|
+
life: 100,
|
|
415
|
+
nested: {
|
|
416
|
+
value: 10
|
|
417
|
+
}
|
|
418
|
+
};
|
|
419
|
+
const source = { life: 90 };
|
|
420
|
+
const result = mergeDeep(target, source);
|
|
421
|
+
expect(result).toEqual({
|
|
422
|
+
life: 90,
|
|
423
|
+
nested: {
|
|
424
|
+
value: 10
|
|
425
|
+
}
|
|
426
|
+
});
|
|
427
|
+
// Critical test: nested objects should have new references
|
|
428
|
+
expect(result).not.toBe(target);
|
|
429
|
+
expect(result.nested).not.toBe(target.nested);
|
|
430
|
+
expect(result.nested).toEqual(target.nested);
|
|
431
|
+
});
|
|
432
|
+
});
|
|
433
|
+
//# sourceMappingURL=merge.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/merge.test.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/utils/index.js
CHANGED
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deep merge utility function that recursively merges objects
|
|
3
|
+
* Similar to lodash.merge but implemented natively
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Type for plain objects (not arrays, null, or other types)
|
|
7
|
+
*/
|
|
8
|
+
type PlainObject = Record<string, unknown>;
|
|
9
|
+
/**
|
|
10
|
+
* Deep merge multiple objects into the first one
|
|
11
|
+
* @param target - The target object to merge into
|
|
12
|
+
* @param sources - Source objects to merge from
|
|
13
|
+
* @returns The merged object
|
|
14
|
+
*/
|
|
15
|
+
export declare const merge: <T extends PlainObject>(target: T, ...sources: PlainObject[]) => T;
|
|
16
|
+
/**
|
|
17
|
+
* Deep merge that creates a new object without mutating the original
|
|
18
|
+
* @param target - The target object
|
|
19
|
+
* @param sources - Source objects to merge from
|
|
20
|
+
* @returns A new merged object
|
|
21
|
+
*/
|
|
22
|
+
export declare const mergeDeep: <T extends PlainObject>(target: T, ...sources: PlainObject[]) => T;
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=merge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../src/utils/merge.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,KAAK,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyC3C;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAI,CAAC,SAAS,WAAW,EACzC,QAAQ,CAAC,EACT,GAAG,SAAS,WAAW,EAAE,KACxB,CA+BF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,EAC7C,QAAQ,CAAC,EACT,GAAG,SAAS,WAAW,EAAE,KACxB,CAEF,CAAC"}
|