couchdb-web-node-plugin 1.0.749 → 1.0.750

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.
Files changed (3) hide show
  1. package/helper.js +1 -1
  2. package/index.js +1 -1
  3. package/package.json +1 -1
package/helper.js CHANGED
@@ -1 +1 @@
1
- (()=>{"use strict";var e=[,e=>{e.exports=require("@babel/runtime/helpers/extends")},e=>{e.exports=require("@babel/runtime/helpers/asyncToGenerator")},e=>{e.exports=require("@babel/runtime/regenerator")},e=>{e.exports=require("clientnode")}],t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{TOGGLE_LATEST_REVISION_DETERMINING:()=>v,bulkDocsFactory:()=>x,determineAllowedModelRolesMapping:()=>O,determineGenericIndexablePropertyNames:()=>j,ensureValidationDocumentPresence:()=>g,extendModel:()=>S,extendModels:()=>T,getConnectorOptions:()=>b,initializeConnection:()=>w,isPropertySpecification:()=>k,mayStripRepresentation:()=>h,normalizeAllowedRoles:()=>A});var a=r(1),o=r.n(a),i=r(2),s=r.n(i),c=r(3),l=r.n(c),u=r(4);const p=require("rxjs"),d=require("rxjs/fetch"),f="1.0.749";function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return m(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var v=Symbol("toggleLatestRevisionDetermining"),b=function(e){var t=e.fetch?function(t){return(0,u.extend)(!0,(0,u.copy)(e.fetch),t||{})}:u.identity,r=new Map([[408,"Request Timeout"],[425,"Too Early"],[429,"Too Many Requests"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"]]);return{fetch:function(n,a){var o=e.fetchInterceptor,i=o.numberOfRetries,s=o.retryIntervalInSeconds,c=o.exponentialBackoff,l=o.maximumRetryIntervallInSeconds,u=(0,d.fromFetch)(n,t(a)).pipe((0,p.map)((function(e){if(r.has(e.status))throw e;return e})),(0,p.retry)({count:i,delay:function(e,t){if("number"!=typeof e.status)throw e;var r=e;if(r.headers.has("retry-after")){var n=r.headers.get("retry-after");if("string"==typeof n){var a=parseInt(n);if(String(a)===n)return console.info("Retry in "+n+" seconds","according to given retry value."),(0,p.timer)(1e3*a);var o=new Date(n);if(!isNaN(o.getTime())){var i=new Date;if(i<o){if(l<(o.getTime()-i.getTime())/1e3)return console.info("Retry at",o.toUTCString(),"according to given retry","value."),(0,p.timer)(o);console.warn("The recommended retry attempt is",o.toUTCString(),"further in the future than the","configured maximum wait time of",l,"seconds.")}else console.warn("Given retry time recommendation","from server is in the past and","has to be ignored therefore.")}}}var u=c?Math.pow(2,t-1)*s:s;return(0,p.timer)(1e3*Math.min(u,l))}}));return(0,p.lastValueFrom)(u)}}},h=function(e,t,r){var n=(0,u.represent)(e);return n.length<=t?n.length>r?n.substring(0,r-3)+"...":n:"DOCUMENT IS TOO BIG TO REPRESENT"},g=function(){var e=s()(l().mark((function e(t,r,n,a,i,s,c,p){var d,y,m;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=!0),void 0===s&&(s="_id"),void 0===c&&(c="_rev"),void 0===p&&(p="_design/"),y=o()(((d={})[s]=""+p+r,d.language="javascript",d.version=f,d),n),e.prev=5,e.next=8,t.get(""+p+r);case 8:return m=e.sent,y[c]=m[c],e.next=12,t.put(y);case 12:i&&console.info(a+" updated."),e.next=27;break;case 15:return e.prev=15,e.t0=e.catch(5),i&&("not_found"===e.t0.error?console.info(a+" not available: create new one."):console.info(a+" couldn't be updated: \""+(0,u.represent)(e.t0)+'" create new one.')),e.prev=18,e.next=21,t.put(y);case 21:i&&console.info(a+" installed/updated."),e.next=27;break;case 24:throw e.prev=24,e.t1=e.catch(18),new Error(a+" couldn't be installed/updated: \""+(0,u.represent)(e.t1)+'".');case 27:case"end":return e.stop()}}),e,null,[[5,15],[18,24]])})));return function(t,r,n,a,o,i,s,c){return e.apply(this,arguments)}}(),x=function(e,t){var r=t.model.property.name.special.id,n=t.model.property.name.special.revision;return s()(l().mark((function a(o){var i,s,c,p,d,f,m,b,h,g,x,w,O,k,j,S,T,A,R,P,E,I=arguments;return l().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(i=I.length,s=new Array(i>1?i-1:0),c=1;c<i;c++)s[c-1]=I[c];p=s.length>0&&s[s.length-1]===v,d=p?!t.skipLatestRevisionDetermining:t.skipLatestRevisionDetermining,p&&s.pop(),f=!Array.isArray(o)&&(0,u.isObject)(o)&&r in o?[o]:o,m=t.maximumNumberOfEntitiesInBulkOperation,b=[],h=0;case 8:if(!(h<f.length)){a.next=17;break}return g=f.slice(h,h+m),a.next=12,e.call.apply(e,[this,g].concat(s));case 12:x=a.sent,b=b.concat(x);case 14:h+=m,a.next=8;break;case 17:w=[],O=[],k=0,j=y(b);case 21:if((S=j()).done){a.next=44;break}if(T=S.value,"object"!=typeof f[k]){a.next=41;break}if(!(n in f[k])||"conflict"!==T.name||!["0-latest","0-upsert"].includes(f[k][n])){a.next=29;break}O.push(f[k]),w.push(k),a.next=41;break;case 29:if(!(r in f[k]&&t.ignoreNoChangeError&&"name"in T&&"forbidden"===T.name&&"message"in T&&T.message.startsWith("NoChange:"))){a.next=41;break}if(b[k]={id:f[k][r],ok:!0},d){a.next=41;break}if(!(n in f[k])||["0-latest","0-upsert"].includes(f[k][n])){a.next=36;break}a.t0=f[k][n],a.next=40;break;case 36:return a.next=38,this.get(b[k].id);case 38:a.t1=n,a.t0=a.sent[a.t1];case 40:b[k].rev=a.t0;case 41:k+=1;case 42:a.next=21;break;case 44:if(!O.length){a.next=51;break}return f=O,p&&s.push(v),a.next=49,this.bulkDocs.apply(this,[f].concat(s));case 49:for(A=a.sent,R=y(A);!(P=R()).done;)E=P.value,b[w.shift()]=E;case 51:return a.abrupt("return",b);case 52:case"end":return a.stop()}}),a,this)})))},w=function(){var e=s()(l().mark((function e(t,r){var n,a,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.couchdb,a=r.couchdb,o=(0,u.format)(a.url,a.admin.name+":"+a.admin.password+"@")+"/"+a.databaseName,Object.prototype.hasOwnProperty.call(n.server,"runner")&&n.server.runner.binaryFilePath?n.connection=new n.connector(o,b(r.couchdb.connector)):n.connection=new n.connector(a.databaseName,b(r.couchdb.connector)),n.connection.installValidationMethods(),(i=n.connection).setMaxListeners(1/0),i.bulkDocs=x(i.bulkDocs,r.couchdb),i.post=i.put=s()(l().mark((function e(t,r){var n;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.bulkDocs.call(this,[t],r);case 2:if(null==(n=e.sent[0])||!n.name){e.next=5;break}throw n;case 5:return e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)}))),!Object.prototype.hasOwnProperty.call(n.server,"runner")){e.next=22;break}return e.prev=10,e.next=13,(0,u.checkReachability)(o);case 13:e.next=22;break;case 15:if(e.prev=15,e.t0=e.catch(10),console.info("Database could not be retrieved yet: Creating it."),u.globalContext.fetch){e.next=20;break}throw new Error("Missing fetch implementation.");case 20:return e.next=22,u.globalContext.fetch(o,{method:"PUT"});case 22:return e.abrupt("return",t);case 23:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),O=function(e){for(var t=e.property.name.special.allowedRole,r={},n=T(e),a=0,i=Object.entries(n);a<i.length;a++){var s=i[a],c=s[0],l=s[1];if(l[t]){r[c]=o()({properties:{}},A(l[t]));for(var p=0,d=Object.entries(l);p<d.length;p++){var f=d[p],y=f[0],m=f[1];(0,u.isObject)(m)&&m.allowedRoles&&(r[c].properties[y]=A(m.allowedRoles))}}else r[c]={properties:{},read:[],write:[]}}return r},k=function(e){return(0,u.isObject)(e)},j=function(e,t){var r=e.property.name.special;return Object.keys(t).filter((function(n){var a=t[n];return k(a)&&Object.prototype.hasOwnProperty.call(a,"index")&&a.index||k(a)&&!(Object.prototype.hasOwnProperty.call(a,"index")&&!a.index||e.property.name.reserved.concat(r.additional,r.allowedRole,r.attachment,r.conflict,r.constraint.execution,r.constraint.expression,r.deleted,r.deletedConflict,r.extend,r.maximumAggregatedSize,r.minimumAggregatedSize,r.oldType,r.id,r.revision,r.revisions,r.revisionsInformation,r.type).includes(n)||a.type&&("string"==typeof a.type&&a.type.endsWith("[]")||Array.isArray(a.type)&&a.type.length&&Array.isArray(a.type[0])||Object.prototype.hasOwnProperty.call(e.entities,a.type)))})).concat([r.id,r.revision]).sort()},S=function(e,t,r){if(void 0===r&&(r="_extends"),"_base"===e)return t[e];if(Object.prototype.hasOwnProperty.call(t,"_base")&&(Object.prototype.hasOwnProperty.call(t[e],r)&&t[e][r]?t[e][r]=["_base"].concat(t[e][r]):t[e][r]="_base"),Object.prototype.hasOwnProperty.call(t[e],r)){for(var n,a=y([].concat(t[e][r]));!(n=a()).done;){var o=n.value;t[e]=(0,u.extend)(!0,(0,u.copy)(S(o,t,r)),t[e])}delete t[e][r]}return t[e]},T=function(e){for(var t=e.property.name.special,r={},n=e.property.name.typePattern,a=0,o=Object.keys(e.entities);a<o.length;a++){var i=o[a];if(!new RegExp(n.public).test(i)&&!new RegExp(n.private).test(i))throw new Error('Model names have to match "'+n.public+'" or "'+n.private+'" for private one (given name: "'+i+'").');r[i]=S(i,e.entities,t.extend)}for(var s=0,c=Object.values(r);s<c.length;s++)for(var l=c[s],p=0,d=Object.entries(l);p<d.length;p++){var f=d[p],y=f[0],m=f[1];if(y===t.attachment)for(var v=m,b=0,h=Object.entries(v);b<h.length;b++){var g=h[b],x=g[0],w=g[1];v[x]=(0,u.extend)(!0,(0,u.copy)(e.property.defaultSpecification),w)}else[t.allowedRole,t.constraint.execution,t.constraint.expression,t.extend,t.maximumAggregatedSize,t.minimumAggregatedSize,t.oldType].includes(y)||(l[y]=(0,u.extend)(!0,(0,u.copy)(e.property.defaultSpecification),m))}return r},A=function(e){if(Array.isArray(e))return{read:e,write:e};if("object"==typeof e){for(var t={read:[],write:[]},r=0,n=Object.keys(t);r<n.length;r++){var a=n[r];Object.prototype.hasOwnProperty.call(e,a)&&(Array.isArray(e[a])?t[a]=e[a]:t[a]=[e[a]])}return t}return{read:[e],write:[e]}};module.exports=n})();
1
+ (()=>{"use strict";var e=[,e=>{e.exports=require("@babel/runtime/helpers/extends")},e=>{e.exports=require("@babel/runtime/helpers/asyncToGenerator")},e=>{e.exports=require("@babel/runtime/regenerator")},e=>{e.exports=require("clientnode")}],t={};function r(n){var a=t[n];if(void 0!==a)return a.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};r.r(n),r.d(n,{TOGGLE_LATEST_REVISION_DETERMINING:()=>v,bulkDocsFactory:()=>x,determineAllowedModelRolesMapping:()=>O,determineGenericIndexablePropertyNames:()=>j,ensureValidationDocumentPresence:()=>g,extendModel:()=>S,extendModels:()=>T,getConnectorOptions:()=>b,initializeConnection:()=>w,isPropertySpecification:()=>k,mayStripRepresentation:()=>h,normalizeAllowedRoles:()=>A});var a=r(1),o=r.n(a),i=r(2),s=r.n(i),c=r(3),l=r.n(c),u=r(4);const p=require("rxjs"),d=require("rxjs/fetch"),f="1.0.750";function y(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(r)return(r=r.call(e)).next.bind(r);if(Array.isArray(e)||(r=function(e,t){if(e){if("string"==typeof e)return m(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?m(e,t):void 0}}(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0;return function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function m(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var v=Symbol("toggleLatestRevisionDetermining"),b=function(e){var t=e.fetch?function(t){return(0,u.extend)(!0,(0,u.copy)(e.fetch),t||{})}:u.identity,r=new Map([[408,"Request Timeout"],[425,"Too Early"],[429,"Too Many Requests"],[502,"Bad Gateway"],[503,"Service Unavailable"],[504,"Gateway Timeout"]]);return{fetch:function(n,a){var o=e.fetchInterceptor,i=o.numberOfRetries,s=o.retryIntervalInSeconds,c=o.exponentialBackoff,l=o.maximumRetryIntervallInSeconds,u=(0,d.fromFetch)(n,t(a)).pipe((0,p.map)((function(e){if(r.has(e.status))throw e;return e})),(0,p.retry)({count:i,delay:function(e,t){if("number"!=typeof e.status)throw e;var r=e;if(r.headers.has("retry-after")){var n=r.headers.get("retry-after");if("string"==typeof n){var a=parseInt(n);if(String(a)===n)return console.info("Retry in "+n+" seconds","according to given retry value."),(0,p.timer)(1e3*a);var o=new Date(n);if(!isNaN(o.getTime())){var i=new Date;if(i<o){if(l<(o.getTime()-i.getTime())/1e3)return console.info("Retry at",o.toUTCString(),"according to given retry","value."),(0,p.timer)(o);console.warn("The recommended retry attempt is",o.toUTCString(),"further in the future than the","configured maximum wait time of",l,"seconds.")}else console.warn("Given retry time recommendation","from server is in the past and","has to be ignored therefore.")}}}var u=c?Math.pow(2,t-1)*s:s;return(0,p.timer)(1e3*Math.min(u,l))}}));return(0,p.lastValueFrom)(u)}}},h=function(e,t,r){var n=(0,u.represent)(e);return n.length<=t?n.length>r?n.substring(0,r-3)+"...":n:"DOCUMENT IS TOO BIG TO REPRESENT"},g=function(){var e=s()(l().mark((function e(t,r,n,a,i,s,c,p){var d,y,m;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return void 0===i&&(i=!0),void 0===s&&(s="_id"),void 0===c&&(c="_rev"),void 0===p&&(p="_design/"),y=o()(((d={})[s]=""+p+r,d.language="javascript",d.version=f,d),n),e.prev=5,e.next=8,t.get(""+p+r);case 8:return m=e.sent,y[c]=m[c],e.next=12,t.put(y);case 12:i&&console.info(a+" updated."),e.next=27;break;case 15:return e.prev=15,e.t0=e.catch(5),i&&("not_found"===e.t0.error?console.info(a+" not available: create new one."):console.info(a+" couldn't be updated: \""+(0,u.represent)(e.t0)+'" create new one.')),e.prev=18,e.next=21,t.put(y);case 21:i&&console.info(a+" installed/updated."),e.next=27;break;case 24:throw e.prev=24,e.t1=e.catch(18),new Error(a+" couldn't be installed/updated: \""+(0,u.represent)(e.t1)+'".');case 27:case"end":return e.stop()}}),e,null,[[5,15],[18,24]])})));return function(t,r,n,a,o,i,s,c){return e.apply(this,arguments)}}(),x=function(e,t){var r=t.model.property.name.special.id,n=t.model.property.name.special.revision;return s()(l().mark((function a(o){var i,s,c,p,d,f,m,b,h,g,x,w,O,k,j,S,T,A,R,P,E,I=arguments;return l().wrap((function(a){for(;;)switch(a.prev=a.next){case 0:for(i=I.length,s=new Array(i>1?i-1:0),c=1;c<i;c++)s[c-1]=I[c];p=s.length>0&&s[s.length-1]===v,d=p?!t.skipLatestRevisionDetermining:t.skipLatestRevisionDetermining,p&&s.pop(),f=!Array.isArray(o)&&(0,u.isObject)(o)&&r in o?[o]:o,m=t.maximumNumberOfEntitiesInBulkOperation,b=[],h=0;case 8:if(!(h<f.length)){a.next=17;break}return g=f.slice(h,h+m),a.next=12,e.call.apply(e,[this,g].concat(s));case 12:x=a.sent,b=b.concat(x);case 14:h+=m,a.next=8;break;case 17:w=[],O=[],k=0,j=y(b);case 21:if((S=j()).done){a.next=44;break}if(T=S.value,"object"!=typeof f[k]){a.next=41;break}if(!(n in f[k])||"conflict"!==T.name||!["0-latest","0-upsert"].includes(f[k][n])){a.next=29;break}O.push(f[k]),w.push(k),a.next=41;break;case 29:if(!(r in f[k]&&t.ignoreNoChangeError&&"name"in T&&"forbidden"===T.name&&"message"in T&&T.message.startsWith("NoChange:"))){a.next=41;break}if(b[k]={id:f[k][r],ok:!0},d){a.next=41;break}if(!(n in f[k])||["0-latest","0-upsert"].includes(f[k][n])){a.next=36;break}a.t0=f[k][n],a.next=40;break;case 36:return a.next=38,this.get(b[k].id);case 38:a.t1=n,a.t0=a.sent[a.t1];case 40:b[k].rev=a.t0;case 41:k+=1;case 42:a.next=21;break;case 44:if(!O.length){a.next=51;break}return f=O,p&&s.push(v),a.next=49,this.bulkDocs.apply(this,[f].concat(s));case 49:for(A=a.sent,R=y(A);!(P=R()).done;)E=P.value,b[w.shift()]=E;case 51:return a.abrupt("return",b);case 52:case"end":return a.stop()}}),a,this)})))},w=function(){var e=s()(l().mark((function e(t,r){var n,a,o,i;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.couchdb,a=r.couchdb,o=(0,u.format)(a.url,a.admin.name+":"+a.admin.password+"@")+"/"+a.databaseName,Object.prototype.hasOwnProperty.call(n.server,"runner")&&n.server.runner.binaryFilePath?n.connection=new n.connector(o,b(r.couchdb.connector)):n.connection=new n.connector(a.databaseName,b(r.couchdb.connector)),n.connection.installValidationMethods(),(i=n.connection).setMaxListeners(1/0),i.bulkDocs=x(i.bulkDocs,r.couchdb),i.post=i.put=s()(l().mark((function e(t,r){var n;return l().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.bulkDocs.call(this,[t],r);case 2:if(null==(n=e.sent[0])||!n.name){e.next=5;break}throw n;case 5:return e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)}))),!Object.prototype.hasOwnProperty.call(n.server,"runner")){e.next=22;break}return e.prev=10,e.next=13,(0,u.checkReachability)(o);case 13:e.next=22;break;case 15:if(e.prev=15,e.t0=e.catch(10),console.info("Database could not be retrieved yet: Creating it."),u.globalContext.fetch){e.next=20;break}throw new Error("Missing fetch implementation.");case 20:return e.next=22,u.globalContext.fetch(o,{method:"PUT"});case 22:return e.abrupt("return",t);case 23:case"end":return e.stop()}}),e,null,[[10,15]])})));return function(t,r){return e.apply(this,arguments)}}(),O=function(e){for(var t=e.property.name.special.allowedRole,r={},n=T(e),a=0,i=Object.entries(n);a<i.length;a++){var s=i[a],c=s[0],l=s[1];if(l[t]){r[c]=o()({properties:{}},A(l[t]));for(var p=0,d=Object.entries(l);p<d.length;p++){var f=d[p],y=f[0],m=f[1];(0,u.isObject)(m)&&m.allowedRoles&&(r[c].properties[y]=A(m.allowedRoles))}}else r[c]={properties:{},read:[],write:[]}}return r},k=function(e){return(0,u.isObject)(e)},j=function(e,t){var r=e.property.name.special;return Object.keys(t).filter((function(n){var a=t[n];return k(a)&&Object.prototype.hasOwnProperty.call(a,"index")&&a.index||k(a)&&!(Object.prototype.hasOwnProperty.call(a,"index")&&!a.index||e.property.name.reserved.concat(r.additional,r.allowedRole,r.attachment,r.conflict,r.constraint.execution,r.constraint.expression,r.deleted,r.deletedConflict,r.extend,r.maximumAggregatedSize,r.minimumAggregatedSize,r.oldType,r.id,r.revision,r.revisions,r.revisionsInformation,r.type).includes(n)||a.type&&("string"==typeof a.type&&a.type.endsWith("[]")||Array.isArray(a.type)&&a.type.length&&Array.isArray(a.type[0])||Object.prototype.hasOwnProperty.call(e.entities,a.type)))})).concat([r.id,r.revision]).sort()},S=function(e,t,r){if(void 0===r&&(r="_extends"),"_base"===e)return t[e];if(Object.prototype.hasOwnProperty.call(t,"_base")&&(Object.prototype.hasOwnProperty.call(t[e],r)&&t[e][r]?t[e][r]=["_base"].concat(t[e][r]):t[e][r]="_base"),Object.prototype.hasOwnProperty.call(t[e],r)){for(var n,a=y([].concat(t[e][r]));!(n=a()).done;){var o=n.value;t[e]=(0,u.extend)(!0,(0,u.copy)(S(o,t,r)),t[e])}delete t[e][r]}return t[e]},T=function(e){for(var t=e.property.name.special,r={},n=e.property.name.typePattern,a=0,o=Object.keys(e.entities);a<o.length;a++){var i=o[a];if(!new RegExp(n.public).test(i)&&!new RegExp(n.private).test(i))throw new Error('Model names have to match "'+n.public+'" or "'+n.private+'" for private one (given name: "'+i+'").');r[i]=S(i,e.entities,t.extend)}for(var s=0,c=Object.values(r);s<c.length;s++)for(var l=c[s],p=0,d=Object.entries(l);p<d.length;p++){var f=d[p],y=f[0],m=f[1];if(y===t.attachment)for(var v=m,b=0,h=Object.entries(v);b<h.length;b++){var g=h[b],x=g[0],w=g[1];v[x]=(0,u.extend)(!0,(0,u.copy)(e.property.defaultSpecification),w)}else[t.allowedRole,t.constraint.execution,t.constraint.expression,t.extend,t.maximumAggregatedSize,t.minimumAggregatedSize,t.oldType].includes(y)||(l[y]=(0,u.extend)(!0,(0,u.copy)(e.property.defaultSpecification),m))}return r},A=function(e){if(Array.isArray(e))return{read:e,write:e};if("object"==typeof e){for(var t={read:[],write:[]},r=0,n=Object.keys(t);r<n.length;r++){var a=n[r];Object.prototype.hasOwnProperty.call(e,a)&&(Array.isArray(e[a])?t[a]=e[a]:t[a]=[e[a]])}return t}return{read:[e],write:[e]}};module.exports=n})();