Socket
Socket
Sign inDemoInstall

druxt

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

druxt - npm Package Compare versions

Comparing version 0.6.0 to 0.6.1

27

dist/druxt.esm.js

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

import Vue from 'vue';
import { DrupalJsonApiParams } from 'drupal-jsonapi-params';
import merge from 'deepmerge';
import md5 from 'md5';
import { DrupalJsonApiParams } from 'drupal-jsonapi-params';

@@ -1005,5 +1005,21 @@ /**

typeof query === 'object'
? apiParams.initializeWithQueryObject(typeof query.getQueryObject === 'function' ? query.getQueryObject() : query)
: apiParams.initializeWithQueryString(query);
// Turn query into DrupalJsonApiParams object.
if (typeof query === 'object') {
if (typeof query.getQueryObject === 'function') {
query = query.getQueryObject();
}
// Normalize the query object data.
// @see https://github.com/druxt/druxt.js/issues/73
for (var attribute of ['include', 'sort']) {
if (Array.isArray(query[attribute])) {
query[attribute] = query[attribute].join(',');
}
}
apiParams.initializeWithQueryObject(query);
} else {
apiParams.initializeWithQueryString(query);
}
return apiParams

@@ -1237,2 +1253,5 @@ };

var queryObject = getDrupalJsonApiParams(query).getQueryObject();
queryObject.include = Array.isArray(queryObject.include)
? queryObject.include.join(',')
: queryObject.include;

@@ -1239,0 +1258,0 @@ // Ensure that includes are in the fields filter.

2

dist/druxt.min.js

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

var Druxt=function(t,e,n,r,o,i,s,a,u){"use strict";function c(t,e,n,r,o,i,s,a,u,c){"boolean"!=typeof s&&(u=a,a=s,s=!1);var p,d="function"==typeof n?n.options:n;if(t&&t.render&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0,o&&(d.functional=!0)),r&&(d._scopeId=r),i?(p=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(i)},d._ssrRegister=p):e&&(p=s?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),p)if(d.functional){var l=d.render;d.render=function(t,e){return p.call(e),l(t,e)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,p):[p]}return n}n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,i=i&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i,a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a,u=u&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u;var p=c({},undefined,{name:"Druxt",props:{inner:{type:[Object,Boolean],default:function(){return{component:"div",propsData:{}}}},module:{type:String,required:!0},propsData:{type:Object,default:function(){return{}}},wrapper:{type:[Object,Boolean],default:function(){return{component:"div",propsData:{}}}}},data:function(){return{component:{is:void 0,propsData:{}}}},created:function(){this.setModuleComponent()},methods:{setModuleComponent:function(){var t="Druxt"+this.module.split("-").map((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})).join("");this.$options.components[t]&&(this.component.is=t,this.component.propsData=this.propsData)}},render:function(t){var e=t(this.component.is,{props:Object.assign({},{wrapper:this.inner},this.component.propsData,this.$attrs)});return(this.wrapper||{}).component?t(this.wrapper.component,{props:this.wrapper.propsData},[e]):e}},undefined,undefined,undefined,!1,void 0,void 0,void 0),d=c({render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",[t._t("default")],2)},staticRenderFns:[]},undefined,{name:"DruxtWrapper"},undefined,false,undefined,!1,void 0,void 0,void 0),l=function(t){void 0===t&&(t={});var n=Object.assign({},t,(this.options||{}).druxt);this.addPlugin({src:e.resolve(__dirname,"../nuxt/plugin.js"),fileName:"druxt.js",options:n}),this.addPlugin({src:e.resolve(__dirname,"../nuxt/store.js"),fileName:"store/druxt.js",options:n}),this.options.store=!0};l.meta=require("../package.json");var f=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=n.create(r),this.options=Object.assign({},{endpoint:"/jsonapi",jsonapiResourceConfig:"jsonapi_resource_config--jsonapi_resource_config"},e)};f.prototype.addHeaders=function(t){if(void 0===t)return!1;for(var e in t)this.axios.defaults.headers.common[e]=t[e]},f.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&&(e=e.getQueryString())?[t,e].join("?"):"object"==typeof e&&Object.keys(e).length?[t,r.stringify(e)].join("?"):t:t},f.prototype.checkPermissions=function(t){if(t.data.meta&&t.data.meta.omitted){var e={};for(var n in delete t.data.meta.omitted.links.help,t.data.meta.omitted.links){var r=t.data.meta.omitted.links[n].meta.detail.match(/'(.*?)'/);r&&r[1]&&(e[r[1]]=!0)}if(Object.keys(e).length)throw new TypeError(t.data.meta.omitted.detail+"\n\n Required permissions: "+Object.keys(e).join(", ")+".")}},f.prototype.getCollection=async function(t,e){var n=(await this.getIndex(t)).href;if(!n)return!1;var r=this.buildQueryUrl(n,e),o=await this.axios.get(r);return this.checkPermissions(o),o.data},f.prototype.getCollectionAll=async function(t,e){var n=[],r=await this.getCollection(t,e);for(n.push(r);((r.links||{}).next||{}).href;)e=r.links.next.href.split("?")[1],r=await this.getCollection(t,e),n.push(r);return n},f.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 n=await this.axios.get(this.index[this.options.jsonapiResourceConfig].href);for(var r in n.data.data){var o=n.data.data[r],i=o.attributes.drupal_internal__id.split("--"),s={resourceType:o.attributes.resourceType,entityType:i[0],bundle:i[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},f.prototype.getResource=async function(t,e,n){if(!e||!t)return!1;var r=(await this.getIndex(t)).href;r||(r=this.options.endpoint+"/"+t.replace("--","/"));var o=this.buildQueryUrl(r+"/"+e,n);try{return(await this.axios.get(o)).data}catch(t){return!1}};var h=c({},undefined,{components:{DruxtWrapper:d},props:{wrapper:{type:Object,default:function(){return{component:"div",propsData:{}}}}},fetch:async function(){if(!(this.$options||{}).druxt)return!1;var t=this.getModuleComponents(),e={is:((t.filter((function(t){return t.global}))||[])[0]||{}).name||"DruxtWrapper",options:t.map((function(t){return t.name}))||[]},n=await this.getWrapperData(e.is);e.settings=n.druxt||{},e=Object.assign({},e,this.getModulePropsData(n.props)),this.component=e},data:function(){return{component:{$attrs:{},is:"DruxtWrapper",options:[],props:{},propsData:{},settings:{}}}},methods:{getModuleComponents:function(){var t=this;if(!(this.$options.druxt||{}).componentOptions)return[];var e=this.$options.druxt.componentOptions.call(this,this);if(!e||!e.length)return[];var n,r=[],i=function(){var e=[];r=r.concat(s.map((function(n){var r=e.length?[].concat(e[0].parts):[];r.push(o.pascalCase(o.splitByCase(n)));var i=o.pascalCase([t.$options.name].concat(r)),s=!!t.$options.components[i];return e.unshift({global:s,name:i,parts:r}),{global:s,name:i,parts:r}})))};for(var s of e.filter((function(t){return Array.isArray(t)})))i();return r.filter((n=new Set,function(t){return!n.has(t.name)&&n.add(t.name)})).sort((function(t,e){return e.parts.length-t.parts.length}))},getModulePropsData:function(t){if(void 0===t&&(t={}),!(this.$options.druxt||{}).propsData)return{};var e=this.$options.druxt.propsData.call(this,this),n={},r=Object.keys(t).filter((function(t){return Object.keys(e).includes(t)}));for(var o of r)n[o]=e[o];var i=Object.assign({},this.$attrs),s=Object.keys(e).filter((function(e){return!Object.keys(t).includes(e)}));for(var a of s)i[a]=e[a];return{$attrs:i,props:n,propsData:e}},getScopedSlots:function(){var t=this;return{default:function(){return t.$createElement("div",[JSON.stringify(t.component.propsData)])}}},getWrapperData:async function(t){var e={druxt:{},props:{}};if(!this.$options.components[t])return e;this.$options.components[t].options?e=this.$options.components[t].options:"function"==typeof this.$options.components[t]&&this._init&&(e=await this.$options.components[t].call(this)||{});var n=i.util.mergeOptions({},e);return{druxt:n.druxt||{},props:n.props||{}}}},render:function(t){var e={class:this.wrapper.class||void 0,style:this.wrapper.style||void 0,props:this.wrapper.propsData};return this.$fetchState.pending?t(this.wrapper.component,e):t(this.wrapper.component,e,[t(this.component.is,{attrs:this.component.$attrs,props:this.component.props,scopedSlots:this.getScopedSlots()})])}},undefined,undefined,undefined,!1,void 0,void 0,void 0),m=function(t){var e=new s.DrupalJsonApiParams;return t?("object"==typeof t?e.initializeWithQueryObject("function"==typeof t.getQueryObject?t.getQueryObject():t):e.initializeWithQueryString(t),e):e},y=function(t){var e=t.commit,n=t.queryObject;return t.resources.map((function(t){var r=decodeURI(((t.links||{}).self||{}).href||""),o="string"==typeof(n.fields||{})[t.type]?[r.split("?")[0],"fields["+t.type+"]="+n.fields[t.type]].join("?"):r;return e("druxt/addResource",{resource:{data:t,links:{self:{href:o}}}}),{id:t.id,type:t.type}}))},g=function(){};g.prototype.getComponents=function(t,e,n,r){void 0===n&&(n=!1);var o=[],i={};return e.filter((function(t){return Array.isArray(t)})).map((function(e){var n=[];e.map((function(e){var o=n.length?[].concat(n[0].parts):[];o.push(e);var i=[].concat(o);"string"==typeof r||!1===r&&void 0!==r||!((t||{}).$options||{}).name||(r=t.$options.name.match(/[A-Z][a-z]+/g).map((function(t){return t.toLowerCase()})).join("-")),r&&i.unshift(r);var s=i.map((function(t){return t.toLowerCase().replace(/--|_/g,"-")})).join("-"),a=s.replace(/((\b|[^a-zA-Z0-9]+)[a-zA-Z0-9])/gi,(function(t,e,n){return t.toUpperCase().replace(n,"")})),u=!1;for(var c of[s,a])if(void 0!==(((t||{}).$options||{}).components||{})[c]){u=!0;break}n.unshift({global:u,kebab:s,parts:o,pascal:a,prefix:r})})),n.map((function(t){i[t.pascal]||(i[t.pascal]=!0,o.push(t))}))})),o.filter((function(t){return t.global||!!n})).sort((function(t,e){return e.parts.length-t.parts.length}))},g.prototype.getModuleData=async function(t){if("function"!=typeof((t||{}).$options||{}).druxt)return!1;var e=await t.$options.druxt({vm:t});return(t.$options||{}).name&&(e.name=t.$options.name.match(/[A-Z][a-z]+/g).map((function(t){return t.toLowerCase()})).join("-")),e};var v={components:{DruxtWrapper:d},data:function(){return{component:{is:"DruxtWrapper",options:[],propsData:{}}}},props:{wrapper:{type:Object,default:function(){return{component:"div",propsData:{}}}}},fetch:async function(){console.warn("DruxtComponentMixin is deprecated in favour of DruxtModule.");var t=new g,e=await t.getModuleData(this);if(this.component.propsData=e.propsData||{},e.componentOptions){var n=t.getComponents(this,e.componentOptions,!0);this.component.options=n.map((function(t){return t.pascal}));var r=n.filter((function(t){return t.global}));r.length&&(this.component.is=r[0].pascal)}}};return t.Druxt=p,t.DruxtClass=g,t.DruxtClient=f,t.DruxtComponentMixin=v,t.DruxtModule=h,t.DruxtStore=function(t){var e=t.store;if(void 0===e)throw new TypeError("Vuex store not found.");var n="druxt",r={namespaced:!0,state:function(){return{collections:{},resources:{}}},mutations:{addCollection:function(t,e){var n=e.collection,r=e.type,o=e.hash;t.collections[r]||i.set(t.collections,r,{});var s=decodeURI((((n||{}).links||{}).self||{}).href||"").split("?")[1]||"",u=m(s).getQueryObject();n.data=y({commit:this.commit,queryObject:u,resources:n.data}),n.included&&(n.included=y({commit:this.commit,queryObject:u,resources:n.included}),delete n.included),n=a(t.collections[r][o]||{},n,{arrayMerge:function(t,e){return e}}),i.set(t.collections[r],o,n)},addResource:function(t,e){var n=e.resource;e.hash&&console.warn("[druxt] The `hash` argument for `druxt/addResource` has been deprecated, see https://druxtjs.org/guide/deprecations.html#druxtstore-addresource-hash");var r=(n||{}).data||{},o=r.id,s=r.type;if(o&&s){var u=decodeURI((((n||{}).links||{}).self||{}).href||"").split("?")[1]||"",c=m(u).getQueryObject();n["string"==typeof(c.fields||{})[((n||{}).data||{}).type]?"_druxt_partial":"_druxt_full"]=Date.now(),t.resources[s]||i.set(t.resources,s,{}),n.included&&(y({commit:this.commit,queryObject:c,resources:n.included}),delete n.included),n=a(t.resources[s][o]||{},n,{arrayMerge:function(t,e){return e}}),i.set(t.resources[s],o,n)}}},actions:{getCollection:async function(t,e){var n=t.commit,r=t.state,o=e.type,i=e.query,s=m(i).getQueryObject(),a=i?u(JSON.stringify(Object.assign({},s,{fields:{},include:[]}))):"_default";if((r.collections[o]||{})[a])return Object.assign({},r.collections[o][a],{data:r.collections[o][a].data.map((function(t){return(r.resources[t.type][t.id]||{}).data}))});var c=await this.$druxt.getCollection(o,i);return n("addCollection",{collection:Object.assign({},c),type:o,hash:a}),c},getResource:async function(t,e){var n=t.commit,r=t.dispatch,o=t.state,i=e.type,s=e.id,a=e.query,u=(o.resources[i]||{})[s]?Object.assign({},o.resources[i][s]):null,c=m(a).getQueryObject();if(c.include&&"string"==typeof(c.fields||{})[i]){var p=c.fields[i].split(",").filter((function(t){return t})),d=c.include.split(",").filter((function(t){return t&&!t.includes(".")}));c.fields[i]=Array.from(new Set(p.concat(d))).filter((function(t){return t})).join(",")}var l=[];if(c.include&&u){var f=await Promise.all(c.include.split(",").filter((function(t){return Object.keys(u.data.relationships||{}).includes(t)})).map((function(t){var e=u.data.relationships[t].data;e=Array.isArray(e)?e:[e];var n=c.include.split(",").filter((function(e){return e.startsWith(t+".")})).map((function(e){return e.slice(t.length+1)})).join(",");return e.filter((function(t){return"object"==typeof t&&t})).map((function(t){return r("getResource",{type:t.type,id:t.id,query:Object.assign({},c,{include:n})})}))})).flat());for(var h of f)l=l.concat([h.data],h.included||[]);u.included=l}if((u||{})._druxt_full)return u;var y,g="string"!=typeof(c.fields||{})[i],v=!!g||(c.fields||{})[i];if(u&&!g&&v){var x=v.split(","),b=Object.keys(((u||{}).data||{}).attributes||{}).concat(Object.keys(((u||{}).data||{}).relationships||{})),j=x.filter((function(t){return!b.includes(t)}));v=!!j.length,c.fields[i]=(j||[]).join(",")||void 0}u&&!v||(y=await this.$druxt.getResource(i,s,m(c)),n("addResource",{resource:Object.assign({},y)}));var O=Object.assign({},(o.resources[i]||{})[s]);return c.include&&((y||{}).included||(u||{}).included)&&(l=((y||{}).included||[]).concat((u||{}).included||[]),O.included=Array.from(new Set(l.filter((function(t){return(t||{}).id})).map((function(t){return t.id})))).map((function(t){return l.find((function(e){return e.id===t}))}))),O}}};e.registerModule(n,r,{preserveState:Boolean(e.state.druxt)})},t.DruxtWrapper=d,t.default=l,t}({},path,axios,querystring,scule,Vue,drupalJsonapiParams,merge,md5);
var Druxt=function(t,e,n,r,i,o,s,a,u){"use strict";function c(t,e,n,r,i,o,s,a,u,c){"boolean"!=typeof s&&(u=a,a=s,s=!1);var p,d="function"==typeof n?n.options:n;if(t&&t.render&&(d.render=t.render,d.staticRenderFns=t.staticRenderFns,d._compiled=!0,i&&(d.functional=!0)),r&&(d._scopeId=r),o?(p=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(o)},d._ssrRegister=p):e&&(p=s?function(t){e.call(this,c(t,this.$root.$options.shadowRoot))}:function(t){e.call(this,a(t))}),p)if(d.functional){var l=d.render;d.render=function(t,e){return p.call(e),l(t,e)}}else{var f=d.beforeCreate;d.beforeCreate=f?[].concat(f,p):[p]}return n}n=n&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n,o=o&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o,s=s&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s,a=a&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a;var p=c({},undefined,{name:"Druxt",props:{inner:{type:[Object,Boolean],default:function(){return{component:"div",propsData:{}}}},module:{type:String,required:!0},propsData:{type:Object,default:function(){return{}}},wrapper:{type:[Object,Boolean],default:function(){return{component:"div",propsData:{}}}}},data:function(){return{component:{is:void 0,propsData:{}}}},created:function(){this.setModuleComponent()},methods:{setModuleComponent:function(){var t="Druxt"+this.module.split("-").map((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})).join("");this.$options.components[t]&&(this.component.is=t,this.component.propsData=this.propsData)}},render:function(t){var e=t(this.component.is,{props:Object.assign({},{wrapper:this.inner},this.component.propsData,this.$attrs)});return(this.wrapper||{}).component?t(this.wrapper.component,{props:this.wrapper.propsData},[e]):e}},undefined,undefined,undefined,!1,void 0,void 0,void 0),d=c({render:function(){var t=this,e=t.$createElement;return(t._self._c||e)("div",[t._t("default")],2)},staticRenderFns:[]},undefined,{name:"DruxtWrapper"},undefined,false,undefined,!1,void 0,void 0,void 0),l=function(t){void 0===t&&(t={});var n=Object.assign({},t,(this.options||{}).druxt);this.addPlugin({src:e.resolve(__dirname,"../nuxt/plugin.js"),fileName:"druxt.js",options:n}),this.addPlugin({src:e.resolve(__dirname,"../nuxt/store.js"),fileName:"store/druxt.js",options:n}),this.options.store=!0};l.meta=require("../package.json");var f=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=n.create(r),this.options=Object.assign({},{endpoint:"/jsonapi",jsonapiResourceConfig:"jsonapi_resource_config--jsonapi_resource_config"},e)};f.prototype.addHeaders=function(t){if(void 0===t)return!1;for(var e in t)this.axios.defaults.headers.common[e]=t[e]},f.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&&(e=e.getQueryString())?[t,e].join("?"):"object"==typeof e&&Object.keys(e).length?[t,r.stringify(e)].join("?"):t:t},f.prototype.checkPermissions=function(t){if(t.data.meta&&t.data.meta.omitted){var e={};for(var n in delete t.data.meta.omitted.links.help,t.data.meta.omitted.links){var r=t.data.meta.omitted.links[n].meta.detail.match(/'(.*?)'/);r&&r[1]&&(e[r[1]]=!0)}if(Object.keys(e).length)throw new TypeError(t.data.meta.omitted.detail+"\n\n Required permissions: "+Object.keys(e).join(", ")+".")}},f.prototype.getCollection=async function(t,e){var n=(await this.getIndex(t)).href;if(!n)return!1;var r=this.buildQueryUrl(n,e),i=await this.axios.get(r);return this.checkPermissions(i),i.data},f.prototype.getCollectionAll=async function(t,e){var n=[],r=await this.getCollection(t,e);for(n.push(r);((r.links||{}).next||{}).href;)e=r.links.next.href.split("?")[1],r=await this.getCollection(t,e),n.push(r);return n},f.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 n=await this.axios.get(this.index[this.options.jsonapiResourceConfig].href);for(var r in n.data.data){var i=n.data.data[r],o=i.attributes.drupal_internal__id.split("--"),s={resourceType:i.attributes.resourceType,entityType:o[0],bundle:o[1],resourceFields:i.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},f.prototype.getResource=async function(t,e,n){if(!e||!t)return!1;var r=(await this.getIndex(t)).href;r||(r=this.options.endpoint+"/"+t.replace("--","/"));var i=this.buildQueryUrl(r+"/"+e,n);try{return(await this.axios.get(i)).data}catch(t){return!1}};var h=c({},undefined,{components:{DruxtWrapper:d},props:{wrapper:{type:Object,default:function(){return{component:"div",propsData:{}}}}},fetch:async function(){if(!(this.$options||{}).druxt)return!1;var t=this.getModuleComponents(),e={is:((t.filter((function(t){return t.global}))||[])[0]||{}).name||"DruxtWrapper",options:t.map((function(t){return t.name}))||[]},n=await this.getWrapperData(e.is);e.settings=n.druxt||{},e=Object.assign({},e,this.getModulePropsData(n.props)),this.component=e},data:function(){return{component:{$attrs:{},is:"DruxtWrapper",options:[],props:{},propsData:{},settings:{}}}},methods:{getModuleComponents:function(){var t=this;if(!(this.$options.druxt||{}).componentOptions)return[];var e=this.$options.druxt.componentOptions.call(this,this);if(!e||!e.length)return[];var n,r=[],o=function(){var e=[];r=r.concat(s.map((function(n){var r=e.length?[].concat(e[0].parts):[];r.push(i.pascalCase(i.splitByCase(n)));var o=i.pascalCase([t.$options.name].concat(r)),s=!!t.$options.components[o];return e.unshift({global:s,name:o,parts:r}),{global:s,name:o,parts:r}})))};for(var s of e.filter((function(t){return Array.isArray(t)})))o();return r.filter((n=new Set,function(t){return!n.has(t.name)&&n.add(t.name)})).sort((function(t,e){return e.parts.length-t.parts.length}))},getModulePropsData:function(t){if(void 0===t&&(t={}),!(this.$options.druxt||{}).propsData)return{};var e=this.$options.druxt.propsData.call(this,this),n={},r=Object.keys(t).filter((function(t){return Object.keys(e).includes(t)}));for(var i of r)n[i]=e[i];var o=Object.assign({},this.$attrs),s=Object.keys(e).filter((function(e){return!Object.keys(t).includes(e)}));for(var a of s)o[a]=e[a];return{$attrs:o,props:n,propsData:e}},getScopedSlots:function(){var t=this;return{default:function(){return t.$createElement("div",[JSON.stringify(t.component.propsData)])}}},getWrapperData:async function(t){var e={druxt:{},props:{}};if(!this.$options.components[t])return e;this.$options.components[t].options?e=this.$options.components[t].options:"function"==typeof this.$options.components[t]&&this._init&&(e=await this.$options.components[t].call(this)||{});var n=o.util.mergeOptions({},e);return{druxt:n.druxt||{},props:n.props||{}}}},render:function(t){var e={class:this.wrapper.class||void 0,style:this.wrapper.style||void 0,props:this.wrapper.propsData};return this.$fetchState.pending?t(this.wrapper.component,e):t(this.wrapper.component,e,[t(this.component.is,{attrs:this.component.$attrs,props:this.component.props,scopedSlots:this.getScopedSlots()})])}},undefined,undefined,undefined,!1,void 0,void 0,void 0),m=function(t){var e=new u.DrupalJsonApiParams;if(!t)return e;if("object"==typeof t){for(var n of("function"==typeof t.getQueryObject&&(t=t.getQueryObject()),["include","sort"]))Array.isArray(t[n])&&(t[n]=t[n].join(","));e.initializeWithQueryObject(t)}else e.initializeWithQueryString(t);return e},y=function(t){var e=t.commit,n=t.queryObject;return t.resources.map((function(t){var r=decodeURI(((t.links||{}).self||{}).href||""),i="string"==typeof(n.fields||{})[t.type]?[r.split("?")[0],"fields["+t.type+"]="+n.fields[t.type]].join("?"):r;return e("druxt/addResource",{resource:{data:t,links:{self:{href:i}}}}),{id:t.id,type:t.type}}))},v=function(){};v.prototype.getComponents=function(t,e,n,r){void 0===n&&(n=!1);var i=[],o={};return e.filter((function(t){return Array.isArray(t)})).map((function(e){var n=[];e.map((function(e){var i=n.length?[].concat(n[0].parts):[];i.push(e);var o=[].concat(i);"string"==typeof r||!1===r&&void 0!==r||!((t||{}).$options||{}).name||(r=t.$options.name.match(/[A-Z][a-z]+/g).map((function(t){return t.toLowerCase()})).join("-")),r&&o.unshift(r);var s=o.map((function(t){return t.toLowerCase().replace(/--|_/g,"-")})).join("-"),a=s.replace(/((\b|[^a-zA-Z0-9]+)[a-zA-Z0-9])/gi,(function(t,e,n){return t.toUpperCase().replace(n,"")})),u=!1;for(var c of[s,a])if(void 0!==(((t||{}).$options||{}).components||{})[c]){u=!0;break}n.unshift({global:u,kebab:s,parts:i,pascal:a,prefix:r})})),n.map((function(t){o[t.pascal]||(o[t.pascal]=!0,i.push(t))}))})),i.filter((function(t){return t.global||!!n})).sort((function(t,e){return e.parts.length-t.parts.length}))},v.prototype.getModuleData=async function(t){if("function"!=typeof((t||{}).$options||{}).druxt)return!1;var e=await t.$options.druxt({vm:t});return(t.$options||{}).name&&(e.name=t.$options.name.match(/[A-Z][a-z]+/g).map((function(t){return t.toLowerCase()})).join("-")),e};var g={components:{DruxtWrapper:d},data:function(){return{component:{is:"DruxtWrapper",options:[],propsData:{}}}},props:{wrapper:{type:Object,default:function(){return{component:"div",propsData:{}}}}},fetch:async function(){console.warn("DruxtComponentMixin is deprecated in favour of DruxtModule.");var t=new v,e=await t.getModuleData(this);if(this.component.propsData=e.propsData||{},e.componentOptions){var n=t.getComponents(this,e.componentOptions,!0);this.component.options=n.map((function(t){return t.pascal}));var r=n.filter((function(t){return t.global}));r.length&&(this.component.is=r[0].pascal)}}};return t.Druxt=p,t.DruxtClass=v,t.DruxtClient=f,t.DruxtComponentMixin=g,t.DruxtModule=h,t.DruxtStore=function(t){var e=t.store;if(void 0===e)throw new TypeError("Vuex store not found.");var n="druxt",r={namespaced:!0,state:function(){return{collections:{},resources:{}}},mutations:{addCollection:function(t,e){var n=e.collection,r=e.type,i=e.hash;t.collections[r]||o.set(t.collections,r,{});var a=decodeURI((((n||{}).links||{}).self||{}).href||"").split("?")[1]||"",u=m(a).getQueryObject();n.data=y({commit:this.commit,queryObject:u,resources:n.data}),n.included&&(n.included=y({commit:this.commit,queryObject:u,resources:n.included}),delete n.included),n=s(t.collections[r][i]||{},n,{arrayMerge:function(t,e){return e}}),o.set(t.collections[r],i,n)},addResource:function(t,e){var n=e.resource;e.hash&&console.warn("[druxt] The `hash` argument for `druxt/addResource` has been deprecated, see https://druxtjs.org/guide/deprecations.html#druxtstore-addresource-hash");var r=(n||{}).data||{},i=r.id,a=r.type;if(i&&a){var u=decodeURI((((n||{}).links||{}).self||{}).href||"").split("?")[1]||"",c=m(u).getQueryObject();n["string"==typeof(c.fields||{})[((n||{}).data||{}).type]?"_druxt_partial":"_druxt_full"]=Date.now(),t.resources[a]||o.set(t.resources,a,{}),n.included&&(y({commit:this.commit,queryObject:c,resources:n.included}),delete n.included),n=s(t.resources[a][i]||{},n,{arrayMerge:function(t,e){return e}}),o.set(t.resources[a],i,n)}}},actions:{getCollection:async function(t,e){var n=t.commit,r=t.state,i=e.type,o=e.query,s=m(o).getQueryObject(),u=o?a(JSON.stringify(Object.assign({},s,{fields:{},include:[]}))):"_default";if((r.collections[i]||{})[u])return Object.assign({},r.collections[i][u],{data:r.collections[i][u].data.map((function(t){return(r.resources[t.type][t.id]||{}).data}))});var c=await this.$druxt.getCollection(i,o);return n("addCollection",{collection:Object.assign({},c),type:i,hash:u}),c},getResource:async function(t,e){var n=t.commit,r=t.dispatch,i=t.state,o=e.type,s=e.id,a=e.query,u=(i.resources[o]||{})[s]?Object.assign({},i.resources[o][s]):null,c=m(a).getQueryObject();if(c.include=Array.isArray(c.include)?c.include.join(","):c.include,c.include&&"string"==typeof(c.fields||{})[o]){var p=c.fields[o].split(",").filter((function(t){return t})),d=c.include.split(",").filter((function(t){return t&&!t.includes(".")}));c.fields[o]=Array.from(new Set(p.concat(d))).filter((function(t){return t})).join(",")}var l=[];if(c.include&&u){var f=await Promise.all(c.include.split(",").filter((function(t){return Object.keys(u.data.relationships||{}).includes(t)})).map((function(t){var e=u.data.relationships[t].data;e=Array.isArray(e)?e:[e];var n=c.include.split(",").filter((function(e){return e.startsWith(t+".")})).map((function(e){return e.slice(t.length+1)})).join(",");return e.filter((function(t){return"object"==typeof t&&t})).map((function(t){return r("getResource",{type:t.type,id:t.id,query:Object.assign({},c,{include:n})})}))})).flat());for(var h of f)l=l.concat([h.data],h.included||[]);u.included=l}if((u||{})._druxt_full)return u;var y,v="string"!=typeof(c.fields||{})[o],g=!!v||(c.fields||{})[o];if(u&&!v&&g){var x=g.split(","),j=Object.keys(((u||{}).data||{}).attributes||{}).concat(Object.keys(((u||{}).data||{}).relationships||{})),b=x.filter((function(t){return!j.includes(t)}));g=!!b.length,c.fields[o]=(b||[]).join(",")||void 0}u&&!g||(y=await this.$druxt.getResource(o,s,m(c)),n("addResource",{resource:Object.assign({},y)}));var O=Object.assign({},(i.resources[o]||{})[s]);return c.include&&((y||{}).included||(u||{}).included)&&(l=((y||{}).included||[]).concat((u||{}).included||[]),O.included=Array.from(new Set(l.filter((function(t){return(t||{}).id})).map((function(t){return t.id})))).map((function(t){return l.find((function(e){return e.id===t}))}))),O}}};e.registerModule(n,r,{preserveState:Boolean(e.state.druxt)})},t.DruxtWrapper=d,t.default=l,t}({},path,axios,querystring,scule,Vue,merge,md5,drupalJsonapiParams);

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

'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'),axios=_interopDefault(require('axios')),querystring=require('querystring'),scule=require('scule'),Vue=_interopDefault(require('vue')),drupalJsonapiParams=require('drupal-jsonapi-params'),merge=_interopDefault(require('deepmerge')),md5=_interopDefault(require('md5'));/**
'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'),axios=_interopDefault(require('axios')),querystring=require('querystring'),scule=require('scule'),Vue=_interopDefault(require('vue')),merge=_interopDefault(require('deepmerge')),md5=_interopDefault(require('md5')),drupalJsonapiParams=require('drupal-jsonapi-params');/**
* The Vue.js Druxt component.

@@ -977,9 +977,23 @@ *

typeof query === 'object'
? apiParams.initializeWithQueryObject(typeof query.getQueryObject === 'function' ? query.getQueryObject() : query)
: apiParams.initializeWithQueryString(query);
// Turn query into DrupalJsonApiParams object.
if (typeof query === 'object') {
if (typeof query.getQueryObject === 'function') {
query = query.getQueryObject();
}
// Normalize the query object data.
// @see https://github.com/druxt/druxt.js/issues/73
for (var attribute of ['include', 'sort']) {
if (Array.isArray(query[attribute])) {
query[attribute] = query[attribute].join(',');
}
}
apiParams.initializeWithQueryObject(query);
} else {
apiParams.initializeWithQueryString(query);
}
return apiParams
};
var dehydrateResources = function (ref) {
};var dehydrateResources = function (ref) {
var commit = ref.commit;

@@ -1209,2 +1223,5 @@ var queryObject = ref.queryObject;

var queryObject = getDrupalJsonApiParams(query).getQueryObject();
queryObject.include = Array.isArray(queryObject.include)
? queryObject.include.join(',')
: queryObject.include;

@@ -1211,0 +1228,0 @@ // Ensure that includes are in the fields filter.

{
"name": "druxt",
"version": "0.6.0",
"version": "0.6.1",
"description": "A Bridge between frameworks, Nuxt.js in the front, Drupal in the back.",

@@ -59,3 +59,3 @@ "repository": {

"deepmerge": "^4.2.2",
"drupal-jsonapi-params": "^1.1.12",
"drupal-jsonapi-params": "^1.2.0",
"md5": "^2.3.0",

@@ -62,0 +62,0 @@ "querystring": "^0.2.0",

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc