Socket
Socket
Sign inDemoInstall

druxt-router

Package Overview
Dependencies
4
Maintainers
1
Versions
51
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.14.0 to 0.15.0

23

dist/druxt-router.esm.js

@@ -237,2 +237,6 @@ import { resolve } from 'path';

DruxtRouter.prototype.buildQueryUrl = function buildQueryUrl (url, query) {
if (!query) {
return url
}
// If Query is string...

@@ -406,2 +410,4 @@ if (typeof query === 'string') {

var resources = [];
var ref = await this.getIndex(resource);

@@ -417,7 +423,18 @@ var href = ref.href;

var res = await this.axios.get(url);
var loading = true;
while (loading) {
var res = await this.axios.get(url);
this.checkPermissions(res);
this.checkPermissions(res);
return res.data.data
resources = resources.concat(res.data.data);
if (options.all && res.data && res.data.links && res.data.links.next) {
url = res.data.links.next.href;
} else {
loading = false;
}
}
return resources
};

@@ -424,0 +441,0 @@

2

dist/druxt-router.min.js

@@ -1,1 +0,1 @@

var DruxtRouter=function(t,e,r,i,o,n){"use strict";function s(t,e,r,i,o,n,s,a,u,d){"boolean"!=typeof s&&(u=a,a=s,s=!1);var c,p="function"==typeof r?r.options:r;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),i&&(p._scopeId=i),n?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,u(t)),t&&t._registeredComponents&&t._registeredComponents.add(n)},p._ssrRegister=c):e&&(c=s?function(t){e.call(this,d(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),c)if(p.functional){var h=p.render;p.render=function(t,e){return c.call(e),h(t,e)}}else{var f=p.beforeCreate;p.beforeCreate=f?[].concat(f,c):[c]}return r}o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n;var a=s({render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",[this.route?e(this.component,this._b({tag:"component"},"component",this.props,!1)):this._e()],1)},staticRenderFns:[]},void 0,{name:"DruxtRouter",fetch:async function(t){var e=t.store,r=t.redirect,i=t.route,o=await e.dispatch("druxtRouter/get",i.fullPath);o.redirect&&r(o.redirect)},computed:Object.assign({},{component:function(){return this.route.component||!1},title:function(){return this.route.label||!1},props:function(){return this.route.props||!1}},r.mapState({redirect:function(t){return t.druxtRouter.redirect},route:function(t){return t.druxtRouter.route}})),head:function(){return{title:this.title,link:[{rel:"canonical",href:this.canonical||this.route.canonical}],meta:this.metatags||!1}}},void 0,!1,void 0,!1,void 0,void 0,void 0),u=function(t,e){if(void 0===e&&(e={}),!t)throw new Error("The 'baseURL' parameter is required.");var r={baseURL:t};"object"==typeof e.axios&&(r=Object.assign(r,e.axios),delete e.axios),this.axios=o.create(r),this.options=Object.assign({},{endpoint:"/jsonapi",jsonapiResourceConfig:"jsonapi_resource_config--jsonapi_resource_config",types:[{type:"entity",canonical:function(t){return t.entity.canonical},component:"druxt-entity",property:"entity",props:function(t){return{type:t.jsonapi.resourceName,uuid:t.entity.uuid}}},{type:"views",canonical:function(t){return t.resolved},component:"druxt-view",property:"view",props:function(t){return{displayId:t.view.display_id,type:t.jsonapi.resourceName,uuid:t.view.uuid,viewId:t.view.view_id}}}]},e),this.index=null};u.prototype.addHeaders=function(t){if(void 0===t)return!1;for(var e in t)this.axios.defaults.headers.common[e]=t[e]},u.prototype.buildQueryUrl=function(t,e){return"string"==typeof e?"?"===e.charAt(0)?t+e:[t,e].join("?"):"object"==typeof e&&"function"==typeof e.getQueryString?[t,e.getQueryString()].join("?"):"object"==typeof e&&Object.keys(e).length?[t,i.stringify(e)].join("?"):t},u.prototype.checkPermissions=function(t){if(t.data.meta&&t.data.meta.omitted){var e={};for(var r in delete t.data.meta.omitted.links.help,t.data.meta.omitted.links){var i=t.data.meta.omitted.links[r].meta.detail.match(/'(.*?)'/);i[1]&&(e[i[1]]=!0)}throw new TypeError(t.data.meta.omitted.detail+"\n\n Required permissions: "+Object.keys(e).join(", ")+".")}},u.prototype.get=async function(t){var e=await this.getRoute(t);return e.error?{route:e}:{redirect:this.getRedirect(t,e),route:e}},u.prototype.getIndex=async function(t){if(this.index&&!t)return this.index;if(this.index&&t)return!!this.index[t]&&this.index[t];var e=await this.axios.get(this.options.endpoint);if(this.index=e.data.links,this.index[this.options.jsonapiResourceConfig]){var r=await this.axios.get(this.index[this.options.jsonapiResourceConfig].href);for(var i in r.data.data){var o=r.data.data[i],n=o.attributes.drupal_internal__id.split("--"),s={resourceType:o.attributes.resourceType,entityType:n[0],bundle:n[1],resourceFields:o.attributes.resourceFields},a=[s.entityType,s.bundle].join("--");this.index[a]=Object.assign({},s,this.index[a])}}return t?!!this.index[t]&&this.index[t]:this.index},u.prototype.getRedirect=function(t,e){if(Array.isArray(e.redirect)&&void 0!==e.redirect[0].to)return e.redirect[0].to;if(e.isHomePath)return"/"!==t&&"/";if("string"==typeof e.canonical){var r=new n(e.canonical);if(t!==r.pathname)return r.pathname}return!1},u.prototype.getResource=async function(t){void 0===t&&(t={});var e=t.id,r=t.type;if(!e||!r)return!1;var i=(await this.getIndex(r)).href;i||(i=this.options.endpoint+"/"+r.replace("--","/"));var o=i+"/"+e;return(await this.axios.get(o)).data.data},u.prototype.getResources=async function(t,e,r){void 0===r&&(r={});var i=(await this.getIndex(t)).href;if(!i)return!1;var o=this.buildQueryUrl(i,e);this.addHeaders(r.headers);var n=await this.axios.get(o);return this.checkPermissions(n),n.data.data},u.prototype.getResourceByRoute=function(t){return this.getResource({id:t.entity.uuid,type:t.jsonapi.resourceName})},u.prototype.getRoute=async function(t){var e="/router/translate-path?path="+t,r=await this.axios.get(e,{validateStatus:function(t){return t<500}}),i=Object.assign({},{isHomePath:!1,jsonapi:{},label:!1,redirect:!1},r.data),o={error:!1,type:!1,canonical:!1,component:!1,isHomePath:i.isHomePath,jsonapi:i.jsonapi,label:i.label,props:!1,redirect:i.redirect,resolvedPath:n(i.resolved).pathname};for(var s in this.options.types){var a=Object.assign({},this.options.types[s]);if("string"==typeof a.property&&void 0!==i[a.property]){delete a.property,"function"==typeof a.canonical&&(a.canonical=a.canonical(i)),"function"==typeof a.props&&(a.props=a.props(i)),o=Object.assign({},o,a);break}}return r.status>=200&&r.status<300||(o.error={statusCode:r.status,message:r.statusText}),o};var d={props:{mode:{type:String,default:"default"},type:{type:String,required:!0},uuid:{type:String,required:!0}},data:function(){return{entity:!1,loading:!0}},created:function(){var t=this;void 0===this.entities[this.uuid]?!this.entity&&this.uuid&&this.type&&this.getEntity({id:this.uuid,type:this.type}).then((function(e){t.entity=e,t.loading=!1})):this.entity=this.entities[this.uuid]},computed:Object.assign({},r.mapState({entities:function(t){return t.druxtRouter.entities}})),methods:Object.assign({},r.mapActions({getEntity:"druxtRouter/getEntity"}))};return t.DruxtRouter=u,t.DruxtRouterComponent=a,t.DruxtRouterEntityMixin=d,t.DruxtRouterStore=function(t){var e=t.store;if(void 0===e)throw new TypeError("Vuex store not found.");e.registerModule("druxtRouter",{namespaced:!0,state:function(){return{entities:{},redirect:!1,route:{},routes:{}}},mutations:{addEntity:function(t,e){e&&void 0!==e.id&&(t.entities[e.id]=e)},setRedirect:function(t,e){t.redirect=e},addRoute:function(t,e){var r=e.path,i=e.route;"string"==typeof r&&void 0!==i&&(t.routes[r]=i)},setRoute:function(t,e){"string"==typeof e&&void 0!==t.routes[e]&&(t.route=t.routes[e])}},actions:{get:async function(t,e){var r=t.commit,i=t.dispatch,o=(t.state,await i("getRoute",e));if(o.error&&void 0!==o.error.statusCode)return this.app.context.error(o.error);r("setRoute",e);var n=this.$druxtRouter().getRedirect(e,o);return r("setRedirect",n),{redirect:n,route:o}},getEntity:async function(t,e){var r=t.commit,i=t.state;if(void 0!==i.entities[e.id])return i.entities[e.id];var o=await this.$druxtRouter().getResource(e);return r("addEntity",o),o},getResources:async function(t,e){t.commit,t.state;var r=e.resource,i=e.query,o=e.options;return await this.$druxtRouter().getResources(r,i,o)},getRoute:async function(t,e){var r=t.commit,i=t.state;if(void 0!==i.routes[e])return i.routes[e];var o=await this.$druxtRouter().getRoute(e);return r("addRoute",{path:e,route:o}),o}}},{preserveState:Boolean(e.state.druxtRouter)})},t.default=function(t){var r=this;if(void 0===this.options||!this.options.druxt)throw new TypeError("Druxt settings missing.");var i=this.options.druxt;i.router=i.router||{},this.extendRoutes((function(t,e){i.router.component||(i.router.component=e(r.options.buildDir,"components/druxt-router.js"),r.addTemplate({src:e(__dirname,"../nuxt/component.js"),fileName:"components/druxt-router.js",options:i})),t.push({name:"druxt-router",path:"*",component:i.router.component,chunkName:"druxt-router"})})),this.addPlugin({src:e.resolve(__dirname,"../nuxt/plugin.js"),fileName:"druxt-router.js",options:i}),this.addPlugin({src:e.resolve(__dirname,"../nuxt/store.js"),fileName:"store/druxt-router.js",options:i})},t}({},path,vuex,querystring,axios,Url);
var DruxtRouter=function(t,e,r,i,o,n){"use strict";function s(t,e,r,i,o,n,s,a,u,d){"boolean"!=typeof s&&(u=a,a=s,s=!1);var c,p="function"==typeof r?r.options:r;if(t&&t.render&&(p.render=t.render,p.staticRenderFns=t.staticRenderFns,p._compiled=!0,o&&(p.functional=!0)),i&&(p._scopeId=i),n?(c=function(t){(t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),e&&e.call(this,u(t)),t&&t._registeredComponents&&t._registeredComponents.add(n)},p._ssrRegister=c):e&&(c=s?function(t){e.call(this,d(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),c)if(p.functional){var h=p.render;p.render=function(t,e){return c.call(e),h(t,e)}}else{var f=p.beforeCreate;p.beforeCreate=f?[].concat(f,c):[c]}return r}o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n;var a=s({render:function(){var t=this.$createElement,e=this._self._c||t;return e("div",[this.route?e(this.component,this._b({tag:"component"},"component",this.props,!1)):this._e()],1)},staticRenderFns:[]},void 0,{name:"DruxtRouter",fetch:async function(t){var e=t.store,r=t.redirect,i=t.route,o=await e.dispatch("druxtRouter/get",i.fullPath);o.redirect&&r(o.redirect)},computed:Object.assign({},{component:function(){return this.route.component||!1},title:function(){return this.route.label||!1},props:function(){return this.route.props||!1}},r.mapState({redirect:function(t){return t.druxtRouter.redirect},route:function(t){return t.druxtRouter.route}})),head:function(){return{title:this.title,link:[{rel:"canonical",href:this.canonical||this.route.canonical}],meta:this.metatags||!1}}},void 0,!1,void 0,!1,void 0,void 0,void 0),u=function(t,e){if(void 0===e&&(e={}),!t)throw new Error("The 'baseURL' parameter is required.");var r={baseURL:t};"object"==typeof e.axios&&(r=Object.assign(r,e.axios),delete e.axios),this.axios=o.create(r),this.options=Object.assign({},{endpoint:"/jsonapi",jsonapiResourceConfig:"jsonapi_resource_config--jsonapi_resource_config",types:[{type:"entity",canonical:function(t){return t.entity.canonical},component:"druxt-entity",property:"entity",props:function(t){return{type:t.jsonapi.resourceName,uuid:t.entity.uuid}}},{type:"views",canonical:function(t){return t.resolved},component:"druxt-view",property:"view",props:function(t){return{displayId:t.view.display_id,type:t.jsonapi.resourceName,uuid:t.view.uuid,viewId:t.view.view_id}}}]},e),this.index=null};u.prototype.addHeaders=function(t){if(void 0===t)return!1;for(var e in t)this.axios.defaults.headers.common[e]=t[e]},u.prototype.buildQueryUrl=function(t,e){return e?"string"==typeof e?"?"===e.charAt(0)?t+e:[t,e].join("?"):"object"==typeof e&&"function"==typeof e.getQueryString?[t,e.getQueryString()].join("?"):"object"==typeof e&&Object.keys(e).length?[t,i.stringify(e)].join("?"):t:t},u.prototype.checkPermissions=function(t){if(t.data.meta&&t.data.meta.omitted){var e={};for(var r in delete t.data.meta.omitted.links.help,t.data.meta.omitted.links){var i=t.data.meta.omitted.links[r].meta.detail.match(/'(.*?)'/);i[1]&&(e[i[1]]=!0)}throw new TypeError(t.data.meta.omitted.detail+"\n\n Required permissions: "+Object.keys(e).join(", ")+".")}},u.prototype.get=async function(t){var e=await this.getRoute(t);return e.error?{route:e}:{redirect:this.getRedirect(t,e),route:e}},u.prototype.getIndex=async function(t){if(this.index&&!t)return this.index;if(this.index&&t)return!!this.index[t]&&this.index[t];var e=await this.axios.get(this.options.endpoint);if(this.index=e.data.links,this.index[this.options.jsonapiResourceConfig]){var r=await this.axios.get(this.index[this.options.jsonapiResourceConfig].href);for(var i in r.data.data){var o=r.data.data[i],n=o.attributes.drupal_internal__id.split("--"),s={resourceType:o.attributes.resourceType,entityType:n[0],bundle:n[1],resourceFields:o.attributes.resourceFields},a=[s.entityType,s.bundle].join("--");this.index[a]=Object.assign({},s,this.index[a])}}return t?!!this.index[t]&&this.index[t]:this.index},u.prototype.getRedirect=function(t,e){if(Array.isArray(e.redirect)&&void 0!==e.redirect[0].to)return e.redirect[0].to;if(e.isHomePath)return"/"!==t&&"/";if("string"==typeof e.canonical){var r=new n(e.canonical);if(t!==r.pathname)return r.pathname}return!1},u.prototype.getResource=async function(t){void 0===t&&(t={});var e=t.id,r=t.type;if(!e||!r)return!1;var i=(await this.getIndex(r)).href;i||(i=this.options.endpoint+"/"+r.replace("--","/"));var o=i+"/"+e;return(await this.axios.get(o)).data.data},u.prototype.getResources=async function(t,e,r){void 0===r&&(r={});var i=[],o=(await this.getIndex(t)).href;if(!o)return!1;var n=this.buildQueryUrl(o,e);this.addHeaders(r.headers);for(var s=!0;s;){var a=await this.axios.get(n);this.checkPermissions(a),i=i.concat(a.data.data),r.all&&a.data&&a.data.links&&a.data.links.next?n=a.data.links.next.href:s=!1}return i},u.prototype.getResourceByRoute=function(t){return this.getResource({id:t.entity.uuid,type:t.jsonapi.resourceName})},u.prototype.getRoute=async function(t){var e="/router/translate-path?path="+t,r=await this.axios.get(e,{validateStatus:function(t){return t<500}}),i=Object.assign({},{isHomePath:!1,jsonapi:{},label:!1,redirect:!1},r.data),o={error:!1,type:!1,canonical:!1,component:!1,isHomePath:i.isHomePath,jsonapi:i.jsonapi,label:i.label,props:!1,redirect:i.redirect,resolvedPath:n(i.resolved).pathname};for(var s in this.options.types){var a=Object.assign({},this.options.types[s]);if("string"==typeof a.property&&void 0!==i[a.property]){delete a.property,"function"==typeof a.canonical&&(a.canonical=a.canonical(i)),"function"==typeof a.props&&(a.props=a.props(i)),o=Object.assign({},o,a);break}}return r.status>=200&&r.status<300||(o.error={statusCode:r.status,message:r.statusText}),o};var d={props:{mode:{type:String,default:"default"},type:{type:String,required:!0},uuid:{type:String,required:!0}},data:function(){return{entity:!1,loading:!0}},created:function(){var t=this;void 0===this.entities[this.uuid]?!this.entity&&this.uuid&&this.type&&this.getEntity({id:this.uuid,type:this.type}).then((function(e){t.entity=e,t.loading=!1})):this.entity=this.entities[this.uuid]},computed:Object.assign({},r.mapState({entities:function(t){return t.druxtRouter.entities}})),methods:Object.assign({},r.mapActions({getEntity:"druxtRouter/getEntity"}))};return t.DruxtRouter=u,t.DruxtRouterComponent=a,t.DruxtRouterEntityMixin=d,t.DruxtRouterStore=function(t){var e=t.store;if(void 0===e)throw new TypeError("Vuex store not found.");e.registerModule("druxtRouter",{namespaced:!0,state:function(){return{entities:{},redirect:!1,route:{},routes:{}}},mutations:{addEntity:function(t,e){e&&void 0!==e.id&&(t.entities[e.id]=e)},setRedirect:function(t,e){t.redirect=e},addRoute:function(t,e){var r=e.path,i=e.route;"string"==typeof r&&void 0!==i&&(t.routes[r]=i)},setRoute:function(t,e){"string"==typeof e&&void 0!==t.routes[e]&&(t.route=t.routes[e])}},actions:{get:async function(t,e){var r=t.commit,i=t.dispatch,o=(t.state,await i("getRoute",e));if(o.error&&void 0!==o.error.statusCode)return this.app.context.error(o.error);r("setRoute",e);var n=this.$druxtRouter().getRedirect(e,o);return r("setRedirect",n),{redirect:n,route:o}},getEntity:async function(t,e){var r=t.commit,i=t.state;if(void 0!==i.entities[e.id])return i.entities[e.id];var o=await this.$druxtRouter().getResource(e);return r("addEntity",o),o},getResources:async function(t,e){t.commit,t.state;var r=e.resource,i=e.query,o=e.options;return await this.$druxtRouter().getResources(r,i,o)},getRoute:async function(t,e){var r=t.commit,i=t.state;if(void 0!==i.routes[e])return i.routes[e];var o=await this.$druxtRouter().getRoute(e);return r("addRoute",{path:e,route:o}),o}}},{preserveState:Boolean(e.state.druxtRouter)})},t.default=function(t){var r=this;if(void 0===this.options||!this.options.druxt)throw new TypeError("Druxt settings missing.");var i=this.options.druxt;i.router=i.router||{},this.extendRoutes((function(t,e){i.router.component||(i.router.component=e(r.options.buildDir,"components/druxt-router.js"),r.addTemplate({src:e(__dirname,"../nuxt/component.js"),fileName:"components/druxt-router.js",options:i})),t.push({name:"druxt-router",path:"*",component:i.router.component,chunkName:"druxt-router"})})),this.addPlugin({src:e.resolve(__dirname,"../nuxt/plugin.js"),fileName:"druxt-router.js",options:i}),this.addPlugin({src:e.resolve(__dirname,"../nuxt/store.js"),fileName:"store/druxt-router.js",options:i})},t}({},path,vuex,querystring,axios,Url);

@@ -225,2 +225,6 @@ 'use strict';Object.defineProperty(exports,'__esModule',{value:true});function _interopDefault(e){return(e&&(typeof e==='object')&&'default'in e)?e['default']:e}var path=require('path'),vuex=require('vuex'),querystring=require('querystring'),axios=_interopDefault(require('axios')),Url=_interopDefault(require('url-parse'));//

DruxtRouter.prototype.buildQueryUrl = function buildQueryUrl (url, query) {
if (!query) {
return url
}
// If Query is string...

@@ -394,2 +398,4 @@ if (typeof query === 'string') {

var resources = [];
var ref = await this.getIndex(resource);

@@ -405,7 +411,18 @@ var href = ref.href;

var res = await this.axios.get(url);
var loading = true;
while (loading) {
var res = await this.axios.get(url);
this.checkPermissions(res);
this.checkPermissions(res);
return res.data.data
resources = resources.concat(res.data.data);
if (options.all && res.data && res.data.links && res.data.links.next) {
url = res.data.links.next.href;
} else {
loading = false;
}
}
return resources
};

@@ -412,0 +429,0 @@

{
"name": "druxt-router",
"version": "0.14.0",
"version": "0.15.0",
"description": "Provides a Nuxt <-> Drupal router.",

@@ -5,0 +5,0 @@ "files": [

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc