{"version":3,"file":"ng-vue-route-plugin.mjs","sources":["../../src/plugins/angular-vue-route-plugin.js"],"sourcesContent":["import Vue from 'Vue';\n\nexport default function AngularVueRoutePlugin($injector) {\n\n  if(!$injector)\n    $injector = Vue?.prototype?.$ngVue?.$injector;\n\n    if(!$injector)\n        throw new Error('Angular $injector not provided, cannot use AngularVueRoutePlugin plugin');\n  \n    const $location  = $injector.get('$location');\n    const $route     = $injector.get('$route');\n    const $rootScope = $injector.get('$rootScope');\n  \n    if(!$location)\n        throw new Error('Angular $location service not available, cannot use AngularVueRoutePlugin plugin');\n    if(!$route)\n        throw new Error('Angular $route service not available, cannot use AngularVueRoutePlugin');\n  \n    const observableRoute = window.Vue.observable({\n      _route : null\n    })\n  \n    function updateRoute() {\n      const fullPath = $location.url();\n      const path   = $location.path();\n      const hash   = $location.hash();\n      const query  = { ...($location.search()    || {})};\n      const params = { ...($route.current?.params|| {})};\n\n      observableRoute._route = {\n        get fullPath() { return fullPath; },\n        get path()   { return path; },\n        get hash()   { return hash ? `#${hash}` : ''; },\n        get query()  { return { ...query  }; },\n        get params() { return { ...params }; },\n      }\n    }\n  \n    $rootScope.$on('$routeUpdate',        updateRoute);\n    $rootScope.$on('$routeChangeSuccess', updateRoute);\n  \n    if(!$route.current) { // initial route (at boot time)\n      const cancelWatch = $rootScope.$watch(()=>$route.current, (currentRoute)=>{\n        if(currentRoute===undefined) return;\n        cancelWatch();\n        updateRoute();\n      });\n    }\n  \n    updateRoute();\n  \n    return {\n        install(Vue, options) {\n            if(!Vue.prototype.$route) {\n              Object.defineProperty(Vue.prototype, '$route', {\n                get () { return observableRoute._route }\n              })\n            }\n        }\n      }\n  };"],"names":["AngularVueRoutePlugin","$injector","Vue","prototype","$ngVue","Error","$location","get","$route","$rootScope","observableRoute","window","observable","_route","updateRoute","fullPath","url","path","hash","query","search","params","current","$on","cancelWatch","$watch","currentRoute","undefined","install","options","Object","defineProperty"],"mappings":";;;;AAEe,SAASA,qBAAqB,CAACC,SAAS,EAAE;EAAA;EAEvD,IAAG,CAACA,SAAS,EACXA,SAAS,GAAGC,GAAG,aAAHA,GAAG,yCAAHA,GAAG,CAAEC,SAAS,4EAAd,eAAgBC,MAAM,0DAAtB,sBAAwBH,SAAS;EAE7C,IAAG,CAACA,SAAS,EACT,MAAM,IAAII,KAAK,CAAC,yEAAyE,CAAC;EAE9F,IAAMC,SAAS,GAAIL,SAAS,CAACM,GAAG,CAAC,WAAW,CAAC;EAC7C,IAAMC,MAAM,GAAOP,SAAS,CAACM,GAAG,CAAC,QAAQ,CAAC;EAC1C,IAAME,UAAU,GAAGR,SAAS,CAACM,GAAG,CAAC,YAAY,CAAC;EAE9C,IAAG,CAACD,SAAS,EACT,MAAM,IAAID,KAAK,CAAC,kFAAkF,CAAC;EACvG,IAAG,CAACG,MAAM,EACN,MAAM,IAAIH,KAAK,CAAC,wEAAwE,CAAC;EAE7F,IAAMK,eAAe,GAAGC,MAAM,CAACT,GAAG,CAACU,UAAU,CAAC;IAC5CC,MAAM,EAAG;EACf,CAAK,CAAC;EAEF,SAASC,WAAW,GAAG;IAAA;IACrB,IAAMC,QAAQ,GAAGT,SAAS,CAACU,GAAG,EAAE;IAChC,IAAMC,IAAI,GAAKX,SAAS,CAACW,IAAI,EAAE;IAC/B,IAAMC,IAAI,GAAKZ,SAAS,CAACY,IAAI,EAAE;IAC/B,IAAMC,KAAK,qBAAUb,SAAS,CAACc,MAAM,EAAE,IAAO,CAAE,CAAA,CAAE;IAClD,IAAMC,MAAM,qBAAS,oBAAAb,MAAM,CAACc,OAAO,oDAAd,gBAAgBD,MAAM,KAAG,CAAE,CAAA,CAAE;IAElDX,eAAe,CAACG,MAAM,GAAG;MACvB,IAAIE,QAAQ,GAAG;QAAE,OAAOA,QAAQ;MAAG,CAAA;MACnC,IAAIE,IAAI,GAAK;QAAE,OAAOA,IAAI;MAAG,CAAA;MAC7B,IAAIC,IAAI,GAAK;QAAE,OAAOA,IAAI,cAAOA,IAAI,IAAK,EAAE;MAAG,CAAA;MAC/C,IAAIC,KAAK,GAAI;QAAE,yBAAYA,KAAK;MAAM,CAAA;MACtC,IAAIE,MAAM,GAAG;QAAE,yBAAYA,MAAM;MAAK;IACvC,CAAA;EACF;EAEDZ,UAAU,CAACc,GAAG,CAAC,cAAc,EAAST,WAAW,CAAC;EAClDL,UAAU,CAACc,GAAG,CAAC,qBAAqB,EAAET,WAAW,CAAC;EAElD,IAAG,CAACN,MAAM,CAACc,OAAO,EAAE;IAAA;IAClB,IAAME,WAAW,GAAGf,UAAU,CAACgB,MAAM,CAAC;MAAA,OAAIjB,MAAM,CAACc,OAAO;IAAA,GAAE,UAACI,YAAY,EAAG;MACxE,IAAGA,YAAY,KAAGC,SAAS,EAAE;MAC7BH,WAAW,EAAE;MACbV,WAAW,EAAE;IACrB,CAAO,CAAC;EACH;EAEDA,WAAW,EAAE;EAEb,OAAO;IACHc,OAAO,mBAAC1B,GAAG,EAAE2B,OAAO,EAAE;MAClB,IAAG,CAAC3B,GAAG,CAACC,SAAS,CAACK,MAAM,EAAE;QACxBsB,MAAM,CAACC,cAAc,CAAC7B,GAAG,CAACC,SAAS,EAAE,QAAQ,EAAE;UAC7CI,GAAG,iBAAI;YAAE,OAAOG,eAAe,CAACG,MAAM;UAAE;QACxD,CAAe,CAAC;MACH;IACJ;EACF,CAAA;AACP;"}